From 29901739a2506999955e1fdd5a2f8f7b2140b089 Mon Sep 17 00:00:00 2001 From: Ladislav Zezula Date: Mon, 15 Apr 2024 23:30:36 +0200 Subject: Work in progress: New MPQ protector --- test/StormTest.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'test') diff --git a/test/StormTest.cpp b/test/StormTest.cpp index 048f715..55700be 100755 --- a/test/StormTest.cpp +++ b/test/StormTest.cpp @@ -1651,7 +1651,7 @@ static DWORD SearchArchive( // Construct the full name of the listfile CreateFullPathName(szListFile, _countof(szListFile), szListFileDir, _T("ListFile_Blizzard.txt")); - // fp = fopen("E:\\mpq-listing.txt", "wt"); + fp = fopen("E:\\mpq-listing.txt", "wt"); // Prepare hashing md5_init(&md5state); @@ -1694,7 +1694,7 @@ static DWORD SearchArchive( if(fp != NULL) { pFileData->dwCrc32 = crc32(0, pFileData->FileData, pFileData->dwFileSize); - fprintf(fp, "%08x: %s \n", pFileData->dwCrc32, sf.cFileName); + fprintf(fp, "%08x:%08x: %s \n", pFileData->dwFileSize, pFileData->dwCrc32, sf.cFileName); } // Free the loaded file data @@ -3986,6 +3986,7 @@ static const TEST_INFO1 TestList_MasterMirror[] = static const TEST_INFO1 Test_OpenMpqs[] = { +/* // Correct or damaged archives {_T("MPQ_1997_v1_Diablo1_DIABDAT.MPQ"), NULL, "554b538541e42170ed41cb236483489e", 2910, &TwoFilesD1}, // Base MPQ from Diablo 1 {_T("MPQ_1997_v1_patch_rt_SC1B.mpq"), NULL, "43fe7d362955be68a708486e399576a7", 10}, // From Starcraft 1 BETA @@ -4046,7 +4047,9 @@ static const TEST_INFO1 Test_OpenMpqs[] = {_T("MPQ_2022_v1_Sniper.scx"), NULL, "2e955271b70b79344ad85b698f6ce9d8", 64}, // Multiple items in hash table for staredit\scenario.chk (locale=0, platform=0) {_T("MPQ_2022_v1_OcOc_Bound_2.scx"), NULL, "25cad16a2fb4e883767a1f512fc1dce7", 16}, {_T("MPQ_2023_v1_Lusin2Rpg1.28.w3x"), NULL, "9c21352f06cf763fcf05e8a2691e6194", 10305, &HashVals}, - +*/ + {_T("MPQ_2024_v1_300TK2.09p.w3x"), NULL, "e126ea5df9028e5ee3d7ad4bcf09bab5", 32588}, // Fake MPQ User data, fake MPQ header at offset 0x200 +/* // ASI plugins {_T("MPQ_2020_v1_HS0.1.asi"), NULL, "50cba7460a6e6d270804fb9776a7ec4f", 6022}, {_T("MPQ_2022_v1_hs0.8.asi"), NULL, "6a40f733428001805bfe6e107ca9aec1", 11352}, // Items in hash table have platform = 0xFF @@ -4093,6 +4096,7 @@ static const TEST_INFO1 Test_OpenMpqs[] = // Check the GetFileInfo operations {_T("MPQ_2002_v1_StrongSignature.w3m"), NULL, "7b725d87e07a2173c42fe2314b95fa6c", 17 | TFLG_GET_FILE_INFO}, {_T("MPQ_2013_v4_SC2_EmptyMap.SC2Map"), NULL, "88e1b9a88d56688c9c24037782b7bb68", 33 | TFLG_GET_FILE_INFO}, +*/ }; static const TEST_INFO1 Test_ReopenMpqs[] = @@ -4164,10 +4168,10 @@ static const LPCSTR Test_CreateMpq_Localized[] = //----------------------------------------------------------------------------- // Main -#define TEST_COMMAND_LINE -#define TEST_LOCAL_LISTFILE -#define TEST_STREAM_OPERATIONS -#define TEST_MASTER_MIRROR +//#define TEST_COMMAND_LINE +//#define TEST_LOCAL_LISTFILE +//#define TEST_STREAM_OPERATIONS +//#define TEST_MASTER_MIRROR #define TEST_OPEN_MPQ #define TEST_REOPEN_MPQ #define TEST_VERIFY_SIGNATURE @@ -4244,6 +4248,8 @@ int _tmain(int argc, TCHAR * argv[]) } #endif // TEST_OPEN_MPQ + ExitProcess(0); + #ifdef TEST_REOPEN_MPQ // Test operations involving reopening the archive if(dwErrCode == ERROR_SUCCESS) { -- cgit v1.2.3 From 25f52b76295eec974fba4b79869c664b338cf258 Mon Sep 17 00:00:00 2001 From: Ladislav Zezula Date: Tue, 16 Apr 2024 14:26:13 +0200 Subject: Added test results for the unsupported MPQ --- src/SFileReadFile.cpp | 7 +++++++ test/StormTest.cpp | 36 ++++++++++++++++++++++++------------ test/stormlib-test-001.txt | 23 ++++++++++++----------- 3 files changed, 43 insertions(+), 23 deletions(-) (limited to 'test') diff --git a/src/SFileReadFile.cpp b/src/SFileReadFile.cpp index b0698c1..153401a 100644 --- a/src/SFileReadFile.cpp +++ b/src/SFileReadFile.cpp @@ -194,6 +194,13 @@ static DWORD ReadMpqSectors(TMPQFile * hf, LPBYTE pbBuffer, DWORD dwByteOffset, dwErrCode = ERROR_FILE_CORRUPT; break; } + + // Special case (MPQ_2024_v1_300TK2.09p.w3x, file File00010254.blp): + // Extracted less than required. Fill the rest with zeros + if(cbOutSector < dwBytesInThisSector) + { + memset(pbOutSector + cbOutSector, 0, dwBytesInThisSector - cbOutSector); + } } else { diff --git a/test/StormTest.cpp b/test/StormTest.cpp index 55700be..3276c59 100755 --- a/test/StormTest.cpp +++ b/test/StormTest.cpp @@ -1651,7 +1651,9 @@ static DWORD SearchArchive( // Construct the full name of the listfile CreateFullPathName(szListFile, _countof(szListFile), szListFileDir, _T("ListFile_Blizzard.txt")); - fp = fopen("E:\\mpq-listing.txt", "wt"); + + // Create the log file with file sizes and CRCs + //fp = fopen("C:\\mpq-listing.txt", "wt"); // Prepare hashing md5_init(&md5state); @@ -1697,6 +1699,20 @@ static DWORD SearchArchive( fprintf(fp, "%08x:%08x: %s \n", pFileData->dwFileSize, pFileData->dwCrc32, sf.cFileName); } + // Also write the content of the file to the test directory + //if(fp != NULL) + //{ + // FILE * fp2; + // char szFullPath[MAX_PATH] = "C:\\test\\"; + + // strcat(szFullPath, sf.cFileName); + // if((fp2 = fopen(szFullPath, "wb")) != NULL) + // { + // fwrite(pFileData->FileData, 1, pFileData->dwFileSize, fp2); + // fclose(fp2); + // } + //} + // Free the loaded file data STORM_FREE(pFileData); } @@ -3986,7 +4002,6 @@ static const TEST_INFO1 TestList_MasterMirror[] = static const TEST_INFO1 Test_OpenMpqs[] = { -/* // Correct or damaged archives {_T("MPQ_1997_v1_Diablo1_DIABDAT.MPQ"), NULL, "554b538541e42170ed41cb236483489e", 2910, &TwoFilesD1}, // Base MPQ from Diablo 1 {_T("MPQ_1997_v1_patch_rt_SC1B.mpq"), NULL, "43fe7d362955be68a708486e399576a7", 10}, // From Starcraft 1 BETA @@ -4047,9 +4062,8 @@ static const TEST_INFO1 Test_OpenMpqs[] = {_T("MPQ_2022_v1_Sniper.scx"), NULL, "2e955271b70b79344ad85b698f6ce9d8", 64}, // Multiple items in hash table for staredit\scenario.chk (locale=0, platform=0) {_T("MPQ_2022_v1_OcOc_Bound_2.scx"), NULL, "25cad16a2fb4e883767a1f512fc1dce7", 16}, {_T("MPQ_2023_v1_Lusin2Rpg1.28.w3x"), NULL, "9c21352f06cf763fcf05e8a2691e6194", 10305, &HashVals}, -*/ - {_T("MPQ_2024_v1_300TK2.09p.w3x"), NULL, "e126ea5df9028e5ee3d7ad4bcf09bab5", 32588}, // Fake MPQ User data, fake MPQ header at offset 0x200 -/* + {_T("MPQ_2024_v1_300TK2.09p.w3x"), NULL, "e442e3d2e7d457b9ba544544013b791f", 32588}, // Fake MPQ User data, fake MPQ header at offset 0x200 + // ASI plugins {_T("MPQ_2020_v1_HS0.1.asi"), NULL, "50cba7460a6e6d270804fb9776a7ec4f", 6022}, {_T("MPQ_2022_v1_hs0.8.asi"), NULL, "6a40f733428001805bfe6e107ca9aec1", 11352}, // Items in hash table have platform = 0xFF @@ -4096,7 +4110,7 @@ static const TEST_INFO1 Test_OpenMpqs[] = // Check the GetFileInfo operations {_T("MPQ_2002_v1_StrongSignature.w3m"), NULL, "7b725d87e07a2173c42fe2314b95fa6c", 17 | TFLG_GET_FILE_INFO}, {_T("MPQ_2013_v4_SC2_EmptyMap.SC2Map"), NULL, "88e1b9a88d56688c9c24037782b7bb68", 33 | TFLG_GET_FILE_INFO}, -*/ + }; static const TEST_INFO1 Test_ReopenMpqs[] = @@ -4168,10 +4182,10 @@ static const LPCSTR Test_CreateMpq_Localized[] = //----------------------------------------------------------------------------- // Main -//#define TEST_COMMAND_LINE -//#define TEST_LOCAL_LISTFILE -//#define TEST_STREAM_OPERATIONS -//#define TEST_MASTER_MIRROR +#define TEST_COMMAND_LINE +#define TEST_LOCAL_LISTFILE +#define TEST_STREAM_OPERATIONS +#define TEST_MASTER_MIRROR #define TEST_OPEN_MPQ #define TEST_REOPEN_MPQ #define TEST_VERIFY_SIGNATURE @@ -4248,8 +4262,6 @@ int _tmain(int argc, TCHAR * argv[]) } #endif // TEST_OPEN_MPQ - ExitProcess(0); - #ifdef TEST_REOPEN_MPQ // Test operations involving reopening the archive if(dwErrCode == ERROR_SUCCESS) { diff --git a/test/stormlib-test-001.txt b/test/stormlib-test-001.txt index 2979f56..bc36adc 100644 --- a/test/stormlib-test-001.txt +++ b/test/stormlib-test-001.txt @@ -1,7 +1,7 @@ ==== Test Suite for StormLib version 9.25 ==== InitWorkFolder: Work directory /media/ladik/MPQs (default) TestLiFiSearch (FLAT-MAP:listfile-test.txt) succeeded. -TestLiFiSearch (listfile-test.txt) succeeded. +TestLiFiSearch (listfile-test.txt) succeeded. TestFileStream (MPQ_2013_v4_alternate-original.MPQ) succeeded. TestFileStream (MPQ_2013_v4_alternate-original.MPQ) succeeded. TestFileStream (MPQ_2013_v4_alternate-complete.MPQ) succeeded. @@ -11,7 +11,7 @@ TestFileStream (mpqe-file://MPQ_2011_v2_EncryptedMpq.MPQE) succeeded. TestFileMirror (part-file://MPQ_2009_v1_patch-created.MPQ.part) succeeded. TestFileMirror (part-file://MPQ_2009_v1_patch-partial.MPQ.part) succeeded. TestFileMirror (part-file://MPQ_2009_v1_patch-complete.MPQ.part) succeeded. -TestFileMirror (MPQ_2013_v4_alternate-created.MPQ) succeeded. +TestFileMirror (MPQ_2013_v4_alternate-created.MPQ) succeeded. TestFileMirror (MPQ_2013_v4_alternate-incomplete.MPQ) succeeded. TestFileMirror (MPQ_2013_v4_alternate-complete.MPQ) succeeded. TestReadingMpq (MPQ_1997_v1_Diablo1_DIABDAT.MPQ) succeeded. @@ -77,6 +77,7 @@ TestReadingMpq (MPQ_2021_v1_CantExtractCHK.scx) succeeded. TestReadingMpq (MPQ_2022_v1_Sniper.scx) succeeded. TestReadingMpq (MPQ_2022_v1_OcOc_Bound_2.scx) succeeded. TestReadingMpq (MPQ_2023_v1_Lusin2Rpg1.28.w3x) succeeded. +TestReadingMpq (MPQ_2024_v1_300TK2.09p.w3x) succeeded. TestReadingMpq (MPQ_2020_v1_HS0.1.asi) succeeded. TestReadingMpq (MPQ_2022_v1_hs0.8.asi) succeeded. TestReadingMpq (MPQ_2022_v1_MoeMoeMod.asi) succeeded. @@ -84,11 +85,11 @@ TestReadingMpq (MPx_2013_v1_LongwuOnline.mpk) succeeded. TestReadingMpq (MPx_2013_v1_WarOfTheImmortals.sqp) succeeded. TestReadingMpq (MPx_2022_v1_Music.mpk) succeeded. TestReadingMpq (MPx_2022_v1_Scp.mpk) succeeded. -TestReadingMpq (MPx_2022_v1_UI.mpk) succeeded. +TestReadingMpq (MPx_2022_v1_UI.mpk) succeeded. TestReadingMpq (MPQ_1998_v1_StarCraft.mpq) succeeded. -TestReadingMpq (MPQ_2012_v4_OldWorld.MPQ) succeeded. -TestReadingMpq (MPQ_2013_v4_world.MPQ) succeeded. -TestReadingMpq (MPQ_2013_v4_locale-enGB.MPQ) succeeded. +TestReadingMpq (MPQ_2012_v4_OldWorld.MPQ) succeeded. +TestReadingMpq (MPQ_2013_v4_world.MPQ) succeeded. +TestReadingMpq (MPQ_2013_v4_locale-enGB.MPQ) succeeded. TestReadingMpq (MPQ_2013_v4_Base1.SC2Data) succeeded. TestReadingMpq (MPQ_2013_v4_Mods#Core.SC2Mod#enGB.SC2Assets) succeeded. TestReadingMpq (MPQ_2013_v4_Base1.SC2Data) succeeded. @@ -111,7 +112,7 @@ TestReadingMpq (MPQ_2013_v4_SC2_EmptyMap.SC2Map) succeeded. Test_ReopenMpq (MPQ_2010_v3_expansion-locale-frFR.MPQ) succeeded. Test_ReopenMpq (MPQ_2016_v1_00000.pak) succeeded. Test_ReopenMpq (MPQ_2013_v4_SC2_EmptyMap.SC2Map) succeeded. -Test_ReopenMpq (MPQ_2013_v4_expansion1.MPQ) succeeded. +Test_ReopenMpq (MPQ_2013_v4_expansion1.MPQ) succeeded. Test_ReopenMpq (MPQ_2014_v1_out1.w3x) succeeded. Test_ReopenMpq (MPQ_2014_v1_out2.w3x) succeeded. Test_ReopenMpq (MPQ_1997_v1_Diablo1_DIABDAT.MPQ) succeeded. @@ -139,11 +140,11 @@ TestCreateFull (StormLibTest_FileTableFull.mpq) succeeded. TestCreateFull (StormLibTest_FileTableFull.mpq) succeeded. TestCreateFull (StormLibTest_FileTableFull.mpq) succeeded. IncMaxFileCount (StormLibTest_IncMaxFileCount.mpq) succeeded. -TestFileFlag (StormLibTest_FileFlagTest.mpq) succeeded. +TestFileFlag (StormLibTest_FileFlagTest.mpq) succeeded. TestCompressions: Warning: CRC32 error on WaveFile_01.wav TestCompressions: Warning: CRC32 error on WaveFile_02.wav -TestCompressions (StormLibTest_AddWaveMonoBadTest.mpq) succeeded. -TestCompressions: Warning: CRC32 error on WaveFile_01.wav +TestCompressions (StormLibTest_AddWaveMonoBadTest.mpq) succeeded. +TestCompressions: Warning: CRC32 error on WaveFile_01.wav TestCompressions: Warning: CRC32 error on WaveFile_02.wav ListFilePos (StormLibTest_ListFilePos.mpq) succeeded. -TestBigArchive (StormLibTest_BigArchive_v4.mpq) succeeded. \ No newline at end of file +TestBigArchive (StormLibTest_BigArchive_v4.mpq) succeeded. \ No newline at end of file -- cgit v1.2.3 From 7fdae1508a001568d896300e951e83c0825a520d Mon Sep 17 00:00:00 2001 From: Ladislav Zezula Date: Tue, 16 Apr 2024 14:49:13 +0200 Subject: Removed trailing whitespaces --- test/stormlib-test-001.txt | 276 ++++++++++++++++++++++----------------------- 1 file changed, 138 insertions(+), 138 deletions(-) (limited to 'test') diff --git a/test/stormlib-test-001.txt b/test/stormlib-test-001.txt index bc36adc..17a8cbc 100644 --- a/test/stormlib-test-001.txt +++ b/test/stormlib-test-001.txt @@ -1,150 +1,150 @@ ==== Test Suite for StormLib version 9.25 ==== InitWorkFolder: Work directory /media/ladik/MPQs (default) -TestLiFiSearch (FLAT-MAP:listfile-test.txt) succeeded. -TestLiFiSearch (listfile-test.txt) succeeded. -TestFileStream (MPQ_2013_v4_alternate-original.MPQ) succeeded. -TestFileStream (MPQ_2013_v4_alternate-original.MPQ) succeeded. -TestFileStream (MPQ_2013_v4_alternate-complete.MPQ) succeeded. -TestFileStream (part-file://MPQ_2009_v2_WoW_patch.MPQ.part) succeeded. -TestFileStream (blk4-file://streaming/model.MPQ.0) succeeded. -TestFileStream (mpqe-file://MPQ_2011_v2_EncryptedMpq.MPQE) succeeded. -TestFileMirror (part-file://MPQ_2009_v1_patch-created.MPQ.part) succeeded. -TestFileMirror (part-file://MPQ_2009_v1_patch-partial.MPQ.part) succeeded. -TestFileMirror (part-file://MPQ_2009_v1_patch-complete.MPQ.part) succeeded. -TestFileMirror (MPQ_2013_v4_alternate-created.MPQ) succeeded. -TestFileMirror (MPQ_2013_v4_alternate-incomplete.MPQ) succeeded. -TestFileMirror (MPQ_2013_v4_alternate-complete.MPQ) succeeded. -TestReadingMpq (MPQ_1997_v1_Diablo1_DIABDAT.MPQ) succeeded. -TestReadingMpq (MPQ_1997_v1_patch_rt_SC1B.mpq) succeeded. -TestReadingMpq (MPQ_1997_v1_StarDat_SC1B.mpq) succeeded. -TestReadingMpq (MPQ_1997_v1_INSTALL_SC1B.EXE_) succeeded. -TestReadingMpq: Warning: CRC32 error on (signature) +TestLiFiSearch (FLAT-MAP:listfile-test.txt) succeeded. +TestLiFiSearch (listfile-test.txt) succeeded. +TestFileStream (MPQ_2013_v4_alternate-original.MPQ) succeeded. +TestFileStream (MPQ_2013_v4_alternate-original.MPQ) succeeded. +TestFileStream (MPQ_2013_v4_alternate-complete.MPQ) succeeded. +TestFileStream (part-file://MPQ_2009_v2_WoW_patch.MPQ.part) succeeded. +TestFileStream (blk4-file://streaming/model.MPQ.0) succeeded. +TestFileStream (mpqe-file://MPQ_2011_v2_EncryptedMpq.MPQE) succeeded. +TestFileMirror (part-file://MPQ_2009_v1_patch-created.MPQ.part) succeeded. +TestFileMirror (part-file://MPQ_2009_v1_patch-partial.MPQ.part) succeeded. +TestFileMirror (part-file://MPQ_2009_v1_patch-complete.MPQ.part) succeeded. +TestFileMirror (MPQ_2013_v4_alternate-created.MPQ) succeeded. +TestFileMirror (MPQ_2013_v4_alternate-incomplete.MPQ) succeeded. +TestFileMirror (MPQ_2013_v4_alternate-complete.MPQ) succeeded. +TestReadingMpq (MPQ_1997_v1_Diablo1_DIABDAT.MPQ) succeeded. +TestReadingMpq (MPQ_1997_v1_patch_rt_SC1B.mpq) succeeded. +TestReadingMpq (MPQ_1997_v1_StarDat_SC1B.mpq) succeeded. +TestReadingMpq (MPQ_1997_v1_INSTALL_SC1B.EXE_) succeeded. +TestReadingMpq: Warning: CRC32 error on (signature) TestReadingMpq: Warning: CRC32 error on (signature) TestReadingMpq (MPQ_2016_v1_D2XP_IX86_1xx_114a.mpq) succeeded. -TestReadingMpq (MPQ_2018_v1_icon_error.w3m) succeeded. -TestReadingMpq (MPQ_1997_v1_Diablo1_STANDARD.SNP) succeeded. -TestReadingMpq (MPQ_2012_v2_EmptyMpq.MPQ) succeeded. -TestReadingMpq (MPQ_2013_v4_EmptyMpq.MPQ) succeeded. -TestReadingMpq (MPQ_2013_v4_patch-base-16357.MPQ) succeeded. -TestReadingMpq (MPQ_2011_v4_InvalidHetEntryCount.MPQ) succeeded. -TestReadingMpq (MPQ_2002_v1_BlockTableCut.MPQ) succeeded. -TestReadingMpq (MPQ_2010_v2_HasUserData.s2ma) succeeded. -TestReadingMpq: Warning: CRC32 error on (listfile) +TestReadingMpq (MPQ_2018_v1_icon_error.w3m) succeeded. +TestReadingMpq (MPQ_1997_v1_Diablo1_STANDARD.SNP) succeeded. +TestReadingMpq (MPQ_2012_v2_EmptyMpq.MPQ) succeeded. +TestReadingMpq (MPQ_2013_v4_EmptyMpq.MPQ) succeeded. +TestReadingMpq (MPQ_2013_v4_patch-base-16357.MPQ) succeeded. +TestReadingMpq (MPQ_2011_v4_InvalidHetEntryCount.MPQ) succeeded. +TestReadingMpq (MPQ_2002_v1_BlockTableCut.MPQ) succeeded. +TestReadingMpq (MPQ_2010_v2_HasUserData.s2ma) succeeded. +TestReadingMpq: Warning: CRC32 error on (listfile) TestReadingMpq: Warning: CRC32 error on (listfile) TestReadingMpq: Warning: CRC32 error on File00000003.xxx TestReadingMpq (MPQ_2014_v1_AttributesOneEntryLess.w3x) succeeded. -TestReadingMpq (MPQ_2020_v1_AHF04patch.mix) succeeded. -TestReadingMpq (MPQ_2010_v3_expansion-locale-frFR.MPQ) succeeded. -TestReadingMpq (mpqe-file://MPQ_2011_v2_EncryptedMpq.MPQE) succeeded. -TestReadingMpq (part-file://MPQ_2010_v2_HashTableCompressed.MPQ.part) succeeded. -TestReadingMpq (blk4-file://streaming/model.MPQ.0) succeeded. -TestReadingMpq: Warning: CRC32 error on replay.message.events +TestReadingMpq (MPQ_2020_v1_AHF04patch.mix) succeeded. +TestReadingMpq (MPQ_2010_v3_expansion-locale-frFR.MPQ) succeeded. +TestReadingMpq (mpqe-file://MPQ_2011_v2_EncryptedMpq.MPQE) succeeded. +TestReadingMpq (part-file://MPQ_2010_v2_HashTableCompressed.MPQ.part) succeeded. +TestReadingMpq (blk4-file://streaming/model.MPQ.0) succeeded. +TestReadingMpq: Warning: CRC32 error on replay.message.events TestReadingMpq (MPQ_2023_v2_MemoryCorruption.SC2Replay) succeeded. -TestReadingMpq (MPQ_2023_v1_StarcraftMap.scm) succeeded. -TestReadingMpq (MPQ_2023_v1_BroodWarMap.scx) succeeded. -TestReadingMpq (MPQ_2023_v1_Volcanis.scm) succeeded. -TestReadingMpq (MPQ_2023_v4_UTF8.s2ma) succeeded. -TestReadingMpq (MPQ_2023_v1_GreenTD.w3x) succeeded. -TestReadingMpq (MPQ_2023_v4_1F644C5A.SC2Replay) succeeded. -TestReadingMpq () succeeded. -TestReadingMpq (MPQ_2002_v1_ProtectedMap_InvalidUserData.w3x) succeeded. -TestReadingMpq (MPQ_2002_v1_ProtectedMap_InvalidMpqFormat.w3x) succeeded. -TestReadingMpq (MPQ_2002_v1_ProtectedMap_Spazzler.w3x) succeeded. -TestReadingMpq (MPQ_2014_v1_ProtectedMap_Spazzler2.w3x) succeeded. -TestReadingMpq (MPQ_2014_v1_ProtectedMap_Spazzler3.w3x) succeeded. -TestReadingMpq (MPQ_2002_v1_ProtectedMap_BOBA.w3m) succeeded. -TestReadingMpq (MPQ_2015_v1_ProtectedMap_KangTooJee.w3x) succeeded. -TestReadingMpq (MPQ_2015_v1_ProtectedMap_Somj2hM16.w3x) succeeded. -TestReadingMpq (MPQ_2015_v1_ProtectedMap_Spazy.w3x) succeeded. -TestReadingMpq (MPQ_2015_v1_MessListFile.mpq) succeeded. -TestReadingMpq (MPQ_2016_v1_ProtectedMap_TableSizeOverflow.w3x) succeeded. -TestReadingMpq (MPQ_2016_v1_ProtectedMap_HashOffsIsZero.w3x) succeeded. -TestReadingMpq (MPQ_2016_v1_ProtectedMap_Somj2.w3x) succeeded. -TestReadingMpq (MPQ_2016_v1_WME4_4.w3x) succeeded. -TestReadingMpq (MPQ_2016_v1_SP_(4)Adrenaline.w3x) succeeded. -TestReadingMpq (MPQ_2016_v1_ProtectedMap_1.4.w3x) succeeded. -TestReadingMpq (MPQ_2016_v1_KoreanFile.w3m) succeeded. -TestReadingMpq (MPQ_2017_v1_Eden_RPG_S2_2.5J.w3x) succeeded. -TestReadingMpq (MPQ_2017_v1_BigDummyFiles.w3x) succeeded. -TestReadingMpq (MPQ_2017_v1_TildeInFileName.mpq) succeeded. -TestReadingMpq (MPQ_2018_v1_EWIX_v8_7.w3x) succeeded. -TestReadingMpq (MPQ_2020_v4_FakeMpqHeaders.SC2Mod) succeeded. -TestReadingMpq (MPQ_2020_v4_NP_Protect_1.s2ma) succeeded. -TestReadingMpq (MPQ_2020_v4_NP_Protect_2.s2ma) succeeded. -TestReadingMpq (MPQ_2015_v1_flem1.w3x) succeeded. -TestReadingMpq (MPQ_2002_v1_ProtectedMap_HashTable_FakeValid.w3x) succeeded. -TestReadingMpq (MPQ_2021_v1_CantExtractCHK.scx) succeeded. -TestReadingMpq (MPQ_2022_v1_Sniper.scx) succeeded. -TestReadingMpq (MPQ_2022_v1_OcOc_Bound_2.scx) succeeded. -TestReadingMpq (MPQ_2023_v1_Lusin2Rpg1.28.w3x) succeeded. -TestReadingMpq (MPQ_2024_v1_300TK2.09p.w3x) succeeded. -TestReadingMpq (MPQ_2020_v1_HS0.1.asi) succeeded. -TestReadingMpq (MPQ_2022_v1_hs0.8.asi) succeeded. -TestReadingMpq (MPQ_2022_v1_MoeMoeMod.asi) succeeded. -TestReadingMpq (MPx_2013_v1_LongwuOnline.mpk) succeeded. -TestReadingMpq (MPx_2013_v1_WarOfTheImmortals.sqp) succeeded. -TestReadingMpq (MPx_2022_v1_Music.mpk) succeeded. -TestReadingMpq (MPx_2022_v1_Scp.mpk) succeeded. -TestReadingMpq (MPx_2022_v1_UI.mpk) succeeded. -TestReadingMpq (MPQ_1998_v1_StarCraft.mpq) succeeded. -TestReadingMpq (MPQ_2012_v4_OldWorld.MPQ) succeeded. -TestReadingMpq (MPQ_2013_v4_world.MPQ) succeeded. -TestReadingMpq (MPQ_2013_v4_locale-enGB.MPQ) succeeded. -TestReadingMpq (MPQ_2013_v4_Base1.SC2Data) succeeded. -TestReadingMpq (MPQ_2013_v4_Mods#Core.SC2Mod#enGB.SC2Assets) succeeded. -TestReadingMpq (MPQ_2013_v4_Base1.SC2Data) succeeded. -TestReadingMpq (MPQ_2013_v4_Base3.SC2Maps) succeeded. -TestReadingMpq (MPQ_2013_v4_Mods#Liberty.SC2Mod#enGB.SC2Data) succeeded. -TestReadingMpq (MPQ_2014_v4_base-Win.MPQ) succeeded. -TestReadingMpq (MPQ_2014_v4_base-Win.MPQ) succeeded. -TestReadingMpq (MPQ_1997_v1_Diablo1_STANDARD.SNP) succeeded. -TestReadingMpq (MPQ_1999_v1_WeakSignature.exe) succeeded. -TestReadingMpq (MPQ_2003_v1_WeakSignatureEmpty.exe) succeeded. -TestReadingMpq (MPQ_2002_v1_StrongSignature.w3m) succeeded. -TestReadingMpq (MPQ_1998_v1_StarDat.mpq) succeeded. -TestReadingMpq (MPQ_1999_v1_WeakSignature.exe) succeeded. -TestReadingMpq (flat-file://streaming/model.MPQ.0) succeeded. -TestReadingMpq (MPQ_2013_vX_Battle.net.MPQ) succeeded. -TestReadingMpq (MPQ_1997_v1_Diablo1_DIABDAT.MPQ) succeeded. -TestReadingMpq (MPQ_1997_v1_Diablo1_DIABDAT.MPQ) succeeded. -TestReadingMpq (MPQ_2002_v1_StrongSignature.w3m) succeeded. -TestReadingMpq (MPQ_2013_v4_SC2_EmptyMap.SC2Map) succeeded. -Test_ReopenMpq (MPQ_2010_v3_expansion-locale-frFR.MPQ) succeeded. -Test_ReopenMpq (MPQ_2016_v1_00000.pak) succeeded. -Test_ReopenMpq (MPQ_2013_v4_SC2_EmptyMap.SC2Map) succeeded. -Test_ReopenMpq (MPQ_2013_v4_expansion1.MPQ) succeeded. -Test_ReopenMpq (MPQ_2014_v1_out1.w3x) succeeded. -Test_ReopenMpq (MPQ_2014_v1_out2.w3x) succeeded. -Test_ReopenMpq (MPQ_1997_v1_Diablo1_DIABDAT.MPQ) succeeded. -Test_ReopenMpq (MPQ_2013_v4_SC2_EmptyMap.SC2Map) succeeded. -Test_ReopenMpq (MPQ_2002_v1_LargeMapFile.w3m) succeeded. -Test_Signature (MPQ_1999_v1_WeakSigned1.mpq) succeeded. -Test_Signature (MPQ_1999_v1_WeakSigned1.mpq) succeeded. -TestModifyMpq (MPQ_2014_v4_Base.StormReplay) succeeded. -TestModifyMpq (MPQ_2022_v1_v4.329.w3x) succeeded. -TestModifyMpq (MPQ_2023_v1_StarcraftMap.scm) succeeded. -TestVerifyHash succeeded. -CreateNewMpq (StormLibTest_EmptyMpq_v2.mpq) succeeded. -CreateNewMpq (StormLibTest_EmptyMpq_v4.mpq) succeeded. +TestReadingMpq (MPQ_2023_v1_StarcraftMap.scm) succeeded. +TestReadingMpq (MPQ_2023_v1_BroodWarMap.scx) succeeded. +TestReadingMpq (MPQ_2023_v1_Volcanis.scm) succeeded. +TestReadingMpq (MPQ_2023_v4_UTF8.s2ma) succeeded. +TestReadingMpq (MPQ_2023_v1_GreenTD.w3x) succeeded. +TestReadingMpq (MPQ_2023_v4_1F644C5A.SC2Replay) succeeded. +TestReadingMpq () succeeded. +TestReadingMpq (MPQ_2002_v1_ProtectedMap_InvalidUserData.w3x) succeeded. +TestReadingMpq (MPQ_2002_v1_ProtectedMap_InvalidMpqFormat.w3x) succeeded. +TestReadingMpq (MPQ_2002_v1_ProtectedMap_Spazzler.w3x) succeeded. +TestReadingMpq (MPQ_2014_v1_ProtectedMap_Spazzler2.w3x) succeeded. +TestReadingMpq (MPQ_2014_v1_ProtectedMap_Spazzler3.w3x) succeeded. +TestReadingMpq (MPQ_2002_v1_ProtectedMap_BOBA.w3m) succeeded. +TestReadingMpq (MPQ_2015_v1_ProtectedMap_KangTooJee.w3x) succeeded. +TestReadingMpq (MPQ_2015_v1_ProtectedMap_Somj2hM16.w3x) succeeded. +TestReadingMpq (MPQ_2015_v1_ProtectedMap_Spazy.w3x) succeeded. +TestReadingMpq (MPQ_2015_v1_MessListFile.mpq) succeeded. +TestReadingMpq (MPQ_2016_v1_ProtectedMap_TableSizeOverflow.w3x) succeeded. +TestReadingMpq (MPQ_2016_v1_ProtectedMap_HashOffsIsZero.w3x) succeeded. +TestReadingMpq (MPQ_2016_v1_ProtectedMap_Somj2.w3x) succeeded. +TestReadingMpq (MPQ_2016_v1_WME4_4.w3x) succeeded. +TestReadingMpq (MPQ_2016_v1_SP_(4)Adrenaline.w3x) succeeded. +TestReadingMpq (MPQ_2016_v1_ProtectedMap_1.4.w3x) succeeded. +TestReadingMpq (MPQ_2016_v1_KoreanFile.w3m) succeeded. +TestReadingMpq (MPQ_2017_v1_Eden_RPG_S2_2.5J.w3x) succeeded. +TestReadingMpq (MPQ_2017_v1_BigDummyFiles.w3x) succeeded. +TestReadingMpq (MPQ_2017_v1_TildeInFileName.mpq) succeeded. +TestReadingMpq (MPQ_2018_v1_EWIX_v8_7.w3x) succeeded. +TestReadingMpq (MPQ_2020_v4_FakeMpqHeaders.SC2Mod) succeeded. +TestReadingMpq (MPQ_2020_v4_NP_Protect_1.s2ma) succeeded. +TestReadingMpq (MPQ_2020_v4_NP_Protect_2.s2ma) succeeded. +TestReadingMpq (MPQ_2015_v1_flem1.w3x) succeeded. +TestReadingMpq (MPQ_2002_v1_ProtectedMap_HashTable_FakeValid.w3x) succeeded. +TestReadingMpq (MPQ_2021_v1_CantExtractCHK.scx) succeeded. +TestReadingMpq (MPQ_2022_v1_Sniper.scx) succeeded. +TestReadingMpq (MPQ_2022_v1_OcOc_Bound_2.scx) succeeded. +TestReadingMpq (MPQ_2023_v1_Lusin2Rpg1.28.w3x) succeeded. +TestReadingMpq (MPQ_2024_v1_300TK2.09p.w3x) succeeded. +TestReadingMpq (MPQ_2020_v1_HS0.1.asi) succeeded. +TestReadingMpq (MPQ_2022_v1_hs0.8.asi) succeeded. +TestReadingMpq (MPQ_2022_v1_MoeMoeMod.asi) succeeded. +TestReadingMpq (MPx_2013_v1_LongwuOnline.mpk) succeeded. +TestReadingMpq (MPx_2013_v1_WarOfTheImmortals.sqp) succeeded. +TestReadingMpq (MPx_2022_v1_Music.mpk) succeeded. +TestReadingMpq (MPx_2022_v1_Scp.mpk) succeeded. +TestReadingMpq (MPx_2022_v1_UI.mpk) succeeded. +TestReadingMpq (MPQ_1998_v1_StarCraft.mpq) succeeded. +TestReadingMpq (MPQ_2012_v4_OldWorld.MPQ) succeeded. +TestReadingMpq (MPQ_2013_v4_world.MPQ) succeeded. +TestReadingMpq (MPQ_2013_v4_locale-enGB.MPQ) succeeded. +TestReadingMpq (MPQ_2013_v4_Base1.SC2Data) succeeded. +TestReadingMpq (MPQ_2013_v4_Mods#Core.SC2Mod#enGB.SC2Assets) succeeded. +TestReadingMpq (MPQ_2013_v4_Base1.SC2Data) succeeded. +TestReadingMpq (MPQ_2013_v4_Base3.SC2Maps) succeeded. +TestReadingMpq (MPQ_2013_v4_Mods#Liberty.SC2Mod#enGB.SC2Data) succeeded. +TestReadingMpq (MPQ_2014_v4_base-Win.MPQ) succeeded. +TestReadingMpq (MPQ_2014_v4_base-Win.MPQ) succeeded. +TestReadingMpq (MPQ_1997_v1_Diablo1_STANDARD.SNP) succeeded. +TestReadingMpq (MPQ_1999_v1_WeakSignature.exe) succeeded. +TestReadingMpq (MPQ_2003_v1_WeakSignatureEmpty.exe) succeeded. +TestReadingMpq (MPQ_2002_v1_StrongSignature.w3m) succeeded. +TestReadingMpq (MPQ_1998_v1_StarDat.mpq) succeeded. +TestReadingMpq (MPQ_1999_v1_WeakSignature.exe) succeeded. +TestReadingMpq (flat-file://streaming/model.MPQ.0) succeeded. +TestReadingMpq (MPQ_2013_vX_Battle.net.MPQ) succeeded. +TestReadingMpq (MPQ_1997_v1_Diablo1_DIABDAT.MPQ) succeeded. +TestReadingMpq (MPQ_1997_v1_Diablo1_DIABDAT.MPQ) succeeded. +TestReadingMpq (MPQ_2002_v1_StrongSignature.w3m) succeeded. +TestReadingMpq (MPQ_2013_v4_SC2_EmptyMap.SC2Map) succeeded. +Test_ReopenMpq (MPQ_2010_v3_expansion-locale-frFR.MPQ) succeeded. +Test_ReopenMpq (MPQ_2016_v1_00000.pak) succeeded. +Test_ReopenMpq (MPQ_2013_v4_SC2_EmptyMap.SC2Map) succeeded. +Test_ReopenMpq (MPQ_2013_v4_expansion1.MPQ) succeeded. +Test_ReopenMpq (MPQ_2014_v1_out1.w3x) succeeded. +Test_ReopenMpq (MPQ_2014_v1_out2.w3x) succeeded. +Test_ReopenMpq (MPQ_1997_v1_Diablo1_DIABDAT.MPQ) succeeded. +Test_ReopenMpq (MPQ_2013_v4_SC2_EmptyMap.SC2Map) succeeded. +Test_ReopenMpq (MPQ_2002_v1_LargeMapFile.w3m) succeeded. +Test_Signature (MPQ_1999_v1_WeakSigned1.mpq) succeeded. +Test_Signature (MPQ_1999_v1_WeakSigned1.mpq) succeeded. +TestModifyMpq (MPQ_2014_v4_Base.StormReplay) succeeded. +TestModifyMpq (MPQ_2022_v1_v4.329.w3x) succeeded. +TestModifyMpq (MPQ_2023_v1_StarcraftMap.scm) succeeded. +TestVerifyHash succeeded. +CreateNewMpq (StormLibTest_EmptyMpq_v2.mpq) succeeded. +CreateNewMpq (StormLibTest_EmptyMpq_v4.mpq) succeeded. CreateNewMpq (StormLibTest_Český.mpq) succeeded. . -CreateNewMpq (StormLibTest_Русский.mpq) succeeded. ... -CreateNewMpq (StormLibTest_ελληνικά.mpq) succeeded. +CreateNewMpq (StormLibTest_Русский.mpq) succeeded. ... +CreateNewMpq (StormLibTest_ελληνικά.mpq) succeeded. CreateNewMpq (StormLibTest_日本語.mpq) succeeded. .. -CreateNewMpq (StormLibTest_简体中文.mpq) succeeded.... -CreateNewMpq (StormLibTest_الععربية.mpq) succeeded.... -CreateNewMpq (StormLibTest_NonStdNames.mpq) succeeded. -CreateNewMpq (StormLibTest_MpqEditorTest.mpq) succeeded. -TestCreateGaps (StormLibTest_GapsTest.mpq) succeeded. -TestCreateFull (StormLibTest_FileTableFull.mpq) succeeded. -TestCreateFull (StormLibTest_FileTableFull.mpq) succeeded. -TestCreateFull (StormLibTest_FileTableFull.mpq) succeeded. -TestCreateFull (StormLibTest_FileTableFull.mpq) succeeded. -IncMaxFileCount (StormLibTest_IncMaxFileCount.mpq) succeeded. -TestFileFlag (StormLibTest_FileFlagTest.mpq) succeeded. -TestCompressions: Warning: CRC32 error on WaveFile_01.wav +CreateNewMpq (StormLibTest_简体中文.mpq) succeeded.... +CreateNewMpq (StormLibTest_الععربية.mpq) succeeded.... +CreateNewMpq (StormLibTest_NonStdNames.mpq) succeeded. +CreateNewMpq (StormLibTest_MpqEditorTest.mpq) succeeded. +TestCreateGaps (StormLibTest_GapsTest.mpq) succeeded. +TestCreateFull (StormLibTest_FileTableFull.mpq) succeeded. +TestCreateFull (StormLibTest_FileTableFull.mpq) succeeded. +TestCreateFull (StormLibTest_FileTableFull.mpq) succeeded. +TestCreateFull (StormLibTest_FileTableFull.mpq) succeeded. +IncMaxFileCount (StormLibTest_IncMaxFileCount.mpq) succeeded. +TestFileFlag (StormLibTest_FileFlagTest.mpq) succeeded. +TestCompressions: Warning: CRC32 error on WaveFile_01.wav TestCompressions: Warning: CRC32 error on WaveFile_02.wav -TestCompressions (StormLibTest_AddWaveMonoBadTest.mpq) succeeded. -TestCompressions: Warning: CRC32 error on WaveFile_01.wav +TestCompressions (StormLibTest_AddWaveMonoBadTest.mpq) succeeded. +TestCompressions: Warning: CRC32 error on WaveFile_01.wav TestCompressions: Warning: CRC32 error on WaveFile_02.wav -ListFilePos (StormLibTest_ListFilePos.mpq) succeeded. -TestBigArchive (StormLibTest_BigArchive_v4.mpq) succeeded. \ No newline at end of file +ListFilePos (StormLibTest_ListFilePos.mpq) succeeded. +TestBigArchive (StormLibTest_BigArchive_v4.mpq) succeeded. \ No newline at end of file -- cgit v1.2.3