diff options
author | Peter Kohaut | 2019-01-27 00:04:06 +0100 |
---|---|---|
committer | Peter Kohaut | 2019-01-27 11:49:00 +0100 |
commit | de1dabd072d0b24d0d2a847a290d7eefc84b7e6e (patch) | |
tree | e29aaa8c33e78905e10c9afc2b323b3a3ebd1cd6 /engines/bladerunner/script/scene | |
parent | 2bea2307111c8ab1f072b899cbc4780f31ffd162 (diff) | |
download | scummvm-rg350-de1dabd072d0b24d0d2a847a290d7eefc84b7e6e.tar.gz scummvm-rg350-de1dabd072d0b24d0d2a847a290d7eefc84b7e6e.tar.bz2 scummvm-rg350-de1dabd072d0b24d0d2a847a290d7eefc84b7e6e.zip |
BLADERUNNER: Cleanup & fix of Lucy chase scripts
First wait-point in Hystersia Maze was incorrectly triggered
Diffstat (limited to 'engines/bladerunner/script/scene')
-rw-r--r-- | engines/bladerunner/script/scene/hf02.cpp | 4 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/hf03.cpp | 25 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/hf04.cpp | 58 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/nr01.cpp | 10 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/nr11.cpp | 2 |
5 files changed, 54 insertions, 45 deletions
diff --git a/engines/bladerunner/script/scene/hf02.cpp b/engines/bladerunner/script/scene/hf02.cpp index 936b11fd2f..117851794b 100644 --- a/engines/bladerunner/script/scene/hf02.cpp +++ b/engines/bladerunner/script/scene/hf02.cpp @@ -59,7 +59,7 @@ void SceneScriptHF02::SceneLoaded() { Obstacle_Object("BARD_NEON", true); Unclickable_Object("BARD_NEON"); if (Actor_Query_Goal_Number(kActorSteele) == 234) { - if (Game_Flag_Query(593)) { + if (Game_Flag_Query(kFlagLucyRanAway)) { Actor_Set_Goal_Number(kActorSteele, 243); } else { Actor_Set_Goal_Number(kActorSteele, 240); @@ -132,7 +132,7 @@ void SceneScriptHF02::PlayerWalkedIn() { } if (Actor_Query_Goal_Number(kActorSteele) == 243) { - if (Actor_Query_Goal_Number(kActorLucy) == 599) { + if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyDead) { Actor_Set_Goal_Number(kActorSteele, 244); } else { Actor_Set_Goal_Number(kActorSteele, 245); diff --git a/engines/bladerunner/script/scene/hf03.cpp b/engines/bladerunner/script/scene/hf03.cpp index 591861c715..f54f8baa8c 100644 --- a/engines/bladerunner/script/scene/hf03.cpp +++ b/engines/bladerunner/script/scene/hf03.cpp @@ -78,13 +78,13 @@ void SceneScriptHF03::dialogueWithLucy() { switch (answer) { case 840: // VOIGT-KAMPFF Actor_Says(kActorMcCoy, 1630, 15); - if (Global_Variable_Query(40) == 3) { - Actor_Set_Goal_Number(kActorLucy, 214); + if (Global_Variable_Query(kVariableBehavior) == 3) { + Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunAwayWithHelp1); } else if (Game_Flag_Query(kFlagLucyIsReplicant)) { - Actor_Set_Goal_Number(kActorLucy, 212); + Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunToHF041); } else { - Actor_Set_Goal_Number(kActorLucy, 210); - Game_Flag_Set(593); + Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunOutPhase1); + Game_Flag_Set(kFlagLucyRanAway); } break; @@ -96,8 +96,8 @@ void SceneScriptHF03::dialogueWithLucy() { case 860: // CRYSTAL Actor_Says(kActorMcCoy, 1640, 12); - if (Global_Variable_Query(40) == 3) { - Actor_Set_Goal_Number(kActorLucy, 214); + if (Global_Variable_Query(kVariableBehavior) == 3) { + Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunAwayWithHelp1); } else { Actor_Says(kActorLucy, 210, 13); Actor_Says(kActorMcCoy, 1655, 15); @@ -128,10 +128,11 @@ void SceneScriptHF03::dialogueWithLucy() { Actor_Says(kActorMcCoy, 1660, 15); Actor_Says(kActorLucy, 230, 14); Actor_Clue_Acquire(kActorLucy, kClueMcCoyHelpedLucy, true, kActorMcCoy); + if (Game_Flag_Query(kFlagLucyIsReplicant)) { - Actor_Set_Goal_Number(kActorLucy, 212); + Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunToHF041); } else { - Actor_Set_Goal_Number(kActorLucy, 210); + Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunOutPhase1); } } break; @@ -160,7 +161,7 @@ void SceneScriptHF03::dialogueWithLucy() { bool SceneScriptHF03::ClickedOnActor(int actorId) { if (actorId == kActorLucy - && Actor_Query_Goal_Number(kActorLucy) == 205 + && Actor_Query_Goal_Number(kActorLucy) == kGoalLucyGoToHF03 ) { if (Game_Flag_Query(kFlagLucyIsReplicant) ? !Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 377, 0, true, false) @@ -248,8 +249,8 @@ void SceneScriptHF03::PlayerWalkedIn() { Game_Flag_Reset(kFlagHF01toHF03); } - if (Actor_Query_Goal_Number(kActorLucy) == 250) { - Actor_Set_Goal_Number(kActorLucy, 212); + if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyReturnToHF03) { + Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunToHF041); Actor_Says(kActorSteele, 210, 13); Actor_Face_Actor(kActorMcCoy, kActorSteele, true); Actor_Says(kActorMcCoy, 1680, 15); diff --git a/engines/bladerunner/script/scene/hf04.cpp b/engines/bladerunner/script/scene/hf04.cpp index 9dde7ac4f3..14cad2f76a 100644 --- a/engines/bladerunner/script/scene/hf04.cpp +++ b/engines/bladerunner/script/scene/hf04.cpp @@ -24,6 +24,13 @@ namespace BladeRunner { +enum kHF04Loops { + kHF04LoopMain = 0, + kHF04LoopDoorsClosing = 2, + kHF04LoopMainDoorsClosed = 3, + kHF04LoopDoorsOpening = 5 +}; + void SceneScriptHF04::InitializeScene() { Setup_Scene_Information(-33.85f, -0.31f, 395.0f, 0); Game_Flag_Reset(kFlagHF03toHF04); @@ -39,15 +46,15 @@ void SceneScriptHF04::InitializeScene() { Ambient_Sounds_Add_Sound(304, 5, 70, 33, 50, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(305, 5, 70, 33, 50, -100, 100, -101, -101, 0, 0); - if (Game_Flag_Query(584)) { - Scene_Loop_Set_Default(3); + if (Game_Flag_Query(kFlagHF04DoorsClosed)) { + Scene_Loop_Set_Default(kHF04LoopMainDoorsClosed); } else { - Scene_Loop_Set_Default(0); + Scene_Loop_Set_Default(kHF04LoopMain); } } void SceneScriptHF04::SceneLoaded() { - if (Game_Flag_Query(584)) { + if (Game_Flag_Query(kFlagHF04DoorsClosed)) { Unobstacle_Object("PIVOT_WALL#1", true); Unobstacle_Object("PIVOT_WALL#02", true); Unobstacle_Object("PIVOT_WALL#03", true); @@ -55,14 +62,15 @@ void SceneScriptHF04::SceneLoaded() { Unobstacle_Object("HIDE_WALL_A", true); Unobstacle_Object("HIDE_WALL_B", true); } - if (Actor_Query_Goal_Number(kActorLucy) == 213) { + + if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyRunToHF042) { if (Actor_Clue_Query(kActorLucy, kClueMcCoyHelpedLucy) - && Global_Variable_Query(40) != 3 + && Global_Variable_Query(kVariableBehavior) != 3 ) { - Game_Flag_Set(593); + Game_Flag_Set(kFlagLucyRanAway); } else { - Actor_Set_Goal_Number(kActorLucy, 230); - Game_Flag_Reset(584); + Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF04Start); + Game_Flag_Reset(kFlagHF04DoorsClosed); } } } @@ -110,28 +118,28 @@ void SceneScriptHF04::SceneFrameAdvanced(int frame) { } if (frame == 179 - && Actor_Query_Goal_Number(kActorLucy) == 235 + && Actor_Query_Goal_Number(kActorLucy) == kGoalLucyHF04WaitForMcCoy1 ) { - Actor_Set_Goal_Number(kActorLucy, 236); + Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF04Run3); } - if (Game_Flag_Query(585)) { - Game_Flag_Reset(585); - Scene_Loop_Set_Default(3); - Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true); + if (Game_Flag_Query(kFlagHF04CloseDoors)) { + Game_Flag_Reset(kFlagHF04CloseDoors); + Scene_Loop_Set_Default(kHF04LoopMainDoorsClosed); + Scene_Loop_Start_Special(kSceneLoopModeOnce, kHF04LoopDoorsClosing, true); //return true; return; } - if (Game_Flag_Query(586)) { - Game_Flag_Reset(586); - Scene_Loop_Set_Default(0); - Scene_Loop_Start_Special(kSceneLoopModeOnce, 5, true); + if (Game_Flag_Query(kFlagHF04OpenDoors)) { + Game_Flag_Reset(kFlagHF04OpenDoors); + Scene_Loop_Set_Default(kHF04LoopMain); + Scene_Loop_Start_Special(kSceneLoopModeOnce, kHF04LoopDoorsOpening, true); return; // true; } if (frame == 89) { - Game_Flag_Set(584); + Game_Flag_Set(kFlagHF04DoorsClosed); Obstacle_Object("HIDE_WALL_A", false); Obstacle_Object("HIDE_WALL_B", false); Unobstacle_Object("PIVOT_WALL#1", false); @@ -146,9 +154,9 @@ void SceneScriptHF04::SceneFrameAdvanced(int frame) { Obstacle_Object("PIVOT_WALL#1", false); Obstacle_Object("PIVOT_WALL#02", false); Obstacle_Object("PIVOT_WALL#03", true); - Game_Flag_Reset(584); - if (Actor_Query_Goal_Number(kActorLucy) == 234) { - Actor_Set_Goal_Number(kActorLucy, 235); + Game_Flag_Reset(kFlagHF04DoorsClosed); + if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyHF04Run2) { + Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF04WaitForMcCoy1); } return; // true; } @@ -159,8 +167,8 @@ void SceneScriptHF04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo } void SceneScriptHF04::PlayerWalkedIn() { - if (Actor_Query_Goal_Number(kActorLucy) == 230 - || Actor_Query_Goal_Number(kActorLucy) == 233 + if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyHF04Start + || Actor_Query_Goal_Number(kActorLucy) == kGoalLucyHF04Run1 ) { Player_Set_Combat_Mode(true); Music_Play(1, 60, 0, 2, -1, 0, 0); diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp index 31486c1c25..5bc76d948d 100644 --- a/engines/bladerunner/script/scene/nr01.cpp +++ b/engines/bladerunner/script/scene/nr01.cpp @@ -331,7 +331,7 @@ void SceneScriptNR01::PlayerWalkedIn() { Actor_Says(kActorSteele, 1440, 13); Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorSteele, 48, false, true); Actor_Says(kActorMcCoy, 3145, 13); - if (Global_Variable_Query(40) != 3) { + if (Global_Variable_Query(kVariableBehavior) != 3) { Actor_Says(kActorSteele, 1450, 12); Actor_Says(kActorSteele, 1460, 13); } @@ -360,14 +360,14 @@ void SceneScriptNR01::PlayerWalkedIn() { Actor_Says(kActorSteele, 1430, 12); Actor_Set_Goal_Number(kActorSteele, 285); } else { - int v0 = Global_Variable_Query(40) - 1; - if (!v0) { + int v0 = Global_Variable_Query(kVariableBehavior); + if (v0 == 1) { Actor_Says(kActorSteele, 1510, 15); Actor_Says(kActorSteele, 1520, 14); Actor_Says(kActorSteele, 1530, 13); Actor_Says(kActorMcCoy, 3170, 13); Actor_Set_Goal_Number(kActorSteele, 231); - } else if (v0 == 1) { + } else if (v0 == 2) { Actor_Says(kActorSteele, 1590, 15); Actor_Says(kActorMcCoy, 3195, 14); Actor_Says(kActorSteele, 1600, 16); @@ -377,7 +377,7 @@ void SceneScriptNR01::PlayerWalkedIn() { Actor_Says(kActorSteele, 1630, 14); Actor_Says(kActorMcCoy, 3205, 12); Actor_Set_Goal_Number(kActorSteele, 232); - } else if (v0 == 2) { + } else if (v0 == 3) { Actor_Says(kActorSteele, 1540, 15); Actor_Says(kActorMcCoy, 3175, 13); Actor_Says(kActorSteele, 1550, 13); diff --git a/engines/bladerunner/script/scene/nr11.cpp b/engines/bladerunner/script/scene/nr11.cpp index f97cc4c8f0..cf8143ef26 100644 --- a/engines/bladerunner/script/scene/nr11.cpp +++ b/engines/bladerunner/script/scene/nr11.cpp @@ -180,7 +180,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode) Actor_Says(kActorDektora, 1090, 17); Music_Stop(4); Actor_Set_Goal_Number(kActorDektora, 260); - if (Global_Variable_Query(40) == 1) { + if (Global_Variable_Query(kVariableBehavior) == 1) { Actor_Set_Goal_Number(kActorSteele, 236); } Game_Flag_Set(591); |