aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorThanasis Antoniou2019-07-11 07:52:23 +0300
committerThanasis Antoniou2019-07-11 07:52:23 +0300
commit3002bc41387229061bdc2c9213a97eb9c1384549 (patch)
tree5777a479d18c218f12f2e695985acad05998a886 /engines
parentc9baa9867c31e5d60e5a7691ed3e3aa5102a5baa (diff)
downloadscummvm-rg350-3002bc41387229061bdc2c9213a97eb9c1384549.tar.gz
scummvm-rg350-3002bc41387229061bdc2c9213a97eb9c1384549.tar.bz2
scummvm-rg350-3002bc41387229061bdc2c9213a97eb9c1384549.zip
BLADERUNNER: Addon fix for awry saved games for Clovis
This is for awry Clovis goal kGoalClovisKP07Wait (513)
Diffstat (limited to 'engines')
-rw-r--r--engines/bladerunner/script/scene/kp07.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/engines/bladerunner/script/scene/kp07.cpp b/engines/bladerunner/script/scene/kp07.cpp
index 4d3ed450ec..0643428644 100644
--- a/engines/bladerunner/script/scene/kp07.cpp
+++ b/engines/bladerunner/script/scene/kp07.cpp
@@ -80,6 +80,23 @@ void SceneScriptKP07::InitializeScene() {
Actor_Set_At_XYZ(kActorLuther, -47.0f, 0.0f, 151.0f, 531);
}
}
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ // Additional fix for saves with bad state (goal 513) for Clovis
+ // which resulted in him standing, clipping through his moonbus bed
+ // when McCoy is not helping the Replicants
+ else {
+ // McCoy is not helping the Replicants
+ if (Actor_Query_Goal_Number(kActorClovis) == kGoalClovisKP07Wait
+ && !Game_Flag_Query(kFlagClovisLyingDown)) {
+ // this goal set is only for the purpose of switch Clovis goal out of kGoalClovisKP07Wait
+ Actor_Set_Goal_Number(kActorClovis, kGoalClovisStartChapter5);
+ // And explicitly switching back to kGoalClovisKP07Wait in order
+ // to trigger the bug-fixed GoalChanged() case in his AI
+ Actor_Set_Goal_Number(kActorClovis, kGoalClovisKP07Wait);
+ }
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
Ambient_Sounds_Add_Looping_Sound(kSfxCOMPBED1, 7, 1, 1);
Ambient_Sounds_Add_Looping_Sound(kSfxMOONBED2, 52, 1, 1);