aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agos/detection_tables.h4
-rw-r--r--engines/agos/intern.h5
-rw-r--r--engines/agos/pn.cpp2
-rw-r--r--engines/agos/vga.cpp8
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;