diff options
author | Travis Howell | 2011-11-17 23:01:22 +1100 |
---|---|---|
committer | Travis Howell | 2011-11-17 23:01:47 +1100 |
commit | 46b020d8603ce06ac08128ee89395fe86a7c67e7 (patch) | |
tree | fc7139ef9f9b7330264c1b938793a796b0ee21c8 /engines/scumm | |
parent | 5647637ea2d239681a9dc0facc4071e33235fe4f (diff) | |
download | scummvm-rg350-46b020d8603ce06ac08128ee89395fe86a7c67e7.tar.gz scummvm-rg350-46b020d8603ce06ac08128ee89395fe86a7c67e7.tar.bz2 scummvm-rg350-46b020d8603ce06ac08128ee89395fe86a7c67e7.zip |
SCUMM: Add code to support different keys used for skipping cutscenes in early ports of Maniac Mansion and Zak McKracken.
Diffstat (limited to 'engines/scumm')
-rw-r--r-- | engines/scumm/input.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp index 6d9e1f3f72..ee2de49475 100644 --- a/engines/scumm/input.cpp +++ b/engines/scumm/input.cpp @@ -446,6 +446,23 @@ void ScummEngine_v6::processKeyboard(Common::KeyState lastKeyHit) { } void ScummEngine_v2::processKeyboard(Common::KeyState lastKeyHit) { + // RETURN is used to skip cutscenes in the Commodote 64 version of Zak McKracken + if (_game.id == GID_ZAK &&_game.platform == Common::kPlatformC64 && lastKeyHit.keycode == Common::KEYCODE_RETURN && lastKeyHit.hasFlags(0)) { + lastKeyHit = Common::KeyState(Common::KEYCODE_ESCAPE); + // F7 is used to skip cutscenes in the Commodote 64 version of Maniac Mansion + } else if (_game.id == GID_MANIAC &&_game.platform == Common::kPlatformC64) { + if (lastKeyHit.keycode == Common::KEYCODE_F7 && lastKeyHit.hasFlags(0)) + lastKeyHit = Common::KeyState(Common::KEYCODE_ESCAPE); + // 'B' is used to skip cutscenes in the NES version of Maniac Mansion + } else if (_game.id == GID_MANIAC &&_game.platform == Common::kPlatformNES) { + if (lastKeyHit.keycode == Common::KEYCODE_b && lastKeyHit.hasFlags(Common::KBD_SHIFT)) + lastKeyHit = Common::KeyState(Common::KEYCODE_ESCAPE); + // 'F4' is used to skip cutscenes in the other versions of Maniac Mansion + } else if (_game.id == GID_MANIAC) { + if (lastKeyHit.keycode == Common::KEYCODE_F4 && lastKeyHit.hasFlags(0)) + lastKeyHit = Common::KeyState(Common::KEYCODE_ESCAPE); + } + // Fall back to default behavior ScummEngine::processKeyboard(lastKeyHit); |