[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