aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/input.cpp
diff options
context:
space:
mode:
authorMax Horn2006-10-07 12:33:22 +0000
committerMax Horn2006-10-07 12:33:22 +0000
commitc3fb1fbcd44afbc7b66d6973d194246e0ff7352e (patch)
treef0daf751eed85d3da5da5e230e3d84e0c73fef8a /engines/scumm/input.cpp
parentf13e4baaf987cb65045c3ffeb01fb9d5e530e1da (diff)
downloadscummvm-rg350-c3fb1fbcd44afbc7b66d6973d194246e0ff7352e.tar.gz
scummvm-rg350-c3fb1fbcd44afbc7b66d6973d194246e0ff7352e.tar.bz2
scummvm-rg350-c3fb1fbcd44afbc7b66d6973d194246e0ff7352e.zip
Moved SCUMM keyboard handling code from processInput() to the new (sub)method processKeyboard
svn-id: r24165
Diffstat (limited to 'engines/scumm/input.cpp')
-rw-r--r--engines/scumm/input.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp
index 92be3070b5..a25a23ebfe 100644
--- a/engines/scumm/input.cpp
+++ b/engines/scumm/input.cpp
@@ -219,8 +219,6 @@ void ScummEngine::clearClickedStatus() {
}
void ScummEngine::processInput(bool smushMode) {
- int saveloadkey;
-
_lastKeyHit = _keyPressed;
_keyPressed = 0;
if (((_game.version <= 2) || (_game.platform == Common::kPlatformFMTowns && _game.version == 3)) && 315 <= _lastKeyHit && _lastKeyHit < 315+12) {
@@ -317,7 +315,11 @@ void ScummEngine::processInput(bool smushMode) {
if (!_lastKeyHit)
return;
+
+ processKeyboard(smushMode);
+}
+void ScummEngine_v8::processKeyboard(bool smushMode) {
// If a key script was specified (a V8 feature), and it's trigger
// key was pressed, run it.
if (_keyScriptNo && (_keyScriptKey == _lastKeyHit)) {
@@ -325,7 +327,13 @@ void ScummEngine::processInput(bool smushMode) {
return;
}
- if (_game.version >= 6 && _lastKeyHit == 20) {
+ ScummEngine_v6::processKeyboard(smushMode);
+}
+
+void ScummEngine_v6::processKeyboard(bool smushMode) {
+ if (_lastKeyHit == 20) {
+ // FIXME: What key is '20' supposed to indicate? I can't trigger
+ // it with my keyboard, it seems...
char buf[256];
_voiceMode++;
@@ -357,6 +365,10 @@ void ScummEngine::processInput(bool smushMode) {
runDialog(dialog);
return;
}
+}
+
+void ScummEngine::processKeyboard(bool smushMode) {
+ int saveloadkey;
if (VAR_RESTART_KEY != 0xFF && _lastKeyHit == VAR(VAR_RESTART_KEY) ||
(((_game.version <= 2) || (_game.platform == Common::kPlatformFMTowns && _game.version == 3)) && _lastKeyHit == 8)) {