diff options
author | Eugene Sandulenko | 2007-04-21 21:39:27 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2007-04-21 21:39:27 +0000 |
commit | 08f5b5f31d3503cfe8927b347988edcc921e6453 (patch) | |
tree | 28254d5bbfe1d0f3720f0cee2caf9c6c5dc0f3fe | |
parent | 3be109b64630978e4caf1a4c1b66197cda0afbed (diff) | |
download | scummvm-rg350-08f5b5f31d3503cfe8927b347988edcc921e6453.tar.gz scummvm-rg350-08f5b5f31d3503cfe8927b347988edcc921e6453.tar.bz2 scummvm-rg350-08f5b5f31d3503cfe8927b347988edcc921e6453.zip |
Patch #1704575: 'Fix for #1692346: "KQ2: Cannot leave menu"'
svn-id: r26561
-rw-r--r-- | engines/agi/agi.h | 3 | ||||
-rw-r--r-- | engines/agi/detection.cpp | 10 | ||||
-rw-r--r-- | engines/agi/keyboard.cpp | 4 |
3 files changed, 9 insertions, 8 deletions
diff --git a/engines/agi/agi.h b/engines/agi/agi.h index 5409f3e938..bb36b568a9 100644 --- a/engines/agi/agi.h +++ b/engines/agi/agi.h @@ -109,7 +109,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_ESC_MENU = (1 << 7) }; struct AGIGameDescription; 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, }, diff --git a/engines/agi/keyboard.cpp b/engines/agi/keyboard.cpp index e4a025f2b9..5c5b936b69 100644 --- a/engines/agi/keyboard.cpp +++ b/engines/agi/keyboard.cpp @@ -102,8 +102,8 @@ int AgiEngine::handleController(int key) { VtEntry *v = &_game.viewTable[0]; int i; - /* The Black Cauldron needs KEY_ESCAPE to use menus */ - if (key == 0 /*|| key == KEY_ESCAPE */ ) + /* AGI 3.149 games need KEY_ESCAPE to use menus */ + if (key == 0 || (key == KEY_ESCAPE && (getFeatures() & GF_ESC_MENU)) ) return false; debugC(3, kDebugLevelInput, "key = %04x", key); |