[Scummvm-git-logs] scummvm master -> 438a6223cbb5a822aa3506352e743e20f4d2da6e

antoniou79 antoniou at cti.gr
Sat Jun 1 20:38:44 CEST 2019


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
4adf49c149 BLADERUNNER: Add exits in CT04 and DR04
438a6223cb BLADERUNNER: Fix photographer bug and awry clickables


Commit: 4adf49c14997f4ddfa27592e57976ba97b6035c6
    https://github.com/scummvm/scummvm/commit/4adf49c14997f4ddfa27592e57976ba97b6035c6
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-06-01T20:31:17+03:00

Commit Message:
BLADERUNNER: Add exits in CT04 and DR04

To improve navigation

Changed paths:
    engines/bladerunner/script/scene/ct04.cpp
    engines/bladerunner/script/scene/dr04.cpp


diff --git a/engines/bladerunner/script/scene/ct04.cpp b/engines/bladerunner/script/scene/ct04.cpp
index c5a8fbd..c5a5c33 100644
--- a/engines/bladerunner/script/scene/ct04.cpp
+++ b/engines/bladerunner/script/scene/ct04.cpp
@@ -41,6 +41,9 @@ void SceneScriptCT04::InitializeScene() {
 
 	Scene_Exit_Add_2D_Exit(0, 590,  0, 639, 479, 1);
 	Scene_Exit_Add_2D_Exit(1, 194, 84, 320, 274, 0);
+	if (_vm->_cutContent) {
+		Scene_Exit_Add_2D_Exit(2, 0, 440, 590, 479, 2);
+	}
 
 	Ambient_Sounds_Add_Looping_Sound(kSfxCTRAIN1,  50,    1, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxCTAMBR1,  15, -100, 1);
@@ -234,6 +237,17 @@ bool SceneScriptCT04::ClickedOnExit(int exitId) {
 		}
 		return true;
 	}
+	if (_vm->_cutContent) {
+		if (exitId == 2) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -106.94f, -619.08f, 429.20f, 0, true, false, false)) {
+				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
+				Ambient_Sounds_Remove_All_Looping_Sounds(1);
+				Game_Flag_Set(kFlagCT04toCT03);
+				Set_Enter(kSetCT03_CT04, kSceneCT03);
+			}
+			return true;
+		}
+	}
 	return false;
 }
 
diff --git a/engines/bladerunner/script/scene/dr04.cpp b/engines/bladerunner/script/scene/dr04.cpp
index 2c6c632..166040d 100644
--- a/engines/bladerunner/script/scene/dr04.cpp
+++ b/engines/bladerunner/script/scene/dr04.cpp
@@ -48,6 +48,9 @@ void SceneScriptDR04::InitializeScene() {
 	Scene_Exit_Add_2D_Exit(0, 589,   0, 639, 479, 1);
 	Scene_Exit_Add_2D_Exit(1, 443, 264, 488, 353, 0);
 	Scene_Exit_Add_2D_Exit(2, 222, 110, 269, 207, 0);
+	if (_vm->_cutContent) {
+		Scene_Exit_Add_2D_Exit(3, 0, 440, 589, 479, 2);
+	}
 
 	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxCTRAIN1, 50,    1,   1);
@@ -168,6 +171,17 @@ bool SceneScriptDR04::ClickedOnExit(int exitId) {
 		return true;
 	}
 
+	if (_vm->_cutContent) {
+		if (exitId == 3) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.17f, 0.12f, 132.48f, 0, true, false, false)) {
+				Async_Actor_Walk_To_XYZ(kActorMcCoy, -509.21f, 0.16f, 44.97f, 0, false);
+				Game_Flag_Set(kFlagDR04toDR01);
+				Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
+			}
+			return true;
+		}
+	}
+
 	if (exitId == 1) {
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1067.0f, 7.18f, 421.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagNotUsed232);


Commit: 438a6223cbb5a822aa3506352e743e20f4d2da6e
    https://github.com/scummvm/scummvm/commit/438a6223cbb5a822aa3506352e743e20f4d2da6e
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-06-01T21:36:46+03:00

Commit Message:
BLADERUNNER: Fix photographer bug and awry clickables

Changed paths:
    engines/bladerunner/obstacles.cpp
    engines/bladerunner/script/scene/bb05.cpp
    engines/bladerunner/script/scene/hc04.cpp
    engines/bladerunner/script/scene/ma06.cpp
    engines/bladerunner/script/scene/ps02.cpp
    engines/bladerunner/script/scene/ps04.cpp
    engines/bladerunner/script/scene/rc03.cpp
    engines/bladerunner/script/scene/tb06.cpp
    engines/bladerunner/script/scene/tb07.cpp
    engines/bladerunner/script/scene/ug03.cpp


diff --git a/engines/bladerunner/obstacles.cpp b/engines/bladerunner/obstacles.cpp
index 9bdf4ff..c94f271 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 1 // Alternate Fix: Allows polygons merged on one point
+#define USE_PATHFINDING_EXPERIMENTAL_FIX_2 0 // 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/bb05.cpp b/engines/bladerunner/script/scene/bb05.cpp
index 9ef70cb..ecf6897 100644
--- a/engines/bladerunner/script/scene/bb05.cpp
+++ b/engines/bladerunner/script/scene/bb05.cpp
@@ -75,6 +75,10 @@ void SceneScriptBB05::SceneLoaded() {
 	Clickable_Object("BOX06");
 	Unclickable_Object("BOX06");
 	Unclickable_Object("BOX14");
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+	Unclickable_Object("PINHEAD");
+#endif // BLADERUNNER_ORIGINAL_BUGS
 	if (Actor_Query_Goal_Number(kActorSebastian) == 200) {
 		Actor_Set_Goal_Number(kActorGeneralDoll, 299);
 		Actor_Put_In_Set(kActorGeneralDoll, kSetFreeSlotG);
diff --git a/engines/bladerunner/script/scene/hc04.cpp b/engines/bladerunner/script/scene/hc04.cpp
index 4e1972c..584c3ce 100644
--- a/engines/bladerunner/script/scene/hc04.cpp
+++ b/engines/bladerunner/script/scene/hc04.cpp
@@ -78,6 +78,10 @@ void SceneScriptHC04::SceneLoaded() {
 	Obstacle_Object("CAN FIRE", true);
 	Unobstacle_Object("ASIANMALE01", true);
 	Clickable_Object("CAN FIRE");
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+	Unclickable_Object("CAN FIRE");
+#endif // BLADERUNNER_ORIGINAL_BUGS
 }
 
 bool SceneScriptHC04::MouseClick(int x, int y) {
diff --git a/engines/bladerunner/script/scene/ma06.cpp b/engines/bladerunner/script/scene/ma06.cpp
index 7e1e530..319e304 100644
--- a/engines/bladerunner/script/scene/ma06.cpp
+++ b/engines/bladerunner/script/scene/ma06.cpp
@@ -53,6 +53,10 @@ void SceneScriptMA06::InitializeScene() {
 void SceneScriptMA06::SceneLoaded() {
 	Obstacle_Object("PANEL", true);
 	Clickable_Object("PANEL");
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+	Unclickable_Object("PANEL");
+#endif // BLADERUNNER_ORIGINAL_BUGS
 	if (_vm->_cutContent) {
 		if (Actor_Query_Goal_Number(kActorRachael) == kGoalRachaelShouldBeInElevatorMcCoysAct3) {
 			// Put Rachael in set for her first cut scene (Act 3) when it plays out in the elevator
diff --git a/engines/bladerunner/script/scene/ps02.cpp b/engines/bladerunner/script/scene/ps02.cpp
index a3bbe7b..c8ff284 100644
--- a/engines/bladerunner/script/scene/ps02.cpp
+++ b/engines/bladerunner/script/scene/ps02.cpp
@@ -44,6 +44,11 @@ void SceneScriptPS02::SceneLoaded() {
 	Obstacle_Object("E.DOOR02", true);
 	Clickable_Object("E.DOOR01");
 	Clickable_Object("E.DOOR02");
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+	Unclickable_Object("E.DOOR01");
+	Unclickable_Object("E.DOOR02");
+#endif // BLADERUNNER_ORIGINAL_BUGS
 }
 
 bool SceneScriptPS02::MouseClick(int x, int y) {
@@ -51,6 +56,9 @@ bool SceneScriptPS02::MouseClick(int x, int y) {
 }
 
 bool SceneScriptPS02::ClickedOn3DObject(const char *objectName, bool a2) {
+#if BLADERUNNER_ORIGINAL_BUGS
+	// McCoy never clicks on the door
+	// This stuff is never called
 	if (Object_Query_Click("E.DOOR01", objectName)
 	 || Object_Query_Click("E.D00R02", objectName)
 	) {
@@ -91,6 +99,7 @@ bool SceneScriptPS02::ClickedOn3DObject(const char *objectName, bool a2) {
 			}
 		}
 	}
+#endif // BLADERUNNER_ORIGINAL_BUGS
 	return false;
 }
 
diff --git a/engines/bladerunner/script/scene/ps04.cpp b/engines/bladerunner/script/scene/ps04.cpp
index c856496..e114ecb 100644
--- a/engines/bladerunner/script/scene/ps04.cpp
+++ b/engines/bladerunner/script/scene/ps04.cpp
@@ -62,6 +62,10 @@ void SceneScriptPS04::SceneLoaded() {
 	Unobstacle_Object("B.DOOR", true);
 	Unobstacle_Object("B.CHAIR01", true);
 	Unclickable_Object("CHAIR07");
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+	Unclickable_Object("FLOOR");
+#endif // BLADERUNNER_ORIGINAL_BUGS
 
 	if ( Global_Variable_Query(kVariableChapter) == 2
 	 && !Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)
diff --git a/engines/bladerunner/script/scene/rc03.cpp b/engines/bladerunner/script/scene/rc03.cpp
index 8f70222..bb6168a 100644
--- a/engines/bladerunner/script/scene/rc03.cpp
+++ b/engines/bladerunner/script/scene/rc03.cpp
@@ -124,6 +124,10 @@ void SceneScriptRC03::SceneLoaded() {
 	Unclickable_Object("BOX-BBCOLUMN02");
 	Unclickable_Object("BOX-BBCOLUMN03");
 	Unclickable_Object("BOX-BBCOLUMN04");
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+	Unclickable_Object("PARKING METER 01");
+#endif // BLADERUNNER_ORIGINAL_BUGS
 	Unclickable_Object("PARKING METER 02");
 	Unclickable_Object("PARKING METER 03");
 	Unclickable_Object("TRASH CAN WITH FIRE");
diff --git a/engines/bladerunner/script/scene/tb06.cpp b/engines/bladerunner/script/scene/tb06.cpp
index 4720989..68f5bbd 100644
--- a/engines/bladerunner/script/scene/tb06.cpp
+++ b/engines/bladerunner/script/scene/tb06.cpp
@@ -177,14 +177,29 @@ void SceneScriptTB06::PlayerWalkedIn() {
 		Actor_Face_Actor(kActorMcCoy, kActorMarcus, true);
 		Actor_Says(kActorMcCoy, 5290, kAnimationModeTalk);
 		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 149.0f, -631.0f, 0, false, false, false);
-		AI_Movement_Track_Pause(kActorPhotographer);
-		Actor_Face_Actor(kActorMcCoy, kActorPhotographer, true);
-		Actor_Face_Actor(kActorPhotographer, kActorMcCoy, true);
-		Actor_Says(kActorPhotographer, 0, kAnimationModeTalk);
-		Actor_Says(kActorMcCoy, 5295, kAnimationModeTalk);
-		Actor_Face_Actor(kActorPhotographer, kActorMarcus, true);
-		Actor_Says(kActorPhotographer, 10, kAnimationModeTalk);
-		AI_Movement_Track_Unpause(kActorPhotographer);
+
+		bool talkWithPhotographer = false;
+#if BLADERUNNER_ORIGINAL_BUGS
+		talkWithPhotographer = true;
+#else
+		// It's possible for McCoy to go to AR01 (so the kActorPhotographer will go away from TB06)
+		// without ever going into this scene (TB06)
+		// so later on in the Act, if McCoy visits this scene the Photographer would be gone
+		// but the dialogue would play as if he was there. This fixes that bug.
+		if (Actor_Query_Is_In_Current_Set(kActorPhotographer)) {
+			talkWithPhotographer = true;
+		}
+#endif // BLADERUNNER_ORIGINAL_BUGS
+		if (talkWithPhotographer) {
+			AI_Movement_Track_Pause(kActorPhotographer);
+			Actor_Face_Actor(kActorMcCoy, kActorPhotographer, true);
+			Actor_Face_Actor(kActorPhotographer, kActorMcCoy, true);
+			Actor_Says(kActorPhotographer, 0, kAnimationModeTalk);
+			Actor_Says(kActorMcCoy, 5295, kAnimationModeTalk);
+			Actor_Face_Actor(kActorPhotographer, kActorMarcus, true);
+			Actor_Says(kActorPhotographer, 10, kAnimationModeTalk);
+			AI_Movement_Track_Unpause(kActorPhotographer);
+		}
 		Game_Flag_Set(kFlagTB06Introduction);
 		//return true;
 		return;
diff --git a/engines/bladerunner/script/scene/tb07.cpp b/engines/bladerunner/script/scene/tb07.cpp
index 389ee9e..cde6e5f 100644
--- a/engines/bladerunner/script/scene/tb07.cpp
+++ b/engines/bladerunner/script/scene/tb07.cpp
@@ -61,6 +61,10 @@ void SceneScriptTB07::InitializeScene() {
 void SceneScriptTB07::SceneLoaded() {
 	Obstacle_Object("EAGLE01", true);
 	Clickable_Object("EAGLE01");
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+	Unclickable_Object("EAGLE01");
+#endif // BLADERUNNER_ORIGINAL_BUGS
 }
 
 bool SceneScriptTB07::MouseClick(int x, int y) {
diff --git a/engines/bladerunner/script/scene/ug03.cpp b/engines/bladerunner/script/scene/ug03.cpp
index daeab00..ed3c0d5 100644
--- a/engines/bladerunner/script/scene/ug03.cpp
+++ b/engines/bladerunner/script/scene/ug03.cpp
@@ -69,6 +69,16 @@ void SceneScriptUG03::SceneLoaded() {
 	Clickable_Object("CHAIR_SEAT");
 	Clickable_Object("CHAIR_STRAPLEGLEFT");
 	Clickable_Object("CHAIR_STRAPLEGRIGHT");
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+	if (Actor_Clue_Query(kActorMcCoy, kClueScaryChair)) {
+		Unclickable_Object("CHAIR_HEADZAPPER");
+		Unclickable_Object("CHAIR_BACK");
+		Unclickable_Object("CHAIR_SEAT");
+		Unclickable_Object("CHAIR_STRAPLEGLEFT");
+		Unclickable_Object("CHAIR_STRAPLEGRIGHT");
+	}
+#endif // BLADERUNNER_ORIGINAL_BUGS
 }
 
 bool SceneScriptUG03::MouseClick(int x, int y) {
@@ -79,6 +89,11 @@ bool SceneScriptUG03::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("CHAIR_BACK", objectName)
 	 || Object_Query_Click("CHAIR_SEAT", objectName)
 	 || Object_Query_Click("CHAIR_HEADZAPPER", objectName)
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+	 || Object_Query_Click("CHAIR_STRAPLEGLEFT", objectName)
+	 || Object_Query_Click("CHAIR_STRAPLEGRIGHT", objectName)
+#endif // BLADERUNNER_ORIGINAL_BUGS
 	) {
 		if (!Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "CHAIR_BACK", 36, true, false)) {
 			Actor_Face_Object(kActorMcCoy, "CHAIR_BACK", true);
@@ -89,6 +104,14 @@ bool SceneScriptUG03::ClickedOn3DObject(const char *objectName, bool a2) {
 				Actor_Voice_Over(2580, kActorVoiceOver);
 				Actor_Voice_Over(2590, kActorVoiceOver);
 				Actor_Clue_Acquire(kActorMcCoy, kClueScaryChair, true, -1);
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+				Unclickable_Object("CHAIR_HEADZAPPER");
+				Unclickable_Object("CHAIR_BACK");
+				Unclickable_Object("CHAIR_SEAT");
+				Unclickable_Object("CHAIR_STRAPLEGLEFT");
+				Unclickable_Object("CHAIR_STRAPLEGRIGHT");
+#endif // BLADERUNNER_ORIGINAL_BUGS
 			}
 		}
 	}





More information about the Scummvm-git-logs mailing list