aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorStrangerke2013-10-07 02:52:41 +0200
committerStrangerke2013-10-07 02:52:41 +0200
commit8430288fef4f831f51261b32e4ad1640006fad72 (patch)
treef3125baefcfef29c3457bf689a6d0aa0ac6a8efd /engines
parenta30cc19ca84562d79fa20343c5e8f01ef3355b0b (diff)
downloadscummvm-rg350-8430288fef4f831f51261b32e4ad1640006fad72.tar.gz
scummvm-rg350-8430288fef4f831f51261b32e4ad1640006fad72.tar.bz2
scummvm-rg350-8430288fef4f831f51261b32e4ad1640006fad72.zip
AVALANCHE: Hook some more function keys
Diffstat (limited to 'engines')
-rw-r--r--engines/avalanche/parser.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/engines/avalanche/parser.cpp b/engines/avalanche/parser.cpp
index bfce8805d1..e3383c7785 100644
--- a/engines/avalanche/parser.cpp
+++ b/engines/avalanche/parser.cpp
@@ -411,6 +411,26 @@ void Parser::handleReturn() {
void Parser::handleFunctionKey(const Common::Event &event) {
switch (event.kbd.keycode) {
+ case Common::KEYCODE_F1:
+ _vm->callVerb(kVerbCodeHelp);
+ break;
+ case Common::KEYCODE_F2:
+ if (event.kbd.flags & Common::KBD_CTRL) {
+ clearWords();
+ _vm->callVerb(kVerbCodeSave);
+ } else
+ _vm->_sound->toggleSound();
+ break;
+ case Common::KEYCODE_F3:
+ if (event.kbd.flags & Common::KBD_CTRL) {
+ clearWords();
+ _vm->callVerb(kVerbCodeLoad);
+ } else if (_inputText.size() < _inputTextBackup.size()) {
+ _inputText = _inputText + &(_inputTextBackup.c_str()[_inputText.size()]);
+ _inputTextPos = _inputText.size();
+ plotText();
+ }
+ break;
case Common::KEYCODE_F5: {
_person = kPeoplePardon;
_thing = kPardon;
@@ -422,6 +442,14 @@ void Parser::handleFunctionKey(const Common::Event &event) {
case Common::KEYCODE_F7:
_vm->callVerb(kVerbCodeOpen);
break;
+ case Common::KEYCODE_F11:
+ clearWords();
+ _vm->callVerb(kVerbCodeSave);
+ break;
+ case Common::KEYCODE_F12:
+ clearWords();
+ _vm->callVerb(kVerbCodeLoad);
+ break;
default:
break;
}