aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner
diff options
context:
space:
mode:
authorThanasis Antoniou2019-06-01 13:37:51 +0300
committerThanasis Antoniou2019-06-01 19:16:34 +0300
commitf56fe145d7f918e49d5844e1315e3d3db14a7392 (patch)
tree66d310d7bb533c891edadffab53a85b6967614e6 /engines/bladerunner
parentfd4fa5e899ec7c9ca62a059e4fab36c57e7c0f8d (diff)
downloadscummvm-rg350-f56fe145d7f918e49d5844e1315e3d3db14a7392.tar.gz
scummvm-rg350-f56fe145d7f918e49d5844e1315e3d3db14a7392.tar.bz2
scummvm-rg350-f56fe145d7f918e49d5844e1315e3d3db14a7392.zip
BLADERUNNER: Broaden path to Runciter desk RC02
Diffstat (limited to 'engines/bladerunner')
-rw-r--r--engines/bladerunner/obstacles.cpp2
-rw-r--r--engines/bladerunner/script/scene/rc02.cpp4
-rw-r--r--engines/bladerunner/set.cpp16
3 files changed, 21 insertions, 1 deletions
diff --git a/engines/bladerunner/obstacles.cpp b/engines/bladerunner/obstacles.cpp
index c94f271e2d..9bdf4ffe9c 100644
--- a/engines/bladerunner/obstacles.cpp
+++ b/engines/bladerunner/obstacles.cpp
@@ -33,7 +33,7 @@
#include "common/debug.h"
#define DISABLE_PATHFINDING 0
-#define USE_PATHFINDING_EXPERIMENTAL_FIX_2 0 // Alternate Fix: Allows polygons merged on one point
+#define USE_PATHFINDING_EXPERIMENTAL_FIX_2 1 // Alternate Fix: Allows polygons merged on one point
#define WITHIN_TOLERANCE(a, b) (((a) - 0.009) < (b) && ((a) + 0.009) > (b))
diff --git a/engines/bladerunner/script/scene/rc02.cpp b/engines/bladerunner/script/scene/rc02.cpp
index 049427f235..1dbae55df5 100644
--- a/engines/bladerunner/script/scene/rc02.cpp
+++ b/engines/bladerunner/script/scene/rc02.cpp
@@ -72,6 +72,10 @@ void SceneScriptRC02::SceneLoaded() {
Unobstacle_Object("LEGS", true);
Unobstacle_Object("SLATS01", true);
Unobstacle_Object("DRAPE07", true);
+ if (_vm->_cutContent) {
+ // improvement: broaden path for Runciter to his desk
+ Unobstacle_Object("GRD ROPE04", true);
+ }
Clickable_Object("SCRTY CA03");
Unclickable_Object("GRL_DSKLEG");
Unclickable_Object("CURTAIN");
diff --git a/engines/bladerunner/set.cpp b/engines/bladerunner/set.cpp
index 6e29a37acb..f0ae927135 100644
--- a/engines/bladerunner/set.cpp
+++ b/engines/bladerunner/set.cpp
@@ -436,6 +436,22 @@ void Set::load(SaveFileReadStream &f) {
*/
void Set::overrideSceneObjectInfo(int objectId) const {
switch (_vm->_scene->getSceneId()) {
+ case kSceneRC02:
+ // improve path for Runciter to his desk
+ // this won't fix the issue entirely (of Runciter awkwardly walking around the cage to reach his desk)
+ // but it make it less of an occurrence
+ if (objectId == 0 && _objects[objectId].name == "TABLETOP") {
+ _objects[objectId].bbox.setXYZ(9.0f, -1235.57f, 108386.98f, 47.90f, -1214.99f, 108410.42f);
+ } else if (objectId == 2 && _objects[objectId].name == "OUTR_DESK") {
+ _objects[objectId].bbox.setXYZ(-4.0f, -1239.81f, 108315.97f, 83.98f, -1185.50f, 108387.42f);
+ } else if (objectId == 42 && _objects[objectId].name == "P_BURN01") {
+ _objects[objectId].bbox.setXYZ(-4.0f, -1239.81f, 108312.98f, 87.98f, -1185.50f, 108388.19f);
+ } else if (objectId == 15 && _objects[objectId].name == "POLE_ROP01") {
+ _objects[objectId].bbox.setXYZ(-76.48f, -1239.31f, 108308.19f, -56.32f, -1191.11f, 108326.42f);
+ } else if (objectId == 16 && _objects[objectId].name == "POLE_ROP02") {
+ _objects[objectId].bbox.setXYZ(-75.17f, -1239.29f, 108340.13f, -56.32f, -1221.16f, 108365.65f);
+ }
+ break;
case kSceneBB06:
// Sebastian's room with doll
if (objectId == 3 && _objects[objectId].name == "BOX31") {