[Scummvm-git-logs] scummvm master -> 0f8f8447ce3949740cb19c463164938008277c46

antoniou79 noreply at scummvm.org
Thu Jan 18 17:06:26 UTC 2024


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:
0f8f8447ce BLADERUNNER: CUTCONTENT: Gordo's Replicant lighter


Commit: 0f8f8447ce3949740cb19c463164938008277c46
    https://github.com/scummvm/scummvm/commit/0f8f8447ce3949740cb19c463164938008277c46
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2024-01-18T19:04:08+02:00

Commit Message:
BLADERUNNER: CUTCONTENT: Gordo's Replicant lighter

Also restored a small variation on rat comment for localizations other than English.

Changed paths:
    engines/bladerunner/script/ai/free_slot_a.cpp
    engines/bladerunner/script/ai/free_slot_b.cpp
    engines/bladerunner/script/kia_script.cpp
    engines/bladerunner/script/scene/nr02.cpp


diff --git a/engines/bladerunner/script/ai/free_slot_a.cpp b/engines/bladerunner/script/ai/free_slot_a.cpp
index 7c4b47bf4c1..3b3bc7d3c19 100644
--- a/engines/bladerunner/script/ai/free_slot_a.cpp
+++ b/engines/bladerunner/script/ai/free_slot_a.cpp
@@ -219,11 +219,20 @@ void AIScriptFreeSlotA::ClickedByPlayer() {
 		Actor_Face_Actor(kActorMcCoy, kActorFreeSlotA, true);
 		if (_vm->_cutContent && !Game_Flag_Query(kFlagMcCoyCommentsOnHoodooRats)) {
 			Game_Flag_Set(kFlagMcCoyCommentsOnHoodooRats);
-			Actor_Voice_Over(1060, kActorVoiceOver);  // Hoodoo rats
-			// Note: Quote 1070 is *boop* in ENG version.
-			// However, it is similar to 1060 quote in FRA, DEU, ESP and ITA versions
-			//          with the only difference being not mentioning the "Hoodoo Rats" name.
-			//          It uses a generic "rats" in its place.
+			// Note: Quote 1060 mentions "Hoodoo Rats". Quote 1070 is *boop* in ENG version.
+			// However, quote 1070 is similar to 1060 quote in FRA, DEU, ESP and ITA versions
+			// with the only difference being not mentioning the "Hoodoo Rats" name.
+			// It uses a generic "rats" in its place.
+			// For those four languages one of the two quotes will play (random chance 50%)
+			if ((_vm->_language == Common::DE_DEU
+			     || _vm->_language == Common::ES_ESP
+			     || _vm->_language == Common::FR_FRA
+			     || _vm->_language == Common::IT_ITA)
+			    && (Random_Query(1, 2) == 1)) {
+				Actor_Voice_Over(1070, kActorVoiceOver);  // "rats"
+			} else {
+				Actor_Voice_Over(1060, kActorVoiceOver);  // "Hoodoo rats"
+			}
 			Actor_Voice_Over(1080, kActorVoiceOver);
 			Actor_Voice_Over(1090, kActorVoiceOver);
 		} else {
diff --git a/engines/bladerunner/script/ai/free_slot_b.cpp b/engines/bladerunner/script/ai/free_slot_b.cpp
index 25f8432f4ba..b7c776cada6 100644
--- a/engines/bladerunner/script/ai/free_slot_b.cpp
+++ b/engines/bladerunner/script/ai/free_slot_b.cpp
@@ -164,11 +164,20 @@ void AIScriptFreeSlotB::ClickedByPlayer() {
 	Actor_Face_Actor(kActorMcCoy, kActorFreeSlotB, true);
 	if (_vm->_cutContent && !Game_Flag_Query(kFlagMcCoyCommentsOnHoodooRats)) {
 		Game_Flag_Set(kFlagMcCoyCommentsOnHoodooRats);
-		Actor_Voice_Over(1060, kActorVoiceOver);  // Hoodoo rats
-		// Note: Quote 1070 is *boop* in ENG version.
-		// However, it is similar to 1060 quote in FRA, DEU, ESP and ITA versions
-		//          with the only difference being not mentioning the "Hoodoo Rats" name.
-		//          It uses a generic "rats" in its place.
+		// Note: Quote 1060 mentions "Hoodoo Rats". Quote 1070 is *boop* in ENG version.
+		// However, quote 1070 is similar to 1060 quote in FRA, DEU, ESP and ITA versions
+		// with the only difference being not mentioning the "Hoodoo Rats" name.
+		// It uses a generic "rats" in its place.
+		// For those four languages one of the two quotes will play (random chance 50%)
+		if ((_vm->_language == Common::DE_DEU
+			|| _vm->_language == Common::ES_ESP
+			|| _vm->_language == Common::FR_FRA
+			|| _vm->_language == Common::IT_ITA)
+			&& (Random_Query(1, 2) == 1)) {
+			Actor_Voice_Over(1070, kActorVoiceOver);  // "rats"
+		} else {
+			Actor_Voice_Over(1060, kActorVoiceOver);  // "Hoodoo rats"
+		}
 		Actor_Voice_Over(1080, kActorVoiceOver);
 		Actor_Voice_Over(1090, kActorVoiceOver);
 	} else {
diff --git a/engines/bladerunner/script/kia_script.cpp b/engines/bladerunner/script/kia_script.cpp
index a4602cbf3e4..ad084ffda3b 100644
--- a/engines/bladerunner/script/kia_script.cpp
+++ b/engines/bladerunner/script/kia_script.cpp
@@ -516,17 +516,7 @@ void KIAScript::SCRIPT_KIA_DLL_Play_Clue_Asset_Script(int notUsed, int clueId) {
 		break;
 	case kClueGordosLighterReplicant:
 		KIA_Play_Slice_Model(kModelAnimationGordosLighterReplicant);
-		if (_vm->_cutContent) {
-			if (Actor_Clue_Query(kActorMcCoy, kClueZubenSquadPhoto)) {
-				KIA_Play_Actor_Dialogue(kActorVoiceOver, 1450); // TLK02 (Act 3 or 4 only)
-			} else {
-				KIA_Play_Actor_Dialogue(kActorVoiceOver, 350); // TLK0A
-			}
-			KIA_Play_Actor_Dialogue(kActorVoiceOver, 1460); // TLK02 (Act 3 or 4 only)
-			KIA_Play_Actor_Dialogue(kActorVoiceOver, 1470); // TLK02 (Act 3 or 4 only)
-		} else {
-			KIA_Play_Actor_Dialogue(kActorVoiceOver, 350);
-		}
+		KIA_Play_Actor_Dialogue(kActorVoiceOver, 350);
 		break;
 	case kClueGordosLighterHuman:
 		KIA_Play_Slice_Model(kModelAnimationGordosLighterHuman);
diff --git a/engines/bladerunner/script/scene/nr02.cpp b/engines/bladerunner/script/scene/nr02.cpp
index 0e9c1a69fdb..eb961ac291b 100644
--- a/engines/bladerunner/script/scene/nr02.cpp
+++ b/engines/bladerunner/script/scene/nr02.cpp
@@ -121,6 +121,33 @@ bool SceneScriptNR02::ClickedOnItem(int itemId, bool a2) {
 			Actor_Face_Heading(kActorMcCoy, 423, false);
 			if (itemId == kItemGordosLighterReplicant) {
 				Item_Remove_From_World(kItemGordosLighterReplicant);
+				if (_vm->_cutContent) {
+					// Provide immediate feedback to the player that the lighter indicates Gordo is a Replicant,
+					// since the model of the lighter itself is not (much?) different than when he's human.
+					// Also these lines seem that they belong here (Act 3).
+					if (Actor_Clue_Query(kActorMcCoy, kClueZubenSquadPhoto)
+					    && (Global_Variable_Query(kVariableChapter) == 2 || Global_Variable_Query(kVariableChapter) == 3)) {
+						// NOTE this is only in TLK02
+						// so it should be for Act 2 and 3 only (The lighter is normally spawned in Act 3)
+						// NOTE 2 As of yet, we load all TLK resources in cut content mode (see Chapters::enterChapter()),
+						// so the check for specific chapters is redundantly restrictive here.
+						// TODO maybe we can remove it, if we're not concerned about minimum resource usage in cut content mode
+						Actor_Voice_Over(kActorVoiceOver, 1450);
+					} else {
+						// TLK0A
+						// Re-use quote from Zuben's death (picking up his photo from the Rep Squad)
+						Actor_Voice_Over(kActorVoiceOver, 350);
+					}
+					// NOTE this is only in TLK02
+					// so it should be for Act 2 and 3 only (The lighter is normally spawned in Act 3)
+					// NOTE 2 As of yet, we load all TLK resources in cut content mode (see Chapters::enterChapter()),
+					// so the check for specific chapters is redundantly restrictive here.
+					// TODO maybe we can remove it, if we're not concerned about minimum resource usage in cut content mode
+					if (Global_Variable_Query(kVariableChapter) == 2 || Global_Variable_Query(kVariableChapter) == 3) {
+						Actor_Voice_Over(kActorVoiceOver, 1460);
+						Actor_Voice_Over(kActorVoiceOver, 1470);
+					}
+				}
 				Item_Pickup_Spin_Effect(kModelAnimationGordosLighterReplicant, 214, 380);
 				Actor_Clue_Acquire(kActorMcCoy, kClueGordosLighterReplicant, true, -1);
 			}




More information about the Scummvm-git-logs mailing list