aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/set.cpp
diff options
context:
space:
mode:
authorThanasis Antoniou2019-09-09 16:09:14 +0300
committerThanasis Antoniou2019-09-09 16:10:31 +0300
commita4f9842065351c92dc20677dcc4a5bc2f8dc9542 (patch)
treedc88b3070815979aa8da1196290df09dbb5ed8f7 /engines/bladerunner/set.cpp
parentded24d9b8c506ab972821a12cefa9c46bf24b94e (diff)
downloadscummvm-rg350-a4f9842065351c92dc20677dcc4a5bc2f8dc9542.tar.gz
scummvm-rg350-a4f9842065351c92dc20677dcc4a5bc2f8dc9542.tar.bz2
scummvm-rg350-a4f9842065351c92dc20677dcc4a5bc2f8dc9542.zip
BLADERUNNER: Fix CT02 map obstacles glitches
Diffstat (limited to 'engines/bladerunner/set.cpp')
-rw-r--r--engines/bladerunner/set.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/bladerunner/set.cpp b/engines/bladerunner/set.cpp
index e14ffd39ca..17f6c7f45c 100644
--- a/engines/bladerunner/set.cpp
+++ b/engines/bladerunner/set.cpp
@@ -452,6 +452,16 @@ void Set::overrideSceneObjectInfo(int objectId) const {
_objects[objectId].bbox.setXYZ(-75.17f, -1239.29f, 108340.13f, -56.32f, -1221.16f, 108365.65f);
}
break;
+ case kSceneCT02:
+ // prevent McCoy from moving "around and behind" the map
+ if (objectId == 18 && _objects[objectId].name == "BACK-DOOR") {
+ _objects[objectId].bbox.setXYZ(-177.95f, -145.11f, -86.25f, -130.13f, -49.00f, -4.74f);
+ } else if (objectId == 19 && _objects[objectId].name == "BACKWALL") {
+ _objects[objectId].bbox.setXYZ(-323.10f, -162.41f, -16.25f, -177.95f, 160.29f, -4.74f);
+ } else if (objectId == 7 && _objects[objectId].name == "LFTSTOVE-1") {
+ _objects[objectId].bbox.setXYZ(-315.17f, -145.11f, 171.93f, -282.86f, -103.98f, 225.29f);
+ }
+ break;
case kSceneCT04:
// prevent McCoy or transient from blending/glitching with the right wall
if (objectId == 6 && _objects[objectId].name == "BOX04") {
@@ -566,6 +576,11 @@ void Set::patchInAdditionalObjectsInSet() {
Common::String custObjName;
BoundingBox bbox;
switch (_vm->_scene->getSceneId()) {
+ case kSceneCT02:
+ bbox = BoundingBox(-130.13f, -162.41f, -16.25f, -81.74f, 160.29f, -4.74f);
+ custObjName = "BACKWALL2";
+ setupNewObjectInSet(custObjName, bbox);
+ break;
case kSceneHF06:
// block clicking / path access to northern part of the scene
// which causes McCoy and Police officers/ rats to go behind the map