diff options
author | Thanasis Antoniou | 2019-09-19 23:13:05 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-09-19 23:13:40 +0300 |
commit | 42707caad6bbf7264ee4678a4c9daf1795ad5029 (patch) | |
tree | 5dc8dede9fef2b30c15b2d9931c6bde51e0fd7bc /engines/bladerunner | |
parent | a6aea5c20113fab23f58d3bdd2047fab7e3e2169 (diff) | |
download | scummvm-rg350-42707caad6bbf7264ee4678a4c9daf1795ad5029.tar.gz scummvm-rg350-42707caad6bbf7264ee4678a4c9daf1795ad5029.tar.bz2 scummvm-rg350-42707caad6bbf7264ee4678a4c9daf1795ad5029.zip |
BLADERUNNER: Fix rare teleport case for McCoy in BB08
Diffstat (limited to 'engines/bladerunner')
-rw-r--r-- | engines/bladerunner/script/ai/gordo.cpp | 2 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/bb08.cpp | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/engines/bladerunner/script/ai/gordo.cpp b/engines/bladerunner/script/ai/gordo.cpp index 804c1da389..26fd00016a 100644 --- a/engines/bladerunner/script/ai/gordo.cpp +++ b/engines/bladerunner/script/ai/gordo.cpp @@ -542,7 +542,7 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) { break; case kGoalGordoNR02TalkAboutMcCoy: - Actor_Force_Stop_Walking(0); + Actor_Force_Stop_Walking(kActorMcCoy); Actor_Face_Actor(kActorGordo, kActorMcCoy, true); Actor_Says(kActorGordo, 720, 16); Actor_Says(kActorGordo, 730, 18); diff --git a/engines/bladerunner/script/scene/bb08.cpp b/engines/bladerunner/script/scene/bb08.cpp index 8bc281b85c..8b881524f5 100644 --- a/engines/bladerunner/script/scene/bb08.cpp +++ b/engines/bladerunner/script/scene/bb08.cpp @@ -26,7 +26,11 @@ namespace BladeRunner { void SceneScriptBB08::InitializeScene() { if (Game_Flag_Query(kFlagBB09toBB08)) { +#if BLADERUNNER_ORIGINAL_BUGS Setup_Scene_Information(204.0f, 0.0f, 92.0f, 875); +#else + Setup_Scene_Information(204.0f, 96.1f, 94.0f, 256); +#endif } else { Setup_Scene_Information(247.0f, 0.0f, 27.0f, 790); } @@ -120,6 +124,16 @@ void SceneScriptBB08::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo void SceneScriptBB08::PlayerWalkedIn() { if (Game_Flag_Query(kFlagBB09toBB08)) { +#if BLADERUNNER_ORIGINAL_BUGS +#else + // prevents a sling-shot effect whereby McCoy reverts to the position vector + // he had in the previous room (BB09), if he just started walking before exiting BB09 + // this bug would result in McCoy teleporting to the right of this scene (BB08) + // and he would often then glitch through the bathtub. + // Also he would skip the climbing down stairs animation altogether + // The bug seems to be particular only to this case of McCoy climbing down a ladder + Actor_Force_Stop_Walking(kActorMcCoy); +#endif // BLADERUNNER_ORIGINAL_BUGS Actor_Set_At_XYZ(kActorMcCoy, 204.0f, 96.1f, 94.0f, 256); Footstep_Sound_Override_On(2); Loop_Actor_Travel_Ladder(kActorMcCoy, 8, false, kAnimationModeIdle); |