aboutsummaryrefslogtreecommitdiff
path: root/src/SFileOpenArchive.cpp
diff options
context:
space:
mode:
authorLadislav Zezula <zezula@volny.cz>2023-06-07 21:39:00 +0200
committerGitHub <noreply@github.com>2023-06-07 21:39:00 +0200
commit28c9b4be3f23c6b3a5ff55cacac7dbe5b9cdc4fc (patch)
tree293c3c0ed4e641a4d3e91cc0dce094597fa8c3d2 /src/SFileOpenArchive.cpp
parent51ba11c5b78752852023fd6156cd8842c1c3e336 (diff)
parentfb111670e8af18169bb7b37774953af14edf99e1 (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.cpp19
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);