Skip to content

Commit

Permalink
SCUMM: Add code to support different keys used for skipping cutscenes…
Browse files Browse the repository at this point in the history
… in early ports of Maniac Mansion and Zak McKracken.
  • Loading branch information
Travis Howell committed Nov 17, 2011
1 parent 5647637 commit 46b020d
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions engines/scumm/input.cpp
Expand Up @@ -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);

Expand Down

0 comments on commit 46b020d

Please sign in to comment.