aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/script/scene
diff options
context:
space:
mode:
authorPeter Kohaut2019-01-19 23:12:45 +0100
committerPeter Kohaut2019-01-19 23:15:41 +0100
commit5e2fb6fb2672137f9dbcf6f17b8de9c312b236e6 (patch)
tree3ec28e49d9f51e6c40df9c5a0f2da35080d65905 /engines/bladerunner/script/scene
parentf7754012dd1766959aaf4eca8ad3028afab5d7d0 (diff)
downloadscummvm-rg350-5e2fb6fb2672137f9dbcf6f17b8de9c312b236e6.tar.gz
scummvm-rg350-5e2fb6fb2672137f9dbcf6f17b8de9c312b236e6.tar.bz2
scummvm-rg350-5e2fb6fb2672137f9dbcf6f17b8de9c312b236e6.zip
BLADERUNNER: More variable names in the game scripts
Fixed some errors as well
Diffstat (limited to 'engines/bladerunner/script/scene')
-rw-r--r--engines/bladerunner/script/scene/ar01.cpp86
-rw-r--r--engines/bladerunner/script/scene/ar02.cpp10
-rw-r--r--engines/bladerunner/script/scene/bb02.cpp8
-rw-r--r--engines/bladerunner/script/scene/bb03.cpp24
-rw-r--r--engines/bladerunner/script/scene/bb04.cpp6
-rw-r--r--engines/bladerunner/script/scene/bb05.cpp4
-rw-r--r--engines/bladerunner/script/scene/bb07.cpp2
-rw-r--r--engines/bladerunner/script/scene/bb10.cpp4
-rw-r--r--engines/bladerunner/script/scene/ct01.cpp212
-rw-r--r--engines/bladerunner/script/scene/ct02.cpp31
-rw-r--r--engines/bladerunner/script/scene/ct04.cpp26
-rw-r--r--engines/bladerunner/script/scene/ct05.cpp22
-rw-r--r--engines/bladerunner/script/scene/ct06.cpp2
-rw-r--r--engines/bladerunner/script/scene/ct08.cpp2
-rw-r--r--engines/bladerunner/script/scene/ct10.cpp4
-rw-r--r--engines/bladerunner/script/scene/ct11.cpp4
-rw-r--r--engines/bladerunner/script/scene/ct12.cpp134
-rw-r--r--engines/bladerunner/script/scene/ct51.cpp6
-rw-r--r--engines/bladerunner/script/scene/dr01.cpp4
-rw-r--r--engines/bladerunner/script/scene/dr03.cpp19
-rw-r--r--engines/bladerunner/script/scene/dr04.cpp103
-rw-r--r--engines/bladerunner/script/scene/dr05.cpp65
-rw-r--r--engines/bladerunner/script/scene/dr06.cpp113
-rw-r--r--engines/bladerunner/script/scene/hc01.cpp10
-rw-r--r--engines/bladerunner/script/scene/hc02.cpp8
-rw-r--r--engines/bladerunner/script/scene/hc03.cpp8
-rw-r--r--engines/bladerunner/script/scene/hc04.cpp4
-rw-r--r--engines/bladerunner/script/scene/hf01.cpp2
-rw-r--r--engines/bladerunner/script/scene/hf03.cpp4
-rw-r--r--engines/bladerunner/script/scene/hf04.cpp4
-rw-r--r--engines/bladerunner/script/scene/hf05.cpp4
-rw-r--r--engines/bladerunner/script/scene/hf06.cpp6
-rw-r--r--engines/bladerunner/script/scene/hf07.cpp4
-rw-r--r--engines/bladerunner/script/scene/kp05.cpp2
-rw-r--r--engines/bladerunner/script/scene/kp06.cpp4
-rw-r--r--engines/bladerunner/script/scene/ma01.cpp14
-rw-r--r--engines/bladerunner/script/scene/nr01.cpp28
-rw-r--r--engines/bladerunner/script/scene/nr02.cpp4
-rw-r--r--engines/bladerunner/script/scene/nr04.cpp8
-rw-r--r--engines/bladerunner/script/scene/nr06.cpp4
-rw-r--r--engines/bladerunner/script/scene/nr07.cpp10
-rw-r--r--engines/bladerunner/script/scene/nr08.cpp6
-rw-r--r--engines/bladerunner/script/scene/nr11.cpp2
-rw-r--r--engines/bladerunner/script/scene/ps01.cpp10
-rw-r--r--engines/bladerunner/script/scene/ps03.cpp14
-rw-r--r--engines/bladerunner/script/scene/ps04.cpp115
-rw-r--r--engines/bladerunner/script/scene/ps06.cpp6
-rw-r--r--engines/bladerunner/script/scene/ps07.cpp36
-rw-r--r--engines/bladerunner/script/scene/ps09.cpp26
-rw-r--r--engines/bladerunner/script/scene/ps14.cpp10
-rw-r--r--engines/bladerunner/script/scene/ps15.cpp39
-rw-r--r--engines/bladerunner/script/scene/rc01.cpp4
-rw-r--r--engines/bladerunner/script/scene/rc02.cpp45
-rw-r--r--engines/bladerunner/script/scene/rc03.cpp43
-rw-r--r--engines/bladerunner/script/scene/rc04.cpp312
-rw-r--r--engines/bladerunner/script/scene/rc51.cpp70
-rw-r--r--engines/bladerunner/script/scene/tb02.cpp204
-rw-r--r--engines/bladerunner/script/scene/tb05.cpp167
-rw-r--r--engines/bladerunner/script/scene/tb06.cpp149
-rw-r--r--engines/bladerunner/script/scene/tb07.cpp8
-rw-r--r--engines/bladerunner/script/scene/ug02.cpp16
-rw-r--r--engines/bladerunner/script/scene/ug03.cpp2
-rw-r--r--engines/bladerunner/script/scene/ug05.cpp4
-rw-r--r--engines/bladerunner/script/scene/ug06.cpp4
-rw-r--r--engines/bladerunner/script/scene/ug08.cpp4
-rw-r--r--engines/bladerunner/script/scene/ug10.cpp4
-rw-r--r--engines/bladerunner/script/scene/ug13.cpp78
-rw-r--r--engines/bladerunner/script/scene/ug14.cpp10
-rw-r--r--engines/bladerunner/script/scene/ug16.cpp10
-rw-r--r--engines/bladerunner/script/scene/ug18.cpp2
70 files changed, 1381 insertions, 1038 deletions
diff --git a/engines/bladerunner/script/scene/ar01.cpp b/engines/bladerunner/script/scene/ar01.cpp
index 2980209afc..adef4d4894 100644
--- a/engines/bladerunner/script/scene/ar01.cpp
+++ b/engines/bladerunner/script/scene/ar01.cpp
@@ -24,6 +24,22 @@
namespace BladeRunner {
+enum kAR01Loops {
+ kAR01LoopFromAR02WithSpinner = 0,
+ kAR01LoopInshoot = 1,
+ kAR01LoopMainLoop = 2,
+ kAR01LoopDoorAnim = 4,
+ kAR01LoopOutshoot = 5,
+ kAR01LoopFromAR02NoSpinner = 6,
+ kAR01LoopMainLoopNoSpinner = 7
+};
+
+enum kAR01Exits {
+ kAR01ExitHC01 = 0,
+ kAR01ExitAR02 = 1,
+ kAR01ExitSpinner = 2
+};
+
void SceneScriptAR01::InitializeScene() {
Music_Play(0, 25, 0, 2, -1, 1, 2);
if (Game_Flag_Query(kFlagHC01toAR01)) {
@@ -33,10 +49,10 @@ void SceneScriptAR01::InitializeScene() {
} else {
Setup_Scene_Information(-152.0f, 0.0f, 332.0f, 545);
}
- Scene_Exit_Add_2D_Exit(0, 134, 165, 177, 290, 3);
- Scene_Exit_Add_2D_Exit(1, 319, 0, 639, 207, 0);
+ Scene_Exit_Add_2D_Exit(kAR01ExitHC01, 134, 165, 177, 290, 3);
+ Scene_Exit_Add_2D_Exit(kAR01ExitAR02, 319, 0, 639, 207, 0);
if (Game_Flag_Query(kFlagSpinnerAtAR01)) {
- Scene_Exit_Add_2D_Exit(2, 0, 404, 99, 479, 2);
+ Scene_Exit_Add_2D_Exit(kAR01ExitSpinner, 0, 404, 99, 479, 2);
}
Ambient_Sounds_Add_Looping_Sound(54, 50, 1, 1);
Ambient_Sounds_Add_Looping_Sound(81, 60, 100, 1);
@@ -72,31 +88,31 @@ void SceneScriptAR01::InitializeScene() {
&& !Game_Flag_Query(kFlagHC01toAR01)
) {
Actor_Set_Invisible(kActorMcCoy, true);
- Game_Flag_Set(273);
- Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 1, false);
- Scene_Loop_Set_Default(2);
+ Game_Flag_Set(kFlagArrivedFromSpinner2);
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopInshoot, false);
+ Scene_Loop_Set_Default(kAR01LoopMainLoop);
} else if (Game_Flag_Query(kFlagSpinnerAtAR01)
&& Game_Flag_Query(kFlagAR02toAR01)
) {
- Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
- Scene_Loop_Set_Default(2);
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopFromAR02WithSpinner, false);
+ Scene_Loop_Set_Default(kAR01LoopMainLoop);
Game_Flag_Reset(kFlagAR02toAR01);
} else if (!Game_Flag_Query(kFlagSpinnerAtAR01)
&& Game_Flag_Query(kFlagAR02toAR01)
) {
- Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 6, false);
- Scene_Loop_Set_Default(7);
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopFromAR02NoSpinner, false);
+ Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner);
Game_Flag_Reset(kFlagAR02toAR01);
} else if (Game_Flag_Query(kFlagSpinnerAtAR01)
&& Game_Flag_Query(kFlagHC01toAR01)
) {
- Scene_Loop_Set_Default(2);
+ Scene_Loop_Set_Default(kAR01LoopMainLoop);
} else if (!Game_Flag_Query(kFlagSpinnerAtAR01)
&& Game_Flag_Query(kFlagHC01toAR01)
) {
- Scene_Loop_Set_Default(7);
+ Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner);
} else {
- Scene_Loop_Set_Default(7);
+ Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner);
}
}
@@ -133,7 +149,7 @@ bool SceneScriptAR01::ClickedOnActor(int actorId) {
Actor_Says(kActorFishDealer, 140, 14);
Actor_Says(kActorMcCoy, 50, 13);
Actor_Says(kActorFishDealer, 150, 14);
- Actor_Clue_Acquire(kActorMcCoy, kClueFishLadyInterview, 1, kActorMcCoy);
+ Actor_Clue_Acquire(kActorMcCoy, kClueFishLadyInterview, true, kActorMcCoy);
} else {
if (Random_Query(1, 2) == 1) {
Actor_Says(kActorMcCoy, 30, 17);
@@ -176,19 +192,19 @@ bool SceneScriptAR01::ClickedOnItem(int itemId, bool a2) {
}
bool SceneScriptAR01::ClickedOnExit(int exitId) {
- if (exitId == 0) {
+ if (exitId == kAR01ExitHC01) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0, 0.0, -149.0, 0, 1, false, 0)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0, 0.0, -149.0, 0, 0, false, 0);
Game_Flag_Set(kFlagAR01toHC01);
Game_Flag_Set(464);
Game_Flag_Reset(kFlagMcCoyAtARxx);
- Game_Flag_Set(479);
+ Game_Flag_Set(kFlagMcCoyAtHCxx);
Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC01);
Actor_Set_Goal_Number(kActorFishDealer, 3);
}
return true;
}
- if (exitId == 1) {
+ if (exitId == kAR01ExitAR02) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.0, 0.0, -551.0, 0, 1, false, 0)) {
Game_Flag_Set(kFlagAR01toAR02);
Async_Actor_Walk_To_XYZ(kActorMcCoy, -222.0, 0.0, -690.0, 0, false);
@@ -197,7 +213,7 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
}
return true;
}
- if (exitId == 2) {
+ if (exitId == kAR01ExitSpinner) {
if (Game_Flag_Query(486) == 1) {
Spinner_Set_Selectable_Destination_Flag(kSpinnerDestinationDNARow, true);
}
@@ -232,7 +248,7 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
Game_Flag_Reset(kFlagMcCoyAtHFxx);
Game_Flag_Reset(kFlagMcCoyAtARxx);
- int spinnerDest = Spinner_Interface_Choose_Dest(4, false);
+ int spinnerDest = Spinner_Interface_Choose_Dest(kAR01LoopDoorAnim, false);
Actor_Face_Heading(kActorMcCoy, 545, false);
switch (spinnerDest) {
@@ -241,63 +257,63 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtPS01);
Set_Enter(kSetPS01, kScenePS01);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationMcCoysApartment:
Game_Flag_Set(kFlagMcCoyAtMAxx);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtMA01);
Set_Enter(kSetMA01, kSceneMA01);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationRuncitersAnimals:
Game_Flag_Set(kFlagMcCoyAtRCxx);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtRC01);
Set_Enter(kSetRC01, kSceneRC01);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationChinatown:
Game_Flag_Set(kFlagMcCoyAtCTxx);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtCT01);
Set_Enter(kSetCT01_CT12, kSceneCT01);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationTyrellBuilding:
Game_Flag_Set(kFlagMcCoyAtTBxx);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtTB02);
Set_Enter(kSetTB02_TB03, kSceneTB02);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationDNARow:
Game_Flag_Set(kFlagMcCoyAtDRxx);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtDR01);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationBradburyBuilding:
Game_Flag_Set(kFlagMcCoyAtBBxx);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtBB01);
Set_Enter(kSetBB01, kSceneBB01);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationNightclubRow:
Game_Flag_Set(kFlagMcCoyAtNRxx);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtNR01);
Set_Enter(kSetNR01, kSceneNR01);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationHysteriaHall:
Game_Flag_Set(kFlagMcCoyAtHFxx);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtHF01);
Set_Enter(kSetHF01, kSceneHF01);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
default:
Game_Flag_Set(kFlagMcCoyAtARxx);
@@ -327,11 +343,17 @@ void SceneScriptAR01::SceneFrameAdvanced(int frame) {
if (frame == 256) {
Ambient_Sounds_Play_Sound(117, 40, -50, 80, 99);
}
- if ((frame == 75 || frame == 196) && Game_Flag_Query(273)) {
+ if ((frame == 75
+ || frame == 196
+ )
+ && Game_Flag_Query(kFlagArrivedFromSpinner2)
+ ) {
Actor_Face_Heading(kActorMcCoy, 545, false);
Actor_Change_Animation_Mode(kActorMcCoy, 42);
- Game_Flag_Reset(273);
- } else if (frame == 196 && !Game_Flag_Query(273)) {
+ Game_Flag_Reset(kFlagArrivedFromSpinner2);
+ } else if ( frame == 196
+ && !Game_Flag_Query(kFlagArrivedFromSpinner2
+ )) {
Actor_Change_Animation_Mode(kActorMcCoy, 41);
}
}
@@ -356,7 +378,7 @@ void SceneScriptAR01::PlayerWalkedOut() {
Actor_Set_Invisible(kActorMcCoy, false);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- if (!Game_Flag_Query(479)) {
+ if (!Game_Flag_Query(kFlagMcCoyAtHCxx)) {
Music_Stop(2);
}
if (!Game_Flag_Query(kFlagAR01toHC01)
diff --git a/engines/bladerunner/script/scene/ar02.cpp b/engines/bladerunner/script/scene/ar02.cpp
index d0b5bf8bba..ea95e7d60f 100644
--- a/engines/bladerunner/script/scene/ar02.cpp
+++ b/engines/bladerunner/script/scene/ar02.cpp
@@ -141,9 +141,9 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
Actor_Says(kActorInsectDealer, 340, 13);
Actor_Says(kActorInsectDealer, 350, 12);
Actor_Says(kActorMcCoy, 235, 16);
- Actor_Clue_Acquire(kActorMcCoy, kCluePurchasedScorpions, 0, kActorInsectDealer);
+ Actor_Clue_Acquire(kActorMcCoy, kCluePurchasedScorpions, false, kActorInsectDealer);
}
- Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyCollection, 0, kActorInsectDealer);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyCollection, false, kActorInsectDealer);
} else {
Actor_Says(kActorMcCoy, 240, 17);
Actor_Says(kActorInsectDealer, 360, 13);
@@ -285,7 +285,7 @@ void SceneScriptAR02::sub_402694() {
Actor_Says(kActorMcCoy, 100, 16);
Actor_Says(kActorInsectDealer, 180, 13);
Game_Flag_Set(329);
- Actor_Clue_Acquire(kActorMcCoy, kCluePeruvianLadyInterview, 1, kActorInsectDealer);
+ Actor_Clue_Acquire(kActorMcCoy, kCluePeruvianLadyInterview, true, kActorInsectDealer);
break;
case 510:
Actor_Says(kActorMcCoy, 8475, 12);
@@ -313,7 +313,7 @@ void SceneScriptAR02::sub_402AE0() {
if (Query_Difficulty_Level() != 0) {
Global_Variable_Decrement(2, 15);
}
- Actor_Clue_Acquire(kActorMcCoy, kClueMaggieBracelet, 1, kActorInsectDealer);
+ Actor_Clue_Acquire(kActorMcCoy, kClueMaggieBracelet, true, kActorInsectDealer);
Actor_Modify_Friendliness_To_Other(kActorInsectDealer, kActorMcCoy, 5);
} else if (answerValue == 540) {
Actor_Says(kActorMcCoy, 125, 13);
@@ -381,7 +381,7 @@ void SceneScriptAR02::sub_402CE4() {
Actor_Says(kActorHasan, 110, 12);
Actor_Says(kActorHasan, 120, 13);
Actor_Modify_Friendliness_To_Other(kActorHasan, kActorMcCoy, -1);
- Actor_Clue_Acquire(kActorMcCoy, kClueHasanInterview, 0, kActorHasan);
+ Actor_Clue_Acquire(kActorMcCoy, kClueHasanInterview, false, kActorHasan);
}
break;
}
diff --git a/engines/bladerunner/script/scene/bb02.cpp b/engines/bladerunner/script/scene/bb02.cpp
index 0f0e96324d..fa988790c3 100644
--- a/engines/bladerunner/script/scene/bb02.cpp
+++ b/engines/bladerunner/script/scene/bb02.cpp
@@ -25,7 +25,7 @@
namespace BladeRunner {
void SceneScriptBB02::InitializeScene() {
- if (Game_Flag_Query(281)) {
+ if (Game_Flag_Query(kFlagBB03toBB02)) {
Setup_Scene_Information(179.0f, -415.06f, 274.0f, 904);
} else if (Game_Flag_Query(333)) {
Setup_Scene_Information(-12.0f, -415.06f, -27.0f, 264);
@@ -112,7 +112,7 @@ bool SceneScriptBB02::ClickedOnExit(int exitId) {
if (exitId == 2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 86.0f, -415.06f, 174.0f, 0, 1, false, 0)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 179.0f, -415.06f, 274.0f, 0, 0, false, 0);
- Game_Flag_Set(282);
+ Game_Flag_Set(kFlagBB02toBB03);
Game_Flag_Reset(493);
Set_Enter(kSetBB03, kSceneBB03);
}
@@ -138,9 +138,9 @@ void SceneScriptBB02::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptBB02::PlayerWalkedIn() {
- if (Game_Flag_Query(281)) {
+ if (Game_Flag_Query(kFlagBB03toBB02)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 86.0f, -415.06f, 174.0f, 0, 0, false, 0);
- Game_Flag_Reset(281);
+ Game_Flag_Reset(kFlagBB03toBB02);
} else if (Game_Flag_Query(333)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 35.0f, -415.06f, -27.0f, 0, 0, false, 0);
Player_Gains_Control();
diff --git a/engines/bladerunner/script/scene/bb03.cpp b/engines/bladerunner/script/scene/bb03.cpp
index c4121a9cee..118fa22d5a 100644
--- a/engines/bladerunner/script/scene/bb03.cpp
+++ b/engines/bladerunner/script/scene/bb03.cpp
@@ -26,11 +26,11 @@ namespace BladeRunner {
void SceneScriptBB03::InitializeScene() {
Setup_Scene_Information(20.0f, 60.16f, 0.0f, 0);
- Game_Flag_Reset(282);
- if (Game_Flag_Query(284)) {
+ Game_Flag_Reset(kFlagBB02toBB03);
+ if (Game_Flag_Query(kFlagBB04toBB03)) {
Setup_Scene_Information(176.0f, 60.16f, 0.0f, 900);
}
- if (Game_Flag_Query(286)) {
+ if (Game_Flag_Query(kFlagBB05toBB03)) {
Setup_Scene_Information(204.0f, 60.16f, -164.0f, 740);
}
Scene_Exit_Add_2D_Exit(0, 589, 0, 639, 479, 1);
@@ -86,7 +86,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
if (exitId == 0) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, 1, false, 0)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, 0.0f, 0, 0, false, 0);
- Game_Flag_Set(283);
+ Game_Flag_Set(kFlagBB03toBB04);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB04);
@@ -95,7 +95,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
}
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.0f, 60.16f, 0.0f, 0, 1, false, 0)) {
- Game_Flag_Set(281);
+ Game_Flag_Set(kFlagBB03toBB02);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB02);
@@ -118,7 +118,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
Actor_Set_Targetable(kActorBryant, false);
Actor_Set_Targetable(kActorGeneralDoll, false);
}
- Game_Flag_Set(285);
+ Game_Flag_Set(kFlagBB03toBB05);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Set_Enter(kSetBB05, kSceneBB05);
@@ -142,13 +142,13 @@ void SceneScriptBB03::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptBB03::PlayerWalkedIn() {
- if (Game_Flag_Query(286)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 60.16f, -164.0f, 0, 0, false, 0);
- Game_Flag_Reset(286);
+ if (Game_Flag_Query(kFlagBB05toBB03)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 60.16f, -164.0f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagBB05toBB03);
}
- if (Game_Flag_Query(284)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, 0, false, 0);
- Game_Flag_Reset(284);
+ if (Game_Flag_Query(kFlagBB04toBB03)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagBB04toBB03);
}
}
diff --git a/engines/bladerunner/script/scene/bb04.cpp b/engines/bladerunner/script/scene/bb04.cpp
index 6ef7d7db00..270e28d254 100644
--- a/engines/bladerunner/script/scene/bb04.cpp
+++ b/engines/bladerunner/script/scene/bb04.cpp
@@ -25,9 +25,9 @@
namespace BladeRunner {
void SceneScriptBB04::InitializeScene() {
- if (Game_Flag_Query(283)) {
+ if (Game_Flag_Query(kFlagBB03toBB04)) {
Setup_Scene_Information(-107.0f, -26.6f, 397.0f, 29);
- Game_Flag_Reset(283);
+ Game_Flag_Reset(kFlagBB03toBB04);
} else {
Setup_Scene_Information(-15.0f, -25.17f, 45.0f, 691);
}
@@ -95,7 +95,7 @@ bool SceneScriptBB04::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -107.0f, -26.6f, 397.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(284);
+ Game_Flag_Set(kFlagBB04toBB03);
Set_Enter(kSetBB03, kSceneBB03);
}
return true;
diff --git a/engines/bladerunner/script/scene/bb05.cpp b/engines/bladerunner/script/scene/bb05.cpp
index e85b107427..1241a60e7b 100644
--- a/engines/bladerunner/script/scene/bb05.cpp
+++ b/engines/bladerunner/script/scene/bb05.cpp
@@ -100,7 +100,7 @@ bool SceneScriptBB05::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -212.0f, -60.31f, 131.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(286);
+ Game_Flag_Set(kFlagBB05toBB03);
Set_Enter(kSetBB03, kSceneBB03);
}
return true;
@@ -157,7 +157,7 @@ void SceneScriptBB05::PlayerWalkedIn() {
Game_Flag_Reset(302);
} else {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, -60.31f, 131.0f, 0, 0, false, 0);
- Game_Flag_Reset(285);
+ Game_Flag_Reset(kFlagBB03toBB05);
}
if (Actor_Query_Goal_Number(kActorSebastian) == 200) {
Actor_Face_Actor(kActorSebastian, kActorMcCoy, true);
diff --git a/engines/bladerunner/script/scene/bb07.cpp b/engines/bladerunner/script/scene/bb07.cpp
index d2c9393829..12e3219cc9 100644
--- a/engines/bladerunner/script/scene/bb07.cpp
+++ b/engines/bladerunner/script/scene/bb07.cpp
@@ -73,7 +73,7 @@ bool SceneScriptBB07::ClickedOn3DObject(const char *objectName, bool a2) {
Item_Pickup_Spin_Effect(941, 439, 242);
Actor_Voice_Over(140, kActorVoiceOver);
Game_Flag_Set(398);
- Actor_Clue_Acquire(kActorMcCoy, kClueDNASebastian, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDNASebastian, true, -1);
} else if (Game_Flag_Query(396) && Game_Flag_Query(398)) {
Actor_Face_Object(kActorMcCoy, "PRINTER", true);
Actor_Says(kActorMcCoy, 8570, 13);
diff --git a/engines/bladerunner/script/scene/bb10.cpp b/engines/bladerunner/script/scene/bb10.cpp
index adaab3467d..5a521d6fca 100644
--- a/engines/bladerunner/script/scene/bb10.cpp
+++ b/engines/bladerunner/script/scene/bb10.cpp
@@ -103,7 +103,7 @@ bool SceneScriptBB10::ClickedOnExit(int exitId) {
Player_Set_Combat_Mode(false);
Actor_Face_Heading(kActorMcCoy, 274, false);
Footstep_Sound_Override_On(2);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 1, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Footstep_Sound_Override_On(2);
Loop_Actor_Travel_Ladder(kActorMcCoy, 3, 1, 0);
@@ -190,7 +190,7 @@ void SceneScriptBB10::PlayerWalkedIn() {
Footstep_Sound_Override_Off();
Actor_Face_Heading(kActorMcCoy, 768, false);
Footstep_Sound_Override_On(2);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Game_Flag_Reset(kFlagBB11toBB10);
}
diff --git a/engines/bladerunner/script/scene/ct01.cpp b/engines/bladerunner/script/scene/ct01.cpp
index 91022ff5bd..f00eba02d4 100644
--- a/engines/bladerunner/script/scene/ct01.cpp
+++ b/engines/bladerunner/script/scene/ct01.cpp
@@ -43,7 +43,7 @@ enum kCT01Exits {
void SceneScriptCT01::InitializeScene() {
Music_Play(3, 28, 0, 2, -1, 1, 0);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
if (Game_Flag_Query(kFlagCT02toCT01)) {
Game_Flag_Reset(kFlagCT02toCT01);
Setup_Scene_Information(-35.2f, -6.5f, 352.28f, 603);
@@ -64,7 +64,7 @@ void SceneScriptCT01::InitializeScene() {
}
} else if (Game_Flag_Query(kFlagSpinnerAtCT01)) {
Setup_Scene_Information(-530.0f, -6.5f, 241.0f, 506);
- Game_Flag_Set(kFlagArrivedFromSpinner);
+ Game_Flag_Set(kFlagArrivedFromSpinner1);
} else {
Setup_Scene_Information(-397.0f, -6.5f, 471.0f, 250);
}
@@ -135,7 +135,7 @@ bool SceneScriptCT01::ClickedOn3DObject(const char *objectName, bool a2) {
bool SceneScriptCT01::ClickedOnActor(int actorId) {
if (actorId == kActorHowieLee) {
Actor_Set_Goal_Number(kActorHowieLee, 50);
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -335.23f, -6.5f, 578.97f, 12, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -335.23f, -6.5f, 578.97f, 12, true, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorHowieLee, true);
Actor_Face_Actor(kActorHowieLee, kActorMcCoy, true);
if (!Game_Flag_Query(kFlagCT01McCoyTalkedToHowieLee)) {
@@ -143,28 +143,35 @@ bool SceneScriptCT01::ClickedOnActor(int actorId) {
Actor_Says(kActorHowieLee, 0, 14);
Game_Flag_Set(kFlagCT01McCoyTalkedToHowieLee);
Actor_Set_Goal_Number(kActorHowieLee, 0);
- } else if (!Game_Flag_Query(kFlagNotUsed30) && Actor_Query_Friendliness_To_Other(kActorHowieLee, kActorMcCoy) >= 40) {
+ return true;
+ }
+
+ if (!Game_Flag_Query(kFlagNotUsed30)
+ && Actor_Query_Friendliness_To_Other(kActorHowieLee, kActorMcCoy) >= 40
+ ) {
dialogueWithHowieLee();
Actor_Set_Goal_Number(kActorHowieLee, 0);
+ return true;
+ }
+
+ if (Game_Flag_Query(kFlagCT01ZubenGone)) {
+ Actor_Says(kActorMcCoy, 330, 17);
+ Actor_Says(kActorHowieLee, 130, 13);
+ Actor_Says(kActorHowieLee, 140, 14);
+ } else if (Actor_Query_Friendliness_To_Other(kActorHowieLee, kActorMcCoy) < 50) {
+ Actor_Says(kActorMcCoy, 330, 13);
+ Actor_Says(kActorHowieLee, 160, 15);
} else {
- if (Game_Flag_Query(kFlagCT01ZubenGone)) {
- Actor_Says(kActorMcCoy, 330, 17);
- Actor_Says(kActorHowieLee, 130, 13);
- Actor_Says(kActorHowieLee, 140, 14);
- } else if (Actor_Query_Friendliness_To_Other(kActorHowieLee, kActorMcCoy) < 50) {
- Actor_Says(kActorMcCoy, 330, 13);
- Actor_Says(kActorHowieLee, 160, 15);
- } else {
- Actor_Says(kActorMcCoy, 310, 11);
- Actor_Says(kActorHowieLee, 10, 16);
- }
- Actor_Set_Goal_Number(kActorHowieLee, 0);
+ Actor_Says(kActorMcCoy, 310, 11);
+ Actor_Says(kActorHowieLee, 10, 16);
}
+ Actor_Set_Goal_Number(kActorHowieLee, 0);
return true;
}
}
+
if (actorId == kActorZuben) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -335.23f, -6.5f, 578.97f, 12, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -335.23f, -6.5f, 578.97f, 12, true, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
Actor_Says(kActorMcCoy, 355, 18);
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDefault) {
@@ -179,38 +186,37 @@ bool SceneScriptCT01::ClickedOnActor(int actorId) {
return true;
}
}
+
if (actorId == kActorGordo) {
- //todo: some weird code in assembly EBP is used but may not be initialized, loc_401C78
if (Actor_Query_Goal_Number(kActorGordo) == 0) {
- if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -338.1f, -6.5f, 419.65f, 6, 1, false, 0)) {
- return false;
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -338.1f, -6.5f, 419.65f, 6, true, false, 0)) {
+ Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
+ if (!Game_Flag_Query(kFlagCT01McCoyTalkedToGordo)) {
+ Actor_Says(kActorMcCoy, 335, 18);
+ Actor_Says(kActorGordo, 20, 30);
+ Game_Flag_Set(kFlagCT01McCoyTalkedToGordo);
+ Actor_Clue_Acquire(kActorGordo, kClueMcCoysDescription, true, kActorMcCoy);
+ Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyIsABladeRunner, true, kActorMcCoy);
+ Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -1);
+ } else if (Actor_Query_Goal_Number(kActorGordo) != 0) {
+ Actor_Says(kActorMcCoy, 365, 14);
+ } else {
+ Actor_Says(kActorMcCoy, 340, 13);
+ Actor_Says(kActorMcCoy, 345, 11);
+ Actor_Says(kActorGordo, 30, 30);
+ Actor_Says(kActorMcCoy, 350, 13);
+ Actor_Says(kActorGordo, 40, 30);
+ Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -5);
+ Player_Loses_Control();
+ }
+ if (Actor_Query_Is_In_Current_Set(kActorZuben)) {
+ Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2);
+ }
+ return true;
}
}
-
- Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
- if (!Game_Flag_Query(kFlagCT01McCoyTalkedToGordo)) {
- Actor_Says(kActorMcCoy, 335, 18);
- Actor_Says(kActorGordo, 20, 30);
- Game_Flag_Set(kFlagCT01McCoyTalkedToGordo);
- Actor_Clue_Acquire(kActorGordo, kClueMcCoysDescription, 1, kActorMcCoy);
- Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyIsABladeRunner, 1, kActorMcCoy);
- Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -1);
- } else if (Actor_Query_Goal_Number(kActorGordo) != 0) {
- Actor_Says(kActorMcCoy, 365, 14);
- } else {
- Actor_Says(kActorMcCoy, 340, 13);
- Actor_Says(kActorMcCoy, 345, 11);
- Actor_Says(kActorGordo, 30, 30);
- Actor_Says(kActorMcCoy, 350, 13);
- Actor_Says(kActorGordo, 40, 30);
- Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -5);
- Player_Loses_Control();
- }
- if (Actor_Query_Is_In_Current_Set(kActorZuben)) {
- Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2);
- }
- return true;
}
+
return false;
}
@@ -220,30 +226,33 @@ bool SceneScriptCT01::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptCT01::ClickedOnExit(int exitId) {
if (exitId == kCT01ExitCT02) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -327.5f, -6.5f, 352.28f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -327.5f, -6.5f, 352.28f, 0, true, false, 0)) {
Player_Loses_Control();
- Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 106, 0, 0, false);
+ Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 106, 0, false, false);
Player_Gains_Control();
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Set_Enter(kSetCT02, kSceneCT02);
}
return true;
}
+
if (exitId == kCT01ExitCT03) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -259.0f, -6.5f, 710.0f, 0, 1, false, 0)) {
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -259.0f, -6.5f, 710.0f, 0, true, false, 0)) {
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Set_Enter(kSetCT03_CT04, kSceneCT03);
}
return true;
}
+
if (exitId == kCT01ExitCT12) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -419.0f, -6.5f, 696.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -419.0f, -6.5f, 696.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagCT01toCT12);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Set_Enter(kSetCT01_CT12, kSceneCT12);
}
return true;
}
+
if (exitId == kCT01ExitSpinner) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, true, false, 0)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, true, 0);
@@ -261,7 +270,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
switch (spinnerDest) {
case kSpinnerDestinationPoliceStation:
Game_Flag_Set(kFlagMcCoyAtPSxx);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtPS01);
Set_Enter(kSetPS01, kScenePS01);
@@ -269,7 +278,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
break;
case kSpinnerDestinationMcCoysApartment:
Game_Flag_Set(kFlagMcCoyAtMAxx);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtMA01);
Set_Enter(kSetMA01, kSceneMA01);
@@ -277,7 +286,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
break;
case kSpinnerDestinationRuncitersAnimals:
Game_Flag_Set(kFlagMcCoyAtRCxx);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtRC01);
Set_Enter(kSetRC01, kSceneRC01);
@@ -285,7 +294,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
break;
case kSpinnerDestinationAnimoidRow:
Game_Flag_Set(kFlagMcCoyAtARxx);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtAR01);
Set_Enter(kSetAR01_AR02, kSceneAR01);
@@ -294,14 +303,14 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
case kSpinnerDestinationTyrellBuilding:
Game_Flag_Set(kFlagMcCoyAtTBxx);
Game_Flag_Reset(kFlagSpinnerAtCT01);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtTB02);
Set_Enter(kSetTB02_TB03, kSceneTB02);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
break;
case kSpinnerDestinationDNARow:
Game_Flag_Set(kFlagMcCoyAtDRxx);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtDR01);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
@@ -309,7 +318,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
break;
case kSpinnerDestinationBradburyBuilding:
Game_Flag_Set(kFlagMcCoyAtBBxx);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtBB01);
Set_Enter(kSetBB01, kSceneBB01);
@@ -317,7 +326,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
break;
case kSpinnerDestinationNightclubRow:
Game_Flag_Set(kFlagMcCoyAtNRxx);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtNR01);
Set_Enter(kSetNR01, kSceneNR01);
@@ -325,7 +334,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
break;
case kSpinnerDestinationHysteriaHall:
Game_Flag_Set(kFlagMcCoyAtHFxx);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtHF01);
Set_Enter(kSetHF01, kSceneHF01);
@@ -343,6 +352,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
}
return true;
}
+
return false;
}
@@ -351,16 +361,25 @@ bool SceneScriptCT01::ClickedOn2DRegion(int region) {
}
void SceneScriptCT01::SceneFrameAdvanced(int frame) {
- if ((frame < 316 || frame > 435) && !((frame - 1) % 10)) {
- Ambient_Sounds_Play_Sound(/*v1*/Random_Query(59, 60), 25, 30, 30, 0);
+ if ((frame < 316
+ || frame > 435
+ )
+ && ((frame - 1) % 10) == 0
+ ) {
+ Ambient_Sounds_Play_Sound(Random_Query(59, 60), 25, 30, 30, 0);
}
+
if (frame == 23) {
Ambient_Sounds_Play_Sound(118, 40, 99, 0, 0);
}
+
if (frame == 316) {
Ambient_Sounds_Play_Sound(373, 50, -50, 100, 99);
}
- if (frame == 196 || frame == 452) {
+
+ if (frame == 196
+ || frame == 452
+ ) {
int v3 = Random_Query(0, 6);
if (v3 == 0) {
Overlay_Play("ct01spnr", 0, false, true, 0);
@@ -385,15 +404,15 @@ void SceneScriptCT01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
void SceneScriptCT01::PlayerWalkedIn() {
if (Game_Flag_Query(kFlagCT02toCT01walk)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -327.2f, -6.5f, 352.28f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -327.2f, -6.5f, 352.28f, 0, false, false, 0);
Game_Flag_Reset(kFlagCT02toCT01walk);
} else {
- if (!Game_Flag_Query(kFlagArrivedFromSpinner)) {
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ if (!Game_Flag_Query(kFlagArrivedFromSpinner1)) {
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
return;
}
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, 0, false, 0);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, false, false, 0);
if (!Game_Flag_Query(kFlagCT01Visited)) {
Game_Flag_Set(kFlagCT01Visited);
if (!Game_Flag_Query(kFlagDirectorsCut)) {
@@ -427,38 +446,47 @@ void SceneScriptCT01::DialogueQueueFlushed(int a1) {
void SceneScriptCT01::dialogueWithHowieLee() {
Dialogue_Menu_Clear_List();
if (Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(40, 4, 5, 6);
+ DM_Add_To_List_Never_Repeat_Once_Selected(40, 4, 5, 6); // LUCY PHOTO
}
+
if (
( Actor_Clue_Query(kActorMcCoy, kClueChopstickWrapper)
|| Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)
)
&& !Game_Flag_Query(kFlagCT01Evidence1Linked)
) {
- DM_Add_To_List_Never_Repeat_Once_Selected(50, 5, 5, 4);
+ DM_Add_To_List_Never_Repeat_Once_Selected(50, 5, 5, 4); // RUNCITER CLUES
}
+
if ( Actor_Clue_Query(kActorMcCoy, kClueChopstickWrapper)
&& Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)
&& Game_Flag_Query(kFlagCT01Evidence1Linked)
&& !Game_Flag_Query(kFlagCT01Evidence2Linked)
) {
- DM_Add_To_List_Never_Repeat_Once_Selected(60, 3, 5, 5);
+ DM_Add_To_List_Never_Repeat_Once_Selected(60, 3, 5, 5); // MORE RUNCITER CLUES
}
+
if (Game_Flag_Query(kFlagCT02PotTipped)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(80, 9, 9, 9);
+ DM_Add_To_List_Never_Repeat_Once_Selected(80, 9, 9, 9); // EMPLOYEE
} else if (Game_Flag_Query(kFlagCT01ZubenLeft)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(80, 3, 4, 8);
+ DM_Add_To_List_Never_Repeat_Once_Selected(80, 3, 4, 8); // EMPLOYEE
}
- if (Actor_Clue_Query(kActorMcCoy, kClueCarColorAndMake) && Actor_Clue_Query(kActorMcCoy, kClueDispatchHitAndRun) == 1) {
- DM_Add_To_List_Never_Repeat_Once_Selected(90, 5, 4, 5);
+
+ if (Actor_Clue_Query(kActorMcCoy, kClueCarColorAndMake)
+ && Actor_Clue_Query(kActorMcCoy, kClueDispatchHitAndRun) // this clue is never obtained
+ ) {
+ DM_Add_To_List_Never_Repeat_Once_Selected(90, 5, 4, 5); // HIT AND RUN
}
- DM_Add_To_List_Never_Repeat_Once_Selected(70, 7, 3, -1);
- Dialogue_Menu_Add_DONE_To_List(100);
+
+ DM_Add_To_List_Never_Repeat_Once_Selected(70, 7, 3, -1); // SMALL TALK
+ Dialogue_Menu_Add_DONE_To_List(100); // DONE
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
switch (answer) {
- case 40:
+ case 40: // LUCY PHOTO
Actor_Says(kActorMcCoy, 265, 11);
Actor_Says(kActorHowieLee, 20, 14);
if (Actor_Query_Is_In_Current_Set(kActorZuben)) {
@@ -472,12 +500,13 @@ void SceneScriptCT01::dialogueWithHowieLee() {
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2);
if (Actor_Query_Is_In_Current_Set(kActorGordo)) {
Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -3);
- Actor_Clue_Acquire(kActorGordo, kClueMcCoysDescription, 1, kActorMcCoy);
+ Actor_Clue_Acquire(kActorGordo, kClueMcCoysDescription, true, kActorMcCoy);
}
}
}
break;
- case 50:
+
+ case 50: // RUNCITER CLUES
if (Actor_Clue_Query(kActorMcCoy, kClueChopstickWrapper)) {
Actor_Says(kActorMcCoy, 270, 11);
Actor_Says(kActorHowieLee, 30, 16);
@@ -487,7 +516,8 @@ void SceneScriptCT01::dialogueWithHowieLee() {
}
Game_Flag_Set(kFlagCT01Evidence1Linked);
break;
- case 60:
+
+ case 60: // MORE RUNCITER CLUES
if (Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)) {
Actor_Says(kActorMcCoy, 270, 11);
Actor_Says(kActorHowieLee, 40, 15);
@@ -498,9 +528,14 @@ void SceneScriptCT01::dialogueWithHowieLee() {
Actor_Modify_Friendliness_To_Other(kActorHowieLee, kActorMcCoy, 5);
Game_Flag_Set(kFlagCT01Evidence2Linked);
break;
- case 70:
+
+ case 70: // SMALL TALK
Actor_Says(kActorMcCoy, 290, 13);
- if (Actor_Query_Friendliness_To_Other(kActorHowieLee, kActorMcCoy) > 49 && (Global_Variable_Query(kVariableChinyen) > 10 || Query_Difficulty_Level() == 0)) {
+ if (Actor_Query_Friendliness_To_Other(kActorHowieLee, kActorMcCoy) > 49
+ && (Global_Variable_Query(kVariableChinyen) > 10
+ || Query_Difficulty_Level() == 0
+ )
+ ) {
Actor_Says(kActorHowieLee, 50, kAnimationModeTalk);
Actor_Says(kActorHowieLee, 60, kAnimationModeTalk);
Actor_Face_Actor(kActorHowieLee, kActorMcCoy, true);
@@ -514,18 +549,21 @@ void SceneScriptCT01::dialogueWithHowieLee() {
Actor_Says(kActorHowieLee, 130, 15);
}
break;
- case 80:
+
+ case 80: // EMPLOYEE
Actor_Says(kActorMcCoy, 295, 11);
Actor_Says(kActorHowieLee, 90, 14);
Actor_Says(kActorHowieLee, 100, 13);
- Actor_Clue_Acquire(kActorMcCoy, kClueHowieLeeInterview, 1, kActorHowieLee);
+ Actor_Clue_Acquire(kActorMcCoy, kClueHowieLeeInterview, true, kActorHowieLee);
Actor_Modify_Friendliness_To_Other(kActorHowieLee, kActorMcCoy, -3);
break;
- case 90:
+
+ case 90: // HIT AND RUN
Actor_Says(kActorMcCoy, 300, 13);
Actor_Says(kActorHowieLee, 110, 16);
break;
- case 100:
+
+ case 100: // DONE
Actor_Says(kActorMcCoy, 305, 18);
break;
}
diff --git a/engines/bladerunner/script/scene/ct02.cpp b/engines/bladerunner/script/scene/ct02.cpp
index 8ee3f1bf02..97d7304b94 100644
--- a/engines/bladerunner/script/scene/ct02.cpp
+++ b/engines/bladerunner/script/scene/ct02.cpp
@@ -119,10 +119,12 @@ bool SceneScriptCT02::ClickedOn3DObject(const char *objectName, bool a2) {
void SceneScriptCT02::dialogueWithZuben() {
Dialogue_Menu_Clear_List();
if (Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(270, 8, 5, 3);
+ DM_Add_To_List_Never_Repeat_Once_Selected(270, 8, 5, 3); // LUCY PHOTO
}
- if (Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewA) && !Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(280, 8, 5, 3);
+ if ( Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewA)
+ && !Actor_Clue_Query(kActorMcCoy, kClueLucy)
+ ) {
+ DM_Add_To_List_Never_Repeat_Once_Selected(280, 8, 5, 3); // LUCY
}
int evidenceCount = 0;
if (Actor_Clue_Query(kActorMcCoy, kClueDoorForced2)) {
@@ -141,29 +143,33 @@ void SceneScriptCT02::dialogueWithZuben() {
++evidenceCount;
}
if (evidenceCount > 3) {
- DM_Add_To_List_Never_Repeat_Once_Selected(290, -1, 4, 8);
+ DM_Add_To_List_Never_Repeat_Once_Selected(290, -1, 4, 8); // VOIGT-KAMPFF
}
- Dialogue_Menu_Add_DONE_To_List(300);
+ Dialogue_Menu_Add_DONE_To_List(300); // DONE
+
Dialogue_Menu_Appear(320, 240);
int answerValue = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
switch (answerValue) {
- case 270:
+ case 270: // LUCY PHOTO
Actor_Says(kActorMcCoy, 380, 11);
Actor_Says(kActorZuben, 30, 17);
Actor_Says(kActorZuben, 40, 15);
Actor_Says(kActorMcCoy, 410, 9);
Actor_Says(kActorZuben, 50, 18);
Actor_Says(kActorMcCoy, 415, 10);
- Actor_Clue_Acquire(kActorMcCoy, kClueZubenInterview, 0, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueZubenInterview, false, -1);
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -5);
break;
- case 280:
+
+ case 280: // LUCY
Actor_Says(kActorMcCoy, 385, 9);
Actor_Says(kActorZuben, 40, 19);
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2);
break;
- case 290:
+
+ case 290: // VOIGT-KAMPFF
Actor_Says(kActorMcCoy, 395, 9);
Actor_Says(kActorMcCoy, 400, 9);
Actor_Says(kActorZuben, 70, 17);
@@ -171,14 +177,15 @@ void SceneScriptCT02::dialogueWithZuben() {
Actor_Says(kActorZuben, 80, 14);
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -10);
break;
- case 300:
+
+ case 300: // DONE
Actor_Says(kActorMcCoy, 405, 11);
break;
}
if (Actor_Query_Friendliness_To_Other(kActorZuben, kActorMcCoy) < 44) {
Scene_Exits_Disable();
- Actor_Clue_Acquire(kActorMcCoy, kClueZubenRunsAway, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueZubenRunsAway, true, -1);
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT02PushPot);
Game_Flag_Set(kFlagCT02PotTipped);
Scene_Loop_Set_Default(kCT02LoopMainPotTipped);
@@ -188,7 +195,7 @@ void SceneScriptCT02::dialogueWithZuben() {
bool SceneScriptCT02::ClickedOnActor(int actorId) {
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)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -255.02f, -145.11f, 212.42f, 0, true, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
Actor_Face_Actor(kActorZuben, kActorMcCoy, true);
if (!Game_Flag_Query(kFlagCT02ZubenTalk)) {
diff --git a/engines/bladerunner/script/scene/ct04.cpp b/engines/bladerunner/script/scene/ct04.cpp
index 07819ceba2..5f307d476d 100644
--- a/engines/bladerunner/script/scene/ct04.cpp
+++ b/engines/bladerunner/script/scene/ct04.cpp
@@ -80,6 +80,7 @@ bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
Game_Flag_Set(kFlagHomelessTalkedTo);
Actor_Set_Goal_Number(kActorTransient, kGoalTransientCT04Leave);
}
+
if ( Game_Flag_Query(kFlagMcCoyKilledHomeless)
&& !Game_Flag_Query(kFlagHomelessBodyInDumpster)
&& !Game_Flag_Query(kFlagHomelessBodyFound)
@@ -100,6 +101,7 @@ bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
}
return false;
}
+
if (Game_Flag_Query(kFlagHomelessBodyInDumpster)) {
if (Game_Flag_Query(kFlagDumpsterEmptied)) {
Actor_Voice_Over(270, kActorVoiceOver);
@@ -114,16 +116,18 @@ bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
}
return true;
}
- if (Game_Flag_Query(kFlagLicensePlaceFound)) {
+
+ if (!Game_Flag_Query(kFlagLicensePlaceFound)) {
if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 75, 0, true, false)) {
Actor_Face_Heading(kActorMcCoy, 707, false);
Actor_Change_Animation_Mode(kActorMcCoy, 38);
- Actor_Clue_Acquire(kActorMcCoy, kClueLicensePlate, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLicensePlate, true, -1);
Item_Pickup_Spin_Effect(952, 392, 225);
Game_Flag_Set(kFlagLicensePlaceFound);
return true;
}
}
+
if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 75, 0, true, false)) {
Actor_Face_Heading(kActorMcCoy, 707, false);
Actor_Change_Animation_Mode(kActorMcCoy, 38);
@@ -138,24 +142,32 @@ bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
void SceneScriptCT04::dialogueWithHomeless() {
Dialogue_Menu_Clear_List();
- if (Global_Variable_Query(kVariableChinyen) > 10 || Query_Difficulty_Level() == 0) {
- DM_Add_To_List_Never_Repeat_Once_Selected(410, 8, 4, -1);
+ if (Global_Variable_Query(kVariableChinyen) > 10
+ || Query_Difficulty_Level() == 0
+ ) {
+ DM_Add_To_List_Never_Repeat_Once_Selected(410, 8, 4, -1); // YES
}
- DM_Add_To_List_Never_Repeat_Once_Selected(420, 2, 6, 8);
+ DM_Add_To_List_Never_Repeat_Once_Selected(420, 2, 6, 8); // NO
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
- if (answer == 410) {
+
+ switch (answer) {
+ case 410: // YES
Actor_Says(kActorTransient, 10, 14);
Actor_Says(kActorTransient, 20, 14);
Actor_Modify_Friendliness_To_Other(kActorTransient, kActorMcCoy, 5);
if (Query_Difficulty_Level() != 0) {
Global_Variable_Decrement(kVariableChinyen, 10);
}
- } else if (answer == 420) {
+ break;
+
+ case 420: // NO
Actor_Says(kActorMcCoy, 430, 3);
Actor_Says(kActorTransient, 30, 14);
Actor_Modify_Friendliness_To_Other(kActorTransient, kActorMcCoy, -5);
+ break;
}
}
diff --git a/engines/bladerunner/script/scene/ct05.cpp b/engines/bladerunner/script/scene/ct05.cpp
index c2cea7ea09..0db0b47621 100644
--- a/engines/bladerunner/script/scene/ct05.cpp
+++ b/engines/bladerunner/script/scene/ct05.cpp
@@ -137,7 +137,7 @@ bool SceneScriptCT05::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptCT05::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -128.42f, -109.91f, 112.83f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -128.42f, -109.91f, 112.83f, 0, true, false, 0)) {
Game_Flag_Set(kFlagCT05toCT12);
if (Actor_Query_Goal_Number(kActorGaff) == 1) {
Overlay_Remove("ct05over");
@@ -147,7 +147,7 @@ bool SceneScriptCT05::ClickedOnExit(int exitId) {
return true;
}
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, true, false, 0)) {
Game_Flag_Set(kFlagCT05toCT04);
if (Actor_Query_Goal_Number(kActorGaff) == 1) {
Overlay_Remove("ct05over");
@@ -159,12 +159,12 @@ bool SceneScriptCT05::ClickedOnExit(int exitId) {
return true;
}
if (exitId == 2) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 71.99f, -109.91f, 288.79f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 71.99f, -109.91f, 288.79f, 0, true, false, 0)) {
Footstep_Sound_Override_On(2);
Actor_Face_Object(kActorMcCoy, "STAIR 2", true);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 9, true, kAnimationModeIdle);
Actor_Set_At_XYZ(kActorMcCoy, 99.73f, -19.91f, 134.97f, 256);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 5, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 5, true, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Game_Flag_Set(kFlagCT05toCT06);
if (Actor_Query_Goal_Number(kActorGaff) == 1) {
@@ -211,20 +211,22 @@ void SceneScriptCT05::PlayerWalkedIn() {
Player_Loses_Control();
Game_Flag_Reset(kFlagCT04toCT05);
if (Player_Query_Combat_Mode()) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, 0, true, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, false, true, 0);
} else {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, false, false, 0);
}
Player_Gains_Control();
}
if (Game_Flag_Query(kFlagCT06toCT05)) {
Footstep_Sound_Override_On(2);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 7, false, kAnimationModeIdle);
Actor_Set_At_XYZ(kActorMcCoy, 90.73f, -19.91f, 164.97f, 520);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 10, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 10, false, kAnimationModeIdle);
Game_Flag_Reset(kFlagCT06toCT05);
Footstep_Sound_Override_Off();
- if (Actor_Query_Goal_Number(kActorGordo) == 2 && Game_Flag_Query(145)) {
+ if (Actor_Query_Goal_Number(kActorGordo) == 2
+ && Game_Flag_Query(kFlagZubenPhoto)
+ ) {
Actor_Set_Goal_Number(kActorGordo, 3);
}
}
diff --git a/engines/bladerunner/script/scene/ct06.cpp b/engines/bladerunner/script/scene/ct06.cpp
index dd78e208f6..11bd36cd90 100644
--- a/engines/bladerunner/script/scene/ct06.cpp
+++ b/engines/bladerunner/script/scene/ct06.cpp
@@ -91,7 +91,7 @@ bool SceneScriptCT06::ClickedOnActor(int actorId) {
Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorZuben, 24, true, false);
Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
if (!Game_Flag_Query(kFlagZubenPhoto)) {
- Actor_Clue_Acquire(kActorMcCoy, kClueZuben, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueZuben, true, -1);
Item_Pickup_Spin_Effect(984, 340, 369);
Actor_Voice_Over(350, kActorVoiceOver);
Actor_Voice_Over(360, kActorVoiceOver);
diff --git a/engines/bladerunner/script/scene/ct08.cpp b/engines/bladerunner/script/scene/ct08.cpp
index e7d7334b18..6e814c132b 100644
--- a/engines/bladerunner/script/scene/ct08.cpp
+++ b/engines/bladerunner/script/scene/ct08.cpp
@@ -98,7 +98,7 @@ bool SceneScriptCT08::ClickedOnActor(int actorId) {
bool SceneScriptCT08::ClickedOnItem(int itemId, bool a2) {
if (itemId == 81) {
if (!Loop_Actor_Walk_To_Item(kActorMcCoy, 81, 36, 1, false) && !Game_Flag_Query(550)) {
- Actor_Clue_Acquire(kActorMcCoy, kClueCheese, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueCheese, true, -1);
Item_Pickup_Spin_Effect(936, 266, 328);
Item_Remove_From_World(81);
Actor_Voice_Over(480, kActorVoiceOver);
diff --git a/engines/bladerunner/script/scene/ct10.cpp b/engines/bladerunner/script/scene/ct10.cpp
index 53d3ee717c..dbc26d27a9 100644
--- a/engines/bladerunner/script/scene/ct10.cpp
+++ b/engines/bladerunner/script/scene/ct10.cpp
@@ -72,7 +72,7 @@ void SceneScriptCT10::sub_401844() {
Actor_Voice_Over(3700, kActorVoiceOver);
} else {
Item_Pickup_Spin_Effect(931, 435, 258);
- Actor_Clue_Acquire(kActorMcCoy, kClueHoldensBadge, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueHoldensBadge, true, -1);
}
Player_Gains_Control();
}
@@ -90,7 +90,7 @@ bool SceneScriptCT10::ClickedOn3DObject(const char *objectName, bool a2) {
if (Actor_Clue_Query(kActorMcCoy, kClueStrangeScale1)) {
Actor_Voice_Over(3700, kActorVoiceOver);
} else {
- Actor_Clue_Acquire(kActorMcCoy, kClueStrangeScale1, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueStrangeScale1, true, -1);
Item_Pickup_Spin_Effect(969, 364, 214);
}
Delay(1000);
diff --git a/engines/bladerunner/script/scene/ct11.cpp b/engines/bladerunner/script/scene/ct11.cpp
index 37823fe879..50b5a34195 100644
--- a/engines/bladerunner/script/scene/ct11.cpp
+++ b/engines/bladerunner/script/scene/ct11.cpp
@@ -130,7 +130,7 @@ bool SceneScriptCT11::ClickedOn2DRegion(int region) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 47, false);
Item_Remove_From_World(115);
- Actor_Clue_Acquire(kActorMcCoy, kClueLichenDogWrapper, 0, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLichenDogWrapper, false, -1);
Item_Pickup_Spin_Effect(951, 510, 319);
Game_Flag_Reset(725);
Game_Flag_Set(645);
@@ -170,7 +170,7 @@ bool SceneScriptCT11::ClickedOn2DRegion(int region) {
Actor_Voice_Over(520, kActorVoiceOver);
Actor_Voice_Over(530, kActorVoiceOver);
Actor_Voice_Over(540, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueCar, 0, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueCar, false, -1);
Scene_2D_Region_Remove(1);
}
}
diff --git a/engines/bladerunner/script/scene/ct12.cpp b/engines/bladerunner/script/scene/ct12.cpp
index 4a2f05fb44..b303171bbf 100644
--- a/engines/bladerunner/script/scene/ct12.cpp
+++ b/engines/bladerunner/script/scene/ct12.cpp
@@ -59,32 +59,45 @@ void SceneScriptCT12::InitializeScene() {
Ambient_Sounds_Add_Sound(375, 60, 180, 50, 100, 0, 0, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(376, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(377, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
- if (Global_Variable_Query(kVariableChapter) < 2 && Actor_Query_Goal_Number(kActorGaff) == 1) {
+ if (Global_Variable_Query(kVariableChapter) < 2
+ && Actor_Query_Goal_Number(kActorGaff) == 1
+ ) {
Actor_Put_In_Set(kActorGaff, kSetCT01_CT12);
Actor_Set_At_XYZ(kActorGaff, -534.0f, -6.5f, 952.0f, 367);
Game_Flag_Set(kFlagGaffSpinnerCT12);
}
- if (Game_Flag_Query(kFlagCT01toCT12) && Game_Flag_Query(kFlagSpinnerAtCT01)) {
- if (Global_Variable_Query(kVariableChapter) != 2 && Global_Variable_Query(kVariableChapter) != 3) {
+ if (Game_Flag_Query(kFlagCT01toCT12)
+ && Game_Flag_Query(kFlagSpinnerAtCT01)
+ ) {
+ if (Global_Variable_Query(kVariableChapter) != 2
+ && Global_Variable_Query(kVariableChapter) != 3
+ ) {
Scene_Loop_Start_Special(0, 1, 0);
}
Scene_Loop_Set_Default(2);
Game_Flag_Reset(kFlagCT01toCT12);
- } else if (Game_Flag_Query(kFlagCT01toCT12) && !Game_Flag_Query(kFlagSpinnerAtCT01)) {
- if (Global_Variable_Query(kVariableChapter) != 2 && Global_Variable_Query(kVariableChapter) != 3) {
+ } else if ( Game_Flag_Query(kFlagCT01toCT12)
+ && !Game_Flag_Query(kFlagSpinnerAtCT01)
+ ) {
+ if (Global_Variable_Query(kVariableChapter) != 2
+ && Global_Variable_Query(kVariableChapter) != 3
+ ) {
Scene_Loop_Start_Special(0, 0, 0);
}
Scene_Loop_Set_Default(2);
Game_Flag_Reset(kFlagCT01toCT12);
- } else if (Game_Flag_Query(kFlagCT05toCT12) && Game_Flag_Query(kFlagGaffSpinnerCT12)) {
+ } else if (Game_Flag_Query(kFlagCT05toCT12)
+ && Game_Flag_Query(kFlagGaffSpinnerCT12)
+ ) {
Game_Flag_Reset(kFlagCT05toCT12);
Scene_Loop_Set_Default(4);
- } else if (Game_Flag_Query(kFlagCT05toCT12) && !Game_Flag_Query(kFlagGaffSpinnerCT12)) {
+ } else if ( Game_Flag_Query(kFlagCT05toCT12)
+ && !Game_Flag_Query(kFlagGaffSpinnerCT12)
+ ) {
Game_Flag_Reset(kFlagCT05toCT12);
Scene_Loop_Set_Default(2);
} else {
Scene_Loop_Set_Default(2);
-
}
}
@@ -104,27 +117,32 @@ bool SceneScriptCT12::ClickedOn3DObject(const char *objectName, bool a2) {
}
bool SceneScriptCT12::ClickedOnActor(int actorId) {
- if (actorId == 28) {
+ if (actorId == kActorHowieLee) {
Actor_Face_Actor(kActorMcCoy, kActorHowieLee, true);
Actor_Says(kActorMcCoy, 8910, 16);
}
- if (actorId == 24 && Global_Variable_Query(kVariableChapter) == 4 && Game_Flag_Query(671) && Game_Flag_Query(703)) {
+
+ if (actorId == kActorOfficerGrayford
+ && Global_Variable_Query(kVariableChapter) == 4
+ && Game_Flag_Query(671)
+ && Game_Flag_Query(703)
+ ) {
Actor_Face_Actor(kActorOfficerGrayford, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorOfficerGrayford, true);
- Actor_Says(kActorMcCoy, 710, 3);
- Actor_Says(kActorOfficerGrayford, 20, 3);
- Actor_Says(kActorMcCoy, 715, 3);
- Actor_Says(kActorOfficerGrayford, 30, 3);
- Actor_Says(kActorMcCoy, 720, 3);
- Actor_Says(kActorOfficerGrayford, 40, 3);
- Actor_Says(kActorOfficerGrayford, 50, 3);
- Actor_Says(kActorOfficerGrayford, 60, 3);
- Actor_Says(kActorMcCoy, 725, 3);
- Actor_Says(kActorOfficerGrayford, 70, 3);
- Actor_Says(kActorOfficerGrayford, 80, 3);
- Actor_Says(kActorOfficerGrayford, 90, 3);
- Actor_Says(kActorOfficerGrayford, 100, 3);
- Actor_Says(kActorOfficerGrayford, 110, 3);
+ Actor_Says(kActorMcCoy, 710, kAnimationModeTalk);
+ Actor_Says(kActorOfficerGrayford, 20, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 715, kAnimationModeTalk);
+ Actor_Says(kActorOfficerGrayford, 30, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 720, kAnimationModeTalk);
+ Actor_Says(kActorOfficerGrayford, 40, kAnimationModeTalk);
+ Actor_Says(kActorOfficerGrayford, 50, kAnimationModeTalk);
+ Actor_Says(kActorOfficerGrayford, 60, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 725, kAnimationModeTalk);
+ Actor_Says(kActorOfficerGrayford, 70, kAnimationModeTalk);
+ Actor_Says(kActorOfficerGrayford, 80, kAnimationModeTalk);
+ Actor_Says(kActorOfficerGrayford, 90, kAnimationModeTalk);
+ Actor_Says(kActorOfficerGrayford, 100, kAnimationModeTalk);
+ Actor_Says(kActorOfficerGrayford, 110, kAnimationModeTalk);
Game_Flag_Set(629);
Game_Flag_Set(666);
Actor_Set_Goal_Number(kActorMcCoy, 400);
@@ -138,7 +156,7 @@ bool SceneScriptCT12::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptCT12::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -419.15f, -6.5f, 696.94f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -419.15f, -6.5f, 696.94f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Game_Flag_Set(kFlagCT12toCT01);
Set_Enter(kSetCT01_CT12, kSceneCT01);
@@ -146,7 +164,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {
return true;
}
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.69f, -6.5f, 696.94f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.69f, -6.5f, 696.94f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagCT12toCT03);
@@ -155,7 +173,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {
return true;
}
if (exitId == 2) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.13f, -6.5f, 1132.72f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.13f, -6.5f, 1132.72f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagCT12toCT05);
@@ -164,7 +182,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {
return true;
}
if (exitId == 3) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -493.0f, -6.5f, 1174.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -493.0f, -6.5f, 1174.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagCT12toCT11);
@@ -173,7 +191,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {
return true;
}
if (exitId == 4) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -292.0f, -6.5f, 990.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -292.0f, -6.5f, 990.0f, 0, true, false, 0)) {
if (Global_Variable_Query(kVariableChapter) == 4) {
Game_Flag_Set(629);
}
@@ -193,19 +211,7 @@ bool SceneScriptCT12::ClickedOn2DRegion(int region) {
void SceneScriptCT12::SceneFrameAdvanced(int frame) {
if (((frame - 1) % 10) == 0) {
- /*int v2 = Random_Query(0, 1);
- if (v2 <= 1)
- {
- if (v2)
- {
- v1 = 60;
- }
- else
- {
- v1 = 59;
- }
- }*/
- Sound_Play(/*v1*/Random_Query(59, 60), 10, -80, -80, 50);
+ Sound_Play(Random_Query(59, 60), 10, -80, -80, 50);
}
if (frame == 160) {
Actor_Change_Animation_Mode(kActorGaff, 41);
@@ -238,37 +244,37 @@ void SceneScriptCT12::PlayerWalkedIn() {
Loop_Actor_Walk_To_Actor(kActorGaff, kActorMcCoy, 48, false, false);
Actor_Face_Actor(kActorGaff, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorGaff, true);
- Actor_Says(kActorGaff, 0, 3);
- Actor_Says(kActorMcCoy, 670, 3);
- Actor_Says(kActorGaff, 10, 3);
- Actor_Says(kActorMcCoy, 675, 3);
- Actor_Says(kActorGaff, 20, 3);
- Actor_Says(kActorMcCoy, 680, 3);
- Actor_Says(kActorGaff, 30, 3);
- Actor_Says(kActorMcCoy, 685, 3);
- Actor_Says(kActorGaff, 40, 3);
- Actor_Says(kActorMcCoy, 690, 3);
- Actor_Clue_Acquire(kActorMcCoy, kClueGaffsInformation, 1, kActorGaff);
+ Actor_Says(kActorGaff, 0, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 670, kAnimationModeTalk);
+ Actor_Says(kActorGaff, 10, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 675, kAnimationModeTalk);
+ Actor_Says(kActorGaff, 20, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 680, kAnimationModeTalk);
+ Actor_Says(kActorGaff, 30, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 685, kAnimationModeTalk);
+ Actor_Says(kActorGaff, 40, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 690, kAnimationModeTalk);
+ Actor_Clue_Acquire(kActorMcCoy, kClueGaffsInformation, true, kActorGaff);
Game_Flag_Set(kFlagGaffApproachedMcCoyAboutZuben);
CDB_Set_Crime(kClueZuben, kCrimeMoonbusHijacking);
if (Game_Flag_Query(kFlagGaffApproachedMcCoyAboutZuben)
&& Game_Flag_Query(kFlagZubenRetired)
) {
- Actor_Says(kActorGaff, 50, 3);
- Actor_Says(kActorMcCoy, 695, 3);
- Actor_Says(kActorGaff, 60, 3);
- Actor_Says(kActorMcCoy, 700, 3);
- Actor_Says(kActorGaff, 70, 3);
- Actor_Clue_Acquire(kActorGaff, kClueMcCoyRetiredZuben, 1, -1);
+ Actor_Says(kActorGaff, 50, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 695, kAnimationModeTalk);
+ Actor_Says(kActorGaff, 60, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 700, kAnimationModeTalk);
+ Actor_Says(kActorGaff, 70, kAnimationModeTalk);
+ Actor_Clue_Acquire(kActorGaff, kClueMcCoyRetiredZuben, true, -1);
} else if (Game_Flag_Query(kFlagGaffApproachedMcCoyAboutZuben)
&& Game_Flag_Query(kFlagZubenSpared)
) {
- Actor_Says(kActorGaff, 80, 3);
- Actor_Says(kActorGaff, 90, 3);
- Actor_Says(kActorMcCoy, 705, 3);
- Actor_Says(kActorGaff, 100, 3);
- Actor_Clue_Acquire(kActorGaff, kClueMcCoyLetZubenEscape, 1, -1);
+ Actor_Says(kActorGaff, 80, kAnimationModeTalk);
+ Actor_Says(kActorGaff, 90, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 705, kAnimationModeTalk);
+ Actor_Says(kActorGaff, 100, kAnimationModeTalk);
+ Actor_Clue_Acquire(kActorGaff, kClueMcCoyLetZubenEscape, true, -1);
}
Actor_Set_Goal_Number(kActorGaff, 2);
diff --git a/engines/bladerunner/script/scene/ct51.cpp b/engines/bladerunner/script/scene/ct51.cpp
index 887ae08f89..f022e04696 100644
--- a/engines/bladerunner/script/scene/ct51.cpp
+++ b/engines/bladerunner/script/scene/ct51.cpp
@@ -60,7 +60,7 @@ bool SceneScriptCT51::ClickedOn3DObject(const char *objectName, bool a2) {
return false;
}
Item_Pickup_Spin_Effect(970, 203, 200);
- Actor_Clue_Acquire(kActorMcCoy, kClueHysteriaToken, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueHysteriaToken, true, -1);
Actor_Voice_Over(420, kActorVoiceOver);
return true;
}
@@ -73,14 +73,14 @@ bool SceneScriptCT51::ClickedOnActor(int actorId) {
bool SceneScriptCT51::ClickedOnItem(int itemId, bool a2) {
if (itemId == 85) {
- Actor_Clue_Acquire(kActorMcCoy, kClueRagDoll, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueRagDoll, true, -1);
Item_Pickup_Spin_Effect(943, 260, 200);
Ambient_Sounds_Play_Sound(563, 40, 99, 0, 0);
Item_Remove_From_World(85);
return true;
}
if (itemId == 120) {
- Actor_Clue_Acquire(kActorMcCoy, kClueMoonbus1, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueMoonbus1, true, -1);
Item_Pickup_Spin_Effect(984, 490, 307);
Item_Remove_From_World(120);
Actor_Says(kActorMcCoy, 8527, 3);
diff --git a/engines/bladerunner/script/scene/dr01.cpp b/engines/bladerunner/script/scene/dr01.cpp
index 1284c028b7..f58ebc6a38 100644
--- a/engines/bladerunner/script/scene/dr01.cpp
+++ b/engines/bladerunner/script/scene/dr01.cpp
@@ -55,12 +55,12 @@ void SceneScriptDR01::InitializeScene() {
Ambient_Sounds_Add_Sound(378, 5, 80, 50, 100, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(379, 5, 80, 50, 100, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(380, 5, 80, 50, 100, -100, 100, -101, -101, 0, 0);
- if (Game_Flag_Query(272)
+ if (Game_Flag_Query(kFlagDR05BombExploded)
&& Game_Flag_Query(kFlagDR04toDR01)
) {
Scene_Loop_Start_Special(0, 3, 0);
Scene_Loop_Set_Default(4);
- } else if (!Game_Flag_Query(272)
+ } else if (!Game_Flag_Query(kFlagDR05BombExploded)
&& Game_Flag_Query(kFlagDR04toDR01)
) {
Scene_Loop_Start_Special(0, 2, 0);
diff --git a/engines/bladerunner/script/scene/dr03.cpp b/engines/bladerunner/script/scene/dr03.cpp
index 2fa1f35974..f012c68ea5 100644
--- a/engines/bladerunner/script/scene/dr03.cpp
+++ b/engines/bladerunner/script/scene/dr03.cpp
@@ -59,21 +59,22 @@ bool SceneScriptDR03::ClickedOn3DObject(const char *objectName, bool a2) {
}
bool SceneScriptDR03::ClickedOnActor(int actorId) {
- if (actorId == 52) {
+ if (actorId == kActorChew) {
Actor_Face_Actor(kActorMcCoy, kActorChew, true);
Actor_Face_Actor(kActorChew, kActorMcCoy, true);
- if (!Game_Flag_Query(267)) {
+ if (!Game_Flag_Query(kFlagDR03ChewTalk1)) {
Actor_Says(kActorMcCoy, 755, 18);
Actor_Says(kActorChew, 10, 14);
Actor_Says(kActorMcCoy, 760, 18);
Actor_Says(kActorChew, 20, 14);
Actor_Says(kActorMcCoy, 765, 18);
Actor_Says(kActorChew, 30, 14);
- Game_Flag_Set(267);
+ Game_Flag_Set(kFlagDR03ChewTalk1);
return true;
}
if (Actor_Clue_Query(kActorMcCoy, kClueChewInterview)) {
- if (Game_Flag_Query(266) && Game_Flag_Query(267)) {
+ if (Game_Flag_Query(kFlagMorajiExploded)
+ && Game_Flag_Query(kFlagDR03ChewTalk1)) {
Actor_Says(kActorMcCoy, 815, 18);
Actor_Says(kActorChew, 60, 14);
Actor_Says(kActorChew, 70, 14);
@@ -82,7 +83,7 @@ bool SceneScriptDR03::ClickedOnActor(int actorId) {
Actor_Says(kActorChew, 90, 14);
Actor_Says(kActorMcCoy, 825, 18);
Actor_Says(kActorChew, 100, 14);
- Game_Flag_Reset(266);
+ Game_Flag_Reset(kFlagMorajiExploded);
Game_Flag_Set(505);
return true;
}
@@ -114,7 +115,7 @@ bool SceneScriptDR03::ClickedOnActor(int actorId) {
Actor_Says(kActorMcCoy, 855, 18);
Actor_Says(kActorChew, 210, 12);
}
- Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, 1, kActorChew);
+ Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
return true;
}
return false;
@@ -216,7 +217,7 @@ void SceneScriptDR03::sub_401B18() {
Actor_Says(kActorMcCoy, 855, 18);
Actor_Says(kActorChew, 210, 12);
}
- Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, 1, kActorChew);
+ Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
break;
case 650:
Actor_Says(kActorMcCoy, 775, 11);
@@ -239,11 +240,11 @@ void SceneScriptDR03::sub_401B18() {
Actor_Says(kActorChew, 280, 12);
Actor_Says(kActorMcCoy, 870, 18);
Actor_Says(kActorChew, 290, 15);
- if (!Game_Flag_Query(266)) {
+ if (!Game_Flag_Query(kFlagMorajiExploded)) {
Actor_Says(kActorChew, 300, 12);
}
}
- Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, 1, kActorChew);
+ Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
break;
case 670:
Actor_Says(kActorMcCoy, 765, 12);
diff --git a/engines/bladerunner/script/scene/dr04.cpp b/engines/bladerunner/script/scene/dr04.cpp
index 0483d191f8..d4aa636a1c 100644
--- a/engines/bladerunner/script/scene/dr04.cpp
+++ b/engines/bladerunner/script/scene/dr04.cpp
@@ -25,13 +25,13 @@
namespace BladeRunner {
void SceneScriptDR04::InitializeScene() {
- if (Game_Flag_Query(515)) {
+ if (Game_Flag_Query(kFlagDR05BombExplosionView)) {
Setup_Scene_Information(0.0f, 0.0f, 0.0f, 0);
} else if (Game_Flag_Query(kFlagDR01toDR04)) {
Setup_Scene_Information(-711.0f, -0.04f, 70.0f, 472);
- } else if (Game_Flag_Query(229)) {
+ } else if (Game_Flag_Query(kFlagDR05toDR04)) {
Setup_Scene_Information(-1067.0f, 7.18f, 421.0f, 125);
- } else if (Game_Flag_Query(231)) {
+ } else if (Game_Flag_Query(kFlagDR06toDR04)) {
Setup_Scene_Information(-897.75f, 134.45f, 569.75f, 512);
} else {
Setup_Scene_Information(-810.0f, -0.04f, 242.0f, 125);
@@ -52,13 +52,13 @@ void SceneScriptDR04::InitializeScene() {
Ambient_Sounds_Add_Sound(378, 5, 80, 50, 100, 0, 0, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(379, 5, 80, 50, 100, 0, 0, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(380, 5, 80, 50, 100, 0, 0, -101, -101, 0, 0);
- if (Game_Flag_Query(272)) {
+ if (Game_Flag_Query(kFlagDR05BombExploded)) {
Scene_Loop_Set_Default(1);
} else {
Scene_Loop_Set_Default(4);
}
if (Game_Flag_Query(kFlagDR01toDR04)) {
- if (Game_Flag_Query(272)) {
+ if (Game_Flag_Query(kFlagDR05BombExploded)) {
Scene_Loop_Start_Special(0, 0, 0);
} else {
Scene_Loop_Start_Special(0, 3, 0);
@@ -92,33 +92,34 @@ bool SceneScriptDR04::ClickedOn3DObject(const char *objectName, bool a2) {
}
bool SceneScriptDR04::ClickedOnActor(int actorId) {
- if (actorId == 35 && !Player_Query_Combat_Mode()) {
- if (Actor_Query_Goal_Number(kActorMoraji) != 21) {
- if (Actor_Query_Goal_Number(kActorMoraji) == 23) {
- if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorMoraji, 36, 1, false)) {
- Actor_Set_Goal_Number(kActorOfficerGrayford, 106);
- return true;
- }
+ if ( actorId == kActorMoraji
+ && !Player_Query_Combat_Mode()
+ ) {
+ if (Actor_Query_Goal_Number(kActorMoraji) == 21) {
+ if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 109, 0, true, true)) {
+ Actor_Face_Actor(kActorMcCoy, kActorMoraji, true);
+ Actor_Says(kActorMcCoy, 945, 13);
+ Actor_Says(kActorMoraji, 0, 3);
+ Actor_Says(kActorMoraji, 10, 3);
+ Actor_Says(kActorMcCoy, 950, 13);
+ Actor_Says(kActorMoraji, 20, 3);
+ Actor_Says(kActorMoraji, 30, 3);
+ Actor_Says(kActorMcCoy, 955, 13);
+ Actor_Says_With_Pause(kActorMoraji, 40, 0.0f, 3);
+ Actor_Says(kActorMoraji, 50, 3);
+ Actor_Clue_Acquire(kActorMcCoy, kClueMorajiInterview, true, kActorMoraji);
+ Actor_Set_Goal_Number(kActorMoraji, 22);
+ Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
+ return true;
}
- return false;
}
- if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 109, 0, 1, true)) {
- Actor_Face_Actor(kActorMcCoy, kActorMoraji, true);
- Actor_Says(kActorMcCoy, 945, 13);
- Actor_Says(kActorMoraji, 0, 3);
- Actor_Says(kActorMoraji, 10, 3);
- Actor_Says(kActorMcCoy, 950, 13);
- Actor_Says(kActorMoraji, 20, 3);
- Actor_Says(kActorMoraji, 30, 3);
- Actor_Says(kActorMcCoy, 955, 13);
- Actor_Says_With_Pause(kActorMoraji, 40, 0.0f, 3);
- Actor_Says(kActorMoraji, 50, 3);
- Actor_Clue_Acquire(kActorMcCoy, kClueMorajiInterview, 1, kActorMoraji);
- Actor_Set_Goal_Number(kActorMoraji, 22);
- Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
- return true;
+
+ if (Actor_Query_Goal_Number(kActorMoraji) == 23) {
+ if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorMoraji, 36, true, false)) {
+ Actor_Set_Goal_Number(kActorOfficerGrayford, 106);
+ return true;
+ }
}
- return false;
}
return false;
}
@@ -144,8 +145,8 @@ bool SceneScriptDR04::ClickedOnExit(int exitId) {
}
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1067.0f, 7.18f, 421.0f, 0, 1, false, 0)) {
- Game_Flag_Set(232);
- Game_Flag_Set(228);
+ Game_Flag_Set(kFlagNotUsed232);
+ Game_Flag_Set(kFlagDR04toDR05);
Set_Enter(kSetDR05, kSceneDR05);
}
return true;
@@ -155,13 +156,13 @@ bool SceneScriptDR04::ClickedOnExit(int exitId) {
Footstep_Sound_Override_On(3);
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
Actor_Face_Heading(kActorMcCoy, 512, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 1, kAnimationModeIdle);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -899.0f, 71.64f, 647.0f, 0, 0, false, 0);
Actor_Face_Heading(kActorMcCoy, 0, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 1, kAnimationModeIdle);
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
Footstep_Sound_Override_Off();
- Game_Flag_Set(230);
+ Game_Flag_Set(kFlagDR04toDR06);
Set_Enter(kSetDR06, kSceneDR06);
}
return true;
@@ -180,17 +181,17 @@ bool SceneScriptDR04::sub_401160() {
}
void SceneScriptDR04::SceneFrameAdvanced(int frame) {
- if (Game_Flag_Query(515)) {
- Game_Flag_Reset(515);
- Game_Flag_Reset(271);
+ if (Game_Flag_Query(kFlagDR05BombExplosionView)) {
+ Game_Flag_Reset(kFlagDR05BombExplosionView);
+ Game_Flag_Reset(kFlagDR05BombWillExplode);
Scene_Loop_Set_Default(1);
Scene_Loop_Start_Special(kSceneLoopModeOnce, 6, true);
Music_Stop(4);
Actor_Set_Goal_Number(kActorMoraji, 99);
} else {
- if (Game_Flag_Query(271)) {
- Game_Flag_Reset(271);
- Game_Flag_Set(272);
+ if (Game_Flag_Query(kFlagDR05BombWillExplode)) {
+ Game_Flag_Reset(kFlagDR05BombWillExplode);
+ Game_Flag_Set(kFlagDR05BombExploded);
Scene_Loop_Set_Default(1);
Scene_Loop_Start_Special(kSceneLoopModeOnce, 6, true);
Item_Remove_From_World(78);
@@ -215,7 +216,10 @@ void SceneScriptDR04::SceneFrameAdvanced(int frame) {
Player_Gains_Control();
break;
case 235:
- if (Actor_Query_Goal_Number(kActorMoraji) != 20 && Actor_Query_Goal_Number(kActorMoraji) != 21 && Actor_Query_Goal_Number(kActorMoraji) != 99) {
+ if (Actor_Query_Goal_Number(kActorMoraji) != 20
+ && Actor_Query_Goal_Number(kActorMoraji) != 21
+ && Actor_Query_Goal_Number(kActorMoraji) != 99
+ ) {
Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
}
Scene_Exits_Enable();
@@ -231,30 +235,33 @@ void SceneScriptDR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptDR04::PlayerWalkedIn() {
- if (Game_Flag_Query(515)) {
+ if (Game_Flag_Query(kFlagDR05BombExplosionView)) {
Player_Loses_Control();
Delay(4000);
Actor_Retired_Here(kActorMcCoy, 6, 6, 1, -1);
} else {
- if (Game_Flag_Query(269) && !Game_Flag_Query(272)) {
+ if ( Game_Flag_Query(kFlagDR05BombActivated)
+ && !Game_Flag_Query(kFlagDR05BombExploded)
+ ) {
Scene_Exits_Disable();
}
- if (Game_Flag_Query(231)) {
+
+ if (Game_Flag_Query(kFlagDR06toDR04)) {
Footstep_Sound_Override_On(3);
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
Actor_Face_Heading(kActorMcCoy, 512, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, kAnimationModeIdle);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 71.64f, 647.0f, 0, 0, false, 0);
Actor_Face_Heading(kActorMcCoy, 0, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, kAnimationModeIdle);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -774.85f, 7.18f, 386.67f, 0, 0, false, 0);
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
Footstep_Sound_Override_Off();
}
}
Game_Flag_Reset(kFlagDR01toDR04);
- Game_Flag_Reset(229);
- Game_Flag_Reset(231);
+ Game_Flag_Reset(kFlagDR05toDR04);
+ Game_Flag_Reset(kFlagDR06toDR04);
}
void SceneScriptDR04::PlayerWalkedOut() {
diff --git a/engines/bladerunner/script/scene/dr05.cpp b/engines/bladerunner/script/scene/dr05.cpp
index dfa4b8bbbf..6ad6604c23 100644
--- a/engines/bladerunner/script/scene/dr05.cpp
+++ b/engines/bladerunner/script/scene/dr05.cpp
@@ -26,13 +26,13 @@ namespace BladeRunner {
void SceneScriptDR05::InitializeScene() {
Setup_Scene_Information(-22.0f, 0.3f, 221.0f, 0);
- Game_Flag_Reset(228);
+ Game_Flag_Reset(kFlagDR04toDR05);
Scene_Exit_Add_2D_Exit(0, 0, 38, 80, 467, 3);
Ambient_Sounds_Add_Looping_Sound(383, 25, 0, 1);
- if (!Game_Flag_Query(272)) {
+ if (!Game_Flag_Query(kFlagDR05BombExploded)) {
Overlay_Play("DR05OVER", 0, 1, 0, 0);
}
- if (Game_Flag_Query(272)) {
+ if (Game_Flag_Query(kFlagDR05BombExploded)) {
Scene_Loop_Set_Default(2);
} else {
Scene_Loop_Set_Default(0);
@@ -44,9 +44,9 @@ void SceneScriptDR05::SceneLoaded() {
Unobstacle_Object("BOX06", true);
Unobstacle_Object("BOX183", true);
Clickable_Object("T2 DOORWAY");
- if (!Game_Flag_Query(272)) {
+ if (!Game_Flag_Query(kFlagDR05BombExploded)) {
Item_Add_To_World(78, 932, 35, -1.57f, 31.33f, 75.21f, 540, 16, 16, true, true, false, true);
- if (!Actor_Query_Goal_Number(kActorMoraji)) {
+ if (Actor_Query_Goal_Number(kActorMoraji) == 0) {
Item_Add_To_World(122, 931, 35, 37.35f, 1.59f, 46.72f, 0, 20, 20, true, true, false, true);
}
}
@@ -58,8 +58,10 @@ bool SceneScriptDR05::MouseClick(int x, int y) {
bool SceneScriptDR05::ClickedOn3DObject(const char *objectName, bool a2) {
if (Object_Query_Click("T2 DOORWAY", objectName)) {
- if (Game_Flag_Query(276) || Actor_Query_Goal_Number(kActorMoraji)) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 57.61f, 0.3f, 69.27f, 0, 1, false, 0)) {
+ if (Game_Flag_Query(kFlagNotUsed276)
+ || Actor_Query_Goal_Number(kActorMoraji) != 0
+ ) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 57.61f, 0.3f, 69.27f, 0, true, false, 0)) {
Actor_Face_Object(kActorMcCoy, "T2 DOORWAY", true);
Actor_Says(kActorMcCoy, 8522, 13);
Actor_Says(kActorMcCoy, 8521, 14);
@@ -81,9 +83,12 @@ bool SceneScriptDR05::ClickedOnActor(int actorId) {
bool SceneScriptDR05::ClickedOnItem(int itemId, bool a2) {
if (itemId == 78) {
if (Player_Query_Combat_Mode()) {
- Game_Flag_Set(271);
+ Game_Flag_Set(kFlagDR05BombWillExplode);
Actor_Set_Goal_Number(kActorMoraji, 30);
- } else if (!Game_Flag_Query(272) && !Loop_Actor_Walk_To_Item(kActorMcCoy, 78, 24, 1, true) && Actor_Query_Goal_Number(kActorMoraji) != 11) {
+ } else if (!Game_Flag_Query(kFlagDR05BombExploded)
+ && !Loop_Actor_Walk_To_Item(kActorMcCoy, 78, 24, 1, true)
+ && Actor_Query_Goal_Number(kActorMoraji) != 11
+ ) {
if (!Actor_Query_Goal_Number(kActorMoraji)) {
Actor_Says_With_Pause(kActorMcCoy, 1015, 0.1f, 12);
Actor_Says(kActorMoraji, 70, 13);
@@ -92,10 +97,13 @@ bool SceneScriptDR05::ClickedOnItem(int itemId, bool a2) {
}
//return true; //bug?
}
- if (itemId == 122 && Player_Query_Combat_Mode() && Actor_Query_Goal_Number(kActorMoraji) == 0) {
+ if (itemId == 122
+ && Player_Query_Combat_Mode()
+ && Actor_Query_Goal_Number(kActorMoraji) == 0
+ ) {
Overlay_Play("DR05OVER", 1, 0, 1, 0);
Item_Remove_From_World(122);
- Game_Flag_Set(270);
+ Game_Flag_Set(kFlagDR05ChainShot);
Actor_Set_Goal_Number(kActorMoraji, 10);
Music_Play(18, 71, 0, 0, -1, 0, 2);
return true;
@@ -105,9 +113,9 @@ bool SceneScriptDR05::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptDR05::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -22.0f, 0.3f, 221.0f, 0, 1, false, 0)) {
- Game_Flag_Reset(232);
- Game_Flag_Set(229);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -22.0f, 0.3f, 221.0f, 0, true, false, 0)) {
+ Game_Flag_Reset(kFlagNotUsed232);
+ Game_Flag_Set(kFlagDR05toDR04);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR04);
}
return true;
@@ -123,10 +131,10 @@ void SceneScriptDR05::SceneFrameAdvanced(int frame) {
if (frame == 49) {
Sound_Play(148, Random_Query(50, 50), 80, 80, 50);
}
- if (Game_Flag_Query(271)) {
+ if (Game_Flag_Query(kFlagDR05BombWillExplode)) {
Item_Remove_From_World(78);
- Game_Flag_Reset(271);
- Game_Flag_Set(272);
+ Game_Flag_Reset(kFlagDR05BombWillExplode);
+ Game_Flag_Set(kFlagDR05BombExploded);
Actor_Set_Goal_Number(kActorMoraji, 30);
}
}
@@ -135,39 +143,46 @@ void SceneScriptDR05::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptDR05::PlayerWalkedIn() {
- if (!Game_Flag_Query(511) && !Game_Flag_Query(270) && Game_Flag_Query(272)) {
+ if (!Game_Flag_Query(kFlagDR05ExplodedEntered)
+ && !Game_Flag_Query(kFlagDR05ChainShot)
+ && Game_Flag_Query(kFlagDR05BombExploded)
+ ) {
Item_Remove_From_World(122);
}
- if (Game_Flag_Query(272)) {
+
+ if (Game_Flag_Query(kFlagDR05BombExploded)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, 0, false, 0);
- if (!Game_Flag_Query(511)) {
- Game_Flag_Set(511);
+ if (!Game_Flag_Query(kFlagDR05ExplodedEntered)) {
+ Game_Flag_Set(kFlagDR05ExplodedEntered);
if (Game_Flag_Query(kFlagSadikIsReplicant)) {
Actor_Voice_Over(730, kActorVoiceOver);
Actor_Voice_Over(740, kActorVoiceOver);
Actor_Voice_Over(750, kActorVoiceOver);
Actor_Voice_Over(760, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueExpertBomber, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueExpertBomber, true, -1);
} else {
Actor_Voice_Over(670, kActorVoiceOver);
Actor_Voice_Over(680, kActorVoiceOver);
Actor_Voice_Over(700, kActorVoiceOver);
Actor_Voice_Over(710, kActorVoiceOver);
Actor_Voice_Over(720, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueAmateurBomber, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueAmateurBomber, true, -1);
}
}
} else {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, 0, true, 0);
}
- if (!Game_Flag_Query(274) && !Actor_Query_Goal_Number(kActorMoraji)) {
+
+ if (!Game_Flag_Query(kFlagDR05MorajiTalk)
+ && !Actor_Query_Goal_Number(kActorMoraji)
+ ) {
Actor_Face_Actor(kActorMcCoy, kActorMoraji, true);
Actor_Says(kActorMcCoy, 1010, 13);
Actor_Face_Item(kActorMcCoy, 78, true);
Player_Set_Combat_Mode(true);
Actor_Says(kActorMoraji, 60, 12);
Actor_Change_Animation_Mode(kActorMcCoy, 0);
- Game_Flag_Set(274);
+ Game_Flag_Set(kFlagDR05MorajiTalk);
//return true;
}
//return false;
diff --git a/engines/bladerunner/script/scene/dr06.cpp b/engines/bladerunner/script/scene/dr06.cpp
index 6d8271bec4..c28ec2db4f 100644
--- a/engines/bladerunner/script/scene/dr06.cpp
+++ b/engines/bladerunner/script/scene/dr06.cpp
@@ -25,19 +25,21 @@
namespace BladeRunner {
void SceneScriptDR06::InitializeScene() {
- if (Game_Flag_Query(230)) {
+ if (Game_Flag_Query(kFlagDR04toDR06)) {
Setup_Scene_Information(-733.57f, 136.6f, -968.64f, 0);
} else {
Setup_Scene_Information(-707.57f, 136.6f, -1132.64f, 472);
}
Scene_Exit_Add_2D_Exit(0, 601, 11, 639, 479, 1);
- if (Global_Variable_Query(kVariableChapter) > 3 && Game_Flag_Query(715)) {
+ if (Global_Variable_Query(kVariableChapter) > 3
+ && Game_Flag_Query(715)
+ ) {
Scene_Exit_Add_2D_Exit(1, 0, 272, 46, 477, 2);
}
Ambient_Sounds_Add_Looping_Sound(383, 25, 0, 1);
Ambient_Sounds_Add_Sound(73, 5, 60, 20, 20, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(74, 5, 60, 20, 20, -100, 100, -101, -101, 0, 0);
- if (Game_Flag_Query(268)) {
+ if (Game_Flag_Query(kFlagDR06JesterActive)) {
Overlay_Play("DR06over", 1, 1, 0, 0);
Ambient_Sounds_Add_Looping_Sound(300, 47, -75, 0);
} else {
@@ -67,79 +69,86 @@ bool SceneScriptDR06::MouseClick(int x, int y) {
bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
if (Object_Query_Click("BOX16", objectName)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -743.0f, 136.6f, -1091.0f, 0, 1, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -743.0f, 136.6f, -1091.0f, 0, true, false, 0);
Actor_Face_Object(kActorMcCoy, "BOX16", true);
- if (!Game_Flag_Query(268)) {
+ if (!Game_Flag_Query(kFlagDR06JesterActive)) {
Overlay_Play("DR06over", 1, 1, 1, 0);
Ambient_Sounds_Add_Looping_Sound(300, 47, -75, 0);
- Game_Flag_Set(268);
- return true;
+ Game_Flag_Set(kFlagDR06JesterActive);
+ } else {
+ Overlay_Play("DR06over", 0, 1, 1, 0);
+ Ambient_Sounds_Remove_Looping_Sound(300, false);
+ Game_Flag_Reset(kFlagDR06JesterActive);
}
- Overlay_Play("DR06over", 0, 1, 1, 0);
- Ambient_Sounds_Remove_Looping_Sound(300, false);
- Game_Flag_Reset(268);
return true;
}
+
if (Object_Query_Click("X2_MON01A04", objectName)) {
if (Actor_Clue_Query(kActorMcCoy, kClueAnsweringMachineMessage)) {
Actor_Face_Object(kActorMcCoy, "X2_MON01A04", true);
Actor_Says(kActorMcCoy, 8570, 13);
- } else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.94f, 136.6f, -1136.12f, 0, 1, false, 0)) {
- Actor_Face_Object(kActorMcCoy, "X2_MON01A04", true);
- Actor_Says(kActorAnsweringMachine, 10, 3);
- Actor_Says(kActorAnsweringMachine, 20, 3);
- Actor_Says(kActorAnsweringMachine, 30, 3);
- Actor_Says(kActorMcCoy, 1025, 13);
- Actor_Says(kActorSebastian, 0, 3);
- Actor_Says(kActorSebastian, 10, 3);
- Actor_Says(kActorSebastian, 20, 3);
- Actor_Says(kActorSebastian, 30, 3);
- Actor_Says(kActorSebastian, 40, 3);
- Actor_Says(kActorSebastian, 50, 3);
- Actor_Says(kActorAnsweringMachine, 40, 3);
- Actor_Says(kActorMcCoy, 1030, 13);
- Actor_Says(kActorAnsweringMachine, 50, 3);
- Actor_Clue_Acquire(kActorMcCoy, kClueAnsweringMachineMessage, 1, kActorAnsweringMachine);
+ } else {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.94f, 136.6f, -1136.12f, 0, true, false, 0)) {
+ Actor_Face_Object(kActorMcCoy, "X2_MON01A04", true);
+ Actor_Says(kActorAnsweringMachine, 10, 3);
+ Actor_Says(kActorAnsweringMachine, 20, 3);
+ Actor_Says(kActorAnsweringMachine, 30, 3);
+ Actor_Says(kActorMcCoy, 1025, 13);
+ Actor_Says(kActorSebastian, 0, 3);
+ Actor_Says(kActorSebastian, 10, 3);
+ Actor_Says(kActorSebastian, 20, 3);
+ Actor_Says(kActorSebastian, 30, 3);
+ Actor_Says(kActorSebastian, 40, 3);
+ Actor_Says(kActorSebastian, 50, 3);
+ Actor_Says(kActorAnsweringMachine, 40, 3);
+ Actor_Says(kActorMcCoy, 1030, 13);
+ Actor_Says(kActorAnsweringMachine, 50, 3);
+ Actor_Clue_Acquire(kActorMcCoy, kClueAnsweringMachineMessage, true, kActorAnsweringMachine);
+ }
}
return true;
}
+
if (Object_Query_Click("X2_MON01D01", objectName)) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -645.34f, 136.6f, -1047.37f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -645.34f, 136.6f, -1047.37f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 329, false);
- if (Actor_Clue_Query(kActorMcCoy, kClueFolder) && Actor_Clue_Query(kActorMcCoy, kClueGuzzaFramedMcCoy) && !Game_Flag_Query(670)) {
+ if ( Actor_Clue_Query(kActorMcCoy, kClueFolder)
+ && Actor_Clue_Query(kActorMcCoy, kClueGuzzaFramedMcCoy)
+ && !Game_Flag_Query(670)
+ ) {
Actor_Set_Goal_Number(kActorMcCoy, 350);
Game_Flag_Set(670);
- } else if (Game_Flag_Query(280)) {
- Actor_Says(kActorMcCoy, 8570, 13);
- } else {
+ } else if (!Game_Flag_Query(kFlagDR06VidphoneChecked)) {
Actor_Voice_Over(770, kActorVoiceOver);
Actor_Voice_Over(780, kActorVoiceOver);
Actor_Voice_Over(790, kActorVoiceOver);
Actor_Voice_Over(800, kActorVoiceOver);
- Game_Flag_Set(280);
+ Game_Flag_Set(kFlagDR06VidphoneChecked);
+ } else {
+ Actor_Says(kActorMcCoy, 8570, 13);
}
}
return true;
}
- if (Object_Query_Click("X2_KEYBRD02", objectName) && !Game_Flag_Query(278)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -655.57f, 136.6f, -1092.64f, 0, 1, false, 0);
+
+ if ( Object_Query_Click("X2_KEYBRD02", objectName) // a bug? there is no X2_KEYBRD02 only X2KEYBRD02
+ && !Game_Flag_Query(kFlagDR06KeyboardChecked)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -655.57f, 136.6f, -1092.64f, 0, true, false, 0);
Actor_Face_Object(kActorMcCoy, "X2_KEYBRD02", true);
Actor_Voice_Over(830, kActorVoiceOver);
Actor_Voice_Over(840, kActorVoiceOver);
- Game_Flag_Set(278);
+ Game_Flag_Set(kFlagDR06KeyboardChecked);
return true;
}
+
if (Object_Query_Click("X2_TORSO04HIRES", objectName)) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -700.0f, 136.6f, -1133.0f, 4, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -700.0f, 136.6f, -1133.0f, 4, true, false, 0)) {
Actor_Face_Object(kActorMcCoy, "x2_TORSO04HIRES", true);
if (Global_Variable_Query(39) > 12) {
return true;
}
- if (Game_Flag_Query(548)) {
- Overlay_Remove("DR06ovr2");
- Game_Flag_Reset(548);
- Sound_Play(161, 100, 0, 0, 50);
- } else {
+
+ if (!Game_Flag_Query(548)) {
Overlay_Play("DR06ovr2", 0, 1, 0, 0);
Game_Flag_Set(548);
Sound_Play(160, 100, 0, 0, 50);
@@ -149,12 +158,17 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
Actor_Voice_Over(860, kActorVoiceOver);
Actor_Voice_Over(870, kActorVoiceOver);
Actor_Voice_Over(880, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueEnvelope, 1, kActorLance);
+ Actor_Clue_Acquire(kActorMcCoy, kClueEnvelope, true, kActorLance);
if (Query_Difficulty_Level() != 0) {
Global_Variable_Increment(2, 200);
}
}
+ } else {
+ Overlay_Remove("DR06ovr2");
+ Game_Flag_Reset(548);
+ Sound_Play(161, 100, 0, 0, 50);
}
+
Global_Variable_Increment(39, 1);
if (Global_Variable_Query(39) > 12) {
Sound_Play(204, 100, 0, 0, 50);
@@ -163,7 +177,8 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
}
return true;
}
- Actor_Face_Object(kActorMcCoy, "X2_MON01D01", true);
+
+ Actor_Face_Object(kActorMcCoy, "X2_MON01D01", true); //a bug? or why?
Actor_Says(kActorMcCoy, 8525, 13);
return true;
}
@@ -178,14 +193,14 @@ bool SceneScriptDR06::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptDR06::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -733.0f, 136.6f, -980.0f, 0, 1, false, 0)) {
- Game_Flag_Set(231);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -733.0f, 136.6f, -980.0f, 0, true, false, 0)) {
+ Game_Flag_Set(kFlagDR06toDR04);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR04);
}
return true;
}
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -707.57f, 136.6f, -1132.64f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -707.57f, 136.6f, -1132.64f, 0, true, false, 0)) {
Game_Flag_Set(552);
Set_Enter(kSetUG16, kSceneUG16);
}
@@ -205,10 +220,10 @@ void SceneScriptDR06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptDR06::PlayerWalkedIn() {
- if (Game_Flag_Query(230)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -729.57f, 136.6f, -1016.0f, 0, 0, false, 0);
+ if (Game_Flag_Query(kFlagDR04toDR06)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -729.57f, 136.6f, -1016.0f, 0, false, false, 0);
}
- Game_Flag_Reset(230);
+ Game_Flag_Reset(kFlagDR04toDR06);
Game_Flag_Reset(551);
}
diff --git a/engines/bladerunner/script/scene/hc01.cpp b/engines/bladerunner/script/scene/hc01.cpp
index 89ac7d72ca..e9ef0a2209 100644
--- a/engines/bladerunner/script/scene/hc01.cpp
+++ b/engines/bladerunner/script/scene/hc01.cpp
@@ -131,11 +131,11 @@ bool SceneScriptHC01::ClickedOnItem(int itemId, bool a2) {
Delay(1500);
Item_Pickup_Spin_Effect(984, 330, 384);
if (Game_Flag_Query(374)) {
- Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy1, 1, kActorIzo);
+ Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy1, true, kActorIzo);
} else {
- Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy2, 1, kActorIzo);
+ Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy2, true, kActorIzo);
}
- Actor_Clue_Acquire(kActorMcCoy, kClueChinaBar, 1, kActorIzo);
+ Actor_Clue_Acquire(kActorMcCoy, kClueChinaBar, true, kActorIzo);
return true;
}
return false;
@@ -147,7 +147,7 @@ bool SceneScriptHC01::ClickedOnExit(int exitId) {
Music_Adjust(12, 0, 2);
Game_Flag_Set(kFlagHC01toAR01);
Set_Enter(kSetAR01_AR02, kSceneAR01);
- Game_Flag_Reset(479);
+ Game_Flag_Reset(kFlagMcCoyAtHCxx);
Game_Flag_Set(kFlagMcCoyAtARxx);
}
return true;
@@ -279,7 +279,7 @@ void SceneScriptHC01::sub_402384() {
}
if (answer == 1010) {
Dialogue_Menu_Remove_From_List(1010);
- Actor_Clue_Acquire(kActorMcCoy, kClueIzoInterview, 0, kActorIzo);
+ Actor_Clue_Acquire(kActorMcCoy, kClueIzoInterview, false, kActorIzo);
Actor_Says(kActorMcCoy, 1070, 13);
Actor_Says(kActorIzo, 200, 17);
Actor_Says(kActorIzo, 210, 12);
diff --git a/engines/bladerunner/script/scene/hc02.cpp b/engines/bladerunner/script/scene/hc02.cpp
index f59d350307..4b293612dc 100644
--- a/engines/bladerunner/script/scene/hc02.cpp
+++ b/engines/bladerunner/script/scene/hc02.cpp
@@ -104,10 +104,10 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {
Actor_Says(kActorMcCoy, 4545, 11);
Actor_Says(kActorHawkersBarkeep, 120, 12);
Actor_Says(kActorHawkersBarkeep, 180, 13);
- Actor_Clue_Acquire(kActorMcCoy, kClueChinaBarSecurityDisc, 1, kActorHawkersBarkeep);
+ Actor_Clue_Acquire(kActorMcCoy, kClueChinaBarSecurityDisc, true, kActorHawkersBarkeep);
Item_Pickup_Spin_Effect(975, 229, 215);
} else if (Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview1) && !Actor_Clue_Query(kActorMcCoy, kClueFlaskOfAbsinthe) && (Global_Variable_Query(2) > 20 || Query_Difficulty_Level() == 0)) {
- Actor_Clue_Acquire(kActorMcCoy, kClueFlaskOfAbsinthe, 1, kActorHawkersBarkeep);
+ Actor_Clue_Acquire(kActorMcCoy, kClueFlaskOfAbsinthe, true, kActorHawkersBarkeep);
Actor_Says(kActorMcCoy, 1230, 13);
Actor_Says(kActorHawkersBarkeep, 20, 12);
Actor_Says(kActorMcCoy, 1235, 13);
@@ -124,7 +124,9 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {
}
Actor_Says(kActorMcCoy, 1245, 13);
} else {
- if (Actor_Clue_Query(kActorMcCoy, kClueMaggieBracelet) && !Game_Flag_Query(405)) {
+ if ( Actor_Clue_Query(kActorMcCoy, kClueMaggieBracelet)
+ && !Game_Flag_Query(405)
+ ) {
Actor_Says(kActorHawkersBarkeep, 80, 16);
Actor_Says(kActorMcCoy, 1265, 13);
Actor_Says(kActorHawkersBarkeep, 90, 13);
diff --git a/engines/bladerunner/script/scene/hc03.cpp b/engines/bladerunner/script/scene/hc03.cpp
index 762a40c170..e8490b5d4d 100644
--- a/engines/bladerunner/script/scene/hc03.cpp
+++ b/engines/bladerunner/script/scene/hc03.cpp
@@ -117,11 +117,11 @@ bool SceneScriptHC03::ClickedOnItem(int itemId, bool a2) {
Delay(1500);
Item_Pickup_Spin_Effect(984, 58, 435);
if (Game_Flag_Query(374)) {
- Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy1, 1, kActorIzo);
+ Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy1, true, kActorIzo);
} else {
- Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy2, 1, kActorIzo);
+ Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy2, true, kActorIzo);
}
- Actor_Clue_Acquire(kActorMcCoy, kClueChinaBar, 1, kActorIzo);
+ Actor_Clue_Acquire(kActorMcCoy, kClueChinaBar, true, kActorIzo);
return true;
}
return false;
@@ -139,7 +139,7 @@ bool SceneScriptHC03::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 628.0f, 2.04f, -123.0f, 0, 1, false, 0)) {
if (Game_Flag_Query(388)) {
Game_Flag_Set(kFlagHC03toUG02);
- Game_Flag_Reset(479);
+ Game_Flag_Reset(kFlagMcCoyAtHCxx);
Game_Flag_Set(kFlagMcCoyAtUGxx);
Game_Flag_Set(388);
Music_Stop(2);
diff --git a/engines/bladerunner/script/scene/hc04.cpp b/engines/bladerunner/script/scene/hc04.cpp
index 2cf0d8424c..a20b65c623 100644
--- a/engines/bladerunner/script/scene/hc04.cpp
+++ b/engines/bladerunner/script/scene/hc04.cpp
@@ -111,7 +111,7 @@ bool SceneScriptHC04::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -108.0f, 0.14f, -639.0f, 0, 1, false, 0)) {
Music_Stop(2);
Game_Flag_Set(kFlagHC04toRC03);
- Game_Flag_Reset(479);
+ Game_Flag_Reset(kFlagMcCoyAtHCxx);
Game_Flag_Set(kFlagMcCoyAtRCxx);
Set_Enter(kSetRC03, kSceneRC03);
}
@@ -220,7 +220,7 @@ void SceneScriptHC04::sub_401B90() {
Actor_Says(kActorIsabella, 320, 3);
Actor_Says(kActorMcCoy, 1395, 3);
Actor_Says(kActorIsabella, 330, 3);
- Actor_Clue_Acquire(kActorMcCoy, kClueStolenCheese, 0, kActorIsabella);
+ Actor_Clue_Acquire(kActorMcCoy, kClueStolenCheese, false, kActorIsabella);
break;
case 390:
Actor_Says(kActorMcCoy, 1310, 3);
diff --git a/engines/bladerunner/script/scene/hf01.cpp b/engines/bladerunner/script/scene/hf01.cpp
index adec56fd87..9e445ca572 100644
--- a/engines/bladerunner/script/scene/hf01.cpp
+++ b/engines/bladerunner/script/scene/hf01.cpp
@@ -438,7 +438,7 @@ void SceneScriptHF01::sub_4026B4() {
Actor_Says(kActorMurray, 220, 13);
Actor_Says(kActorMia, 140, 12);
Actor_Says(kActorMurray, 230, 13);
- Actor_Clue_Acquire(kActorMcCoy, kClueSpecialIngredient, 0, kActorMurray);
+ Actor_Clue_Acquire(kActorMcCoy, kClueSpecialIngredient, false, kActorMurray);
break;
case 470:
Actor_Says(kActorMcCoy, 1495, 14);
diff --git a/engines/bladerunner/script/scene/hf03.cpp b/engines/bladerunner/script/scene/hf03.cpp
index e24aab74cb..4557d0a3d0 100644
--- a/engines/bladerunner/script/scene/hf03.cpp
+++ b/engines/bladerunner/script/scene/hf03.cpp
@@ -119,7 +119,7 @@ void SceneScriptHF03::sub_401C80() {
Actor_Says(kActorLucy, 220, 13);
Actor_Says(kActorMcCoy, 1660, 15);
Actor_Says(kActorLucy, 230, 14);
- Actor_Clue_Acquire(kActorLucy, kClueMcCoyHelpedLucy, 1, kActorMcCoy);
+ Actor_Clue_Acquire(kActorLucy, kClueMcCoyHelpedLucy, true, kActorMcCoy);
if (Game_Flag_Query(kFlagLucyIsReplicant)) {
Actor_Set_Goal_Number(kActorLucy, 212);
} else {
@@ -140,7 +140,7 @@ void SceneScriptHF03::sub_401C80() {
Actor_Says(kActorLucy, 300, 16);
Actor_Says(kActorMcCoy, 1675, 12);
Actor_Says(kActorLucy, 310, 13);
- Actor_Clue_Acquire(kActorMcCoy, kClueLucyInterview, 0, kActorLucy);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLucyInterview, false, kActorLucy);
break;
case 880:
Actor_Says(kActorMcCoy, 1650, 14);
diff --git a/engines/bladerunner/script/scene/hf04.cpp b/engines/bladerunner/script/scene/hf04.cpp
index 11a8479da7..5921f57f0d 100644
--- a/engines/bladerunner/script/scene/hf04.cpp
+++ b/engines/bladerunner/script/scene/hf04.cpp
@@ -53,7 +53,9 @@ void SceneScriptHF04::SceneLoaded() {
Unobstacle_Object("HIDE_WALL_B", true);
}
if (Actor_Query_Goal_Number(kActorLucy) == 213) {
- if (Actor_Clue_Query(kActorLucy, kClueMcCoyHelpedLucy) && Global_Variable_Query(40) != 3) {
+ if (Actor_Clue_Query(kActorLucy, kClueMcCoyHelpedLucy)
+ && Global_Variable_Query(40) != 3
+ ) {
Game_Flag_Set(593);
} else {
Actor_Set_Goal_Number(kActorLucy, 230);
diff --git a/engines/bladerunner/script/scene/hf05.cpp b/engines/bladerunner/script/scene/hf05.cpp
index 4022d1952c..75c9dc1547 100644
--- a/engines/bladerunner/script/scene/hf05.cpp
+++ b/engines/bladerunner/script/scene/hf05.cpp
@@ -274,7 +274,7 @@ void SceneScriptHF05::PlayerWalkedIn() {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 399.0f, 40.63f, -85.0f, 0, 0, false, 0);
} else if (Game_Flag_Query(358)) {
Actor_Set_At_XYZ(kActorMcCoy, 346.0f, 4.63f, -151.0f, 603);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, kAnimationModeIdle);
}
if (Actor_Query_In_Set(kActorCrazylegs, kSetHF05)) {
if (Game_Flag_Query(562)) {
@@ -569,7 +569,7 @@ void SceneScriptHF05::sub_403A34(int actorId) {
Loop_Actor_Walk_To_Actor(kActorCrazylegs, kActorMcCoy, 28, 0, false);
Item_Pickup_Spin_Effect(986, 315, 327);
Actor_Says(kActorCrazylegs, 80, 23);
- Actor_Clue_Acquire(kActorMcCoy, kClueSpinnerKeys, 1, kActorCrazylegs);
+ Actor_Clue_Acquire(kActorMcCoy, kClueSpinnerKeys, true, kActorCrazylegs);
Actor_Says(kActorCrazylegs, 90, 15);
Actor_Says(kActorMcCoy, 1735, 17);
Actor_Says(kActorCrazylegs, 100, 16);
diff --git a/engines/bladerunner/script/scene/hf06.cpp b/engines/bladerunner/script/scene/hf06.cpp
index 318e104c14..3c1eac4807 100644
--- a/engines/bladerunner/script/scene/hf06.cpp
+++ b/engines/bladerunner/script/scene/hf06.cpp
@@ -122,7 +122,7 @@ bool SceneScriptHF06::ClickedOnExit(int exitId) {
if (exitId == 0) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 170.0f, 367.93f, 497.0f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 730, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 0, kAnimationModeIdle);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(530);
@@ -166,7 +166,7 @@ void SceneScriptHF06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
Actor_Voice_Over(1030, kActorVoiceOver);
Actor_Voice_Over(1040, kActorVoiceOver);
Actor_Voice_Over(1050, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueBomb, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueBomb, true, -1);
}
if (Actor_Query_In_Set(kActorDektora, kSetHF06)) {
Actor_Set_Targetable(kActorDektora, false);
@@ -199,7 +199,7 @@ void SceneScriptHF06::PlayerWalkedIn() {
}
}
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 1, kAnimationModeIdle);
Footstep_Sound_Override_Off();
if (Game_Flag_Query(662) && !Game_Flag_Query(559)) {
sub_401EF4();
diff --git a/engines/bladerunner/script/scene/hf07.cpp b/engines/bladerunner/script/scene/hf07.cpp
index 318cb93c5e..8194e95359 100644
--- a/engines/bladerunner/script/scene/hf07.cpp
+++ b/engines/bladerunner/script/scene/hf07.cpp
@@ -78,7 +78,7 @@ bool SceneScriptHF07::ClickedOnExit(int exitId) {
if (!Game_Flag_Query(662)) {
Actor_Face_Heading(kActorMcCoy, 0, false);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 30, true, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 30, true, kAnimationModeIdle);
Footstep_Sound_Override_Off();
}
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
@@ -128,7 +128,7 @@ void SceneScriptHF07::PlayerWalkedIn() {
} else if (Game_Flag_Query(359)) {
Actor_Set_At_XYZ(kActorMcCoy, 267.72f, 329.43f, -86.75f, 940);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 30, false, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 30, false, kAnimationModeIdle);
Footstep_Sound_Override_Off();
}
Game_Flag_Reset(359);
diff --git a/engines/bladerunner/script/scene/kp05.cpp b/engines/bladerunner/script/scene/kp05.cpp
index a3c7d1ee1a..8d8aa7ffee 100644
--- a/engines/bladerunner/script/scene/kp05.cpp
+++ b/engines/bladerunner/script/scene/kp05.cpp
@@ -74,7 +74,7 @@ bool SceneScriptKP05::ClickedOnItem(int itemId, bool a2) {
if (itemId == 118) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1058.0f, 0.0f, 852.0f, 0, 1, false, 0)) {
Actor_Face_Item(kActorMcCoy, 118, true);
- Actor_Clue_Acquire(kActorMcCoy, kCluePowerSource, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kCluePowerSource, true, -1);
Item_Remove_From_World(118);
Item_Pickup_Spin_Effect(960, 58, 321);
}
diff --git a/engines/bladerunner/script/scene/kp06.cpp b/engines/bladerunner/script/scene/kp06.cpp
index 569ccbb8b6..f08b6d8b36 100644
--- a/engines/bladerunner/script/scene/kp06.cpp
+++ b/engines/bladerunner/script/scene/kp06.cpp
@@ -80,7 +80,7 @@ bool SceneScriptKP06::ClickedOnActor(int actorId) {
} else if (Actor_Clue_Query(kActorMcCoy, kCluePowerSource) ) {
Actor_Says(kActorSadik, 280, 3);
Actor_Says(kActorSadik, 290, 3);
- Actor_Clue_Acquire(kActorSadik, kCluePowerSource, 1, kActorMcCoy);
+ Actor_Clue_Acquire(kActorSadik, kCluePowerSource, true, kActorMcCoy);
} else {
Actor_Says(kActorMcCoy, 2320, 3);
Actor_Says(kActorMcCoy, 2325, 3);
@@ -125,7 +125,7 @@ bool SceneScriptKP06::ClickedOnExit(int exitId) {
} else if (Actor_Clue_Query(kActorMcCoy, kCluePowerSource) ) {
Actor_Says(kActorSadik, 280, 3);
Actor_Says(kActorSadik, 290, 3);
- Actor_Clue_Acquire(kActorSadik, kCluePowerSource, 1, kActorMcCoy);
+ Actor_Clue_Acquire(kActorSadik, kCluePowerSource, true, kActorMcCoy);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, 0, true, 0);
Player_Set_Combat_Mode(false);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
diff --git a/engines/bladerunner/script/scene/ma01.cpp b/engines/bladerunner/script/scene/ma01.cpp
index d48795eb65..c4594810c7 100644
--- a/engines/bladerunner/script/scene/ma01.cpp
+++ b/engines/bladerunner/script/scene/ma01.cpp
@@ -61,7 +61,7 @@ void SceneScriptMA01::InitializeScene() {
Game_Flag_Reset(kFlagMA06toMA01);
} else {
Actor_Set_Invisible(kActorMcCoy, true);
- Game_Flag_Set(273);
+ Game_Flag_Set(kFlagArrivedFromSpinner2);
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kMA01LoopInshotRoof, false);
Scene_Loop_Set_Default(kMA01LoopMain);
}
@@ -226,12 +226,18 @@ void SceneScriptMA01::SceneFrameAdvanced(int frame) {
if (frame == 58) {
Sound_Play(122, 17, 20, 20, 50);
}
- if ((frame == 75 || frame == 196) && Game_Flag_Query(273)) {
+ if ((frame == 75
+ || frame == 196
+ )
+ && Game_Flag_Query(kFlagArrivedFromSpinner2)
+ ) {
Actor_Face_Heading(kActorMcCoy, 736, false);
Actor_Change_Animation_Mode(kActorMcCoy, 42);
- Game_Flag_Reset(273);
+ Game_Flag_Reset(kFlagArrivedFromSpinner2);
} else {
- if (frame == 196 && !Game_Flag_Query(273)) {
+ if ( frame == 196
+ && !Game_Flag_Query(kFlagArrivedFromSpinner2)
+ ) {
Actor_Change_Animation_Mode(kActorMcCoy, 41);
//return true;
return;
diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp
index 528d9d74e0..8be9fe219b 100644
--- a/engines/bladerunner/script/scene/nr01.cpp
+++ b/engines/bladerunner/script/scene/nr01.cpp
@@ -71,11 +71,11 @@ void SceneScriptNR01::InitializeScene() {
Game_Flag_Reset(kFlagSpinnerAtNR01);
Game_Flag_Reset(kFlagSpinnerAtHF01);
}
- if (Game_Flag_Query(kFlagSpinnerAtNR01) && !Game_Flag_Query(kFlagArrivedFromSpinner)) {
+ if (Game_Flag_Query(kFlagSpinnerAtNR01) && !Game_Flag_Query(kFlagArrivedFromSpinner1)) {
Scene_Loop_Start_Special(0, 0, 0);
Scene_Loop_Set_Default(1);
- Game_Flag_Set(kFlagArrivedFromSpinner);
- } else if (Game_Flag_Query(kFlagSpinnerAtNR01) && Game_Flag_Query(kFlagArrivedFromSpinner)) {
+ Game_Flag_Set(kFlagArrivedFromSpinner1);
+ } else if (Game_Flag_Query(kFlagSpinnerAtNR01) && Game_Flag_Query(kFlagArrivedFromSpinner1)) {
Scene_Loop_Set_Default(1);
} else {
Scene_Loop_Set_Default(4);
@@ -124,7 +124,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -281.0f, 31.93f, -1061.0f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 45, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, kAnimationModeIdle);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(343);
@@ -155,7 +155,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
case kSpinnerDestinationPoliceStation:
Game_Flag_Set(kFlagMcCoyAtPSxx);
Game_Flag_Reset(kFlagSpinnerAtNR01);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtPS01);
Set_Enter(kSetPS01, kScenePS01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
@@ -163,7 +163,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
case kSpinnerDestinationMcCoysApartment:
Game_Flag_Set(kFlagMcCoyAtMAxx);
Game_Flag_Reset(kFlagSpinnerAtNR01);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtMA01);
Set_Enter(kSetMA01, kSceneMA01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
@@ -171,7 +171,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
case kSpinnerDestinationRuncitersAnimals:
Game_Flag_Set(kFlagMcCoyAtRCxx);
Game_Flag_Reset(kFlagSpinnerAtNR01);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtRC01);
Set_Enter(kSetRC01, kSceneRC01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
@@ -179,7 +179,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
case kSpinnerDestinationChinatown:
Game_Flag_Set(kFlagMcCoyAtCTxx);
Game_Flag_Reset(kFlagSpinnerAtNR01);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtCT01);
Set_Enter(kSetCT01_CT12, kSceneCT01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
@@ -187,7 +187,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
case kSpinnerDestinationAnimoidRow:
Game_Flag_Set(kFlagMcCoyAtARxx);
Game_Flag_Reset(kFlagSpinnerAtNR01);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtAR01);
Set_Enter(kSetAR01_AR02, kSceneAR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
@@ -195,7 +195,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
case kSpinnerDestinationTyrellBuilding:
Game_Flag_Set(kFlagMcCoyAtTBxx);
Game_Flag_Reset(kFlagSpinnerAtNR01);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtTB02);
Set_Enter(kSetTB02_TB03, kSceneTB02);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
@@ -203,7 +203,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
case kSpinnerDestinationDNARow:
Game_Flag_Set(kFlagMcCoyAtDRxx);
Game_Flag_Reset(kFlagSpinnerAtNR01);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtDR01);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
@@ -211,7 +211,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
case kSpinnerDestinationBradburyBuilding:
Game_Flag_Set(kFlagMcCoyAtBBxx);
Game_Flag_Reset(kFlagSpinnerAtNR01);
- Game_Flag_Reset(kFlagArrivedFromSpinner);
+ Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtBB01);
Set_Enter(kSetBB01, kSceneBB01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
@@ -226,7 +226,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
default:
Player_Loses_Control();
Game_Flag_Set(kFlagMcCoyAtNRxx);
- Game_Flag_Set(kFlagArrivedFromSpinner);
+ Game_Flag_Set(kFlagArrivedFromSpinner1);
Player_Gains_Control();
break;
}
@@ -312,7 +312,7 @@ void SceneScriptNR01::PlayerWalkedIn() {
Game_Flag_Reset(534);
} else {
if (Game_Flag_Query(342)) {
- Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, kAnimationModeIdle);
Game_Flag_Reset(342);
if (Actor_Query_Goal_Number(kActorSteele) == 230) {
Actor_Face_Actor(kActorSteele, kActorMcCoy, true);
diff --git a/engines/bladerunner/script/scene/nr02.cpp b/engines/bladerunner/script/scene/nr02.cpp
index 37956e380f..83c92275c7 100644
--- a/engines/bladerunner/script/scene/nr02.cpp
+++ b/engines/bladerunner/script/scene/nr02.cpp
@@ -109,12 +109,12 @@ bool SceneScriptNR02::ClickedOnItem(int itemId, bool a2) {
if (itemId == 89) {
Item_Remove_From_World(89);
Item_Pickup_Spin_Effect(953, 214, 380);
- Actor_Clue_Acquire(kActorMcCoy, kClueGordosLighter1, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueGordosLighter1, true, -1);
}
if (itemId == 90) {
Item_Remove_From_World(90);
Item_Pickup_Spin_Effect(954, 214, 380);
- Actor_Clue_Acquire(kActorMcCoy, kClueGordosLighter2, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueGordosLighter2, true, -1);
}
}
return false;
diff --git a/engines/bladerunner/script/scene/nr04.cpp b/engines/bladerunner/script/scene/nr04.cpp
index 6b8d606c9d..dc571ed7cc 100644
--- a/engines/bladerunner/script/scene/nr04.cpp
+++ b/engines/bladerunner/script/scene/nr04.cpp
@@ -88,7 +88,7 @@ bool SceneScriptNR04::ClickedOn3DObject(const char *objectName, bool a2) {
} else if (Actor_Clue_Query(kActorMcCoy, kClueCollectionReceipt)) {
Actor_Says(kActorMcCoy, 8580, 3);
} else {
- Actor_Clue_Acquire(kActorMcCoy, kClueCollectionReceipt, 0, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueCollectionReceipt, false, -1);
Item_Pickup_Spin_Effect(961, 247, 141);
Actor_Voice_Over(1560, kActorVoiceOver);
Actor_Voice_Over(1570, kActorVoiceOver);
@@ -109,7 +109,7 @@ bool SceneScriptNR04::ClickedOn3DObject(const char *objectName, bool a2) {
Item_Pickup_Spin_Effect(975, 358, 160);
Actor_Voice_Over(1620, kActorVoiceOver);
Actor_Voice_Over(1630, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQsClub, 0, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQsClub, false, -1);
Actor_Set_Goal_Number(kActorEarlyQ, 201);
}
return false;
@@ -190,7 +190,7 @@ void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
//return true;
break;
case 213:
- Actor_Clue_Acquire(kActorMcCoy, kClueDektorasDressingRoom, 0, kActorEarlyQ);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDektorasDressingRoom, false, kActorEarlyQ);
Item_Pickup_Spin_Effect(984, 200, 160);
Actor_Says(kActorEarlyQ, 200, 30);
Actor_Says(kActorEarlyQ, 210, 30);
@@ -223,7 +223,7 @@ void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
Actor_Change_Animation_Mode(kActorEarlyQ, 85);
Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
Actor_Set_Goal_Number(kActorEarlyQ, 208);
- Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQInterview, 0, kActorEarlyQ);
+ Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQInterview, false, kActorEarlyQ);
//return true;
break;
case 204:
diff --git a/engines/bladerunner/script/scene/nr06.cpp b/engines/bladerunner/script/scene/nr06.cpp
index 2c227165bb..acb8bc7525 100644
--- a/engines/bladerunner/script/scene/nr06.cpp
+++ b/engines/bladerunner/script/scene/nr06.cpp
@@ -91,7 +91,7 @@ bool SceneScriptNR06::ClickedOnExit(int exitId) {
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.0f, -71.88f, -243.0f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 95, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 8, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 8, 1, kAnimationModeIdle);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -36.0f, 0.37f, -373.0f, 0, 0, false, 0);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -124,7 +124,7 @@ void SceneScriptNR06::PlayerWalkedIn() {
} else {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -81.72f, 0.12f, -323.49f, 0, 0, false, 0);
Actor_Face_Heading(kActorMcCoy, 600, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 8, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 8, 0, kAnimationModeIdle);
Game_Flag_Reset(440);
}
//return false;
diff --git a/engines/bladerunner/script/scene/nr07.cpp b/engines/bladerunner/script/scene/nr07.cpp
index 2d5d86120f..13d3139197 100644
--- a/engines/bladerunner/script/scene/nr07.cpp
+++ b/engines/bladerunner/script/scene/nr07.cpp
@@ -217,7 +217,7 @@ void SceneScriptNR07::sub_401C60() {
Actor_Face_Object(kActorMcCoy, "VASE", true);
if (Actor_Query_Is_In_Current_Set(kActorDektora)) {
if (!Actor_Clue_Query(kActorMcCoy, kClueDektoraInterview3)) {
- Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview3, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview3, true, -1);
int v0 = Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy);
if (v0 > 50) {
Actor_Modify_Friendliness_To_Other(kActorDektora, kActorMcCoy, 2);
@@ -233,7 +233,7 @@ void SceneScriptNR07::sub_401C60() {
} else if (Actor_Clue_Query(kActorMcCoy, kClueDektorasCard)) {
Actor_Says(kActorMcCoy, 8585, 14);
} else {
- Actor_Clue_Acquire(kActorMcCoy, kClueDektorasCard, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDektorasCard, true, -1);
Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "VASE", 100, true, false);
Actor_Change_Animation_Mode(kActorMcCoy, 23);
Item_Pickup_Spin_Effect(935, 526, 268);
@@ -243,7 +243,7 @@ void SceneScriptNR07::sub_401C60() {
}
void SceneScriptNR07::sub_401EF4() {
- Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview2, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview2, true, -1);
Actor_Says(kActorMcCoy, 3625, 19);
Actor_Says(kActorDektora, 570, 30);
Actor_Says_With_Pause(kActorDektora, 580, 1.0f, 31);
@@ -255,7 +255,7 @@ void SceneScriptNR07::sub_401EF4() {
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
Game_Flag_Set(638);
- Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyBelt, 1, kActorDektora);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyBelt, true, kActorDektora);
int v0 = Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy);
if (!Game_Flag_Query(kFlagDektoraIsReplicant) && v0 < 40) {
sub_4018D4();
@@ -288,7 +288,7 @@ void SceneScriptNR07::sub_4020F0() {
}
void SceneScriptNR07::sub_402284() {
- Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview1, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview1, true, -1);
Actor_Start_Speech_Sample(kActorMcCoy, 3660);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, 0, false, 0);
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
diff --git a/engines/bladerunner/script/scene/nr08.cpp b/engines/bladerunner/script/scene/nr08.cpp
index b946f3e612..5f58e4ce28 100644
--- a/engines/bladerunner/script/scene/nr08.cpp
+++ b/engines/bladerunner/script/scene/nr08.cpp
@@ -104,7 +104,7 @@ bool SceneScriptNR08::ClickedOnExit(int exitId) {
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -724.7f, 0.0f, 384.24f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 505, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, kAnimationModeIdle);
Game_Flag_Set(440);
Set_Enter(kSetNR06, kSceneNR06);
}
@@ -114,7 +114,7 @@ bool SceneScriptNR08::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1663.33f, 0.65f, 342.84f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 831, false);
Footstep_Sound_Override_On(2);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 1, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Game_Flag_Set(614);
Set_Enter(kSetNR09, kSceneNR09);
@@ -179,7 +179,7 @@ void SceneScriptNR08::PlayerWalkedIn() {
}
if (Actor_Query_Goal_Number(kActorDektora) == 245) {
Actor_Face_Heading(kActorDektora, 790, false);
- Loop_Actor_Travel_Stairs(kActorDektora, 8, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorDektora, 8, 1, kAnimationModeIdle);
Actor_Set_Goal_Number(kActorDektora, 246);
}
if (Actor_Query_Goal_Number(kActorSteele) == 231) {
diff --git a/engines/bladerunner/script/scene/nr11.cpp b/engines/bladerunner/script/scene/nr11.cpp
index 16ccfda8d0..4a48ebeca4 100644
--- a/engines/bladerunner/script/scene/nr11.cpp
+++ b/engines/bladerunner/script/scene/nr11.cpp
@@ -146,7 +146,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool a2) {
Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, 0, false, 0);
Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
- Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview4, 1, kActorDektora);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview4, true, kActorDektora);
Actor_Says(kActorDektora, 990, 13);
Actor_Says(kActorDektora, 1000, 14);
Loop_Actor_Walk_To_Actor(kActorDektora, kActorMcCoy, 108, 0, false);
diff --git a/engines/bladerunner/script/scene/ps01.cpp b/engines/bladerunner/script/scene/ps01.cpp
index 69fcdf7395..681f68a1a0 100644
--- a/engines/bladerunner/script/scene/ps01.cpp
+++ b/engines/bladerunner/script/scene/ps01.cpp
@@ -44,7 +44,7 @@ void SceneScriptPS01::InitializeScene() {
}
} else {
Actor_Set_Invisible(kActorMcCoy, true);
- Game_Flag_Set(273);
+ Game_Flag_Set(kFlagArrivedFromSpinner2);
Scene_Loop_Start_Special(0, 0, 0);
Scene_Loop_Set_Default(1);
Player_Loses_Control();
@@ -163,7 +163,7 @@ bool SceneScriptPS01::ClickedOnExit(int exitId) {
default:
Actor_Face_Heading(kActorMcCoy, 870, false);
Game_Flag_Set(kFlagMcCoyAtPSxx);
- Game_Flag_Set(273);
+ Game_Flag_Set(kFlagArrivedFromSpinner2);
Player_Loses_Control();
Scene_Loop_Start_Special(2, 3, 1);
break;
@@ -200,7 +200,7 @@ void SceneScriptPS01::SceneFrameAdvanced(int frame) {
if (frame == 275) {
Sound_Play(117, 40, 0, 0, 50);
}
- if (!Game_Flag_Query(273)) {
+ if (!Game_Flag_Query(kFlagArrivedFromSpinner2)) {
switch (frame) {
case 196:
Actor_Face_Heading(kActorMcCoy, 870, false);
@@ -224,14 +224,14 @@ void SceneScriptPS01::SceneFrameAdvanced(int frame) {
return;
}
if (frame == 119) {
- Game_Flag_Reset(273);
+ Game_Flag_Reset(kFlagArrivedFromSpinner2);
Player_Gains_Control();
//return true;
return;
}
if (frame > 195) {
if (frame == 239) {
- Game_Flag_Reset(273);
+ Game_Flag_Reset(kFlagArrivedFromSpinner2);
Player_Gains_Control();
}
//return true;
diff --git a/engines/bladerunner/script/scene/ps03.cpp b/engines/bladerunner/script/scene/ps03.cpp
index ea6f8d7de8..d8ccf47133 100644
--- a/engines/bladerunner/script/scene/ps03.cpp
+++ b/engines/bladerunner/script/scene/ps03.cpp
@@ -29,9 +29,9 @@ void SceneScriptPS03::InitializeScene() {
Actor_Set_At_XYZ(kActorMcCoy, -674.0f, -354.0f, 550.0f, 900);
Setup_Scene_Information(-674.0f, -354.62f, 550.0f, 900);
Game_Flag_Reset(kFlagPS04toPS03);
- } else if (Game_Flag_Query(135)) {
+ } else if (Game_Flag_Query(kFlagPS14toPS03)) {
Setup_Scene_Information(-875.0f, -354.62f, -1241.0f, 450);
- Game_Flag_Reset(135);
+ Game_Flag_Reset(kFlagPS14toPS03);
} else {
Setup_Scene_Information(-569.54f, -354.62f, -1076.15f, 475);
Game_Flag_Reset(kFlagPS02toPS03);
@@ -88,16 +88,16 @@ bool SceneScriptPS03::ClickedOnExit(int exitId) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Set_Enter(kSetPS02, kScenePS02);
- Game_Flag_Reset(478);
+ Game_Flag_Reset(kFlagMcCoyAtPS03);
if (Global_Variable_Query(kVariableChapter) < 4) {
- Actor_Set_Goal_Number(kActorGuzza, 100);
+ Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaLeaveOffice);
}
}
return true;
}
if (exitId == 2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -875.0f, -354.0f, -1241.0f, 0, 1, false, 0)) {
- Game_Flag_Set(134);
+ Game_Flag_Set(kFlagPS03toPS14);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Set_Enter(kSetPS14, kScenePS14);
@@ -118,8 +118,8 @@ void SceneScriptPS03::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptPS03::PlayerWalkedIn() {
- if (!Game_Flag_Query(478)) {
- Game_Flag_Set(478);
+ if (!Game_Flag_Query(kFlagMcCoyAtPS03)) {
+ Game_Flag_Set(kFlagMcCoyAtPS03);
//return true;
}
//return false;
diff --git a/engines/bladerunner/script/scene/ps04.cpp b/engines/bladerunner/script/scene/ps04.cpp
index 2d372b0ade..605b1d5340 100644
--- a/engines/bladerunner/script/scene/ps04.cpp
+++ b/engines/bladerunner/script/scene/ps04.cpp
@@ -56,10 +56,15 @@ void SceneScriptPS04::SceneLoaded() {
Unobstacle_Object("B.DOOR", true);
Unobstacle_Object("B.CHAIR01", true);
Unclickable_Object("CHAIR07");
- if (Global_Variable_Query(kVariableChapter) == 2 && !Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm) && !Game_Flag_Query(727)) {
- Item_Add_To_World(111, 958, 64, -643.5f, -318.82f, 1148.87f, 525, 16, 12, false, true, false, true);
- Game_Flag_Set(727);
+
+ if ( Global_Variable_Query(kVariableChapter) == 2
+ && !Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)
+ && !Game_Flag_Query(kFlagPS04WeaponsOrderForm)
+ ) {
+ Item_Add_To_World(kItemWeaponsOrderForm, 958, 64, -643.5f, -318.82f, 1148.87f, 525, 16, 12, false, true, false, true);
+ Game_Flag_Set(kFlagPS04WeaponsOrderForm);
}
+
if (Actor_Query_Is_In_Current_Set(kActorGuzza)) {
Actor_Change_Animation_Mode(kActorGuzza, 53);
}
@@ -75,10 +80,10 @@ bool SceneScriptPS04::ClickedOn3DObject(const char *objectName, bool a2) {
bool SceneScriptPS04::ClickedOnActor(int actorId) {
if (actorId == kActorGuzza) {
- if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorGuzza, 36, 1, false)) {
+ if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorGuzza, 36, true, false)) {
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
- sub_4017E4();
+ dialogueWithGuzza();
return true;
}
}
@@ -86,20 +91,22 @@ bool SceneScriptPS04::ClickedOnActor(int actorId) {
}
bool SceneScriptPS04::ClickedOnItem(int itemId, bool a2) {
- if (itemId == 111 && Actor_Query_Is_In_Current_Set(kActorGuzza)) {
+ if (itemId == kItemWeaponsOrderForm
+ && Actor_Query_Is_In_Current_Set(kActorGuzza)
+ ) {
Actor_Says(kActorGuzza, 560, 30);
} else if (!Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)) {
- Item_Remove_From_World(111);
+ Item_Remove_From_World(kItemWeaponsOrderForm);
Item_Pickup_Spin_Effect(958, 464, 362);
- Actor_Says(kActorMcCoy, 4485, 3);
- Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm, 1, kActorMcCoy);
+ Actor_Says(kActorMcCoy, 4485, kAnimationModeTalk);
+ Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm, true, kActorMcCoy);
}
return false;
}
bool SceneScriptPS04::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagPS04toPS03);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -134,27 +141,56 @@ void SceneScriptPS04::PlayerWalkedOut() {
void SceneScriptPS04::DialogueQueueFlushed(int a1) {
}
-void SceneScriptPS04::sub_4017E4() {
+void SceneScriptPS04::dialogueWithGuzza() {
Dialogue_Menu_Clear_List();
if (Global_Variable_Query(kVariableChapter) > 1) {
if (Actor_Clue_Query(kActorMcCoy, kClueAttemptedFileAccess)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(110, 5, 7, 4);
+ DM_Add_To_List_Never_Repeat_Once_Selected(110, 5, 7, 4); // REQUEST TYRELL MEETING
}
- DM_Add_To_List_Never_Repeat_Once_Selected(120, 1, -1, -1);
+ DM_Add_To_List_Never_Repeat_Once_Selected(120, 1, -1, -1); // MONEY
if (Actor_Clue_Query(kActorMcCoy, kClueHoldensBadge)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(150, 7, 6, 5);
+ DM_Add_To_List_Never_Repeat_Once_Selected(150, 7, 6, 5); // HOLDEN'S BADGE
}
}
if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(140, 3, -1, -1);
+ DM_Add_To_List_Never_Repeat_Once_Selected(140, 3, -1, -1); // CONFESS TO SHOOTING
}
- DM_Add_To_List(130, 1, 1, 1);
- Dialogue_Menu_Add_DONE_To_List(160);
+ DM_Add_To_List(130, 1, 1, 1); // REPORT IN
+ Dialogue_Menu_Add_DONE_To_List(160); // DONE
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
switch (answer) {
- case 130:
+ case 110: // REQUEST TYRELL MEETING
+ Actor_Says(kActorMcCoy, 3990, 19);
+ Actor_Says(kActorMcCoy, 3995, 17);
+ Actor_Says(kActorGuzza, 440, 31);
+ Actor_Says(kActorMcCoy, 4035, 13);
+ Actor_Says(kActorGuzza, 450, 34);
+ Actor_Says(kActorGuzza, 460, 33);
+ Actor_Says(kActorMcCoy, 4040, 17);
+ Game_Flag_Set(625);
+ break;
+
+ case 120: // MONEY
+ Actor_Says(kActorMcCoy, 4000, 18);
+ Actor_Clue_Acquire(kActorMcCoy, kClueGuzzasCash, true, kActorGuzza);
+ Actor_Says(kActorGuzza, 520, 33);
+ Actor_Says(kActorMcCoy, 4055, 13);
+ Actor_Says(kActorGuzza, 530, 31);
+ Actor_Says(kActorMcCoy, 4060, 13);
+ Actor_Says(kActorGuzza, 540, 31);
+ Actor_Says(kActorGuzza, 550, 32);
+ Actor_Says(kActorMcCoy, 4065, 18);
+ Actor_Says(kActorGuzza, 560, 34);
+ if (Query_Difficulty_Level() != 0) {
+ Global_Variable_Increment(2, 100);
+ }
+ break;
+
+ case 130: // REPORT IN
if ( Game_Flag_Query(kFlagZubenRetired)
&& !Game_Flag_Query(kFlagGuzzaTalkZubenRetired)
) {
@@ -166,7 +202,7 @@ void SceneScriptPS04::sub_4017E4() {
Actor_Says(kActorMcCoy, 3925, 18);
Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
Actor_Says(kActorGuzza, 170, 33);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.0f, -354.85f, 1042.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.0f, -354.85f, 1042.0f, 0, false, false, 0);
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
Actor_Says(kActorMcCoy, 3930, 13);
Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
@@ -246,32 +282,8 @@ void SceneScriptPS04::sub_4017E4() {
Actor_Says(kActorMcCoy, 3915, 13);
}
break;
- case 110:
- Actor_Says(kActorMcCoy, 3990, 19);
- Actor_Says(kActorMcCoy, 3995, 17);
- Actor_Says(kActorGuzza, 440, 31);
- Actor_Says(kActorMcCoy, 4035, 13);
- Actor_Says(kActorGuzza, 450, 34);
- Actor_Says(kActorGuzza, 460, 33);
- Actor_Says(kActorMcCoy, 4040, 17);
- Game_Flag_Set(625);
- break;
- case 120:
- Actor_Says(kActorMcCoy, 4000, 18);
- Actor_Clue_Acquire(kActorMcCoy, kClueGuzzasCash, 1, kActorGuzza);
- Actor_Says(kActorGuzza, 520, 33);
- Actor_Says(kActorMcCoy, 4055, 13);
- Actor_Says(kActorGuzza, 530, 31);
- Actor_Says(kActorMcCoy, 4060, 13);
- Actor_Says(kActorGuzza, 540, 31);
- Actor_Says(kActorGuzza, 550, 32);
- Actor_Says(kActorMcCoy, 4065, 18);
- Actor_Says(kActorGuzza, 560, 34);
- if (Query_Difficulty_Level() != 0) {
- Global_Variable_Increment(2, 100);
- }
- break;
- case 140:
+
+ case 140: // CONFESS TO SHOOTING
Actor_Says(kActorMcCoy, 4010, 12);
Actor_Says(kActorGuzza, 600, 31);
Actor_Says(kActorMcCoy, 4080, 18);
@@ -284,10 +296,10 @@ void SceneScriptPS04::sub_4017E4() {
Actor_Says(kActorGuzza, 710, 31);
Actor_Says(kActorGuzza, 720, 34);
Actor_Says(kActorMcCoy, 4105, 18);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, false, false, 0);
Actor_Says(kActorGuzza, 730, 32);
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.0f, -354.85f, 1042.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.0f, -354.85f, 1042.0f, 0, false, false, 0);
Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
Actor_Says(kActorGuzza, 740, 31);
Actor_Says(kActorGuzza, 750, 32);
@@ -297,7 +309,8 @@ void SceneScriptPS04::sub_4017E4() {
Actor_Says(kActorGuzza, 770, 32);
Actor_Says(kActorGuzza, 780, 31);
break;
- case 150:
+
+ case 150: // HOLDEN'S BADGE
Actor_Says(kActorMcCoy, 4015, 16);
Actor_Says(kActorGuzza, 630, 34);
Actor_Says(kActorMcCoy, 4085, 19);
@@ -309,9 +322,9 @@ void SceneScriptPS04::sub_4017E4() {
Actor_Says(kActorGuzza, 680, 32);
Actor_Says(kActorGuzza, 690, 31);
break;
- default:
- //TODO: what is this for?
- //answer != 160;
+
+ case 160: // DONE
+ // nothing here
break;
}
}
diff --git a/engines/bladerunner/script/scene/ps06.cpp b/engines/bladerunner/script/scene/ps06.cpp
index 2e9ce53af2..4298f98bf6 100644
--- a/engines/bladerunner/script/scene/ps06.cpp
+++ b/engines/bladerunner/script/scene/ps06.cpp
@@ -71,19 +71,19 @@ bool SceneScriptPS06::ClickedOn3DObject(const char *objectName, bool a2) {
Actor_Voice_Over(3810, kActorVoiceOver);
Actor_Voice_Over(3820, kActorVoiceOver);
Actor_Voice_Over(3830, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueCarRegistration1, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueCarRegistration1, true, -1);
} else if (Game_Flag_Query(kFlagGordoIsReplicant)) {
Actor_Voice_Over(3840, kActorVoiceOver);
Actor_Voice_Over(3850, kActorVoiceOver);
Actor_Voice_Over(3860, kActorVoiceOver);
Actor_Voice_Over(3870, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueCarRegistration2, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueCarRegistration2, true, -1);
} else {
Actor_Voice_Over(3880, kActorVoiceOver);
Actor_Voice_Over(3890, kActorVoiceOver);
Actor_Voice_Over(3900, kActorVoiceOver);
Actor_Voice_Over(3910, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueCarRegistration3, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueCarRegistration3, true, -1);
}
Actor_Clues_Transfer_New_To_Mainframe(kActorMcCoy);
Actor_Clues_Transfer_New_From_Mainframe(kActorMcCoy);
diff --git a/engines/bladerunner/script/scene/ps07.cpp b/engines/bladerunner/script/scene/ps07.cpp
index 5f11993488..4d15adbc54 100644
--- a/engines/bladerunner/script/scene/ps07.cpp
+++ b/engines/bladerunner/script/scene/ps07.cpp
@@ -68,10 +68,18 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
if (actorId == kActorKlein) {
Actor_Face_Actor(kActorMcCoy, kActorKlein, true);
Actor_Set_Goal_Number(kActorKlein, 3);
+
if (!Game_Flag_Query(kFlagKleinTalkClues)) {
Actor_Says(kActorMcCoy, 4115, 13);
}
- if (!Game_Flag_Query(kFlagKleinTalkClues) && (Game_Flag_Query(kFlagMcCoyHasShellCasings) || Game_Flag_Query(kFlagMcCoyHasOfficersStatement) || Game_Flag_Query(kFlagMcCoyHasPaintTransfer) || Game_Flag_Query(kFlagMcCoyHasChromeDebris))) {
+
+ if (!Game_Flag_Query(kFlagKleinTalkClues)
+ && (Game_Flag_Query(kFlagMcCoyHasShellCasings)
+ || Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
+ || Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
+ || Game_Flag_Query(kFlagMcCoyHasChromeDebris)
+ )
+ ) {
Actor_Face_Actor(kActorKlein, kActorMcCoy, true);
Actor_Says(kActorKlein, 30, 12);
Game_Flag_Set(kFlagKleinTalkClues);
@@ -80,9 +88,12 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
Actor_Says(kActorMcCoy, 4130, 18);
}
}
- if (Game_Flag_Query(kFlagMcCoyHasShellCasings) && !Game_Flag_Query(kFlagKleinTalkShellCasings)) {
+
+ if ( Game_Flag_Query(kFlagMcCoyHasShellCasings)
+ && !Game_Flag_Query(kFlagKleinTalkShellCasings)
+ ) {
Game_Flag_Set(kFlagKleinTalkShellCasings);
- Actor_Clue_Acquire(kActorMcCoy, kClueLabShellCasings, 0, kActorKlein);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLabShellCasings, false, kActorKlein);
Actor_Says(kActorKlein, 50, 16);
Actor_Says(kActorMcCoy, 4135, 13);
Actor_Says(kActorKlein, 60, 15);
@@ -93,9 +104,12 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
Actor_Set_Goal_Number(kActorKlein, 1);
return true;
}
- if (Game_Flag_Query(kFlagMcCoyHasOfficersStatement) && !Game_Flag_Query(kFlagKleinTalkOfficersStatement)) {
+
+ if ( Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
+ && !Game_Flag_Query(kFlagKleinTalkOfficersStatement)
+ ) {
Game_Flag_Set(kFlagKleinTalkOfficersStatement);
- Actor_Clue_Acquire(kActorMcCoy, kClueLabCorpses, 0, kActorKlein);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLabCorpses, false, kActorKlein);
Actor_Says(kActorKlein, 100, 13);
Actor_Says(kActorMcCoy, 4145, 13);
Actor_Says(kActorKlein, 110, 12);
@@ -113,9 +127,12 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
Actor_Set_Goal_Number(kActorKlein, 1);
return true;
}
- if (Game_Flag_Query(kFlagMcCoyHasPaintTransfer) && !Game_Flag_Query(kFlagKleinTalkPaintTransfer)) {
+
+ if ( Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
+ && !Game_Flag_Query(kFlagKleinTalkPaintTransfer)
+ ) {
Game_Flag_Set(kFlagKleinTalkPaintTransfer);
- Actor_Clue_Acquire(kActorMcCoy, kClueLabPaintTransfer, 0, kActorKlein);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLabPaintTransfer, false, kActorKlein);
Actor_Says(kActorKlein, 170, 14);
Actor_Says(kActorMcCoy, 4180, 13);
Actor_Says(kActorKlein, 180, 12);
@@ -127,7 +144,10 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
Actor_Set_Goal_Number(kActorKlein, 1);
return true;
}
- if (Game_Flag_Query(kFlagMcCoyHasChromeDebris) && !Game_Flag_Query(kFlagKleinTalkChromeDebris)) {
+
+ if ( Game_Flag_Query(kFlagMcCoyHasChromeDebris)
+ && !Game_Flag_Query(kFlagKleinTalkChromeDebris)
+ ) {
Game_Flag_Set(kFlagKleinTalkChromeDebris);
Actor_Says(kActorKlein, 220, 12);
Actor_Says(kActorMcCoy, 4190, 13);
diff --git a/engines/bladerunner/script/scene/ps09.cpp b/engines/bladerunner/script/scene/ps09.cpp
index d4888b0ad2..456a3038ce 100644
--- a/engines/bladerunner/script/scene/ps09.cpp
+++ b/engines/bladerunner/script/scene/ps09.cpp
@@ -285,9 +285,9 @@ void SceneScriptPS09::dialogueWithGregorian() {
|| Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB1)
|| Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB2)
) {
- DM_Add_To_List_Never_Repeat_Once_Selected(170, 5, 5, 3);
- DM_Add_To_List_Never_Repeat_Once_Selected(180, -1, 5, 5);
- DM_Add_To_List_Never_Repeat_Once_Selected(200, -1, 3, 6);
+ DM_Add_To_List_Never_Repeat_Once_Selected(170, 5, 5, 3); // PROTEST
+ DM_Add_To_List_Never_Repeat_Once_Selected(180, -1, 5, 5); // CARS
+ DM_Add_To_List_Never_Repeat_Once_Selected(200, -1, 3, 6); // VOIGT-KAMPFF
}
if (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote)
&& (Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewA)
@@ -295,14 +295,16 @@ void SceneScriptPS09::dialogueWithGregorian() {
|| Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB2)
)
) {
- DM_Add_To_List_Never_Repeat_Once_Selected(190, 5, 6, -1);
+ DM_Add_To_List_Never_Repeat_Once_Selected(190, 5, 6, -1); // NOTE
}
- Dialogue_Menu_Add_To_List(210);
+ Dialogue_Menu_Add_To_List(210); // DONE
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
switch (answer) {
- case 170:
+ case 170: // PROTEST
Actor_Says(kActorMcCoy, 4270, 13);
Actor_Says(kActorMcCoy, 4250, 18);
Actor_Says(kActorGrigorian, 50, 13);
@@ -334,7 +336,8 @@ void SceneScriptPS09::dialogueWithGregorian() {
return;
}
break;
- case 180:
+
+ case 180: // CARS
Actor_Says(kActorMcCoy, 4270, 18);
Actor_Says(kActorMcCoy, 4255, 3);
Actor_Says(kActorGrigorian, 210, 12);
@@ -378,7 +381,8 @@ void SceneScriptPS09::dialogueWithGregorian() {
Actor_Says(kActorMcCoy, 4375, 18);
}
break;
- case 190:
+
+ case 190: // NOTE
Actor_Says(kActorMcCoy, 4270, 18);
Actor_Says(kActorMcCoy, 4260, 3);
Actor_Says(kActorGrigorian, 360, 16);
@@ -391,7 +395,8 @@ void SceneScriptPS09::dialogueWithGregorian() {
Actor_Says(kActorGrigorian, 390, 12);
Actor_Modify_Friendliness_To_Other(kActorGrigorian, kActorMcCoy, -5);
break;
- case 200:
+
+ case 200: // VOIGT-KAMPFF
Actor_Says(kActorMcCoy, 4265, 14);
Actor_Says(kActorGrigorian, 400, 13);
Actor_Says(kActorMcCoy, 4400, 13);
@@ -401,7 +406,8 @@ void SceneScriptPS09::dialogueWithGregorian() {
Voight_Kampff_Activate(kActorGrigorian, 20);
Actor_Modify_Friendliness_To_Other(kActorGrigorian, kActorMcCoy, -10);
break;
- case 210:
+
+ case 210: // DONE
Actor_Says(kActorMcCoy, 8600, 18);
Actor_Says(kActorGrigorian, 20, 15);
break;
diff --git a/engines/bladerunner/script/scene/ps14.cpp b/engines/bladerunner/script/scene/ps14.cpp
index e8d3f31c0f..2d1bb42816 100644
--- a/engines/bladerunner/script/scene/ps14.cpp
+++ b/engines/bladerunner/script/scene/ps14.cpp
@@ -25,9 +25,9 @@
namespace BladeRunner {
void SceneScriptPS14::InitializeScene() {
- if (Game_Flag_Query(134)) {
+ if (Game_Flag_Query(kFlagPS03toPS14)) {
Setup_Scene_Information(-1119.61f, 508.14f, -1208.22f, 315);
- Game_Flag_Reset(134);
+ Game_Flag_Reset(kFlagPS03toPS14);
} else {
Setup_Scene_Information(-785.45f, 508.14f, -1652.0f, 315);
}
@@ -69,7 +69,7 @@ bool SceneScriptPS14::ClickedOnExit(int exitId) {
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -2101.0f, 508.14f, -1361.0f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 819, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, kAnimationModeIdle);
if (Global_Variable_Query(kVariableChapter) == 4 && Game_Flag_Query(671)) {
if (Actor_Clue_Query(kActorMcCoy, kClueBriefcase)) {
Game_Flag_Set(666);
@@ -80,9 +80,9 @@ bool SceneScriptPS14::ClickedOnExit(int exitId) {
} else if (Global_Variable_Query(kVariableChapter) > 3) {
Actor_Says(kActorMcCoy, 8522, 12);
Actor_Face_Heading(kActorMcCoy, 307, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 3, false, kAnimationModeIdle);
} else {
- Game_Flag_Set(135);
+ Game_Flag_Set(kFlagPS14toPS03);
Set_Enter(kSetPS03, kScenePS03);
}
}
diff --git a/engines/bladerunner/script/scene/ps15.cpp b/engines/bladerunner/script/scene/ps15.cpp
index e04ff08caf..def00bfcbb 100644
--- a/engines/bladerunner/script/scene/ps15.cpp
+++ b/engines/bladerunner/script/scene/ps15.cpp
@@ -43,7 +43,7 @@ void SceneScriptPS15::InitializeScene() {
void SceneScriptPS15::SceneLoaded() {
Obstacle_Object("E.ARCH", true);
if (Global_Variable_Query(kVariableChapter) == 2) {
- Item_Add_To_World(110, 983, 101, -208.0f, -113.43f, 30.28f, 750, 16, 12, false, true, false, true);
+ Item_Add_To_World(kItemWeaponsCrate, 983, 101, -208.0f, -113.43f, 30.28f, 750, 16, 12, false, true, false, true);
}
}
@@ -56,9 +56,13 @@ bool SceneScriptPS15::ClickedOn3DObject(const char *objectName, bool a2) {
}
bool SceneScriptPS15::ClickedOnActor(int actorId) {
- if (actorId == 34) {
- if ((Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm) || Actor_Clue_Query(kActorMcCoy, kCluePoliceIssueWeapons)) && !Actor_Clue_Query(kActorMcCoy, kClueShippingForm)) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -256.0f, -113.43f, 43.51f, 0, 1, false, 0)) {
+ if (actorId == kActorSergeantWalls) {
+ if ((Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)
+ || Actor_Clue_Query(kActorMcCoy, kCluePoliceIssueWeapons)
+ )
+ && !Actor_Clue_Query(kActorMcCoy, kClueShippingForm)
+ ) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -256.0f, -113.43f, 43.51f, 0, true, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorSergeantWalls, true);
Actor_Face_Actor(kActorSergeantWalls, kActorMcCoy, true);
Actor_Says(kActorMcCoy, 4470, 17);
@@ -68,9 +72,9 @@ bool SceneScriptPS15::ClickedOnActor(int actorId) {
Actor_Says(kActorSergeantWalls, 140, 16);
Item_Pickup_Spin_Effect(965, 211, 239);
Actor_Says(kActorSergeantWalls, 150, 14);
- Actor_Clue_Acquire(kActorMcCoy, kClueShippingForm, 1, kActorSergeantWalls);
- if (!Game_Flag_Query(727)) {
- Item_Remove_From_World(111);
+ Actor_Clue_Acquire(kActorMcCoy, kClueShippingForm, true, kActorSergeantWalls);
+ if (!Game_Flag_Query(kFlagPS04WeaponsOrderForm)) {
+ Item_Remove_From_World(kItemWeaponsOrderForm);
}
}
} else {
@@ -84,8 +88,10 @@ bool SceneScriptPS15::ClickedOnActor(int actorId) {
}
bool SceneScriptPS15::ClickedOnItem(int itemId, bool a2) {
- if (itemId == 110) {
- if (Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm) && Actor_Clue_Query(kActorMcCoy, kCluePoliceIssueWeapons)) {
+ if (itemId == kItemWeaponsCrate) {
+ if (Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)
+ && Actor_Clue_Query(kActorMcCoy, kCluePoliceIssueWeapons)
+ ) {
Actor_Says(kActorMcCoy, 8570, 14);
} else {
Actor_Face_Actor(kActorMcCoy, kActorSergeantWalls, true);
@@ -94,8 +100,8 @@ bool SceneScriptPS15::ClickedOnItem(int itemId, bool a2) {
Actor_Says(kActorSergeantWalls, 160, 14);
Actor_Says(kActorMcCoy, 4490, 12);
Actor_Says(kActorSergeantWalls, 170, 13);
- Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm, 1, kActorMcCoy);
- Actor_Clue_Acquire(kActorMcCoy, kCluePoliceIssueWeapons, 1, kActorMcCoy);
+ Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm, true, kActorMcCoy);
+ Actor_Clue_Acquire(kActorMcCoy, kCluePoliceIssueWeapons, true, kActorMcCoy);
}
return true;
}
@@ -104,20 +110,21 @@ bool SceneScriptPS15::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptPS15::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -360.0f, -113.43f, 50.0f, 0, 1, false, 0)) {
- Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -360.0f, -113.43f, 50.0f, 0, true, false, 0)) {
+ Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagPS15toPS05);
Set_Enter(kSetPS05, kScenePS05);
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -183.58f, -113.43f, 91.7f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -183.58f, -113.43f, 91.7f, 0, true, false, 0)) {
Actor_Says(kActorMcCoy, 4440, 18);
Actor_Says(kActorSergeantWalls, 150, 17);
Sound_Play(155, 90, 0, 0, 50);
- Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
+ Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Set_Enter(kSetPS10_PS11_PS12_PS13, kScenePS10);
}
@@ -137,7 +144,7 @@ void SceneScriptPS15::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptPS15::PlayerWalkedIn() {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -326.93f, -113.43f, 101.42f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -326.93f, -113.43f, 101.42f, 0, false, false, 0);
if (!Game_Flag_Query(kFlagPS15Entered)) {
Actor_Face_Actor(kActorMcCoy, kActorSergeantWalls, true);
Actor_Face_Actor(kActorSergeantWalls, kActorMcCoy, true);
diff --git a/engines/bladerunner/script/scene/rc01.cpp b/engines/bladerunner/script/scene/rc01.cpp
index e535fec8dc..a347d3e38e 100644
--- a/engines/bladerunner/script/scene/rc01.cpp
+++ b/engines/bladerunner/script/scene/rc01.cpp
@@ -309,7 +309,7 @@ bool SceneScriptRC01::ClickedOnActor(int actorId) {
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorOfficerLeary, 36, true, false)) {
Actor_Face_Actor(kActorMcCoy, kActorOfficerLeary, true);
Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
- if (Actor_Query_Goal_Number(kActorOfficerLeary) == kGoalOfficerLearyCrowdInterrogation) {
+ if (Actor_Query_Goal_Number(kActorOfficerLeary) == kGoalOfficerLearyRC01WalkToCrowd) {
Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyDefault);
}
if (Game_Flag_Query(kFlagGotOfficersStatement)) {
@@ -583,7 +583,7 @@ void SceneScriptRC01::interrogateCrowd() {
Actor_Says(kActorMcCoy, 4500, 14);
I_Sez("MG: We don't want any of that abstract art oozing out onto the street.");
Actor_Says(kActorOfficerLeary, 10, 14);
- Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyCrowdInterrogation);
+ Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyRC01WalkToCrowd);
}
}
}
diff --git a/engines/bladerunner/script/scene/rc02.cpp b/engines/bladerunner/script/scene/rc02.cpp
index 4227196873..c4bb775dce 100644
--- a/engines/bladerunner/script/scene/rc02.cpp
+++ b/engines/bladerunner/script/scene/rc02.cpp
@@ -123,7 +123,7 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {
Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
Actor_Says(kActorRunciter, 30, 23);
Actor_Says(kActorMcCoy, 4555, 18);
- Actor_Clue_Acquire(kActorMcCoy, kClueRuncitersVideo, 1, kActorRunciter);
+ Actor_Clue_Acquire(kActorMcCoy, kClueRuncitersVideo, true, kActorRunciter);
Unclickable_Object("SCRTY CA03");
AI_Movement_Track_Unpause(kActorRunciter);
return true;
@@ -138,19 +138,21 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {
void SceneScriptRC02::dialogueWithRunciter() {
Dialogue_Menu_Clear_List();
- DM_Add_To_List_Never_Repeat_Once_Selected(0, 5, 6, 2);
- DM_Add_To_List_Never_Repeat_Once_Selected(10, 5, 4, 8);
+ DM_Add_To_List_Never_Repeat_Once_Selected(0, 5, 6, 2); // MOTIVES
+ DM_Add_To_List_Never_Repeat_Once_Selected(10, 5, 4, 8); // LUCY
if (Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewB1)
|| Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewB2)
) {
- DM_Add_To_List_Never_Repeat_Once_Selected(20, 6, 4, 5);
+ DM_Add_To_List_Never_Repeat_Once_Selected(20, 6, 4, 5); // REFERENCE
}
- Dialogue_Menu_Add_DONE_To_List(30);
+ Dialogue_Menu_Add_DONE_To_List(30); // DONE
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
switch (answer) {
- case 0:
+ case 0: // MOTIVES
Actor_Says(kActorMcCoy, 4580, 13);
Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
Actor_Says(kActorRunciter, 110, 18);
@@ -160,17 +162,18 @@ void SceneScriptRC02::dialogueWithRunciter() {
Actor_Says(kActorRunciter, 140, 16);
Game_Flag_Set(kFlagRC02TalkedToRunciter);
break;
- case 10:
+
+ case 10: // LUCY
Actor_Says(kActorMcCoy, 4585, 13);
Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
if (Game_Flag_Query(kFlagLucyIsReplicant)) {
Actor_Says(kActorRunciter, 250, 13);
Actor_Says(kActorRunciter, 270, 13);
- Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewB1, 1, kActorRunciter);
+ Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewB1, true, kActorRunciter);
} else {
Actor_Says(kActorRunciter, 260, 14);
Actor_Says(kActorRunciter, 270, 13);
- Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewB2, 1, kActorRunciter);
+ Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewB2, true, kActorRunciter);
}
Actor_Says(kActorMcCoy, 4645, 13);
Actor_Says(kActorRunciter, 280, 13);
@@ -184,25 +187,27 @@ void SceneScriptRC02::dialogueWithRunciter() {
Scene_Exit_Add_2D_Exit(kRC02ExitRC51, 265, 58, 346, 154, 0);
Game_Flag_Set(kFlagRC02LucyDeskAvailable);
break;
- case 20:
+
+ case 20: // REFERENCE
Actor_Says(kActorMcCoy, 4590, 19);
Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
Actor_Says(kActorRunciter, 360, 13);
- Loop_Actor_Walk_To_Waypoint(kActorRunciter, 89, 0, 0, false);
- Loop_Actor_Walk_To_Waypoint(kActorRunciter, 102, 0, 0, false);
+ Loop_Actor_Walk_To_Waypoint(kActorRunciter, 89, 0, false, false);
+ Loop_Actor_Walk_To_Waypoint(kActorRunciter, 102, 0, false, false);
Actor_Face_Actor(kActorMcCoy, kActorRunciter, true);
Actor_Face_Heading(kActorRunciter, 539, false);
Delay(2000);
- Loop_Actor_Walk_To_Waypoint(kActorRunciter, 89, 0, 0, false);
+ Loop_Actor_Walk_To_Waypoint(kActorRunciter, 89, 0, false, false);
Actor_Face_Actor(kActorMcCoy, kActorRunciter, true);
- Loop_Actor_Walk_To_Actor(kActorRunciter, kActorMcCoy, 24, 0, false);
+ Loop_Actor_Walk_To_Actor(kActorRunciter, kActorMcCoy, 24, false, false);
Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorRunciter, true);
Item_Pickup_Spin_Effect(964, 357, 228);
Actor_Says(kActorRunciter, 1700, 13);
- Actor_Clue_Acquire(kActorMcCoy, kClueReferenceLetter, 1, kActorRunciter);
+ Actor_Clue_Acquire(kActorMcCoy, kClueReferenceLetter, true, kActorRunciter);
break;
- case 30:
+
+ case 30: // DONE
Actor_Says(kActorMcCoy, 4595, 14);
break;
}
@@ -264,7 +269,7 @@ bool SceneScriptRC02::ClickedOnActor(int actorId) {
Actor_Says(kActorMcCoy, 4570, 18);
Actor_Says(kActorRunciter, 70, 13);
Game_Flag_Set(kFlagRunciterInterviewA);
- Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewA, 1, kActorRunciter);
+ Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewA, true, kActorRunciter);
AI_Movement_Track_Unpause(kActorRunciter);
return true;
}
@@ -309,7 +314,7 @@ bool SceneScriptRC02::ClickedOnItem(int itemId, bool a2) {
if (itemId == kItemShellCasingA || itemId == kItemShellCasingB || itemId == kItemShellCasingC) {
if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemShellCasingA, 24, 1, false)) {
Actor_Face_Item(kActorMcCoy, kItemShellCasingA, true);
- Actor_Clue_Acquire(kActorMcCoy, kClueShellCasings, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueShellCasings, true, -1);
Game_Flag_Set(kFlagShellCasingsTaken);
Item_Remove_From_World(kItemShellCasingA);
Item_Remove_From_World(kItemShellCasingB);
@@ -366,8 +371,8 @@ void SceneScriptRC02::PlayerWalkedIn() {
Actor_Voice_Over(1970, kActorVoiceOver);
Actor_Voice_Over(1980, kActorVoiceOver);
Actor_Voice_Over(1990, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueLimpingFootprints, 1, -1);
- Actor_Clue_Acquire(kActorMcCoy, kClueGracefulFootprints, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLimpingFootprints, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueGracefulFootprints, true, -1);
Game_Flag_Set(kFlagRC02Discovered);
}
if (Actor_Query_Which_Set_In(kActorRunciter) == kSetRC02_RC51 && Actor_Query_Goal_Number(kActorRunciter) < 300) {
diff --git a/engines/bladerunner/script/scene/rc03.cpp b/engines/bladerunner/script/scene/rc03.cpp
index 9578378040..969d8daf12 100644
--- a/engines/bladerunner/script/scene/rc03.cpp
+++ b/engines/bladerunner/script/scene/rc03.cpp
@@ -24,8 +24,6 @@
namespace BladeRunner {
-
-
void SceneScriptRC03::InitializeScene() {
if (Game_Flag_Query(kFlagRC01toRC03)) {
Setup_Scene_Information(298.0f, -4.0f, 405.0f, 800);
@@ -78,7 +76,9 @@ void SceneScriptRC03::InitializeScene() {
Ambient_Sounds_Add_Sound(193, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(194, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
- if (Game_Flag_Query(kFlagHC04toRC03) && Actor_Query_Goal_Number(kActorIzo) != 102) {
+ if (Game_Flag_Query(kFlagHC04toRC03)
+ && Actor_Query_Goal_Number(kActorIzo) != 102
+ ) {
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
}
Scene_Loop_Set_Default(1);
@@ -138,9 +138,9 @@ bool SceneScriptRC03::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptRC03::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 298.0f, -4.0f, 405.0f, 0, 1, false, 0)) {
- if (Game_Flag_Query(289)) {
- Game_Flag_Set(702);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 298.0f, -4.0f, 405.0f, 0, true, false, 0)) {
+ if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
+ Game_Flag_Set(kFlagRC04Locked);
}
Game_Flag_Set(kFlagRC03toRC01);
Set_Enter(kSetRC01, kSceneRC01);
@@ -149,9 +149,9 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
return true;
}
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -469.0f, -4.0f, 279.0f, 0, 1, false, 0)) {
- if (Game_Flag_Query(289)) {
- Game_Flag_Set(702);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -469.0f, -4.0f, 279.0f, 0, true, false, 0)) {
+ if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
+ Game_Flag_Set(kFlagRC04Locked);
}
Game_Flag_Set(kFlagRC03toAR02);
Game_Flag_Reset(kFlagMcCoyAtRCxx);
@@ -161,12 +161,12 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
return true;
}
if (exitId == 2) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 147.51f, -4.0f, 166.48f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 147.51f, -4.0f, 166.48f, 0, true, false, 0)) {
Game_Flag_Set(kFlagRC03toUG01);
Game_Flag_Reset(kFlagMcCoyAtRCxx);
Game_Flag_Set(kFlagMcCoyAtUGxx);
- if (Game_Flag_Query(289)) {
- Game_Flag_Set(702);
+ if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
+ Game_Flag_Set(kFlagRC04Locked);
}
Set_Enter(kSetUG01, kSceneUG01);
Actor_Set_Goal_Number(kActorDektora, 100);
@@ -174,12 +174,12 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
return true;
}
if (exitId == 3) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -487.0f, 1.0f, 116.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -487.0f, 1.0f, 116.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagRC03toHC04);
Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Set(479);
- if (Game_Flag_Query(289)) {
- Game_Flag_Set(702);
+ Game_Flag_Set(kFlagMcCoyAtHCxx);
+ if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
+ Game_Flag_Set(kFlagRC04Locked);
}
Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC04);
Actor_Set_Goal_Number(kActorDektora, 100);
@@ -187,8 +187,11 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
return true;
}
if (exitId == 4) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -22.0f, 1.0f, -63.0f, 0, 1, false, 0)) {
- if (Global_Variable_Query(kVariableChapter) == 3 || Global_Variable_Query(kVariableChapter) == 5 || Game_Flag_Query(702)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -22.0f, 1.0f, -63.0f, 0, true, false, 0)) {
+ if (Global_Variable_Query(kVariableChapter) == 3
+ || Global_Variable_Query(kVariableChapter) == 5
+ || Game_Flag_Query(kFlagRC04Locked)
+ ) {
Actor_Says(kActorMcCoy, 8522, 14);
} else {
Game_Flag_Set(kFlagRC03toRC04);
@@ -253,7 +256,7 @@ void SceneScriptRC03::PlayerWalkedIn() {
Actor_Set_Goal_Number(kActorSteele, 100);
}
Actor_Change_Animation_Mode(kActorMcCoy, 20);
- Loop_Actor_Walk_To_XYZ(kActorIzo, 180.0f, -4.0f, 184.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorIzo, 180.0f, -4.0f, 184.0f, 0, false, false, 0);
Actor_Change_Animation_Mode(kActorIzo, 6);
if (!Game_Flag_Query(kFlagIzoIsReplicant)) {
Actor_Set_Goal_Number(kActorSteele, 100);
@@ -297,7 +300,7 @@ void SceneScriptRC03::PlayerWalkedOut() {
if (Actor_Query_Goal_Number(kActorIzo) == 199) {
Actor_Set_Goal_Number(kActorIzo, 198);
}
- Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
+ Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
}
diff --git a/engines/bladerunner/script/scene/rc04.cpp b/engines/bladerunner/script/scene/rc04.cpp
index 1c768c58dd..d865cecc25 100644
--- a/engines/bladerunner/script/scene/rc04.cpp
+++ b/engines/bladerunner/script/scene/rc04.cpp
@@ -28,11 +28,11 @@ void SceneScriptRC04::InitializeScene() {
Setup_Scene_Information(45.0f, 0.15f, 68.0f, 1018);
Game_Flag_Reset(kFlagRC03toRC04);
Scene_Exit_Add_2D_Exit(0, 225, 47, 359, 248, 0);
- if (!Game_Flag_Query(289)) {
+ if (!Game_Flag_Query(kFlagRC04McCoyShotBob)) {
Actor_Put_In_Set(kActorBulletBob, kSetRC04);
Actor_Set_At_XYZ(kActorBulletBob, -60.0f, -11.0f, 62.0f, 12);
}
- if (Game_Flag_Query(289)) {
+ if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
Actor_Change_Animation_Mode(kActorBulletBob, 88);
}
Ambient_Sounds_Add_Looping_Sound(381, 100, 1, 1);
@@ -59,34 +59,44 @@ bool SceneScriptRC04::ClickedOn3DObject(const char *objectName, bool a2) {
return false;
}
-void SceneScriptRC04::sub_401DF4() {
+void SceneScriptRC04::dialogueWithBulletBob() {
Dialogue_Menu_Clear_List();
- if (Actor_Clue_Query(kActorMcCoy, kClueLabShellCasings) && !Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(580, -1, 4, 9);
+ if ( Actor_Clue_Query(kActorMcCoy, kClueLabShellCasings)
+ && !Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles)
+ ) {
+ DM_Add_To_List_Never_Repeat_Once_Selected(580, -1, 4, 9); // WEAPONS
}
- if (Actor_Clue_Query(kActorMcCoy, kClueShellCasings) && !Actor_Clue_Query(kActorMcCoy, kClueLabShellCasings) && !Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(590, 6, 5, 3);
+ if ( Actor_Clue_Query(kActorMcCoy, kClueShellCasings)
+ && !Actor_Clue_Query(kActorMcCoy, kClueLabShellCasings)
+ && !Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles)
+ ) {
+ DM_Add_To_List_Never_Repeat_Once_Selected(590, 6, 5, 3); // SHELL CASINGS
}
if (Actor_Clue_Query(kActorMcCoy, kClueHasanInterview)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(600, -1, 3, 7);
- DM_Add_To_List_Never_Repeat_Once_Selected(1310, -1, 2, 8);
+ DM_Add_To_List_Never_Repeat_Once_Selected(600, -1, 3, 7); // HASAN
+ DM_Add_To_List_Never_Repeat_Once_Selected(1310, -1, 2, 8); // VOIGT-KAMPFF
}
- if (Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles) && !Actor_Clue_Query(kActorMcCoy, kClueGogglesReplicantIssue)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(610, 4, 5, 6);
+ if ( Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles)
+ && !Actor_Clue_Query(kActorMcCoy, kClueGogglesReplicantIssue)
+ ) {
+ DM_Add_To_List_Never_Repeat_Once_Selected(610, 4, 5, 6); // GOGGLES
}
- if (!Game_Flag_Query(305)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(1280, 1, 2, 3);
+ if (!Game_Flag_Query(kFlagRC04BobTalkAmmo)) {
+ DM_Add_To_List_Never_Repeat_Once_Selected(1280, 1, 2, 3); // AMMO
}
- if (Actor_Clue_Query(kActorMcCoy, kClueHoldensBadge) && !Actor_Clue_Query(kActorBulletBob, kClueHoldensBadge)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(620, 1, -1, -1);
+ if ( Actor_Clue_Query(kActorMcCoy, kClueHoldensBadge)
+ && !Actor_Clue_Query(kActorBulletBob, kClueHoldensBadge)
+ ) {
+ DM_Add_To_List_Never_Repeat_Once_Selected(620, 1, -1, -1); // HOLDEN'S BADGE
}
- Dialogue_Menu_Add_DONE_To_List(630);
+ Dialogue_Menu_Add_DONE_To_List(630); // DONE
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
switch (answer) {
- case 580:
+ case 580: // WEAPONS
Actor_Says(kActorMcCoy, 4955, 30);
Actor_Says(kActorBulletBob, 210, 37);
Actor_Says(kActorBulletBob, 220, 37);
@@ -113,7 +123,7 @@ void SceneScriptRC04::sub_401DF4() {
Actor_Says(kActorBulletBob, 380, 37);
Actor_Says(kActorBulletBob, 390, 11);
Actor_Says(kActorBulletBob, 400, 37);
- Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, 1, kActorMcCoy);
+ Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorMcCoy);
} else {
Actor_Says(kActorBulletBob, 410, 11);
Actor_Says(kActorBulletBob, 420, 37);
@@ -123,10 +133,11 @@ void SceneScriptRC04::sub_401DF4() {
Actor_Says(kActorBulletBob, 450, 32);
Actor_Says(kActorMcCoy, 5030, 16);
Actor_Says(kActorBulletBob, 460, 37);
- Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, 1, kActorMcCoy);
+ Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, true, kActorMcCoy);
}
return;
- case 590:
+
+ case 590: // SHELL CASINGS
Actor_Says(kActorMcCoy, 4960, 13);
Actor_Says(kActorBulletBob, 250, 30);
Actor_Says(kActorBulletBob, 260, 33);
@@ -151,7 +162,7 @@ void SceneScriptRC04::sub_401DF4() {
Actor_Says(kActorBulletBob, 380, 33);
Actor_Says(kActorBulletBob, 390, 37);
Actor_Says(kActorBulletBob, 400, 32);
- Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, 1, kActorMcCoy);
+ Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorMcCoy);
} else {
Actor_Says(kActorBulletBob, 410, 32);
Actor_Says(kActorBulletBob, 420, 30);
@@ -161,10 +172,11 @@ void SceneScriptRC04::sub_401DF4() {
Actor_Says(kActorBulletBob, 450, 37);
Actor_Says(kActorMcCoy, 5030, 16);
Actor_Says(kActorBulletBob, 460, 30);
- Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, 1, kActorMcCoy);
+ Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, true, kActorMcCoy);
}
break;
- case 600:
+
+ case 600: // HASAN
Actor_Says(kActorMcCoy, 4965, 11);
Actor_Says(kActorBulletBob, 470, 11);
Actor_Says(kActorMcCoy, 5035, 15);
@@ -179,7 +191,8 @@ void SceneScriptRC04::sub_401DF4() {
Actor_Says(kActorBulletBob, 550, 11);
Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, -6);
break;
- case 610:
+
+ case 610: // GOGGLES
Actor_Says(kActorMcCoy, 4970, 16);
if (Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) < 50) {
Actor_Says(kActorBulletBob, 700, 11);
@@ -189,7 +202,7 @@ void SceneScriptRC04::sub_401DF4() {
Actor_Says(kActorBulletBob, 720, 30);
Actor_Says(kActorMcCoy, 5080, 11);
Actor_Says(kActorBulletBob, 730, 37);
- Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, 1, kActorMcCoy);
+ Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorMcCoy);
} else {
Actor_Says(kActorBulletBob, 560, 37);
Actor_Says(kActorMcCoy, 5070, 13);
@@ -206,24 +219,48 @@ void SceneScriptRC04::sub_401DF4() {
Actor_Says(kActorBulletBob, 650, 35);
Actor_Says(kActorBulletBob, 660, 30);
Actor_Says(kActorMcCoy, 5060, 13);
- Actor_Clue_Acquire(kActorMcCoy, kClueGogglesReplicantIssue, 1, kActorMcCoy);
+ Actor_Clue_Acquire(kActorMcCoy, kClueGogglesReplicantIssue, true, kActorMcCoy);
+ }
+ break;
+
+ case 620: // HOLDEN'S BADGE
+ Actor_Says(kActorMcCoy, 4985, 11);
+ Actor_Says(kActorBulletBob, 850, 35);
+ Actor_Says(kActorMcCoy, 5105, 13);
+ Actor_Says(kActorMcCoy, 5110, 11);
+ Actor_Says(kActorBulletBob, 860, 30);
+ Actor_Says(kActorMcCoy, 5115, 16);
+ Actor_Says(kActorBulletBob, 870, 31);
+ Actor_Says(kActorMcCoy, 5120, 15);
+ Actor_Says(kActorBulletBob, 880, 34);
+ Actor_Clue_Acquire(kActorBulletBob, kClueHoldensBadge, true, kActorMcCoy);
+ Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, 8);
+ if (Query_Difficulty_Level() != 0) {
+ Global_Variable_Increment(kVariableChinyen, 60);
}
break;
- case 1280:
+
+ case 630: // DONE
+ Actor_Says(kActorMcCoy, 1315, 12);
+ break;
+
+ case 1280: // AMMO
Actor_Says(kActorMcCoy, 9040, 16);
- if (!Game_Flag_Query(305)) {
+ if (!Game_Flag_Query(kFlagRC04BobTalkAmmo)) {
Actor_Says(kActorBulletBob, 2080, 30);
Actor_Says(kActorBulletBob, 2090, 37);
Actor_Says(kActorMcCoy, 9045, 14);
Actor_Says(kActorBulletBob, 2100, 32);
Actor_Says(kActorBulletBob, 2110, 37);
- Game_Flag_Set(305);
+ Game_Flag_Set(kFlagRC04BobTalkAmmo);
}
Actor_Says(kActorBulletBob, 2120, 31);
- if (Global_Variable_Query(2) > 40 || Query_Difficulty_Level() == 0) {
+ if (Global_Variable_Query(kVariableChinyen) > 40
+ || Query_Difficulty_Level() == 0
+ ) {
Actor_Says(kActorMcCoy, 4940, 13);
if (Query_Difficulty_Level() != 0) {
- Global_Variable_Decrement(2, 40);
+ Global_Variable_Decrement(kVariableChinyen, 40);
}
Item_Pickup_Spin_Effect(995, 405, 192);
Give_McCoy_Ammo(1, 24);
@@ -232,7 +269,8 @@ void SceneScriptRC04::sub_401DF4() {
Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, -2);
}
break;
- case 1310:
+
+ case 1310: // VOIGT-KAMPFF
Actor_Says(kActorMcCoy, 4980, 11);
if (Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) > 49) {
Actor_Says(kActorBulletBob, 740, 37);
@@ -262,25 +300,6 @@ void SceneScriptRC04::sub_401DF4() {
Actor_Says(kActorBulletBob, 840, 34);
}
break;
- case 620:
- Actor_Says(kActorMcCoy, 4985, 11);
- Actor_Says(kActorBulletBob, 850, 35);
- Actor_Says(kActorMcCoy, 5105, 13);
- Actor_Says(kActorMcCoy, 5110, 11);
- Actor_Says(kActorBulletBob, 860, 30);
- Actor_Says(kActorMcCoy, 5115, 16);
- Actor_Says(kActorBulletBob, 870, 31);
- Actor_Says(kActorMcCoy, 5120, 15);
- Actor_Says(kActorBulletBob, 880, 34);
- Actor_Clue_Acquire(kActorBulletBob, kClueHoldensBadge, 1, kActorMcCoy);
- Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, 8);
- if (Query_Difficulty_Level() != 0) {
- Global_Variable_Increment(2, 60);
- }
- break;
- case 630:
- Actor_Says(kActorMcCoy, 1315, 12);
- break;
}
}
@@ -288,78 +307,100 @@ bool SceneScriptRC04::ClickedOnActor(int actorId) {
if (Player_Query_Combat_Mode()) {
return false;
}
- if (actorId == 14 && Global_Variable_Query(kVariableChapter) == 2 && !Game_Flag_Query(289)) {
- Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 104, 0, 0, false);
- Actor_Face_Actor(kActorMcCoy, kActorBulletBob, true);
- if (Game_Flag_Query(287) && !Game_Flag_Query(292) && Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) > 45) {
- Actor_Says(kActorBulletBob, 30, 30);
- Actor_Says(kActorMcCoy, 4875, 13);
- Actor_Says(kActorBulletBob, 80, 31);
- Actor_Says(kActorMcCoy, 4900, 15);
- Actor_Says(kActorBulletBob, 90, 33);
- Actor_Says(kActorBulletBob, 100, 34);
- Actor_Says(kActorMcCoy, 4905, 15);
- Game_Flag_Set(292);
- } else if (Game_Flag_Query(287) && !Game_Flag_Query(290) && Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) < 45) {
- Actor_Says(kActorBulletBob, 40, 30);
- Actor_Says(kActorMcCoy, 4880, 13);
- Actor_Says(kActorBulletBob, 50, 35);
- Actor_Says(kActorMcCoy, 4875, 16);
- Actor_Says(kActorBulletBob, 60, 36);
- Actor_Says(kActorMcCoy, 4890, 13);
- Actor_Says(kActorBulletBob, 70, 33);
- Actor_Says(kActorMcCoy, 4895, 16);
- Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, -5);
- Game_Flag_Set(290);
- } else if (Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) > 51 && !Game_Flag_Query(717)) {
- Actor_Says(kActorBulletBob, 1870, 30);
- Actor_Says(kActorBulletBob, 1880, 30);
- Actor_Says(kActorMcCoy, 8960, 13);
- Actor_Says(kActorBulletBob, 1890, 36);
- Actor_Says(kActorBulletBob, 1900, 35);
- Actor_Says(kActorMcCoy, 8965, 16);
- Actor_Says(kActorBulletBob, 1920, 36);
- Actor_Says(kActorBulletBob, 1930, 33);
- Actor_Says(kActorBulletBob, 1940, 36);
- Actor_Says(kActorBulletBob, 1950, 30);
- Actor_Says(kActorMcCoy, 8970, 13);
- Actor_Says(kActorBulletBob, 1960, 33);
- Actor_Says(kActorBulletBob, 1970, 30);
- Actor_Says(kActorBulletBob, 1980, 36);
- Delay(1000);
- Actor_Says(kActorBulletBob, 2010, 35);
- if (Global_Variable_Query(2) > 50 || Query_Difficulty_Level() == 0) {
- Actor_Says(kActorMcCoy, 8975, 16);
- if (Query_Difficulty_Level() != 0) {
- Global_Variable_Decrement(2, 50);
+
+ if (actorId == kActorBulletBob) {
+ if ( Global_Variable_Query(kVariableChapter) == 2
+ && !Game_Flag_Query(kFlagRC04McCoyShotBob)
+ ) {
+ Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 104, 0, false, false);
+ Actor_Face_Actor(kActorMcCoy, kActorBulletBob, true);
+ if ( Game_Flag_Query(kFlagRC04Entered)
+ && !Game_Flag_Query(kFlagRC04BobTalk2)
+ && Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) > 45
+ ) {
+ Actor_Says(kActorBulletBob, 30, 30);
+ Actor_Says(kActorMcCoy, 4875, 13);
+ Actor_Says(kActorBulletBob, 80, 31);
+ Actor_Says(kActorMcCoy, 4900, 15);
+ Actor_Says(kActorBulletBob, 90, 33);
+ Actor_Says(kActorBulletBob, 100, 34);
+ Actor_Says(kActorMcCoy, 4905, 15);
+ Game_Flag_Set(kFlagRC04BobTalk2);
+ } else if ( Game_Flag_Query(kFlagRC04Entered)
+ && !Game_Flag_Query(kFlagRC04BobTalk1)
+ && Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) < 45
+ ) {
+ Actor_Says(kActorBulletBob, 40, 30);
+ Actor_Says(kActorMcCoy, 4880, 13);
+ Actor_Says(kActorBulletBob, 50, 35);
+ Actor_Says(kActorMcCoy, 4875, 16);
+ Actor_Says(kActorBulletBob, 60, 36);
+ Actor_Says(kActorMcCoy, 4890, 13);
+ Actor_Says(kActorBulletBob, 70, 33);
+ Actor_Says(kActorMcCoy, 4895, 16);
+ Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, -5);
+ Game_Flag_Set(kFlagRC04BobTalk1);
+ } else if ( Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) > 51
+ && !Game_Flag_Query(kFlagRC04BobTalk3)
+ ) {
+ Actor_Says(kActorBulletBob, 1870, 30);
+ Actor_Says(kActorBulletBob, 1880, 30);
+ Actor_Says(kActorMcCoy, 8960, 13);
+ Actor_Says(kActorBulletBob, 1890, 36);
+ Actor_Says(kActorBulletBob, 1900, 35);
+ Actor_Says(kActorMcCoy, 8965, 16);
+ Actor_Says(kActorBulletBob, 1920, 36);
+ Actor_Says(kActorBulletBob, 1930, 33);
+ Actor_Says(kActorBulletBob, 1940, 36);
+ Actor_Says(kActorBulletBob, 1950, 30);
+ Actor_Says(kActorMcCoy, 8970, 13);
+ Actor_Says(kActorBulletBob, 1960, 33);
+ Actor_Says(kActorBulletBob, 1970, 30);
+ Actor_Says(kActorBulletBob, 1980, 36);
+ Delay(1000);
+ Actor_Says(kActorBulletBob, 2010, 35);
+ if (Global_Variable_Query(kVariableChinyen) > 50
+ || Query_Difficulty_Level() == 0
+ ) {
+ Actor_Says(kActorMcCoy, 8975, 16);
+ if (Query_Difficulty_Level() != 0) {
+ Global_Variable_Decrement(kVariableChinyen, 50);
+ }
+ Delay(3000);
+ Item_Pickup_Spin_Effect(941, 405, 192);
+ Actor_Says(kActorBulletBob, 2030, 30);
+ Game_Flag_Set(kFlagKIAPrivacyAddon);
+ } else {
+ Actor_Says(kActorMcCoy, 8980, 16);
+ Actor_Says(kActorBulletBob, 2040, 30);
+ Actor_Says(kActorMcCoy, 8985, 15);
+ Actor_Says(kActorBulletBob, 2050, 33);
}
- Delay(3000);
- Item_Pickup_Spin_Effect(941, 405, 192);
- Actor_Says(kActorBulletBob, 2030, 30);
- Game_Flag_Set(kFlagKIAPrivacyAddon);
+ Game_Flag_Set(kFlagRC04BobTalk3);
+ } else if ( Actor_Clue_Query(kActorMcCoy, kClueLabShellCasings)
+ || Actor_Clue_Query(kActorMcCoy, kClueShellCasings)
+ || Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles)
+ || Actor_Clue_Query(kActorMcCoy, kClueHoldensBadge)
+ || Actor_Clue_Query(kActorMcCoy, kClueHasanInterview)
+ || !Game_Flag_Query(kFlagRC04BobTalkAmmo)
+ ) {
+ dialogueWithBulletBob();
} else {
- Actor_Says(kActorMcCoy, 8980, 16);
- Actor_Says(kActorBulletBob, 2040, 30);
- Actor_Says(kActorMcCoy, 8985, 15);
- Actor_Says(kActorBulletBob, 2050, 33);
+ Actor_Says(kActorBulletBob, 1820, 30);
}
- Game_Flag_Set(717);
- } else if (Actor_Clue_Query(kActorMcCoy, kClueLabShellCasings) || Actor_Clue_Query(kActorMcCoy, kClueShellCasings) || Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles) || Actor_Clue_Query(kActorMcCoy, kClueHoldensBadge) || Actor_Clue_Query(kActorMcCoy, kClueHasanInterview) || !Game_Flag_Query(305)) {
- sub_401DF4();
- } else {
- Actor_Says(kActorBulletBob, 1820, 30);
+ return true;
}
- return true;
- }
- if (actorId == 14 && Game_Flag_Query(289)) {
- Actor_Face_Actor(kActorMcCoy, kActorBulletBob, true);
- if (Actor_Clue_Query(kActorMcCoy, kClueVKBobGorskyReplicant)) {
- Actor_Says(kActorMcCoy, 8590, -1);
- } else {
- Actor_Voice_Over(2100, kActorVoiceOver);
- Actor_Voice_Over(2110, kActorVoiceOver);
+
+ if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
+ Actor_Face_Actor(kActorMcCoy, kActorBulletBob, true);
+ if (Actor_Clue_Query(kActorMcCoy, kClueVKBobGorskyReplicant)) {
+ Actor_Says(kActorMcCoy, 8590, -1);
+ } else {
+ Actor_Voice_Over(2100, kActorVoiceOver);
+ Actor_Voice_Over(2110, kActorVoiceOver);
+ }
+ return true;
}
- return true;
}
return false;
}
@@ -390,28 +431,39 @@ void SceneScriptRC04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptRC04::PlayerWalkedIn() {
- Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 103, 0, 0, false);
- if (Global_Variable_Query(kVariableChapter) != 2 || Game_Flag_Query(287) || Player_Query_Combat_Mode()) {
- if (Global_Variable_Query(kVariableChapter) == 4 && !Game_Flag_Query(289) && !Game_Flag_Query(306)) {
- Actor_Says(kActorDispatcher, 40, 3);
- Actor_Says(kActorBulletBob, 890, 37);
- Actor_Set_Goal_Number(kActorBulletBob, 2);
- }
- Game_Flag_Set(287);
- } else {
+ Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 103, 0, false, false);
+
+ if ( Global_Variable_Query(kVariableChapter) == 2
+ && !Game_Flag_Query(kFlagRC04Entered)
+ && !Player_Query_Combat_Mode()
+ ) {
Actor_Says(kActorBulletBob, 0, 31);
- Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 104, 0, 0, false);
+ Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 104, 0, false, false);
Actor_Face_Actor(kActorMcCoy, kActorBulletBob, true);
Actor_Says(kActorMcCoy, 4865, 13);
Actor_Says(kActorBulletBob, 10, 32);
Actor_Says(kActorMcCoy, 4870, 16);
Actor_Says(kActorBulletBob, 20, 31);
- Game_Flag_Set(287);
+ Game_Flag_Set(kFlagRC04Entered);
+ return; //true;
+ }
+
+ if ( Global_Variable_Query(kVariableChapter) == 4
+ && !Game_Flag_Query(kFlagRC04McCoyShotBob)
+ && !Game_Flag_Query(kFlagNotUsed306)
+ ) {
+ Actor_Says(kActorDispatcher, 40, 3);
+ Actor_Says(kActorBulletBob, 890, 37);
+ Actor_Set_Goal_Number(kActorBulletBob, 2);
}
+
+ Game_Flag_Set(kFlagRC04Entered);
+
+ //return false;
}
void SceneScriptRC04::PlayerWalkedOut() {
- Game_Flag_Reset(303);
+ Game_Flag_Reset(kFlagRC04McCoyWarned);
}
void SceneScriptRC04::DialogueQueueFlushed(int a1) {
diff --git a/engines/bladerunner/script/scene/rc51.cpp b/engines/bladerunner/script/scene/rc51.cpp
index 8019ea0462..47b243d12b 100644
--- a/engines/bladerunner/script/scene/rc51.cpp
+++ b/engines/bladerunner/script/scene/rc51.cpp
@@ -53,7 +53,7 @@ void SceneScriptRC51::SceneLoaded() {
if (!Game_Flag_Query(kFlagCandyTaken)) {
Item_Add_To_World(kItemCandy, 933, kSetRC02_RC51, 67.28f, -1193.38f, 108011.27f, 0, 6, 6, false, true, false, true);
}
- if (!Game_Flag_Query(kFlagDogTaken)) {
+ if (!Game_Flag_Query(kFlagToyDogTaken)) {
Item_Add_To_World(kItemToyDog, 971, kSetRC02_RC51, -69.65f, -1238.89f, 107995.24f, 256, 18, 18, false, true, false, true);
}
}
@@ -76,42 +76,52 @@ bool SceneScriptRC51::ClickedOnActor(int actorId) {
}
bool SceneScriptRC51::ClickedOnItem(int itemId, bool a2) {
- if (itemId == kItemChopstickWrapper && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 17.97f, -1238.89f, 108053.5f, 0, false, false, 0)) {
- Actor_Face_Item(kActorMcCoy, kItemChopstickWrapper, true);
- Actor_Clue_Acquire(kActorMcCoy, kClueChopstickWrapper, 1, -1);
- Item_Remove_From_World(kItemChopstickWrapper);
- Item_Pickup_Spin_Effect(937, 437, 407);
- Actor_Voice_Over(2010, kActorVoiceOver);
- Game_Flag_Set(kFlagChopstickWrapperTaken);
- return true;
+ if (itemId == kItemChopstickWrapper) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 17.97f, -1238.89f, 108053.5f, 0, false, false, 0)) {
+ Actor_Face_Item(kActorMcCoy, kItemChopstickWrapper, true);
+ Actor_Clue_Acquire(kActorMcCoy, kClueChopstickWrapper, true, -1);
+ Item_Remove_From_World(kItemChopstickWrapper);
+ Item_Pickup_Spin_Effect(937, 437, 407);
+ Actor_Voice_Over(2010, kActorVoiceOver);
+ Game_Flag_Set(kFlagChopstickWrapperTaken);
+ return true;
+ }
}
- if (itemId == kItemCandy && !Loop_Actor_Walk_To_Item(kActorMcCoy, kItemCandy, 36, true, false)) {
- Actor_Face_Item(kActorMcCoy, kItemCandy, true);
- Actor_Clue_Acquire(kActorMcCoy, kClueCandy, 1, -1);
- Item_Remove_From_World(kItemCandy);
- Item_Pickup_Spin_Effect(933, 445, 230);
- Actor_Says(kActorMcCoy, 8735, 3);
- Actor_Says(kActorMcCoy, 8529, 3);
- Game_Flag_Set(kFlagCandyTaken);
- return true;
+
+ if (itemId == kItemCandy) {
+ if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemCandy, 36, true, false)) {
+ Actor_Face_Item(kActorMcCoy, kItemCandy, true);
+ Actor_Clue_Acquire(kActorMcCoy, kClueCandy, true, -1);
+ Item_Remove_From_World(kItemCandy);
+ Item_Pickup_Spin_Effect(933, 445, 230);
+ Actor_Says(kActorMcCoy, 8735, 3);
+ Actor_Says(kActorMcCoy, 8529, 3);
+ Game_Flag_Set(kFlagCandyTaken);
+ return true;
+ }
}
- if (itemId == kItemToyDog && !Loop_Actor_Walk_To_Item(kActorMcCoy, kItemToyDog, 36, true, false)) {
- Actor_Face_Item(kActorMcCoy, kItemToyDog, true);
- Actor_Clue_Acquire(kActorMcCoy, kClueToyDog, 1, -1);
- Item_Remove_From_World(kItemToyDog);
- Item_Pickup_Spin_Effect(971, 55, 376);
- Actor_Says(kActorMcCoy, 8525, 3);
- Actor_Says(kActorMcCoy, 8740, 3);
- Game_Flag_Set(kFlagDogTaken);
- return true;
+
+ if (itemId == kItemToyDog) {
+ if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemToyDog, 36, true, false)) {
+ Actor_Face_Item(kActorMcCoy, kItemToyDog, true);
+ Actor_Clue_Acquire(kActorMcCoy, kClueToyDog, true, -1);
+ Item_Remove_From_World(kItemToyDog);
+ Item_Pickup_Spin_Effect(971, 55, 376);
+ Actor_Says(kActorMcCoy, 8525, 3);
+ Actor_Says(kActorMcCoy, 8740, 3);
+ Game_Flag_Set(kFlagToyDogTaken);
+ return true;
+ }
}
return false;
}
bool SceneScriptRC51::ClickedOnExit(int exitId) {
- if (exitId == kRC51ExitRC02 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, -8.87f, -1238.89f, 108173.27f, 0, true, false, 0)) {
- Set_Enter(kSetRC02_RC51, kSceneRC02);
- return true;
+ if (exitId == kRC51ExitRC02) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -8.87f, -1238.89f, 108173.27f, 0, true, false, 0)) {
+ Set_Enter(kSetRC02_RC51, kSceneRC02);
+ return true;
+ }
}
return false;
}
diff --git a/engines/bladerunner/script/scene/tb02.cpp b/engines/bladerunner/script/scene/tb02.cpp
index 04142e8706..2bb548c51d 100644
--- a/engines/bladerunner/script/scene/tb02.cpp
+++ b/engines/bladerunner/script/scene/tb02.cpp
@@ -32,7 +32,7 @@ void SceneScriptTB02::InitializeScene() {
} else if (Game_Flag_Query(kFlagTB07toTB02)) {
Setup_Scene_Information(-32.0f, 0.0f, 1578.0f, 639);
} else {
- Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
+ Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Outtake_Play(kOuttakeTyrellBuildingFly, false, -1);
Setup_Scene_Information(-304.0f, -81.46f, 1434.0f, 250);
@@ -63,7 +63,9 @@ void SceneScriptTB02::InitializeScene() {
Ambient_Sounds_Add_Sound(194, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
}
- if (Game_Flag_Query(kFlagSpinnerAtTB02) && Global_Variable_Query(kVariableChapter) < 4) {
+ if (Game_Flag_Query(kFlagSpinnerAtTB02)
+ && Global_Variable_Query(kVariableChapter) < 4
+ ) {
Scene_Exit_Add_2D_Exit(2, 67, 0, 233, 362, 3);
}
if (Game_Flag_Query(kFlagTB03toTB02)) {
@@ -96,12 +98,14 @@ bool SceneScriptTB02::ClickedOn3DObject(const char *objectName, bool a2) {
}
bool SceneScriptTB02::ClickedOnActor(int actorId) {
- if (actorId == 17) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.35f, 0.15f, 1564.2f, 0, 1, false, 0)) {
+ if (actorId == kActorTyrellGuard) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.35f, 0.15f, 1564.2f, 0, true, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorTyrellGuard, true);
- int v1 = Global_Variable_Query(kVariableChapter);
- if (v1 == 2) {
- if (Game_Flag_Query(450) && !Game_Flag_Query(451)) {
+ int chapter = Global_Variable_Query(kVariableChapter);
+ if (chapter == 2) {
+ if ( Game_Flag_Query(kFlagTB02ElevatorToTB05)
+ && !Game_Flag_Query(kFlagTB05Entered)
+ ) {
Actor_Says(kActorMcCoy, 5150, 18);
Actor_Says(kActorTyrellGuard, 60, 12);
Actor_Says(kActorTyrellGuard, 70, 13);
@@ -109,15 +113,19 @@ bool SceneScriptTB02::ClickedOnActor(int actorId) {
Actor_Modify_Friendliness_To_Other(kActorTyrellGuard, kActorMcCoy, -1);
return true;
}
- if (!Game_Flag_Query(450) && !Game_Flag_Query(451)) {
- Game_Flag_Set(450);
+
+ if (!Game_Flag_Query(kFlagTB02ElevatorToTB05)
+ && !Game_Flag_Query(kFlagTB05Entered)
+ ) {
+ Game_Flag_Set(kFlagTB02ElevatorToTB05);
Actor_Says(kActorMcCoy, 5160, 18);
Actor_Says(kActorTyrellGuard, 80, 14);
Scene_Exit_Add_2D_Exit(1, 430, 235, 487, 396, 0);
return true;
}
- if (Game_Flag_Query(451)) {
- sub_402644();
+
+ if (Game_Flag_Query(kFlagTB05Entered)) {
+ dialogueWithTyrellGuard();
} else {
Actor_Face_Actor(kActorTyrellGuard, kActorMcCoy, true);
Actor_Says(kActorMcCoy, 5150, 18);
@@ -129,7 +137,8 @@ bool SceneScriptTB02::ClickedOnActor(int actorId) {
}
return true;
}
- if (v1 == 3) {
+
+ if (chapter == 3) {
Actor_Says(kActorMcCoy, 5235, 18);
Actor_Says(kActorTyrellGuard, 280, 13);
Actor_Says(kActorTyrellGuard, 290, 12);
@@ -137,7 +146,8 @@ bool SceneScriptTB02::ClickedOnActor(int actorId) {
Actor_Says(kActorTyrellGuard, 300, 12);
return false;
}
- if (v1 == 4) {
+
+ if (chapter == 4) {
if (Actor_Query_Goal_Number(kActorTyrellGuard) == 300) {
Actor_Set_Goal_Number(kActorTyrellGuard, 301);
}
@@ -157,7 +167,7 @@ bool SceneScriptTB02::ClickedOnExit(int exitId) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagTB02toTB03);
- Game_Flag_Reset(450);
+ Game_Flag_Reset(kFlagTB02ElevatorToTB05);
Set_Enter(kSetTB02_TB03, kSceneTB03);
Async_Actor_Walk_To_XYZ(kActorMcCoy, -152.0f, 0.0f, 1890.0f, 0, false);
}
@@ -168,7 +178,7 @@ bool SceneScriptTB02::ClickedOnExit(int exitId) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
if (Global_Variable_Query(kVariableChapter) < 4) {
- Game_Flag_Set(451);
+ Game_Flag_Set(kFlagTB05Entered);
Game_Flag_Set(kFlagTB02toTB05);
Set_Enter(kSetTB05, kSceneTB05);
} else {
@@ -180,7 +190,7 @@ bool SceneScriptTB02::ClickedOnExit(int exitId) {
if (exitId == 2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -192.0f, 0.0f, 1430.0f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 800, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 9, false, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 9, false, kAnimationModeIdle);
if (Actor_Query_Goal_Number(kActorTyrellGuard) == 300) {
Actor_Set_Goal_Number(kActorTyrellGuard, 301);
} else {
@@ -191,7 +201,7 @@ bool SceneScriptTB02::ClickedOnExit(int exitId) {
Game_Flag_Reset(kFlagMcCoyAtBBxx);
Game_Flag_Reset(kFlagMcCoyAtHFxx);
Game_Flag_Reset(kFlagMcCoyAtTBxx);
- Game_Flag_Reset(450);
+ Game_Flag_Reset(kFlagTB02ElevatorToTB05);
switch (Spinner_Interface_Choose_Dest(-1, false)) {
case kSpinnerDestinationPoliceStation:
Game_Flag_Set(kFlagMcCoyAtPSxx);
@@ -290,8 +300,8 @@ void SceneScriptTB02::PlayerWalkedIn() {
}
Music_Play(1, 50, 0, 2, -1, 0, 0);
} else {
- Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 1, 0);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 0.79f, 1470.0f, 0, 0, false, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 9, true, kAnimationModeIdle);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 0.79f, 1470.0f, 0, false, false, 0);
}
int chapter = Global_Variable_Query(kVariableChapter);
if (chapter > 4) {
@@ -299,7 +309,7 @@ void SceneScriptTB02::PlayerWalkedIn() {
return;
}
if (chapter == 2) {
- if (!Game_Flag_Query(453)) {
+ if (!Game_Flag_Query(kFlagTB02GuardTalk1)) {
Player_Loses_Control();
Actor_Says(kActorMcCoy, 5125, 18);
Actor_Says(kActorTyrellGuard, 0, 50);
@@ -310,45 +320,55 @@ void SceneScriptTB02::PlayerWalkedIn() {
Actor_Says(kActorMcCoy, 5140, 17);
Actor_Says(kActorTyrellGuard, 30, 14);
Actor_Says(kActorTyrellGuard, 40, 13);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 0.0f, 1586.0f, 12, 0, false, 0);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -112.0f, 0.0f, 1586.0f, 12, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 0.0f, 1586.0f, 12, false, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -112.0f, 0.0f, 1586.0f, 12, false, false, 0);
Actor_Face_Actor(kActorMcCoy, kActorTyrellGuard, true);
Actor_Face_Actor(kActorTyrellGuard, kActorMcCoy, true);
Actor_Says(kActorMcCoy, 5145, 13);
Actor_Says(kActorTyrellGuard, 50, 15);
Actor_Face_Heading(kActorTyrellGuard, 788, false);
- Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSecurity, 1, -1);
- Game_Flag_Set(453);
- Game_Flag_Set(450);
+ Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSecurity, true, -1);
+ Game_Flag_Set(kFlagTB02GuardTalk1);
+ Game_Flag_Set(kFlagTB02ElevatorToTB05);
Player_Gains_Control();
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -138.17f, 0.15f, 1578.32f, 0, 1, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -138.17f, 0.15f, 1578.32f, 0, true, false, 0);
}
- if (Game_Flag_Query(450)) {
+
+ if (Game_Flag_Query(kFlagTB02ElevatorToTB05)) {
Scene_Exit_Add_2D_Exit(1, 430, 235, 487, 396, 0);
}
- if (Game_Flag_Query(451) && !Game_Flag_Query(450)) {
+
+ if ( Game_Flag_Query(kFlagTB05Entered)
+ && !Game_Flag_Query(kFlagTB02ElevatorToTB05)
+ ) {
Actor_Says(kActorTyrellGuard, 90, 18);
- Game_Flag_Set(450);
+ Game_Flag_Set(kFlagTB02ElevatorToTB05);
Scene_Exit_Add_2D_Exit(1, 430, 235, 487, 396, 0);
}
- if (Game_Flag_Query(451) && !Game_Flag_Query(456)) {
- Loop_Actor_Walk_To_Actor(kActorSteele, kActorMcCoy, 36, 1, false);
+
+ if ( Game_Flag_Query(kFlagTB05Entered)
+ && !Game_Flag_Query(kFlagTB02SteeleTalk)
+ ) {
+ Loop_Actor_Walk_To_Actor(kActorSteele, kActorMcCoy, 36, true, false);
Actor_Says(kActorSteele, 2220, 14);
Actor_Says(kActorMcCoy, 5245, 13);
Actor_Says(kActorSteele, 2230, 12);
Actor_Says(kActorSteele, 2240, 13);
- sub_402B50();
+ dialogueWithSteele();
//return true;
}
//return false;
return;
}
- if (chapter == 3 && !Game_Flag_Query(455)) {
+
+ if ( chapter == 3
+ && !Game_Flag_Query(kFlagTB02GuardTalk2)
+ ) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -131.28f, 0.79f, 1448.25f, 12, 1, false, 0);
Actor_Says(kActorTyrellGuard, 260, 15);
Actor_Says(kActorMcCoy, 5225, 16);
Actor_Says(kActorTyrellGuard, 270, 14);
- Game_Flag_Set(455);
+ Game_Flag_Set(kFlagTB02GuardTalk2);
Actor_Modify_Friendliness_To_Other(kActorTyrellGuard, kActorMcCoy, -1);
}
//return false;
@@ -362,53 +382,37 @@ void SceneScriptTB02::PlayerWalkedOut() {
void SceneScriptTB02::DialogueQueueFlushed(int a1) {
}
-void SceneScriptTB02::sub_402644() {
+void SceneScriptTB02::dialogueWithTyrellGuard() {
Dialogue_Menu_Clear_List();
- DM_Add_To_List_Never_Repeat_Once_Selected(700, 4, 5, 6);
+ DM_Add_To_List_Never_Repeat_Once_Selected(700, 4, 5, 6); // VICTIM
+
if (Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(710, 5, 5, 4);
+ DM_Add_To_List_Never_Repeat_Once_Selected(710, 5, 5, 4); // EARRING
}
- if (Actor_Clue_Query(kActorMcCoy, kClueVictimInformation) || Actor_Clue_Query(kActorMcCoy, kClueAttemptedFileAccess)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(720, 3, 5, 5);
+
+ if (Actor_Clue_Query(kActorMcCoy, kClueVictimInformation)
+ || Actor_Clue_Query(kActorMcCoy, kClueAttemptedFileAccess)
+ ) {
+ DM_Add_To_List_Never_Repeat_Once_Selected(720, 3, 5, 5); // TYRELL
}
+
if (Actor_Clue_Query(kActorMcCoy, kClueAttemptedFileAccess)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(730, 3, 4, 8);
+ DM_Add_To_List_Never_Repeat_Once_Selected(730, 3, 4, 8); // SECURITY
}
- Dialogue_Menu_Add_DONE_To_List(100);
+
+ Dialogue_Menu_Add_DONE_To_List(100); // DONE
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
switch (answer) {
- case 100:
+ case 100: // DONE
Actor_Says(kActorMcCoy, 5145, 13);
Actor_Says(kActorTyrellGuard, 50, 15);
break;
- case 730:
- Actor_Says(kActorMcCoy, 5180, 16);
- Actor_Says(kActorTyrellGuard, 240, 12);
- Actor_Says(kActorMcCoy, 5215, 18);
- Actor_Says(kActorTyrellGuard, 250, 13);
- Actor_Says(kActorMcCoy, 5220, 16);
- break;
- case 720:
- Actor_Says(kActorMcCoy, 5175, 12);
- Actor_Says(kActorTyrellGuard, 210, 14);
- Actor_Says(kActorMcCoy, 5200, 13);
- Actor_Says(kActorTyrellGuard, 220, 13);
- Actor_Says(kActorMcCoy, 5205, 15);
- Actor_Says(kActorTyrellGuard, 230, 12);
- Actor_Says(kActorMcCoy, 5210, 12);
- break;
- case 710:
- Actor_Says(kActorMcCoy, 5170, 12);
- Actor_Says(kActorTyrellGuard, 180, 12);
- Actor_Says(kActorTyrellGuard, 190, 14);
- if (Game_Flag_Query(102)) {
- Actor_Says(kActorMcCoy, 5195, 13);
- Actor_Says(kActorTyrellGuard, 200, 13);
- }
- break;
- case 700:
+
+ case 700: // VICTIM
Actor_Says(kActorMcCoy, 5165, 11);
Actor_Says(kActorTyrellGuard, 100, 13);
Actor_Says(kActorTyrellGuard, 110, 12);
@@ -419,21 +423,57 @@ void SceneScriptTB02::sub_402644() {
Actor_Says(kActorTyrellGuard, 140, 13);
Actor_Says(kActorTyrellGuard, 150, 14);
Actor_Says(kActorTyrellGuard, 170, 12);
- Actor_Clue_Acquire(kActorMcCoy, kClueVictimInformation, 1, kActorTyrellGuard);
+ Actor_Clue_Acquire(kActorMcCoy, kClueVictimInformation, true, kActorTyrellGuard);
+ break;
+
+ case 710: // EARRING
+ Actor_Says(kActorMcCoy, 5170, 12);
+ Actor_Says(kActorTyrellGuard, 180, 12);
+ Actor_Says(kActorTyrellGuard, 190, 14);
+ if (Game_Flag_Query(kFlagTB06Visited)) {
+ Actor_Says(kActorMcCoy, 5195, 13);
+ Actor_Says(kActorTyrellGuard, 200, 13);
+ }
+ break;
+
+ case 720: // TYRELL
+ Actor_Says(kActorMcCoy, 5175, 12);
+ Actor_Says(kActorTyrellGuard, 210, 14);
+ Actor_Says(kActorMcCoy, 5200, 13);
+ Actor_Says(kActorTyrellGuard, 220, 13);
+ Actor_Says(kActorMcCoy, 5205, 15);
+ Actor_Says(kActorTyrellGuard, 230, 12);
+ Actor_Says(kActorMcCoy, 5210, 12);
+ break;
+
+ case 730: // SECURITY
+ Actor_Says(kActorMcCoy, 5180, 16);
+ Actor_Says(kActorTyrellGuard, 240, 12);
+ Actor_Says(kActorMcCoy, 5215, 18);
+ Actor_Says(kActorTyrellGuard, 250, 13);
+ Actor_Says(kActorMcCoy, 5220, 16);
break;
}
}
-void SceneScriptTB02::sub_402B50() {
+void SceneScriptTB02::dialogueWithSteele() {
Dialogue_Menu_Clear_List();
- DM_Add_To_List_Never_Repeat_Once_Selected(740, 4, 5, 6);
- DM_Add_To_List_Never_Repeat_Once_Selected(750, 3, 5, 5);
- Dialogue_Menu_Add_DONE_To_List(100);
+ DM_Add_To_List_Never_Repeat_Once_Selected(740, 4, 5, 6); // HER CASE
+ DM_Add_To_List_Never_Repeat_Once_Selected(750, 3, 5, 5); // MURDER
+ Dialogue_Menu_Add_DONE_To_List(100); // DONE
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
switch (answer) {
- case 740:
+ case 100: // DONE
+ Actor_Says(kActorSteele, 2350, 13);
+ Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, -5);
+ Game_Flag_Set(kFlagTB02SteeleTalk);
+ break;
+
+ case 740: // HER CASE
Actor_Says(kActorMcCoy, 5250, 15);
if (Game_Flag_Query(kFlagSadikIsReplicant)) {
Actor_Says(kActorSteele, 2250, 12);
@@ -443,9 +483,9 @@ void SceneScriptTB02::sub_402B50() {
Actor_Says(kActorSteele, 2280, 13);
Actor_Says(kActorMcCoy, 5270, 16);
Actor_Says(kActorSteele, 2290, 14);
- Actor_Clue_Acquire(kActorMcCoy, kClueCrystalsCase, 1, kActorSteele);
+ Actor_Clue_Acquire(kActorMcCoy, kClueCrystalsCase, true, kActorSteele);
Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, 1);
- Game_Flag_Set(456);
+ Game_Flag_Set(kFlagTB02SteeleTalk);
} else {
Actor_Says(kActorSteele, 2300, 12);
Actor_Says(kActorSteele, 2310, 15);
@@ -453,19 +493,15 @@ void SceneScriptTB02::sub_402B50() {
Actor_Says(kActorSteele, 2320, 12);
Actor_Says(kActorMcCoy, 5280, 13);
Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, 1);
- Game_Flag_Set(456);
+ Game_Flag_Set(kFlagTB02SteeleTalk);
}
break;
- case 750:
+
+ case 750: // MURDER
Actor_Says(kActorMcCoy, 5255, 11);
Actor_Says(kActorSteele, 2330, 13);
Actor_Says(kActorSteele, 2340, 14);
- Game_Flag_Set(456);
- break;
- case 100:
- Actor_Says(kActorSteele, 2350, 13);
- Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, -5);
- Game_Flag_Set(456);
+ Game_Flag_Set(kFlagTB02SteeleTalk);
break;
}
}
diff --git a/engines/bladerunner/script/scene/tb05.cpp b/engines/bladerunner/script/scene/tb05.cpp
index acdca33535..3b272991c1 100644
--- a/engines/bladerunner/script/scene/tb05.cpp
+++ b/engines/bladerunner/script/scene/tb05.cpp
@@ -27,7 +27,7 @@ namespace BladeRunner {
void SceneScriptTB05::InitializeScene() {
if (Game_Flag_Query(kFlagTB06toTB05)) {
Setup_Scene_Information(23.0f, 151.53f, -205.0f, 450);
- Game_Flag_Set(102);
+ Game_Flag_Set(kFlagTB06Visited);
Game_Flag_Reset(kFlagTB06toTB05);
} else {
Setup_Scene_Information(14.0f, 151.53f, -77.0f, 6);
@@ -52,10 +52,15 @@ void SceneScriptTB05::SceneLoaded() {
Clickable_Object("MONITOR05");
Unclickable_Object("SMUDGE_GLASS01");
if (!Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring)) {
- Item_Add_To_World(76, 940, 72, 76.16f, 147.36f, -235.15f, 0, 6, 6, false, true, false, true);
+ Item_Add_To_World(kItemDragonflyEarring, 940, 72, 76.16f, 147.36f, -235.15f, 0, 6, 6, false, true, false, true);
}
- if (!Actor_Clue_Query(kActorMcCoy, kClueTyrellSalesPamphlet1) && !Actor_Clue_Query(kActorMcCoy, kClueTyrellSalesPamphlet2) && (Game_Flag_Query(kFlagGordoIsReplicant) || Game_Flag_Query(kFlagLucyIsReplicant))) {
- Item_Add_To_World(119, 972, 72, 129.01f, 147.12f, -162.98f, 0, 8, 8, false, true, false, true);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueTyrellSalesPamphlet1)
+ && !Actor_Clue_Query(kActorMcCoy, kClueTyrellSalesPamphlet2)
+ && (Game_Flag_Query(kFlagGordoIsReplicant)
+ || Game_Flag_Query(kFlagLucyIsReplicant)
+ )
+ ) {
+ Item_Add_To_World(kItemTyrellSalesPamphlet, 972, 72, 129.01f, 147.12f, -162.98f, 0, 8, 8, false, true, false, true);
}
}
@@ -64,54 +69,69 @@ bool SceneScriptTB05::MouseClick(int x, int y) {
}
bool SceneScriptTB05::ClickedOn3DObject(const char *objectName, bool a2) {
- if (Object_Query_Click("MONITOR05", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 122.54f, 147.12f, -197.17f, 0, 1, false, 0)) {
- Actor_Face_Heading(kActorMcCoy, 38, false);
- if (!Actor_Clue_Query(kActorMcCoy, kClueDNAMarcus) && !Game_Flag_Query(99)) {
- Actor_Clue_Acquire(kActorMcCoy, kClueAttemptedFileAccess, 1, -1);
- Actor_Voice_Over(2170, kActorVoiceOver);
- Actor_Voice_Over(2180, kActorVoiceOver);
- Actor_Voice_Over(2190, kActorVoiceOver);
- Actor_Voice_Over(2200, kActorVoiceOver);
- Game_Flag_Set(99);
- return true;
- }
- if (Game_Flag_Query(99) && !Game_Flag_Query(100) && !Actor_Clue_Query(kActorMcCoy, kClueDNAMarcus)) {
- if (Actor_Clue_Query(kActorMcCoy, kClueDogCollar1) || Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)) {
- Actor_Clue_Acquire(kActorMcCoy, kClueDNAMarcus, 1, -1);
- Actor_Voice_Over(2230, kActorVoiceOver);
- Item_Pickup_Spin_Effect(941, 352, 333);
- Actor_Voice_Over(2240, kActorVoiceOver);
- Actor_Voice_Over(2250, kActorVoiceOver);
- Actor_Voice_Over(2260, kActorVoiceOver);
- Game_Flag_Set(100);
- Game_Flag_Set(101);
- } else {
- Actor_Voice_Over(2270, kActorVoiceOver);
- Game_Flag_Set(100);
+ if (Object_Query_Click("MONITOR05", objectName)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 122.54f, 147.12f, -197.17f, 0, true, false, 0)) {
+ Actor_Face_Heading(kActorMcCoy, 38, false);
+
+ if (!Actor_Clue_Query(kActorMcCoy, kClueDNAMarcus)
+ && !Game_Flag_Query(kFlagTB05MonitorIntro)) {
+ Actor_Clue_Acquire(kActorMcCoy, kClueAttemptedFileAccess, true, -1);
+ Actor_Voice_Over(2170, kActorVoiceOver);
+ Actor_Voice_Over(2180, kActorVoiceOver);
+ Actor_Voice_Over(2190, kActorVoiceOver);
+ Actor_Voice_Over(2200, kActorVoiceOver);
+ Game_Flag_Set(kFlagTB05MonitorIntro);
+ return true;
}
- return true;
- }
- if (Game_Flag_Query(100) && !Game_Flag_Query(101)) {
- if (Actor_Clue_Query(kActorMcCoy, kClueDogCollar1) || Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)) {
- Actor_Clue_Acquire(kActorMcCoy, kClueDNAMarcus, 1, -1);
- Actor_Voice_Over(2230, kActorVoiceOver);
- Item_Pickup_Spin_Effect(941, 352, 333);
- Actor_Voice_Over(2240, kActorVoiceOver);
- Actor_Voice_Over(2250, kActorVoiceOver);
- Actor_Voice_Over(2260, kActorVoiceOver);
- Game_Flag_Set(101);
- } else {
- Actor_Voice_Over(2280, kActorVoiceOver);
- Actor_Voice_Over(2290, kActorVoiceOver);
- Game_Flag_Set(101);
+
+ if ( Game_Flag_Query(kFlagTB05MonitorIntro)
+ && !Game_Flag_Query(kFlagTB05MonitorUnlockAttempt)
+ && !Actor_Clue_Query(kActorMcCoy, kClueDNAMarcus)
+ ) {
+ if (Actor_Clue_Query(kActorMcCoy, kClueDogCollar1)
+ || Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)
+ ) {
+ Actor_Clue_Acquire(kActorMcCoy, kClueDNAMarcus, true, -1);
+ Actor_Voice_Over(2230, kActorVoiceOver);
+ Item_Pickup_Spin_Effect(941, 352, 333);
+ Actor_Voice_Over(2240, kActorVoiceOver);
+ Actor_Voice_Over(2250, kActorVoiceOver);
+ Actor_Voice_Over(2260, kActorVoiceOver);
+ Game_Flag_Set(kFlagTB05MonitorUnlockAttempt);
+ Game_Flag_Set(kFlagTB05MonitorDone);
+ } else {
+ Actor_Voice_Over(2270, kActorVoiceOver);
+ Game_Flag_Set(kFlagTB05MonitorUnlockAttempt);
+ }
+ return true;
+ }
+
+ if ( Game_Flag_Query(kFlagTB05MonitorUnlockAttempt)
+ && !Game_Flag_Query(kFlagTB05MonitorDone)
+ ) {
+ if (Actor_Clue_Query(kActorMcCoy, kClueDogCollar1)
+ || Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)
+ ) {
+ Actor_Clue_Acquire(kActorMcCoy, kClueDNAMarcus, true, -1);
+ Actor_Voice_Over(2230, kActorVoiceOver);
+ Item_Pickup_Spin_Effect(941, 352, 333);
+ Actor_Voice_Over(2240, kActorVoiceOver);
+ Actor_Voice_Over(2250, kActorVoiceOver);
+ Actor_Voice_Over(2260, kActorVoiceOver);
+ Game_Flag_Set(kFlagTB05MonitorDone);
+ } else {
+ Actor_Voice_Over(2280, kActorVoiceOver);
+ Actor_Voice_Over(2290, kActorVoiceOver);
+ Game_Flag_Set(kFlagTB05MonitorDone);
+ }
+ return true;
+ }
+
+ if (Game_Flag_Query(kFlagTB05MonitorDone)) {
+ Actor_Voice_Over(3700, kActorVoiceOver);
+ return true;
}
- return true;
- }
- if (Game_Flag_Query(101)) {
- Actor_Voice_Over(3700, kActorVoiceOver);
- return true;
}
- return false;
}
return false;
}
@@ -121,27 +141,32 @@ bool SceneScriptTB05::ClickedOnActor(int actorId) {
}
bool SceneScriptTB05::ClickedOnItem(int itemId, bool a2) {
- if (itemId == 76 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 54.0f, 147.12f, -209.0f, 0, 1, false, 0)) {
- Actor_Face_Heading(kActorMcCoy, 126, false);
- Item_Remove_From_World(76);
- Item_Pickup_Spin_Effect(940, 295, 408);
- Actor_Voice_Over(2140, kActorVoiceOver);
- Actor_Voice_Over(2150, kActorVoiceOver);
- Actor_Voice_Over(2160, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyEarring, 1, -1);
- return true;
+ if (itemId == kItemDragonflyEarring) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 54.0f, 147.12f, -209.0f, 0, true, false, 0)) {
+ Actor_Face_Heading(kActorMcCoy, 126, false);
+ Item_Remove_From_World(kItemDragonflyEarring);
+ Item_Pickup_Spin_Effect(940, 295, 408);
+ Actor_Voice_Over(2140, kActorVoiceOver);
+ Actor_Voice_Over(2150, kActorVoiceOver);
+ Actor_Voice_Over(2160, kActorVoiceOver);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyEarring, true, -1);
+ return true;
+ }
}
- if (itemId == 119 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 107.89f, 147.12f, -156.26f, 0, 1, false, 0)) {
- Actor_Face_Heading(kActorMcCoy, 126, false);
- Item_Remove_From_World(119);
- Item_Pickup_Spin_Effect(972, 449, 431);
- Actor_Voice_Over(4280, kActorVoiceOver);
- if (Game_Flag_Query(kFlagGordoIsReplicant)) {
- Actor_Voice_Over(4290, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSalesPamphlet1, 1, -1);
- } else {
- Actor_Voice_Over(4300, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSalesPamphlet2, 1, -1);
+
+ if (itemId == kItemTyrellSalesPamphlet) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 107.89f, 147.12f, -156.26f, 0, true, false, 0)) {
+ Actor_Face_Heading(kActorMcCoy, 126, false);
+ Item_Remove_From_World(kItemTyrellSalesPamphlet);
+ Item_Pickup_Spin_Effect(972, 449, 431);
+ Actor_Voice_Over(4280, kActorVoiceOver);
+ if (Game_Flag_Query(kFlagGordoIsReplicant)) {
+ Actor_Voice_Over(4290, kActorVoiceOver);
+ Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSalesPamphlet1, true, -1);
+ } else {
+ Actor_Voice_Over(4300, kActorVoiceOver);
+ Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSalesPamphlet2, true, -1);
+ }
}
}
return false;
@@ -149,7 +174,7 @@ bool SceneScriptTB05::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptTB05::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 151.53f, -205.0f, 12, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 151.53f, -205.0f, 12, true, false, 0)) {
Game_Flag_Set(kFlagTB05toTB06);
Set_Enter(kSetTB06, kSceneTB06);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 2, 1);
@@ -157,7 +182,7 @@ bool SceneScriptTB05::ClickedOnExit(int exitId) {
return true;
}
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.0f, 147.12f, 123.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.0f, 147.12f, 123.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagTB05toTB02);
Set_Enter(kSetTB02_TB03, kSceneTB02);
}
diff --git a/engines/bladerunner/script/scene/tb06.cpp b/engines/bladerunner/script/scene/tb06.cpp
index acd539b381..1c71196af4 100644
--- a/engines/bladerunner/script/scene/tb06.cpp
+++ b/engines/bladerunner/script/scene/tb06.cpp
@@ -30,17 +30,15 @@ void SceneScriptTB06::InitializeScene() {
Ambient_Sounds_Add_Looping_Sound(236, 50, 0, 1);
Ambient_Sounds_Add_Looping_Sound(237, 50, 0, 1);
Ambient_Sounds_Add_Looping_Sound(285, 66, 0, 1);
- if (Game_Flag_Query(103)) {
- Scene_Loop_Set_Default(0);
- //return false;
- return;
- } else {
+ if (!Game_Flag_Query(kFlagNotUsed103)) {
Actor_Put_In_Set(kActorMarcus, kSetTB06);
Actor_Set_At_XYZ(kActorMarcus, 135.0f, 151.0f, -671.0f, 800);
Actor_Retired_Here(kActorMarcus, 60, 32, 1, -1);
//return true;
return;
}
+ Scene_Loop_Set_Default(0);
+ //return false;
}
void SceneScriptTB06::SceneLoaded() {
@@ -48,16 +46,21 @@ void SceneScriptTB06::SceneLoaded() {
Unobstacle_Object("GLASS01", true);
Clickable_Object("DOOR");
Unclickable_Object("SMUDGE_GLASS01");
- if (!Game_Flag_Query(519) && Actor_Query_Goal_Number(kActorPhotographer) != 199) {
- Item_Add_To_World(84, 942, 73, 36.54f, 149.48f, -565.67f, 0, 6, 6, false, true, false, true);
+
+ if (!Game_Flag_Query(kFlagTB06DogCollarTaken)
+ && Actor_Query_Goal_Number(kActorPhotographer) != 199
+ ) {
+ Item_Add_To_World(kItemDogCollar, 942, 73, 36.54f, 149.48f, -565.67f, 0, 6, 6, false, true, false, true);
}
- if (!Game_Flag_Query(520)) {
- Item_Add_To_World(108, 955, 73, 18.0f, 149.65f, -599.0f, 0, 6, 6, false, true, false, true);
+
+ if (!Game_Flag_Query(kFlagTB06KitchenBoxTaken)) {
+ Item_Add_To_World(kItemKitchenBox, 955, 73, 18.0f, 149.65f, -599.0f, 0, 6, 6, false, true, false, true);
}
+
if (Actor_Query_Goal_Number(kActorPhotographer) != 199) {
- Item_Add_To_World(103, 978, 73, -46.82f, 149.6f, -666.88f, 0, 12, 12, false, true, false, true);
- Item_Add_To_World(104, 979, 73, -30.27f, 149.6f, -610.7f, 0, 15, 45, false, true, false, true);
- Item_Add_To_World(105, 980, 73, 9.87f, 149.6f, -683.5f, 0, 12, 12, false, true, false, true);
+ Item_Add_To_World(kItemDeadDogA, 978, 73, -46.82f, 149.6f, -666.88f, 0, 12, 12, false, true, false, true);
+ Item_Add_To_World(kItemDeadDogB, 979, 73, -30.27f, 149.6f, -610.7f, 0, 15, 45, false, true, false, true);
+ Item_Add_To_World(kItemDeadDogC, 980, 73, 9.87f, 149.6f, -683.5f, 0, 12, 12, false, true, false, true);
}
}
@@ -70,66 +73,80 @@ bool SceneScriptTB06::ClickedOn3DObject(const char *objectName, bool a2) {
}
bool SceneScriptTB06::ClickedOnActor(int actorId) {
- if (actorId == 21 && !Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorMarcus, 24, 1, false)) {
- if (Actor_Clue_Query(kActorMcCoy, kClueDetonatorWire)) {
+ if (actorId == kActorMarcus) {
+ if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorMarcus, 24, true, false)) {
+ if (!Actor_Clue_Query(kActorMcCoy, kClueDetonatorWire)) {
+ Actor_Voice_Over(2300, kActorVoiceOver);
+ Actor_Voice_Over(2310, kActorVoiceOver);
+ Item_Pickup_Spin_Effect(974, 66, 397);
+ Actor_Voice_Over(2320, kActorVoiceOver);
+ if (Game_Flag_Query(kFlagSadikIsReplicant)) {
+ Actor_Voice_Over(2330, kActorVoiceOver);
+ Actor_Voice_Over(2340, kActorVoiceOver);
+ }
+ Actor_Voice_Over(2350, kActorVoiceOver);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDetonatorWire, true, -1);
+ return true;
+ }
Actor_Says(kActorMcCoy, 8665, 13);
return false;
}
- Actor_Voice_Over(2300, kActorVoiceOver);
- Actor_Voice_Over(2310, kActorVoiceOver);
- Item_Pickup_Spin_Effect(974, 66, 397);
- Actor_Voice_Over(2320, kActorVoiceOver);
- if (Game_Flag_Query(kFlagSadikIsReplicant)) {
- Actor_Voice_Over(2330, kActorVoiceOver);
- Actor_Voice_Over(2340, kActorVoiceOver);
- }
- Actor_Voice_Over(2350, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueDetonatorWire, 1, -1);
- return true;
}
return false;
}
bool SceneScriptTB06::ClickedOnItem(int itemId, bool a2) {
- if (itemId == 84 && !Loop_Actor_Walk_To_Item(kActorMcCoy, 84, 12, 1, false)) {
- Actor_Face_Item(kActorMcCoy, 84, true);
- Actor_Clue_Acquire(kActorMcCoy, kClueDogCollar1, 1, -1);
- Item_Pickup_Spin_Effect(942, 341, 368);
- Item_Remove_From_World(84);
- Actor_Voice_Over(4160, kActorVoiceOver);
- Game_Flag_Set(519);
- return true;
+ if (itemId == kItemDogCollar) {
+ if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemDogCollar, 12, true, false)) {
+ Actor_Face_Item(kActorMcCoy, kItemDogCollar, true);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDogCollar1, true, -1);
+ Item_Pickup_Spin_Effect(942, 341, 368);
+ Item_Remove_From_World(kItemDogCollar);
+ Actor_Voice_Over(4160, kActorVoiceOver);
+ Game_Flag_Set(kFlagTB06DogCollarTaken);
+ return true;
+ }
}
- if (itemId == 108 && !Loop_Actor_Walk_To_Item(kActorMcCoy, 108, 12, 1, false)) {
- Actor_Face_Item(kActorMcCoy, 108, true);
- Actor_Clue_Acquire(kActorMcCoy, kClueKingstonKitchenBox1, 1, -1);
- Item_Remove_From_World(108);
- Item_Pickup_Spin_Effect(955, 390, 368);
- Actor_Says(kActorMcCoy, 8775, 3);
- Game_Flag_Set(520);
- return true;
+ if (itemId == kItemKitchenBox) {
+ if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemKitchenBox, 12, true, false)) {
+ Actor_Face_Item(kActorMcCoy, kItemKitchenBox, true);
+ Actor_Clue_Acquire(kActorMcCoy, kClueKingstonKitchenBox1, true, -1);
+ Item_Remove_From_World(kItemKitchenBox);
+ Item_Pickup_Spin_Effect(955, 390, 368);
+ Actor_Says(kActorMcCoy, 8775, kAnimationModeTalk);
+ Game_Flag_Set(kFlagTB06KitchenBoxTaken);
+ return true;
+ }
}
- if (itemId == 82 && !Loop_Actor_Walk_To_Item(kActorMcCoy, 82, 12, 1, false)) {
- Actor_Face_Item(kActorMcCoy, 82, true);
- Actor_Says(kActorMcCoy, 5285, 3);
- return true;
+ if (itemId == kItemChopstickWrapper) { // this item is not here, it is in RC51
+ if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemChopstickWrapper, 12, true, false)) {
+ Actor_Face_Item(kActorMcCoy, kItemChopstickWrapper, true);
+ Actor_Says(kActorMcCoy, 5285, kAnimationModeTalk);
+ return true;
+ }
}
- if ((itemId == 103 || itemId == 104 || itemId == 105) && !Loop_Actor_Walk_To_Item(kActorMcCoy, 103, 24, 1, false)) {
- Actor_Face_Item(kActorMcCoy, 103, true);
- Actor_Voice_Over(2380, kActorVoiceOver);
- Actor_Voice_Over(2390, kActorVoiceOver);
- Actor_Voice_Over(2400, kActorVoiceOver);
- return true;
+
+ if (itemId == kItemDeadDogA
+ || itemId == kItemDeadDogB
+ || itemId == kItemDeadDogC
+ ) {
+ if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemDeadDogA, 24, true, false)) {
+ Actor_Face_Item(kActorMcCoy, kItemDeadDogA, true);
+ Actor_Voice_Over(2380, kActorVoiceOver);
+ Actor_Voice_Over(2390, kActorVoiceOver);
+ Actor_Voice_Over(2400, kActorVoiceOver);
+ return true;
+ }
}
return false;
}
bool SceneScriptTB06::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -16.0f, 149.0f, -427.0f, 12, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -16.0f, 149.0f, -427.0f, 12, true, false, 0)) {
Game_Flag_Set(kFlagTB06toTB05);
Set_Enter(kSetTB05, kSceneTB05);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 2, 1);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 2, true);
}
return true;
}
@@ -154,26 +171,28 @@ void SceneScriptTB06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptTB06::PlayerWalkedIn() {
- if (!Game_Flag_Query(102) && !Game_Flag_Query(483)) {
+ if (!Game_Flag_Query(kFlagTB06Visited)
+ && !Game_Flag_Query(kFlagTB06Introduction)
+ ) {
Actor_Face_Actor(kActorMcCoy, kActorMarcus, true);
- Actor_Says(kActorMcCoy, 5290, 3);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 149.0f, -631.0f, 0, 0, false, 0);
+ Actor_Says(kActorMcCoy, 5290, kAnimationModeTalk);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 149.0f, -631.0f, 0, false, false, 0);
AI_Movement_Track_Pause(kActorPhotographer);
Actor_Face_Actor(kActorMcCoy, kActorPhotographer, true);
Actor_Face_Actor(kActorPhotographer, kActorMcCoy, true);
- Actor_Says(kActorPhotographer, 0, 3);
- Actor_Says(kActorMcCoy, 5295, 3);
+ Actor_Says(kActorPhotographer, 0, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 5295, kAnimationModeTalk);
Actor_Face_Actor(kActorPhotographer, kActorMarcus, true);
- Actor_Says(kActorPhotographer, 10, 3);
+ Actor_Says(kActorPhotographer, 10, kAnimationModeTalk);
AI_Movement_Track_Unpause(kActorPhotographer);
- Game_Flag_Set(483);
+ Game_Flag_Set(kFlagTB06Introduction);
//return true;
return;
}
- if (Game_Flag_Query(103)) {
- Item_Remove_From_World(84);
- Item_Remove_From_World(82);
- Item_Remove_From_World(98);
+ if (Game_Flag_Query(kFlagNotUsed103)) {
+ Item_Remove_From_World(kItemDogCollar);
+ Item_Remove_From_World(kItemChopstickWrapper);
+ Item_Remove_From_World(kItemToyDog); // why? some unused branch
//return true;
return;
}
@@ -182,7 +201,7 @@ void SceneScriptTB06::PlayerWalkedIn() {
}
void SceneScriptTB06::PlayerWalkedOut() {
- Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
+ Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
}
diff --git a/engines/bladerunner/script/scene/tb07.cpp b/engines/bladerunner/script/scene/tb07.cpp
index e09b41277f..ee8e8fc2bb 100644
--- a/engines/bladerunner/script/scene/tb07.cpp
+++ b/engines/bladerunner/script/scene/tb07.cpp
@@ -69,7 +69,7 @@ bool SceneScriptTB07::ClickedOnItem(int itemId, bool a2) {
Actor_Face_Item(kActorMcCoy, itemId, true);
if (itemId == 83) {
Item_Pickup_Spin_Effect(941, 331, 296);
- Actor_Clue_Acquire(kActorMcCoy, kClueDNATyrell, 0, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDNATyrell, false, -1);
}
Item_Remove_From_World(itemId);
}
@@ -92,7 +92,7 @@ bool SceneScriptTB07::ClickedOnExit(int exitId) {
Game_Flag_Reset(kFlagMcCoyAtBBxx);
Game_Flag_Reset(kFlagMcCoyAtHFxx);
Game_Flag_Reset(kFlagMcCoyAtTBxx);
- Game_Flag_Reset(450);
+ Game_Flag_Reset(kFlagTB02ElevatorToTB05);
switch (Spinner_Interface_Choose_Dest(-1, false)) {
case kSpinnerDestinationPoliceStation:
Game_Flag_Set(kFlagMcCoyAtPSxx);
@@ -282,8 +282,8 @@ void SceneScriptTB07::sub_401B0C() {
Actor_Says_With_Pause(kActorMcCoy, 5450, 1.0f, 15);
Actor_Says(kActorMcCoy, 5455, 12);
Actor_Says(kActorTyrell, 100, 14);
- Actor_Clue_Acquire(kActorMcCoy, kClueRachaelInterview, 0, kActorRachael);
- Actor_Clue_Acquire(kActorMcCoy, kClueTyrellInterview, 0, kActorTyrell);
+ Actor_Clue_Acquire(kActorMcCoy, kClueRachaelInterview, false, kActorRachael);
+ Actor_Clue_Acquire(kActorMcCoy, kClueTyrellInterview, false, kActorTyrell);
Loop_Actor_Walk_To_XYZ(kActorTyrell, -260.15f, 12.0f, -19.16f, 0, 0, false, 0);
}
diff --git a/engines/bladerunner/script/scene/ug02.cpp b/engines/bladerunner/script/scene/ug02.cpp
index 600279170f..b196e7c997 100644
--- a/engines/bladerunner/script/scene/ug02.cpp
+++ b/engines/bladerunner/script/scene/ug02.cpp
@@ -97,7 +97,7 @@ bool SceneScriptUG02::ClickedOn3DObject(const char *objectName, bool a2) {
Actor_Voice_Over(2450, kActorVoiceOver);
Actor_Voice_Over(2460, kActorVoiceOver);
Game_Flag_Set(449);
- Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsCache, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsCache, true, -1);
return true;
}
if (Global_Variable_Query(kVariableChapter) <= 3) {
@@ -109,7 +109,7 @@ bool SceneScriptUG02::ClickedOn3DObject(const char *objectName, bool a2) {
Actor_Voice_Over(2480, kActorVoiceOver);
Actor_Voice_Over(2490, kActorVoiceOver);
Actor_Voice_Over(2500, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueIzosStashRaided, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueIzosStashRaided, true, -1);
} else if (!Actor_Clue_Query(kActorMcCoy, kClueWeaponsCache)) {
Actor_Voice_Over(2510, kActorVoiceOver);
Actor_Voice_Over(2520, kActorVoiceOver);
@@ -134,7 +134,7 @@ bool SceneScriptUG02::ClickedOnActor(int actorId) {
bool SceneScriptUG02::ClickedOnItem(int itemId, bool a2) {
if (itemId == 88) {
Actor_Face_Item(kActorMcCoy, 88, true);
- Actor_Clue_Acquire(kActorMcCoy, kClueRadiationGoggles, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueRadiationGoggles, true, -1);
Game_Flag_Set(656);
Item_Remove_From_World(88);
Item_Pickup_Spin_Effect(963, 426, 316);
@@ -150,7 +150,7 @@ bool SceneScriptUG02::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -202.0f, 120.16f, -74.0f, 0, 1, v2, 0)) {
Actor_Face_Heading(kActorMcCoy, 270, false);
Footstep_Sound_Override_On(2);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 0, kAnimationModeIdle);
Footstep_Sound_Override_Off();
int v3 = Player_Query_Combat_Mode();
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -96.57f, 74.87f, -271.28f, 0, 0, v3, 0);
@@ -175,7 +175,7 @@ bool SceneScriptUG02::ClickedOnExit(int exitId) {
Loop_Actor_Travel_Ladder(kActorMcCoy, 9, 1, 0);
Game_Flag_Set(kFlagUG02toHC03);
Game_Flag_Reset(kFlagMcCoyAtUGxx);
- Game_Flag_Set(479);
+ Game_Flag_Set(kFlagMcCoyAtHCxx);
if (!Game_Flag_Query(403)) {
Game_Flag_Set(388);
Game_Flag_Set(403);
@@ -204,7 +204,7 @@ void SceneScriptUG02::PlayerWalkedIn() {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -148.0f, 84.13f, -67.0f, 0, 0, false, 0);
Actor_Face_Heading(kActorMcCoy, 761, false);
Footstep_Sound_Override_On(2);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 4, true, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 4, true, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Game_Flag_Reset(kFlagUG01toUG02);
Game_Flag_Set(498);
@@ -237,7 +237,7 @@ bool SceneScriptUG02::sub_402354() {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -365.0f, 155.65f, -19.0f, 0, 0, v0, 0);
Actor_Face_Heading(kActorMcCoy, 318, false);
Footstep_Sound_Override_On(2);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 0, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Game_Flag_Set(498);
return false;
@@ -245,7 +245,7 @@ bool SceneScriptUG02::sub_402354() {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.75f, 120.16f, 1.01f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 830, false);
Footstep_Sound_Override_On(2);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Game_Flag_Reset(498);
return false;
diff --git a/engines/bladerunner/script/scene/ug03.cpp b/engines/bladerunner/script/scene/ug03.cpp
index 01d6848ba5..81e9b967e8 100644
--- a/engines/bladerunner/script/scene/ug03.cpp
+++ b/engines/bladerunner/script/scene/ug03.cpp
@@ -83,7 +83,7 @@ bool SceneScriptUG03::ClickedOn3DObject(const char *objectName, bool a2) {
Actor_Voice_Over(2570, kActorVoiceOver);
Actor_Voice_Over(2580, kActorVoiceOver);
Actor_Voice_Over(2590, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueScaryChair, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueScaryChair, true, -1);
}
}
return false;
diff --git a/engines/bladerunner/script/scene/ug05.cpp b/engines/bladerunner/script/scene/ug05.cpp
index 73101f29bb..da1cb2fd90 100644
--- a/engines/bladerunner/script/scene/ug05.cpp
+++ b/engines/bladerunner/script/scene/ug05.cpp
@@ -119,7 +119,7 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {
Set_Enter(kSetHF07, kSceneHF07);
} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -156.72f, 3.03f, -1118.17f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 760, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, kAnimationModeIdle);
Game_Flag_Set(361);
Set_Enter(kSetHF07, kSceneHF07);
}
@@ -204,7 +204,7 @@ void SceneScriptUG05::PlayerWalkedIn() {
if (Game_Flag_Query(663) && !Game_Flag_Query(368)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -288.35f, 132.77f, -1092.36f, 0, 1, false, 0);
} else {
- Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 0, kAnimationModeIdle);
}
}
if (Game_Flag_Query(663)) {
diff --git a/engines/bladerunner/script/scene/ug06.cpp b/engines/bladerunner/script/scene/ug06.cpp
index 1f0124d6ad..e13e720ead 100644
--- a/engines/bladerunner/script/scene/ug06.cpp
+++ b/engines/bladerunner/script/scene/ug06.cpp
@@ -102,7 +102,7 @@ bool SceneScriptUG06::ClickedOnExit(int exitId) {
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -90.0f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 0, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 17, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 17, 1, kAnimationModeIdle);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 153.0f, -446.0f, 0, 0, false, 0);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -130,7 +130,7 @@ void SceneScriptUG06::PlayerWalkedIn() {
Game_Flag_Reset(340);
}
if (Game_Flag_Query(343)) {
- Loop_Actor_Travel_Stairs(kActorMcCoy, 17, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 17, 0, kAnimationModeIdle);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -36.91f, 0, 0, false, 0);
Game_Flag_Reset(343);
}
diff --git a/engines/bladerunner/script/scene/ug08.cpp b/engines/bladerunner/script/scene/ug08.cpp
index 9b4306e980..2c5cc613cf 100644
--- a/engines/bladerunner/script/scene/ug08.cpp
+++ b/engines/bladerunner/script/scene/ug08.cpp
@@ -95,7 +95,7 @@ bool SceneScriptUG08::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.0f, -2.0f, 152.0f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 240, false);
Footstep_Sound_Override_On(2);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 1, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -118.02f, 93.02f, 52.76f, 0, 0, false, 0);
Player_Loses_Control();
@@ -128,7 +128,7 @@ void SceneScriptUG08::PlayerWalkedIn() {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -180.0f, 93.18f, 134.0f, 0, 0, false, 0);
Actor_Face_Heading(kActorMcCoy, 745, false);
Footstep_Sound_Override_On(2);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Player_Gains_Control();
}
diff --git a/engines/bladerunner/script/scene/ug10.cpp b/engines/bladerunner/script/scene/ug10.cpp
index 98629b194f..e95f57b237 100644
--- a/engines/bladerunner/script/scene/ug10.cpp
+++ b/engines/bladerunner/script/scene/ug10.cpp
@@ -114,7 +114,7 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
if ((!Game_Flag_Query(474) && x < 120.0f) || Game_Flag_Query(474)) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 1.15f, -410.8f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 0, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 1, kAnimationModeIdle);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, 81.83f, -652.0f, 0, 0, false, 0);
Game_Flag_Set(337);
Set_Enter(kSetUG03, kSceneUG03);
@@ -214,7 +214,7 @@ void SceneScriptUG10::PlayerWalkedIn() {
Game_Flag_Reset(336);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 81.33f, -518.8f, 0, 0, false, 0);
Actor_Face_Heading(kActorMcCoy, 506, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 0, kAnimationModeIdle);
}
if (Game_Flag_Query(474)) {
Unobstacle_Object("BOX01 BRIDGE", true);
diff --git a/engines/bladerunner/script/scene/ug13.cpp b/engines/bladerunner/script/scene/ug13.cpp
index 9520fbace5..a0acf7fe82 100644
--- a/engines/bladerunner/script/scene/ug13.cpp
+++ b/engines/bladerunner/script/scene/ug13.cpp
@@ -72,8 +72,14 @@ void SceneScriptUG13::SceneLoaded() {
Clickable_Object("BASKET");
Clickable_Object("BOLLARD");
Unclickable_Object("BASKET");
- if (Global_Variable_Query(kVariableChapter) >= 3 && !Actor_Clue_Query(kActorMcCoy, kClueOriginalRequisitionForm) && Game_Flag_Query(kFlagMcCoyKilledHomeless) && (Actor_Clue_Query(kActorMcCoy, kClueShippingForm) || Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm))) {
- Item_Add_To_World(111, 958, 85, -209.01f, 70.76f, -351.79f, 0, 16, 12, false, true, false, true);
+ if ( Global_Variable_Query(kVariableChapter) >= 3
+ && !Actor_Clue_Query(kActorMcCoy, kClueOriginalRequisitionForm)
+ && Game_Flag_Query(kFlagMcCoyKilledHomeless)
+ && (Actor_Clue_Query(kActorMcCoy, kClueShippingForm)
+ || Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)
+ )
+ ) {
+ Item_Add_To_World(kItemWeaponsOrderForm, 958, 85, -209.01f, 70.76f, -351.79f, 0, 16, 12, false, true, false, true);
}
}
@@ -103,40 +109,46 @@ bool SceneScriptUG13::ClickedOn3DObject(const char *objectName, bool a2) {
}
bool SceneScriptUG13::ClickedOnActor(int actorId) {
- if (actorId == 12 && Global_Variable_Query(kVariableChapter) == 4 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, -248.0f, 44.0f, -390.0f, 12, 1, false, 0)) {
- Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
- if (Actor_Query_Goal_Number(kActorTransient) != 6 && Actor_Query_Goal_Number(kActorTransient) != 599) {
- if (!Game_Flag_Query(554)) {
- sub_40223C();
- } else if (!Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview1) || !Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview2)) {
- sub_402AD4();
- } else {
- Actor_Set_Goal_Number(kActorTransient, 391);
- if (Actor_Clue_Query(kActorMcCoy, kClueFlaskOfAbsinthe)) {
+ if (actorId == 12
+ && Global_Variable_Query(kVariableChapter) == 4
+ ) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -248.0f, 44.0f, -390.0f, 12, true, false, 0)) {
+ Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
+ if (Actor_Query_Goal_Number(kActorTransient) != 6 && Actor_Query_Goal_Number(kActorTransient) != 599) {
+ if (!Game_Flag_Query(554)) {
+ sub_40223C();
+ } else if (!Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview1) || !Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview2)) {
sub_402AD4();
} else {
- Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
- Actor_Says(kActorMcCoy, 5600, 14);
- Actor_Says(kActorTransient, 100, 53);
- Actor_Says(kActorMcCoy, 5605, 18);
- Actor_Start_Speech_Sample(kActorTransient, 110);
- Actor_Set_Goal_Number(kActorTransient, 395);
+ Actor_Set_Goal_Number(kActorTransient, 391);
+ if (Actor_Clue_Query(kActorMcCoy, kClueFlaskOfAbsinthe)) {
+ sub_402AD4();
+ } else {
+ Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
+ Actor_Says(kActorMcCoy, 5600, 14);
+ Actor_Says(kActorTransient, 100, 53);
+ Actor_Says(kActorMcCoy, 5605, 18);
+ Actor_Start_Speech_Sample(kActorTransient, 110);
+ Actor_Set_Goal_Number(kActorTransient, 395);
+ }
}
+ } else if (Random_Query(0, 1) == 1) {
+ Actor_Says(kActorMcCoy, 8590, 16);
+ } else {
+ Actor_Says(kActorMcCoy, 8655, 15);
}
- } else if (Random_Query(0, 1) == 1) {
- Actor_Says(kActorMcCoy, 8590, 16);
- } else {
- Actor_Says(kActorMcCoy, 8655, 15);
}
}
return false;
}
bool SceneScriptUG13::ClickedOnItem(int itemId, bool a2) {
- if (itemId == 111 && !Loop_Actor_Walk_To_Item(kActorMcCoy, 111, 36, 1, false)) {
- Actor_Face_Item(kActorMcCoy, 111, true);
- Actor_Clue_Acquire(kActorMcCoy, kClueOriginalRequisitionForm, 1, -1);
- Item_Remove_From_World(111);
+ if ( itemId == kItemWeaponsOrderForm
+ && !Loop_Actor_Walk_To_Item(kActorMcCoy, kItemWeaponsOrderForm, 36, true, false)
+ ) {
+ Actor_Face_Item(kActorMcCoy, kItemWeaponsOrderForm, true);
+ Actor_Clue_Acquire(kActorMcCoy, kClueOriginalRequisitionForm, true, -1);
+ Item_Remove_From_World(kItemWeaponsOrderForm);
Item_Pickup_Spin_Effect(958, 426, 316);
Actor_Voice_Over(3950, kActorVoiceOver);
Actor_Voice_Over(3960, kActorVoiceOver);
@@ -172,7 +184,7 @@ bool SceneScriptUG13::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -267.0f, 44.0f, -795.0f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 830, false);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 1, kAnimationModeIdle);
Footstep_Sound_Override_Off();
if (!sub_402AD0()) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0f, 141.9f, -870.0f, 0, 0, false, 0);
@@ -181,7 +193,7 @@ bool SceneScriptUG13::ClickedOnExit(int exitId) {
return true;
}
Actor_Face_Heading(kActorMcCoy, 325, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
} else {
return true;
}
@@ -223,7 +235,7 @@ void SceneScriptUG13::PlayerWalkedIn() {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -389.0f, 143.0f, -844.0f, 0, 0, false, 0);
Actor_Face_Heading(kActorMcCoy, 325, false);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Game_Flag_Reset(435);
} else if (Game_Flag_Query(350)) {
@@ -277,7 +289,7 @@ void SceneScriptUG13::sub_40223C() {
void SceneScriptUG13::sub_4023D8() {
Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
- Actor_Clue_Acquire(kActorMcCoy, kClueHomelessManInterview1, 0, kActorTransient);
+ Actor_Clue_Acquire(kActorMcCoy, kClueHomelessManInterview1, false, kActorTransient);
Actor_Modify_Friendliness_To_Other(kActorTransient, kActorMcCoy, -5);
Actor_Says(kActorMcCoy, 5575, 16);
Actor_Says(kActorTransient, 120, 31);
@@ -296,7 +308,7 @@ void SceneScriptUG13::sub_4023D8() {
}
void SceneScriptUG13::sub_4025E0() {
- Actor_Clue_Acquire(kActorMcCoy, kClueHomelessManInterview2, 0, kActorTransient);
+ Actor_Clue_Acquire(kActorMcCoy, kClueHomelessManInterview2, false, kActorTransient);
Actor_Modify_Friendliness_To_Other(kActorTransient, kActorMcCoy, -10);
Actor_Says(kActorTransient, 220, 30);
Actor_Says(kActorMcCoy, 5640, 19);
@@ -317,7 +329,7 @@ void SceneScriptUG13::sub_402960() {
Actor_Says(kActorTransient, 360, 33);
Actor_Voice_Over(2710, kActorVoiceOver);
Actor_Voice_Over(2730, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueHomelessManKid, 0, kActorTransient);
+ Actor_Clue_Acquire(kActorMcCoy, kClueHomelessManKid, false, kActorTransient);
}
int SceneScriptUG13::sub_402AD0() {
@@ -342,7 +354,7 @@ void SceneScriptUG13::sub_402AD4() {
case 1360:
return;
case 1350:
- Actor_Clue_Acquire(kActorTransient, kClueFlaskOfAbsinthe, 0, kActorMcCoy);
+ Actor_Clue_Acquire(kActorTransient, kClueFlaskOfAbsinthe, false, kActorMcCoy);
Actor_Says_With_Pause(kActorMcCoy, 5595, 1.0f, 23);
Item_Pickup_Spin_Effect(945, 193, 325);
Actor_Says(kActorTransient, 290, 33);
diff --git a/engines/bladerunner/script/scene/ug14.cpp b/engines/bladerunner/script/scene/ug14.cpp
index 3fe534089d..0a391cac43 100644
--- a/engines/bladerunner/script/scene/ug14.cpp
+++ b/engines/bladerunner/script/scene/ug14.cpp
@@ -89,7 +89,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
}
Actor_Face_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, true);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 0, kAnimationModeIdle);
Footstep_Sound_Override_Off();
}
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -278.0f, 12.97f, -152.0f, 0, 1, false, 0)) {
@@ -107,7 +107,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
}
Actor_Face_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, true);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, kAnimationModeIdle);
Footstep_Sound_Override_Off();
}
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -814.0f, 0, 1, false, 0)) {
@@ -126,12 +126,12 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
}
Actor_Face_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, true);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, kAnimationModeIdle);
Footstep_Sound_Override_Off();
}
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -108.01f, 0, 1, false, 0)) {
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 1, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 233.0f, 186.04f, -32.0f, 0, 0, false, 0);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
@@ -165,7 +165,7 @@ void SceneScriptUG14::PlayerWalkedIn() {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 186.04f, -44.01f, 0, 0, false, 0);
Actor_Face_Heading(kActorMcCoy, 10, false);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 0, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 0, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -148.01f, 0, 0, false, 0);
Actor_Face_Heading(kActorMcCoy, 807, false);
diff --git a/engines/bladerunner/script/scene/ug16.cpp b/engines/bladerunner/script/scene/ug16.cpp
index 8f9fc01e5b..38ce6e439a 100644
--- a/engines/bladerunner/script/scene/ug16.cpp
+++ b/engines/bladerunner/script/scene/ug16.cpp
@@ -89,7 +89,7 @@ bool SceneScriptUG16::ClickedOn3DObject(const char *objectName, bool a2) {
Actor_Voice_Over(2750, kActorVoiceOver);
Actor_Voice_Over(2760, kActorVoiceOver);
Actor_Voice_Over(2770, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueFolder, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueFolder, true, -1);
} else {
Actor_Says(kActorMcCoy, 8523, 12);
Actor_Says(kActorMcCoy, 8635, 12);
@@ -109,7 +109,7 @@ bool SceneScriptUG16::ClickedOn3DObject(const char *objectName, bool a2) {
Actor_Says(kActorMcCoy, 5725, 14);
Delay(1000);
Item_Pickup_Spin_Effect(941, 418, 305);
- Actor_Clue_Acquire(kActorMcCoy, kClueDNALutherLance, 1, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDNALutherLance, true, -1);
return true;
}
return false;
@@ -149,7 +149,7 @@ bool SceneScriptUG16::ClickedOnExit(int exitId) {
if (exitId == 2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -316.78f, -34.88f, -533.27f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 0, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, kAnimationModeIdle);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(551);
@@ -289,7 +289,7 @@ void SceneScriptUG16::sub_401D78() {
Actor_Says(kActorMcCoy, 5810, 13);
Actor_Says(kActorLance, 220, 14);
Actor_Says(kActorLance, 230, 17);
- Actor_Clue_Acquire(kActorMcCoy, kClueLutherLanceInterview, 1, kActorLuther);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLutherLanceInterview, true, kActorLuther);
break;
case 1430:
Actor_Says(kActorMcCoy, 5745, 13);
@@ -358,7 +358,7 @@ void SceneScriptUG16::sub_401D78() {
Actor_Says(kActorMcCoy, 5855, 13);
Actor_Says(kActorLuther, 410, 14);
Game_Flag_Set(597);
- Actor_Clue_Acquire(kActorMcCoy, kClueFolder, 1, kActorLuther);
+ Actor_Clue_Acquire(kActorMcCoy, kClueFolder, true, kActorLuther);
break;
case 1480:
Actor_Says(kActorMcCoy, 4595, 14);
diff --git a/engines/bladerunner/script/scene/ug18.cpp b/engines/bladerunner/script/scene/ug18.cpp
index 60d9210bd1..f438d9b030 100644
--- a/engines/bladerunner/script/scene/ug18.cpp
+++ b/engines/bladerunner/script/scene/ug18.cpp
@@ -102,7 +102,7 @@ bool SceneScriptUG18::ClickedOnItem(int itemId, bool a2) {
Item_Pickup_Spin_Effect(987, 368, 243);
Item_Remove_From_World(itemId);
Game_Flag_Set(703);
- Actor_Clue_Acquire(kActorMcCoy, kClueBriefcase, 1, kActorGuzza);
+ Actor_Clue_Acquire(kActorMcCoy, kClueBriefcase, true, kActorGuzza);
}
}
return false;