[Scummvm-git-logs] scummvm master -> 5eed7f091d8d96f3265610afe58006715bf16661
antoniou79
antoniou at cti.gr
Sat Jun 1 02:05:18 CEST 2019
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
2ff564d612 BLADERUNNER: Restored comment on statues
f50492e971 BLADERUNNER: Restore comment on RC02 dead animals
127302270b BLADERUNNER: DR01, DR02 improved navigation
5eed7f091d BLADERUNNER: Remove awry clickables from BB01, CT12, CT01
Commit: 2ff564d6120002eb571cbe5f4a1763ac7da9568e
https://github.com/scummvm/scummvm/commit/2ff564d6120002eb571cbe5f4a1763ac7da9568e
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-06-01T02:59:03+03:00
Commit Message:
BLADERUNNER: Restored comment on statues
Changed paths:
engines/bladerunner/game_constants.h
engines/bladerunner/script/scene/dr06.cpp
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index f802969..f672a14 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -847,7 +847,7 @@ enum Flags {
kFlagHC02HawkersBarkeepBraceletTalk = 405,
kFlagUnused406 = 406, // is never checked
kFlagUnused407 = 407, // is never checked
- // 408 is never used
+ kFlagMcCoyCommentsOnStatues = 408, // re-purposed. Original: 408 is never used
kFlagMA01GaffApproachMcCoy = 409,
kFlagBB06AndroidDestroyed = 410,
kFlagKP02toUG12 = 411,
diff --git a/engines/bladerunner/script/scene/dr06.cpp b/engines/bladerunner/script/scene/dr06.cpp
index e8fa2f6..037f10d 100644
--- a/engines/bladerunner/script/scene/dr06.cpp
+++ b/engines/bladerunner/script/scene/dr06.cpp
@@ -37,6 +37,11 @@ void SceneScriptDR06::InitializeScene() {
) {
Scene_Exit_Add_2D_Exit(1, 0, 272, 46, 477, 2);
}
+ if (_vm->_cutContent && !Game_Flag_Query(kFlagMcCoyCommentsOnFans)) {
+ Scene_2D_Region_Add(0, 300, 80, 360, 190); // statue 1
+ Scene_2D_Region_Add(1, 60, 120, 155, 260); // statue 2
+ Scene_2D_Region_Add(2, 378, 270, 420, 320); // statue 3
+ }
Ambient_Sounds_Add_Looping_Sound(kSfxSKINBED1, 25, 0, 1);
Ambient_Sounds_Add_Sound(kSfxSWEEP3, 5, 60, 20, 20, -100, 100, -101, -101, 0, 0);
@@ -225,6 +230,18 @@ bool SceneScriptDR06::ClickedOnExit(int exitId) {
}
bool SceneScriptDR06::ClickedOn2DRegion(int region) {
+if (_vm->_cutContent) {
+ if (!Game_Flag_Query(kFlagMcCoyCommentsOnStatues) && (region == 0 || region == 1 || region == 2) ) {
+ Game_Flag_Set(kFlagMcCoyCommentsOnStatues);
+ Actor_Face_Heading(kActorMcCoy, 88, true);
+ Actor_Voice_Over(810, kActorVoiceOver);
+ Actor_Voice_Over(820, kActorVoiceOver);
+ Scene_2D_Region_Remove(0);
+ Scene_2D_Region_Remove(1);
+ Scene_2D_Region_Remove(2);
+ return true;
+ }
+ }
return false;
}
Commit: f50492e971e076c59a3928b6afd5c0eaa6919aa5
https://github.com/scummvm/scummvm/commit/f50492e971e076c59a3928b6afd5c0eaa6919aa5
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-06-01T02:59:03+03:00
Commit Message:
BLADERUNNER: Restore comment on RC02 dead animals
Also fix some awry clickable objects in RC51
Changed paths:
engines/bladerunner/game_constants.h
engines/bladerunner/script/scene/rc02.cpp
engines/bladerunner/script/scene/rc51.cpp
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index f672a14..da3d356 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -444,7 +444,7 @@ enum Flags {
kFlagGamePlayedInRestoredContentMode = 2, // Re-purposed. Original: 2 is never used
kFlagRC01GotOfficersStatement = 3,
kFlagRC02Left = 4,
- // 5 is never used
+ kFlagMcCoyCommentsOnMurderedAnimals = 5, // Re-purposed. Original: 5 is never used
kFlagRC02RunciterInterview = 6,
kFlagCT01TalkToHowieAboutDeadZuben = 7, // Re-purposed. Original: 7 is never used
kFlagRC01toRC02 = 8,
diff --git a/engines/bladerunner/script/scene/rc02.cpp b/engines/bladerunner/script/scene/rc02.cpp
index 15d8cfe..049427f 100644
--- a/engines/bladerunner/script/scene/rc02.cpp
+++ b/engines/bladerunner/script/scene/rc02.cpp
@@ -75,12 +75,37 @@ void SceneScriptRC02::SceneLoaded() {
Clickable_Object("SCRTY CA03");
Unclickable_Object("GRL_DSKLEG");
Unclickable_Object("CURTAIN");
- Unclickable_Object("DRAPE01");
- Unclickable_Object("DRAPE02");
- Unclickable_Object("DRAPE03");
- Unclickable_Object("DRAPE05");
- Unclickable_Object("DRAPE06");
- Unclickable_Object("DRAPE07");
+ if (_vm->_cutContent) {
+ if (Global_Variable_Query(kVariableChapter) == 1
+ && !Game_Flag_Query(kFlagMcCoyCommentsOnMurderedAnimals)
+ && !Actor_Clue_Query(kActorMcCoy, kClueLabCorpses)
+ ) {
+ Clickable_Object("DRAPE01");
+ Clickable_Object("DRAPE02");
+ Clickable_Object("DRAPE03");
+ Clickable_Object("DRAPE04");
+ Clickable_Object("DRAPE05");
+ Clickable_Object("DRAPE06");
+ Clickable_Object("DRAPE07");
+ } else {
+ Unclickable_Object("DRAPE01");
+ Unclickable_Object("DRAPE02");
+ Unclickable_Object("DRAPE03");
+ Unclickable_Object("DRAPE04");
+ Unclickable_Object("DRAPE05");
+ Unclickable_Object("DRAPE06");
+ Unclickable_Object("DRAPE07");
+ }
+ } else {
+ // original code
+ Unclickable_Object("DRAPE01");
+ Unclickable_Object("DRAPE02");
+ Unclickable_Object("DRAPE03");
+ Unclickable_Object("DRAPE05");
+ Unclickable_Object("DRAPE06");
+ Unclickable_Object("DRAPE07");
+ }
+
if (Actor_Clue_Query(kActorMcCoy, kClueRuncitersVideo) || Global_Variable_Query(kVariableChapter) > 1) {
Unclickable_Object("SCRTY CA03");
}
@@ -133,6 +158,30 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {
return true;
}
}
+
+ if (_vm->_cutContent
+ && !Game_Flag_Query(kFlagMcCoyCommentsOnMurderedAnimals)
+ && Global_Variable_Query(kVariableChapter) == 1
+ && !Actor_Clue_Query(kActorMcCoy, kClueLabCorpses)
+ && (Object_Query_Click("DRAPE01", objectName)
+ || Object_Query_Click("DRAPE02", objectName)
+ || Object_Query_Click("DRAPE03", objectName)
+ || Object_Query_Click("DRAPE04", objectName)
+ || Object_Query_Click("DRAPE05", objectName)
+ || Object_Query_Click("DRAPE06", objectName)
+ || Object_Query_Click("DRAPE07", objectName))
+ ) {
+ Game_Flag_Set(kFlagMcCoyCommentsOnMurderedAnimals);
+ Unclickable_Object("DRAPE01");
+ Unclickable_Object("DRAPE02");
+ Unclickable_Object("DRAPE03");
+ Unclickable_Object("DRAPE04");
+ Unclickable_Object("DRAPE05");
+ Unclickable_Object("DRAPE06");
+ Unclickable_Object("DRAPE07");
+ Actor_Voice_Over(1940, kActorVoiceOver);
+ return true;
+ }
return false;
}
diff --git a/engines/bladerunner/script/scene/rc51.cpp b/engines/bladerunner/script/scene/rc51.cpp
index cc54684..9cac458 100644
--- a/engines/bladerunner/script/scene/rc51.cpp
+++ b/engines/bladerunner/script/scene/rc51.cpp
@@ -47,6 +47,19 @@ void SceneScriptRC51::SceneLoaded() {
Unclickable_Object("GRL_DSK");
Unclickable_Object("GRL_DSKLEG");
Unclickable_Object("CURTAIN");
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ Unclickable_Object("SCRTY CA03");
+ Unclickable_Object("DRAPE01");
+ Unclickable_Object("DRAPE02");
+ Unclickable_Object("DRAPE03");
+ Unclickable_Object("DRAPE04");
+ Unclickable_Object("DRAPE05");
+ Unclickable_Object("DRAPE06");
+ Unclickable_Object("DRAPE07");
+ Unclickable_Object("DRAPE08");
+#endif // BLADERUNNER_ORIGINAL_BUGS
+
if (!Game_Flag_Query(kFlagRC51ChopstickWrapperTaken)) {
Item_Add_To_World(kItemChopstickWrapper, kModelAnimationChopstickWrapper, kSetRC02_RC51, 47.56f, -1238.89f, 108048.61f, 0, 6, 18, false, true, false, true);
}
Commit: 127302270b81bbd8f1a66451d90632b7bd764e7f
https://github.com/scummvm/scummvm/commit/127302270b81bbd8f1a66451d90632b7bd764e7f
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-06-01T02:59:03+03:00
Commit Message:
BLADERUNNER: DR01, DR02 improved navigation
Changed paths:
engines/bladerunner/script/scene/dr01.cpp
engines/bladerunner/script/scene/dr02.cpp
diff --git a/engines/bladerunner/script/scene/dr01.cpp b/engines/bladerunner/script/scene/dr01.cpp
index 4b609c8..ad6f441 100644
--- a/engines/bladerunner/script/scene/dr01.cpp
+++ b/engines/bladerunner/script/scene/dr01.cpp
@@ -129,11 +129,36 @@ bool SceneScriptDR01::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptDR01::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -835.0f, -0.04f, -118.0f, 0, true, false, false)) {
- Async_Actor_Walk_To_XYZ(kActorMcCoy, -911.0f, -0.04f, -118.0f, 0, false);
- Ambient_Sounds_Adjust_Looping_Sound(kSfxFACTAMB2, 10, -100, 1);
- Game_Flag_Set(kFlagDR01toDR02);
- Set_Enter(kSetDR01_DR02_DR04, kSceneDR02);
+ if (_vm->_cutContent) {
+ float x, y, z;
+ Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
+ bool exitFlag = true;
+ bool fromFarTop = false;
+ if (x < -1088) {
+ fromFarTop = true;
+ exitFlag = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1149.80f, 0.56f, -94.45f, 0, true, false, false);
+ } else if (-1088 < x && x < -642) {
+ exitFlag = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1271.89f, 6.71f, -268.63f, 0, true, false, false);
+ } else {
+ exitFlag = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -835.0f, -0.04f, -118.0f, 0, true, false, false);
+ }
+ if (!exitFlag) {
+ if (fromFarTop) {
+ Async_Actor_Walk_To_XYZ(kActorMcCoy, -1066.51f, 0.51f, -110.60f, 0, false);
+ } else {
+ Async_Actor_Walk_To_XYZ(kActorMcCoy, -911.0f, -0.04f, -118.0f, 0, false);
+ }
+ Ambient_Sounds_Adjust_Looping_Sound(kSfxFACTAMB2, 10, -100, 1);
+ Game_Flag_Set(kFlagDR01toDR02);
+ Set_Enter(kSetDR01_DR02_DR04, kSceneDR02);
+ }
+ } else {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -835.0f, -0.04f, -118.0f, 0, true, false, false)) {
+ Async_Actor_Walk_To_XYZ(kActorMcCoy, -911.0f, -0.04f, -118.0f, 0, false);
+ Ambient_Sounds_Adjust_Looping_Sound(kSfxFACTAMB2, 10, -100, 1);
+ Game_Flag_Set(kFlagDR01toDR02);
+ Set_Enter(kSetDR01_DR02_DR04, kSceneDR02);
+ }
}
return true;
}
diff --git a/engines/bladerunner/script/scene/dr02.cpp b/engines/bladerunner/script/scene/dr02.cpp
index 08faac0..0a07a50 100644
--- a/engines/bladerunner/script/scene/dr02.cpp
+++ b/engines/bladerunner/script/scene/dr02.cpp
@@ -40,6 +40,11 @@ void SceneScriptDR02::InitializeScene() {
if (Game_Flag_Query(kFlagBB01Available)) {
Scene_Exit_Add_2D_Exit(2, 95, 0, 148, 292, 0);
}
+ if (_vm->_cutContent) {
+ // improved navigation of this set of scenes
+ Scene_Exit_Add_2D_Exit(3, 0, 0, 34, 479, 3);
+ Scene_Exit_Add_2D_Exit(4, 34, 445, 605, 479, 2);
+ }
Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
Ambient_Sounds_Remove_All_Looping_Sounds(0);
@@ -72,6 +77,8 @@ void SceneScriptDR02::SceneLoaded() {
Obstacle_Object("PARKMETR01", true);
Obstacle_Object("Z2ENTRYDR", true);
Obstacle_Object("Z2DR2", true);
+ // there are two objects named "TRASH CAN WITH FIRE" in the scene (but not visible)
+ // and none of them have to be set clickable
Clickable_Object("TRASH CAN WITH FIRE");
Clickable_Object("U2 CHEWDOOR");
Clickable_Object("MMTRASHCAN");
@@ -86,6 +93,9 @@ void SceneScriptDR02::SceneLoaded() {
Clickable_Object("TRANSFORMER 01");
Clickable_Object("TRANSFORMER 02");
Clickable_Object("V2CANPIPE02");
+ // there are two objects named "TRASH CAN WITH FIRE" in the scene (but not visible)
+ // and none of them have to be set clickable
+ // and also reseting them here would only reset one of them - and one remains as clickable
Unclickable_Object("TRASH CAN WITH FIRE");
Unclickable_Object("U2 CHEWDOOR");
Unclickable_Object("MMTRASHCAN");
@@ -130,6 +140,25 @@ bool SceneScriptDR02::ClickedOnExit(int exitId) {
return true;
}
+ if (_vm->_cutContent
+ && (exitId == 3 || exitId == 4)) {
+ if ((exitId == 3 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1162.45f, 0.78f, -167.45f, 0, true, false, false))
+ || (exitId == 4 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, -975.17f, 0.42f, -120.04f, 0, true, false, false))
+ ) {
+ if (exitId == 3) {
+ Async_Actor_Walk_To_XYZ(kActorMcCoy, -1176.40f, 0.58f, -86.02f, 0, false);
+ } else {
+ Async_Actor_Walk_To_XYZ(kActorMcCoy, -845.00f, 0.37f, -31.60f, 0, false);
+ }
+ Game_Flag_Set(kFlagDR02toDR01);
+ Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
+ }
+ Ambient_Sounds_Adjust_Looping_Sound(kSfxHUMMER3, 12, -101, 1);
+ Ambient_Sounds_Adjust_Looping_Sound(kSfxBIGFAN2, 14, -101, 1);
+ return true;
+ }
+
+
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1162.0f, 7.18f, -322.0f, 0, true, false, false)) {
if (Global_Variable_Query(kVariableChapter) > 2) {
Commit: 5eed7f091d8d96f3265610afe58006715bf16661
https://github.com/scummvm/scummvm/commit/5eed7f091d8d96f3265610afe58006715bf16661
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-06-01T02:59:04+03:00
Commit Message:
BLADERUNNER: Remove awry clickables from BB01, CT12, CT01
Changed paths:
engines/bladerunner/script/scene/bb01.cpp
engines/bladerunner/script/scene/ct01.cpp
engines/bladerunner/script/scene/ct12.cpp
engines/bladerunner/set.cpp
diff --git a/engines/bladerunner/script/scene/bb01.cpp b/engines/bladerunner/script/scene/bb01.cpp
index 34ddc47..488022d 100644
--- a/engines/bladerunner/script/scene/bb01.cpp
+++ b/engines/bladerunner/script/scene/bb01.cpp
@@ -88,6 +88,12 @@ void SceneScriptBB01::InitializeScene() {
void SceneScriptBB01::SceneLoaded() {
Obstacle_Object("COLUME", true);
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ Unclickable_Object("OBJECT03");
+ Unclickable_Object("OBJECT04");
+ Unclickable_Object("OBJECT05");
+#endif // BLADERUNNER_ORIGINAL_BUGS
}
bool SceneScriptBB01::MouseClick(int x, int y) {
diff --git a/engines/bladerunner/script/scene/ct01.cpp b/engines/bladerunner/script/scene/ct01.cpp
index 754d939..34a2a5b 100644
--- a/engines/bladerunner/script/scene/ct01.cpp
+++ b/engines/bladerunner/script/scene/ct01.cpp
@@ -146,6 +146,11 @@ void SceneScriptCT01::SceneLoaded() {
Unclickable_Object("TURBINE");
Unclickable_Object("SPINNER BODY");
Unclickable_Object("OBJECT04");
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ Unclickable_Object("OBJECT03");
+ Unclickable_Object("OBJECT05");
+#endif // BLADERUNNER_ORIGINAL_BUGS
}
bool SceneScriptCT01::MouseClick(int x, int y) {
diff --git a/engines/bladerunner/script/scene/ct12.cpp b/engines/bladerunner/script/scene/ct12.cpp
index 7c69762..8cd5210 100644
--- a/engines/bladerunner/script/scene/ct12.cpp
+++ b/engines/bladerunner/script/scene/ct12.cpp
@@ -120,6 +120,12 @@ void SceneScriptCT12::SceneLoaded() {
Unobstacle_Object("SPINNER BODY", true);
Unobstacle_Object("HOWFLOOR", true);
Unclickable_Object("TURBINE");
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ Unclickable_Object("OBJECT03");
+ Unclickable_Object("OBJECT04");
+ Unclickable_Object("OBJECT05");
+#endif // BLADERUNNER_ORIGINAL_BUGS
}
bool SceneScriptCT12::MouseClick(int x, int y) {
diff --git a/engines/bladerunner/set.cpp b/engines/bladerunner/set.cpp
index 2e3bd44..6e29a37 100644
--- a/engines/bladerunner/set.cpp
+++ b/engines/bladerunner/set.cpp
@@ -579,27 +579,38 @@ void Set::patchInAdditionalObjectsInSet() {
*/
void Set::patchOutBadObjectsFromSet() {
int removedIndexRef = 0;
- switch (_vm->_scene->getSceneId()) {
- case kSceneNR11:
- for (int objectId = 0; objectId < _objectCount; ++objectId) {
+ bool removeCurrObj = false;
+ for (int objectId = 0; objectId < _objectCount; ++objectId) {
+ switch (_vm->_scene->getSceneId()) {
+ case kSceneNR11:
if ((objectId == 46 && _objects[objectId].name == "BOX53")
|| (objectId == 36 && _objects[objectId].name == "BOX43")
- || (objectId == 37 && _objects[objectId].name == "BOX44")
+ || (objectId == 37 && _objects[objectId].name == "BOX44")
|| (objectId == 13 && _objects[objectId].name == "LOFT04")
) {
// Removing obj 46, 36, 37 (BOX53, BOX43, BOX44) fixes paths in the scene
// Removing obj 13 (LOFT04) fixes duplicate named box that confuses the engine
- _objects[objectId].name = Common::String::format("REMOVED%02d", removedIndexRef++);
- _objects[objectId].isObstacle = 0;
- _objects[objectId].isClickable = 0;
- _objects[objectId].isHotMouse = 0;
- _objects[objectId].unknown1 = 0;
- _objects[objectId].isTarget = 0;
+ removeCurrObj = true;
}
+ break;
+ case kSceneDR02:
+ if ((objectId == 44 && _objects[objectId].name == "TRASH CAN WITH FIRE")) {
+ // Removing obj 44 (TRASH CAN WITH FIRE) fixes duplicate named box (id: 29) that confuses the engine
+ removeCurrObj = true;
+ }
+ break;
+ default:
+ break;
+ }
+ if (removeCurrObj) {
+ removeCurrObj = false;
+ _objects[objectId].name = Common::String::format("REMOVED%02d", removedIndexRef++);
+ _objects[objectId].isObstacle = 0;
+ _objects[objectId].isClickable = 0;
+ _objects[objectId].isHotMouse = 0;
+ _objects[objectId].unknown1 = 0;
+ _objects[objectId].isTarget = 0;
}
- break;
- default:
- break;
}
return;
}
More information about the Scummvm-git-logs
mailing list