From d39d99944be052456d3c69482fe59ee7ed43b77b Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 4 May 2015 07:26:51 +0200 Subject: + The "(attributes)" file si only loaded if the block table was not cut --- src/SFileAttributes.cpp | 1 + src/SFileOpenArchive.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'src') 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); -- cgit v1.2.3