aboutsummaryrefslogtreecommitdiff
path: root/engines/toon
diff options
context:
space:
mode:
authorFilippos Karapetis2011-01-27 14:20:16 +0000
committerFilippos Karapetis2011-01-27 14:20:16 +0000
commit5b958eb0d17c744c5dda0ad4d7f01023f17f0061 (patch)
tree7801b418b566780f3cba2043d0782a87f6a5d663 /engines/toon
parent2126aa588f178f4b7a676120627cfb310565c0db (diff)
downloadscummvm-rg350-5b958eb0d17c744c5dda0ad4d7f01023f17f0061.tar.gz
scummvm-rg350-5b958eb0d17c744c5dda0ad4d7f01023f17f0061.tar.bz2
scummvm-rg350-5b958eb0d17c744c5dda0ad4d7f01023f17f0061.zip
TOON: Check for the state of modifier keys (control/alt/shift) when handling game hotkeys
Fixes bug #3166522 at engine level (fix 2/2) svn-id: r55568
Diffstat (limited to 'engines/toon')
-rw-r--r--engines/toon/toon.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/engines/toon/toon.cpp b/engines/toon/toon.cpp
index 7478ed67f1..93fdc29470 100644
--- a/engines/toon/toon.cpp
+++ b/engines/toon/toon.cpp
@@ -180,27 +180,27 @@ void ToonEngine::parseInput() {
while (_event->pollEvent(event)) {
switch (event.type) {
case Common::EVENT_KEYUP:
- if (event.kbd.ascii == 27 || event.kbd.ascii == 32) {
+ if ((event.kbd.ascii == 27 || event.kbd.ascii == 32) && !event.kbd.flags) {
_audioManager->stopCurrentVoice();
}
- if (event.kbd.keycode == Common::KEYCODE_F5) {
+ if (event.kbd.keycode == Common::KEYCODE_F5 && !event.kbd.flags) {
if(canSaveGameStateCurrently())
saveGame(-1, Common::String());
}
- if (event.kbd.keycode == Common::KEYCODE_F6) {
+ if (event.kbd.keycode == Common::KEYCODE_F6 && !event.kbd.flags) {
if(canLoadGameStateCurrently())
loadGame(-1);
}
- if (event.kbd.ascii == 't') {
+ if (event.kbd.ascii == 't' && !event.kbd.flags) {
_showConversationText = !_showConversationText;
}
- if (event.kbd.ascii == 'm') {
+ if (event.kbd.ascii == 'm' && !event.kbd.flags) {
_audioManager->muteMusic(!_audioManager->isMusicMuted());
}
- if (event.kbd.ascii == 'd') {
+ if (event.kbd.ascii == 'd' && !event.kbd.flags) {
_audioManager->muteVoice(!_audioManager->isVoiceMuted());
}
- if (event.kbd.ascii == 's') {
+ if (event.kbd.ascii == 's' && !event.kbd.flags) {
_audioManager->muteSfx(!_audioManager->isSfxMuted());
}