[Scummvm-git-logs] scummvm master -> 6a7220170e7bd5e1a7357ea5cb649863ea5f71c1
antoniou79
antoniou at cti.gr
Sat Jun 1 18:22:55 CEST 2019
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
f56fe145d7 BLADERUNNER: Broaden path to Runciter desk RC02
61800882b7 BLADERUNNER: Restore Eyeworks Eye and Projector comments
6a7220170e BLADERUNNER: Fix paths and map glitched in NR05
Commit: f56fe145d7f918e49d5844e1315e3d3db14a7392
https://github.com/scummvm/scummvm/commit/f56fe145d7f918e49d5844e1315e3d3db14a7392
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-06-01T19:16:34+03:00
Commit Message:
BLADERUNNER: Broaden path to Runciter desk RC02
Changed paths:
engines/bladerunner/obstacles.cpp
engines/bladerunner/script/scene/rc02.cpp
engines/bladerunner/set.cpp
diff --git a/engines/bladerunner/obstacles.cpp b/engines/bladerunner/obstacles.cpp
index c94f271..9bdf4ff 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 049427f..1dbae55 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 6e29a37..f0ae927 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") {
Commit: 61800882b7003b80a198aec502ecf8e92bda90d9
https://github.com/scummvm/scummvm/commit/61800882b7003b80a198aec502ecf8e92bda90d9
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-06-01T19:16:34+03:00
Commit Message:
BLADERUNNER: Restore Eyeworks Eye and Projector comments
Changed paths:
engines/bladerunner/game_constants.h
engines/bladerunner/script/scene/dr02.cpp
engines/bladerunner/script/scene/nr10.cpp
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index da3d356..12f33b7 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -1076,9 +1076,9 @@ enum Flags {
kFlagNR11BurnedUp = 634,
kFlagNR11SteeleShoot = 635,
kFlagNR08Faded = 636,
- // 637 is never used
+ kFlagMcCoyCommentsOnOldProjector = 637, // Re-purposed. Original: 637 is never used
kFlagNR07McCoyIsCop = 638,
- // 639 is never used
+ kFlagMcCoyCommentsOnEyeOfEyeworks = 639, // Re-purposed. Original: 639 is never used
kFlagNR10CameraDestroyed = 640,
kFlagNR10toNR11 = 641, // is never checked
kFlagNR10McCoyBlinded = 642,
diff --git a/engines/bladerunner/script/scene/dr02.cpp b/engines/bladerunner/script/scene/dr02.cpp
index 0a07a50..2338735 100644
--- a/engines/bladerunner/script/scene/dr02.cpp
+++ b/engines/bladerunner/script/scene/dr02.cpp
@@ -99,7 +99,13 @@ void SceneScriptDR02::SceneLoaded() {
Unclickable_Object("TRASH CAN WITH FIRE");
Unclickable_Object("U2 CHEWDOOR");
Unclickable_Object("MMTRASHCAN");
- Unclickable_Object("U2 EYE");
+ if (_vm->_cutContent) {
+ if (Game_Flag_Query(kFlagMcCoyCommentsOnEyeOfEyeworks)) {
+ Unclickable_Object("U2 EYE");
+ }
+ } else {
+ Unclickable_Object("U2 EYE");
+ }
Unclickable_Object("U2 E");
Unclickable_Object("MMNEWSP01");
Unclickable_Object("MMNEWSP02");
@@ -117,6 +123,16 @@ bool SceneScriptDR02::MouseClick(int x, int y) {
}
bool SceneScriptDR02::ClickedOn3DObject(const char *objectName, bool a2) {
+ if (_vm->_cutContent) {
+ if (!Game_Flag_Query(kFlagMcCoyCommentsOnEyeOfEyeworks)
+ && (Object_Query_Click("U2 EYE", objectName))
+ ) {
+ Game_Flag_Set(kFlagMcCoyCommentsOnEyeOfEyeworks);
+ Unclickable_Object("U2 EYE");
+ Actor_Voice_Over(660, kActorVoiceOver);
+ return true;
+ }
+ }
return false;
}
diff --git a/engines/bladerunner/script/scene/nr10.cpp b/engines/bladerunner/script/scene/nr10.cpp
index 93eeb31..de3cd2d 100644
--- a/engines/bladerunner/script/scene/nr10.cpp
+++ b/engines/bladerunner/script/scene/nr10.cpp
@@ -35,6 +35,10 @@ void SceneScriptNR10::InitializeScene() {
Scene_Exit_Add_2D_Exit(0, 144, 163, 194, 318, 3);
Scene_Exit_Add_2D_Exit(1, 475, 95, 568, 230, 0);
+ if (_vm->_cutContent && !Game_Flag_Query(kFlagMcCoyCommentsOnOldProjector)) {
+ Scene_2D_Region_Add(0, 323, 86, 473, 320);// projector area 1
+ Scene_2D_Region_Add(1, 280, 180, 323, 212); // projector area 2
+ }
Ambient_Sounds_Add_Looping_Sound(kSfxCTDRONE1, 22, 0, 1);
Ambient_Sounds_Add_Looping_Sound(kSfxBRBED5, 33, 0, 1);
@@ -115,6 +119,17 @@ bool SceneScriptNR10::ClickedOnExit(int exitId) {
}
bool SceneScriptNR10::ClickedOn2DRegion(int region) {
+if (_vm->_cutContent) {
+ if (!Game_Flag_Query(kFlagMcCoyCommentsOnOldProjector) && (region == 0 || region == 1) ) {
+ Game_Flag_Set(kFlagMcCoyCommentsOnOldProjector);
+ Actor_Face_XYZ(kActorMcCoy, -28.90f, 55.00f, -133.81f, true);
+ Actor_Voice_Over(1750, kActorVoiceOver);
+ Actor_Voice_Over(1760, kActorVoiceOver);
+ Scene_2D_Region_Remove(0);
+ Scene_2D_Region_Remove(1);
+ return true;
+ }
+ }
return false;
}
Commit: 6a7220170e7bd5e1a7357ea5cb649863ea5f71c1
https://github.com/scummvm/scummvm/commit/6a7220170e7bd5e1a7357ea5cb649863ea5f71c1
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-06-01T19:16:34+03:00
Commit Message:
BLADERUNNER: Fix paths and map glitched in NR05
McCoy should no longer teleport (occasionally) whne going to NR08
Changed paths:
engines/bladerunner/script/scene/nr05.cpp
engines/bladerunner/set.cpp
diff --git a/engines/bladerunner/script/scene/nr05.cpp b/engines/bladerunner/script/scene/nr05.cpp
index b0ac1b2..39f8aab 100644
--- a/engines/bladerunner/script/scene/nr05.cpp
+++ b/engines/bladerunner/script/scene/nr05.cpp
@@ -35,7 +35,11 @@ void SceneScriptNR05::InitializeScene() {
if (Game_Flag_Query(kFlagNR08toNR05)) {
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kNR05LoopPanFromNR08, false);
Scene_Loop_Set_Default(kNR05LoopMainLoop);
+#if BLADERUNNER_ORIGINAL_BUGS
Setup_Scene_Information(-777.56f, 0.0f, -166.86f, 0);
+#else
+ Setup_Scene_Information(-752.09f, 0.0f, -193.58f, 258);
+#endif // BLADERUNNER_ORIGINAL_BUGS
} else if (Game_Flag_Query(kFlagNR03toNR05)) {
Setup_Scene_Information( -456.0f, 0.0f, -611.0f, 0);
} else {
@@ -86,6 +90,10 @@ void SceneScriptNR05::InitializeScene() {
void SceneScriptNR05::SceneLoaded() {
Obstacle_Object("NM1-1+", true);
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ Obstacle_Object("CUSTLFTBLOCK", true);
+#endif // BLADERUNNER_ORIGINAL_BUGS
Clickable_Object("NM1-1+");
Unclickable_Object("NM1-1+");
}
@@ -138,10 +146,17 @@ bool SceneScriptNR05::ClickedOnExit(int exitId) {
}
if (exitId == 1) {
+#if BLADERUNNER_ORIGINAL_BUGS
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -777.56f, 0.0f, -166.86f, 0, true, false, false)) {
Game_Flag_Set(kFlagNR05toNR08);
Set_Enter(kSetNR05_NR08, kSceneNR08);
}
+#else
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -752.09f, 0.0f, -193.58f, 0, true, false, false)) {
+ Game_Flag_Set(kFlagNR05toNR08);
+ Set_Enter(kSetNR05_NR08, kSceneNR08);
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
return true;
}
return false;
diff --git a/engines/bladerunner/set.cpp b/engines/bladerunner/set.cpp
index f0ae927..43e69fa 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")
More information about the Scummvm-git-logs
mailing list