From 4adf49c14997f4ddfa27592e57976ba97b6035c6 Mon Sep 17 00:00:00 2001 From: Thanasis Antoniou Date: Sat, 1 Jun 2019 20:31:17 +0300 Subject: BLADERUNNER: Add exits in CT04 and DR04 To improve navigation --- engines/bladerunner/script/scene/ct04.cpp | 14 ++++++++++++++ engines/bladerunner/script/scene/dr04.cpp | 14 ++++++++++++++ 2 files changed, 28 insertions(+) (limited to 'engines') diff --git a/engines/bladerunner/script/scene/ct04.cpp b/engines/bladerunner/script/scene/ct04.cpp index c5a8fbd587..c5a5c3353e 100644 --- a/engines/bladerunner/script/scene/ct04.cpp +++ b/engines/bladerunner/script/scene/ct04.cpp @@ -41,6 +41,9 @@ void SceneScriptCT04::InitializeScene() { Scene_Exit_Add_2D_Exit(0, 590, 0, 639, 479, 1); Scene_Exit_Add_2D_Exit(1, 194, 84, 320, 274, 0); + if (_vm->_cutContent) { + Scene_Exit_Add_2D_Exit(2, 0, 440, 590, 479, 2); + } Ambient_Sounds_Add_Looping_Sound(kSfxCTRAIN1, 50, 1, 1); Ambient_Sounds_Add_Looping_Sound(kSfxCTAMBR1, 15, -100, 1); @@ -234,6 +237,17 @@ bool SceneScriptCT04::ClickedOnExit(int exitId) { } return true; } + if (_vm->_cutContent) { + if (exitId == 2) { + if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -106.94f, -619.08f, 429.20f, 0, true, false, false)) { + Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); + Ambient_Sounds_Remove_All_Looping_Sounds(1); + Game_Flag_Set(kFlagCT04toCT03); + Set_Enter(kSetCT03_CT04, kSceneCT03); + } + return true; + } + } return false; } diff --git a/engines/bladerunner/script/scene/dr04.cpp b/engines/bladerunner/script/scene/dr04.cpp index 2c6c632fb6..166040d825 100644 --- a/engines/bladerunner/script/scene/dr04.cpp +++ b/engines/bladerunner/script/scene/dr04.cpp @@ -48,6 +48,9 @@ void SceneScriptDR04::InitializeScene() { Scene_Exit_Add_2D_Exit(0, 589, 0, 639, 479, 1); Scene_Exit_Add_2D_Exit(1, 443, 264, 488, 353, 0); Scene_Exit_Add_2D_Exit(2, 222, 110, 269, 207, 0); + if (_vm->_cutContent) { + Scene_Exit_Add_2D_Exit(3, 0, 440, 589, 479, 2); + } Ambient_Sounds_Remove_All_Non_Looping_Sounds(false); Ambient_Sounds_Add_Looping_Sound(kSfxCTRAIN1, 50, 1, 1); @@ -168,6 +171,17 @@ bool SceneScriptDR04::ClickedOnExit(int exitId) { return true; } + if (_vm->_cutContent) { + if (exitId == 3) { + if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.17f, 0.12f, 132.48f, 0, true, false, false)) { + Async_Actor_Walk_To_XYZ(kActorMcCoy, -509.21f, 0.16f, 44.97f, 0, false); + Game_Flag_Set(kFlagDR04toDR01); + Set_Enter(kSetDR01_DR02_DR04, kSceneDR01); + } + return true; + } + } + if (exitId == 1) { if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1067.0f, 7.18f, 421.0f, 0, true, false, false)) { Game_Flag_Set(kFlagNotUsed232); -- cgit v1.2.3