From 5b958eb0d17c744c5dda0ad4d7f01023f17f0061 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Thu, 27 Jan 2011 14:20:16 +0000 Subject: 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 --- engines/toon/toon.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'engines/toon') 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()); } -- cgit v1.2.3