diff options
-rw-r--r-- | engines/kyra/kyra.cpp | 2 | ||||
-rw-r--r-- | engines/kyra/kyra2.cpp | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/engines/kyra/kyra.cpp b/engines/kyra/kyra.cpp index c8e868f4ae..852731348a 100644 --- a/engines/kyra/kyra.cpp +++ b/engines/kyra/kyra.cpp @@ -652,7 +652,7 @@ void KyraEngine::delay(uint32 amount, bool update, bool isMainLoop) { void KyraEngine::waitForEvent() { bool finished = false; OSystem::Event event; - while (!finished) { + while (!finished && !_quitFlag) { while (_system->pollEvent(event)) { switch (event.type) { case OSystem::EVENT_KEYDOWN: diff --git a/engines/kyra/kyra2.cpp b/engines/kyra/kyra2.cpp index 2ec9dafdd7..5c5c21ed15 100644 --- a/engines/kyra/kyra2.cpp +++ b/engines/kyra/kyra2.cpp @@ -36,17 +36,17 @@ KyraEngine_v2::KyraEngine_v2(OSystem *system) KyraEngine_v2::~KyraEngine_v2() { } -int KyraEngine_v2::go() { +int KyraEngine_v2::go() { uint8 pal[768]; - + WSAMovieV2 *title = new WSAMovieV2(this); title->open("title.WSA", 0, pal); assert(title->opened()); - + _screen->setScreenPalette(pal); title->setX(0); title->setY(0); title->setDrawPage(0); - for (int i = 0; i < 26; ++i) { + for (int i = 0; i < 26 && !_quitFlag; ++i) { uint32 nextRun = _system->getMillis() + 6 * _tickLength; title->displayFrame(i); _screen->updateScreen(); @@ -54,7 +54,7 @@ int KyraEngine_v2::go() { } delete title; - + waitForEvent(); return 0; } |