aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra_v2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/kyra_v2.cpp')
-rw-r--r--engines/kyra/kyra_v2.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp
index b009b31f0f..4999163f13 100644
--- a/engines/kyra/kyra_v2.cpp
+++ b/engines/kyra/kyra_v2.cpp
@@ -55,6 +55,8 @@ KyraEngine_v2::KyraEngine_v2(OSystem *system, const GameFlags &flags) : KyraEngi
_demoShapeDefs = 0;
_sequenceSoundList = 0;
+ _showCredits = false;
+
_gamePlayBuffer = 0;
_cCodeBuffer = _optionsBuffer = _chapterBuffer = 0;
@@ -240,7 +242,6 @@ int KyraEngine_v2::go() {
_menuChoice = 4;
} else {
seq_playSequences(kSequenceVirgin, kSequenceZanfaun);
- //seq_playSequences(kSequenceFunters, kSequenceFrash);
}
_res->unloadAllPakFiles();
@@ -260,6 +261,9 @@ int KyraEngine_v2::go() {
startup();
runLoop();
cleanup();
+
+ if (_showCredits)
+ seq_playSequences(kSequenceFunters, kSequenceFrash);
}
return 0;
@@ -387,7 +391,8 @@ void KyraEngine_v2::runLoop() {
_screen->updateScreen();
_quitFlag = false;
- while (!_quitFlag) {
+ _runFlag = true;
+ while (!_quitFlag && _runFlag) {
//if (_deathHandler >= 0) {
// removeHandItem();
// waitTicks(5);
@@ -571,7 +576,8 @@ bool KyraEngine_v2::handleInputUnkSub(int x, int y) {
if (queryGameFlag(0x1ED)) {
_sound->beginFadeOut();
_screen->fadeToBlack();
- _quitFlag = true;
+ _showCredits = true;
+ _runFlag = false;
}
return _sceneScriptState.regs[3] != 0;