From 2b2c8d6f9390229c7dd9a5cc805641979bea6b64 Mon Sep 17 00:00:00 2001 From: Thanasis Antoniou Date: Fri, 31 May 2019 16:41:36 +0300 Subject: [PATCH] BLADERUNNER: Add areas in HC01 for animoids comment --- engines/bladerunner/game_constants.h | 2 +- engines/bladerunner/script/scene/hc01.cpp | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h index 1fe3767b2a6d..f802969fb2d7 100644 --- a/engines/bladerunner/game_constants.h +++ b/engines/bladerunner/game_constants.h @@ -551,7 +551,7 @@ enum Flags { kFlagHC04toHC02 = 109, kFlagHC02toHC04 = 110, kFlagPS07KleinTalkClues = 111, - // 112 is never used + kFlagMcCoyCommentsOnAnimoids = 112, // Re-purposed. Original: 112 is never used kFlagScorpionsInAR02 = 113, // Re-purposed. Original: 113 is never used kFlagRC03toRC01 = 114, kFlagRC01toRC03 = 115, diff --git a/engines/bladerunner/script/scene/hc01.cpp b/engines/bladerunner/script/scene/hc01.cpp index 5c25d929addd..5fa67213adca 100644 --- a/engines/bladerunner/script/scene/hc01.cpp +++ b/engines/bladerunner/script/scene/hc01.cpp @@ -39,6 +39,10 @@ void SceneScriptHC01::InitializeScene() { Scene_Exit_Add_2D_Exit(1, 394, 229, 485, 371, 1); } Scene_Exit_Add_2D_Exit(2, 117, 0, 286, 319, 0); + if (_vm->_cutContent && !Game_Flag_Query(kFlagMcCoyCommentsOnAnimoids)) { + Scene_2D_Region_Add(0, 110, 385, 200, 450); // cage 1 + Scene_2D_Region_Add(1, 20, 249, 110, 319); // cage 2 + } Ambient_Sounds_Add_Looping_Sound(kSfxRAINAWN1, 50, 50, 0); Ambient_Sounds_Add_Looping_Sound(kSfxHCLOOP1, 50, 50, 0); @@ -191,6 +195,18 @@ bool SceneScriptHC01::ClickedOnExit(int exitId) { } bool SceneScriptHC01::ClickedOn2DRegion(int region) { + if (_vm->_cutContent) { + if (!Game_Flag_Query(kFlagMcCoyCommentsOnAnimoids) && (region == 0 || region == 1) ) { + Game_Flag_Set(kFlagMcCoyCommentsOnAnimoids); + //Actor_Face_Heading(kActorMcCoy, 389, false); + Actor_Face_XYZ(kActorMcCoy, 740.89f, 60.29f, 220.12f, true); + Actor_Voice_Over(890, kActorVoiceOver); + Actor_Voice_Over(900, kActorVoiceOver); + Scene_2D_Region_Remove(0); + Scene_2D_Region_Remove(1); + return true; + } + } return false; }