diff options
author | Thanasis Antoniou | 2019-06-01 21:36:46 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-06-01 21:36:46 +0300 |
commit | 438a6223cbb5a822aa3506352e743e20f4d2da6e (patch) | |
tree | 06f5be5f156e7ad5e52e3a6bccc89aff0bcef89d /engines/bladerunner/script/scene/tb06.cpp | |
parent | 4adf49c14997f4ddfa27592e57976ba97b6035c6 (diff) | |
download | scummvm-rg350-438a6223cbb5a822aa3506352e743e20f4d2da6e.tar.gz scummvm-rg350-438a6223cbb5a822aa3506352e743e20f4d2da6e.tar.bz2 scummvm-rg350-438a6223cbb5a822aa3506352e743e20f4d2da6e.zip |
BLADERUNNER: Fix photographer bug and awry clickables
Diffstat (limited to 'engines/bladerunner/script/scene/tb06.cpp')
-rw-r--r-- | engines/bladerunner/script/scene/tb06.cpp | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/engines/bladerunner/script/scene/tb06.cpp b/engines/bladerunner/script/scene/tb06.cpp index 4720989fad..68f5bbd39f 100644 --- a/engines/bladerunner/script/scene/tb06.cpp +++ b/engines/bladerunner/script/scene/tb06.cpp @@ -177,14 +177,29 @@ void SceneScriptTB06::PlayerWalkedIn() { Actor_Face_Actor(kActorMcCoy, kActorMarcus, true); Actor_Says(kActorMcCoy, 5290, kAnimationModeTalk); Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 149.0f, -631.0f, 0, false, false, false); - AI_Movement_Track_Pause(kActorPhotographer); - Actor_Face_Actor(kActorMcCoy, kActorPhotographer, true); - Actor_Face_Actor(kActorPhotographer, kActorMcCoy, true); - Actor_Says(kActorPhotographer, 0, kAnimationModeTalk); - Actor_Says(kActorMcCoy, 5295, kAnimationModeTalk); - Actor_Face_Actor(kActorPhotographer, kActorMarcus, true); - Actor_Says(kActorPhotographer, 10, kAnimationModeTalk); - AI_Movement_Track_Unpause(kActorPhotographer); + + bool talkWithPhotographer = false; +#if BLADERUNNER_ORIGINAL_BUGS + talkWithPhotographer = true; +#else + // It's possible for McCoy to go to AR01 (so the kActorPhotographer will go away from TB06) + // without ever going into this scene (TB06) + // so later on in the Act, if McCoy visits this scene the Photographer would be gone + // but the dialogue would play as if he was there. This fixes that bug. + if (Actor_Query_Is_In_Current_Set(kActorPhotographer)) { + talkWithPhotographer = true; + } +#endif // BLADERUNNER_ORIGINAL_BUGS + if (talkWithPhotographer) { + AI_Movement_Track_Pause(kActorPhotographer); + Actor_Face_Actor(kActorMcCoy, kActorPhotographer, true); + Actor_Face_Actor(kActorPhotographer, kActorMcCoy, true); + Actor_Says(kActorPhotographer, 0, kAnimationModeTalk); + Actor_Says(kActorMcCoy, 5295, kAnimationModeTalk); + Actor_Face_Actor(kActorPhotographer, kActorMarcus, true); + Actor_Says(kActorPhotographer, 10, kAnimationModeTalk); + AI_Movement_Track_Unpause(kActorPhotographer); + } Game_Flag_Set(kFlagTB06Introduction); //return true; return; |