diff options
author | Thanasis Antoniou | 2019-06-01 19:15:17 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-06-01 19:16:34 +0300 |
commit | 6a7220170e7bd5e1a7357ea5cb649863ea5f71c1 (patch) | |
tree | edbdfb5c471c19d5c79b6a29fc3b6dbf31ac6972 /engines/bladerunner/set.cpp | |
parent | 61800882b7003b80a198aec502ecf8e92bda90d9 (diff) | |
download | scummvm-rg350-6a7220170e7bd5e1a7357ea5cb649863ea5f71c1.tar.gz scummvm-rg350-6a7220170e7bd5e1a7357ea5cb649863ea5f71c1.tar.bz2 scummvm-rg350-6a7220170e7bd5e1a7357ea5cb649863ea5f71c1.zip |
BLADERUNNER: Fix paths and map glitched in NR05
McCoy should no longer teleport (occasionally) whne going to NR08
Diffstat (limited to 'engines/bladerunner/set.cpp')
-rw-r--r-- | engines/bladerunner/set.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/engines/bladerunner/set.cpp b/engines/bladerunner/set.cpp index f0ae927135..43e69fa38a 100644 --- a/engines/bladerunner/set.cpp +++ b/engines/bladerunner/set.cpp @@ -480,6 +480,15 @@ void Set::overrideSceneObjectInfo(int objectId) const { _objects[objectId].bbox.setXYZ(695.63f, 42.65f, -628.10f, 706.71f, 69.22f, -614.47f); } break; + case kSceneNR05: + if (objectId == 10 && _objects[objectId].name == "BOX08") { + _objects[objectId].bbox.setXYZ(-748.75f, 0.0f, -257.39f, -685.37f, 32.01f, -211.47f); + } else if (objectId == 11 && _objects[objectId].name == "BOX09") { + _objects[objectId].bbox.setXYZ(-729.00f, 0.0f, -179.27f, -690.00f, 33.47f, -15.80f); + } else if (objectId == 12 && _objects[objectId].name == "BOX11") { + _objects[objectId].bbox.setXYZ(-688.03f, 0.0f, -67.41f, -490.38f, 29.10f, -32.86f); + } + break; case kSceneNR11: // Right coat rack needs adjustment of bounding box if (objectId == 1 && _objects[objectId].name == "COATRACK") { @@ -565,6 +574,12 @@ void Set::patchInAdditionalObjectsInSet() { setupNewObjectInSet(custObjName, bbox); break; + case kSceneNR05: + bbox = BoundingBox(-690.0f, 0.0f, -155.0f, -640.0f, 33.47f, -100.0f); + custObjName = "CUSTLFTBLOCK"; + setupNewObjectInSet(custObjName, bbox); + break; + case kSceneUG08: // block clicking / path access to northern part of the scene // which causes McCoy and Police officers/ rats to go behind the map @@ -598,6 +613,16 @@ void Set::patchOutBadObjectsFromSet() { bool removeCurrObj = false; for (int objectId = 0; objectId < _objectCount; ++objectId) { switch (_vm->_scene->getSceneId()) { + case kSceneNR05: + if ((objectId == 0 && _objects[objectId].name == "NM1-1+") + || (objectId == 2 && _objects[objectId].name == "NM1-1+") + || (objectId == 3 && _objects[objectId].name == "NM1-1+") + ) { + // Remove objects that are named the same and set as clickables + // leave only objectId == 1, named "NM1-1+" + removeCurrObj = true; + } + break; case kSceneNR11: if ((objectId == 46 && _objects[objectId].name == "BOX53") || (objectId == 36 && _objects[objectId].name == "BOX43") |