From 08f5b5f31d3503cfe8927b347988edcc921e6453 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sat, 21 Apr 2007 21:39:27 +0000 Subject: Patch #1704575: 'Fix for #1692346: "KQ2: Cannot leave menu"' svn-id: r26561 --- engines/agi/detection.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'engines/agi/detection.cpp') diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index 9bdf2dba3e..46f7fb5472 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -513,7 +513,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_ESC_MENU, 0x2917, }, @@ -529,7 +529,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_ESC_MENU, 0x2440, }, @@ -545,7 +545,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_ESC_MENU, 0x2440, }, @@ -561,7 +561,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_ESC_MENU, 0x2440, // XXX: any major differences from 2.411 to 2.440? }, @@ -577,7 +577,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_ESC_MENU, 0x2917, }, -- cgit v1.2.3 From b0ae4bf1a38b8957b8810d710a2a90f8c2039e6d Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sat, 21 Apr 2007 21:47:14 +0000 Subject: Patch #1704914: "Fix for #1671426: MH2 : Doesn't recognize Enter for actions" svn-id: r26562 --- engines/agi/detection.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'engines/agi/detection.cpp') diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index 46f7fb5472..608abf9b14 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -897,7 +897,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_MANHUNTER, 0x3149, }, @@ -913,7 +913,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_MANHUNTER, 0x3149, }, @@ -929,7 +929,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_MANHUNTER, 0x3149, }, @@ -946,7 +946,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_MANHUNTER, 0x3149, }, @@ -962,7 +962,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_MANHUNTER, 0x3149, }, @@ -978,7 +978,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_MANHUNTER, 0x3149, }, @@ -994,7 +994,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_MANHUNTER, 0x3086, }, @@ -1010,7 +1010,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_MANHUNTER, 0x3149, }, @@ -1026,7 +1026,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_MANHUNTER, 0x3149, }, -- cgit v1.2.3 From aa8fa78f623b8a20eaa496f16cd29193668c9cff Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 24 Apr 2007 15:43:16 +0000 Subject: Patch #1705791: Patch for #1648396 - AGI : SQ2 / 2.0F / IBM / priority line Modify a workaround made for SQ1 to work on SQ1 only, not all AGI games. This fixes bug #1648396 with SQ2, a bug with LSL1 (Sarien bug #925074) and possibly others svn-id: r26589 --- engines/agi/detection.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'engines/agi/detection.cpp') diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index 608abf9b14..97f4ecd200 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -1236,7 +1236,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_SQ1, 0x2440, }, @@ -1252,7 +1252,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_SQ1, 0x2272, }, @@ -1268,7 +1268,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_SQ1, 0x2440, }, @@ -1284,7 +1284,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_SQ1, 0x2440, }, @@ -1300,7 +1300,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_SQ1, 0x2917, }, @@ -1316,7 +1316,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_SQ1, 0x2089, }, @@ -1332,7 +1332,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_SQ1, 0x2272, }, @@ -1348,7 +1348,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V2, - 0, + GF_SQ1, 0x2440, }, -- cgit v1.2.3 From 21e53116507c57f1639126cd04bd7fe9c864896c Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sun, 29 Apr 2007 14:06:46 +0000 Subject: Handle the escape key properly in KQ4. Fixes bug #1660158 svn-id: r26677 --- engines/agi/detection.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'engines/agi/detection.cpp') diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index 97f4ecd200..8dd970b5ca 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -737,7 +737,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_ESC_MENU, 0x3086, }, @@ -753,7 +753,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_ESC_MENU, 0x3086, }, @@ -769,7 +769,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_ESC_MENU, 0x3086, }, @@ -785,7 +785,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_ESC_MENU, 0x3086, }, @@ -801,7 +801,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - 0, + GF_ESC_MENU, 0x3149, }, -- cgit v1.2.3 From 3fccd9c06f3677042a8091ca89c9685411e44101 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Fri, 4 May 2007 08:55:28 +0000 Subject: AGI: Changed a nasty workaround regarding views to only apply to a specific view in the KQ4 introduction. This fixes several bugs and crashes in AGI V3 games and closes KQ4 bugs #1660486, #1660169, #1660192, #1660162 and #1660354 svn-id: r26743 --- engines/agi/detection.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'engines/agi/detection.cpp') diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index 8dd970b5ca..d88af458d4 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -737,7 +737,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - GF_ESC_MENU, + GF_KQ4, 0x3086, }, @@ -753,7 +753,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - GF_ESC_MENU, + GF_KQ4, 0x3086, }, @@ -769,7 +769,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - GF_ESC_MENU, + GF_KQ4, 0x3086, }, @@ -785,7 +785,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - GF_ESC_MENU, + GF_KQ4, 0x3086, }, @@ -801,7 +801,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::ADGF_NO_FLAGS }, GType_V3, - GF_ESC_MENU, + GF_KQ4, 0x3149, }, -- cgit v1.2.3 From d4d04a150dfefdcce5fe35bbd8af4ef44d57aa3d Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sun, 6 May 2007 14:36:02 +0000 Subject: 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 --- engines/agi/detection.cpp | 146 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 119 insertions(+), 27 deletions(-) (limited to 'engines/agi/detection.cpp') 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, -- cgit v1.2.3 From 750d0072ce7c065f2a2df154f1ea2ffee5c201ac Mon Sep 17 00:00:00 2001 From: Max Horn Date: Thu, 10 May 2007 07:48:54 +0000 Subject: Fixed warnings, cleanup svn-id: r26799 --- engines/agi/detection.cpp | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'engines/agi/detection.cpp') diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index 752a5f510b..c3c5298b9a 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -91,7 +91,7 @@ static const PlainGameDescriptor agiGames[] = { namespace Agi { -#define FANMADE_ILFV(id, name,md5,lang,features,ver) { \ +#define FANMADE_ILVF(id,name,md5,lang,ver,features) { \ { \ id, \ name, \ @@ -102,18 +102,20 @@ namespace Agi { }, \ GID_FANMADE, \ GType_V2, \ - features, \ + (GF_FANMADE|features), \ ver, \ } -#define FANMADE_LV(name,md5,lang,ver) FANMADE_ILFV("agi-fanmade",name,md5,lang,GF_FANMADE,ver) -#define FANMADE_LFV(name,md5,lang,ver, features) FANMADE_ILFV("agi-fanmade",name,md5,lang,(GF_FANMADE|features),ver) -#define FANMADE_V(name,md5,ver) FANMADE_LV(name,md5,Common::EN_ANY,ver) -#define FANMADE_F(name,md5,features) FANMADE_ILFV("agi-fanmade",name,md5,Common::EN_ANY,(GF_FANMADE|features),0x2917) -#define FANMADE_L(name,md5,lang) FANMADE_LV(name,md5,lang,0x2917) -#define FANMADE_LF(name,md5,lang,features) FANMADE_ILFV("agi-fanmade",name,md5,lang,(GF_FANMADE|features),0x2917) -#define FANMADE_I(id,name,md5) FANMADE_ILFV(id,name,md5,Common::EN_ANY,GF_FANMADE,0x2917) -#define FANMADE_IF(id,name,md5,features) FANMADE_ILFV(id,name,md5,Common::EN_ANY,(GF_FANMADE|features),0x2917) -#define FANMADE(name,md5) FANMADE_LV(name,md5,Common::EN_ANY,0x2917) +#define FANMADE_LVF(name,md5,lang,ver,features) FANMADE_ILVF("agi-fanmade",name,md5,lang,ver,features) + +#define FANMADE_LF(name,md5,lang,features) FANMADE_LVF(name,md5,lang,0x2917,features) +#define FANMADE_IF(id,name,md5,features) FANMADE_ILVF(id,name,md5,Common::EN_ANY,0x2917,features) + +#define FANMADE_V(name,md5,ver) FANMADE_LVF(name,md5,Common::EN_ANY,ver,0) +#define FANMADE_F(name,md5,features) FANMADE_LF(name,md5,Common::EN_ANY,features) +#define FANMADE_L(name,md5,lang) FANMADE_LF(name,md5,lang,0) +#define FANMADE_I(id,name,md5) FANMADE_IF(id,name,md5,0) + +#define FANMADE(name,md5) FANMADE_F(name,md5,0) static const AGIGameDescription gameDescriptions[] = { @@ -1678,6 +1680,7 @@ static const AGIGameDescription gameDescriptions[] = { Common::kPlatformPC, Common::ADGF_NO_FLAGS }, + GID_FANMADE, GType_V2, GF_AGDS, 0x2440, @@ -1700,8 +1703,8 @@ static const AGIGameDescription gameDescriptions[] = { FANMADE("Jiggy Jiggy Uh! Uh!", "bc331588a71e7a1c8840f6cc9b9487e4"), FANMADE("Jimmy In: The Alien Attack (v0.1)", "a4e9db0564a494728de7873684a4307c"), FANMADE("Joe McMuffin In \"What's Cooking, Doc\" (v1.0)", "8a3de7e61a99cb605fa6d233dd91c8e1"), - FANMADE_LFV("Jolimie, le Village Maudit (v0.5)", "21818501636b3cb8ad5de5c1a66de5c2", Common::FR_FRA, GF_AGIMOUSE|GF_AGIPAL, 0x2936), - FANMADE_LFV("Jolimie, le Village Maudit (v1.1)", "68d7aef1161bb5972fe03efdf29ccb7f", Common::FR_FRA, GF_AGIMOUSE|GF_AGIPAL, 0x2936), + FANMADE_LVF("Jolimie, le Village Maudit (v0.5)", "21818501636b3cb8ad5de5c1a66de5c2", Common::FR_FRA, GF_AGIMOUSE|GF_AGIPAL, 0x2936), + FANMADE_LVF("Jolimie, le Village Maudit (v1.1)", "68d7aef1161bb5972fe03efdf29ccb7f", Common::FR_FRA, GF_AGIMOUSE|GF_AGIPAL, 0x2936), FANMADE("Journey Of Chef", "aa0a0b5a6364801ae65fdb96d6741df5"), FANMADE("Jukebox (v1.0)", "c4b9c5528cc67f6ba777033830de7751"), FANMADE("Justin Quest (v1.0 in development)", "103050989da7e0ffdc1c5e1793a4e1ec"), @@ -1815,7 +1818,7 @@ static const AGIGameDescription gameDescriptions[] = { FANMADE("Voodoo Girl - Queen of the Darned (v1.2 2002 Mar 29)", "11d0417b7b886f963d0b36789dac4c8f"), FANMADE("Wizaro (v0.1)", "abeec1eda6eaf8dbc52443ea97ff140c"), - { AD_TABLE_END_MARKER, 0, 0, 0 } + { AD_TABLE_END_MARKER, 0, 0, 0, 0 } }; } -- cgit v1.2.3 From 069e84b33be5b5d0579019bf87fdf1518e888418 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sat, 12 May 2007 11:52:29 +0000 Subject: Added MD5 from bug report "#1717129 - Schiller Preview No.2" svn-id: r26803 --- engines/agi/detection.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'engines/agi/detection.cpp') diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index c3c5298b9a..c3751d980c 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -1770,7 +1770,8 @@ static const AGIGameDescription gameDescriptions[] = { FANMADE("SQ2Eye (v0.486)", "3fd86436e93456770dbdd4593eded70a"), FANMADE("Save Santa (v1.0)", "4644f6beb5802081772f14be56ae196c"), FANMADE("Save Santa (v1.3)", "f8afdb6efc5af5e7c0228b44633066af"), - FANMADE("Schiller", "ade39dea968c959cfebe1cf935d653e9"), + FANMADE("Schiller Preview 1", "ade39dea968c959cfebe1cf935d653e9"), + FANMADE("Schiller Preview 2", "62cd1f8fc758bf6b4aa334e553624cef"), FANMADE_IF("serguei1", "(v1.0)", "b86725f067e456e10cdbdf5f58e01dec", GF_AGIMOUSE|GF_AGIPAL), FANMADE_IF("serguei1", "v1.1 2002 Sep 5", "91975c1fb4b13b0f9a8e9ff74731030d", GF_AGIMOUSE|GF_AGIPAL), FANMADE_IF("serguei1", "v1.1 2003 Apr 10", "91975c1fb4b13b0f9a8e9ff74731030d", GF_AGIMOUSE|GF_AGIPAL), -- cgit v1.2.3 From 6a3848a29960d563715a37e287ddc7ee4ef05bef Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sat, 12 May 2007 14:52:25 +0000 Subject: Make new Schiller previews names more consistent. svn-id: r26807 --- engines/agi/detection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'engines/agi/detection.cpp') diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index c3751d980c..74b60a0571 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -1770,8 +1770,8 @@ static const AGIGameDescription gameDescriptions[] = { FANMADE("SQ2Eye (v0.486)", "3fd86436e93456770dbdd4593eded70a"), FANMADE("Save Santa (v1.0)", "4644f6beb5802081772f14be56ae196c"), FANMADE("Save Santa (v1.3)", "f8afdb6efc5af5e7c0228b44633066af"), - FANMADE("Schiller Preview 1", "ade39dea968c959cfebe1cf935d653e9"), - FANMADE("Schiller Preview 2", "62cd1f8fc758bf6b4aa334e553624cef"), + FANMADE("Schiller (preview 1)", "ade39dea968c959cfebe1cf935d653e9"), + FANMADE("Schiller (preview 2)", "62cd1f8fc758bf6b4aa334e553624cef"), FANMADE_IF("serguei1", "(v1.0)", "b86725f067e456e10cdbdf5f58e01dec", GF_AGIMOUSE|GF_AGIPAL), FANMADE_IF("serguei1", "v1.1 2002 Sep 5", "91975c1fb4b13b0f9a8e9ff74731030d", GF_AGIMOUSE|GF_AGIPAL), FANMADE_IF("serguei1", "v1.1 2003 Apr 10", "91975c1fb4b13b0f9a8e9ff74731030d", GF_AGIMOUSE|GF_AGIPAL), -- cgit v1.2.3 From dcf368c3a49c1954809eb8dd4291087761f0a380 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sat, 26 May 2007 15:16:21 +0000 Subject: Add fallback detector to AGI engine. svn-id: r26939 --- engines/agi/detection.cpp | 109 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 108 insertions(+), 1 deletion(-) (limited to 'engines/agi/detection.cpp') diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index 74b60a0571..e73208979a 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -1822,6 +1822,113 @@ static const AGIGameDescription gameDescriptions[] = { { AD_TABLE_END_MARKER, 0, 0, 0, 0 } }; +static const AGIGameDescription fallbackDescs[] = { + { + { + "agi-fanmade", + "Unknown v2 Game", + AD_ENTRY1(0, 0), + Common::UNK_LANG, + Common::kPlatformPC, + Common::ADGF_NO_FLAGS + }, + GID_FANMADE, + GType_V2, + GF_FANMADE, + 0x2917, + }, + { + { + "agi-fanmade", + "Unknown v2 AGIPAL Game", + AD_ENTRY1(0, 0), + Common::UNK_LANG, + Common::kPlatformPC, + Common::ADGF_NO_FLAGS + }, + GID_FANMADE, + GType_V2, + GF_FANMADE | GF_AGIPAL, + 0x2917, + }, + { + { + "agi-fanmade", + "Unknown v3 Game", + AD_ENTRY1(0, 0), + Common::UNK_LANG, + Common::kPlatformPC, + Common::ADGF_NO_FLAGS + }, + GID_FANMADE, + GType_V3, + GF_FANMADE, + 0x3149, + }, +}; + +Common::ADGameDescList fallbackDetector(const FSList *fslist) { + Common::String tstr; + typedef Common::HashMap IntMap; + IntMap allFiles; + Common::ADGameDescList matched; + int matchedNum = -1; + + // TODO: + // WinAGI produces *.wag file with interpretator version, game name + // and other parameters. Add support for this once specs are known + + + // First grab all filenames + for (FSList::const_iterator file = fslist->begin(); file != fslist->end(); ++file) { + if (file->isDirectory()) continue; + tstr = file->name(); + tstr.toLowercase(); + + allFiles[tstr] = true; + } + + // Now check for v2 + if (allFiles.contains("logdir") && allFiles.contains("object") && + allFiles.contains("picdir") && allFiles.contains("snddir") && + allFiles.contains("viewdir") && allFiles.contains("vol.0") && + allFiles.contains("words.tok")) { + matchedNum = 0; + + // Check if it is AGIPAL + if (allFiles.contains("pal.101")) + matchedNum = 1; + } else { // Try v3 + char name[8]; + + for (IntMap::const_iterator f = allFiles.begin(); f != allFiles.end(); ++f) { + debug(" --> %s", f->_key.c_str()); + if (f->_key.hasSuffix("vol.0")) { + memset(name, 0, 8); + strncpy(name, f->_key.c_str(), f->_key.size() > 5 ? f->_key.size() - 5 : f->_key.size()); + debug("YEAH! (%s)", name); + + if (allFiles.contains("object") && allFiles.contains("words.tok") && + allFiles.contains(Common::String(name) + "dir")) { + matchedNum = 2; + break; + } + } + } + } + + if (matchedNum != -1) { + matched.push_back(&fallbackDescs[matchedNum].desc); + + printf("Your game version has been detected using fallback matching as a\n"); + printf("variant of %s (%s).\n", fallbackDescs[matchedNum].desc.gameid, fallbackDescs[matchedNum].desc.extra); + printf("If this is an original and unmodified version or new made Fanmade game,\n"); + printf("please report any, information previously printed by ScummVM to the team.\n"); + } + + return matched; +} + } static const Common::ADParams detectionParams = { @@ -1840,7 +1947,7 @@ static const Common::ADParams detectionParams = { // List of files for file-based fallback detection (optional) 0, // Fallback callback - 0, + Agi::fallbackDetector, // Flags Common::kADFlagAugmentPreferredTarget }; -- cgit v1.2.3 From a26a36dad668f4ab04d89722b33298b1369d3cc0 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Sat, 26 May 2007 17:01:32 +0000 Subject: typo (interpretator => interpreter) svn-id: r26945 --- engines/agi/detection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'engines/agi/detection.cpp') diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index e73208979a..a6e5549ff4 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -1875,7 +1875,7 @@ Common::ADGameDescList fallbackDetector(const FSList *fslist) { int matchedNum = -1; // TODO: - // WinAGI produces *.wag file with interpretator version, game name + // WinAGI produces *.wag file with interpreter version, game name // and other parameters. Add support for this once specs are known -- cgit v1.2.3