diff options
author | Thanasis Antoniou | 2019-09-08 16:25:37 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-09-08 16:28:17 +0300 |
commit | 50fd348feaa3db3ca30f65b57b198151fb213cab (patch) | |
tree | 5f229430d53c46c49c8e70fb2f17ff5260cfba44 /engines/bladerunner/script | |
parent | 58571865fa2abe37bb6bceaaf7ad86e99778821f (diff) | |
download | scummvm-rg350-50fd348feaa3db3ca30f65b57b198151fb213cab.tar.gz scummvm-rg350-50fd348feaa3db3ca30f65b57b198151fb213cab.tar.bz2 scummvm-rg350-50fd348feaa3db3ca30f65b57b198151fb213cab.zip |
BLADERUNNER: Fix silent InShot for BB01
Diffstat (limited to 'engines/bladerunner/script')
-rw-r--r-- | engines/bladerunner/script/scene/bb01.cpp | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/engines/bladerunner/script/scene/bb01.cpp b/engines/bladerunner/script/scene/bb01.cpp index fff17e777a..39ec948cfc 100644 --- a/engines/bladerunner/script/scene/bb01.cpp +++ b/engines/bladerunner/script/scene/bb01.cpp @@ -25,11 +25,11 @@ namespace BladeRunner { enum kBB01Loops { - kBB01LoopInshot = 0, - kBB01LoopMainLoop = 1, - kBB01LoopDoorAnim = 3, - kBB01LoopOutshot = 4, - kBB01LoopMainLoopNoSpinner = 5 + kBB01LoopInshot = 0, // 0 - 300 + kBB01LoopMainLoop = 1, // 301 - 361 + kBB01LoopDoorAnim = 3, // 362 - 421 + kBB01LoopOutshot = 4, // 422 - 480 + kBB01LoopMainLoopNoSpinner = 5 // 481 - 540 }; void SceneScriptBB01::InitializeScene() { @@ -251,9 +251,37 @@ void SceneScriptBB01::SceneFrameAdvanced(int frame) { Sound_Play(kSfxCARUP3, 40, -50, 80, 50); } +#if BLADERUNNER_ORIGINAL_BUGS +#else + // This is treated as a bug rather than restored content + // This InShot loop otherwise seems silent for the first ~120 frames + if (frame == 19) { + if (Random_Query(0, 1)) { + Sound_Play(kSfxSPIN3A, 90, -50, 100, 50); + } else { + Sound_Play(kSfxSPIN2A, 90, -50, 100, 50); + } + } + + if (frame == 60 && Random_Query(0, 1)) { + Sound_Play(kSfxSIREN2, 50, 20, 80, 50); + } + + if (frame == 90 && Random_Query(0, 1)) { + Sound_Play(kSfxRCCARBY3, 40, 80, 100, 50); + } +#endif // BLADERUNNER_ORIGINAL_BUGS + +#if BLADERUNNER_ORIGINAL_BUGS if (frame == 120) { Sound_Play(kSfxTRUCKBY1, Random_Query(33, 33), 100, -100, 50); } +#else + // delay truck passing by sfx to better match the animation in the loop + if (frame == 124) { + Sound_Play(kSfxTRUCKBY1, Random_Query(40, 73), 100, -100, 50); + } +#endif // BLADERUNNER_ORIGINAL_BUGS } void SceneScriptBB01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) { |