diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/kyra/kyra_v1.cpp | 6 | ||||
-rw-r--r-- | engines/kyra/kyra_v2.cpp | 10 |
2 files changed, 13 insertions, 3 deletions
diff --git a/engines/kyra/kyra_v1.cpp b/engines/kyra/kyra_v1.cpp index a961807f10..fa5c84c610 100644 --- a/engines/kyra/kyra_v1.cpp +++ b/engines/kyra/kyra_v1.cpp @@ -491,9 +491,9 @@ void KyraEngine_v1::delay(uint32 amount, bool update, bool isMainLoop) { _debugger->attach(); else if (event.kbd.keycode == 'q') _quitFlag = true; - } else if (event.kbd.keycode == '.') - _skipFlag = true; - else if (event.kbd.keycode == Common::KEYCODE_RETURN || event.kbd.keycode == Common::KEYCODE_SPACE || event.kbd.keycode == Common::KEYCODE_ESCAPE) { + } else if (event.kbd.keycode == '.') { + _skipFlag = true; + } else if (event.kbd.keycode == Common::KEYCODE_RETURN || event.kbd.keycode == Common::KEYCODE_SPACE || event.kbd.keycode == Common::KEYCODE_ESCAPE) { _abortIntroFlag = true; _skipFlag = true; } diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp index 35ee9ebc7a..6f26026211 100644 --- a/engines/kyra/kyra_v2.cpp +++ b/engines/kyra/kyra_v2.cpp @@ -731,6 +731,15 @@ void KyraEngine_v2::updateInput() { _quitFlag = true; break; + case Common::EVENT_KEYDOWN: + if (event.kbd.keycode == '.' || event.kbd.keycode == Common::KEYCODE_ESCAPE) + _eventList.push_back(Event(event, true)); + else if (event.kbd.keycode == 'q' && event.kbd.flags == Common::KBD_CTRL) + _quitFlag = true; + else + _eventList.push_back(event); + break; + case Common::EVENT_LBUTTONUP: _eventList.push_back(Event(event, true)); break; @@ -768,6 +777,7 @@ int KyraEngine_v2::checkInput(Button *buttonList, bool mainLoop) { if (event.kbd.keycode == 'd') _debugger->attach(); } + breakLoop = true; break; |