diff options
author | Thanasis Antoniou | 2019-04-03 00:58:19 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-04-03 01:00:58 +0300 |
commit | fecfe9ec8688e7459d090b28a8b417d0198b3661 (patch) | |
tree | 4b855d278790e323116d4578c16333afef4208e8 | |
parent | e40cdea6ba495abf76aa55d61186bd52c53c82bf (diff) | |
download | scummvm-rg350-fecfe9ec8688e7459d090b28a8b417d0198b3661.tar.gz scummvm-rg350-fecfe9ec8688e7459d090b28a8b417d0198b3661.tar.bz2 scummvm-rg350-fecfe9ec8688e7459d090b28a8b417d0198b3661.zip |
BLADERUNNER: Fixes for elevator in UG13
Fixed McCoy appearing early at start of scene before disappearing
Also added sound for going down when called from button
-rw-r--r-- | engines/bladerunner/script/scene/ug13.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/bladerunner/script/scene/ug13.cpp b/engines/bladerunner/script/scene/ug13.cpp index 63eb767e4d..b0a0f8ae87 100644 --- a/engines/bladerunner/script/scene/ug13.cpp +++ b/engines/bladerunner/script/scene/ug13.cpp @@ -30,8 +30,14 @@ void SceneScriptUG13::InitializeScene() { } else if (Game_Flag_Query(kFlagUG15toUG13)) { Setup_Scene_Information( 39.0f, 52.94f, -528.0f, 600); } else { + // arrived from elevator (going down) Setup_Scene_Information( -22.0f, 54.63f, -883.0f, 578); +#if BLADERUNNER_ORIGINAL_BUGS Actor_Set_Invisible(kActorMcCoy, false); +#else + // McCoy should not be visible starting this scene when he goes down with the elevator + Actor_Set_Invisible(kActorMcCoy, true); +#endif // BLADERUNNER_ORIGINAL_BUGS } if (!Game_Flag_Query(kFlagUB08ElevatorUp)) { @@ -100,6 +106,12 @@ bool SceneScriptUG13::ClickedOn3DObject(const char *objectName, bool a2) { Actor_Face_Object(kActorMcCoy, "BOLLARD", true); if (Game_Flag_Query(kFlagUB08ElevatorUp)) { Scene_Loop_Set_Default(1); +#if BLADERUNNER_ORIGINAL_BUGS +#else + // start elevator sound, but wait a bit before starting the special loop + Ambient_Sounds_Play_Sound(372, 90, 0, 0, 100); + Delay(1500); +#endif // BLADERUNNER_ORIGINAL_BUGS Scene_Loop_Start_Special(kSceneLoopModeOnce, 0, false); Game_Flag_Reset(kFlagUB08ElevatorUp); Game_Flag_Set(kFlagUG13CallElevator); @@ -269,6 +281,7 @@ void SceneScriptUG13::PlayerWalkedIn() { Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, 44.0f, -528.0f, 0, false, false, 0); Game_Flag_Reset(kFlagUG15toUG13); } else { + // arrived from elevator (going down) Loop_Actor_Walk_To_XYZ(kActorMcCoy, -60.0f, 55.24f, -816.0f, 0, false, false, 0); Game_Flag_Reset(kFlagUG08toUG13); Player_Gains_Control(); |