aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/script/scene/ct02.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner/script/scene/ct02.cpp')
-rw-r--r--engines/bladerunner/script/scene/ct02.cpp116
1 files changed, 52 insertions, 64 deletions
diff --git a/engines/bladerunner/script/scene/ct02.cpp b/engines/bladerunner/script/scene/ct02.cpp
index ca17d784a4..c7c6ba71bf 100644
--- a/engines/bladerunner/script/scene/ct02.cpp
+++ b/engines/bladerunner/script/scene/ct02.cpp
@@ -24,20 +24,31 @@
namespace BladeRunner {
+enum kCT02Loops {
+ kCT02LoopMain = 0,
+ kCT02LoopTippingPot = 2,
+ kCT02LoopMainPotTipped = 3,
+};
+
+enum kCT02Exits {
+ kCT02ExitCT01 = 0,
+ kCT02ExitCT03 = 1
+};
+
void SceneScriptCT02::InitializeScene() {
- if (Game_Flag_Query(70)) {
- Game_Flag_Reset(70);
+ if (Game_Flag_Query(kFlagCT03toCT02)) {
+ Game_Flag_Reset(kFlagCT03toCT02);
Setup_Scene_Information(-154.83f, -145.11f, 9.39f, 516);
- } else if (Game_Flag_Query(720)) {
+ } else if (Game_Flag_Query(kFlagCT02McCoyCombatReady)) {
Setup_Scene_Information(-213.82f, -145.11f, 214.43f, 82);
} else {
Setup_Scene_Information(-119.02f, -145.11f, 240.99f, 768);
}
- Scene_Exit_Add_2D_Exit(0, 590, 0, 639, 479, 1);
+ Scene_Exit_Add_2D_Exit(kCT02ExitCT01, 590, 0, 639, 479, 1);
if (Actor_Clue_Query(kActorMcCoy, kClueZubenRunsAway)) {
- Scene_Exit_Add_2D_Exit(1, 332, 163, 404, 297, 0);
+ Scene_Exit_Add_2D_Exit(kCT02ExitCT03, 332, 163, 404, 297, 0);
} else {
- Overlay_Play("ct02over", 0, 1, 0, 0);
+ Overlay_Play("ct02over", 0, true, false, 0);
}
Ambient_Sounds_Add_Looping_Sound(96, 25, 0, 1);
Ambient_Sounds_Add_Looping_Sound(56, 38, 100, 1);
@@ -50,10 +61,10 @@ void SceneScriptCT02::InitializeScene() {
Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 19, 100, 100, -101, -101, 1, 1);
Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 19, 100, 100, -101, -101, 1, 1);
Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 19, 100, 100, -101, -101, 1, 1);
- if (Game_Flag_Query(293)) {
- Scene_Loop_Set_Default(3);
+ if (Game_Flag_Query(kFlagCT02PotTipped)) {
+ Scene_Loop_Set_Default(kCT02LoopMainPotTipped);
} else {
- Scene_Loop_Set_Default(0);
+ Scene_Loop_Set_Default(kCT02LoopMain);
}
}
@@ -76,7 +87,7 @@ void SceneScriptCT02::SceneLoaded() {
Unclickable_Object("COUNTER-2");
Unclickable_Object("COFFEJUG IN FOREGRO");
Unclickable_Object("BACK-DOOR");
- if (!Game_Flag_Query(293)) {
+ if (!Game_Flag_Query(kFlagCT02PotTipped)) {
Preload(0);
Preload(3);
Preload(3);
@@ -85,8 +96,8 @@ void SceneScriptCT02::SceneLoaded() {
Preload(419);
Preload(420);
}
- if (Game_Flag_Query(720)) {
- Game_Flag_Reset(720);
+ if (Game_Flag_Query(kFlagCT02McCoyCombatReady)) {
+ Game_Flag_Reset(kFlagCT02McCoyCombatReady);
Actor_Change_Animation_Mode(kActorMcCoy, 0);
Player_Set_Combat_Mode(true);
Player_Gains_Control();
@@ -94,8 +105,8 @@ void SceneScriptCT02::SceneLoaded() {
}
bool SceneScriptCT02::MouseClick(int x, int y) {
- if (Actor_Query_Goal_Number(kActorZuben) == 8) {
- Actor_Set_Goal_Number(kActorMcCoy, 1);
+ if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02PushPot) {
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDodge);
return true;
}
return false;
@@ -113,23 +124,23 @@ void SceneScriptCT02::dialogueWithZuben() {
if (Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewA) && !Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
DM_Add_To_List_Never_Repeat_Once_Selected(280, 8, 5, 3);
}
- int v0 = 0;
+ int evidenceCount = 0;
if (Actor_Clue_Query(kActorMcCoy, kClueDoorForced2)) {
- v0 = 1;
+ evidenceCount = 1;
}
if (Actor_Clue_Query(kActorMcCoy, kClueLabCorpses)) {
- ++v0;
+ ++evidenceCount;
}
if (Actor_Clue_Query(kActorMcCoy, kClueLimpingFootprints)) {
- ++v0;
+ ++evidenceCount;
}
if (Actor_Clue_Query(kActorMcCoy, kClueCrowdInterviewA)) {
- ++v0;
+ ++evidenceCount;
}
if (Actor_Clue_Query(kActorMcCoy, kClueHowieLeeInterview)) {
- ++v0;
+ ++evidenceCount;
}
- if (v0 > 3) {
+ if (evidenceCount > 3) {
DM_Add_To_List_Never_Repeat_Once_Selected(290, -1, 4, 8);
}
Dialogue_Menu_Add_DONE_To_List(300);
@@ -146,27 +157,11 @@ void SceneScriptCT02::dialogueWithZuben() {
Actor_Says(kActorMcCoy, 415, 10);
Actor_Clue_Acquire(kActorMcCoy, kClueZubenInterview, 0, -1);
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -5);
- if (Actor_Query_Friendliness_To_Other(kActorZuben, kActorMcCoy) < 44) {
- Scene_Exits_Disable();
- Actor_Clue_Acquire(kActorMcCoy, kClueZubenRunsAway, 1, -1);
- Actor_Set_Goal_Number(kActorZuben, 8);
- Game_Flag_Set(293);
- Scene_Loop_Set_Default(3);
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
- }
break;
case 280:
Actor_Says(kActorMcCoy, 385, 9);
Actor_Says(kActorZuben, 40, 19);
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2);
- if (Actor_Query_Friendliness_To_Other(kActorZuben, kActorMcCoy) < 44) {
- Scene_Exits_Disable();
- Actor_Clue_Acquire(kActorMcCoy, kClueZubenRunsAway, 1, -1);
- Actor_Set_Goal_Number(kActorZuben, 8);
- Game_Flag_Set(293);
- Scene_Loop_Set_Default(3);
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
- }
break;
case 290:
Actor_Says(kActorMcCoy, 395, 9);
@@ -175,39 +170,32 @@ void SceneScriptCT02::dialogueWithZuben() {
Actor_Says(kActorMcCoy, 420, 10);
Actor_Says(kActorZuben, 80, 14);
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -10);
- if (Actor_Query_Friendliness_To_Other(kActorZuben, kActorMcCoy) < 44) {
- Scene_Exits_Disable();
- Actor_Clue_Acquire(kActorMcCoy, kClueZubenRunsAway, 1, -1);
- Actor_Set_Goal_Number(kActorZuben, 8);
- Game_Flag_Set(293);
- Scene_Loop_Set_Default(3);
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
- }
break;
case 300:
Actor_Says(kActorMcCoy, 405, 11);
- if (Actor_Query_Friendliness_To_Other(kActorZuben, kActorMcCoy) < 44) {
- Scene_Exits_Disable();
- Actor_Clue_Acquire(kActorMcCoy, kClueZubenRunsAway, 1, -1);
- Actor_Set_Goal_Number(kActorZuben, 8);
- Game_Flag_Set(293);
- Scene_Loop_Set_Default(3);
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
- }
break;
}
+
+ if (Actor_Query_Friendliness_To_Other(kActorZuben, kActorMcCoy) < 44) {
+ Scene_Exits_Disable();
+ Actor_Clue_Acquire(kActorMcCoy, kClueZubenRunsAway, 1, -1);
+ Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT02PushPot);
+ Game_Flag_Set(kFlagCT02PotTipped);
+ Scene_Loop_Set_Default(kCT02LoopMainPotTipped);
+ Scene_Loop_Start_Special(kSceneLoopModeOnce, kCT02LoopTippingPot, true);
+ }
}
bool SceneScriptCT02::ClickedOnActor(int actorId) {
- if (actorId == 19 && Actor_Query_Goal_Number(kActorZuben) == 1) {
+ if (actorId == kActorZuben && Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT01Leave) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -255.02f, -145.11f, 212.42f, 0, 1, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
Actor_Face_Actor(kActorZuben, kActorMcCoy, true);
- if (!Game_Flag_Query(59)) {
+ if (!Game_Flag_Query(kFlagCT02ZubenTalk)) {
Actor_Says(kActorMcCoy, 370, 10);
Actor_Says(kActorZuben, 20, 19);
Actor_Says(kActorMcCoy, 375, 9);
- Game_Flag_Set(59);
+ Game_Flag_Set(kFlagCT02ZubenTalk);
}
dialogueWithZuben();
return true;
@@ -221,17 +209,17 @@ bool SceneScriptCT02::ClickedOnItem(int itemId, bool a2) {
}
bool SceneScriptCT02::ClickedOnExit(int exitId) {
- if (exitId == 0) {
+ if (exitId == kCT02ExitCT01) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -111.2f, -145.11f, 243.28f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(234);
- Game_Flag_Set(68);
- Set_Enter(4, kSceneCT01);
+ Game_Flag_Set(kFlagCT02toCT01walk);
+ Game_Flag_Set(kFlagCT02toCT01);
+ Set_Enter(kSetCT01_CT12, kSceneCT01);
}
return true;
}
- if (exitId == 1) {
+ if (exitId == kCT02ExitCT03) {
bool v1;
if (Player_Query_Combat_Mode()) {
v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -154.83f, -145.11f, -82.61f, 0, 1, true, 0);
@@ -241,8 +229,8 @@ bool SceneScriptCT02::ClickedOnExit(int exitId) {
if (!v1) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(69);
- Set_Enter(5, kSceneCT03);
+ Game_Flag_Set(kFlagCT02toCT03);
+ Set_Enter(kSetCT03_CT04, kSceneCT03);
}
return true;
}
@@ -270,7 +258,7 @@ void SceneScriptCT02::SceneFrameAdvanced(int frame) {
Music_Play(1, 50, 0, 2, -1, 0, 0);
}
if (frame == 81) {
- Scene_Exit_Add_2D_Exit(1, 332, 163, 404, 297, 0);
+ Scene_Exit_Add_2D_Exit(kCT02ExitCT03, 332, 163, 404, 297, 0);
Scene_Exits_Enable();
}
}