aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/bladerunner/script/scene/rc01.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/engines/bladerunner/script/scene/rc01.cpp b/engines/bladerunner/script/scene/rc01.cpp
index 93bbc0b5af..8b1e469ed5 100644
--- a/engines/bladerunner/script/scene/rc01.cpp
+++ b/engines/bladerunner/script/scene/rc01.cpp
@@ -439,9 +439,17 @@ void SceneScriptRC01::walkToCenter() {
bool SceneScriptRC01::ClickedOnExit(int exitId) {
if (exitId == kRC01ExitRC02) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -174.77f, 5.55f, 25.95f, 12, true, false, false)) {
+ bool walkToRC02ExitResult = true;
+#if BLADERUNNER_ORIGINAL_BUGS
+ walkToRC02ExitResult = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -174.77f, 5.55f, 25.95f, 12, true, false, false);
+#else
+ // fixes clipping into the closed door of the shop when McCoy says locked or goes in
+ // This was reproducible mainly by entering from Bullet Bob's (RC03) and clicking on the door immediately
+ walkToRC02ExitResult = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -170.38f, 5.55f, 35.00f, 12, true, false, false);
+#endif // BLADERUNNER_ORIGINAL_BUGS
+ if (!walkToRC02ExitResult) {
if (Game_Flag_Query(kFlagRC02RunciterTalkWithGun)) {
- Actor_Says(kActorMcCoy, 8522, 14);
+ Actor_Says(kActorMcCoy, 8522, 14); // Locked
} else {
switch (Global_Variable_Query(kVariableChapter)) {
case 1: