[Scummvm-git-logs] scummvm master -> 8749a2bb367190d16cbf50287cc7752d5984be48

antoniou79 a.antoniou79 at gmail.com
Sun Aug 22 21:09:58 UTC 2021


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:
8749a2bb36 BLADERUNNER: RESTOREDCONTENT: Fix bugs in Crazylegs arrest


Commit: 8749a2bb367190d16cbf50287cc7752d5984be48
    https://github.com/scummvm/scummvm/commit/8749a2bb367190d16cbf50287cc7752d5984be48
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2021-08-23T00:09:51+03:00

Commit Message:
BLADERUNNER: RESTOREDCONTENT: Fix bugs in Crazylegs arrest

Also restore a few lines for dialogue with Runciter, and a Steele cue

And added notes for bugs to resolve in the future, the BLOND WOMAN dialogue bug with Early Q in particular

Changed paths:
    engines/bladerunner/game_constants.h
    engines/bladerunner/script/ai/blimp_guy.cpp
    engines/bladerunner/script/ai/runciter.cpp
    engines/bladerunner/script/kia_script.cpp
    engines/bladerunner/script/scene/ct11.cpp
    engines/bladerunner/script/scene/hf05.cpp
    engines/bladerunner/script/scene/nr05.cpp
    engines/bladerunner/script/scene/ps09.cpp
    engines/bladerunner/script/scene/rc02.cpp


diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 4840e1ae88..380f6971ac 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -340,7 +340,7 @@ enum Clues {
 	kClueGrigoriansResponse1               = 234, // UNUSED
 	kClueGrigoriansResponse2               = 235, // UNUSED
 	kClueCrazysInvolvement                 = 236, // Restored content - Object -- Original - (Intangible) - UNOBTAINED - Not checked in KIA - Has weight for Crazylegs
-	kClueGrigoriansResources               = 237, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked for Crazylegs dialogue
+	kClueGrigoriansResources               = 237, // Restored content -- Original -(Intangible) - UNOBTAINED - Not checked in KIA - Checked for Crazylegs dialogue
 	kClueMcCoyPulledAGun                   = 238, // UNUSED - TODO: Was this for Crazylegs being offended?
 	kClueMcCoyIsStupid                     = 239, // (Intangible) - Obtained by Leary - Not checked in KIA - Checked in Steele, Clovis, Leary AI - added to many actors DBs
 	kClueMcCoyIsAnnoying                   = 240, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis, Leary AI - added to many actors DBs
@@ -1178,7 +1178,8 @@ enum Variables {
 	kVariableUG18CountUpForNextTrainAction =  4, // Re-purposed. Original: not used
 	kVariableUG18StateOfTrains             =  5, // Re-purposed. Original: not used
 	kVariableUG18StateOfGuzzaCorpse        =  6, // Re-purposed. Original: not used
-	// variables 7 - 8 are not used
+	kVariableRC02Act1RunciterBanter        =  7, // Re-purposed. Original: not used
+	// variable 8 is not used
 	kVariablePoliceMazeScore               =  9,
 	kVariablePoliceMazePS10TargetCounter   = 10,
 	kVariablePoliceMazePS11TargetCounter   = 11,
diff --git a/engines/bladerunner/script/ai/blimp_guy.cpp b/engines/bladerunner/script/ai/blimp_guy.cpp
index f98f75c900..d892e61cc2 100644
--- a/engines/bladerunner/script/ai/blimp_guy.cpp
+++ b/engines/bladerunner/script/ai/blimp_guy.cpp
@@ -35,9 +35,10 @@ namespace BladeRunner {
 //  - RC03
 // and one cutscene:
 //  - TB_FLY
-// In the in-game scene his speech is played as ambient sound using Ambient_Sounds_Add_Speech_Sound()
-// It is thus not subtitled as of yet.
-// TODO: maybe if we support dual subtitles being displayed on-screen
+// In the in-game scenes (not cutscenes) this speech is played as ambient sound
+// using Ambient_Sounds_Add_Speech_Sound() and is thus not subtitles as of yet.
+// TODO: maybe we could support dual subtitles being displayed on-screen for cases when Ambient Speech Sound
+// would overlap over character speech.
 // The Blimp Guy's speech in the TB_FLY VQA cutscene is subtitled.
 //
 // The FRA and ESP versions do not use the Blimp's horn sound at all during any of the announcements
diff --git a/engines/bladerunner/script/ai/runciter.cpp b/engines/bladerunner/script/ai/runciter.cpp
index 5cd72cb697..18a8becc98 100644
--- a/engines/bladerunner/script/ai/runciter.cpp
+++ b/engines/bladerunner/script/ai/runciter.cpp
@@ -140,6 +140,9 @@ void AIScriptRunciter::OtherAgentEnteredCombatMode(int otherActorId, int combatM
 				Actor_Says(kActorRunciter, 640, 17);
 				Actor_Says(kActorMcCoy, 4790, -1);
 				Actor_Says(kActorRunciter, 650, 18);
+				if (_vm->_cutContent) {
+					Actor_Says(kActorMcCoy, 4800, -1);
+				}
 				Actor_Says(kActorRunciter, 660, 19);
 				Actor_Clue_Acquire(kActorMcCoy, kClueRuncitersConfession1, true, kActorRunciter);
 			} else {
diff --git a/engines/bladerunner/script/kia_script.cpp b/engines/bladerunner/script/kia_script.cpp
index 1a342aa25e..dbe8679e0f 100644
--- a/engines/bladerunner/script/kia_script.cpp
+++ b/engines/bladerunner/script/kia_script.cpp
@@ -844,14 +844,15 @@ void KIAScript::SCRIPT_KIA_DLL_Play_Clue_Asset_Script(int notUsed, int clueId) {
 		KIA_Play_Actor_Dialogue(kActorSteele, 3470);
 		KIA_Play_Actor_Dialogue(kActorGrigorian, 1300);
 		KIA_Play_Actor_Dialogue(kActorGrigorian, 1310);
-		if (_vm->_cutContent
-		    && (_vm->_language == Common::ES_ESP
-		        || _vm->_language == Common::IT_ITA)
-		) {
-			//
-			// in ITA and ESP the 3490 quote is the second half of the sentence starting in previous quote (3480)
+		if (_vm->_cutContent) {
+			KIA_Play_Actor_Dialogue(kActorSteele, 3260); // And eliminating the glitches...
 			KIA_Play_Actor_Dialogue(kActorSteele, 3480);
-			KIA_Play_Actor_Dialogue(kActorSteele, 3490);
+		    if (_vm->_language == Common::ES_ESP
+		        || _vm->_language == Common::IT_ITA) {
+				//
+				// in ITA and ESP the 3490 quote is the second half of the sentence starting in previous quote (3480)
+				KIA_Play_Actor_Dialogue(kActorSteele, 3490);
+			}
 		} else {
 			// the 3490 quote is *BOOP* in the ENG and DEU versions
 			// the 3490 quote is also redundant in FRA version, since it's only the first half of the previous quote (3480)
diff --git a/engines/bladerunner/script/scene/ct11.cpp b/engines/bladerunner/script/scene/ct11.cpp
index ef33d84519..66d7ffd89e 100644
--- a/engines/bladerunner/script/scene/ct11.cpp
+++ b/engines/bladerunner/script/scene/ct11.cpp
@@ -69,12 +69,14 @@ void SceneScriptCT11::SceneLoaded() {
 
 		if (_vm->_cutContent
 		    && !Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote)
-		    && (Game_Flag_Query(kFlagDektoraIsReplicant)
-		        || !Game_Flag_Query(kFlagGordoIsReplicant))
+		    && (!Game_Flag_Query(kFlagDektoraIsReplicant)
+		        && !Game_Flag_Query(kFlagGordoIsReplicant))
 		) {
 			// The car is only bought by Reps from CrazyLegs
 			// if Dektora is a Replicant
-			// or if Dektora  is human and Gordo is also human
+			// or if Dektora  is human and Gordo is also human (so Clovis bought it from Crazylegs)
+			// We place the note only for the second case here.
+			// For the first case, a CrazyLegs advertisement (plus note) is placed in Dektora's room (nr07, kClueCrazysInvolvement)
 			Item_Add_To_World(kItemNote, kModelAnimationGrigoriansNote, kSetCT11, 641.21f, 26.0f, 472.0f, 304, 12, 12, false, true, false, true);
 			Scene_2D_Region_Add(2, 505, 321, 519, 332);
 		}
diff --git a/engines/bladerunner/script/scene/hf05.cpp b/engines/bladerunner/script/scene/hf05.cpp
index 3a3221f621..a3183fc491 100644
--- a/engines/bladerunner/script/scene/hf05.cpp
+++ b/engines/bladerunner/script/scene/hf05.cpp
@@ -400,6 +400,7 @@ void SceneScriptHF05::dialogueWithCrazylegs1() {
 		DM_Add_To_List_Never_Repeat_Once_Selected(1180, 3, 6, 7); // ADVERTISEMENT
 	}
 #else
+	// Restored feature - Original: it is impossible to obtain this clue
 	if (Actor_Clue_Query(kActorMcCoy, kClueCrazysInvolvement)
 	 && Global_Variable_Query(kVariableChapter) == 3
 	) {
@@ -426,6 +427,9 @@ void SceneScriptHF05::dialogueWithCrazylegs1() {
 	) {
 		// kClueDektorasDressingRoom is acquired from EarlyQ at his office (nr04)
 		// McCoy should only ask about this if CrazyLegs already told him at least about the sexy blonde (kClueCrazylegsInterview1)
+		// TODO Maybe McCoy can show the kClueWomanInAnimoidRow
+		//      - if he has the kClueChinaBar (where she is with Clovis) too?
+		//      - or if he met Dektora already.
 		DM_Add_To_List_Never_Repeat_Once_Selected(1200, 5, 5, 3); // WOMAN'S PHOTO
 	}
 #endif // BLADERUNNER_ORIGINAL_BUGS
@@ -434,15 +438,24 @@ void SceneScriptHF05::dialogueWithCrazylegs1() {
 	) {
 		DM_Add_To_List_Never_Repeat_Once_Selected(1210, 4, 6, 2); // LUCY'S PHOTO
 	}
-	if (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansResources) // cut feature? there is no way how to obtain this clue
-	 || (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote) // cut feature? there is no way how to obtain this clue either
+#if BLADERUNNER_ORIGINAL_BUGS
+	if (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansResources) // it is impossible to obtain this clue
+	 || (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote) // it is impossible to obtain this clue either
 	  && Global_Variable_Query(kVariableChapter) == 3
 	 )
 	) {
-		// TODO recheck the condition here. The chapter check should probably be done in both cases
+		DM_Add_To_List_Never_Repeat_Once_Selected(1220, -1, 2, 8); // GRIGORIAN
+	}
+#else
+	if (Global_Variable_Query(kVariableChapter) == 3
+	    && (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansResources) // Restored feature - Original: it is impossible to obtain this clue
+	        || Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote)) // Restored feature - Original: it is impossible to obtain this clue either
+	) {
+		// The chapter check is done for both cases:
 		//      either McCoy has kClueGrigoriansResources or kClueGrigoriansNote
 		DM_Add_To_List_Never_Repeat_Once_Selected(1220, -1, 2, 8); // GRIGORIAN
 	}
+#endif
 	if (Actor_Clue_Query(kActorMcCoy, kClueCarRegistration1)
 	 || Actor_Clue_Query(kActorMcCoy, kClueCarRegistration3)
 	) {
@@ -473,6 +486,9 @@ void SceneScriptHF05::dialogueWithCrazylegs1() {
 			Item_Pickup_Spin_Effect_From_Actor(kModelAnimationTyrellSalesPamphlet, kActorMcCoy, 0, 0);
 		}
 		Actor_Says(kActorCrazylegs, 510, kAnimationModeTalk);
+		if (_vm->_cutContent) {
+			Actor_Says(kActorCrazylegs, 520, kAnimationModeTalk);
+		}
 		Actor_Says(kActorMcCoy, 1920, 23);
 		if (_vm->_cutContent) {
 			// McCoy shows the note he found inside the sales pamphlet (from Dektora's Vanity drawer) to CrazyLegs
@@ -531,11 +547,22 @@ void SceneScriptHF05::dialogueWithCrazylegs1() {
 		break;
 
 	case 1220: // GRIGORIAN
+		// This dialogue does not mention Grigorian's note explicitly
+		// but it does mention Grigorian talking about friends with resources.
+		// So it needs that clue as a prerequisite
+		// for that specific part of the dialogue (McCoy's cues only)
 		Actor_Says(kActorMcCoy, 1910, kAnimationModeTalk);
 		Actor_Says(kActorCrazylegs, 780, 12);
 		Actor_Says(kActorMcCoy, 2045, 17);
+#if BLADERUNNER_ORIGINAL_BUGS
 		Actor_Says(kActorMcCoy, 2050, kAnimationModeTalk);
 		Actor_Says(kActorCrazylegs, 790, 14);
+#else
+		if (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansResources)) {
+			Actor_Says(kActorMcCoy, 2050, kAnimationModeTalk);
+			Actor_Says(kActorCrazylegs, 790, 14);
+		}
+#endif
 		Actor_Says(kActorMcCoy, 2055, 19);
 		Actor_Says(kActorMcCoy, 2060, -1);
 		Actor_Says(kActorCrazylegs, 800, 15);
@@ -584,7 +611,7 @@ void SceneScriptHF05::dialogueWithCrazylegs1() {
 	}
 }
 
-void SceneScriptHF05::dialogueWithCrazylegs2() { // cut feature? it is impossible to trigger this dialog
+void SceneScriptHF05::dialogueWithCrazylegs2() { // Restored feature - Original: it is impossible to obtain this clue
 	Dialogue_Menu_Clear_List();
 	DM_Add_To_List_Never_Repeat_Once_Selected(1250, -1, -1, 10); // ARREST
 	DM_Add_To_List_Never_Repeat_Once_Selected(1260, 10,  5, -1); // WARNING
diff --git a/engines/bladerunner/script/scene/nr05.cpp b/engines/bladerunner/script/scene/nr05.cpp
index ceac79068d..80852a7eac 100644
--- a/engines/bladerunner/script/scene/nr05.cpp
+++ b/engines/bladerunner/script/scene/nr05.cpp
@@ -311,6 +311,9 @@ void SceneScriptNR05::talkToEarlyQ() {
 			// It makes no sense that McCoy will next find EarlyQ at the VIP area (this area, nr05)
 			// and casually ask him about who the woman is in this photo.
 			// (McCoy won't be able to even find EarlyQ there again).
+			// Maybe it's another photo of Dektora needed here
+			// --- Animoid Row? Why would McCoy suspect that woman?
+			// --- Hawker's Bar? Can we find a Dektora pic in SHP resources?
 			DM_Add_To_List_Never_Repeat_Once_Selected(910, 5, 5, 5); // BLOND WOMAN
 		}
 	}
@@ -362,9 +365,19 @@ void SceneScriptNR05::talkToEarlyQ() {
 		Actor_Says(kActorMcCoy, 3515, 14);
 		Actor_Modify_Friendliness_To_Other(kActorEarlyQ, kActorMcCoy, -1);
 		if (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote)) { // cut content? this clue is unobtanium
+			// A BUG?
 			// TODO why is Grigorian's Note needed here, for EarlyQ to reveal who Hecuba is?
 			// TODO could CrazysInvolvement also do here?
 			//      maybe another clue should be required in its place or some additional ones?
+			// Early Q acknowledges he knows Dektora, and also reveals Hecuba is her stage name
+			// (Early Q also mentions Hecuba in the JEWELRY question but does not connect her with Dektora)
+			// This dialogue thread assumes:
+			// - Early Q has told McCoy about JEWELRY (weak, not necessarily)
+			// --- If McCoy has not discussed the JEWELRY topic with EarlyQ yet, 
+			// --- then he should NOT be able to do this AFTER this conversation IF McCoy has the clue condition
+			// --- for this specific bit of dialogue which reveals Hecuba's identity.
+			// --- Otherwiase it would create inconsistency to what is known about Hecuba
+			// - Dektora/Hecuba has *not* performed her act yet
 			Actor_Says(kActorEarlyQ, 580, 12);
 			Actor_Says(kActorMcCoy, 3560, 13);
 			Actor_Says(kActorEarlyQ, 590, 16);
@@ -374,6 +387,7 @@ void SceneScriptNR05::talkToEarlyQ() {
 			Actor_Says(kActorEarlyQ, 620, 15);
 			Actor_Says(kActorMcCoy, 3575, 13);
 		} else {
+			// Early Q denies recongnizing Dektora
 			Actor_Says(kActorEarlyQ, 640, 13);
 			Actor_Says(kActorMcCoy, 3580, 15);
 			Actor_Says(kActorEarlyQ, 660, 12);
diff --git a/engines/bladerunner/script/scene/ps09.cpp b/engines/bladerunner/script/scene/ps09.cpp
index 46792c2373..c9d7b4be59 100644
--- a/engines/bladerunner/script/scene/ps09.cpp
+++ b/engines/bladerunner/script/scene/ps09.cpp
@@ -321,7 +321,7 @@ void SceneScriptPS09::dialogueWithGrigorian() {
 			DM_Add_To_List_Never_Repeat_Once_Selected(200, -1, 3, 6); // VOIGT-KAMPFF
 		}
 	}
-	if (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote) // cut feature? it is impossible to obtain this clue
+	if (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote) // Restored feature - Original: it is impossible to obtain this clue
 	 && (Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewA)
 	  || Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB1)
 	  || Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB2)
@@ -476,6 +476,7 @@ void SceneScriptPS09::dialogueWithGrigorian() {
 			Actor_Says(kActorMcCoy, 4355, 19);
 			Actor_Says(kActorCrazylegs, 1040, kAnimationModeTalk);
 			Actor_Says(kActorMcCoy, 4360, 16);
+			// NOTE McCoy's 4365 cue does NOT exist in the game files
 			Actor_Says(kActorMcCoy, 4365, 14);
 			Actor_Says(kActorCrazylegs, 1050, kAnimationModeTalk);
 			Actor_Says(kActorCrazylegs, 1060, kAnimationModeTalk);
@@ -509,6 +510,7 @@ void SceneScriptPS09::dialogueWithGrigorian() {
 				//       in order to show up in the ESP version
 				Actor_Says_With_Pause(kActorGrigorian, 340, 0.0f, 14);
 			}
+			Actor_Clue_Acquire(kActorMcCoy, kClueGrigoriansResources, true, kActorGrigorian);
 #endif // BLADERUNNER_ORIGINAL_BUGS
 			Actor_Says(kActorMcCoy, 4375, 18);
 		}
@@ -522,12 +524,24 @@ void SceneScriptPS09::dialogueWithGrigorian() {
 		Actor_Says(kActorMcCoy, 4385, 19);
 		Actor_Says(kActorGrigorian, 370, 13);
 		Actor_Says(kActorMcCoy, 4390, 19);
-		// TODO McCoy needs to have the Registration Clues (1 or 3)
-		//      and probably have talked at least once with CrazyLegs
-		//      for this next quote to make sense
+#if !BLADERUNNER_ORIGINAL_BUGS
+		// McCoy needs to have the Registration Clues (1 or 3)
+		// and probably have talked at least once with CrazyLegs (TODO?)
+		// for this next quote to make sense
+		// If arrested, Crazylegs will be right there, but he won't say anything relevant, so this won't make much sense.
+		// So Crazylegs:
+		// - should not be arrested yet
+		// - nor talked to about (Grigorian's) Note already
+		if (!Game_Flag_Query(kFlagCrazylegsArrested)
+		    && (Actor_Clue_Query(kActorMcCoy, kClueCarRegistration1)
+		        || Actor_Clue_Query(kActorMcCoy, kClueCarRegistration3))
+		) {
+			Actor_Says(kActorMcCoy, 4395, 18);    // How was Crazylegs supposed to help them?
+			Actor_Says(kActorGrigorian, 380, 14);
+		}
+#else
 		Actor_Says(kActorMcCoy, 4395, 18);    // How was Crazylegs supposed to help them?
 		Actor_Says(kActorGrigorian, 380, 14);
-#if BLADERUNNER_ORIGINAL_BUGS
 		Actor_Says(kActorGrigorian, 390, 12); // boop placeholder
 #endif // BLADERUNNER_ORIGINAL_BUGS
 		Actor_Modify_Friendliness_To_Other(kActorGrigorian, kActorMcCoy, -5);
diff --git a/engines/bladerunner/script/scene/rc02.cpp b/engines/bladerunner/script/scene/rc02.cpp
index 7532a794eb..e396413025 100644
--- a/engines/bladerunner/script/scene/rc02.cpp
+++ b/engines/bladerunner/script/scene/rc02.cpp
@@ -239,6 +239,11 @@ void SceneScriptRC02::dialogueWithRunciter() {
 
 	switch (answer) {
 	case 0: // MOTIVES
+		if (_vm->_cutContent
+		    && Player_Query_Agenda() != kPlayerAgendaSurly
+		    && Player_Query_Agenda() != kPlayerAgendaErratic) {
+			Actor_Says(kActorMcCoy, 4575, kAnimationModeTalk);
+		}
 		Actor_Says(kActorMcCoy, 4580, 13);
 		Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
 		Actor_Says(kActorRunciter, 110, 18);
@@ -266,6 +271,12 @@ void SceneScriptRC02::dialogueWithRunciter() {
 		Actor_Says(kActorRunciter, 290, 13);
 		Actor_Says(kActorMcCoy, 4650, 18);
 		Actor_Says(kActorRunciter, 320, 13);
+		if (_vm->_cutContent) {
+			Actor_Says(kActorMcCoy, 4655, 13);
+			Actor_Says(kActorRunciter, 330, 13);
+			Actor_Says(kActorMcCoy, 4660, 13);
+			Actor_Says(kActorRunciter, 340, 13);
+		}
 		Actor_Says(kActorMcCoy, 4665, 13);
 		Actor_Face_Object(kActorRunciter, "CURTAIN", true);
 		Actor_Says(kActorRunciter, 350, 13);
@@ -307,7 +318,32 @@ void SceneScriptRC02::dialogueWithRunciter() {
 		break;
 
 	case 30: // DONE
-		Actor_Says(kActorMcCoy, 4595, 14);
+		if (_vm->_cutContent && Global_Variable_Query(kVariableRC02Act1RunciterBanter) < 4) {
+			Actor_Says(kActorMcCoy, 4685, 14);
+			switch (Global_Variable_Query(kVariableRC02Act1RunciterBanter)) {
+			case 0:
+				Actor_Says(kActorRunciter, 90, 16);
+				Global_Variable_Set(kVariableRC02Act1RunciterBanter, 1);
+				break;
+
+			case 1:
+				Actor_Says(kActorRunciter, 300, 12);
+				Actor_Says(kActorRunciter, 310, 14);
+				Global_Variable_Set(kVariableRC02Act1RunciterBanter, 2);
+				break;
+
+			case 2:
+				Actor_Says(kActorRunciter, 1610, 12);
+				Global_Variable_Set(kVariableRC02Act1RunciterBanter, 3);
+				break;
+
+			default:
+				Actor_Says(kActorRunciter, 100, 12);
+				Global_Variable_Set(kVariableRC02Act1RunciterBanter, 4);
+			}
+		} else {
+			Actor_Says(kActorMcCoy, 4595, 14);
+		}
 		break;
 	}
 }
@@ -345,7 +381,11 @@ bool SceneScriptRC02::ClickedOnActor(int actorId) {
 				Actor_Says(kActorMcCoy, 4690, 11);
 				Actor_Says(kActorMcCoy, 4695, 13);
 				Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
-				Actor_Says(kActorRunciter, 1610, 14);
+				if (_vm->_cutContent) {
+					Actor_Says(kActorRunciter, 1670, 14);
+				} else {
+					Actor_Says(kActorRunciter, 1610, 14);
+				}
 				if (Actor_Clue_Query(kActorMcCoy, kClueEnvelope)) {
 					Actor_Says(kActorMcCoy, 4700, 12);
 					Actor_Says(kActorMcCoy, 4705, 13);
@@ -400,6 +440,10 @@ bool SceneScriptRC02::ClickedOnActor(int actorId) {
 				return true;
 			}
 
+			if (_vm->_cutContent
+			   && Player_Query_Agenda() == kPlayerAgendaSurly) {
+				Actor_Says(kActorMcCoy, 4600, kAnimationModeTalk);
+			}
 			Actor_Says(kActorMcCoy, 4610, 19);
 			Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
 			Actor_Says(kActorRunciter, 150, 15);




More information about the Scummvm-git-logs mailing list