diff options
author | Thanasis Antoniou | 2019-04-27 19:57:55 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-04-28 00:21:16 +0300 |
commit | 083bfd16873f738bce64da472d95f42e2cc97cb1 (patch) | |
tree | 446b30d9ee095f3ad533e65646b0ec47e547120c /engines | |
parent | 2858873db92ea96c8c69bfbd1f3dc9ec703ab871 (diff) | |
download | scummvm-rg350-083bfd16873f738bce64da472d95f42e2cc97cb1.tar.gz scummvm-rg350-083bfd16873f738bce64da472d95f42e2cc97cb1.tar.bz2 scummvm-rg350-083bfd16873f738bce64da472d95f42e2cc97cb1.zip |
BLADERUNNER: BB01, DR01, NR01 reduce freq of intro scene
They'll play the first time, but have 33% probability to play on subsequent visits
Diffstat (limited to 'engines')
22 files changed, 145 insertions, 133 deletions
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h index 037f131561..c944db81d8 100644 --- a/engines/bladerunner/game_constants.h +++ b/engines/bladerunner/game_constants.h @@ -1134,12 +1134,12 @@ enum Flags { kFlagPS05TV4 = 692, kFlagUG03DeadHomeless = 693, kFlagUG14DeadHomeless = 694, - // 695 is never used + kFlagNR01VisitedFirstTimeWithSpinner = 695, // Re-purposed. Original: 695 is never used kFlagKP07ReplicantsAttackMcCoy = 696, kFlagKP07McCoyPulledGun = 697, kFlagUG15LanceLuthorTrade = 698, kFlagTalkToZuben = 699, - // 700 is never used + kFlagBB01VisitedFirstTimeWithSpinner = 700, // Re-purposed. Original: 700 is never used kFlagMcCoyAttackedLucy = 701, kFlagBulletBobDead = 702, kFlagUG18BriefcaseTaken = 703, @@ -1167,7 +1167,7 @@ enum Flags { kFlagCT11DogWrapperAvailable = 725, kFlagAR02Entered = 726, kFlagPS04WeaponsOrderForm = 727, - kFlagDR01Visited = 728, // Re-purposed: Original: 728 is never used + kFlagDR01Visited = 728, // Re-purposed. Original: 728 is never used kFlagNR08DektoraShow = 729 }; diff --git a/engines/bladerunner/script/scene/ar01.cpp b/engines/bladerunner/script/scene/ar01.cpp index cce057a996..d658cc4476 100644 --- a/engines/bladerunner/script/scene/ar01.cpp +++ b/engines/bladerunner/script/scene/ar01.cpp @@ -26,10 +26,10 @@ namespace BladeRunner { enum kAR01Loops { kAR01LoopFromAR02WithSpinner = 0, - kAR01LoopInshoot = 1, + kAR01LoopInshot = 1, kAR01LoopMainLoop = 2, kAR01LoopDoorAnim = 4, - kAR01LoopOutshoot = 5, + kAR01LoopOutshot = 5, kAR01LoopFromAR02NoSpinner = 6, kAR01LoopMainLoopNoSpinner = 7 }; @@ -89,7 +89,7 @@ void SceneScriptAR01::InitializeScene() { ) { Actor_Set_Invisible(kActorMcCoy, true); Game_Flag_Set(kFlagArrivedFromSpinner2); - Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopInshoot, false); + Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopInshot, false); Scene_Loop_Set_Default(kAR01LoopMainLoop); } else if (Game_Flag_Query(kFlagSpinnerAtAR01) && Game_Flag_Query(kFlagAR02toAR01) @@ -272,63 +272,63 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) { Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtPS01); Set_Enter(kSetPS01, kScenePS01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationMcCoysApartment: Game_Flag_Set(kFlagMcCoyInMcCoyApartment); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtMA01); Set_Enter(kSetMA01, kSceneMA01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationRuncitersAnimals: Game_Flag_Set(kFlagMcCoyInRunciters); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtRC01); Set_Enter(kSetRC01, kSceneRC01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationChinatown: Game_Flag_Set(kFlagMcCoyInChinaTown); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtCT01); Set_Enter(kSetCT01_CT12, kSceneCT01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationTyrellBuilding: Game_Flag_Set(kFlagMcCoyInTyrellBuilding); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtTB02); Set_Enter(kSetTB02_TB03, kSceneTB02); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationDNARow: Game_Flag_Set(kFlagMcCoyInDNARow); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtDR01); Set_Enter(kSetDR01_DR02_DR04, kSceneDR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationBradburyBuilding: Game_Flag_Set(kFlagMcCoyInBradburyBuilding); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtBB01); Set_Enter(kSetBB01, kSceneBB01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationNightclubRow: Game_Flag_Set(kFlagMcCoyInNightclubRow); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtNR01); Set_Enter(kSetNR01, kSceneNR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationHysteriaHall: Game_Flag_Set(kFlagMcCoyInHysteriaHall); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtHF01); Set_Enter(kSetHF01, kSceneHF01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; default: Game_Flag_Set(kFlagMcCoyInAnimoidRow); diff --git a/engines/bladerunner/script/scene/bb01.cpp b/engines/bladerunner/script/scene/bb01.cpp index b64434b485..76fe189687 100644 --- a/engines/bladerunner/script/scene/bb01.cpp +++ b/engines/bladerunner/script/scene/bb01.cpp @@ -28,7 +28,7 @@ enum kBB01Loops { kBB01LoopInshot = 0, kBB01LoopMainLoop = 1, kBB01LoopDoorAnim = 3, - kBB01LoopOutshoot = 4, + kBB01LoopOutshot = 4, kBB01LoopMainLoopNoSpinner = 5 }; @@ -66,7 +66,12 @@ void SceneScriptBB01::InitializeScene() { && !Game_Flag_Query(kFlagDR02toBB01) && !Game_Flag_Query(kFlagBB02toBB01) ) { - Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kBB01LoopInshot, false); + if (!Game_Flag_Query(kFlagBB01VisitedFirstTimeWithSpinner) + || Random_Query(1, 3) == 1 + ) { + // enhancement: don't always play after first visit + Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kBB01LoopInshot, false); + } Scene_Loop_Set_Default(kBB01LoopMainLoop); } else if (Game_Flag_Query(kFlagSpinnerAtBB01) && Game_Flag_Query(kFlagDR02toBB01) @@ -135,63 +140,63 @@ bool SceneScriptBB01::ClickedOnExit(int exitId) { Game_Flag_Reset(kFlagSpinnerAtBB01); Game_Flag_Set(kFlagSpinnerAtPS01); Set_Enter(kSetPS01, kScenePS01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshot, true); break; case kSpinnerDestinationMcCoysApartment: Game_Flag_Set(kFlagMcCoyInMcCoyApartment); Game_Flag_Reset(kFlagSpinnerAtBB01); Game_Flag_Set(kFlagSpinnerAtMA01); Set_Enter(kSetMA01, kSceneMA01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshot, true); break; case kSpinnerDestinationRuncitersAnimals: Game_Flag_Set(kFlagMcCoyInRunciters); Game_Flag_Reset(kFlagSpinnerAtBB01); Game_Flag_Set(kFlagSpinnerAtRC01); Set_Enter(kSetRC01, kSceneRC01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshot, true); break; case kSpinnerDestinationChinatown: Game_Flag_Set(kFlagMcCoyInChinaTown); Game_Flag_Reset(kFlagSpinnerAtBB01); Game_Flag_Set(kFlagSpinnerAtCT01); Set_Enter(kSetCT01_CT12, kSceneCT01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshot, true); break; case kSpinnerDestinationAnimoidRow: Game_Flag_Set(kFlagMcCoyInAnimoidRow); Game_Flag_Reset(kFlagSpinnerAtBB01); Game_Flag_Set(kFlagSpinnerAtAR01); Set_Enter(kSetAR01_AR02, kSceneAR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshot, true); break; case kSpinnerDestinationTyrellBuilding: Game_Flag_Set(kFlagMcCoyInTyrellBuilding); Game_Flag_Reset(kFlagSpinnerAtBB01); Game_Flag_Set(kFlagSpinnerAtTB02); Set_Enter(kSetTB02_TB03, kSceneTB02); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshot, true); break; case kSpinnerDestinationDNARow: Game_Flag_Set(kFlagMcCoyInDNARow); Game_Flag_Reset(kFlagSpinnerAtBB01); Game_Flag_Set(kFlagSpinnerAtDR01); Set_Enter(kSetDR01_DR02_DR04, kSceneDR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshot, true); break; case kSpinnerDestinationNightclubRow: Game_Flag_Set(kFlagMcCoyInNightclubRow); Game_Flag_Reset(kFlagSpinnerAtBB01); Game_Flag_Set(kFlagSpinnerAtNR01); Set_Enter(kSetNR01, kSceneNR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshot, true); break; case kSpinnerDestinationHysteriaHall: Game_Flag_Set(kFlagMcCoyInHysteriaHall); Game_Flag_Reset(kFlagSpinnerAtBB01); Game_Flag_Set(kFlagSpinnerAtHF01); Set_Enter(kSetHF01, kSceneHF01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB01LoopOutshot, true); break; default: Game_Flag_Set(kFlagMcCoyInBradburyBuilding); @@ -244,6 +249,9 @@ void SceneScriptBB01::PlayerWalkedIn() { } else if (Game_Flag_Query(kFlagBB02toBB01)) { Game_Flag_Reset(kFlagBB02toBB01); } else { + if (!Game_Flag_Query(kFlagBB01VisitedFirstTimeWithSpinner) && Game_Flag_Query(kFlagSpinnerAtBB01)) { + Game_Flag_Set(kFlagBB01VisitedFirstTimeWithSpinner); + } Loop_Actor_Walk_To_XYZ(kActorMcCoy, 43.0f, 0.0f, 954.0f, 0, false, false, 0); } } diff --git a/engines/bladerunner/script/scene/ct01.cpp b/engines/bladerunner/script/scene/ct01.cpp index f227986a7b..d3312f74b7 100644 --- a/engines/bladerunner/script/scene/ct01.cpp +++ b/engines/bladerunner/script/scene/ct01.cpp @@ -27,7 +27,7 @@ namespace BladeRunner { enum kCT01Loops { kCT01LoopInshotFromCT12WithSpinner = 0, // 0 - 14 kCT01LoopInshot = 1, // 15 - 194 - kCT01LoopMain = 2, // 195 - 255 + kCT01LoopMainLoop = 2, // 195 - 255 kCT01LoopDoorAnim = 4, // 256 - 315 kCT01LoopOutshot = 5, // 316 - 435 kCT01LoopInshotFromCT12NoSpinner = 6, // 436 - 450 @@ -71,9 +71,10 @@ void SceneScriptCT01::InitializeScene() { // Note 2: Gordo sitting at the diner overlaps with the counter bar in front of him // so the loop will be prevented from playing when he is there. if ( Global_Variable_Query(kVariableChapter) < 4 - && Actor_Query_Which_Set_In(kActorGordo) != kSetCT01_CT12 - && Random_Query(1, 3) == 1 + && Actor_Query_Which_Set_In(kActorGordo) != kSetCT01_CT12 + && Random_Query(1, 3) == 1 ){ + // enhancement: don't always play Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kCT01LoopInshot, false); } // Pause generic walkers outside special loop @@ -115,7 +116,7 @@ void SceneScriptCT01::InitializeScene() { Ambient_Sounds_Add_Sound(kSfxTHNDER4, 20, 40, 33, 50, -100, 100, -101, -101, 0, 0); if (Game_Flag_Query(kFlagSpinnerAtCT01)) { - Scene_Loop_Set_Default(kCT01LoopMain); + Scene_Loop_Set_Default(kCT01LoopMainLoop); } else { Scene_Loop_Set_Default(kCT01LoopMainLoopNoSpinner); } diff --git a/engines/bladerunner/script/scene/ct02.cpp b/engines/bladerunner/script/scene/ct02.cpp index b091afdbe0..7e9de7aeda 100644 --- a/engines/bladerunner/script/scene/ct02.cpp +++ b/engines/bladerunner/script/scene/ct02.cpp @@ -25,7 +25,7 @@ namespace BladeRunner { enum kCT02Loops { - kCT02LoopMain = 0, + kCT02LoopMainLoop = 0, kCT02LoopTippingPot = 2, kCT02LoopMainPotTipped = 3 }; @@ -64,7 +64,7 @@ void SceneScriptCT02::InitializeScene() { if (Game_Flag_Query(kFlagCT02PotTipped)) { Scene_Loop_Set_Default(kCT02LoopMainPotTipped); } else { - Scene_Loop_Set_Default(kCT02LoopMain); + Scene_Loop_Set_Default(kCT02LoopMainLoop); } } diff --git a/engines/bladerunner/script/scene/ct04.cpp b/engines/bladerunner/script/scene/ct04.cpp index d86a992b76..94c585da0b 100644 --- a/engines/bladerunner/script/scene/ct04.cpp +++ b/engines/bladerunner/script/scene/ct04.cpp @@ -24,18 +24,18 @@ namespace BladeRunner { -enum kCT03Loops { - kCT03LoopInshoot = 0, - kCT03LoopMain = 1 +enum kCT04Loops { + kCT04LoopInshot = 0, + kCT04LoopMainLoop = 1 }; void SceneScriptCT04::InitializeScene() { if (Game_Flag_Query(kFlagCT03toCT04)) { - Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kCT03LoopInshoot, false); - Scene_Loop_Set_Default(kCT03LoopMain); + Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kCT04LoopInshot, false); + Scene_Loop_Set_Default(kCT04LoopMainLoop); Setup_Scene_Information(-150.0f, -621.3f, 357.0f, 533); } else { - Scene_Loop_Set_Default(kCT03LoopMain); + Scene_Loop_Set_Default(kCT04LoopMainLoop); Setup_Scene_Information(-82.86f, -621.3f, 769.03f, 1020); } diff --git a/engines/bladerunner/script/scene/ct11.cpp b/engines/bladerunner/script/scene/ct11.cpp index 71b90b8005..0d52c77403 100644 --- a/engines/bladerunner/script/scene/ct11.cpp +++ b/engines/bladerunner/script/scene/ct11.cpp @@ -25,7 +25,7 @@ namespace BladeRunner { enum kCT11Loops { - kCT11LoopMain = 0, + kCT11LoopMainLoop = 0, kCT11LoopMainNoCar = 2 }; @@ -52,7 +52,7 @@ void SceneScriptCT11::InitializeScene() { if (Global_Variable_Query(kVariableChapter) > 3) { Scene_Loop_Set_Default(kCT11LoopMainNoCar); } else { - Scene_Loop_Set_Default(kCT11LoopMain); + Scene_Loop_Set_Default(kCT11LoopMainLoop); } } diff --git a/engines/bladerunner/script/scene/dr01.cpp b/engines/bladerunner/script/scene/dr01.cpp index 8a98fc90c2..46063587d4 100644 --- a/engines/bladerunner/script/scene/dr01.cpp +++ b/engines/bladerunner/script/scene/dr01.cpp @@ -29,8 +29,7 @@ enum kDR01Loops { kDR01LoopPanFromDR02 = 1, kDR01LoopPanFromDR04Pre = 2, kDR01LoopPanFromDR04Post = 3, - kDR01LoopMainLoop = 4, - kDR01LoopMainLoopNoFirstFrame = 5, + kDR01LoopMainLoop = 4 }; void SceneScriptDR01::InitializeScene() { @@ -86,8 +85,9 @@ void SceneScriptDR01::InitializeScene() { Scene_Loop_Set_Default(kDR01LoopMainLoop); } else { if ((!Game_Flag_Query(kFlagDR01Visited) && Global_Variable_Query(kVariableChapter) == 2) - || Random_Query(1, 5) == 1) - { // enhancement: don't always play the bikers after first visit + || Random_Query(1, 3) == 1) + { + // enhancement: don't always play after first visit // But first visit in 2nd chapter should always show it. Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kDR01LoopBikerInshot, false); } @@ -268,26 +268,9 @@ void SceneScriptDR01::PlayerWalkedIn() { ) { Player_Loses_Control(); Loop_Actor_Walk_To_XYZ(kActorMcCoy, -447.39f, 0.16f, -92.38f, 0, false, false, 0); -#if BLADERUNNER_RESTORED_CUT_CONTENT if (!Game_Flag_Query(kFlagDR01Visited)) { Game_Flag_Set(kFlagDR01Visited); - // Make use of the kFlagDirectorsCut like in CT01 case - // extra flags and chapter check are for compatibility / sane behavior - // in imported original save games (or "exported" save games for the original) - if ( - Global_Variable_Query(kVariableChapter) == 2 - && !Game_Flag_Query(kFlagDR03ChewTalk1) - && !Game_Flag_Query(kFlagDR05MorajiTalk) - && !Game_Flag_Query(kFlagDirectorsCut)) { - Actor_Voice_Over(600, kActorVoiceOver); - Actor_Voice_Over(610, kActorVoiceOver); - Actor_Voice_Over(620, kActorVoiceOver); - Actor_Voice_Over(630, kActorVoiceOver); - Actor_Voice_Over(640, kActorVoiceOver); - Actor_Voice_Over(650, kActorVoiceOver); - } } -#endif // BLADERUNNER_RESTORED_CUT_CONTENT Player_Gains_Control(); } Game_Flag_Reset(kFlagDR02toDR01); diff --git a/engines/bladerunner/script/scene/dr05.cpp b/engines/bladerunner/script/scene/dr05.cpp index b433a00618..f2ee2608a5 100644 --- a/engines/bladerunner/script/scene/dr05.cpp +++ b/engines/bladerunner/script/scene/dr05.cpp @@ -25,7 +25,7 @@ namespace BladeRunner { enum kDR05Loops { - kDR05LoopMain = 0, + kDR05LoopMainLoop = 0, kDR05LoopMainDestroyed = 2 }; @@ -44,7 +44,7 @@ void SceneScriptDR05::InitializeScene() { if (Game_Flag_Query(kFlagDR05BombExploded)) { Scene_Loop_Set_Default(kDR05LoopMainDestroyed); } else { - Scene_Loop_Set_Default(kDR05LoopMain); + Scene_Loop_Set_Default(kDR05LoopMainLoop); } } diff --git a/engines/bladerunner/script/scene/hc03.cpp b/engines/bladerunner/script/scene/hc03.cpp index 06a8c3bca7..4c7b8ffe9d 100644 --- a/engines/bladerunner/script/scene/hc03.cpp +++ b/engines/bladerunner/script/scene/hc03.cpp @@ -25,7 +25,7 @@ namespace BladeRunner { enum kHC03Loops { - kHC03LoopMain = 0, + kHC03LoopMainLoop = 0, kHC03LoopCageDoorOpening = 2, kHC03LoopMainCageOpen = 3, kHC03LoopTrapDoorOpening = 5, @@ -85,7 +85,7 @@ void SceneScriptHC03::InitializeScene() { ) { Scene_Loop_Set_Default(kHC03LoopMainCageOpen); } else { - Scene_Loop_Set_Default(kHC03LoopMain); + Scene_Loop_Set_Default(kHC03LoopMainLoop); } } diff --git a/engines/bladerunner/script/scene/hf01.cpp b/engines/bladerunner/script/scene/hf01.cpp index 41468b0178..f7567bc438 100644 --- a/engines/bladerunner/script/scene/hf01.cpp +++ b/engines/bladerunner/script/scene/hf01.cpp @@ -28,7 +28,7 @@ enum kHF01Loops { kHF01LoopInshot = 0, kHF01LoopMainLoopSpinner = 1, kHF01LoopDoorAnim = 3, - kHF01LoopOutshoot = 4, + kHF01LoopOutshot = 4, kHF01LoopMainLoopNoSpinner = 5 }; @@ -225,63 +225,63 @@ bool SceneScriptHF01::ClickedOnExit(int exitId) { Game_Flag_Reset(kFlagSpinnerAtHF01); Game_Flag_Set(kFlagSpinnerAtPS01); Set_Enter(kSetPS01, kScenePS01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshot, true); break; case kSpinnerDestinationMcCoysApartment: Game_Flag_Set(kFlagMcCoyInMcCoyApartment); Game_Flag_Reset(kFlagSpinnerAtHF01); Game_Flag_Set(kFlagSpinnerAtMA01); Set_Enter(kSetMA01, kSceneMA01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshot, true); break; case kSpinnerDestinationRuncitersAnimals: Game_Flag_Set(kFlagMcCoyInRunciters); Game_Flag_Reset(kFlagSpinnerAtHF01); Game_Flag_Set(kFlagSpinnerAtRC01); Set_Enter(kSetRC01, kSceneRC01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshot, true); break; case kSpinnerDestinationChinatown: Game_Flag_Set(kFlagMcCoyInChinaTown); Game_Flag_Reset(kFlagSpinnerAtHF01); Game_Flag_Set(kFlagSpinnerAtCT01); Set_Enter(kSetCT01_CT12, kSceneCT01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshot, true); break; case kSpinnerDestinationTyrellBuilding: Game_Flag_Set(kFlagMcCoyInTyrellBuilding); Game_Flag_Reset(kFlagSpinnerAtHF01); Game_Flag_Set(kFlagSpinnerAtTB02); Set_Enter(kSetTB02_TB03, kSceneTB02); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshot, true); break; case kSpinnerDestinationAnimoidRow: Game_Flag_Set(kFlagMcCoyInAnimoidRow); Game_Flag_Reset(kFlagSpinnerAtHF01); Game_Flag_Set(kFlagSpinnerAtAR01); Set_Enter(kSetAR01_AR02, kSceneAR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshot, true); break; case kSpinnerDestinationDNARow: Game_Flag_Set(kFlagMcCoyInDNARow); Game_Flag_Reset(kFlagSpinnerAtHF01); Game_Flag_Set(kFlagSpinnerAtDR01); Set_Enter(kSetDR01_DR02_DR04, kSceneDR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshot, true); break; case kSpinnerDestinationBradburyBuilding: Game_Flag_Set(kFlagMcCoyInBradburyBuilding); Game_Flag_Reset(kFlagSpinnerAtHF01); Game_Flag_Set(kFlagSpinnerAtBB01); Set_Enter(kSetBB01, kSceneBB01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshot, true); break; case kSpinnerDestinationNightclubRow: Game_Flag_Set(kFlagMcCoyInNightclubRow); Game_Flag_Reset(kFlagSpinnerAtHF01); Game_Flag_Set(kFlagSpinnerAtNR01); Set_Enter(kSetNR01, kSceneNR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kHF01LoopOutshot, true); break; default: Game_Flag_Set(kFlagMcCoyInHysteriaHall); diff --git a/engines/bladerunner/script/scene/hf04.cpp b/engines/bladerunner/script/scene/hf04.cpp index 5a8cfab011..dea50534fa 100644 --- a/engines/bladerunner/script/scene/hf04.cpp +++ b/engines/bladerunner/script/scene/hf04.cpp @@ -25,7 +25,7 @@ namespace BladeRunner { enum kHF04Loops { - kHF04LoopMain = 0, + kHF04LoopMainLoop = 0, kHF04LoopDoorsClosing = 2, kHF04LoopMainDoorsClosed = 3, kHF04LoopDoorsOpening = 5 @@ -49,7 +49,7 @@ void SceneScriptHF04::InitializeScene() { if (Game_Flag_Query(kFlagHF04DoorsClosed)) { Scene_Loop_Set_Default(kHF04LoopMainDoorsClosed); } else { - Scene_Loop_Set_Default(kHF04LoopMain); + Scene_Loop_Set_Default(kHF04LoopMainLoop); } } @@ -133,7 +133,7 @@ void SceneScriptHF04::SceneFrameAdvanced(int frame) { if (Game_Flag_Query(kFlagHF04OpenDoors)) { Game_Flag_Reset(kFlagHF04OpenDoors); - Scene_Loop_Set_Default(kHF04LoopMain); + Scene_Loop_Set_Default(kHF04LoopMainLoop); Scene_Loop_Start_Special(kSceneLoopModeOnce, kHF04LoopDoorsOpening, true); return; // true; } diff --git a/engines/bladerunner/script/scene/ma01.cpp b/engines/bladerunner/script/scene/ma01.cpp index 898b5f8123..7de96d7577 100644 --- a/engines/bladerunner/script/scene/ma01.cpp +++ b/engines/bladerunner/script/scene/ma01.cpp @@ -25,10 +25,10 @@ namespace BladeRunner { enum kMA01Loops { - kMA01LoopInshotRoof = 0, - kMA01LoopMain = 1, - kMA01LoopOutDoorAnim = 3, - kMA01LoopOutshotRoof = 4 + kMA01LoopInshotRoof = 0, + kMA01LoopMainLoop = 1, + kMA01LoopOutDoorAnim = 3, + kMA01LoopOutshotRoof = 4 }; enum kMA01Exits { @@ -60,13 +60,13 @@ void SceneScriptMA01::InitializeScene() { Ambient_Sounds_Add_Sound(kSfxTHNDER4, 10, 70, 50, 100, 0, 0, -101, -101, 0, 0); if (Game_Flag_Query(kFlagMA06toMA01)) { - Scene_Loop_Set_Default(kMA01LoopMain); + Scene_Loop_Set_Default(kMA01LoopMainLoop); Game_Flag_Reset(kFlagMA06toMA01); } else { Actor_Set_Invisible(kActorMcCoy, true); Game_Flag_Set(kFlagArrivedFromSpinner2); Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kMA01LoopInshotRoof, false); - Scene_Loop_Set_Default(kMA01LoopMain); + Scene_Loop_Set_Default(kMA01LoopMainLoop); } if (Game_Flag_Query(kFlagMA01GaffApproachMcCoy)) { diff --git a/engines/bladerunner/script/scene/ma04.cpp b/engines/bladerunner/script/scene/ma04.cpp index 80dade2c41..7448f720aa 100644 --- a/engines/bladerunner/script/scene/ma04.cpp +++ b/engines/bladerunner/script/scene/ma04.cpp @@ -25,16 +25,16 @@ namespace BladeRunner { enum kMA04Loops { - kMA04LoopInshot = 0, - kMA04LoopMain = 1, - kMA04LoopSleep = 3, - kMA04LoopWakeup = 4 + kMA04LoopInshot = 0, + kMA04LoopMainLoop = 1, + kMA04LoopSleep = 3, + kMA04LoopWakeup = 4 }; enum kMA04Exits { - kMA04ExitMA02 = 0, - kMA04ExitMA05 = 1, - kMA04ExitKitchen = 2 + kMA04ExitMA02 = 0, + kMA04ExitMA05 = 1, + kMA04ExitKitchen = 2 }; enum kMA04Regions { @@ -75,7 +75,7 @@ void SceneScriptMA04::InitializeScene() { if (isPhoneRinging()) { Ambient_Sounds_Add_Sound(kSfxVIDFONE1, 3, 3, 100, 100, 0, 0, 0, 0, 99, 0); } - Scene_Loop_Set_Default(kMA04LoopMain); + Scene_Loop_Set_Default(kMA04LoopMainLoop); } void SceneScriptMA04::SceneLoaded() { diff --git a/engines/bladerunner/script/scene/ma05.cpp b/engines/bladerunner/script/scene/ma05.cpp index 6c2622d266..9eca4ba675 100644 --- a/engines/bladerunner/script/scene/ma05.cpp +++ b/engines/bladerunner/script/scene/ma05.cpp @@ -25,9 +25,9 @@ namespace BladeRunner { enum kMA05Loops { - kMA05LoopInshot = 0, // 0 - 29 // Frame 29 (in Acts 1 and 2 this ties in with Frame 30 of the Loop Main, in Act 5 it ties with frame 60?!) - kMA05LoopMain = 1, // 30 - 90 - kMA05LoopSpinner = 3 // 91 - 150 // Frame 150 ties in with Frame 30 of Loop Main + kMA05LoopInshot = 0, // 0 - 29 // Frame 29 (in Acts 1 and 2 this ties in with Frame 30 of the Loop Main, in Act 5 it ties with frame 60?!) + kMA05LoopMainLoop = 1, // 30 - 90 + kMA05LoopSpinner = 3 // 91 - 150 // Frame 150 ties in with Frame 30 of Loop Main }; enum kMA05Exits { @@ -63,7 +63,7 @@ void SceneScriptMA05::InitializeScene() { if (Global_Variable_Query(kVariableChapter) != 2 && Global_Variable_Query(kVariableChapter) != 3) { Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kMA05LoopInshot, false); } - Scene_Loop_Set_Default(kMA05LoopMain); + Scene_Loop_Set_Default(kMA05LoopMainLoop); } void SceneScriptMA05::SceneLoaded() { @@ -120,7 +120,7 @@ void SceneScriptMA05::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo void SceneScriptMA05::PlayerWalkedIn() { Music_Play(kMusicBRBlues, 52, 0, 2, -1, 0, 0); if ((Random_Query(0, 4) == 1 || (Game_Flag_Query(kFlagChapter1Ending) && !Game_Flag_Query(kFlagChapter1Ended))) && Global_Variable_Query(kVariableChapter) == 1) { - Scene_Loop_Set_Default(kMA05LoopMain); + Scene_Loop_Set_Default(kMA05LoopMainLoop); Scene_Loop_Start_Special(kSceneLoopModeOnce, kMA05LoopSpinner, true); Sound_Play(kSfxSPIN3A, 100, 0, 0, 50); } diff --git a/engines/bladerunner/script/scene/ma06.cpp b/engines/bladerunner/script/scene/ma06.cpp index 219cda58ce..3779f946f5 100644 --- a/engines/bladerunner/script/scene/ma06.cpp +++ b/engines/bladerunner/script/scene/ma06.cpp @@ -27,7 +27,7 @@ namespace BladeRunner { // Appears that names for "open" and "close" are switched enum kMA06Loops { kMA06LoopDoorOpen = 0, - kMA06LoopMain = 1, + kMA06LoopMainLoop = 1, kMA06LoopDoorClose = 3 }; @@ -38,7 +38,7 @@ void SceneScriptMA06::InitializeScene() { Ambient_Sounds_Add_Looping_Sound(kSfxAPRTFAN1, 33, 0, 1); Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kMA06LoopDoorOpen, false); - Scene_Loop_Set_Default(kMA06LoopMain); + Scene_Loop_Set_Default(kMA06LoopMainLoop); Sound_Play(kSfxELDOORC1, 100, 50, 50, 100); } @@ -142,7 +142,7 @@ void SceneScriptMA06::activateElevator() { int floor = Elevator_Activate(kElevatorMA); Player_Loses_Control(); - Scene_Loop_Start_Special(kSceneLoopModeOnce, kMA06LoopMain, true); + Scene_Loop_Start_Special(kSceneLoopModeOnce, kMA06LoopMainLoop, true); if (floor > 1) { Game_Flag_Set(kFlagMA06toMA07); diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp index 14b74f99bf..41a571c5e0 100644 --- a/engines/bladerunner/script/scene/nr01.cpp +++ b/engines/bladerunner/script/scene/nr01.cpp @@ -27,7 +27,7 @@ namespace BladeRunner { enum kNR01Loops { kNR01LoopInshot = 0, kNR01LoopMainLoop = 1, - kNR01LoopOutshoot = 3, + kNR01LoopOutshot = 3, kNR01LoopMainLoopNoSpinner = 4 }; @@ -87,7 +87,12 @@ void SceneScriptNR01::InitializeScene() { if ( Game_Flag_Query(kFlagSpinnerAtNR01) && !Game_Flag_Query(kFlagArrivedFromSpinner1) ) { - Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kNR01LoopInshot, false); + if ((!Game_Flag_Query(kFlagNR01VisitedFirstTimeWithSpinner) && Global_Variable_Query(kVariableChapter) == 3) + || Random_Query(1, 3) == 1) + { + // enhancement: don't always play after first visit + Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kNR01LoopInshot, false); + } Scene_Loop_Set_Default(kNR01LoopMainLoop); Game_Flag_Set(kFlagArrivedFromSpinner1); } else if (Game_Flag_Query(kFlagSpinnerAtNR01) @@ -178,7 +183,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) { Game_Flag_Reset(kFlagArrivedFromSpinner1); Game_Flag_Set(kFlagSpinnerAtPS01); Set_Enter(kSetPS01, kScenePS01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshot, true); break; case kSpinnerDestinationMcCoysApartment: Game_Flag_Set(kFlagMcCoyInMcCoyApartment); @@ -186,7 +191,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) { Game_Flag_Reset(kFlagArrivedFromSpinner1); Game_Flag_Set(kFlagSpinnerAtMA01); Set_Enter(kSetMA01, kSceneMA01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshot, true); break; case kSpinnerDestinationRuncitersAnimals: Game_Flag_Set(kFlagMcCoyInRunciters); @@ -194,7 +199,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) { Game_Flag_Reset(kFlagArrivedFromSpinner1); Game_Flag_Set(kFlagSpinnerAtRC01); Set_Enter(kSetRC01, kSceneRC01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshot, true); break; case kSpinnerDestinationChinatown: Game_Flag_Set(kFlagMcCoyInChinaTown); @@ -202,7 +207,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) { Game_Flag_Reset(kFlagArrivedFromSpinner1); Game_Flag_Set(kFlagSpinnerAtCT01); Set_Enter(kSetCT01_CT12, kSceneCT01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshot, true); break; case kSpinnerDestinationAnimoidRow: Game_Flag_Set(kFlagMcCoyInAnimoidRow); @@ -210,7 +215,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) { Game_Flag_Reset(kFlagArrivedFromSpinner1); Game_Flag_Set(kFlagSpinnerAtAR01); Set_Enter(kSetAR01_AR02, kSceneAR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshot, true); break; case kSpinnerDestinationTyrellBuilding: Game_Flag_Set(kFlagMcCoyInTyrellBuilding); @@ -218,7 +223,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) { Game_Flag_Reset(kFlagArrivedFromSpinner1); Game_Flag_Set(kFlagSpinnerAtTB02); Set_Enter(kSetTB02_TB03, kSceneTB02); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshot, true); break; case kSpinnerDestinationDNARow: Game_Flag_Set(kFlagMcCoyInDNARow); @@ -226,7 +231,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) { Game_Flag_Reset(kFlagArrivedFromSpinner1); Game_Flag_Set(kFlagSpinnerAtDR01); Set_Enter(kSetDR01_DR02_DR04, kSceneDR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshot, true); break; case kSpinnerDestinationBradburyBuilding: Game_Flag_Set(kFlagMcCoyInBradburyBuilding); @@ -234,14 +239,14 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) { Game_Flag_Reset(kFlagArrivedFromSpinner1); Game_Flag_Set(kFlagSpinnerAtBB01); Set_Enter(kSetBB01, kSceneBB01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshot, true); break; case kSpinnerDestinationHysteriaHall: Game_Flag_Set(kFlagMcCoyInHysteriaHall); Game_Flag_Reset(kFlagSpinnerAtNR01); Game_Flag_Set(kFlagSpinnerAtHF01); Set_Enter(kSetHF01, kSceneHF01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kNR01LoopOutshot, true); break; default: Player_Loses_Control(); @@ -423,6 +428,9 @@ void SceneScriptNR01::PlayerWalkedIn() { Actor_Set_Goal_Number(kActorHanoi, 204); Player_Gains_Control(); } else { + if (!Game_Flag_Query(kFlagNR01VisitedFirstTimeWithSpinner) && Game_Flag_Query(kFlagArrivedFromSpinner1)) { + Game_Flag_Set(kFlagNR01VisitedFirstTimeWithSpinner); + } Loop_Actor_Walk_To_XYZ(kActorMcCoy, 48.0f, 23.88f, -189.0f, 0, false, false, 0); } diff --git a/engines/bladerunner/script/scene/ps01.cpp b/engines/bladerunner/script/scene/ps01.cpp index a30fd4c958..4ab8f24582 100644 --- a/engines/bladerunner/script/scene/ps01.cpp +++ b/engines/bladerunner/script/scene/ps01.cpp @@ -25,10 +25,10 @@ namespace BladeRunner { enum kPS01Loops { - kPS01LoopInshoot = 0, + kPS01LoopInshot = 0, kPS01LoopMainLoop = 1, kPS01LoopDoorAnim = 3, - kPS01LoopOutshoot = 4, + kPS01LoopOutshot = 4, kPS01LoopNoSpinner = 5 }; @@ -54,7 +54,7 @@ void SceneScriptPS01::InitializeScene() { } else { Actor_Set_Invisible(kActorMcCoy, true); Game_Flag_Set(kFlagArrivedFromSpinner2); - Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kPS01LoopInshoot, false); + Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kPS01LoopInshot, false); Scene_Loop_Set_Default(kPS01LoopMainLoop); Player_Loses_Control(); } @@ -112,63 +112,63 @@ bool SceneScriptPS01::ClickedOnExit(int exitId) { Game_Flag_Reset(kFlagSpinnerAtPS01); Game_Flag_Set(kFlagSpinnerAtMA01); Set_Enter(kSetMA01, kSceneMA01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshot, true); break; case kSpinnerDestinationRuncitersAnimals: Game_Flag_Set(kFlagMcCoyInRunciters); Game_Flag_Reset(kFlagSpinnerAtPS01); Game_Flag_Set(kFlagSpinnerAtRC01); Set_Enter(kSetRC01, kSceneRC01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshot, true); break; case kSpinnerDestinationChinatown: Game_Flag_Set(kFlagMcCoyInChinaTown); Game_Flag_Reset(kFlagSpinnerAtPS01); Game_Flag_Set(kFlagSpinnerAtCT01); Set_Enter(kSetCT01_CT12, kSceneCT01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshot, true); break; case kSpinnerDestinationAnimoidRow: Game_Flag_Set(kFlagMcCoyInAnimoidRow); Game_Flag_Reset(kFlagSpinnerAtPS01); Game_Flag_Set(kFlagSpinnerAtAR01); Set_Enter(kSetAR01_AR02, kSceneAR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshot, true); break; case kSpinnerDestinationTyrellBuilding: Game_Flag_Set(kFlagMcCoyInTyrellBuilding); Game_Flag_Reset(kFlagSpinnerAtPS01); Game_Flag_Set(kFlagSpinnerAtTB02); Set_Enter(kSetTB02_TB03, kSceneTB02); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshot, true); break; case kSpinnerDestinationDNARow: Game_Flag_Set(kFlagMcCoyInDNARow); Game_Flag_Reset(kFlagSpinnerAtPS01); Game_Flag_Set(kFlagSpinnerAtDR01); Set_Enter(kSetDR01_DR02_DR04, kSceneDR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshot, true); break; case kSpinnerDestinationBradburyBuilding: Game_Flag_Set(kFlagMcCoyInBradburyBuilding); Game_Flag_Reset(kFlagSpinnerAtPS01); Game_Flag_Set(kFlagSpinnerAtBB01); Set_Enter(kSetBB01, kSceneBB01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshot, true); break; case kSpinnerDestinationNightclubRow: Game_Flag_Set(kFlagMcCoyInNightclubRow); Game_Flag_Reset(kFlagSpinnerAtPS01); Game_Flag_Set(kFlagSpinnerAtNR01); Set_Enter(kSetNR01, kSceneNR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshot, true); break; case kSpinnerDestinationHysteriaHall: Game_Flag_Set(kFlagMcCoyInHysteriaHall); Game_Flag_Reset(kFlagSpinnerAtPS01); Game_Flag_Set(kFlagSpinnerAtHF01); Set_Enter(kSetHF01, kSceneHF01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshoot, true); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kPS01LoopOutshot, true); break; default: Actor_Face_Heading(kActorMcCoy, 870, false); diff --git a/engines/bladerunner/script/scene/rc03.cpp b/engines/bladerunner/script/scene/rc03.cpp index 2929296260..9f00c5f5ab 100644 --- a/engines/bladerunner/script/scene/rc03.cpp +++ b/engines/bladerunner/script/scene/rc03.cpp @@ -24,6 +24,11 @@ namespace BladeRunner { +enum kRC03Loops { + kRC03LoopInshot = 0, + kRC03LoopMainLoop = 1 +}; + void SceneScriptRC03::InitializeScene() { if (Game_Flag_Query(kFlagRC01toRC03)) { Setup_Scene_Information(298.0f, -4.0f, 405.0f, 800); @@ -82,11 +87,12 @@ void SceneScriptRC03::InitializeScene() { if (Game_Flag_Query(kFlagHC04toRC03) && Actor_Query_Goal_Number(kActorIzo) != kGoalIzoWaitingAtRC03 ) { - if (Random_Query(1, 3) == 1) { // enhancement: don't always play this scene when exiting Hawker's Circle - Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false); + if (Random_Query(1, 3) == 1) { + // enhancement: don't always play this scene when exiting Hawker's Circle + Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kRC03LoopInshot, false); } } - Scene_Loop_Set_Default(1); + Scene_Loop_Set_Default(kRC03LoopMainLoop); } void SceneScriptRC03::SceneLoaded() { diff --git a/engines/bladerunner/script/scene/rc51.cpp b/engines/bladerunner/script/scene/rc51.cpp index 85182b8e9d..ed5642de6c 100644 --- a/engines/bladerunner/script/scene/rc51.cpp +++ b/engines/bladerunner/script/scene/rc51.cpp @@ -26,7 +26,7 @@ namespace BladeRunner { enum kRC51Loops { kRC51LoopInshotFromRC02 = 0, - kRC51LoopMain = 1 + kRC51LoopMainLoop = 1 }; enum kRC51Exits { @@ -37,7 +37,7 @@ void SceneScriptRC51::InitializeScene() { Setup_Scene_Information(-8.87f, -1238.89f, 108164.27f, 66); Scene_Exit_Add_2D_Exit(kRC51ExitRC02, 0, 460, 639, 479, 2); Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kRC51LoopInshotFromRC02, false); - Scene_Loop_Set_Default(kRC51LoopMain); + Scene_Loop_Set_Default(kRC51LoopMainLoop); } void SceneScriptRC51::SceneLoaded() { diff --git a/engines/bladerunner/script/scene/tb07.cpp b/engines/bladerunner/script/scene/tb07.cpp index 0faa58d3ed..9e5578a907 100644 --- a/engines/bladerunner/script/scene/tb07.cpp +++ b/engines/bladerunner/script/scene/tb07.cpp @@ -25,7 +25,7 @@ namespace BladeRunner { enum kTB07Loops { - kTB07LoopMain = 0, + kTB07LoopMainLoop = 0, kTB07LoopShadeDrop = 2, kTB07LoopMainShadeDown = 3 }; @@ -54,7 +54,7 @@ void SceneScriptTB07::InitializeScene() { if (Game_Flag_Query(kFlagTB07ShadeDown)) { Scene_Loop_Set_Default(kTB07LoopMainShadeDown); } else { - Scene_Loop_Set_Default(kTB07LoopMain); + Scene_Loop_Set_Default(kTB07LoopMainLoop); } } diff --git a/engines/bladerunner/script/scene/ug04.cpp b/engines/bladerunner/script/scene/ug04.cpp index 357332a4c3..d80c67afaf 100644 --- a/engines/bladerunner/script/scene/ug04.cpp +++ b/engines/bladerunner/script/scene/ug04.cpp @@ -24,6 +24,11 @@ namespace BladeRunner { +enum kUG04Loops { + kUG04LoopTrainLoop = 0, + kUG04LoopMainLoop = 1 +}; + void SceneScriptUG04::InitializeScene() { if (Game_Flag_Query(kFlagUG05toUG04)) { Setup_Scene_Information( 0.0f, -1.74f, -2400.0f, 496); @@ -61,10 +66,11 @@ void SceneScriptUG04::InitializeScene() { if ((Global_Variable_Query(kVariableChapter) == 3) || (Global_Variable_Query(kVariableChapter) > 3 && Random_Query(1, 5) == 1) - ){ // enhancement: don't always play the passing train after chapter 3 - Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false); + ){ + // enhancement: don't always play the bikers after chapter 3 + Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kUG04LoopTrainLoop, false); } - Scene_Loop_Set_Default(1); + Scene_Loop_Set_Default(kUG04LoopMainLoop); } void SceneScriptUG04::SceneLoaded() { |