|
| 1 | +/***************************************************************************** |
| 2 | + * |
| 3 | + * PROJECT: Multi Theft Auto |
| 4 | + * LICENSE: See LICENSE in the top level directory |
| 5 | + * FILE: Client/mods/deathmatch/logic/CClientIFP.cpp |
| 6 | + * |
| 7 | + * Multi Theft Auto is available from http://www.multitheftauto.com/ |
| 8 | + * |
| 9 | + *****************************************************************************/ |
| 10 | + |
1 | 11 | #include <StdInc.h> |
2 | 12 | #include "game/CAnimBlendSequence.h" |
3 | 13 | #include "game/CAnimBlendHierarchy.h" |
@@ -31,34 +41,41 @@ bool CClientIFP::LoadIFPFile(const SString& strFilePath) |
31 | 41 | { |
32 | 42 | if (LoadFileToMemory(strFilePath)) |
33 | 43 | { |
34 | | - char Version[4]; |
35 | | - ReadBytes(Version, sizeof(Version)); |
36 | | - |
37 | | - bool bAnp3 = strncmp(Version, "ANP3", sizeof(Version)) == 0; |
38 | | - bool bAnp2 = strncmp(Version, "ANP2", sizeof(Version)) == 0; |
39 | | - if (bAnp2 || bAnp3) |
40 | | - { |
41 | | - m_bVersion1 = false; |
42 | | - ReadIFPVersion2(bAnp3); |
43 | | - } |
44 | | - else |
| 44 | + if (ReadIFPByVersion()) |
45 | 45 | { |
46 | | - m_bVersion1 = true; |
47 | | - ReadIFPVersion1(); |
| 46 | + // We are freeing the file reader memory because we don't need to read it anymore. |
| 47 | + // This function does not unload IFP, to unload ifp, use destroyElement from Lua |
| 48 | + FreeFileReaderMemory(); |
| 49 | + return true; |
48 | 50 | } |
| 51 | + } |
| 52 | + return false; |
| 53 | +} |
49 | 54 |
|
50 | | - // We are freeing the file reader memory because we don't need to read it anymore. |
51 | | - // This function does not unload IFP, to unload ifp, use destroyElement from Lua |
52 | | - FreeFileReaderMemory(); |
| 55 | +bool CClientIFP::ReadIFPByVersion(void) |
| 56 | +{ |
| 57 | + char Version[4]; |
| 58 | + ReadBytes(Version, sizeof(Version)); |
| 59 | + |
| 60 | + bool bAnp3 = strncmp(Version, "ANP3", sizeof(Version)) == 0; |
| 61 | + bool bAnp2 = strncmp(Version, "ANP2", sizeof(Version)) == 0; |
| 62 | + bool bAnpk = strncmp(Version, "ANPK", sizeof(Version)) == 0; |
| 63 | + |
| 64 | + if (bAnp2 || bAnp3) |
| 65 | + { |
| 66 | + ReadIFPVersion2(bAnp3); |
| 67 | + return true; |
53 | 68 | } |
54 | | - else |
| 69 | + else if (bAnpk) |
55 | 70 | { |
56 | | - return false; |
| 71 | + m_bVersion1 = true; |
| 72 | + ReadIFPVersion1(); |
| 73 | + return true; |
57 | 74 | } |
58 | | - return true; |
| 75 | + return false; |
59 | 76 | } |
60 | 77 |
|
61 | | -void CClientIFP::ReadIFPVersion1() |
| 78 | +void CClientIFP::ReadIFPVersion1(void) |
62 | 79 | { |
63 | 80 | SInfo Info; |
64 | 81 | ReadHeaderVersion1(Info); |
|
0 commit comments