aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2007-03-23 23:38:45 +0000
committerMax Horn2007-03-23 23:38:45 +0000
commitc8c3dd04a780a106905cc9582058099a7ead343f (patch)
treea81d6f33db1fa8fab9c59bd1da02299998dea0d4
parent0818a44424fed36d4f00d1007a556ff18b49b35a (diff)
downloadscummvm-rg350-c8c3dd04a780a106905cc9582058099a7ead343f.tar.gz
scummvm-rg350-c8c3dd04a780a106905cc9582058099a7ead343f.tar.bz2
scummvm-rg350-c8c3dd04a780a106905cc9582058099a7ead343f.zip
Patch #1687010: FM-Towns: Handle Alt-F5
svn-id: r26284
-rw-r--r--engines/scumm/verbs.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/scumm/verbs.cpp b/engines/scumm/verbs.cpp
index 76c45a8a47..2e37178bc1 100644
--- a/engines/scumm/verbs.cpp
+++ b/engines/scumm/verbs.cpp
@@ -557,6 +557,16 @@ void ScummEngine::checkExecVerbs() {
_mouseAndKeyboardStat = numpad[_mouseAndKeyboardStat - '0'];
}
+ if (_game.platform == Common::kPlatformFMTowns && (_game.id == GID_ZAK || _game.id == GID_INDY3)) {
+ // HACK: In the FM-Towns games Indy3 and Zak the most significant bit is set for special keys
+ // like F5 (=0x8005) or joystick buttons (mask 0xFE00, e.g. SELECT=0xFE40 for the save/load menu).
+ // Hence the distinction with (_mouseAndKeyboardStat < MBS_MAX_KEY) between mouse- and key-events is not applicable
+ // to this games, so we have to remap the special keys here.
+ if(_mouseAndKeyboardStat == 319) {
+ _mouseAndKeyboardStat = 0x8005;
+ }
+ }
+
// Generic keyboard input
runInputScript(4, _mouseAndKeyboardStat, 1);
} else if (_mouseAndKeyboardStat & MBS_MOUSE_MASK) {