diff options
author | Johannes Schickel | 2006-07-26 05:27:34 +0000 |
---|---|---|
committer | Johannes Schickel | 2006-07-26 05:27:34 +0000 |
commit | 5ccb436cad9682bdaa86a41299c5ec7e2b0b0a02 (patch) | |
tree | 90f4f958d177fb2733c6320518b3d5c661276f54 /engines/kyra | |
parent | 37d050e9da0ef9adb2de6c906e665ccda03c838b (diff) | |
download | scummvm-rg350-5ccb436cad9682bdaa86a41299c5ec7e2b0b0a02.tar.gz scummvm-rg350-5ccb436cad9682bdaa86a41299c5ec7e2b0b0a02.tar.bz2 scummvm-rg350-5ccb436cad9682bdaa86a41299c5ec7e2b0b0a02.zip |
Nicer quit handling in the intro sequences.
svn-id: r23594
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/seqplayer.cpp | 2 | ||||
-rw-r--r-- | engines/kyra/sequences_v1.cpp | 12 |
2 files changed, 10 insertions, 4 deletions
diff --git a/engines/kyra/seqplayer.cpp b/engines/kyra/seqplayer.cpp index 15cec11477..7ee91e91aa 100644 --- a/engines/kyra/seqplayer.cpp +++ b/engines/kyra/seqplayer.cpp @@ -627,7 +627,7 @@ bool SeqPlayer::playSequence(const uint8 *seqData, bool skipSeq) { uint8 seqCode = *_seqData++; if (seqCode < numCommands) { SeqProc currentProc = commands[seqCode].proc; - debugC( 5, kDebugLevelSequence, "seqCode = %d (%s)", seqCode, commands[seqCode].desc); + debugC(5, kDebugLevelSequence, "seqCode = %d (%s)", seqCode, commands[seqCode].desc); (this->*currentProc)(); } else { error("Invalid sequence opcode %d", seqCode); diff --git a/engines/kyra/sequences_v1.cpp b/engines/kyra/sequences_v1.cpp index 8d527b09ad..0d15768f01 100644 --- a/engines/kyra/sequences_v1.cpp +++ b/engines/kyra/sequences_v1.cpp @@ -135,19 +135,22 @@ void KyraEngine::seq_introLogos() { _screen->updateScreen(); _screen->fadeFromBlack(); - if (_seq->playSequence(_seq_WestwoodLogo, _skipFlag)) { + if (_seq->playSequence(_seq_WestwoodLogo, _skipFlag) || _quitFlag) { _screen->fadeToBlack(); _screen->clearPage(0); return; } delay(60 * _tickLength); - if (_seq->playSequence(_seq_KyrandiaLogo, _skipFlag) && !seq_skipSequence()) { + if (_seq->playSequence(_seq_KyrandiaLogo, _skipFlag) && !seq_skipSequence() || _quitFlag) { _screen->fadeToBlack(); _screen->clearPage(0); return; } _screen->fillRect(0, 179, 319, 199, 0); + if (_quitFlag) + return; + int y1 = 8; int h1 = 175; int y2 = 176; @@ -174,7 +177,10 @@ void KyraEngine::seq_introLogos() { if (wait > 0) { delay(wait); } - } while (y2 >= 64); + } while (y2 >= 64 && !_quitFlag); + + if (_quitFlag) + return; _seq->playSequence(_seq_Forest, true); } |