aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/kyra/kyra_v3.cpp4
-rw-r--r--engines/kyra/kyra_v3.h1
-rw-r--r--engines/kyra/saveload_v3.cpp4
-rw-r--r--engines/kyra/scene_v3.cpp1
4 files changed, 8 insertions, 2 deletions
diff --git a/engines/kyra/kyra_v3.cpp b/engines/kyra/kyra_v3.cpp
index 20080f1783..11e4410e2f 100644
--- a/engines/kyra/kyra_v3.cpp
+++ b/engines/kyra/kyra_v3.cpp
@@ -139,6 +139,7 @@ KyraEngine_v3::KyraEngine_v3(OSystem *system, const GameFlags &flags) : KyraEngi
_goodConscienceShown = false;
_goodConscienceAnim = -1;
_goodConsciencePosition = false;
+ _showOutro = false;
}
KyraEngine_v3::~KyraEngine_v3() {
@@ -298,6 +299,9 @@ int KyraEngine_v3::go() {
}
}
+ if (_showOutro)
+ playVQA("CREDITS");
+
return 0;
}
diff --git a/engines/kyra/kyra_v3.h b/engines/kyra/kyra_v3.h
index aaaedf75d0..852227ac6a 100644
--- a/engines/kyra/kyra_v3.h
+++ b/engines/kyra/kyra_v3.h
@@ -74,6 +74,7 @@ private:
void setupOpcodeTable();
// run
+ bool _showOutro;
bool _runFlag;
int _deathHandler;
diff --git a/engines/kyra/saveload_v3.cpp b/engines/kyra/saveload_v3.cpp
index a2d6e9e108..130f814a7f 100644
--- a/engines/kyra/saveload_v3.cpp
+++ b/engines/kyra/saveload_v3.cpp
@@ -235,8 +235,8 @@ void KyraEngine_v3::loadGame(const char *fileName) {
_mainCharacter.facing = 4;
_badConscienceShown = false;
_badConsciencePosition = false;
- //_goodConscienceShown = false;
- //_goodConsciencePosition = false;
+ _goodConscienceShown = false;
+ _goodConsciencePosition = false;
enterNewScene(_mainCharacter.sceneId, _mainCharacter.facing, 0, 0, 1);
setHandItem(_itemInHand);
diff --git a/engines/kyra/scene_v3.cpp b/engines/kyra/scene_v3.cpp
index 46e1ca5206..d75bb2b8f2 100644
--- a/engines/kyra/scene_v3.cpp
+++ b/engines/kyra/scene_v3.cpp
@@ -171,6 +171,7 @@ void KyraEngine_v3::enterNewScene(uint16 sceneId, int facing, int unk1, int unk2
_sceneScriptState.regs[3] = 1;
enterNewSceneUnk2(unk3);
if (queryGameFlag(0)) {
+ _showOutro = true;
_runFlag = false;
} else {
if (!--_enterNewSceneLock)