aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThanasis Antoniou2019-04-02 18:35:27 +0300
committerThanasis Antoniou2019-04-02 19:32:16 +0300
commita7f2d26831a41471cada03e96c7039abc901caf8 (patch)
tree713e5c2d28c91d62579cf9ea963817b92a895553
parent27e6a28e4e6d8b34f34278d8d427ac6b59d48562 (diff)
downloadscummvm-rg350-a7f2d26831a41471cada03e96c7039abc901caf8.tar.gz
scummvm-rg350-a7f2d26831a41471cada03e96c7039abc901caf8.tar.bz2
scummvm-rg350-a7f2d26831a41471cada03e96c7039abc901caf8.zip
BLADERUNNER: Fix flash back to game between end outtake and credits
Between an ending outtake and the end credits the game did a quick flash back to the game scene
-rw-r--r--engines/bladerunner/bladerunner.cpp7
-rw-r--r--engines/bladerunner/script/ai/clovis.cpp8
2 files changed, 10 insertions, 5 deletions
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index ce96fe96cd..911a46ad83 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -989,7 +989,12 @@ void BladeRunnerEngine::gameTick() {
_subtitles->tick(_surfaceFront);
- blitToScreen(_surfaceFront);
+ // Without this condition the game may flash back to the game screen
+ // between and ending outtake and the end credits.
+ if (!_gameOver) {
+ blitToScreen(_surfaceFront);
+ }
+
_system->delayMillis(10);
}
diff --git a/engines/bladerunner/script/ai/clovis.cpp b/engines/bladerunner/script/ai/clovis.cpp
index 9557bbbd2a..eba72e342a 100644
--- a/engines/bladerunner/script/ai/clovis.cpp
+++ b/engines/bladerunner/script/ai/clovis.cpp
@@ -439,17 +439,17 @@ bool AIScriptClovis::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Says(kActorClovis, 1310, kAnimationModeTalk);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Outtake_Play(kOuttakeEnd4A, 0, -1);
+ Outtake_Play(kOuttakeEnd4A, false, -1);
if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy
&& Game_Flag_Query(kFlagLucyIsReplicant)
) {
- Outtake_Play(kOuttakeEnd4B, 0, -1);
+ Outtake_Play(kOuttakeEnd4B, false, -1);
} else if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
&& Game_Flag_Query(kFlagDektoraIsReplicant)
) {
- Outtake_Play(kOuttakeEnd4C, 0, -1);
+ Outtake_Play(kOuttakeEnd4C, false, -1);
}
- Outtake_Play(kOuttakeEnd4D, 0, -1);
+ Outtake_Play(kOuttakeEnd4D, false, -1);
Game_Over();
return true;