summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/SFileAttributes.cpp1
-rw-r--r--src/SFileOpenArchive.cpp2
-rw-r--r--test/StormTest.cpp8
3 files changed, 6 insertions, 5 deletions
diff --git a/src/SFileAttributes.cpp b/src/SFileAttributes.cpp
index dacfd3b..bd1956d 100644
--- a/src/SFileAttributes.cpp
+++ b/src/SFileAttributes.cpp
@@ -367,6 +367,7 @@ int SAttrLoadAttributes(TMPQArchive * ha)
// File table must be initialized
assert(ha->pFileTable != NULL);
+ assert((ha->dwFlags & MPQ_FLAG_BLOCK_TABLE_CUT) == 0);
// Don't load the attributes file from malformed Warcraft III maps
if(ha->dwFlags & MPQ_FLAG_MALFORMED)
diff --git a/src/SFileOpenArchive.cpp b/src/SFileOpenArchive.cpp
index 5ce4290..35fd4dd 100644
--- a/src/SFileOpenArchive.cpp
+++ b/src/SFileOpenArchive.cpp
@@ -410,7 +410,7 @@ bool WINAPI SFileOpenArchive(
}
// Load the "(attributes)" file and merge it to the file table
- if(nError == ERROR_SUCCESS && (dwFlags & MPQ_OPEN_NO_ATTRIBUTES) == 0)
+ if(nError == ERROR_SUCCESS && (dwFlags & MPQ_OPEN_NO_ATTRIBUTES) == 0 && (ha->dwFlags & MPQ_FLAG_BLOCK_TABLE_CUT) == 0)
{
// Quick check for (attributes)
pFileEntry = GetFileEntryLocale(ha, ATTRIBUTES_NAME, LANG_NEUTRAL);
diff --git a/test/StormTest.cpp b/test/StormTest.cpp
index 3af6c0b..b4e9702 100644
--- a/test/StormTest.cpp
+++ b/test/StormTest.cpp
@@ -4087,11 +4087,11 @@ int main(int argc, char * argv[])
// Open an Warcraft III map locked by the BOBA protector
if(nError == ERROR_SUCCESS)
nError = TestOpenArchive("MPQ_2002_v1_ProtectedMap_BOBA.w3m");
-
+*/
// Open an Warcraft III map locked by a protector
if(nError == ERROR_SUCCESS)
nError = TestOpenArchive("MPQ_2015_v1_ProtectedMap_KangTooJee.w3x");
-
+/*
// Open an Warcraft III map locked by a protector
if(nError == ERROR_SUCCESS)
nError = TestOpenArchive("MPQ_2015_v1_ProtectedMap_Somj2hM16.w3x");
@@ -4163,7 +4163,7 @@ int main(int argc, char * argv[])
// Open a patched archive
if(nError == ERROR_SUCCESS)
nError = TestOpenArchive_Patched(PatchList_SC2_34644, "TriggerLibs\\GameData\\GameData.galaxy", 2);
-*/
+
// Open a patched archive with new format of BSDIFF patch
if(nError == ERROR_SUCCESS)
nError = TestOpenArchive_Patched(PatchList_SC2_34644_Maps, "Maps\\Campaign\\THorner03.SC2Map\\BankList.xml", 3);
@@ -4312,7 +4312,7 @@ int main(int argc, char * argv[])
// Test replacing a file with zero size file
if(nError == ERROR_SUCCESS)
nError = TestModifyArchive_ReplaceFile("MPQ_2014_v4_Base.StormReplay", "AddFile-replay.message.events");
-
+*/
#ifdef _MSC_VER
_CrtDumpMemoryLeaks();
#endif // _MSC_VER