aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/script/scene
diff options
context:
space:
mode:
authorPeter Kohaut2019-01-27 00:04:06 +0100
committerPeter Kohaut2019-01-27 11:49:00 +0100
commitde1dabd072d0b24d0d2a847a290d7eefc84b7e6e (patch)
treee29aaa8c33e78905e10c9afc2b323b3a3ebd1cd6 /engines/bladerunner/script/scene
parent2bea2307111c8ab1f072b899cbc4780f31ffd162 (diff)
downloadscummvm-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.cpp4
-rw-r--r--engines/bladerunner/script/scene/hf03.cpp25
-rw-r--r--engines/bladerunner/script/scene/hf04.cpp58
-rw-r--r--engines/bladerunner/script/scene/nr01.cpp10
-rw-r--r--engines/bladerunner/script/scene/nr11.cpp2
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);