diff options
-rw-r--r-- | engines/agos/detection_tables.h | 4 | ||||
-rw-r--r-- | engines/agos/intern.h | 5 | ||||
-rw-r--r-- | engines/agos/pn.cpp | 2 | ||||
-rw-r--r-- | engines/agos/vga.cpp | 8 |
4 files changed, 10 insertions, 9 deletions
diff --git a/engines/agos/detection_tables.h b/engines/agos/detection_tables.h index 5043138444..c0b5309b40 100644 --- a/engines/agos/detection_tables.h +++ b/engines/agos/detection_tables.h @@ -92,7 +92,7 @@ static const AGOSGameDescription gameDescriptions[] = { GF_OLD_BUNDLE | GF_CRUNCHED | GF_PLANAR }, - // Personal Nightmare 1.1c - English DOS Floppy + // Personal Nightmare 1.1c - EGA English DOS Floppy { { "pn", @@ -111,7 +111,7 @@ static const AGOSGameDescription gameDescriptions[] = { GType_PN, GID_PN, - GF_OLD_BUNDLE | GF_CRUNCHED | GF_PLANAR + GF_OLD_BUNDLE | GF_CRUNCHED | GF_EGA | GF_PLANAR }, // Elvira 1 - English Amiga Floppy Demo diff --git a/engines/agos/intern.h b/engines/agos/intern.h index 8d33634493..a2b88e9f4a 100644 --- a/engines/agos/intern.h +++ b/engines/agos/intern.h @@ -252,8 +252,9 @@ enum GameFeatures { GF_CRUNCHED_GAMEPC = 1 << 3, GF_ZLIBCOMP = 1 << 4, GF_32COLOR = 1 << 5, - GF_PLANAR = 1 << 6, - GF_DEMO = 1 << 7 + GF_EGA = 1 << 6, + GF_PLANAR = 1 << 7, + GF_DEMO = 1 << 8 }; enum GameFileTypes { diff --git a/engines/agos/pn.cpp b/engines/agos/pn.cpp index 91c5a43ba2..fd88d63ec3 100644 --- a/engines/agos/pn.cpp +++ b/engines/agos/pn.cpp @@ -128,7 +128,7 @@ Common::Error AGOSEngine_PN::go() { addVgaEvent(_frameCount, ANIMATE_INT, NULL, 0, 0); - if (getPlatform() == Common::kPlatformPC) { + if (getFeatures() & GF_EGA) { // Set EGA Palette for (int i = 0; i < 16; i++) { _displayPalette[i * 4 + 0] = egaPalette[i * 3 + 0]; diff --git a/engines/agos/vga.cpp b/engines/agos/vga.cpp index c998300f5e..3d85406afd 100644 --- a/engines/agos/vga.cpp +++ b/engines/agos/vga.cpp @@ -924,8 +924,8 @@ void AGOSEngine::vc22_setPaletteOld() { b = vcReadNextWord(); - // PC version of Personal Nightmare uses standard EGA palette - if (getGameType() == GType_PN && getPlatform() == Common::kPlatformPC) + // PC EGA version of Personal Nightmare uses standard EGA palette + if (getGameType() == GType_PN && (getFeatures() & GF_EGA)) return; num = 16; @@ -1298,8 +1298,8 @@ void AGOSEngine::vc37_pokePalette() { uint16 offs = vcReadNextWord(); uint16 color = vcReadNextWord(); - // PC version of Personal Nightmare uses standard EGA palette - if (getGameType() == GType_PN && getPlatform() == Common::kPlatformPC) + // PC EGA version of Personal Nightmare uses standard EGA palette + if (getGameType() == GType_PN && (getFeatures() & GF_EGA)) return; byte *palptr = _displayPalette + offs * 4; |