aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorTravis Howell2011-11-17 23:01:22 +1100
committerTravis Howell2011-11-17 23:01:47 +1100
commit46b020d8603ce06ac08128ee89395fe86a7c67e7 (patch)
treefc7139ef9f9b7330264c1b938793a796b0ee21c8 /engines/scumm
parent5647637ea2d239681a9dc0facc4071e33235fe4f (diff)
downloadscummvm-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.cpp17
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);