[Scummvm-git-logs] scummvm master -> 5b839c53823dba2e45ad8ada241d6c31b15208c3

antoniou79 antoniou at cti.gr
Fri Aug 9 20:33:27 CEST 2019


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

Summary:
5b839c5382 BLADERUNNER: Restore more comments in RC02


Commit: 5b839c53823dba2e45ad8ada241d6c31b15208c3
    https://github.com/scummvm/scummvm/commit/5b839c53823dba2e45ad8ada241d6c31b15208c3
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-08-09T21:29:07+03:00

Commit Message:
BLADERUNNER: Restore more comments in RC02

Changed paths:
    engines/bladerunner/game_constants.h
    engines/bladerunner/script/ai/zuben.cpp
    engines/bladerunner/script/scene/ct02.cpp
    engines/bladerunner/script/scene/rc02.cpp


diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 0e22648..9e481d0 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -491,7 +491,7 @@ enum Flags {
 	kFlagPS09GrigorianTalk1 = 49,
 	kFlagPS09GrigorianVKChosen = 50, // re-purposed, original is never used
 	kFlagGrigorianDislikeMcCoy = 51,
-	// 52 is never used
+	kFlagRC02McCoyCommentsOnVideoScreens = 52, // re-purposed, original is never used
 	kFlagPS09GrigorianDialogue = 53,
 	kFlagPS09GrigorianTalk2 = 54,
 	kFlagGrigorianArrested = 55,
diff --git a/engines/bladerunner/script/ai/zuben.cpp b/engines/bladerunner/script/ai/zuben.cpp
index 38f7f3e..15d7e54 100644
--- a/engines/bladerunner/script/ai/zuben.cpp
+++ b/engines/bladerunner/script/ai/zuben.cpp
@@ -554,25 +554,25 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		switch (Random_Query(1, 8)) {
 		case 1:
 			AI_Movement_Track_Flush(kActorZuben);
-			AI_Movement_Track_Append(kActorZuben, 490, 0);
+			AI_Movement_Track_Append(kActorZuben, 490, 0); // kSetNR01
 			AI_Movement_Track_Append(kActorZuben, 491, 8);
 			AI_Movement_Track_Append(kActorZuben, 492, 2);
 			AI_Movement_Track_Append(kActorZuben, 493, 5);
 			AI_Movement_Track_Append(kActorZuben, 494, 0);
-			AI_Movement_Track_Append(kActorZuben, 39, 10);
-			AI_Movement_Track_Append(kActorZuben, 33, Random_Query(15, 45));
-			AI_Movement_Track_Append(kActorZuben, 39, 10);
+			AI_Movement_Track_Append(kActorZuben, 39, 10); // kSetFreeSlotG
+			AI_Movement_Track_Append(kActorZuben, 33, Random_Query(15, 45)); // kSetFreeSlotA
+			AI_Movement_Track_Append(kActorZuben, 39, 10); // kSetFreeSlotG
 			AI_Movement_Track_Repeat(kActorZuben);
 			break;
 		case 2:
 			AI_Movement_Track_Flush(kActorZuben);
-			AI_Movement_Track_Append(kActorZuben, 495, 0);
+			AI_Movement_Track_Append(kActorZuben, 495, 0); // kSetNR02
 			AI_Movement_Track_Append(kActorZuben, 496, 0);
 			AI_Movement_Track_Append(kActorZuben, 33, Random_Query(15, 45));
 			AI_Movement_Track_Repeat(kActorZuben);
 			break;
 		case 3:
-			AI_Movement_Track_Append(kActorZuben, 498, 0);
+			AI_Movement_Track_Append(kActorZuben, 498, 0); // kSetNR03
 			AI_Movement_Track_Append(kActorZuben, 497, 0);
 			AI_Movement_Track_Append(kActorZuben, 39, 10);
 			AI_Movement_Track_Append(kActorZuben, 33, 30);
@@ -581,7 +581,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 			break;
 		case 4:
 			AI_Movement_Track_Flush(kActorZuben);
-			AI_Movement_Track_Append(kActorZuben, 499, 2);
+			AI_Movement_Track_Append(kActorZuben, 499, 2); // kSetNR05_NR08
 			AI_Movement_Track_Append(kActorZuben, 500, 3);
 			AI_Movement_Track_Append(kActorZuben, 499, 2);
 			AI_Movement_Track_Append(kActorZuben, 39, 10);
@@ -591,7 +591,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 			break;
 		case 5:
 			AI_Movement_Track_Flush(kActorZuben);
-			AI_Movement_Track_Append(kActorZuben, 503, 0);
+			AI_Movement_Track_Append(kActorZuben, 503, 0); // kSetNR05_NR08
 			AI_Movement_Track_Append(kActorZuben, 504, 0);
 			AI_Movement_Track_Append(kActorZuben, 505, 5);
 			AI_Movement_Track_Append(kActorZuben, 39, 10);
@@ -601,7 +601,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 			break;
 		case 6:
 			AI_Movement_Track_Flush(kActorZuben);
-			AI_Movement_Track_Append(kActorZuben, 508, 0);
+			AI_Movement_Track_Append(kActorZuben, 508, 0); // kSetHF01
 			AI_Movement_Track_Append(kActorZuben, 509, 2);
 			AI_Movement_Track_Append(kActorZuben, 39, 10);
 			AI_Movement_Track_Append(kActorZuben, 33, 30);
@@ -610,7 +610,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 			break;
 		case 7:
 			AI_Movement_Track_Flush(kActorZuben);
-			AI_Movement_Track_Append(kActorZuben, 514, 0);
+			AI_Movement_Track_Append(kActorZuben, 514, 0); // kSetHF03
 			AI_Movement_Track_Append(kActorZuben, 515, 0);
 			AI_Movement_Track_Append(kActorZuben, 39, 10);
 			AI_Movement_Track_Append(kActorZuben, 33, 30);
@@ -619,7 +619,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 			break;
 		case 8:
 			AI_Movement_Track_Flush(kActorZuben);
-			AI_Movement_Track_Append(kActorZuben, 510, 0);
+			AI_Movement_Track_Append(kActorZuben, 510, 0); // kSetHF01
 			AI_Movement_Track_Append(kActorZuben, 511, 0);
 			AI_Movement_Track_Append(kActorZuben, 39, 10);
 			AI_Movement_Track_Append(kActorZuben, 33, 40);
diff --git a/engines/bladerunner/script/scene/ct02.cpp b/engines/bladerunner/script/scene/ct02.cpp
index f143e98..07907d1 100644
--- a/engines/bladerunner/script/scene/ct02.cpp
+++ b/engines/bladerunner/script/scene/ct02.cpp
@@ -288,6 +288,7 @@ bool SceneScriptCT02::ClickedOnExit(int exitId) {
 
 bool SceneScriptCT02::ClickedOn2DRegion(int region) {
 	if (_vm->_cutContent
+	    && Global_Variable_Query(kVariableChapter) == 1
 	    && Game_Flag_Query(kFlagCT02McCoyShouldCommentOnDumpedSoup)
 	    && (region == 0 || region == 1)
 	) {
diff --git a/engines/bladerunner/script/scene/rc02.cpp b/engines/bladerunner/script/scene/rc02.cpp
index e307fdf..3aa8cc3 100644
--- a/engines/bladerunner/script/scene/rc02.cpp
+++ b/engines/bladerunner/script/scene/rc02.cpp
@@ -39,6 +39,11 @@ void SceneScriptRC02::InitializeScene() {
 	if (Game_Flag_Query(kFlagRC51Available)) {
 		Scene_Exit_Add_2D_Exit(kRC02ExitRC51, 265, 58, 346, 154, 0);
 	}
+	if (_vm->_cutContent
+	    && Global_Variable_Query(kVariableChapter) == 1
+	    && !Game_Flag_Query(kFlagRC02McCoyCommentsOnVideoScreens)) {
+		Scene_2D_Region_Add(0, 187, 104, 235, 150);// broken screen
+	}
 	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxBRBED5,   50,   1, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxWINDLOP8, 75,   1, 1);
@@ -164,8 +169,8 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {
 	}
 
 	if (_vm->_cutContent
-	    && !Game_Flag_Query(kFlagMcCoyCommentsOnMurderedAnimals)
 	    && Global_Variable_Query(kVariableChapter) == 1
+	    && !Game_Flag_Query(kFlagMcCoyCommentsOnMurderedAnimals)
 	    && !Actor_Clue_Query(kActorMcCoy, kClueLabCorpses)
 	    && (Object_Query_Click("DRAPE01", objectName)
 	        || Object_Query_Click("DRAPE02", objectName)
@@ -175,6 +180,15 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {
 	        || Object_Query_Click("DRAPE06", objectName)
 	        || Object_Query_Click("DRAPE07", objectName))
 	) {
+		if (Player_Query_Agenda() == kPlayerAgendaSurly
+		    || (Player_Query_Agenda() == kPlayerAgendaErratic && Random_Query(0, 1) == 1)
+		) {
+			Actor_Voice_Over(1940, kActorVoiceOver);
+		} else {
+			Actor_Voice_Over(9010, kActorMcCoy);
+			Actor_Voice_Over(9015, kActorMcCoy);
+			Actor_Voice_Over(9020, kActorMcCoy);
+		}
 		Game_Flag_Set(kFlagMcCoyCommentsOnMurderedAnimals);
 		Unclickable_Object("DRAPE01");
 		Unclickable_Object("DRAPE02");
@@ -183,7 +197,6 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {
 		Unclickable_Object("DRAPE05");
 		Unclickable_Object("DRAPE06");
 		Unclickable_Object("DRAPE07");
-		Actor_Voice_Over(1940, kActorVoiceOver);
 		return true;
 	}
 	return false;
@@ -436,6 +449,19 @@ bool SceneScriptRC02::ClickedOnExit(int exitId) {
 }
 
 bool SceneScriptRC02::ClickedOn2DRegion(int region) {
+
+	if (_vm->_cutContent
+	    && Global_Variable_Query(kVariableChapter) == 1
+	    && !Game_Flag_Query(kFlagRC02McCoyCommentsOnVideoScreens)
+	    && region == 0
+	) {
+		Game_Flag_Set(kFlagRC02McCoyCommentsOnVideoScreens);
+		Scene_2D_Region_Remove(0);
+		Actor_Voice_Over(9025, kActorMcCoy);
+		Actor_Voice_Over(9030, kActorMcCoy);
+		Actor_Voice_Over(9035, kActorMcCoy);
+		return true;
+	}
 	return false;
 }
 





More information about the Scummvm-git-logs mailing list