[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