aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/script/scene
diff options
context:
space:
mode:
authorThanasis Antoniou2019-08-09 21:28:19 +0300
committerThanasis Antoniou2019-08-09 21:29:07 +0300
commit5b839c53823dba2e45ad8ada241d6c31b15208c3 (patch)
treeeea422329f7d9d394dad92f15d58c877fe0f4218 /engines/bladerunner/script/scene
parent92d3751972b68a56c3cad215f1e24eb586ccd447 (diff)
downloadscummvm-rg350-5b839c53823dba2e45ad8ada241d6c31b15208c3.tar.gz
scummvm-rg350-5b839c53823dba2e45ad8ada241d6c31b15208c3.tar.bz2
scummvm-rg350-5b839c53823dba2e45ad8ada241d6c31b15208c3.zip
BLADERUNNER: Restore more comments in RC02
Diffstat (limited to 'engines/bladerunner/script/scene')
-rw-r--r--engines/bladerunner/script/scene/ct02.cpp1
-rw-r--r--engines/bladerunner/script/scene/rc02.cpp30
2 files changed, 29 insertions, 2 deletions
diff --git a/engines/bladerunner/script/scene/ct02.cpp b/engines/bladerunner/script/scene/ct02.cpp
index f143e989de..07907d1fff 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 e307fdf1dc..3aa8cc33b5 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;
}