diff --git a/engines/agos/detection_tables.h b/engines/agos/detection_tables.h index 505261b40ed..19b070a3797 100644 --- a/engines/agos/detection_tables.h +++ b/engines/agos/detection_tables.h @@ -92,14 +92,13 @@ static const AGOSGameDescription gameDescriptions[] = { GF_OLD_BUNDLE | GF_CRUNCHED | GF_PLANAR }, - // Personal Nightmare 1.1c - EGA English DOS Floppy (Packed) + // Personal Nightmare 1.1c - EGA English DOS Floppy { { "pn", "Floppy", { - { "01.out", GAME_VGAFILE, "3a2a4c3e07dfbc4b309deade0af37baf", -1}, { "icon.out", GAME_ICONFILE, "40d8347c3154bfa8b642d6860a4b9481", -1}, { "night.dbm", GAME_BASEFILE, "177311ae059243f6a2740e950585d786", -1}, { "night.txt", GAME_TEXTFILE, "861fc1fa0864eef585f5865dee52e325", -1}, @@ -115,29 +114,6 @@ static const AGOSGameDescription gameDescriptions[] = { GF_OLD_BUNDLE | GF_CRUNCHED | GF_EGA | GF_PLANAR }, - // Personal Nightmare 1.1c - EGA English DOS Floppy (Unpacked) - { - { - "pn", - "Floppy", - - { - { "01.out", GAME_VGAFILE, "7f3e2a7a3aad016ad1bf540fcbe031ca", -1}, - { "icon.out", GAME_ICONFILE, "40d8347c3154bfa8b642d6860a4b9481", -1}, - { "night.dbm", GAME_BASEFILE, "177311ae059243f6a2740e950585d786", -1}, - { "night.txt", GAME_TEXTFILE, "861fc1fa0864eef585f5865dee52e325", -1}, - { NULL, 0, NULL, 0} - }, - Common::EN_ANY, - Common::kPlatformPC, - ADGF_NO_FLAGS - }, - - GType_PN, - GID_PN, - GF_OLD_BUNDLE | GF_EGA | GF_PLANAR - }, - // Elvira 1 - English Amiga Floppy Demo { { diff --git a/engines/agos/res.cpp b/engines/agos/res.cpp index 4c8340794a8..f6cac8c36a4 100644 --- a/engines/agos/res.cpp +++ b/engines/agos/res.cpp @@ -897,8 +897,14 @@ void AGOSEngine::loadVGAVideoFile(uint16 id, uint8 type, bool useError) { byte *dataOut = 0; int dataOutSize = 0; - for (uint i = 0; i < srcSize / 4; ++i) - data.push(in.readUint32BE()); + for (uint i = 0; i < srcSize / 4; ++i) { + uint32 dataVal = in.readUint32BE(); + // Correct incorrect byte, in corrupt 72.out file, included in some PC versions. + if (dataVal == 168042714) + data.push(168050906); + else + data.push(dataVal); + } decompressPN(data, dataOut, dataOutSize); dst = allocBlock (dataOutSize + extraBuffer);