diff options
Diffstat (limited to 'engines/bladerunner/script/scene/rc02.cpp')
-rw-r--r-- | engines/bladerunner/script/scene/rc02.cpp | 61 |
1 files changed, 55 insertions, 6 deletions
diff --git a/engines/bladerunner/script/scene/rc02.cpp b/engines/bladerunner/script/scene/rc02.cpp index 15d8cfe453..049427f235 100644 --- a/engines/bladerunner/script/scene/rc02.cpp +++ b/engines/bladerunner/script/scene/rc02.cpp @@ -75,12 +75,37 @@ void SceneScriptRC02::SceneLoaded() { Clickable_Object("SCRTY CA03"); Unclickable_Object("GRL_DSKLEG"); Unclickable_Object("CURTAIN"); - Unclickable_Object("DRAPE01"); - Unclickable_Object("DRAPE02"); - Unclickable_Object("DRAPE03"); - Unclickable_Object("DRAPE05"); - Unclickable_Object("DRAPE06"); - Unclickable_Object("DRAPE07"); + if (_vm->_cutContent) { + if (Global_Variable_Query(kVariableChapter) == 1 + && !Game_Flag_Query(kFlagMcCoyCommentsOnMurderedAnimals) + && !Actor_Clue_Query(kActorMcCoy, kClueLabCorpses) + ) { + Clickable_Object("DRAPE01"); + Clickable_Object("DRAPE02"); + Clickable_Object("DRAPE03"); + Clickable_Object("DRAPE04"); + Clickable_Object("DRAPE05"); + Clickable_Object("DRAPE06"); + Clickable_Object("DRAPE07"); + } else { + Unclickable_Object("DRAPE01"); + Unclickable_Object("DRAPE02"); + Unclickable_Object("DRAPE03"); + Unclickable_Object("DRAPE04"); + Unclickable_Object("DRAPE05"); + Unclickable_Object("DRAPE06"); + Unclickable_Object("DRAPE07"); + } + } else { + // original code + Unclickable_Object("DRAPE01"); + Unclickable_Object("DRAPE02"); + Unclickable_Object("DRAPE03"); + Unclickable_Object("DRAPE05"); + Unclickable_Object("DRAPE06"); + Unclickable_Object("DRAPE07"); + } + if (Actor_Clue_Query(kActorMcCoy, kClueRuncitersVideo) || Global_Variable_Query(kVariableChapter) > 1) { Unclickable_Object("SCRTY CA03"); } @@ -133,6 +158,30 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) { return true; } } + + if (_vm->_cutContent + && !Game_Flag_Query(kFlagMcCoyCommentsOnMurderedAnimals) + && Global_Variable_Query(kVariableChapter) == 1 + && !Actor_Clue_Query(kActorMcCoy, kClueLabCorpses) + && (Object_Query_Click("DRAPE01", objectName) + || Object_Query_Click("DRAPE02", objectName) + || Object_Query_Click("DRAPE03", objectName) + || Object_Query_Click("DRAPE04", objectName) + || Object_Query_Click("DRAPE05", objectName) + || Object_Query_Click("DRAPE06", objectName) + || Object_Query_Click("DRAPE07", objectName)) + ) { + Game_Flag_Set(kFlagMcCoyCommentsOnMurderedAnimals); + Unclickable_Object("DRAPE01"); + Unclickable_Object("DRAPE02"); + Unclickable_Object("DRAPE03"); + Unclickable_Object("DRAPE04"); + Unclickable_Object("DRAPE05"); + Unclickable_Object("DRAPE06"); + Unclickable_Object("DRAPE07"); + Actor_Voice_Over(1940, kActorVoiceOver); + return true; + } return false; } |