aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThanasis Antoniou2019-06-26 13:46:16 +0300
committerThanasis Antoniou2019-06-26 13:46:16 +0300
commit2e1a84694b5293b36de77468acf075bb97a12578 (patch)
tree19f1b0ce83a91ad97fcefdea91eaac6e85fd542b
parentd1a2a2ff918cbb47926082c6199d16845d8972d5 (diff)
downloadscummvm-rg350-2e1a84694b5293b36de77468acf075bb97a12578.tar.gz
scummvm-rg350-2e1a84694b5293b36de77468acf075bb97a12578.tar.bz2
scummvm-rg350-2e1a84694b5293b36de77468acf075bb97a12578.zip
BLADERUNNER: Fix for police in UG07 post Guzza scene
Remove option for them to be there altogether to avoid overlap with Clovis
-rw-r--r--engines/bladerunner/script/ai/officer_grayford.cpp19
-rw-r--r--engines/bladerunner/script/ai/officer_leary.cpp20
2 files changed, 37 insertions, 2 deletions
diff --git a/engines/bladerunner/script/ai/officer_grayford.cpp b/engines/bladerunner/script/ai/officer_grayford.cpp
index ae84933e09..be7c2354ac 100644
--- a/engines/bladerunner/script/ai/officer_grayford.cpp
+++ b/engines/bladerunner/script/ai/officer_grayford.cpp
@@ -788,8 +788,9 @@ bool AIScriptOfficerGrayford::GoalChanged(int currentGoalNumber, int newGoalNumb
// fall through
case 6:
+#if BLADERUNNER_ORIGINAL_BUGS
// kSetUG07 -> kSetFreeSlotC
-// debug("gray 8-6 kSetUG07 -> kSetFreeSlotC");
+ // debug("gray 8-6 kSetUG07 -> kSetFreeSlotC");
AI_Movement_Track_Append(kActorOfficerGrayford, 415, 0);
AI_Movement_Track_Append_With_Facing(kActorOfficerGrayford, 416, 0, 620);
AI_Movement_Track_Append(kActorOfficerGrayford, 417, 0);
@@ -797,6 +798,22 @@ bool AIScriptOfficerGrayford::GoalChanged(int currentGoalNumber, int newGoalNumb
AI_Movement_Track_Append(kActorOfficerGrayford, 35, 30); // kSetFreeSlotC
AI_Movement_Track_Repeat(kActorOfficerGrayford);
break;
+#else
+ // Don't put police in UG07 after the UG18 Guzza scene
+ // since Clovis may be there too and that does not work well
+ if (!Game_Flag_Query(kFlagUG18GuzzaScene)) {
+ // kSetUG07 -> kSetFreeSlotC
+ // debug("gray 8-6 kSetUG07 -> kSetFreeSlotC");
+ AI_Movement_Track_Append(kActorOfficerGrayford, 415, 0);
+ AI_Movement_Track_Append_With_Facing(kActorOfficerGrayford, 416, 0, 620);
+ AI_Movement_Track_Append(kActorOfficerGrayford, 417, 0);
+ AI_Movement_Track_Append(kActorOfficerGrayford, 418, 0);
+ AI_Movement_Track_Append(kActorOfficerGrayford, 35, 30); // kSetFreeSlotC
+ AI_Movement_Track_Repeat(kActorOfficerGrayford);
+ break;
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
+ // fall through
case 7:
// kSetUG01 -> kSetFreeSlotC
diff --git a/engines/bladerunner/script/ai/officer_leary.cpp b/engines/bladerunner/script/ai/officer_leary.cpp
index 8b3f7cf87e..4cea60f103 100644
--- a/engines/bladerunner/script/ai/officer_leary.cpp
+++ b/engines/bladerunner/script/ai/officer_leary.cpp
@@ -539,8 +539,9 @@ bool AIScriptOfficerLeary::GoalChanged(int currentGoalNumber, int newGoalNumber)
// fall through
case 6:
+#if BLADERUNNER_ORIGINAL_BUGS
// kSetUG07 -> kSetFreeSlotC
-// debug("leary 8-6 kSetUG07 -> kSetFreeSlotC");
+ // debug("leary 8-6 kSetUG07 -> kSetFreeSlotC");
AI_Movement_Track_Append(kActorOfficerLeary, 415, 0);
AI_Movement_Track_Append_With_Facing(kActorOfficerLeary, 416, 0, 620);
AI_Movement_Track_Append(kActorOfficerLeary, 417, 0);
@@ -548,6 +549,23 @@ bool AIScriptOfficerLeary::GoalChanged(int currentGoalNumber, int newGoalNumber)
AI_Movement_Track_Append(kActorOfficerLeary, 35, 30); // kSetFreeSlotC
AI_Movement_Track_Repeat(kActorOfficerLeary);
break;
+#else
+ // Don't put police in UG07 after the UG18 Guzza scene
+ // since Clovis may be there too and that does not work well
+ if (!Game_Flag_Query(kFlagUG18GuzzaScene)) {
+ // kSetUG07 -> kSetFreeSlotC
+ // debug("leary 8-6 kSetUG07 -> kSetFreeSlotC");
+ AI_Movement_Track_Append(kActorOfficerLeary, 415, 0);
+ AI_Movement_Track_Append_With_Facing(kActorOfficerLeary, 416, 0, 620);
+ AI_Movement_Track_Append(kActorOfficerLeary, 417, 0);
+ AI_Movement_Track_Append(kActorOfficerLeary, 418, 0);
+ AI_Movement_Track_Append(kActorOfficerLeary, 35, 30); // kSetFreeSlotC
+ AI_Movement_Track_Repeat(kActorOfficerLeary);
+ break;
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
+ // fall through
+
case 7:
// kSetUG01 -> kSetFreeSlotC
// debug("leary 8-7 kSetUG01 -> kSetFreeSlotC");