From 2e1a84694b5293b36de77468acf075bb97a12578 Mon Sep 17 00:00:00 2001 From: Thanasis Antoniou Date: Wed, 26 Jun 2019 13:46:16 +0300 Subject: BLADERUNNER: Fix for police in UG07 post Guzza scene Remove option for them to be there altogether to avoid overlap with Clovis --- engines/bladerunner/script/ai/officer_grayford.cpp | 19 ++++++++++++++++++- engines/bladerunner/script/ai/officer_leary.cpp | 20 +++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) (limited to 'engines') 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"); -- cgit v1.2.3