Correct incorrect byte in corrupt 72.out file, included with some PC versions of PN.

svn-id: r40369
This commit is contained in:
Travis Howell 2009-05-07 12:05:44 +00:00
parent 70472c79cd
commit 391cf9d144
2 changed files with 9 additions and 27 deletions

View File

@ -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
{
{

View File

@ -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);