diff options
-rw-r--r-- | engines/kyra/kyra_v3.cpp | 4 | ||||
-rw-r--r-- | engines/kyra/kyra_v3.h | 1 | ||||
-rw-r--r-- | engines/kyra/saveload_v3.cpp | 4 | ||||
-rw-r--r-- | engines/kyra/scene_v3.cpp | 1 |
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) |