aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThanasis Antoniou2019-05-09 11:48:34 +0300
committerThanasis Antoniou2019-05-09 11:51:35 +0300
commit6e84264735986f165b6fe1cf8793337efb1d7875 (patch)
treebf816cd9d25fae60dfa7162e2e26f15d2d65abd7
parent1b4a5201405f1e8a0c0e8e716ebf5565dca3d7a6 (diff)
downloadscummvm-rg350-6e84264735986f165b6fe1cf8793337efb1d7875.tar.gz
scummvm-rg350-6e84264735986f165b6fe1cf8793337efb1d7875.tar.bz2
scummvm-rg350-6e84264735986f165b6fe1cf8793337efb1d7875.zip
BLADERUNNER: Fix audio clue DoorForced1 post Act 1
-rw-r--r--engines/bladerunner/script/kia_script.cpp4
-rw-r--r--engines/bladerunner/script/scene/rc01.cpp11
2 files changed, 12 insertions, 3 deletions
diff --git a/engines/bladerunner/script/kia_script.cpp b/engines/bladerunner/script/kia_script.cpp
index f7f97f400a..a6416d24f5 100644
--- a/engines/bladerunner/script/kia_script.cpp
+++ b/engines/bladerunner/script/kia_script.cpp
@@ -46,7 +46,9 @@ void KIAScript::SCRIPT_KIA_DLL_Play_Clue_Asset_Script(int notUsed, int clueId) {
KIA_Play_Actor_Dialogue(kActorOfficerLeary, 0);
break;
case kClueDoorForced1:
- if (_vm->_cutContent) {
+ if (_vm->_cutContent && _vm->_gameVars[kVariableChapter] == 1) {
+ // unfortunately this line is only available in TLK1 (so only Act 1)
+ // it will be silent in subsequent Acts
KIA_Play_Actor_Dialogue(kActorVoiceOver, 1870);
}
break;
diff --git a/engines/bladerunner/script/scene/rc01.cpp b/engines/bladerunner/script/scene/rc01.cpp
index ee7fe5f957..9bce0be05e 100644
--- a/engines/bladerunner/script/scene/rc01.cpp
+++ b/engines/bladerunner/script/scene/rc01.cpp
@@ -249,7 +249,10 @@ bool SceneScriptRC01::ClickedOn3DObject(const char *objectName, bool a2) {
if (Object_Query_Click("DOOR LEFT", objectName)) {
if (!Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "DOOR LEFT", 48, true, false)) {
Actor_Face_Object(kActorMcCoy, "DOOR LEFT", true);
- if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2) && Actor_Query_In_Set(kActorOfficerLeary, kSetRC01) && Global_Variable_Query(kVariableChapter) > 0) {
+ if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2)
+ && Actor_Query_In_Set(kActorOfficerLeary, kSetRC01)
+ && Global_Variable_Query(kVariableChapter) > 0
+ ) {
#if BLADERUNNER_ORIGINAL_BUGS
#else
bool officerLearyWasInterrogatingTheCrowd = Actor_Query_Goal_Number(kActorOfficerLeary) == kGoalOfficerLearyRC01CrowdInterrogation
@@ -270,8 +273,12 @@ bool SceneScriptRC01::ClickedOn3DObject(const char *objectName, bool a2) {
}
#if BLADERUNNER_ORIGINAL_BUGS
#else
- else if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2) && !Actor_Clue_Query(kActorMcCoy, kClueDoorForced1) && !Actor_Query_In_Set(kActorOfficerLeary, kSetRC01) && Global_Variable_Query(kVariableChapter) == 1) {
+ else if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2)
+ && !Actor_Clue_Query(kActorMcCoy, kClueDoorForced1)
+ && !Actor_Query_In_Set(kActorOfficerLeary, kSetRC01)
+ && Global_Variable_Query(kVariableChapter) == 1) {
if (_vm->_cutContent) {
+ // keep in mind, this line in only available in Act 1
Actor_Voice_Over(1870, kActorVoiceOver);
} else {
Actor_Says(kActorMcCoy, 8570, 14);