diff options
author | Filippos Karapetis | 2007-05-06 14:36:02 +0000 |
---|---|---|
committer | Filippos Karapetis | 2007-05-06 14:36:02 +0000 |
commit | d4d04a150dfefdcce5fe35bbd8af4ef44d57aa3d (patch) | |
tree | 225686d80aaf97c1a38d2aa6a57e7c70abb98fea /engines/agi | |
parent | dc1e1a3f11dd70bb43ce0912c75e284124e764ff (diff) | |
download | scummvm-rg350-d4d04a150dfefdcce5fe35bbd8af4ef44d57aa3d.tar.gz scummvm-rg350-d4d04a150dfefdcce5fe35bbd8af4ef44d57aa3d.tar.bz2 scummvm-rg350-d4d04a150dfefdcce5fe35bbd8af4ef44d57aa3d.zip |
Added a game ID field for all Sierra AGI games. Removed many types which are now obsolete from the game features field
svn-id: r26764
Diffstat (limited to 'engines/agi')
-rw-r--r-- | engines/agi/agi.h | 27 | ||||
-rw-r--r-- | engines/agi/detection.cpp | 146 | ||||
-rw-r--r-- | engines/agi/keyboard.cpp | 6 | ||||
-rw-r--r-- | engines/agi/op_cmd.cpp | 2 | ||||
-rw-r--r-- | engines/agi/sprite.cpp | 2 | ||||
-rw-r--r-- | engines/agi/view.cpp | 2 |
6 files changed, 147 insertions, 38 deletions
diff --git a/engines/agi/agi.h b/engines/agi/agi.h index 6db5494fcc..a1f979a28b 100644 --- a/engines/agi/agi.h +++ b/engines/agi/agi.h @@ -109,11 +109,27 @@ enum AgiGameFeatures { GF_AGI256_2 = (1 << 3), GF_AGIPAL = (1 << 4), GF_MACGOLDRUSH = (1 << 5), - GF_FANMADE = (1 << 6), - GF_ESC_MENU = (1 << 7), - GF_MANHUNTER = (1 << 8), - GF_SQ1 = (1 << 9), - GF_KQ4 = (1 << 10) + GF_FANMADE = (1 << 6) +}; + +enum AgiGameID { + GID_AGIDEMO, + GID_BC, + GID_DDP, + GID_GOLDRUSH, + GID_KQ1, + GID_KQ2, + GID_KQ3, + GID_KQ4, + GID_LSL1, + GID_MH1, + GID_MH2, + GID_MIXEDUP, + GID_PQ1, + GID_SQ1, + GID_SQ2, + GID_XMASCARD, + GID_FANMADE // TODO: Should this be extended to include all fanmade games? }; struct AGIGameDescription; @@ -511,6 +527,7 @@ public: } const AGIGameDescription *_gameDescription; + uint32 getGameID() const; uint32 getFeatures() const; uint16 getVersion() const; Common::Platform getPlatform() const; diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index d88af458d4..752a5f510b 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -35,11 +35,16 @@ namespace Agi { struct AGIGameDescription { Common::ADGameDescription desc; + int gameID; int gameType; uint32 features; uint16 version; }; +uint32 AgiEngine::getGameID() const { + return _gameDescription->gameID; +} + uint32 AgiEngine::getFeatures() const { return _gameDescription->features; } @@ -95,6 +100,7 @@ namespace Agi { Common::kPlatformPC, \ Common::ADGF_NO_FLAGS \ }, \ + GID_FANMADE, \ GType_V2, \ features, \ ver, \ @@ -122,6 +128,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_AGIDEMO, GType_V2, 0, 0x2440, @@ -138,6 +145,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_AGIDEMO, GType_V2, 0, 0x2917, @@ -154,6 +162,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_AGIDEMO, GType_V2, 0, 0x2917, @@ -170,6 +179,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_AGIDEMO, GType_V2, 0, 0x2917, @@ -186,6 +196,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_AGIDEMO, GType_V2, 0, 0x2917, @@ -202,6 +213,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_AGIDEMO, GType_V3, 0, 0x3149, @@ -218,6 +230,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_BC, GType_V2, 0, 0x2440, @@ -234,6 +247,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_BC, GType_V3, 0, 0x3149, @@ -250,6 +264,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_BC, GType_V2, 0, 0x2440, @@ -266,6 +281,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_BC, GType_V3, 0, 0x3149, @@ -284,6 +300,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_DDP, GType_V2, 0, 0x2272, @@ -300,6 +317,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_DDP, GType_V2, 0, 0x2272, @@ -316,6 +334,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_DDP, GType_V2, 0, 0x2272, @@ -332,6 +351,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_GOLDRUSH, GType_V3, 0, 0x3149, @@ -348,6 +368,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_GOLDRUSH, GType_V3, 0, 0x3149, @@ -364,6 +385,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAtariST, Common::ADGF_NO_FLAGS }, + GID_GOLDRUSH, GType_V3, 0, 0x3149, @@ -380,6 +402,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_GOLDRUSH, GType_V3, 0, 0x3149, @@ -396,6 +419,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_GOLDRUSH, GType_V3, 0, 0x3149, @@ -416,6 +440,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformMacintosh, Common::ADGF_NO_FLAGS }, + GID_GOLDRUSH, GType_V3, GF_MACGOLDRUSH, 0x3149, @@ -432,6 +457,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_KQ1, GType_V2, 0, 0x2440, @@ -448,6 +474,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAtariST, Common::ADGF_NO_FLAGS }, + GID_KQ1, GType_V2, 0, 0x2272, @@ -464,6 +491,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_KQ1, GType_V2, 0, 0x2272, @@ -480,6 +508,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformMacintosh, Common::ADGF_NO_FLAGS }, + GID_KQ1, GType_V2, 0, 0x2440, @@ -496,6 +525,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_KQ1, GType_V2, 0, 0x2917, @@ -512,8 +542,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_KQ2, GType_V2, - GF_ESC_MENU, + 0, 0x2917, }, @@ -528,8 +559,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_KQ2, GType_V2, - GF_ESC_MENU, + 0, 0x2440, }, @@ -544,8 +576,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformMacintosh, Common::ADGF_NO_FLAGS }, + GID_KQ2, GType_V2, - GF_ESC_MENU, + 0, 0x2440, }, @@ -560,8 +593,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_KQ2, GType_V2, - GF_ESC_MENU, + 0, 0x2440, // XXX: any major differences from 2.411 to 2.440? }, @@ -576,8 +610,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_KQ2, GType_V2, - GF_ESC_MENU, + 0, 0x2917, }, @@ -592,6 +627,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_KQ3, GType_V2, 0, 0x2440, @@ -608,6 +644,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAtariST, Common::ADGF_NO_FLAGS }, + GID_KQ3, GType_V2, 0, 0x2272, @@ -624,6 +661,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformMacintosh, Common::ADGF_NO_FLAGS }, + GID_KQ3, GType_V2, 0, 0x2440, @@ -640,6 +678,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_KQ3, GType_V2, 0, 0x2917, @@ -656,6 +695,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_KQ3, GType_V3, 0, 0x3086, @@ -672,6 +712,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_KQ3, GType_V2, 0, 0x2272, @@ -688,6 +729,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_KQ3, GType_V2, 0, 0x2440, @@ -704,6 +746,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_KQ3, GType_V2, 0, 0x2440, @@ -720,6 +763,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_KQ3, GType_V2, 0, 0x2936, @@ -736,8 +780,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_KQ4, GType_V3, - GF_KQ4, + 0, 0x3086, }, @@ -752,8 +797,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_KQ4, GType_V3, - GF_KQ4, + 0, 0x3086, }, @@ -768,8 +814,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_KQ4, GType_V3, - GF_KQ4, + 0, 0x3086, }, @@ -784,8 +831,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_KQ4, GType_V3, - GF_KQ4, + 0, 0x3086, }, @@ -800,8 +848,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_KQ4, GType_V3, - GF_KQ4, + 0, 0x3149, }, @@ -816,6 +865,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_LSL1, GType_V2, 0, 0x2440, @@ -832,6 +882,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAtariST, Common::ADGF_NO_FLAGS }, + GID_LSL1, GType_V2, 0, 0x2440, @@ -848,6 +899,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_LSL1, GType_V2, 0, 0x2440, @@ -864,6 +916,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_LSL1, GType_V2, 0, 0x2440, @@ -880,6 +933,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformMacintosh, Common::ADGF_NO_FLAGS }, + GID_LSL1, GType_V2, 0, 0x2440, @@ -896,8 +950,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAtariST, Common::ADGF_NO_FLAGS }, + GID_MH1, GType_V3, - GF_MANHUNTER, + 0, 0x3149, }, @@ -912,8 +967,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_MH1, GType_V3, - GF_MANHUNTER, + 0, 0x3149, }, @@ -928,8 +984,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_MH1, GType_V3, - GF_MANHUNTER, + 0, 0x3149, }, @@ -945,8 +1002,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_MH1, GType_V3, - GF_MANHUNTER, + 0, 0x3149, }, @@ -961,8 +1019,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_MH1, GType_V3, - GF_MANHUNTER, + 0, 0x3149, }, @@ -977,8 +1036,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAtariST, Common::ADGF_NO_FLAGS }, + GID_MH1, GType_V3, - GF_MANHUNTER, + 0, 0x3149, }, @@ -993,8 +1053,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_MH2, GType_V3, - GF_MANHUNTER, + 0, 0x3086, }, @@ -1009,8 +1070,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_MH2, GType_V3, - GF_MANHUNTER, + 0, 0x3149, }, @@ -1025,8 +1087,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_MH2, GType_V3, - GF_MANHUNTER, + 0, 0x3149, }, @@ -1041,6 +1104,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_MIXEDUP, GType_V3, 0, 0x3086, @@ -1057,6 +1121,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_MIXEDUP, GType_V2, 0, 0x2917, @@ -1073,6 +1138,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_MIXEDUP, GType_V2, 0, 0x2917, @@ -1090,6 +1156,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_MIXEDUP, GType_V2, 0, 0x2917, @@ -1107,6 +1174,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_PQ1, GType_V2, 0, 0x2917, @@ -1123,6 +1191,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformMacintosh, Common::ADGF_NO_FLAGS }, + GID_PQ1, GType_V2, 0, 0x2440, @@ -1139,6 +1208,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_PQ1, GType_V2, 0, 0x2917, @@ -1155,6 +1225,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_PQ1, GType_V3, 0, 0x3149, @@ -1171,6 +1242,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_PQ1, GType_V2, 0, 0x2917, @@ -1187,6 +1259,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_PQ1, GType_V2, 0, 0x2917, @@ -1203,6 +1276,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformMacintosh, Common::ADGF_NO_FLAGS }, + GID_PQ1, GType_V2, 0, 0x2440, @@ -1219,6 +1293,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_PQ1, GType_V2, 0, 0x2917, @@ -1235,8 +1310,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAtariST, Common::ADGF_NO_FLAGS }, + GID_SQ1, GType_V2, - GF_SQ1, + 0, 0x2440, }, @@ -1251,8 +1327,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_SQ1, GType_V2, - GF_SQ1, + 0, 0x2272, }, @@ -1267,8 +1344,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_SQ1, GType_V2, - GF_SQ1, + 0, 0x2440, }, @@ -1283,8 +1361,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformMacintosh, Common::ADGF_NO_FLAGS }, + GID_SQ1, GType_V2, - GF_SQ1, + 0, 0x2440, }, @@ -1299,8 +1378,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_SQ1, GType_V2, - GF_SQ1, + 0, 0x2917, }, @@ -1315,8 +1395,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_SQ1, GType_V2, - GF_SQ1, + 0, 0x2089, }, @@ -1331,8 +1412,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_SQ1, GType_V2, - GF_SQ1, + 0, 0x2272, }, @@ -1347,8 +1429,9 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_SQ1, GType_V2, - GF_SQ1, + 0, 0x2440, }, @@ -1364,6 +1447,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_SQ2, GType_V2, 0, 0x2936, @@ -1380,6 +1464,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformApple2GS, Common::ADGF_NO_FLAGS }, + GID_SQ2, GType_V2, 0, 0x2936, @@ -1400,6 +1485,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformAmiga, Common::ADGF_NO_FLAGS }, + GID_SQ2, GType_V2, 0, 0x2936, @@ -1416,6 +1502,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformMacintosh, Common::ADGF_NO_FLAGS }, + GID_SQ2, GType_V2, 0, 0x2936, @@ -1433,6 +1520,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_SQ2, GType_V2, 0, 0x2917, @@ -1449,6 +1537,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_SQ2, GType_V2, 0, 0x2917, @@ -1465,6 +1554,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_SQ2, GType_V2, 0, 0x2917, @@ -1481,6 +1571,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_SQ2, GType_V2, 0, 0x2936, @@ -1497,6 +1588,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_XMASCARD, GType_V2, 0, 0x2272, diff --git a/engines/agi/keyboard.cpp b/engines/agi/keyboard.cpp index 20c81847db..5cfcf1dba5 100644 --- a/engines/agi/keyboard.cpp +++ b/engines/agi/keyboard.cpp @@ -103,11 +103,11 @@ int AgiEngine::handleController(int key) { VtEntry *v = &_game.viewTable[0]; int i; - /* AGI 3.149 games need KEY_ESCAPE to use menus */ - if (key == 0 || (key == KEY_ESCAPE && (getFeatures() & GF_ESC_MENU || getFeatures() & GF_KQ4)) ) + /* AGI 3.149 games and The Black Cauldron need KEY_ESCAPE to use menus */ + if (key == 0 || (key == KEY_ESCAPE && agiGetRelease() != 0x3149 && getGameID() != GID_BC) ) return false; - if ((getFeatures() & GF_MANHUNTER) && (key == KEY_ENTER) && + if ((getGameID() == GID_MH1 || getGameID() == GID_MH2) && (key == KEY_ENTER) && (_game.inputMode == INPUT_NONE)) key = 0x20; // Set Enter key to Space in Manhunter when there's no text input diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp index 32bcc37344..9f196ffdfb 100644 --- a/engines/agi/op_cmd.cpp +++ b/engines/agi/op_cmd.cpp @@ -252,7 +252,7 @@ cmd(set_priority) { // and then releases the fixed priority set on ego after ego is seated // Therefore, this workaround only affects that specific part of this scene // Ego is set to object 19 by script 54 - if (g_agi->getFeatures() & GF_KQ4 && vt.currentView == 152) { + if (g_agi->getGameID() == GID_KQ4 && vt.currentView == 152) { game.viewTable[19].flags |= FIXED_PRIORITY; game.viewTable[19].priority = 7; } diff --git a/engines/agi/sprite.cpp b/engines/agi/sprite.cpp index e4cb6ed175..8392969def 100644 --- a/engines/agi/sprite.cpp +++ b/engines/agi/sprite.cpp @@ -622,7 +622,7 @@ void SpritesMgr::addToPic(int view, int loop, int cel, int x, int y, int pri, in y3 = (y2 / 12) * 12; // SQ1 needs +1 (see bug #810331) - if (_vm->getFeatures() & GF_SQ1) + if (_vm->getGameID() == GID_SQ1) y3++; // don't let box extend below y. diff --git a/engines/agi/view.cpp b/engines/agi/view.cpp index d87d115cbd..6dfed13142 100644 --- a/engines/agi/view.cpp +++ b/engines/agi/view.cpp @@ -50,7 +50,7 @@ void AgiEngine::lSetCel(VtEntry *v, int n) { // in the KQ4 introduction // It seems there's either a bug with KQ4's logic script 120 (the intro script) // or flag 64 is not set correctly, which causes the erroneous behavior from the actors - if (getFeatures() & GF_KQ4 && !(v->flags & UPDATE) && (v->currentView == 172)) + if (getGameID() == GID_KQ4 && !(v->flags & UPDATE) && (v->currentView == 172)) return; currentVc = ¤tVl->cel[n]; |