diff options
author | Thanasis Antoniou | 2019-05-24 23:30:03 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-05-25 03:39:57 +0300 |
commit | cde63356f11d6b7a7bc744e0ee98e139ad06a4ad (patch) | |
tree | 0c6fb2bf10a14528612a6b957264471956b5da4e /engines/bladerunner | |
parent | debccbb8f3edadeef4607a43fca09d06a2e959d0 (diff) | |
download | scummvm-rg350-cde63356f11d6b7a7bc744e0ee98e139ad06a4ad.tar.gz scummvm-rg350-cde63356f11d6b7a7bc744e0ee98e139ad06a4ad.tar.bz2 scummvm-rg350-cde63356f11d6b7a7bc744e0ee98e139ad06a4ad.zip |
BLADERUNNER: Fix path glitches in UG18 and UG13
Diffstat (limited to 'engines/bladerunner')
-rw-r--r-- | engines/bladerunner/script/scene/ug13.cpp | 4 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/ug18.cpp | 2 | ||||
-rw-r--r-- | engines/bladerunner/set.cpp | 23 |
3 files changed, 29 insertions, 0 deletions
diff --git a/engines/bladerunner/script/scene/ug13.cpp b/engines/bladerunner/script/scene/ug13.cpp index 1ec25eaf48..ea4e4f505f 100644 --- a/engines/bladerunner/script/scene/ug13.cpp +++ b/engines/bladerunner/script/scene/ug13.cpp @@ -304,7 +304,11 @@ void SceneScriptUG13::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo void SceneScriptUG13::PlayerWalkedIn() { if (Game_Flag_Query(kFlagUG18toUG13)) { +#if BLADERUNNER_ORIGINAL_BUGS Loop_Actor_Walk_To_XYZ(kActorMcCoy, -389.0f, 143.0f, -844.0f, 0, false, false, false); +#else + Actor_Set_At_XYZ(kActorMcCoy, -389.0f, 143.0f, -844.0f, 325); +#endif // BLADERUNNER_ORIGINAL_BUGS Actor_Face_Heading(kActorMcCoy, 325, false); Footstep_Sound_Override_On(3); Loop_Actor_Travel_Stairs(kActorMcCoy, 11, false, kAnimationModeIdle); diff --git a/engines/bladerunner/script/scene/ug18.cpp b/engines/bladerunner/script/scene/ug18.cpp index eda2099235..1c14c06e27 100644 --- a/engines/bladerunner/script/scene/ug18.cpp +++ b/engines/bladerunner/script/scene/ug18.cpp @@ -122,9 +122,11 @@ void SceneScriptUG18::InitializeScene() { void SceneScriptUG18::SceneLoaded() { Obstacle_Object("MACHINE_01", true); +#if BLADERUNNER_ORIGINAL_BUGS Unobstacle_Object("PLATFM_RAIL 01", true); Unobstacle_Object("PLATFM_RAIL 02", true); Unobstacle_Object("OBSTACLE1", true); +#endif // BLADERUNNER_ORIGINAL_BUGS Clickable_Object("MACHINE_01"); Unclickable_Object("MACHINE_01"); diff --git a/engines/bladerunner/set.cpp b/engines/bladerunner/set.cpp index 1b21508caa..92798d6500 100644 --- a/engines/bladerunner/set.cpp +++ b/engines/bladerunner/set.cpp @@ -477,6 +477,29 @@ void Set::overrideSceneObjectInfo(int objectId) const { _objects[objectId].bbox.setXYZ(-168.99f, 151.38f, -139.10f, -105.95f, 239.59f, 362.70f); } break; + + case kSceneUG13: + // fix obstacles map / stairs glitch + if (objectId == 31 && _objects[objectId].name == "BOX FOR ELEVATR WAL") { + _objects[objectId].bbox.setXYZ(-337.79f, 35.78f, -918.73f, -282.79f, 364.36f, -804.54f); + } else if (objectId == 32 && _objects[objectId].name == "BOX FOR ELEVATR WAL") { + _objects[objectId].bbox.setXYZ(-455.47f, 35.78f, -1071.24f, -335.98f, 364.36f, -824.54f); + } + break; + + case kSceneUG18: + // fix obstacles map + if (objectId == 1 && _objects[objectId].name == "PIT_RAIL 03") { + _objects[objectId].bbox.setXYZ(-615.83f, 0.0f, -1237.04f, -602.30f, 37.66f, -13.48f); + } else if (objectId == 4 && _objects[objectId].name == "WALL_LEFT") { + _objects[objectId].bbox.setXYZ(-1310.70f, 0.0f, -2105.59f, -910.95f, 840.0f, -111.55f); + } else if (objectId == 5 && _objects[objectId].name == "OBSTACLE1") { + _objects[objectId].bbox.setXYZ(91.00f, -1.87f, 375.75f, 476.37f, 61.18f, 955.24f); + } else if (objectId == 6 && _objects[objectId].name == "OBSTACLE02") { + _objects[objectId].bbox.setXYZ(-1191.22f, -1.87f, -2105.59f, -606.15f, 61.18f, -937.04f); + } + break; + default: return; } |