diff options
author | Ladislav Zezula <zezula@volny.cz> | 2023-06-07 21:39:00 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-07 21:39:00 +0200 |
commit | 28c9b4be3f23c6b3a5ff55cacac7dbe5b9cdc4fc (patch) | |
tree | 293c3c0ed4e641a4d3e91cc0dce094597fa8c3d2 /src/SFileOpenArchive.cpp | |
parent | 51ba11c5b78752852023fd6156cd8842c1c3e336 (diff) | |
parent | fb111670e8af18169bb7b37774953af14edf99e1 (diff) |
Merge pull request #295 from ladislav-zezula/LZ_ReadError_Volcanisv9.25
Lz read error volcanis
Diffstat (limited to 'src/SFileOpenArchive.cpp')
-rw-r--r-- | src/SFileOpenArchive.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/SFileOpenArchive.cpp b/src/SFileOpenArchive.cpp index 16e2491..f19a6e7 100644 --- a/src/SFileOpenArchive.cpp +++ b/src/SFileOpenArchive.cpp @@ -463,16 +463,19 @@ bool WINAPI SFileOpenArchive( if(IsStarcraftBetaArchive(ha->pHeader)) ha->dwFlags |= MPQ_FLAG_STARCRAFT_BETA; - // Remember whether whis is a map for Warcraft III - if(MapType == MapTypeWarcraft3) + // Maps from StarCraft and Warcraft III need special treatment + switch(MapType) { - ha->dwValidFileFlags = MPQ_FILE_VALID_FLAGS_W3X; - ha->dwFlags |= MPQ_FLAG_WAR3_MAP; - } + case MapTypeStarcraft: + ha->dwValidFileFlags = MPQ_FILE_VALID_FLAGS_SCX; + ha->dwFlags |= MPQ_FLAG_STARCRAFT; + break; - // If this is starcraft map, set the flag mask - if(MapType == MapTypeStarcraft) - ha->dwValidFileFlags = MPQ_FILE_VALID_FLAGS_SCX; + case MapTypeWarcraft3: + ha->dwValidFileFlags = MPQ_FILE_VALID_FLAGS_W3X; + ha->dwFlags |= MPQ_FLAG_WAR3_MAP; + break; + } // Set the size of file sector ha->dwSectorSize = (0x200 << ha->pHeader->wSectorSize); |