diff options
Diffstat (limited to 'engines/bladerunner/script/scene/ma01.cpp')
-rw-r--r-- | engines/bladerunner/script/scene/ma01.cpp | 72 |
1 files changed, 42 insertions, 30 deletions
diff --git a/engines/bladerunner/script/scene/ma01.cpp b/engines/bladerunner/script/scene/ma01.cpp index d820a175ed..c0f05ad1bf 100644 --- a/engines/bladerunner/script/scene/ma01.cpp +++ b/engines/bladerunner/script/scene/ma01.cpp @@ -24,6 +24,18 @@ namespace BladeRunner { +enum kMA01Loops { + kMA01LoopInshotRoof = 0, + kMA01LoopMain = 1, + kMA01LoopOutDoorAnim = 3, + kMA01LoopOutshotRoof = 4 +}; + +enum kMA01Exits { + kMA01ExitMA06 = 0, + kMA01ExitSpinner = 1 +}; + void SceneScriptMA01::InitializeScene() { Setup_Scene_Information(381.0f, 0.0f, 54.0f, 992); if (Game_Flag_Query(kFlagSpinnerToMA01)) { @@ -32,9 +44,9 @@ void SceneScriptMA01::InitializeScene() { if (Game_Flag_Query(kFlagMA06toMA01)) { Setup_Scene_Information(1446.0f, 0.0f, -725.0f, 660); } - Scene_Exit_Add_2D_Exit(0, 328, 132, 426, 190, 0); + Scene_Exit_Add_2D_Exit(kMA01ExitMA06, 328, 132, 426, 190, 0); if (Game_Flag_Query(kFlagSpinnerToMA01)) { - Scene_Exit_Add_2D_Exit(1, 234, 240, 398, 328, 2); + Scene_Exit_Add_2D_Exit(kMA01ExitSpinner, 234, 240, 398, 328, 2); } Ambient_Sounds_Add_Looping_Sound(101, 90, 0, 1); Ambient_Sounds_Add_Looping_Sound(99, 40, -100, 1); @@ -45,13 +57,13 @@ void SceneScriptMA01::InitializeScene() { Ambient_Sounds_Add_Sound(376, 10, 70, 50, 100, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(377, 10, 70, 50, 100, 0, 0, -101, -101, 0, 0); if (Game_Flag_Query(kFlagMA06toMA01)) { - Scene_Loop_Set_Default(1); + Scene_Loop_Set_Default(kMA01LoopMain); Game_Flag_Reset(kFlagMA06toMA01); } else { Actor_Set_Invisible(kActorMcCoy, true); Game_Flag_Set(273); - Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false); - Scene_Loop_Set_Default(1); + Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kMA01LoopInshotRoof, false); + Scene_Loop_Set_Default(kMA01LoopMain); } if (Game_Flag_Query(409)) { Actor_Set_Goal_Number(kActorGaff, 3); @@ -88,7 +100,7 @@ bool SceneScriptMA01::ClickedOnExit(int exitId) { if (Actor_Query_Goal_Number(kActorZuben) == 21) { return true; } - if (exitId == 0) { + if (exitId == kMA01ExitMA06) { if (Actor_Query_Goal_Number(kActorZuben) == 20) { if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1446.0f, 0.0f, -725.0f, 72, 1, false, 0)) { Actor_Set_Goal_Number(kActorZuben, 21); @@ -98,11 +110,11 @@ bool SceneScriptMA01::ClickedOnExit(int exitId) { Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Game_Flag_Set(kFlagMA01toMA06); - Set_Enter(52, kSceneMA06); + Set_Enter(kSetMA06, kSceneMA06); } return true; } - if (exitId == 1) { + if (exitId == kMA01ExitSpinner) { if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 381.0f, 0.0f, 54.0f, 0, 1, false, 0)) { Player_Loses_Control(); Actor_Face_Heading(kActorMcCoy, 736, false); @@ -114,71 +126,71 @@ bool SceneScriptMA01::ClickedOnExit(int exitId) { Game_Flag_Reset(177); Game_Flag_Reset(258); Game_Flag_Reset(178); - int spinnerDest = Spinner_Interface_Choose_Dest(3, false); + int spinnerDest = Spinner_Interface_Choose_Dest(kMA01LoopOutDoorAnim, false); switch (spinnerDest) { case kSpinnerDestinationPoliceStation: Game_Flag_Set(178); Game_Flag_Reset(kFlagSpinnerToMA01); Game_Flag_Set(kFlagSpinnerToPS01); - Set_Enter(61, kScenePS01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true); + Set_Enter(kSetPS01, kScenePS01); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationRuncitersAnimals: Game_Flag_Set(182); Game_Flag_Reset(kFlagSpinnerToMA01); Game_Flag_Set(kFlagSpinnerToRC01); - Set_Enter(69, kSceneRC01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true); + Set_Enter(kSetRC01, kSceneRC01); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationChinatown: Game_Flag_Set(176); Game_Flag_Reset(kFlagSpinnerToMA01); Game_Flag_Set(kFlagSpinnerToCT01); - Set_Enter(4, kSceneCT01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true); + Set_Enter(kSetCT01_CT12, kSceneCT01); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationTyrellBuilding: Game_Flag_Set(261); Game_Flag_Reset(kFlagSpinnerToMA01); Game_Flag_Set(kFlagSpinnerToTB02); - Set_Enter(17, kSceneTB02); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true); + Set_Enter(kSetTB02_TB03, kSceneTB02); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationAnimoidRow: Game_Flag_Set(180); Game_Flag_Reset(kFlagSpinnerToMA01); Game_Flag_Set(kFlagSpinnerToAR01); - Set_Enter(0, kSceneAR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true); + Set_Enter(kSetAR01_AR02, kSceneAR01); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationDNARow: Game_Flag_Set(177); Game_Flag_Reset(kFlagSpinnerToMA01); Game_Flag_Set(kFlagSpinnerToDR01); - Set_Enter(7, kSceneDR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true); + Set_Enter(kSetDR01_DR02_DR04, kSceneDR01); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationBradburyBuilding: Game_Flag_Set(258); Game_Flag_Reset(kFlagSpinnerToMA01); Game_Flag_Set(kFlagSpinnerToBB01); - Set_Enter(20, kSceneBB01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true); + Set_Enter(kSetBB01, kSceneBB01); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationNightclubRow: Game_Flag_Set(181); Game_Flag_Reset(kFlagSpinnerToMA01); Game_Flag_Set(kFlagSpinnerToNR01); - Set_Enter(54, kSceneNR01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true); + Set_Enter(kSetNR01, kSceneNR01); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationHysteriaHall: Game_Flag_Set(257); Game_Flag_Reset(kFlagSpinnerToMA01); Game_Flag_Set(kFlagSpinnerToHF01); - Set_Enter(37, kSceneHF01); - Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true); + Set_Enter(kSetHF01, kSceneHF01); + Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; default: Actor_Set_Invisible(kActorMcCoy, false); @@ -240,10 +252,10 @@ void SceneScriptMA01::PlayerWalkedIn() { void SceneScriptMA01::PlayerWalkedOut() { Actor_Set_Invisible(kActorMcCoy, false); - Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); + Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); - if (!Game_Flag_Query(kFlagMA01toMA06) && Global_Variable_Query(1) == 1) { - Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); + if (!Game_Flag_Query(kFlagMA01toMA06) && Global_Variable_Query(kVariableChapter) == 1) { + Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Outtake_Play(kOuttakeTowards2, true, -1); Outtake_Play(kOuttakeInside1, true, -1); |