aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova
diff options
context:
space:
mode:
authorJaromir Wysoglad2019-07-11 15:35:38 +0200
committerThierry Crozat2019-07-28 15:09:14 +0100
commitee9d7ee9c74366384306ddcebfb039bbc6bbb9d1 (patch)
tree3529c87f529d170133703e531c26e9cb3545ce7b /engines/supernova
parent0366f3da27fe23bc148735f949fcf384af3886b1 (diff)
downloadscummvm-rg350-ee9d7ee9c74366384306ddcebfb039bbc6bbb9d1.tar.gz
scummvm-rg350-ee9d7ee9c74366384306ddcebfb039bbc6bbb9d1.tar.bz2
scummvm-rg350-ee9d7ee9c74366384306ddcebfb039bbc6bbb9d1.zip
SUPERNOVA: Implement choosing verbs by keyboard.
Only in improved mode.
Diffstat (limited to 'engines/supernova')
-rw-r--r--engines/supernova/game-manager.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/engines/supernova/game-manager.cpp b/engines/supernova/game-manager.cpp
index 2672a6fbca..cb4d81be65 100644
--- a/engines/supernova/game-manager.cpp
+++ b/engines/supernova/game-manager.cpp
@@ -293,6 +293,52 @@ void GameManager::processInput(Common::KeyState &state) {
default:
break;
}
+ if (_vm->_improved && _guiEnabled) {
+ switch (state.keycode) {
+ case Common::KEYCODE_1:
+ resetInputState();
+ _inputVerb = ACTION_WALK;
+ break;
+ case Common::KEYCODE_2:
+ resetInputState();
+ _inputVerb = ACTION_LOOK;
+ break;
+ case Common::KEYCODE_3:
+ resetInputState();
+ _inputVerb = ACTION_TAKE;
+ break;
+ case Common::KEYCODE_4:
+ resetInputState();
+ _inputVerb = ACTION_OPEN;
+ break;
+ case Common::KEYCODE_5:
+ resetInputState();
+ _inputVerb = ACTION_CLOSE;
+ break;
+ case Common::KEYCODE_6:
+ resetInputState();
+ _inputVerb = ACTION_PRESS;
+ break;
+ case Common::KEYCODE_7:
+ resetInputState();
+ _inputVerb = ACTION_PULL;
+ break;
+ case Common::KEYCODE_8:
+ resetInputState();
+ _inputVerb = ACTION_USE;
+ break;
+ case Common::KEYCODE_9:
+ resetInputState();
+ _inputVerb = ACTION_TALK;
+ break;
+ case Common::KEYCODE_0:
+ resetInputState();
+ _inputVerb = ACTION_GIVE;
+ break;
+ default:
+ break;
+ }
+ }
}
void GameManager::resetInputState() {