aboutsummaryrefslogtreecommitdiff
path: root/engines/agi
diff options
context:
space:
mode:
authorFilippos Karapetis2007-07-15 06:24:39 +0000
committerFilippos Karapetis2007-07-15 06:24:39 +0000
commit6376321e5a486fb6fba867e0e80205282826b806 (patch)
tree43ce7674e514d36253e18dd16fef490559b2bed6 /engines/agi
parent198b6ac8e64044823922420afaeb948508f41775 (diff)
downloadscummvm-rg350-6376321e5a486fb6fba867e0e80205282826b806.tar.gz
scummvm-rg350-6376321e5a486fb6fba867e0e80205282826b806.tar.bz2
scummvm-rg350-6376321e5a486fb6fba867e0e80205282826b806.zip
Enabled menus in some old AGI games (released in 1986) which did not have menus them originally: KQ1 Amiga and ST and early versions of KQ3 Amiga, SQ1 ST, SQ1 DOS and SQ1 Amiga. The GF_FORCEMENUS flag has been remaned to GF_MENUS. Also, two problematic versions of KQ3, a problematic version of SQ1 and a problematic version of Mixed up Mother Goose have been disabled. Finally, a duplicate detection entry for SQ1 has been removed
svn-id: r28095
Diffstat (limited to 'engines/agi')
-rw-r--r--engines/agi/agi.h2
-rw-r--r--engines/agi/detection.cpp67
-rw-r--r--engines/agi/keyboard.cpp2
-rw-r--r--engines/agi/menu.cpp2
4 files changed, 40 insertions, 33 deletions
diff --git a/engines/agi/agi.h b/engines/agi/agi.h
index c732121e11..6c89edf1dd 100644
--- a/engines/agi/agi.h
+++ b/engines/agi/agi.h
@@ -112,7 +112,7 @@ enum AgiGameFeatures {
GF_AGIPAL = (1 << 4),
GF_MACGOLDRUSH = (1 << 5),
GF_FANMADE = (1 << 6),
- GF_FORCEMENUS = (1 << 7)
+ GF_MENUS = (1 << 7)
};
enum AgiGameID {
diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp
index 3f53777f2d..381444f5ff 100644
--- a/engines/agi/detection.cpp
+++ b/engines/agi/detection.cpp
@@ -245,6 +245,7 @@ static const AGIGameDescription gameDescriptions[] = {
{
// Black Cauldron (Apple IIgs) 1.0O 2/24/89 (CE)
+ // Menus not tested
{
"bc",
"1.0O 1989-02-24 (CE)",
@@ -298,6 +299,7 @@ static const AGIGameDescription gameDescriptions[] = {
#if 0
{
// Donald Duck's Playground (Amiga) 1.0C
+ // Menus not tested
{
"ddp",
"1.0C 1987-04-27",
@@ -315,6 +317,7 @@ static const AGIGameDescription gameDescriptions[] = {
{
// Donald Duck's Playground (ST) 1.0A 8/8/86
+ // Menus not tested
{
"ddp",
"1.0A 1986-08-08",
@@ -332,6 +335,7 @@ static const AGIGameDescription gameDescriptions[] = {
{
// reported by Filippos (thebluegr) in bugreport #1654500
+ // Menus not tested
{
"ddp",
"1.0C 1986-06-09", // verify date
@@ -366,6 +370,7 @@ static const AGIGameDescription gameDescriptions[] = {
{
// Gold Rush! (Apple IIgs) 1.0M 2/28/89 (CE) aka 2.01 12/22/88
+ // Menus not tested
{
"goldrush",
"1.0M 1989-02-28 (CE) aka 2.01 1988-12-22",
@@ -455,6 +460,7 @@ static const AGIGameDescription gameDescriptions[] = {
{
// King's Quest 1 (Amiga) 1.0U # 2.082
+ // The original game did not have menus, they are enabled under ScummVM
{
"kq1",
"1.0U 1986",
@@ -465,13 +471,14 @@ static const AGIGameDescription gameDescriptions[] = {
},
GID_KQ1,
GType_V2,
- 0,
+ GF_MENUS,
0x2440,
},
{
// King's Quest 1 (ST) 1.0V
+ // The original game did not have menus, they are enabled under ScummVM
{
"kq1",
"1.0V 1986",
@@ -482,13 +489,14 @@ static const AGIGameDescription gameDescriptions[] = {
},
GID_KQ1,
GType_V2,
- 0,
+ GF_MENUS,
0x2272,
},
{
// King's Quest 1 (IIgs) 1.0S-88223
+ // Menus not tested
{
"kq1",
"1.0S 1988-02-23",
@@ -625,6 +633,7 @@ static const AGIGameDescription gameDescriptions[] = {
{
// King's Quest 3 (Amiga) 1.01 11/8/86
+ // The original game did not have menus, they are enabled under ScummVM
{
"kq3",
"1.01 1986-11-08",
@@ -635,13 +644,14 @@ static const AGIGameDescription gameDescriptions[] = {
},
GID_KQ3,
GType_V2,
- GF_FORCEMENUS,
+ GF_MENUS,
0x2440,
},
-
+#if 0
{
// King's Quest 3 (ST) 1.02 11/18/86
+ // Problematic: does not have menus, crashes if menus are enforced
{
"kq3",
"1.02 1986-11-18",
@@ -655,7 +665,7 @@ static const AGIGameDescription gameDescriptions[] = {
0,
0x2272,
},
-
+#endif
{
// King's Quest 3 (Mac) 2.14 3/15/88
@@ -707,9 +717,10 @@ static const AGIGameDescription gameDescriptions[] = {
0x3086,
},
-
+#if 0
{
// King's Quest 3 (PC) 1.01 11/08/86 [AGI 2.272]
+ // Problematic: does not have menus, crashes if menus are enforced
{
"kq3",
"1.01 1986-11-08",
@@ -723,7 +734,7 @@ static const AGIGameDescription gameDescriptions[] = {
0,
0x2272,
},
-
+#endif
{
// King's Quest 3 (PC 5.25") 2.00 5/25/87 [AGI 2.435]
@@ -744,6 +755,7 @@ static const AGIGameDescription gameDescriptions[] = {
{
// King's Quest 3 (Mac) 2.14 3/15/88
+ // Menus not tested
{
"kq3",
"2.14 1988-03-15 5.25\"",
@@ -795,6 +807,7 @@ static const AGIGameDescription gameDescriptions[] = {
{
// King's Quest 4 (IIgs) 1.0K 11/22/88 (CE)
+ // Menus not tested
{
"kq4",
"1.0K 1988-11-22",
@@ -829,6 +842,7 @@ static const AGIGameDescription gameDescriptions[] = {
{
// King's Quest 4 (PC 3.5") 2.2 9/27/88 [AGI 3.002.086]
+ // Menus not tested
{
"kq4",
"2.2 1988-09-27 3.5\"",
@@ -846,6 +860,7 @@ static const AGIGameDescription gameDescriptions[] = {
{
// King's Quest 4 demo (PC) [AGI 3.002.102]
+ // Menus not tested
{
"kq4",
"Demo 1988-12-20",
@@ -1099,9 +1114,11 @@ static const AGIGameDescription gameDescriptions[] = {
0x3149,
},
-
+#if 0
{
// Mixed-Up Mother Goose (Amiga) 1.1
+ // Problematic: crashes
+ // Menus not tested
{
"mixedup",
"1.1 1986-12-10",
@@ -1115,7 +1132,7 @@ static const AGIGameDescription gameDescriptions[] = {
0,
0x3086,
},
-
+#endif
{
// Mixed Up Mother Goose (IIgs)
@@ -1154,6 +1171,7 @@ static const AGIGameDescription gameDescriptions[] = {
#if 0
{
// Mixed Up Mother Goose (PC) [AGI 2.915] (Broken)
+ // Menus not tested
{
"mixedup",
"[corrupt/OBJECT from disk 1]",
@@ -1308,6 +1326,7 @@ static const AGIGameDescription gameDescriptions[] = {
{
// Space Quest 1 (ST) 1.1A
+ // The original game did not have menus, they are enabled under ScummVM
{
"sq1",
"1.1A 1986-02-06",
@@ -1318,13 +1337,14 @@ static const AGIGameDescription gameDescriptions[] = {
},
GID_SQ1,
GType_V2,
- 0,
+ GF_MENUS,
0x2440,
},
{
// Space Quest 1 (PC) 1.1A [AGI 2.272]
+ // The original game did not have menus, they are enabled under ScummVM
{
"sq1",
"1.1A 1986-11-13",
@@ -1335,13 +1355,14 @@ static const AGIGameDescription gameDescriptions[] = {
},
GID_SQ1,
GType_V2,
- GF_FORCEMENUS,
+ GF_MENUS,
0x2272,
},
{
// Space Quest 1 (Amiga) 1.2 # 2.082
+ // The original game did not have menus, they are enabled under ScummVM
{
"sq1",
"1.2 1986",
@@ -1352,7 +1373,7 @@ static const AGIGameDescription gameDescriptions[] = {
},
GID_SQ1,
GType_V2,
- GF_FORCEMENUS,
+ GF_MENUS,
0x2440,
},
@@ -1390,9 +1411,10 @@ static const AGIGameDescription gameDescriptions[] = {
0x2917,
},
-
+#if 0
{
// Space Quest 1 (PC) 1.0X [AGI 2.089]
+ // Problematic: does not have menus, crashes if menus are enforced
{
"sq1",
"1.0X 1986-09-24",
@@ -1406,23 +1428,7 @@ static const AGIGameDescription gameDescriptions[] = {
0,
0x2089,
},
-
-
- {
- // Space Quest 1 (PC) 1.1A [AGI 2.272]
- {
- "sq1",
- "1.1A 1986-11-13",
- AD_ENTRY1("logdir", "8d8c20ab9f4b6e4817698637174a1cb6"),
- Common::EN_ANY,
- Common::kPlatformPC,
- Common::ADGF_NO_FLAGS
- },
- GID_SQ1,
- GType_V2,
- 0,
- 0x2272,
- },
+#endif
{
@@ -1552,6 +1558,7 @@ static const AGIGameDescription gameDescriptions[] = {
{
// Space Quest 2 (PC 5.25"/ST) 2.0C/A [AGI 2.915]
+ // Menus not tested
{
"sq2",
"2.0C/A 5.25\"/ST",
diff --git a/engines/agi/keyboard.cpp b/engines/agi/keyboard.cpp
index 9fd3700675..d41100d5d8 100644
--- a/engines/agi/keyboard.cpp
+++ b/engines/agi/keyboard.cpp
@@ -127,7 +127,7 @@ int AgiEngine::handleController(int key) {
}
if (key == BUTTON_LEFT) {
- if ((getflag(fMenusWork) || (getFeatures() & GF_FORCEMENUS)) && g_mouse.y <= CHAR_LINES) {
+ if ((getflag(fMenusWork) || (getFeatures() & GF_MENUS)) && g_mouse.y <= CHAR_LINES) {
newInputMode(INPUT_MENU);
return true;
}
diff --git a/engines/agi/menu.cpp b/engines/agi/menu.cpp
index 4cba788273..7aa7f5e55d 100644
--- a/engines/agi/menu.cpp
+++ b/engines/agi/menu.cpp
@@ -267,7 +267,7 @@ bool Menu::keyhandler(int key) {
static int menuActive = false;
static int buttonUsed = 0;
- if (!_vm->getflag(fMenusWork) && !(_vm->getFeatures() & GF_FORCEMENUS))
+ if (!_vm->getflag(fMenusWork) && !(_vm->getFeatures() & GF_MENUS))
return false;
if (!menuActive) {