aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2007-07-09 12:03:53 +0000
committerFilippos Karapetis2007-07-09 12:03:53 +0000
commite10a6e65155deb86812aae4a89190c652b237f4f (patch)
treecee75bd46c021c209df2536e4f330ecc98a73cc5 /engines
parent9782c35eaf4d34a13fae63151ba226d0ed1fd60d (diff)
downloadscummvm-rg350-e10a6e65155deb86812aae4a89190c652b237f4f.tar.gz
scummvm-rg350-e10a6e65155deb86812aae4a89190c652b237f4f.tar.bz2
scummvm-rg350-e10a6e65155deb86812aae4a89190c652b237f4f.zip
Fix for bug #1746661: "KQ3: Lockup when pressing ESC (Amiga version)"
svn-id: r27989
Diffstat (limited to 'engines')
-rw-r--r--engines/agi/agi.h3
-rw-r--r--engines/agi/detection.cpp2
-rw-r--r--engines/agi/keyboard.cpp2
-rw-r--r--engines/agi/menu.cpp2
4 files changed, 5 insertions, 4 deletions
diff --git a/engines/agi/agi.h b/engines/agi/agi.h
index 01db2acb23..825d475314 100644
--- a/engines/agi/agi.h
+++ b/engines/agi/agi.h
@@ -110,7 +110,8 @@ enum AgiGameFeatures {
GF_AGI256_2 = (1 << 3),
GF_AGIPAL = (1 << 4),
GF_MACGOLDRUSH = (1 << 5),
- GF_FANMADE = (1 << 6)
+ GF_FANMADE = (1 << 6),
+ GF_FORCEMENUS = (1 << 7)
};
enum AgiGameID {
diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp
index 29b5bb726a..fce6fa733a 100644
--- a/engines/agi/detection.cpp
+++ b/engines/agi/detection.cpp
@@ -635,7 +635,7 @@ static const AGIGameDescription gameDescriptions[] = {
},
GID_KQ3,
GType_V2,
- 0,
+ GF_FORCEMENUS,
0x2440,
},
diff --git a/engines/agi/keyboard.cpp b/engines/agi/keyboard.cpp
index 3acc81ddff..9fd3700675 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) && g_mouse.y <= CHAR_LINES) {
+ if ((getflag(fMenusWork) || (getFeatures() & GF_FORCEMENUS)) && g_mouse.y <= CHAR_LINES) {
newInputMode(INPUT_MENU);
return true;
}
diff --git a/engines/agi/menu.cpp b/engines/agi/menu.cpp
index 5edaaf0ded..52e402bf12 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))
+ if (!_vm->getflag(fMenusWork) && !(_vm->getFeatures() & GF_FORCEMENUS))
return false;
if (!menuActive) {