[Scummvm-git-logs] scummvm master -> 69be53530853e432d7ee6e613614d0def7de0049
peterkohaut
peterkohaut at users.noreply.github.com
Thu Jan 31 21:27:55 CET 2019
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
b16b26ac72 BLADERUNNER: Clean up NR04 and related scripts
3fc1fbb8da BLADERUNNER: Clean up of Dektora script
49d01c3c13 BLADERUNNER: Cleanup of Dektora chase related scripts
69be535308 BLADERUNNER: Initial cleanup of underground scripts
Commit: b16b26ac722a381c4ab43e66886b3012962556ed
https://github.com/scummvm/scummvm/commit/b16b26ac722a381c4ab43e66886b3012962556ed
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-31T21:27:31+01:00
Commit Message:
BLADERUNNER: Clean up NR04 and related scripts
Changed paths:
engines/bladerunner/game_constants.h
engines/bladerunner/script/ai/dektora.cpp
engines/bladerunner/script/ai/early_q.cpp
engines/bladerunner/script/ai/hanoi.cpp
engines/bladerunner/script/ai/mccoy.cpp
engines/bladerunner/script/ai_script.h
engines/bladerunner/script/scene/nr01.cpp
engines/bladerunner/script/scene/nr03.cpp
engines/bladerunner/script/scene/nr04.cpp
engines/bladerunner/script/scene/nr05.cpp
engines/bladerunner/script/scene/nr07.cpp
engines/bladerunner/script/scene_script.h
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 51c33e1..54923ab 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -945,8 +945,10 @@ enum Flags {
kFlagHF05CrazyLegsTalk1 = 562,
kFlagHF05CrazyLegsTalk2 = 563,
kFlagEarlyQStartedChapter3 = 564,
+ kFlagNotUsed565 = 565, // has no use
kFlagHF03toHF04 = 566, // is never checked
kFlagHF04toHF03 = 567,
+ kFlagNR04EarlyQWalkedIn = 569,
kFlagNR03Entered = 573,
kFlagHF04DoorsClosed = 584,
kFlagHF04CloseDoors = 585,
@@ -961,7 +963,10 @@ enum Flags {
kFlagKIAPrivacyAddonIntro = 599,
kFlagSteeleAimingAtGordo = 603,
kFlagNR03McCoyThrownOut = 604,
+ kFlagNR04DiscFound = 605,
+ kFlagNR04EarlyQStungByScorpions = 606,
kFlagTB07toTB02 = 608,
+ kFlagNR04McCoyAimedAtEarlyQ = 609,
kFlagNR03HanoiTalk = 611,
kFlagTB07RachaelTalk = 612,
kFlagHF03LucyTalk = 613,
@@ -972,6 +977,7 @@ enum Flags {
kFlagNR08Available = 620,
kFlagNR08TouchedDektora = 622,
kFlagTB07TyrellMeeting = 625,
+ kFlagNR01McCoyIsDrugged = 627,
kFlagNR07McCoyIsCop = 638,
kFlagNR10toNR11 = 641, // is never checked
kFlagSteeleKnowsBulletBobIsDead = 643,
@@ -1173,9 +1179,9 @@ enum Scenes {
kSceneHF02 = 35, // Hysteria Hall - Hall of Mirrors - Exit
kSceneHF03 = 36, // Hysteria Hall - Hysteria Arcade
kSceneHF04 = 37, // Hysteria Hall - Hall of Mirrors
- kSceneHF05 = 38, // Hysteria Hall - Crazy Legs Larry Autos
- kSceneHF06 = 39,
- kSceneHF07 = 40,
+ kSceneHF05 = 38, // Hysteria Hall - Crazy Legs Larry Autos - Inside
+ kSceneHF06 = 39, // Hysteria Hall - Crazy Legs Larry Autos - Root
+ kSceneHF07 = 40, // Hysteria Hall - Crazy Legs Larry Autos - Underground
kSceneKP01 = 41,
kSceneKP02 = 42,
kSceneKP03 = 43,
@@ -1558,7 +1564,13 @@ enum GoalMcCoy {
kGoalMcCoyBB11PrepareToRunAway = 101,
kGoalMcCoyBB11RunAway = 102,
kGoalMcCoyBB11GetCaught = 103,
- kGoalMcCoyNR03ThrownOut = 210,
+ kGoalMcCoyNRxxSitAtTable = 200,
+ kGoalMcCoyNRxxStandUp = 201,
+ kGoalMcCoyNR01ThrownOut = 210,
+ kGoalMcCoyNR01GetUp = 211,
+ kGoalMcCoyNR01LayDrugged = 212,
+ kGoalMcCoyNR04Drink = 220,
+ kGoalMcCoyNR04PassOut = 221,
kGoalMcCoyArrested = 500
};
@@ -1780,6 +1792,24 @@ enum GoalRunciter {
enum GoalEarlyQ {
// cut feature? goals 0 - 200 has no use as EarlyQ is walking around NR which is not accessible
kGoalEarlyQWalkAround = 200,
+
+ kGoalEarlyQNR04Enter = 201,
+ kGoalEarlyQNR04Talk1 = 202,
+ kGoalEarlyQNR04GoToBar = 203,
+ kGoalEarlyQNR04PourDrink = 204,
+ kGoalEarlyQNR04GoToMcCoy = 205,
+ kGoalEarlyQNR04McCoyPulledGun = 206,
+ kGoalEarlyQNR04SitDown = 207,
+ kGoalEarlyQNR04ScorpionsCheck = 208,
+ kGoalEarlyQNR04Talk2 = 209,
+ kGoalEarlyQNR04StungByScorpions = 210,
+ kGoalEarlyQNR04WaitForPulledGun = 211,
+ kGoalEarlyQNR04TakeDisk = 212,
+ kGoalEarlyQNR04Talk3 = 213,
+ kGoalEarlyQNR04AskForDisk = 214,
+ kGoalEarlyQNR04HandDrink = 215,
+ kGoalEarlyQNR04GetShot = 216,
+ kGoalEarlyQNR04Leave = 217,
kGoalEarlyQNR05Wait = 220,
kGoalEarlyQNR05WillLeave = 221,
kGoalEarlyQNR05Leave = 222,
@@ -1819,15 +1849,19 @@ enum GoalOfficerLeary {
enum GoalHanoi {
kGoalHanoiDefault = 200,
kGoalHanoiResetTimer = 201,
+ kGoalHanoiNR07TalkToMcCoy = 202,
+ kGoalHanoiNR07GrabMcCoy = 203,
kGoalHanoiNR03GoToDefaultPosition = 210,
kGoalHanoiNR03GoToSwivelTable = 211,
kGoalHanoiNR03GoToOfficeDoor = 212,
kGoalHanoiNR03GoToDancer = 213,
kGoalHanoiNR03StartGuarding = 215,
- kGoalHanoiNR03ThrowOutMcCoy = 220,
+ kGoalHanoiThrowOutMcCoy = 220,
kGoalHanoiNR08WatchShow = 230,
kGoalHanoiNR08Leave = 235,
- kGoalHanoiNR08Left = 236
+ kGoalHanoiNR08Left = 236,
+ kGoalHanoiNR04Enter = 240,
+ kGoalHanoiNR04ShootMcCoy = 241
};
enum GoalDeskClerk {
diff --git a/engines/bladerunner/script/ai/dektora.cpp b/engines/bladerunner/script/ai/dektora.cpp
index 4106224..cb5f1db 100644
--- a/engines/bladerunner/script/ai/dektora.cpp
+++ b/engines/bladerunner/script/ai/dektora.cpp
@@ -208,7 +208,7 @@ void AIScriptDektora::ClickedByPlayer() {
AI_Movement_Track_Flush(kActorHanoi);
Actor_Force_Stop_Walking(kActorMcCoy);
Player_Loses_Control();
- Actor_Set_Goal_Number(kActorHanoi, 220);
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
return; //true;
}
@@ -422,7 +422,7 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
break;
case 211:
- if (Player_Query_Current_Scene() == 61) {
+ if (Player_Query_Current_Scene() == kSceneNR08) {
Game_Flag_Set(651);
} else {
Game_Flag_Set(636);
@@ -431,8 +431,8 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Change_Animation_Mode(kActorDektora, 0);
Actor_Set_Goal_Number(kActorDektora, 200);
}
- if (Player_Query_Current_Scene() == 61) {
- Actor_Set_Goal_Number(kActorHanoi, 235);
+ if (Player_Query_Current_Scene() == kSceneNR08) {
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR08Leave);
} else {
Game_Flag_Reset(651);
}
diff --git a/engines/bladerunner/script/ai/early_q.cpp b/engines/bladerunner/script/ai/early_q.cpp
index 7237c15..093c51d 100644
--- a/engines/bladerunner/script/ai/early_q.cpp
+++ b/engines/bladerunner/script/ai/early_q.cpp
@@ -91,23 +91,23 @@ void AIScriptEarlyQ::TimerExpired(int timer) {
}
if (timer == 0
- && Actor_Query_Goal_Number(kActorEarlyQ) == 205
+ && Actor_Query_Goal_Number(kActorEarlyQ) == kGoalEarlyQNR04GoToMcCoy
) {
Player_Loses_Control();
AI_Countdown_Timer_Reset(kActorEarlyQ, 0);
- Actor_Set_Goal_Number(kActorEarlyQ, 215);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04HandDrink);
return; //true;
}
if (timer == 1
- && Actor_Query_Goal_Number(kActorEarlyQ) == 211
+ && Actor_Query_Goal_Number(kActorEarlyQ) == kGoalEarlyQNR04WaitForPulledGun
) {
AI_Countdown_Timer_Reset(kActorEarlyQ, 1);
Player_Loses_Control();
Actor_Change_Animation_Mode(kActorEarlyQ, 29);
Delay(2500);
- Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, 1);
- Actor_Change_Animation_Mode(kActorEarlyQ, 6);
+ Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
+ Actor_Change_Animation_Mode(kActorEarlyQ, kAnimationModeCombatAttack);
Delay(100);
_vm->_aiScripts->callChangeAnimationMode(kActorMcCoy, kAnimationModeCombatHit);
Delay(250);
@@ -151,15 +151,15 @@ void AIScriptEarlyQ::CompletedMovementTrack() {
Actor_Set_Goal_Number(kActorEarlyQ, 100);
break;
- case 201:
- Game_Flag_Set(569);
- Player_Set_Combat_Mode(0);
- Actor_Set_Targetable(kActorEarlyQ, 1);
- Actor_Set_Goal_Number(kActorEarlyQ, 202);
+ case kGoalEarlyQNR04Enter:
+ Game_Flag_Set(kFlagNR04EarlyQWalkedIn);
+ Player_Set_Combat_Mode(false);
+ Actor_Set_Targetable(kActorEarlyQ, true);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04Talk1);
break;
- case 203:
- Actor_Set_Goal_Number(kActorEarlyQ, 204);
+ case kGoalEarlyQNR04GoToBar:
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04PourDrink);
break;
case kGoalEarlyQNR05Leave:
@@ -198,29 +198,29 @@ void AIScriptEarlyQ::OtherAgentExitedThisScene(int otherActorId) {
}
void AIScriptEarlyQ::OtherAgentEnteredCombatMode(int otherActorId, int combatMode) {
- if ( Game_Flag_Query(569)
+ if ( Game_Flag_Query(kFlagNR04EarlyQWalkedIn)
&& otherActorId == kActorMcCoy
&& combatMode
- && !Game_Flag_Query(609)
+ && !Game_Flag_Query(kFlagNR04McCoyAimedAtEarlyQ)
) {
- if (!Game_Flag_Query(565)) {
- Game_Flag_Set(565);
+ if (!Game_Flag_Query(kFlagNotUsed565)) {
+ Game_Flag_Set(kFlagNotUsed565);
}
- Game_Flag_Set(609);
+ Game_Flag_Set(kFlagNR04McCoyAimedAtEarlyQ);
AI_Countdown_Timer_Reset(kActorEarlyQ, 0);
- Actor_Set_Goal_Number(kActorEarlyQ, 206);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04McCoyPulledGun);
return; // true;
}
- if ( Actor_Query_Goal_Number(kActorEarlyQ) == 211
+ if ( Actor_Query_Goal_Number(kActorEarlyQ) == kGoalEarlyQNR04WaitForPulledGun
&& otherActorId == kActorMcCoy
&& !combatMode
) {
- if (Game_Flag_Query(565) == 1) {
- Game_Flag_Reset(565);
+ if (Game_Flag_Query(kFlagNotUsed565)) {
+ Game_Flag_Reset(kFlagNotUsed565);
}
AI_Countdown_Timer_Reset(kActorEarlyQ, 1);
- Actor_Set_Goal_Number(kActorEarlyQ, 213);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04Talk3);
return; //true;
}
@@ -228,8 +228,8 @@ void AIScriptEarlyQ::OtherAgentEnteredCombatMode(int otherActorId, int combatMod
}
void AIScriptEarlyQ::ShotAtAndMissed() {
- if (Actor_Query_Goal_Number(kActorEarlyQ) == 211) {
- Actor_Set_Goal_Number(kActorEarlyQ, 216);
+ if (Actor_Query_Goal_Number(kActorEarlyQ) == kGoalEarlyQNR04WaitForPulledGun) {
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04GetShot);
//return true;
}
// return false;
@@ -239,7 +239,7 @@ bool AIScriptEarlyQ::ShotAtAndHit() {
if (Actor_Query_Goal_Number(kActorEarlyQ) >= 201
&& Actor_Query_Goal_Number(kActorEarlyQ) <= 217
) {
- Actor_Set_Goal_Number(kActorEarlyQ, 216);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04GetShot);
return true;
}
@@ -318,7 +318,7 @@ bool AIScriptEarlyQ::GoalChanged(int currentGoalNumber, int newGoalNumber) {
}
break;
- case 201:
+ case kGoalEarlyQNR04Enter:
AI_Movement_Track_Flush(kActorEarlyQ);
AI_Movement_Track_Append(kActorEarlyQ, 40, 0);
AI_Movement_Track_Append(kActorEarlyQ, 322, 0);
@@ -326,95 +326,95 @@ bool AIScriptEarlyQ::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Repeat(kActorEarlyQ);
break;
- case 203:
+ case kGoalEarlyQNR04GoToBar:
AI_Movement_Track_Flush(kActorEarlyQ);
AI_Movement_Track_Append(kActorEarlyQ, 355, 0);
AI_Movement_Track_Repeat(kActorEarlyQ);
- Actor_Face_Object(kActorMcCoy, "BAR", 1);
+ Actor_Face_Object(kActorMcCoy, "BAR", true);
break;
- case 205:
+ case kGoalEarlyQNR04GoToMcCoy:
Loop_Actor_Walk_To_Actor(kActorEarlyQ, 0, 36, 0, 0);
AI_Countdown_Timer_Reset(kActorEarlyQ, 0);
AI_Countdown_Timer_Start(kActorEarlyQ, 0, 4);
break;
- case 206:
+ case kGoalEarlyQNR04McCoyPulledGun:
Player_Set_Combat_Mode(kActorSteele);
- Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, 1);
- Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, 1);
+ Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
+ Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeCombatIdle);
- _vm->_aiScripts->callChangeAnimationMode(kActorMcCoy, 5);
- Actor_Says(kActorEarlyQ, 130, 3);
- Actor_Says(kActorMcCoy, 3400, 5);
- Actor_Says_With_Pause(kActorEarlyQ, 140, 1.0, 3);
- Actor_Says_With_Pause(kActorEarlyQ, 150, 1.0, 3);
- Actor_Says(kActorMcCoy, 3405, 5);
- Actor_Says(kActorEarlyQ, 160, 3);
- Actor_Says(kActorMcCoy, 3410, 5);
- _vm->_aiScripts->callChangeAnimationMode(kActorMcCoy, 4);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 31.22f, 0.0f, 267.51f, 0, 1, 0, 0);
- Actor_Set_Goal_Number(kActorEarlyQ, 207);
- break;
-
- case 208:
+ _vm->_aiScripts->callChangeAnimationMode(kActorMcCoy, kAnimationModeCombatAim);
+ Actor_Says(kActorEarlyQ, 130, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 3400, kAnimationModeCombatAim);
+ Actor_Says_With_Pause(kActorEarlyQ, 140, 1.0, kAnimationModeTalk);
+ Actor_Says_With_Pause(kActorEarlyQ, 150, 1.0, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 3405, kAnimationModeCombatAim);
+ Actor_Says(kActorEarlyQ, 160, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 3410, kAnimationModeCombatAim);
+ _vm->_aiScripts->callChangeAnimationMode(kActorMcCoy, kAnimationModeCombatIdle);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 31.22f, 0.0f, 267.51f, 0, true, false, 0);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04SitDown);
+ break;
+
+ case kGoalEarlyQNR04ScorpionsCheck:
if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
- Actor_Set_Goal_Number(kActorEarlyQ, 210);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04StungByScorpions);
} else {
- Actor_Set_Goal_Number(kActorEarlyQ, 209);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04Talk2);
}
break;
- case 210:
- Actor_Set_Targetable(kActorEarlyQ, 0);
- Game_Flag_Set(606);
+ case kGoalEarlyQNR04StungByScorpions:
+ Actor_Set_Targetable(kActorEarlyQ, false);
+ Game_Flag_Set(kFlagNR04EarlyQStungByScorpions);
Delay(3500);
Actor_Change_Animation_Mode(kActorEarlyQ, 76);
Delay(2000);
Actor_Set_At_XYZ(kActorEarlyQ, 109.0, 0.0, 374.0, 0);
- Actor_Retired_Here(kActorEarlyQ, 12, 12, 1, -1);
+ Actor_Retired_Here(kActorEarlyQ, 12, 12, true, -1);
Actor_Voice_Over(4180, kActorVoiceOver);
Scene_Exits_Enable();
break;
- case 211:
+ case kGoalEarlyQNR04WaitForPulledGun:
AI_Countdown_Timer_Reset(kActorEarlyQ, 1);
AI_Countdown_Timer_Start(kActorEarlyQ, 1, 5);
break;
- case 212:
- Actor_Says(kActorEarlyQ, 0, 3);
- Actor_Says(kActorEarlyQ, 10, 3);
- Actor_Says(kActorEarlyQ, 20, 3);
- Actor_Clue_Lose(kActorMcCoy, 89);
+ case kGoalEarlyQNR04TakeDisk:
+ Actor_Says(kActorEarlyQ, 0, kAnimationModeTalk);
+ Actor_Says(kActorEarlyQ, 10, kAnimationModeTalk);
+ Actor_Says(kActorEarlyQ, 20, kAnimationModeTalk);
+ Actor_Clue_Lose(kActorMcCoy, kClueEarlyQsClub);
Scene_Exits_Enable();
Player_Gains_Control();
- Game_Flag_Set(627);
- Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03ThrowOutMcCoy);
+ Game_Flag_Set(kFlagNR01McCoyIsDrugged);
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
break;
- case 215:
+ case kGoalEarlyQNR04HandDrink:
if (Actor_Query_Inch_Distance_From_Actor(kActorMcCoy, kActorEarlyQ) > 36) {
Loop_Actor_Walk_To_Actor(kActorEarlyQ, kActorMcCoy, 36, kActorMcCoy, kActorMcCoy);
}
- Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, 1);
- Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, 1);
+ Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
+ Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
Actor_Change_Animation_Mode(kActorEarlyQ, 23);
- Scene_Loop_Start_Special(2, 2, 0);
+ Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, false);
Ambient_Sounds_Play_Sound(582, 50, 99, 0, 0);
- Actor_Set_Goal_Number(kActorMcCoy, 220);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR04Drink);
break;
- case 216:
+ case kGoalEarlyQNR04GetShot:
AI_Movement_Track_Flush(kActorEarlyQ);
- Actor_Change_Animation_Mode(kActorEarlyQ, 48);
+ Actor_Change_Animation_Mode(kActorEarlyQ, kAnimationModeDie);
Delay(250);
Actor_Set_At_XYZ(kActorEarlyQ, 109.0, 0.0, 374.0, 0);
- Actor_Set_Goal_Number(kActorHanoi, 240);
- Player_Set_Combat_Mode(0);
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR04Enter);
+ Player_Set_Combat_Mode(false);
break;
- case 217:
+ case kGoalEarlyQNR04Leave:
AI_Movement_Track_Flush(kActorEarlyQ);
AI_Movement_Track_Append(kActorEarlyQ, 354, 0);
AI_Movement_Track_Append(kActorEarlyQ, 322, 0);
diff --git a/engines/bladerunner/script/ai/hanoi.cpp b/engines/bladerunner/script/ai/hanoi.cpp
index 2ddf27b..56c39c2 100644
--- a/engines/bladerunner/script/ai/hanoi.cpp
+++ b/engines/bladerunner/script/ai/hanoi.cpp
@@ -105,8 +105,8 @@ void AIScriptHanoi::TimerExpired(int timer) {
return; //true;
}
- if (Actor_Query_Goal_Number(kActorHanoi) != kGoalHanoiNR03ThrowOutMcCoy) {
- Actor_Set_Goal_Number(kActorHanoi, 202);
+ if (Actor_Query_Goal_Number(kActorHanoi) != kGoalHanoiThrowOutMcCoy) {
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR07TalkToMcCoy);
return; //true;
}
}
@@ -115,20 +115,20 @@ void AIScriptHanoi::TimerExpired(int timer) {
void AIScriptHanoi::CompletedMovementTrack() {
switch (Actor_Query_Goal_Number(kActorHanoi)) {
- case 202:
+ case kGoalHanoiNR07TalkToMcCoy:
Actor_Says(kActorHanoi, 130, 3);
Actor_Says(kActorDektora, 540, 30);
- Actor_Set_Goal_Number(kActorHanoi, 203);
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR07GrabMcCoy);
break;
- case 203:
+ case kGoalHanoiNR07GrabMcCoy:
Actor_Face_Actor(kActorHanoi, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorHanoi, true);
Actor_Change_Animation_Mode(kActorHanoi, 23);
Actor_Set_Invisible(kActorMcCoy, true);
Actor_Says(kActorMcCoy, 3595, kAnimationModeTalk);
Actor_Says(kActorHanoi, 140, kAnimationModeTalk);
- Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03ThrowOutMcCoy);
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
break;
case kGoalHanoiNR03GoToDancer:
@@ -139,8 +139,8 @@ void AIScriptHanoi::CompletedMovementTrack() {
Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR08Left);
break;
- case 240:
- Actor_Set_Goal_Number(kActorHanoi, 241);
+ case kGoalHanoiNR04Enter:
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR04ShootMcCoy);
break;
default:
@@ -184,9 +184,9 @@ void AIScriptHanoi::OtherAgentEnteredCombatMode(int otherActorId, int combatMode
&& otherActorId == kActorMcCoy
&& combatMode
) {
- Player_Set_Combat_Mode(kActorMcCoy);
+ Player_Set_Combat_Mode(false);
Player_Loses_Control();
- Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03ThrowOutMcCoy);
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
return; //true;
}
return; //false;
@@ -222,11 +222,11 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Countdown_Timer_Start(kActorHanoi, 0, 45);
break;
- case 201:
+ case kGoalHanoiResetTimer:
AI_Countdown_Timer_Reset(kActorHanoi, 0);
break;
- case 202:
+ case kGoalHanoiNR07TalkToMcCoy:
if (Actor_Query_Which_Set_In(kActorMcCoy) == kSetNR07
&& Actor_Query_In_Set(kActorDektora, kSetNR07)
) {
@@ -242,7 +242,7 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
}
break;
- case 203:
+ case kGoalHanoiNR07GrabMcCoy:
if (Actor_Query_Which_Set_In(kActorMcCoy) != kSetNR07) {
return false;
}
@@ -252,7 +252,7 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
break;
case 204:
- Actor_Says(kActorHanoi, 210, 3);
+ Actor_Says(kActorHanoi, 210, kAnimationModeTalk);
Actor_Change_Animation_Mode(kActorHanoi, 23);
break;
@@ -287,7 +287,7 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Countdown_Timer_Start(kActorHanoi, 0, 6);
break;
- case kGoalHanoiNR03ThrowOutMcCoy:
+ case kGoalHanoiThrowOutMcCoy:
Game_Flag_Set(kFlagNR03McCoyThrownOut);
AI_Countdown_Timer_Reset(kActorHanoi, 0);
Player_Loses_Control();
@@ -318,7 +318,7 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
case kGoalHanoiNR08Left:
break;
- case 240:
+ case kGoalHanoiNR04Enter:
Actor_Put_In_Set(kActorHanoi, kSetNR04);
Actor_Set_At_XYZ(kActorHanoi, -47.0f, 0.0f, 334.0f, 535);
AI_Movement_Track_Flush(kActorHanoi);
@@ -326,10 +326,10 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Repeat(kActorHanoi);
break;
- case 241:
- Actor_Face_Actor(kActorHanoi, kActorMcCoy, 1);
- Actor_Change_Animation_Mode(kActorHanoi, 6);
- Actor_Retired_Here(kActorMcCoy, 12, 12, 1, -1);
+ case kGoalHanoiNR04ShootMcCoy:
+ Actor_Face_Actor(kActorHanoi, kActorMcCoy, true);
+ Actor_Change_Animation_Mode(kActorHanoi, kAnimationModeCombatAttack);
+ Actor_Retired_Here(kActorMcCoy, 12, 12, true, -1);
break;
case 9999:
@@ -474,7 +474,7 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
_animationState = 0;
_animationFrame = 0;
*animation = 648;
- Actor_Set_Goal_Number(kActorMcCoy, 210);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR01ThrownOut);
Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03GoToDefaultPosition);
}
break;
@@ -503,7 +503,7 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
_animationState = 8;
_animationFrame = 0;
*animation = 642;
- Actor_Set_Goal_Number(kActorHanoi, 241);
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR04ShootMcCoy);
}
break;
@@ -521,7 +521,7 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
if (_animationFrame == 5) {
Actor_Force_Stop_Walking(kActorMcCoy);
- Actor_Change_Animation_Mode(kActorMcCoy, 48);
+ Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
}
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp
index 720c8ef..a0a122e 100644
--- a/engines/bladerunner/script/ai/mccoy.cpp
+++ b/engines/bladerunner/script/ai/mccoy.cpp
@@ -31,8 +31,8 @@ AIScriptMcCoy::AIScriptMcCoy(BladeRunnerEngine *vm) : AIScriptBase(vm) {
dword_45A0E4 = 0;
off_45A0EC = 0.0f;
dword_45A0E8 = 0;
- dword_45A0F0 = 0;
- dword_45A0F4 = 0;
+ _animationStateNextSpecial = 0;
+ _animationNextSpecial = 0;
dword_45A0F8 = 0;
dword_45A0FC = 0;
off_45A100 = 0.0f;
@@ -49,12 +49,12 @@ void AIScriptMcCoy::Initialize() {
dword_45A0E4 = 0;
off_45A0EC = 0;
dword_45A0E8 = 3;
- dword_45A0F0 = 3;
- dword_45A0F4 = 20;
+ _animationStateNextSpecial = 3;
+ _animationNextSpecial = 20;
dword_45A0F8 = -1;
dword_45A0FC = 0;
off_45A100 = 0;
- Actor_Set_Goal_Number(kActorMcCoy, 0);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
}
bool AIScriptMcCoy::Update() {
@@ -81,8 +81,8 @@ bool AIScriptMcCoy::Update() {
}
return true;
- case 201:
- Actor_Set_Goal_Number(kActorMcCoy, 0);
+ case kGoalMcCoyNRxxStandUp:
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
if (Player_Query_Current_Set() == kSetNR03) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -166.0f, -70.19f, -501.0f, 0, false, false, 0);
Actor_Face_Heading(kActorMcCoy, 300, false);
@@ -92,17 +92,17 @@ bool AIScriptMcCoy::Update() {
Player_Gains_Control();
return true;
- case 212:
+ case kGoalMcCoyNR01LayDrugged:
if (Global_Variable_Query(47) >= 13) {
Global_Variable_Set(47, 500);
- } else if (Global_Variable_Query(47) > 0) {
+ } if (Global_Variable_Query(47) > 0) {
Global_Variable_Decrement(47, 1);
}
break;
- case 221:
- Actor_Set_Goal_Number(kActorMcCoy, 0);
- Actor_Set_Goal_Number(kActorEarlyQ, 212);
+ case kGoalMcCoyNR04PassOut:
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04TakeDisk);
return true;
case 309:
@@ -327,18 +327,17 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Face_Actor(kActorMcCoy, kActorSadik, true);
return true;
-
- case 200:
+ case kGoalMcCoyNRxxSitAtTable:
Player_Loses_Control();
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeIdle);
return true;
- case kGoalMcCoyNR03ThrownOut:
+ case kGoalMcCoyNR01ThrownOut:
Actor_Put_In_Set(kActorMcCoy, kSetNR01);
Actor_Set_At_XYZ(kActorMcCoy, -204.0f, 24.0f, -817.0f, 256);
Actor_Set_Invisible(kActorMcCoy, false);
- if (Game_Flag_Query(627)) {
- Actor_Set_Goal_Number(kActorMcCoy, 212);
+ if (Game_Flag_Query(kFlagNR01McCoyIsDrugged)) {
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR01LayDrugged);
} else {
_animationState = 53;
_animationFrame = Slice_Animation_Query_Number_Of_Frames(18) - 1;
@@ -346,7 +345,7 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
}
return true;
- case 211:
+ case kGoalMcCoyNR01GetUp:
Actor_Face_Heading(kActorMcCoy, 512, false);
Actor_Face_Heading(kActorMcCoy, 768, true);
if (Random_Query(0, 1)) {
@@ -356,11 +355,11 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
}
Delay(150);
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeIdle);
- Actor_Set_Goal_Number(kActorMcCoy, 0);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
Player_Gains_Control();
return true;
- case 212:
+ case kGoalMcCoyNR01LayDrugged:
Global_Variable_Set(47, 0);
Player_Set_Combat_Mode_Access(false);
Player_Gains_Control();
@@ -369,7 +368,7 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
_animationFrame = Slice_Animation_Query_Number_Of_Frames(18) - 1;
return true;
- case 220:
+ case kGoalMcCoyNR04Drink:
Actor_Change_Animation_Mode(kActorMcCoy, 75);
return true;
@@ -560,10 +559,10 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
*animation = 19;
_animationState = 0;
_animationFrame = 0;
- Game_Flag_Reset(627);
+ Game_Flag_Reset(kFlagNR01McCoyIsDrugged);
Scene_Exits_Enable();
Player_Set_Combat_Mode_Access(true);
- Actor_Set_Goal_Number(kActorMcCoy, 0);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
}
break;
case 67:
@@ -574,8 +573,8 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
*animation = 19;
_animationState = 0;
_animationFrame = 0;
- if (Actor_Query_Goal_Number(kActorMcCoy) == 220) {
- Actor_Change_Animation_Mode(kActorMcCoy, 48);
+ if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyNR04Drink) {
+ Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
}
}
break;
@@ -596,7 +595,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
_animationFrame = 0;
_animationState = 14;
*animation = 0;
- Actor_Set_Goal_Number(kActorMcCoy, 0);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
}
break;
case 64:
@@ -631,8 +630,8 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
*animation = 19;
_animationFrame = 0;
_animationState = 0;
- if (Actor_Query_Goal_Number(kActorMcCoy) == 200) {
- Actor_Set_Goal_Number(kActorMcCoy, 201);
+ if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyNRxxSitAtTable) {
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNRxxStandUp);
}
}
break;
@@ -721,8 +720,8 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyBB11GetUp) {
Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyBB11PrepareToRunAway);
}
- if (Actor_Query_Goal_Number(kActorMcCoy) == 210) {
- Actor_Set_Goal_Number(kActorMcCoy, 211);
+ if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyNR01ThrownOut) {
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR01GetUp);
}
}
break;
@@ -740,7 +739,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(28)) {
Player_Set_Combat_Mode(true);
sub_405800();
- Actor_Set_Goal_Number(kActorMcCoy, 0);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
_animationFrame = 0;
Player_Gains_Control();
}
@@ -753,7 +752,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
*animation = 34;
_animationFrame++;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(34)) {
- Actor_Set_Goal_Number(kActorMcCoy, 0);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
*animation = 19;
_animationFrame = 0;
sub_405660();
@@ -996,8 +995,8 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
_animationFrame = Slice_Animation_Query_Number_Of_Frames(*animation) - 1;
_animationState = 50;
sub_4054F0();
- if (Actor_Query_Goal_Number(kActorMcCoy) == 220) {
- Actor_Set_Goal_Number(kActorMcCoy, 221);
+ if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyNR04Drink) {
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR04PassOut);
}
}
break;
@@ -1211,10 +1210,10 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
case 4:
if (_animationFrame == 0 && !Game_Flag_Query(kFlagMcCoyAnimation1)) {
_animationFrame = 1;
- _animationState = dword_45A0F0;
- *animation = dword_45A0F4;
- dword_45A0F0 = 4;
- dword_45A0F4 = 20;
+ _animationState = _animationStateNextSpecial;
+ *animation = _animationNextSpecial;
+ _animationStateNextSpecial = 4;
+ _animationNextSpecial = 20;
} else if (_animationFrame <= 4 && Game_Flag_Query(kFlagMcCoyAnimation1)) {
Game_Flag_Reset(kFlagMcCoyAnimation1);
*animation = 19;
@@ -1380,8 +1379,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
_animationNext = 20;
} else {
Game_Flag_Reset(kFlagMcCoyAnimation1);
- dword_45A0F0 = 4;
- dword_45A0F4 = 20;
+ _animationStateNextSpecial = 4;
+ _animationNextSpecial = 20;
}
break;
@@ -1472,8 +1471,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
_animationNext = 21;
} else {
Game_Flag_Reset(kFlagMcCoyAnimation1);
- dword_45A0F0 = 5;
- dword_45A0F4 = 21;
+ _animationStateNextSpecial = 5;
+ _animationNextSpecial = 21;
}
break;
@@ -1485,8 +1484,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
_animationNext = 27;
} else {
Game_Flag_Reset(kFlagMcCoyAnimation1);
- dword_45A0F0 = 6;
- dword_45A0F4 = 27;
+ _animationStateNextSpecial = 6;
+ _animationNextSpecial = 27;
}
break;
@@ -1498,8 +1497,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
_animationNext = 22;
} else {
Game_Flag_Reset(kFlagMcCoyAnimation1);
- dword_45A0F0 = 7;
- dword_45A0F4 = 22;
+ _animationStateNextSpecial = 7;
+ _animationNextSpecial = 22;
}
break;
@@ -1510,8 +1509,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
_animationNext = 23;
} else {
Game_Flag_Reset(kFlagMcCoyAnimation1);
- dword_45A0F0 = 8;
- dword_45A0F4 = 23;
+ _animationStateNextSpecial = 8;
+ _animationNextSpecial = 23;
}
break;
@@ -1522,8 +1521,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
_animationNext = 24;
} else {
Game_Flag_Reset(kFlagMcCoyAnimation1);
- dword_45A0F0 = 9;
- dword_45A0F4 = 24;
+ _animationStateNextSpecial = 9;
+ _animationNextSpecial = 24;
}
break;
@@ -1534,8 +1533,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
_animationNext = 25;
} else {
Game_Flag_Reset(kFlagMcCoyAnimation1);
- dword_45A0F0 = 10;
- dword_45A0F4 = 25;
+ _animationStateNextSpecial = 10;
+ _animationNextSpecial = 25;
}
break;
@@ -1546,8 +1545,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
_animationNext = 26;
} else {
Game_Flag_Reset(kFlagMcCoyAnimation1);
- dword_45A0F0 = 11;
- dword_45A0F4 = 26;
+ _animationStateNextSpecial = 11;
+ _animationNextSpecial = 26;
}
break;
@@ -1558,8 +1557,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
_animationNext = 27;
} else {
Game_Flag_Reset(kFlagMcCoyAnimation1);
- dword_45A0F0 = 12;
- dword_45A0F4 = 27;
+ _animationStateNextSpecial = 12;
+ _animationNextSpecial = 27;
}
break;
@@ -1763,14 +1762,17 @@ void AIScriptMcCoy::sub_4053E0() {
off_45A100 = off_45A100 - 0.2f;
} else {
flt_462710 = flt_462714;
- Actor_Set_Goal_Number(kActorMcCoy, 0);
- Actor_Retired_Here(kActorMcCoy, 12, 48, 1, -1);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
+ Actor_Retired_Here(kActorMcCoy, 12, 48, true, -1);
}
return Actor_Set_At_XYZ(kActorMcCoy, x, flt_462710, z, Actor_Query_Facing_1024(kActorMcCoy));
}
void AIScriptMcCoy::sub_4054F0() {
- if (Actor_Query_Which_Set_In(kActorMcCoy) == kSetUG15 && Actor_Query_Goal_Number(kActorMcCoy) != 390 && !Game_Flag_Query(682)) {
+ if (Actor_Query_Which_Set_In(kActorMcCoy) == kSetUG15
+ && Actor_Query_Goal_Number(kActorMcCoy) != 390
+ && !Game_Flag_Query(682)
+ ) {
float x, y, z;
Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
if ((z < 220.0f) && (-210.0f < x) && (-70.0f > x)) {
diff --git a/engines/bladerunner/script/ai_script.h b/engines/bladerunner/script/ai_script.h
index 134a6a9..f0f0c95 100644
--- a/engines/bladerunner/script/ai_script.h
+++ b/engines/bladerunner/script/ai_script.h
@@ -102,8 +102,8 @@ DECLARE_SCRIPT(McCoy)
int dword_45A0E4;
float off_45A0EC;
int dword_45A0E8;
- int dword_45A0F0;
- int dword_45A0F4;
+ int _animationStateNextSpecial;
+ int _animationNextSpecial;
int dword_45A0F8;
int dword_45A0FC;
float off_45A100;
diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp
index 76575f2..a14c9e7 100644
--- a/engines/bladerunner/script/scene/nr01.cpp
+++ b/engines/bladerunner/script/scene/nr01.cpp
@@ -105,7 +105,7 @@ void SceneScriptNR01::SceneLoaded() {
}
bool SceneScriptNR01::MouseClick(int x, int y) {
- if (Actor_Query_Goal_Number(kActorMcCoy) == 212) {
+ if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyNR01LayDrugged) {
Global_Variable_Increment(47, 4);
return true;
}
diff --git a/engines/bladerunner/script/scene/nr03.cpp b/engines/bladerunner/script/scene/nr03.cpp
index 26f8784..4f97be5 100644
--- a/engines/bladerunner/script/scene/nr03.cpp
+++ b/engines/bladerunner/script/scene/nr03.cpp
@@ -165,7 +165,7 @@ bool SceneScriptNR03::ClickedOnExit(int exitId) {
Actor_Says(kActorHanoi, 210, 15);
AI_Movement_Track_Unpause(kActorHanoi);
} else if (warnings == 2) {
- Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03ThrowOutMcCoy);
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
}
// game bug? after reentering this does nothing as variable is never reset or checked for > 2
Global_Variable_Increment(kVariableHanoiNR04Warnings, 1);
@@ -204,7 +204,7 @@ bool SceneScriptNR03::ClickedOnExit(int exitId) {
Actor_Says(kActorHanoi, 210, 12);
AI_Movement_Track_Unpause(kActorHanoi);
} else if (warnings == 2) {
- Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03ThrowOutMcCoy);
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
}
// game bug? after reentering this does nothing as variable is never reset or checked for > 2
Global_Variable_Increment(kVariableHanoiNR05Warnings, 1);
@@ -267,7 +267,7 @@ void SceneScriptNR03::SceneFrameAdvanced(int frame) {
if (Actor_Query_Goal_Number(kActorGuzza) == kGoalGuzzaSitAtNR03) {
Actor_Set_Goal_Number(kActorGuzza, 200);
} else if (!Game_Flag_Query(kFlagNR03toNR05)) {
- Actor_Set_Goal_Number(kActorMcCoy, 200);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNRxxSitAtTable);
Player_Gains_Control();
}
}
@@ -293,7 +293,7 @@ void SceneScriptNR03::PlayerWalkedIn() {
}
if (Player_Query_Combat_Mode()) {
- Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03ThrowOutMcCoy);
+ Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
}
//return false;
}
diff --git a/engines/bladerunner/script/scene/nr04.cpp b/engines/bladerunner/script/scene/nr04.cpp
index 3af9c3e..0d90781 100644
--- a/engines/bladerunner/script/scene/nr04.cpp
+++ b/engines/bladerunner/script/scene/nr04.cpp
@@ -73,7 +73,7 @@ bool SceneScriptNR04::MouseClick(int x, int y) {
return true;
}
- if (Actor_Query_Animation_Mode(kActorMcCoy) == 53) {
+ if (Actor_Query_Animation_Mode(kActorMcCoy) == kAnimationModeSit) {
Actor_Change_Animation_Mode(kActorMcCoy, 29);
return true;
}
@@ -88,50 +88,54 @@ bool SceneScriptNR04::ClickedOn3DObject(const char *objectName, bool a2) {
|| Object_Query_Click("DESK", objectName)
) {
if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 546, 0, true, false)) {
- if (!Object_Query_Click("DESK", objectName)) {
- Actor_Face_Object(kActorMcCoy, "B.TV01", true);
- Actor_Voice_Over(1530, kActorVoiceOver);
- Actor_Voice_Over(1540, kActorVoiceOver);
- Actor_Voice_Over(1550, kActorVoiceOver);
- } else {
+ if (Object_Query_Click("DESK", objectName)) {
Actor_Face_Object(kActorMcCoy, "DESK", true);
if (!Actor_Clue_Query(kActorMcCoy, kCluePeruvianLadyInterview)) {
Actor_Voice_Over(1600, kActorVoiceOver);
Actor_Voice_Over(1610, kActorVoiceOver);
- } else if (Actor_Clue_Query(kActorMcCoy, kClueCollectionReceipt)) {
- Actor_Says(kActorMcCoy, 8580, kAnimationModeTalk);
- } else {
+ } else if (!Actor_Clue_Query(kActorMcCoy, kClueCollectionReceipt)) {
Actor_Clue_Acquire(kActorMcCoy, kClueCollectionReceipt, false, -1);
Item_Pickup_Spin_Effect(961, 247, 141);
Actor_Voice_Over(1560, kActorVoiceOver);
Actor_Voice_Over(1570, kActorVoiceOver);
Actor_Voice_Over(1580, kActorVoiceOver);
Actor_Voice_Over(1590, kActorVoiceOver);
+ } else {
+ Actor_Says(kActorMcCoy, 8580, kAnimationModeTalk);
}
-
+ } else {
+ Actor_Face_Object(kActorMcCoy, "B.TV01", true);
+ Actor_Voice_Over(1530, kActorVoiceOver);
+ Actor_Voice_Over(1540, kActorVoiceOver);
+ Actor_Voice_Over(1550, kActorVoiceOver);
}
}
- } else if ( Object_Query_Click("TORUS01", objectName)
- && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.56f, 0.0f, 38.86f, 0, true, false, 0)
- && !Game_Flag_Query(605)
+ return false;
+ }
+
+ if ( Object_Query_Click("TORUS01", objectName)
+ && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.56f, 0.0f, 38.86f, 0, true, false, 0)
+ && !Game_Flag_Query(kFlagNR04DiscFound)
) {
Unclickable_Object("TORUS01");
Scene_Exits_Disable();
Player_Loses_Control();
- Game_Flag_Set(605);
+ Game_Flag_Set(kFlagNR04DiscFound);
Actor_Face_Object(kActorMcCoy, "TORUS01", true);
Item_Pickup_Spin_Effect(975, 358, 160);
Actor_Voice_Over(1620, kActorVoiceOver);
Actor_Voice_Over(1630, kActorVoiceOver);
Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQsClub, false, -1);
- Actor_Set_Goal_Number(kActorEarlyQ, 201);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04Enter);
+ return false;
}
+
return false;
}
bool SceneScriptNR04::ClickedOnActor(int actorId) {
if (actorId == kActorEarlyQ
- && Game_Flag_Query(606)
+ && Game_Flag_Query(kFlagNR04EarlyQStungByScorpions)
) {
Actor_Voice_Over(1640, kActorVoiceOver);
Actor_Voice_Over(1650, kActorVoiceOver);
@@ -149,7 +153,7 @@ bool SceneScriptNR04::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptNR04::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 45.0f, 0.0f, -106.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 45.0f, 0.0f, -106.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagNR04toNR03);
@@ -161,37 +165,46 @@ bool SceneScriptNR04::ClickedOnExit(int exitId) {
}
bool SceneScriptNR04::ClickedOn2DRegion(int region) {
- if ((region == 0 || region == 1 || region == 2)
- && Actor_Query_Which_Set_In(kActorEarlyQ) != 12
- && Actor_Query_Animation_Mode(kActorMcCoy) != 53
- && !Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 445, 0, true, false)
+ if ((region == 0
+ || region == 1
+ || region == 2
+ )
+ && Actor_Query_Which_Set_In(kActorEarlyQ) != kSetNR04
+ && Actor_Query_Animation_Mode(kActorMcCoy) != kAnimationModeSit
) {
- Actor_Face_Heading(kActorMcCoy, 49, false);
- Actor_Change_Animation_Mode(kActorMcCoy, 85);
- Delay(2500);
- if (Game_Flag_Query(606) == 1) {
+ if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 445, 0, true, false)) {
+ Actor_Face_Heading(kActorMcCoy, 49, false);
+ Actor_Change_Animation_Mode(kActorMcCoy, 85);
+ Delay(2500);
+
+ if (!Game_Flag_Query(kFlagNR04EarlyQStungByScorpions)
+ && Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)
+ ) {
+ Player_Loses_Control();
+ Actor_Voice_Over(4180, kActorVoiceOver);
+ Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
+ Ambient_Sounds_Play_Sound(555, 90, 99, 0, 0);
+ Delay(350);
+ Actor_Set_At_XYZ(kActorMcCoy, 109.0f, 0.0f, 374.0f, 0);
+ Actor_Retired_Here(kActorMcCoy, 12, 12, true, -1);
+ }
return true;
}
- if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
- Player_Loses_Control();
- Actor_Voice_Over(4180, kActorVoiceOver);
- Actor_Change_Animation_Mode(kActorMcCoy, 48);
- Ambient_Sounds_Play_Sound(555, 90, 99, 0, 0);
- Delay(350);
- Actor_Set_At_XYZ(kActorMcCoy, 109.0f, 0.0f, 374.0f, 0);
- Actor_Retired_Here(kActorMcCoy, 12, 12, 1, -1);
- }
- return true;
}
return false;
}
void SceneScriptNR04::SceneFrameAdvanced(int frame) {
- if (frame == 1 && !Music_Is_Playing()) {
- sub_402960();
+ if ( frame == 1
+ && !Music_Is_Playing()
+ ) {
+ playNextMusic();
}
- if (frame > 60 && frame < 120) {
- sub_402860(frame);
+
+ if (frame > 60
+ && frame < 120
+ ) {
+ druggedEffect(frame);
} else if (frame == 120) {
Set_Fade_Color(1.0f, 1.0f, 1.0f);
Set_Fade_Density(0.0f);
@@ -202,51 +215,23 @@ void SceneScriptNR04::SceneFrameAdvanced(int frame) {
void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) {
if (actorId == kActorEarlyQ) {
switch (newGoal) {
- case 214:
- Actor_Change_Animation_Mode(kActorEarlyQ, 29);
- Delay(2500);
- Actor_Says(kActorEarlyQ, 290, 3);
- sub_401DB0();
- //return true;
- break;
- case 213:
- Actor_Clue_Acquire(kActorMcCoy, kClueDektorasDressingRoom, false, kActorEarlyQ);
- Item_Pickup_Spin_Effect(984, 200, 160);
- Actor_Says(kActorEarlyQ, 200, 30);
- Actor_Says(kActorEarlyQ, 210, 30);
- Actor_Says(kActorEarlyQ, 220, 30);
- Actor_Says_With_Pause(kActorMcCoy, 3425, 1.5f, 23);
- Actor_Says(kActorMcCoy, 3430, 3);
- Actor_Says(kActorEarlyQ, 240, 30);
- Actor_Says(kActorMcCoy, 3435, 3);
- Actor_Says(kActorEarlyQ, 250, 30);
- Actor_Says(kActorMcCoy, 3440, 3);
- Actor_Says(kActorEarlyQ, 280, 30);
- Actor_Says(kActorMcCoy, 3445, 3);
- Actor_Set_Goal_Number(kActorEarlyQ, 214);
- //return true;
- break;
- case 209:
- Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
- Delay(3000);
- Actor_Says(kActorEarlyQ, 170, 30);
- Actor_Says(kActorMcCoy, 3415, 3);
- Actor_Says(kActorEarlyQ, 180, 30);
- Actor_Says_With_Pause(kActorMcCoy, 3420, 1.5f, 3);
- Actor_Says(kActorEarlyQ, 190, 30);
- Actor_Set_Goal_Number(kActorEarlyQ, 211);
- //return true;
- break;
- case 207:
- Loop_Actor_Walk_To_Waypoint(kActorEarlyQ, 445, 0, 1, false);
- Actor_Face_Heading(kActorEarlyQ, 49, false);
- Actor_Change_Animation_Mode(kActorEarlyQ, 85);
+ case kGoalEarlyQNR04Talk1:
+ Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
- Actor_Set_Goal_Number(kActorEarlyQ, 208);
- Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQInterview, false, kActorEarlyQ);
+ Actor_Says(kActorEarlyQ, 30, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 3375, kAnimationModeTalk);
+ Actor_Says_With_Pause(kActorEarlyQ, 50, 1.5f, kAnimationModeTalk);
+ Actor_Says(kActorEarlyQ, 60, kAnimationModeTalk);
+ Actor_Says_With_Pause(kActorMcCoy, 3380, 1.0f, kAnimationModeTalk);
+ Actor_Says(kActorEarlyQ, 70, kAnimationModeTalk);
+ Actor_Says(kActorMcCoy, 3415, kAnimationModeTalk);
+ Actor_Says(kActorEarlyQ, 80, kAnimationModeTalk);
+ Player_Gains_Control();
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04GoToBar);
//return true;
break;
- case 204:
+
+ case kGoalEarlyQNR04PourDrink:
Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
Actor_Says(kActorEarlyQ, 90, 73);
Actor_Says(kActorMcCoy, 3390, 3);
@@ -255,22 +240,55 @@ void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
Actor_Says(kActorMcCoy, 3385, 3);
Actor_Says(kActorEarlyQ, 120, 74);
Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
- Actor_Set_Goal_Number(kActorEarlyQ, 205);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04GoToMcCoy);
//return true;
break;
- case 202:
- Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
+
+ case kGoalEarlyQNR04SitDown:
+ Loop_Actor_Walk_To_Waypoint(kActorEarlyQ, 445, 0, true, false);
+ Actor_Face_Heading(kActorEarlyQ, 49, false);
+ Actor_Change_Animation_Mode(kActorEarlyQ, 85);
Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
- Actor_Says(kActorEarlyQ, 30, 3);
- Actor_Says(kActorMcCoy, 3375, 3);
- Actor_Says_With_Pause(kActorEarlyQ, 50, 1.5f, 3);
- Actor_Says(kActorEarlyQ, 60, 3);
- Actor_Says_With_Pause(kActorMcCoy, 3380, 1.0f, 3);
- Actor_Says(kActorEarlyQ, 70, 3);
- Actor_Says(kActorMcCoy, 3415, 3);
- Actor_Says(kActorEarlyQ, 80, 3);
- Player_Gains_Control();
- Actor_Set_Goal_Number(kActorEarlyQ, 203);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04ScorpionsCheck);
+ Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQInterview, false, kActorEarlyQ);
+ //return true;
+ break;
+
+ case kGoalEarlyQNR04Talk2:
+ Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
+ Delay(3000);
+ Actor_Says(kActorEarlyQ, 170, 30);
+ Actor_Says(kActorMcCoy, 3415, kAnimationModeTalk);
+ Actor_Says(kActorEarlyQ, 180, 30);
+ Actor_Says_With_Pause(kActorMcCoy, 3420, 1.5f, kAnimationModeTalk);
+ Actor_Says(kActorEarlyQ, 190, 30);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04WaitForPulledGun);
+ //return true;
+ break;
+
+ case kGoalEarlyQNR04Talk3:
+ Actor_Clue_Acquire(kActorMcCoy, kClueDektorasDressingRoom, false, kActorEarlyQ);
+ Item_Pickup_Spin_Effect(984, 200, 160);
+ Actor_Says(kActorEarlyQ, 200, 30);
+ Actor_Says(kActorEarlyQ, 210, 30);
+ Actor_Says(kActorEarlyQ, 220, 30);
+ Actor_Says_With_Pause(kActorMcCoy, 3425, 1.5f, 23);
+ Actor_Says(kActorMcCoy, 3430, kAnimationModeTalk);
+ Actor_Says(kActorEarlyQ, 240, 30);
+ Actor_Says(kActorMcCoy, 3435, kAnimationModeTalk);
+ Actor_Says(kActorEarlyQ, 250, 30);
+ Actor_Says(kActorMcCoy, 3440, kAnimationModeTalk);
+ Actor_Says(kActorEarlyQ, 280, 30);
+ Actor_Says(kActorMcCoy, 3445, kAnimationModeTalk);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04AskForDisk);
+ //return true;
+ break;
+
+ case kGoalEarlyQNR04AskForDisk:
+ Actor_Change_Animation_Mode(kActorEarlyQ, 29);
+ Delay(2500);
+ Actor_Says(kActorEarlyQ, 290, kAnimationModeTalk);
+ dialogueWithEarlyQ();
//return true;
break;
}
@@ -279,9 +297,9 @@ void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptNR04::PlayerWalkedIn() {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 53.0f, 0.0f, -26.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 53.0f, 0.0f, -26.0f, 0, false, false, 0);
if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
- Overlay_Play("nr04over", 0, 1, 0, 0);
+ Overlay_Play("nr04over", 0, true, false, 0);
Delay(4000);
Overlay_Remove("nr04over");
}
@@ -294,28 +312,30 @@ void SceneScriptNR04::PlayerWalkedOut() {
void SceneScriptNR04::DialogueQueueFlushed(int a1) {
}
-void SceneScriptNR04::sub_401DB0() {
+void SceneScriptNR04::dialogueWithEarlyQ() {
Dialogue_Menu_Clear_List();
- DM_Add_To_List(1530, 10, 5, 3);
- DM_Add_To_List(1540, 3, 5, 10);
+ DM_Add_To_List(1530, 10, 5, 3); // GIVE DISC
+ DM_Add_To_List(1540, 3, 5, 10); // KEEP IT
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
- if (answer == 1530) {
- Loop_Actor_Walk_To_Actor(kActorEarlyQ, kActorMcCoy, 36, 0, false);
+
+ if (answer == 1530) { // GIVE DISC
+ Loop_Actor_Walk_To_Actor(kActorEarlyQ, kActorMcCoy, 36, false, false);
Actor_Change_Animation_Mode(kActorMcCoy, 23);
Actor_Change_Animation_Mode(kActorEarlyQ, 23);
Delay(1500);
- Actor_Says(kActorEarlyQ, 300, 3);
- Actor_Change_Animation_Mode(kActorMcCoy, 0);
- Actor_Change_Animation_Mode(kActorEarlyQ, 0);
- Actor_Says(kActorEarlyQ, 310, 3);
- ADQ_Add(kActorMcCoy, 3450, 3);
+ Actor_Says(kActorEarlyQ, 300, kAnimationModeTalk);
+ Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeIdle);
+ Actor_Change_Animation_Mode(kActorEarlyQ, kAnimationModeIdle);
+ Actor_Says(kActorEarlyQ, 310, kAnimationModeTalk);
+ ADQ_Add(kActorMcCoy, 3450, kAnimationModeTalk);
Actor_Set_Targetable(kActorEarlyQ, false);
- Actor_Set_Goal_Number(kActorEarlyQ, 217);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04Leave);
Actor_Clue_Lose(kActorMcCoy, kClueEarlyQsClub);
Scene_Exits_Enable();
- } else if (answer == 1540) {
+ } else if (answer == 1540) { // KEEP IT
Actor_Says(kActorMcCoy, 8512, 15);
Actor_Says(kActorEarlyQ, 320, 12);
Actor_Says(kActorMcCoy, 3455, 13);
@@ -325,12 +345,12 @@ void SceneScriptNR04::sub_401DB0() {
Actor_Says(kActorMcCoy, 3465, 12);
Actor_Says(kActorEarlyQ, 350, 16);
Actor_Set_Targetable(kActorEarlyQ, false);
- Actor_Set_Goal_Number(kActorEarlyQ, 217);
+ Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04Leave);
Scene_Exits_Enable();
}
}
-void SceneScriptNR04::sub_402860(int frame) {
+void SceneScriptNR04::druggedEffect(int frame) {
float colorMap[] = {
1.0f, 1.0f, 1.0f,
1.0f, 0.0f, 0.0f,
@@ -359,20 +379,20 @@ void SceneScriptNR04::sub_402860(int frame) {
}
}
-void SceneScriptNR04::sub_402960() {
- int v0 = Global_Variable_Query(53);
- if (!v0) {
+void SceneScriptNR04::playNextMusic() {
+ int track = Global_Variable_Query(kVariableEarlyQFrontMusic);
+ if (track == 0) {
Music_Play(14, 11, 80, 2, -1, 0, 0);
- } else if (v0 == 1) {
+ } else if (track == 1) {
Music_Play(13, 11, 80, 2, -1, 0, 0);
- } else if (v0 == 2) {
+ } else if (track == 2) {
Music_Play(5, 11, 80, 2, -1, 0, 0);
}
- v0++;
- if (v0 > 2) {
- v0 = 0;
+ track++;
+ if (track > 2) {
+ track = 0;
}
- Global_Variable_Set(53, v0);
+ Global_Variable_Set(kVariableEarlyQFrontMusic, track);
}
} // End of namespace BladeRunner
diff --git a/engines/bladerunner/script/scene/nr05.cpp b/engines/bladerunner/script/scene/nr05.cpp
index f88e8c0..eb16152 100644
--- a/engines/bladerunner/script/scene/nr05.cpp
+++ b/engines/bladerunner/script/scene/nr05.cpp
@@ -181,7 +181,7 @@ void SceneScriptNR05::SceneFrameAdvanced(int frame) {
if ( frame == 134
&& !Game_Flag_Query(kFlagNR05toNR03)
) {
- Actor_Set_Goal_Number(kActorMcCoy, 200);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNRxxSitAtTable);
}
//return true;
}
diff --git a/engines/bladerunner/script/scene/nr07.cpp b/engines/bladerunner/script/scene/nr07.cpp
index 4ba1438..0b23d61 100644
--- a/engines/bladerunner/script/scene/nr07.cpp
+++ b/engines/bladerunner/script/scene/nr07.cpp
@@ -54,7 +54,7 @@ bool SceneScriptNR07::ClickedOn3DObject(const char *objectName, bool a2) {
bool SceneScriptNR07::ClickedOnActor(int actorId) {
if (actorId == kActorDektora) {
- if (Actor_Query_Goal_Number(kActorHolloway) < kGoalHollowayGoToNR07) { // Holloway is not yet comming
+ if (Actor_Query_Goal_Number(kActorHolloway) >= kGoalHollowayGoToNR07) { // Holloway is not yet comming
return true;
}
diff --git a/engines/bladerunner/script/scene_script.h b/engines/bladerunner/script/scene_script.h
index 77cf859..0767fee 100644
--- a/engines/bladerunner/script/scene_script.h
+++ b/engines/bladerunner/script/scene_script.h
@@ -307,9 +307,9 @@ DECLARE_SCRIPT(NR03)
END_SCRIPT
DECLARE_SCRIPT(NR04)
- void sub_401DB0();
- void sub_402860(int frame);
- void sub_402960();
+ void dialogueWithEarlyQ();
+ void druggedEffect(int frame);
+ void playNextMusic();
END_SCRIPT
DECLARE_SCRIPT(NR05)
Commit: 3fc1fbb8daae93e02985379aed4b8a6feab5cb24
https://github.com/scummvm/scummvm/commit/3fc1fbb8daae93e02985379aed4b8a6feab5cb24
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-31T21:27:31+01:00
Commit Message:
BLADERUNNER: Clean up of Dektora script
Changed paths:
engines/bladerunner/game_constants.h
engines/bladerunner/script/ai/dektora.cpp
engines/bladerunner/script/ai/early_q.cpp
engines/bladerunner/script/ai/holloway.cpp
engines/bladerunner/script/ai/lucy.cpp
engines/bladerunner/script/ai/mccoy.cpp
engines/bladerunner/script/ai/steele.cpp
engines/bladerunner/script/scene/hf01.cpp
engines/bladerunner/script/scene/hf03.cpp
engines/bladerunner/script/scene/hf04.cpp
engines/bladerunner/script/scene/hf05.cpp
engines/bladerunner/script/scene/hf06.cpp
engines/bladerunner/script/scene/hf07.cpp
engines/bladerunner/script/scene/kp07.cpp
engines/bladerunner/script/scene/nr01.cpp
engines/bladerunner/script/scene/nr04.cpp
engines/bladerunner/script/scene/nr07.cpp
engines/bladerunner/script/scene/nr08.cpp
engines/bladerunner/script/scene/nr09.cpp
engines/bladerunner/script/scene/nr10.cpp
engines/bladerunner/script/scene/nr11.cpp
engines/bladerunner/script/scene/ug05.cpp
engines/bladerunner/script/scene_script.h
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 54923ab..44a62af 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -949,7 +949,13 @@ enum Flags {
kFlagHF03toHF04 = 566, // is never checked
kFlagHF04toHF03 = 567,
kFlagNR04EarlyQWalkedIn = 569,
+ // 570 is never used
+ // 571 is never used
+ // 572 is never used
kFlagNR03Entered = 573,
+ // 580 is never used
+ // 581 is never used
+ // 583 is never used
kFlagHF04DoorsClosed = 584,
kFlagHF04CloseDoors = 585,
kFlagHF04OpenDoors = 586,
@@ -961,6 +967,7 @@ enum Flags {
kFlagLucyRanAway = 593,
kFlagNR02GordoJumpDown = 594,
kFlagKIAPrivacyAddonIntro = 599,
+ // 602 is never used
kFlagSteeleAimingAtGordo = 603,
kFlagNR03McCoyThrownOut = 604,
kFlagNR04DiscFound = 605,
@@ -974,20 +981,33 @@ enum Flags {
kFlagNR09toNR08 = 615,
kFlagMcCoyCapturedByHolloway = 616,
kFlagSpinnerMissing = 617,
+ // 618 is never used
+ // 619 is never used
kFlagNR08Available = 620,
+ // 621 is never used
kFlagNR08TouchedDektora = 622,
kFlagTB07TyrellMeeting = 625,
kFlagNR01McCoyIsDrugged = 627,
+ kFlagNR01DektoraFall = 632,
+ kFlagNR11BurnedUp = 634,
+ kFlagNR11SteeleShoot = 635,
+ kFlagNR08Faded = 636,
+ // 637 is never used
kFlagNR07McCoyIsCop = 638,
+ // 639 is never used
+ kFlagNR10CameraDestroyed = 640,
kFlagNR10toNR11 = 641, // is never checked
+ kFlagNR10McCoyBlinded = 642,
kFlagSteeleKnowsBulletBobIsDead = 643,
kFlagCT11DogWrapperTaken = 645,
kFlagSteeleDead = 646, // is never checked
kFlagMA04McCoySleeping = 647,
kFlagMA04PhoneMessageFromClovis = 649,
kFlagMA04PhoneMessageFromLucy = 650,
+ kFlagNR08McCoyWatchingShow = 651,
kFlagCrazylegsArrestedTalk = 652,
kFlagUG02RagiationGooglesTaken = 656,
+ kFlagNR11BreakWindow = 659,
kFlagDNARowAvailableTalk = 660,
kFlagTB07ShadeDown = 661, // is never set
kFlagMA07toPS14 = 672,
@@ -1015,6 +1035,7 @@ enum Flags {
kflagPS01toPS02 = 718,
kFlagCT02McCoyFell = 719,
kFlagCT02McCoyCombatReady = 720,
+ kFlagChapter4Starting = 722,
kFlagZubenBountyPaid = 723,
kFlagCT11DogWrapperAvailable = 725,
kFlagAR02Entered = 726,
@@ -1205,7 +1226,7 @@ enum Scenes {
kSceneNR08 = 61, // Nightclub Row - Early Q's - Stage
kSceneNR09 = 62, // Nightclub Row - Early Q's - Upstairs
kSceneNR10 = 63, // Nightclub Row - Early Q's - Projector room
- kSceneNR11 = 64,
+ kSceneNR11 = 64, // Nightclub Row - Early Q's - Loft
kScenePS01 = 65, // Police Station - Roof
kScenePS02 = 66, // Police Station - Elevator
kScenePS03 = 67, // Police Station - Ground floor
@@ -1249,7 +1270,7 @@ enum Scenes {
kSceneCT51 = 105, // Chinatown - Yukon Hotel - Backroom - back
kSceneHC04 = 106, // Hawker's Circle - Kingston kitchen
kSceneRC51 = 107, // Runciter - Lucy's desk
- kSceneTB07 = 108,
+ kSceneTB07 = 108, // Tyrell Building - Tyrell's office
kScenePS15 = 119, // Police Station - Armory
kSceneBB12 = 120 // Bradbury Building - Monkey room
};
@@ -1633,10 +1654,32 @@ enum GoalSteele {
enum GoalDektora {
kGoalDektoraDefault = 0,
+ // chapter 1
kGoalDektoraStartWalkingAround = 100,
kGoalDektoraWalkAroundAsReplicant = 101,
kGoalDektoraWalkAroundAsHuman = 102,
- kGoalDektoraStopWalkingAround = 103
+ kGoalDektoraStopWalkingAround = 103,
+ // chapter 2
+ kGoalDektoraStartChapter3 = 199,
+ kGoalDektoraNR07Sit = 200,
+ kGoalDektoraNR08Dance = 210,
+ kGoalDektoraNR08Leave = 211,
+ kGoalDektoraNR08ReadyToRun = 245,
+ kGoalDektoraNR08GoToNR10 = 246,
+ kGoalDektoraNR10AttackMcCoy = 247,
+ kGoalDektoraNR11Hiding = 250,
+ kGoalDektoraNR11WalkAway = 260,
+ kGoalDektoraNR11PrepareBurning = 269,
+ kGoalDektoraNR11Burning = 270,
+ kGoalDektoraNR11BurningGoToMcCoy = 271,
+ kGoalDektoraNR11BurningGoToWindow = 272,
+ kGoalDektoraNR11PrepareFallThroughWindow = 273,
+ kGoalDektoraNR11FallThroughWindow = 274,
+ kGoalDektoraNR11BurningFallToNR10 = 279,
+ kGoalDektoraNR11RanAway = 290,
+ kGoalDektoraNR07RanAway = 295,
+
+ kGoalDektoraDead = 599
};
enum GoalGordo {
@@ -1714,12 +1757,12 @@ enum GoalLucy {
kGoalLucyMoveAround = 200,
kGoalLucyWillReturnToHF03 = 201,
kGoalLucyGoToHF03 = 205,
- kGoalLucyRunOutPhase1 = 210,
- kGoalLucyRunOutPhase2 = 211,
- kGoalLucyRunToHF041 = 212,
- kGoalLucyRunToHF042 = 213,
- kGoalLucyRunAwayWithHelp1 = 214,
- kGoalLucyRunAwayWithHelp2 = 215,
+ kGoalLucyHF03RunOutPhase1 = 210,
+ kGoalLucyHF03RunOutPhase2 = 211,
+ kGoalLucyHF03RunToHF041 = 212,
+ kGoalLucyHF03RunToHF042 = 213,
+ kGoalLucyHF03RunAwayWithHelp1 = 214,
+ kGoalLucyHF03RunAwayWithHelp2 = 215,
kGoalLucyGoToFreeSlotGAG = 220,
kGoalLucyGoToFreeSlotGAHJ = 225,
kGoalLucyHF04Start = 230,
@@ -1732,7 +1775,7 @@ enum GoalLucy {
kGoalLucyHF04Run4 = 238,
kGoalLucyHF04WalkAway = 239,
kGoalLucyReturnToHF03 = 250,
- kGoalLucyGoneChapter3 = 299,
+ kGoalLucyHF03RanAway = 299,
kGoalLucyDead = 599
};
diff --git a/engines/bladerunner/script/ai/dektora.cpp b/engines/bladerunner/script/ai/dektora.cpp
index cb5f1db..cb07d7b 100644
--- a/engines/bladerunner/script/ai/dektora.cpp
+++ b/engines/bladerunner/script/ai/dektora.cpp
@@ -66,17 +66,17 @@ bool AIScriptDektora::Update() {
}
if (chapter == 3) {
- if (Actor_Query_Goal_Number(kActorDektora) < 199) {
- Actor_Set_Goal_Number(kActorDektora, 199);
+ if (Actor_Query_Goal_Number(kActorDektora) < kGoalDektoraStartChapter3) {
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartChapter3);
} else {
switch (Actor_Query_Goal_Number(kActorDektora)) {
- case 269:
- Actor_Set_Goal_Number(kActorDektora, 270);
+ case kGoalDektoraNR11PrepareBurning:
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11Burning);
break;
- case 271:
+ case kGoalDektoraNR11BurningGoToMcCoy:
if (Actor_Query_Inch_Distance_From_Actor(kActorDektora, kActorMcCoy) <= 48) {
- Actor_Set_Goal_Number(kActorDektora, 279);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11BurningFallToNR10);
break;
}
@@ -86,10 +86,11 @@ bool AIScriptDektora::Update() {
}
break;
- case 273:
- Actor_Set_Goal_Number(kActorDektora, 274);
+ case kGoalDektoraNR11PrepareFallThroughWindow:
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11FallThroughWindow);
break;
+ // this is unused and goal 275 never set
case 275:
Actor_Set_Goal_Number(kActorDektora, 276);
break;
@@ -110,20 +111,20 @@ bool AIScriptDektora::Update() {
void AIScriptDektora::TimerExpired(int timer) {
if (timer == 0) {
- if (Actor_Query_Goal_Number(kActorDektora) == 210) {
- if (Player_Query_Current_Scene() == 61) {
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08Dance) {
+ if (Player_Query_Current_Scene() == kSceneNR08) {
AI_Countdown_Timer_Reset(kActorDektora, 0);
AI_Countdown_Timer_Start(kActorDektora, 0, 10);
} else {
- Actor_Set_Goal_Number(kActorDektora, 211);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08Leave);
AI_Countdown_Timer_Reset(kActorDektora, 0);
}
return; //true;
}
- if (Actor_Query_Goal_Number(kActorDektora) == 270) {
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Burning) {
AI_Countdown_Timer_Reset(kActorDektora, 0);
- Actor_Set_Goal_Number(kActorDektora, 271);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11BurningGoToMcCoy);
return; //true;
}
}
@@ -165,8 +166,8 @@ void AIScriptDektora::CompletedMovementTrack() {
}
break;
- case 260:
- Actor_Set_Goal_Number(kActorDektora, 290);
+ case kGoalDektoraNR11WalkAway:
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11RanAway);
break;
case 272:
@@ -191,19 +192,19 @@ void AIScriptDektora::ReceivedClue(int clueId, int fromActorId) {
}
void AIScriptDektora::ClickedByPlayer() {
- if (Actor_Query_Goal_Number(kActorDektora) == 599) {
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraDead) {
Actor_Face_Actor(0, kActorDektora, true);
Actor_Says(kActorMcCoy, 8630, 12);
return; //true;
}
- if (Actor_Query_Goal_Number(kActorDektora) < 199) {
+ if (Actor_Query_Goal_Number(kActorDektora) < kGoalDektoraStartChapter3) {
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
Actor_Says(kActorMcCoy, 8590, 13);
}
- if (Actor_Query_Goal_Number(kActorDektora) == 210) {
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08Dance) {
Game_Flag_Set(kFlagNR08TouchedDektora);
AI_Movement_Track_Flush(kActorHanoi);
Actor_Force_Stop_Walking(kActorMcCoy);
@@ -222,7 +223,7 @@ void AIScriptDektora::EnteredScene(int sceneId) {
void AIScriptDektora::OtherAgentEnteredThisScene(int otherActorId) {
if (otherActorId == kActorMcCoy
- && Actor_Query_Goal_Number(kActorDektora) == 246
+ && Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08GoToNR10
) {
Scene_Exits_Disable();
Actor_Change_Animation_Mode(kActorDektora, 23);
@@ -245,29 +246,29 @@ void AIScriptDektora::ShotAtAndMissed() {
}
bool AIScriptDektora::ShotAtAndHit() {
- if (Actor_Query_Goal_Number(kActorDektora) == 270
- || Actor_Query_Goal_Number(kActorDektora) == 271
- || Actor_Query_Goal_Number(kActorDektora) == 272
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Burning
+ || Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11BurningGoToMcCoy
+ || Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11BurningGoToWindow
) {
Actor_Set_Health(kActorDektora, 100, 100);
- if (Actor_Query_Goal_Number(kActorDektora) != 272) {
- Actor_Set_Goal_Number(kActorDektora, 272);
+ if (Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraNR11BurningGoToWindow) {
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11BurningGoToWindow);
}
return true;
}
- if (Actor_Query_Goal_Number(kActorDektora) == 260) {
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11WalkAway) {
AI_Movement_Track_Flush(kActorDektora);
Actor_Set_Health(kActorDektora, 0, 100);
- if (Game_Flag_Query(47)) {
- Actor_Change_Animation_Mode(kActorDektora, 48);
+ if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
+ Actor_Change_Animation_Mode(kActorDektora, kAnimationModeDie);
Actor_Start_Speech_Sample(kActorDektora, 980);
Delay(2000);
Actor_Set_Goal_Number(kActorSteele, 212);
} else {
- Actor_Change_Animation_Mode(kActorDektora, 48);
+ Actor_Change_Animation_Mode(kActorDektora, kAnimationModeDie);
Delay(2000);
Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyArrested);
}
@@ -294,7 +295,7 @@ void AIScriptDektora::Retired(int byActorId) {
if (Actor_Query_In_Set(kActorDektora, kSetKP07)) {
Global_Variable_Decrement(kVariableReplicants, 1);
- Actor_Set_Goal_Number(kActorDektora, 599);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
if (Global_Variable_Query(kVariableReplicants) == 0) {
Player_Loses_Control();
@@ -311,8 +312,8 @@ void AIScriptDektora::Retired(int byActorId) {
}
}
- if (Actor_Query_Goal_Number(kActorDektora) != 274) {
- Actor_Set_Goal_Number(kActorDektora, 599);
+ if (Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraNR11FallThroughWindow) {
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
}
return; //false;
@@ -402,18 +403,18 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Repeat(kActorDektora);
break;
- case 199:
+ case kGoalDektoraStartChapter3:
AI_Movement_Track_Flush(kActorDektora);
- Actor_Set_Goal_Number(kActorDektora, 200);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR07Sit);
break;
- case 200:
+ case kGoalDektoraNR07Sit:
Actor_Put_In_Set(kActorDektora, kSetNR07);
Actor_Set_At_XYZ(kActorDektora, -136.0f, -75.0f, 14.0f, 300);
- Actor_Change_Animation_Mode(kActorDektora, 53);
+ Actor_Change_Animation_Mode(kActorDektora, kAnimationModeSit);
break;
- case 210:
+ case kGoalDektoraNR08Dance:
AI_Movement_Track_Flush(kActorDektora);
Actor_Put_In_Set(kActorDektora, kSetNR05_NR08);
Actor_Set_At_XYZ(kActorDektora, -923.93f, 127.85f, 413.46f, 30);
@@ -421,41 +422,42 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Countdown_Timer_Start(kActorDektora, 0, 45);
break;
- case 211:
+ case kGoalDektoraNR08Leave:
if (Player_Query_Current_Scene() == kSceneNR08) {
- Game_Flag_Set(651);
+ Game_Flag_Set(kFlagNR08McCoyWatchingShow);
} else {
- Game_Flag_Set(636);
+ Game_Flag_Set(kFlagNR08Faded);
Actor_Put_In_Set(kActorDektora, kSetFreeSlotA);
Actor_Set_At_Waypoint(kActorDektora, 33, 0);
Actor_Change_Animation_Mode(kActorDektora, 0);
- Actor_Set_Goal_Number(kActorDektora, 200);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR07Sit);
}
+
if (Player_Query_Current_Scene() == kSceneNR08) {
Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR08Leave);
} else {
- Game_Flag_Reset(651);
+ Game_Flag_Reset(kFlagNR08McCoyWatchingShow);
}
break;
- case 245:
+ case kGoalDektoraNR08ReadyToRun:
Actor_Put_In_Set(kActorDektora, kSetNR05_NR08);
Actor_Set_At_XYZ(kActorDektora, -1558.41f, 0.32f, 319.48f, 264);
break;
- case 246:
+ case kGoalDektoraNR08GoToNR10:
Actor_Put_In_Set(kActorDektora, kSetNR10);
Actor_Set_At_XYZ(kActorDektora, 19.22f, 2.84f, -122.43f, 768);
break;
- case 247:
+ case kGoalDektoraNR10AttackMcCoy:
Actor_Set_At_XYZ(kActorDektora, -99.0f, 2.88f, -202.0f, 911);
- Actor_Set_Invisible(kActorDektora, 0);
+ Actor_Set_Invisible(kActorDektora, false);
Actor_Change_Animation_Mode(kActorDektora, 70);
- Actor_Retired_Here(kActorMcCoy, 12, 12, 1, -1);
+ Actor_Retired_Here(kActorMcCoy, 12, 12, true, -1);
break;
- case 250:
+ case kGoalDektoraNR11Hiding:
AI_Movement_Track_Flush(kActorDektora);
AI_Countdown_Timer_Reset(kActorDektora, 0);
AI_Countdown_Timer_Reset(kActorDektora, 1);
@@ -464,46 +466,46 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Set_At_XYZ(kActorDektora, -184.0f, 0.33f, -268.0f, 256);
break;
- case 260:
- Actor_Set_Targetable(kActorDektora, 1);
+ case kGoalDektoraNR11WalkAway:
+ Actor_Set_Targetable(kActorDektora, true);
Actor_Force_Stop_Walking(kActorDektora);
AI_Movement_Track_Flush(kActorDektora);
AI_Movement_Track_Append(kActorDektora, 462, 0);
AI_Movement_Track_Repeat(kActorDektora);
break;
- case 269:
- case 271:
- case 599:
+ case kGoalDektoraNR11PrepareBurning:
+ case kGoalDektoraNR11BurningGoToMcCoy:
+ case kGoalDektoraDead:
break; // return true
- case 270:
+ case kGoalDektoraNR11Burning:
Game_Flag_Set(633);
- Actor_Set_Targetable(kActorDektora, 1);
+ Actor_Set_Targetable(kActorDektora, true);
Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, 0, 0, 0);
- Actor_Face_Actor(kActorMcCoy, kActorDektora, 1);
+ Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
if (Actor_Query_Goal_Number(kActorSteele) == 216) {
- Actor_Face_Actor(kActorSteele, kActorDektora, 1);
- Actor_Change_Animation_Mode(kActorSteele, 6);
+ Actor_Face_Actor(kActorSteele, kActorDektora, true);
+ Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatAttack);
Delay(250);
Sound_Play(3, 100, 0, 0, 50);
- Actor_Set_Goal_Number(kActorDektora, 272);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11BurningGoToWindow);
} else {
- Actor_Set_Goal_Number(kActorDektora, 271);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11BurningGoToMcCoy);
}
break;
- case 272:
+ case kGoalDektoraNR11BurningGoToWindow:
Actor_Force_Stop_Walking(kActorDektora);
AI_Movement_Track_Flush(kActorDektora);
AI_Movement_Track_Append(kActorDektora, 456, 0);
AI_Movement_Track_Repeat(kActorDektora);
break;
- case 274:
+ case kGoalDektoraNR11FallThroughWindow:
Player_Loses_Control();
Scene_Exits_Enable();
- Game_Flag_Set(632);
+ Game_Flag_Set(kFlagNR01DektoraFall);
Actor_Put_In_Set(kActorDektora, kSetNR01);
Actor_Set_At_XYZ(kActorDektora, -177.0f, 23.88f, -373.0f, 300);
_animationState = 36;
@@ -511,7 +513,7 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Set_Enter(kSetNR01, kSceneNR01);
break;
- case 279:
+ case kGoalDektoraNR11BurningFallToNR10:
Actor_Force_Stop_Walking(kActorDektora);
Actor_Put_In_Set(kActorDektora, kSetNR10);
Actor_Set_At_XYZ(kActorDektora, 14.0f, 2.84f, -300.0f, 926);
@@ -520,14 +522,14 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
_animationFrame = 0;
break;
- case 290:
+ case kGoalDektoraNR11RanAway:
Game_Flag_Set(kFlagDektoraRanAway);
break;
case 299:
Actor_Put_In_Set(kActorDektora, kSetFreeSlotI);
Actor_Set_At_Waypoint(kActorDektora, 41, 0);
- Actor_Set_Goal_Number(kActorDektora, 599);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
break;
case 300:
@@ -549,7 +551,7 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
case 0:
*animation = 156;
_animationFrame++;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(156) - 1) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(156)) {
_animationFrame = 0;
}
break;
@@ -561,7 +563,9 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
case 2:
*animation = 158;
- if (!_animationFrame && _flag) {
+ if (_animationFrame == 0
+ && _flag
+ ) {
*animation = 156;
_animationState = 0;
} else {
@@ -717,23 +721,28 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
}
Sound_Play_Speech_Line(kActorDektora, speech, 75, 0, 99);
}
+
if (_animationFrame == 5) {
Actor_Combat_AI_Hit_Attempt(3);
}
+
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(141)) {
_animationFrame = 0;
_animationState = 9;
*animation = 134;
- Actor_Change_Animation_Mode(kActorDektora, 4);
+ Actor_Change_Animation_Mode(kActorDektora, kAnimationModeCombatIdle);
}
break;
case 17:
*animation = 142;
_animationFrame++;
- if (_animationFrame == 6 && Actor_Query_Goal_Number(kActorDektora) == 247) {
- Actor_Change_Animation_Mode(0, 48);
+ if (_animationFrame == 6
+ && Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR10AttackMcCoy
+ ) {
+ Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
}
+
if (_animationFrame == 3) {
int speech;
@@ -744,14 +753,16 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
}
Sound_Play_Speech_Line(3, speech, 75, 0, 99);
}
+
if (_animationFrame == 6) {
Actor_Combat_AI_Hit_Attempt(3);
}
+
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(142)) {
_animationFrame = 0;
_animationState = 9;
*animation = 134;
- Actor_Change_Animation_Mode(kActorDektora, 4);
+ Actor_Change_Animation_Mode(kActorDektora, kAnimationModeCombatIdle);
}
break;
@@ -762,7 +773,7 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
*animation = 156;
_animationFrame = 0;
_animationState = 0;
- Actor_Change_Animation_Mode(kActorDektora, 0);
+ Actor_Change_Animation_Mode(kActorDektora, kAnimationModeIdle);
}
break;
@@ -773,7 +784,7 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
*animation = 156;
_animationFrame = 0;
_animationState = 0;
- Actor_Change_Animation_Mode(kActorDektora, 0);
+ Actor_Change_Animation_Mode(kActorDektora, kAnimationModeIdle);
}
break;
@@ -915,13 +926,14 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
*animation = 165;
_animationFrame++;
if (_animationFrame == 2) {
- Game_Flag_Set(659);
+ Game_Flag_Set(kFlagNR11BreakWindow);
}
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(*animation) - 1) {
+
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 36;
*animation = 167;
- Actor_Set_Goal_Number(kActorDektora, 273);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11PrepareFallThroughWindow);
}
break;
@@ -930,6 +942,7 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(167) - 1) {
_animationFrame++;
}
+
if (_animationFrame == 11) {
Ambient_Sounds_Play_Sound(206, 80, -20, -20, 20);
}
@@ -950,11 +963,9 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
case 2:
Sound_Play(569, (100 / Random_Query(5, 9)), 0, 0, 50);
break;
-
- default:
- break;
}
}
+
_animationFrame++;
if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(168) - 1) {
_animationFrame = 0;
@@ -979,11 +990,9 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
case 2:
Sound_Play(569, (100 / Random_Query(5, 9)), 0, 0, 50);
break;
-
- default:
- break;
}
}
+
if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(*animation) - 1) {
_animationFrame = 0;
_animationState = 39;
@@ -1007,11 +1016,9 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
case 2:
Sound_Play(569, (100 / Random_Query(5, 9)), 0, 0, 50);
break;
-
- default:
- break;
}
}
+
if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(*animation) - 1) {
_animationFrame = 0;
_animationState = 40;
@@ -1034,15 +1041,13 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
case 2:
Sound_Play(569, (100 / Random_Query(5, 9)), 0, 0, 50);
break;
-
- default:
- break;
}
}
+
if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(171) - 1) {
_animationFrame++;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(171) - 1) {
- Actor_Set_Goal_Number(kActorDektora, 211);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08Leave);
}
}
break;
@@ -1050,9 +1055,12 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
case 41:
*animation = 157;
_animationFrame++;
- if (_animationFrame == 8 && Actor_Query_In_Set(kActorDektora, kSetNR10)) {
+ if (_animationFrame == 8
+ && Actor_Query_In_Set(kActorDektora, kSetNR10)
+ ) {
Scene_Loop_Start_Special(2, 4, 1);
}
+
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(157)) {
*animation = 156;
_animationFrame = 0;
diff --git a/engines/bladerunner/script/ai/early_q.cpp b/engines/bladerunner/script/ai/early_q.cpp
index 093c51d..39fbb9f 100644
--- a/engines/bladerunner/script/ai/early_q.cpp
+++ b/engines/bladerunner/script/ai/early_q.cpp
@@ -446,7 +446,7 @@ bool AIScriptEarlyQ::GoalChanged(int currentGoalNumber, int newGoalNumber) {
if (Player_Query_Current_Scene() == kSceneNR05) {
Actor_Says(kActorEarlyQ, 670, kAnimationModeTalk);
Actor_Says(kActorEarlyQ, 690, kAnimationModeTalk);
- Actor_Set_Goal_Number(kActorDektora, 210);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08Dance);
Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR05UnlockNR08);
Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR08WatchShow);
} else {
diff --git a/engines/bladerunner/script/ai/holloway.cpp b/engines/bladerunner/script/ai/holloway.cpp
index 3b37244..4251003 100644
--- a/engines/bladerunner/script/ai/holloway.cpp
+++ b/engines/bladerunner/script/ai/holloway.cpp
@@ -177,9 +177,10 @@ bool AIScriptHolloway::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Outtake_Play(kOuttakeInterrogation, 0, 1);
if (Global_Variable_Query(kVariableHollowayArrest) == 1) {
- Actor_Set_Goal_Number(kActorDektora, 245);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08ReadyToRun);
Actor_Change_Animation_Mode(kActorDektora, kAnimationModeIdle);
}
+
Player_Gains_Control();
Game_Flag_Set(kFlagMcCoyCapturedByHolloway);
Scene_Exits_Enable();
diff --git a/engines/bladerunner/script/ai/lucy.cpp b/engines/bladerunner/script/ai/lucy.cpp
index 0a44af7..04ac251 100644
--- a/engines/bladerunner/script/ai/lucy.cpp
+++ b/engines/bladerunner/script/ai/lucy.cpp
@@ -136,20 +136,20 @@ void AIScriptLucy::CompletedMovementTrack() {
AI_Countdown_Timer_Start(kActorLucy, 0, 30);
break;
- case kGoalLucyRunOutPhase1:
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunOutPhase2);
+ case kGoalLucyHF03RunOutPhase1:
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunOutPhase2);
break;
- case kGoalLucyRunOutPhase2:
+ case kGoalLucyHF03RunOutPhase2:
Game_Flag_Set(kFlagLucyRanAway);
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyGoneChapter3);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RanAway);
break;
- case kGoalLucyRunToHF041:
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunToHF042);
+ case kGoalLucyHF03RunToHF041:
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunToHF042);
break;
- case kGoalLucyRunToHF042:
+ case kGoalLucyHF03RunToHF042:
if (Actor_Clue_Query(kActorLucy, kClueMcCoyHelpedLucy)
&& Global_Variable_Query(kVariableHollowayArrest) != 3
) {
@@ -160,11 +160,11 @@ void AIScriptLucy::CompletedMovementTrack() {
}
break;
- case kGoalLucyRunAwayWithHelp1:
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunAwayWithHelp2);
+ case kGoalLucyHF03RunAwayWithHelp1:
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunAwayWithHelp2);
break;
- case kGoalLucyRunAwayWithHelp2:
+ case kGoalLucyHF03RunAwayWithHelp2:
Actor_Set_Goal_Number(kActorLucy, kGoalLucyWillReturnToHF03);
break;
@@ -314,14 +314,14 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Repeat(kActorLucy);
break;
- case kGoalLucyRunOutPhase1:
+ case kGoalLucyHF03RunOutPhase1:
Actor_Set_Immunity_To_Obstacles(kActorLucy, true);
AI_Movement_Track_Flush(kActorLucy);
AI_Movement_Track_Append_Run(kActorLucy, 377, 0);
AI_Movement_Track_Repeat(kActorLucy);
break;
- case kGoalLucyRunOutPhase2:
+ case kGoalLucyHF03RunOutPhase2:
Actor_Set_Immunity_To_Obstacles(kActorLucy, false);
AI_Movement_Track_Flush(kActorLucy);
AI_Movement_Track_Append_Run(kActorLucy, 372, 0);
@@ -329,14 +329,14 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Repeat(kActorLucy);
break;
- case kGoalLucyRunToHF041:
+ case kGoalLucyHF03RunToHF041:
Actor_Set_Immunity_To_Obstacles(kActorLucy, true);
AI_Movement_Track_Flush(kActorLucy);
AI_Movement_Track_Append_Run(kActorLucy, 378, 0);
AI_Movement_Track_Repeat(kActorLucy);
break;
- case kGoalLucyRunToHF042:
+ case kGoalLucyHF03RunToHF042:
Actor_Set_Immunity_To_Obstacles(kActorLucy, false);
AI_Movement_Track_Flush(kActorLucy);
AI_Movement_Track_Append_Run(kActorLucy, 373, 0);
@@ -344,7 +344,7 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Repeat(kActorLucy);
break;
- case kGoalLucyRunAwayWithHelp1:
+ case kGoalLucyHF03RunAwayWithHelp1:
Actor_Says(kActorLucy, 320, 16);
Actor_Set_Goal_Number(kActorHolloway, kGoalHollowayGoToHF03);
Actor_Set_Immunity_To_Obstacles(kActorLucy, true);
@@ -353,7 +353,7 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Repeat(kActorLucy);
break;
- case kGoalLucyRunAwayWithHelp2:
+ case kGoalLucyHF03RunAwayWithHelp2:
Actor_Set_Immunity_To_Obstacles(kActorLucy, false);
AI_Movement_Track_Flush(kActorLucy);
AI_Movement_Track_Append_Run(kActorLucy, 373, 0);
@@ -473,7 +473,7 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Set_Goal_Number(kActorLucy, kGoalLucyDead);
Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHF02ConfrontLucy);
} else {
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyGoneChapter3);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RanAway);
Game_Flag_Set(kFlagLucyRanAway);
}
break;
diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp
index a0a122e..a6277e9 100644
--- a/engines/bladerunner/script/ai/mccoy.cpp
+++ b/engines/bladerunner/script/ai/mccoy.cpp
@@ -269,26 +269,45 @@ bool AIScriptMcCoy::ShotAtAndHit() {
void AIScriptMcCoy::Retired(int byActorId) {
if (byActorId == kActorSteele && Actor_Query_In_Set(kActorSteele, kSetHF06)) {
- if (Actor_Query_In_Set(kActorDektora, kSetHF06) && Actor_Query_Goal_Number(kActorDektora) != 599) {
+ if (Actor_Query_In_Set(kActorDektora, kSetHF06)
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead) {
Non_Player_Actor_Combat_Mode_On(kActorSteele, kActorCombatStateUncover, true, kActorDektora, 15, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
- } else if (Actor_Query_In_Set(kActorLucy, kSetHF06) && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead) {
+ } else if (Actor_Query_In_Set(kActorLucy, kSetHF06)
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ ) {
Non_Player_Actor_Combat_Mode_On(kActorSteele, kActorCombatStateUncover, true, kActorLucy, 15, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
}
}
- if (Actor_Query_In_Set(kActorMcCoy, kSetHF05) && Actor_Query_In_Set(kActorOfficerLeary, kSetHF05) && Actor_Query_In_Set(kActorDektora, kSetHF05) && Actor_Query_Goal_Number(kActorDektora) != 599) {
+ if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
+ && Actor_Query_In_Set(kActorOfficerLeary, kSetHF05)
+ && Actor_Query_In_Set(kActorDektora, kSetHF05)
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+ ) {
Non_Player_Actor_Combat_Mode_On(kActorOfficerLeary, kActorCombatStateUncover, true, kActorDektora, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
}
- if (Actor_Query_In_Set(kActorMcCoy, kSetHF05) && Actor_Query_In_Set(kActorOfficerGrayford, kSetHF05) && Actor_Query_In_Set(kActorDektora, kSetHF05) && Actor_Query_Goal_Number(kActorDektora) != 599) {
+ if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
+ && Actor_Query_In_Set(kActorOfficerGrayford, kSetHF05)
+ && Actor_Query_In_Set(kActorDektora, kSetHF05)
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+ ) {
Non_Player_Actor_Combat_Mode_On(kActorOfficerGrayford, kActorCombatStateUncover, true, kActorDektora, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
}
- if (Actor_Query_In_Set(kActorMcCoy, kSetHF05) && Actor_Query_In_Set(kActorOfficerLeary, kSetHF05) && Actor_Query_In_Set(kActorLucy, kSetHF05) && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead) {
+ if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
+ && Actor_Query_In_Set(kActorOfficerLeary, kSetHF05)
+ && Actor_Query_In_Set(kActorLucy, kSetHF05)
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ ) {
Non_Player_Actor_Combat_Mode_On(kActorOfficerLeary, kActorCombatStateUncover, true, kActorLucy, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
}
- if (Actor_Query_In_Set(kActorMcCoy, kSetHF05) && Actor_Query_In_Set(kActorOfficerGrayford, kSetHF05) && Actor_Query_In_Set(kActorLucy, kSetHF05) && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead) {
+ if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
+ && Actor_Query_In_Set(kActorOfficerGrayford, kSetHF05)
+ && Actor_Query_In_Set(kActorLucy, kSetHF05)
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ ) {
Non_Player_Actor_Combat_Mode_On(kActorOfficerGrayford, kActorCombatStateUncover, true, kActorLucy, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
}
}
@@ -1048,7 +1067,10 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
case 21:
*animation = 12;
_animationFrame++;
- if (_animationFrame == 1 && Actor_Query_Goal_Number(kActorMcCoy) == 230 && dword_45A0FC == 1) {
+ if (_animationFrame == 1
+ && Actor_Query_Goal_Number(kActorMcCoy) == 230
+ && dword_45A0FC == 1
+ ) {
dword_45A0F8 = 27;
}
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(12)) {
diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp
index 302ba93..1bcede6 100644
--- a/engines/bladerunner/script/ai/steele.cpp
+++ b/engines/bladerunner/script/ai/steele.cpp
@@ -903,7 +903,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Says(kActorMcCoy, 3835, 18);
Actor_Says(kActorSteele, 1810, 16);
Game_Flag_Set(kFlagDektoraRanAway);
- Actor_Set_Goal_Number(kActorDektora, 599);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
Actor_Set_Goal_Number(kActorSteele, 275);
break;
case 274:
@@ -916,13 +916,13 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Says(kActorSteele, 1780, 15);
Actor_Says(kActorMcCoy, 3825, 14);
Game_Flag_Set(kFlagDektoraRanAway);
- Actor_Set_Goal_Number(kActorDektora, 599);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
Actor_Set_Goal_Number(kActorSteele, 275);
}
return true;
case 215:
- Game_Flag_Set(635);
+ Game_Flag_Set(kFlagNR11SteeleShoot);
Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatAttack);
Scene_Exits_Disable();
return true;
@@ -937,7 +937,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Flush(kActorSteele);
Actor_Put_In_Set(kActorSteele, kSetNR05_NR08);
Actor_Set_At_XYZ(kActorSteele, -1034.09f, 0.32f, 224.77f, 440);
- Game_Flag_Set(722);
+ Game_Flag_Set(kFlagChapter4Starting);
Set_Enter(kSetNR05_NR08, kSceneNR08);
return true;
@@ -1298,7 +1298,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
return true;
case kGoalSteeleHF01StartChapter4:
- Game_Flag_Set(722);
+ Game_Flag_Set(kFlagChapter4Starting);
Global_Variable_Set(kVariableChapter, 4);
Scene_Exits_Enable();
Game_Flag_Set(523);
diff --git a/engines/bladerunner/script/scene/hf01.cpp b/engines/bladerunner/script/scene/hf01.cpp
index a91f55b..b466794 100644
--- a/engines/bladerunner/script/scene/hf01.cpp
+++ b/engines/bladerunner/script/scene/hf01.cpp
@@ -351,7 +351,7 @@ void SceneScriptHF01::PlayerWalkedIn() {
Actor_Set_Targetable(kActorLucy, true);
} else if (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallDektora1)
&& Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
- && Actor_Query_Goal_Number(kActorDektora) != 599
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
) {
Actor_Put_In_Set(kActorDektora, kSetHF01);
Actor_Set_At_XYZ(kActorDektora, -5.0f, 8.0f, -622.0f, 419);
@@ -409,14 +409,14 @@ void SceneScriptHF01::PlayerWalkedOut() {
if (!Game_Flag_Query(kFlagHF01toHF05)
&& !Game_Flag_Query(kFlagHF01toHF02)
&& !Game_Flag_Query(kFlagHF01toHF03)
- && !Game_Flag_Query(722)
+ && !Game_Flag_Query(kFlagChapter4Starting)
) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Outtake_Play(kOuttakeInside2, true, -1);
Outtake_Play(kOuttakeTowards3, true, -1);
}
- Game_Flag_Reset(722);
+ Game_Flag_Reset(kFlagChapter4Starting);
if (Actor_Query_Goal_Number(kActorLucy) == 450) {
Actor_Put_In_Set(kActorLucy, kSetFreeSlotG);
@@ -427,7 +427,7 @@ void SceneScriptHF01::PlayerWalkedOut() {
if (Actor_Query_Goal_Number(kActorDektora) == 450) {
Actor_Put_In_Set(kActorDektora, kSetFreeSlotG);
Actor_Set_At_Waypoint(kActorDektora, 39, 0);
- Actor_Set_Goal_Number(kActorDektora, 599);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
}
}
diff --git a/engines/bladerunner/script/scene/hf03.cpp b/engines/bladerunner/script/scene/hf03.cpp
index 4e1177f..2201bba 100644
--- a/engines/bladerunner/script/scene/hf03.cpp
+++ b/engines/bladerunner/script/scene/hf03.cpp
@@ -79,11 +79,11 @@ void SceneScriptHF03::dialogueWithLucy() {
case 840: // VOIGT-KAMPFF
Actor_Says(kActorMcCoy, 1630, 15);
if (Global_Variable_Query(kVariableHollowayArrest) == 3) {
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunAwayWithHelp1);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunAwayWithHelp1);
} else if (Game_Flag_Query(kFlagLucyIsReplicant)) {
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunToHF041);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunToHF041);
} else {
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunOutPhase1);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunOutPhase1);
Game_Flag_Set(kFlagLucyRanAway);
}
break;
@@ -97,7 +97,7 @@ void SceneScriptHF03::dialogueWithLucy() {
case 860: // CRYSTAL
Actor_Says(kActorMcCoy, 1640, 12);
if (Global_Variable_Query(kVariableHollowayArrest) == 3) {
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunAwayWithHelp1);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunAwayWithHelp1);
} else {
Actor_Says(kActorLucy, 210, 13);
Actor_Says(kActorMcCoy, 1655, 15);
@@ -130,9 +130,9 @@ void SceneScriptHF03::dialogueWithLucy() {
Actor_Clue_Acquire(kActorLucy, kClueMcCoyHelpedLucy, true, kActorMcCoy);
if (Game_Flag_Query(kFlagLucyIsReplicant)) {
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunToHF041);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunToHF041);
} else {
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunOutPhase1);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunOutPhase1);
}
}
break;
@@ -250,7 +250,7 @@ void SceneScriptHF03::PlayerWalkedIn() {
}
if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyReturnToHF03) {
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunToHF041);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunToHF041);
Actor_Says(kActorSteele, 210, 13);
Actor_Face_Actor(kActorMcCoy, kActorSteele, true);
Actor_Says(kActorMcCoy, 1680, 15);
diff --git a/engines/bladerunner/script/scene/hf04.cpp b/engines/bladerunner/script/scene/hf04.cpp
index 6d30563..4fb4432 100644
--- a/engines/bladerunner/script/scene/hf04.cpp
+++ b/engines/bladerunner/script/scene/hf04.cpp
@@ -63,7 +63,7 @@ void SceneScriptHF04::SceneLoaded() {
Unobstacle_Object("HIDE_WALL_B", true);
}
- if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyRunToHF042) {
+ if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyHF03RunToHF042) {
if (Actor_Clue_Query(kActorLucy, kClueMcCoyHelpedLucy)
&& Global_Variable_Query(kVariableHollowayArrest) != 3
) {
diff --git a/engines/bladerunner/script/scene/hf05.cpp b/engines/bladerunner/script/scene/hf05.cpp
index c78bf71..3f94212 100644
--- a/engines/bladerunner/script/scene/hf05.cpp
+++ b/engines/bladerunner/script/scene/hf05.cpp
@@ -560,7 +560,7 @@ void SceneScriptHF05::dialogueWithCrazylegs2() { // cut feature? it is impossibl
int SceneScriptHF05::getAffectionTowardsActor() {
if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
- && Actor_Query_Goal_Number(kActorDektora) != 599
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
) {
return kActorDektora;
}
@@ -744,7 +744,7 @@ void SceneScriptHF05::addAmbientSounds() {
int SceneScriptHF05::sub_4048C0() {
if (Actor_Query_In_Set(kActorDektora, kSetHF05)
- && Actor_Query_Goal_Number(kActorDektora) != 599
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
) {
return kActorDektora;
}
diff --git a/engines/bladerunner/script/scene/hf06.cpp b/engines/bladerunner/script/scene/hf06.cpp
index 7b5fd44..c89d82b 100644
--- a/engines/bladerunner/script/scene/hf06.cpp
+++ b/engines/bladerunner/script/scene/hf06.cpp
@@ -71,7 +71,7 @@ bool SceneScriptHF06::ClickedOn3DObject(const char *objectName, bool a2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.33f, 367.93f, 399.0f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 486, true);
if (Actor_Query_In_Set(kActorDektora, kSetHF06)
- && Actor_Query_Goal_Number(kActorDektora) != 599
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
) {
Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
Actor_Says(kActorDektora, 210, 12);
@@ -120,7 +120,7 @@ bool SceneScriptHF06::ClickedOnActor(int actorId) {
Actor_Says(kActorMcCoy, 2115, 17);
}
} else if (actorId == kActorDektora
- && Actor_Query_Goal_Number(kActorDektora) != 599
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
) {
Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
@@ -171,7 +171,7 @@ void SceneScriptHF06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
int otherActorId = -1;
if (Actor_Query_In_Set(kActorDektora, kSetHF06)
- && Actor_Query_Goal_Number(kActorDektora) == 599
+ && Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraDead
) {
otherActorId = kActorDektora;
} else if (Actor_Query_In_Set(kActorLucy, kSetHF06)
@@ -215,7 +215,7 @@ void SceneScriptHF06::PlayerWalkedIn() {
) {
actorId = kActorLucy;
} else if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
- && Actor_Query_Goal_Number(kActorDektora) != 599
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
) {
actorId = kActorDektora;
}
diff --git a/engines/bladerunner/script/scene/hf07.cpp b/engines/bladerunner/script/scene/hf07.cpp
index 8a8f4eb..12593ed 100644
--- a/engines/bladerunner/script/scene/hf07.cpp
+++ b/engines/bladerunner/script/scene/hf07.cpp
@@ -143,7 +143,7 @@ void SceneScriptHF07::DialogueQueueFlushed(int a1) {
int SceneScriptHF07::getAffectionTowardsActor() {
if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
- && Actor_Query_Goal_Number(kActorDektora) != 599
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
) {
return kActorDektora;
}
diff --git a/engines/bladerunner/script/scene/kp07.cpp b/engines/bladerunner/script/scene/kp07.cpp
index 56b9a91..972a18b 100644
--- a/engines/bladerunner/script/scene/kp07.cpp
+++ b/engines/bladerunner/script/scene/kp07.cpp
@@ -30,7 +30,7 @@ void SceneScriptKP07::InitializeScene() {
Scene_Exit_Add_2D_Exit(0, 315, 185, 381, 285, 0);
if (Game_Flag_Query(653)) {
if (Game_Flag_Query(kFlagDektoraIsReplicant)
- && Actor_Query_Goal_Number(kActorDektora) < 599
+ && Actor_Query_Goal_Number(kActorDektora) < kGoalDektoraDead
) {
Actor_Set_Targetable(kActorDektora, true);
Global_Variable_Increment(kVariableReplicants, 1);
diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp
index a14c9e7..6c619ac 100644
--- a/engines/bladerunner/script/scene/nr01.cpp
+++ b/engines/bladerunner/script/scene/nr01.cpp
@@ -34,7 +34,7 @@ enum kNR01Loops {
void SceneScriptNR01::InitializeScene() {
if (Game_Flag_Query(kFlagSpinnerMissing)) {
Setup_Scene_Information(-153.86f, 23.88f, -570.21f, 402);
- } else if (Game_Flag_Query(632)) {
+ } else if (Game_Flag_Query(kFlagNR01DektoraFall)) {
Setup_Scene_Information( -416.0f, 31.93f, -841.0f, 200);
Actor_Set_Invisible(kActorMcCoy, true);
Preload(167);
@@ -330,7 +330,7 @@ void SceneScriptNR01::PlayerWalkedIn() {
return;
}
- if (Game_Flag_Query(632)) {
+ if (Game_Flag_Query(kFlagNR01DektoraFall)) {
Delay(3500);
Set_Enter(kSetNR11, kSceneNR11);
//return true;
@@ -451,15 +451,15 @@ void SceneScriptNR01::PlayerWalkedOut() {
if (!Game_Flag_Query(kFlagNR01toUG06)
&& !Game_Flag_Query(kFlagNR01toNR02)
&& !Game_Flag_Query(kFlagNR01toNR03)
- && !Game_Flag_Query(632)
- && !Game_Flag_Query(722)
+ && !Game_Flag_Query(kFlagNR01DektoraFall)
+ && !Game_Flag_Query(kFlagChapter4Starting)
) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Outtake_Play(kOuttakeAway1, true, -1);
Outtake_Play(kOuttakeInside2, true, -1);
}
- Game_Flag_Reset(722);
+ Game_Flag_Reset(kFlagChapter4Starting);
}
void SceneScriptNR01::DialogueQueueFlushed(int a1) {
diff --git a/engines/bladerunner/script/scene/nr04.cpp b/engines/bladerunner/script/scene/nr04.cpp
index 0d90781..03809d9 100644
--- a/engines/bladerunner/script/scene/nr04.cpp
+++ b/engines/bladerunner/script/scene/nr04.cpp
@@ -60,7 +60,7 @@ void SceneScriptNR04::SceneLoaded() {
Clickable_Object("B.TV03");
Clickable_Object("B.TV05");
Clickable_Object("DESK");
- if (!Game_Flag_Query(605)) {
+ if (!Game_Flag_Query(kFlagNR04DiscFound)) {
Clickable_Object("TORUS01");
}
Clickable_Object("BOX12");
diff --git a/engines/bladerunner/script/scene/nr07.cpp b/engines/bladerunner/script/scene/nr07.cpp
index 0b23d61..6fbebd2 100644
--- a/engines/bladerunner/script/scene/nr07.cpp
+++ b/engines/bladerunner/script/scene/nr07.cpp
@@ -198,9 +198,9 @@ void SceneScriptNR07::dektoraRunAway() {
Loop_Actor_Walk_To_XYZ(kActorDektora, -102.0f, -73.5f, -233.0f, 0, false, true, 0);
if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
- Actor_Set_Goal_Number(kActorDektora, 245);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08ReadyToRun);
} else {
- Actor_Set_Goal_Number(kActorDektora, 295);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR07RanAway);
Game_Flag_Set(kFlagDektoraRanAway);
Actor_Put_In_Set(kActorDektora, kSetFreeSlotA);
Actor_Set_At_Waypoint(kActorDektora, 33, 0);
diff --git a/engines/bladerunner/script/scene/nr08.cpp b/engines/bladerunner/script/scene/nr08.cpp
index dd4c0e9..7070e4d 100644
--- a/engines/bladerunner/script/scene/nr08.cpp
+++ b/engines/bladerunner/script/scene/nr08.cpp
@@ -24,14 +24,20 @@
namespace BladeRunner {
+enum kNR08Loops {
+ kNR08LoopPanFromNR05 = 0,
+ kNR08LoopMainLoop = 1,
+ kNR08LoopFadeLoop = 3
+};
+
void SceneScriptNR08::InitializeScene() {
if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR01GoToNR08) {
Setup_Scene_Information(-1174.1f, 0.32f, 303.9f, 435);
} else if (Game_Flag_Query(kFlagNR05toNR08)) {
- Scene_Loop_Start_Special(0, 0, 0);
- Scene_Loop_Set_Default(1);
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kNR08LoopPanFromNR05, false);
+ Scene_Loop_Set_Default(kNR08LoopMainLoop);
Setup_Scene_Information(-1102.88f, 0.0f, 107.43f, 0);
- if (Actor_Query_Goal_Number(kActorDektora) == 210) {
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08Dance) {
Music_Stop(1);
}
} else if (Game_Flag_Query(kFlagNR06toNR08)) {
@@ -43,7 +49,7 @@ void SceneScriptNR08::InitializeScene() {
}
Scene_Exit_Add_2D_Exit(0, 610, 0, 639, 479, 1);
- if (Actor_Query_Goal_Number(kActorDektora) != 210) {
+ if (Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraNR08Dance) {
Scene_Exit_Add_2D_Exit(1, 0, 309, 30, 398, 3);
Scene_Exit_Add_2D_Exit(2, 520, 330, 556, 386, 0);
}
@@ -69,13 +75,13 @@ void SceneScriptNR08::InitializeScene() {
Ambient_Sounds_Add_Sound(192, 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);
- Scene_Loop_Set_Default(1);
+ Scene_Loop_Set_Default(kNR08LoopMainLoop);
}
void SceneScriptNR08::SceneLoaded() {
Obstacle_Object("BOX283", true);
Unobstacle_Object("BOX283", true);
- if (Actor_Query_Goal_Number(kActorDektora) == 210) {
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08Dance) {
Actor_Change_Animation_Mode(kActorDektora, 79);
}
}
@@ -160,18 +166,20 @@ void SceneScriptNR08::SceneFrameAdvanced(int frame) {
Set_Fade_Density(0.0f);
}
- if (Game_Flag_Query(651) && !Game_Flag_Query(636)) {
- Game_Flag_Set(636);
+ if ( Game_Flag_Query(kFlagNR08McCoyWatchingShow)
+ && !Game_Flag_Query(kFlagNR08Faded)
+ ) {
+ Game_Flag_Set(kFlagNR08Faded);
Scene_Exits_Disable();
- Scene_Loop_Set_Default(1);
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 3, true);
+ Scene_Loop_Set_Default(kNR08LoopMainLoop);
+ Scene_Loop_Start_Special(kSceneLoopModeOnce, kNR08LoopFadeLoop, true);
}
if (frame == 95) {
Actor_Put_In_Set(kActorDektora, kSetFreeSlotA);
Actor_Set_At_Waypoint(kActorDektora, 33, 0);
Actor_Change_Animation_Mode(kActorDektora, kAnimationModeIdle);
- Actor_Set_Goal_Number(kActorDektora, 200);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR07Sit);
Scene_Exit_Add_2D_Exit(1, 0, 309, 30, 398, 3);
Scene_Exit_Add_2D_Exit(2, 520, 330, 556, 386, 0);
}
@@ -186,7 +194,7 @@ void SceneScriptNR08::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptNR08::PlayerWalkedIn() {
- if (Actor_Query_Goal_Number(kActorDektora) == 210
+ if ( Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08Dance
&& !Game_Flag_Query(kFlagNR08DektoraShow)
) {
Game_Flag_Set(kFlagNR08DektoraShow);
@@ -196,10 +204,10 @@ void SceneScriptNR08::PlayerWalkedIn() {
Music_Adjust(51, 0, 2);
}
- if (Actor_Query_Goal_Number(kActorDektora) == 245) {
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08ReadyToRun) {
Actor_Face_Heading(kActorDektora, 790, false);
- Loop_Actor_Travel_Stairs(kActorDektora, 8, 1, kAnimationModeIdle);
- Actor_Set_Goal_Number(kActorDektora, 246);
+ Loop_Actor_Travel_Stairs(kActorDektora, 8, true, kAnimationModeIdle);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08GoToNR10);
}
if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR01GoToNR08) {
@@ -238,7 +246,7 @@ void SceneScriptNR08::DialogueQueueFlushed(int a1) {
void SceneScriptNR08::playNextMusic() {
if (Music_Is_Playing()) {
Music_Adjust(51, 0, 2);
- } else if (Actor_Query_Goal_Number(kActorDektora) == 210) {
+ } else if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08Dance) {
Music_Play(6, 61, 0, 1, -1, 0, 0);
} else {
int track = Global_Variable_Query(kVariableEarlyQBackMusic);
diff --git a/engines/bladerunner/script/scene/nr09.cpp b/engines/bladerunner/script/scene/nr09.cpp
index 233f58b..df816c1 100644
--- a/engines/bladerunner/script/scene/nr09.cpp
+++ b/engines/bladerunner/script/scene/nr09.cpp
@@ -26,13 +26,13 @@ namespace BladeRunner {
void SceneScriptNR09::InitializeScene() {
if (Game_Flag_Query(kFlagNR10toNR09)) {
- if (!Game_Flag_Query(640)) {
+ if (!Game_Flag_Query(kFlagNR10CameraDestroyed)) {
Ambient_Sounds_Adjust_Looping_Sound(452, 22, 100, 2);
}
Game_Flag_Reset(kFlagNR10toNR09);
Setup_Scene_Information(-556.07f, 0.35f, 399.04f, 440);
} else {
- if (!Game_Flag_Query(640)) {
+ if (!Game_Flag_Query(kFlagNR10CameraDestroyed)) {
Ambient_Sounds_Add_Looping_Sound(452, 22, 100, 1);
}
Setup_Scene_Information(-704.07f, 0.35f, 663.04f, 0);
diff --git a/engines/bladerunner/script/scene/nr10.cpp b/engines/bladerunner/script/scene/nr10.cpp
index e2a1df8..3f745bb 100644
--- a/engines/bladerunner/script/scene/nr10.cpp
+++ b/engines/bladerunner/script/scene/nr10.cpp
@@ -22,6 +22,8 @@
#include "bladerunner/script/scene_script.h"
+#include "common/debug.h"
+
namespace BladeRunner {
void SceneScriptNR10::InitializeScene() {
@@ -34,10 +36,10 @@ void SceneScriptNR10::InitializeScene() {
}
Scene_Exit_Add_2D_Exit(0, 144, 163, 194, 318, 3);
- Scene_Exit_Add_2D_Exit(1, 475, 95, 568, 230, 0);
+ Scene_Exit_Add_2D_Exit(1, 475, 95, 568, 230, 0);
Ambient_Sounds_Add_Looping_Sound(205, 22, 0, 1);
- Ambient_Sounds_Add_Looping_Sound(71, 33, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound( 71, 33, 0, 1);
Ambient_Sounds_Add_Sound(303, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(304, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(305, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
@@ -45,7 +47,7 @@ void SceneScriptNR10::InitializeScene() {
Ambient_Sounds_Add_Sound(307, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(308, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
- if (Game_Flag_Query(640)) {
+ if (Game_Flag_Query(kFlagNR10CameraDestroyed)) {
Scene_Loop_Set_Default(0);
} else {
Ambient_Sounds_Adjust_Looping_Sound(452, 31, 0, 1);
@@ -61,17 +63,17 @@ void SceneScriptNR10::SceneLoaded() {
}
bool SceneScriptNR10::MouseClick(int x, int y) {
- return Game_Flag_Query(642);
+ return Game_Flag_Query(kFlagNR10McCoyBlinded);
}
bool SceneScriptNR10::ClickedOn3DObject(const char *objectName, bool combatMode) {
if (Object_Query_Click("BOX18", objectName)
&& combatMode
- && Game_Flag_Query(642)
+ && Game_Flag_Query(kFlagNR10McCoyBlinded)
) {
- Actor_Set_Goal_Number(kActorDektora, 250);
- Game_Flag_Set(640);
- Game_Flag_Reset(642);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11Hiding);
+ Game_Flag_Set(kFlagNR10CameraDestroyed);
+ Game_Flag_Reset(kFlagNR10McCoyBlinded);
Actor_Set_Invisible(kActorMcCoy, false);
Actor_Set_Invisible(kActorDektora, false);
Ambient_Sounds_Remove_Looping_Sound(452, true);
@@ -119,8 +121,10 @@ bool SceneScriptNR10::ClickedOn2DRegion(int region) {
}
void SceneScriptNR10::SceneFrameAdvanced(int frame) {
+ debug("%i", frame);
+
if (frame == 122) {
- Game_Flag_Set(642);
+ Game_Flag_Set(kFlagNR10McCoyBlinded);
Actor_Set_Invisible(kActorMcCoy, true);
Actor_Set_Invisible(kActorDektora, true);
Combat_Target_Object("BOX18");
@@ -129,12 +133,12 @@ void SceneScriptNR10::SceneFrameAdvanced(int frame) {
}
if (frame == 61
- && Game_Flag_Query(642)
+ && Game_Flag_Query(kFlagNR10McCoyBlinded)
) {
- Game_Flag_Reset(642);
+ Game_Flag_Reset(kFlagNR10McCoyBlinded);
Player_Set_Combat_Mode(false);
Actor_Set_Invisible(kActorMcCoy, false);
- Actor_Set_Goal_Number(kActorDektora, 247);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR10AttackMcCoy);
//return true;
return;
}
@@ -145,7 +149,7 @@ void SceneScriptNR10::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptNR10::PlayerWalkedIn() {
- if (Actor_Query_Goal_Number(kActorDektora) == 246) {
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08GoToNR10) {
Player_Set_Combat_Mode(true);
//return true;
return;
diff --git a/engines/bladerunner/script/scene/nr11.cpp b/engines/bladerunner/script/scene/nr11.cpp
index fca1d66..d0d3ff1 100644
--- a/engines/bladerunner/script/scene/nr11.cpp
+++ b/engines/bladerunner/script/scene/nr11.cpp
@@ -24,12 +24,19 @@
namespace BladeRunner {
+enum kNR11Loops {
+ kNR11LoopMainLoop = 0,
+ kNR11LoopGunshots = 2,
+ kNR11LoopMainLoopFires = 3,
+ kNR11LoopMainLoopBurnedUp = 5
+};
+
void SceneScriptNR11::InitializeScene() {
Setup_Scene_Information(100.0f, 1.75f, -4.0f, 0);
Scene_Exit_Add_2D_Exit(0, 450, 305, 565, 345, 2);
- if (!Game_Flag_Query(640)) {
+ if (!Game_Flag_Query(kFlagNR10CameraDestroyed)) {
Ambient_Sounds_Adjust_Looping_Sound(452, 22, 0, 1);
}
@@ -42,14 +49,14 @@ void SceneScriptNR11::InitializeScene() {
Ambient_Sounds_Add_Sound(307, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(308, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
- if (Game_Flag_Query(632)) {
- Scene_Loop_Set_Default(3);
+ if (Game_Flag_Query(kFlagNR01DektoraFall)) {
+ Scene_Loop_Set_Default(kNR11LoopMainLoopFires);
Ambient_Sounds_Add_Looping_Sound(381, 83, 0, 1);
- } else if (Game_Flag_Query(634)) {
- Scene_Loop_Set_Default(5);
+ } else if (Game_Flag_Query(kFlagNR11BurnedUp)) {
+ Scene_Loop_Set_Default(kNR11LoopMainLoopBurnedUp);
Ambient_Sounds_Add_Looping_Sound(381, 83, 0, 1);
} else {
- Scene_Loop_Set_Default(0);
+ Scene_Loop_Set_Default(kNR11LoopMainLoop);
Overlay_Play("NR11OVER", 0, true, false, 0);
}
}
@@ -59,7 +66,7 @@ void SceneScriptNR11::SceneLoaded() {
Unobstacle_Object("BOX13", true);
Clickable_Object("LOFT04");
Unclickable_Object("LOFT04");
- if (Actor_Query_Goal_Number(kActorDektora) == 250) {
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Hiding) {
Clickable_Object("CLOTHING02");
Clickable_Object("BOX27");
Clickable_Object("BOX39");
@@ -140,35 +147,37 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode)
Player_Set_Combat_Mode(true);
}
Actor_Set_Goal_Number(kActorMcCoy, 230);
- Scene_Loop_Set_Default(3);
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
- } else if (Actor_Query_Goal_Number(kActorDektora) == 250) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 24.0f, 0.33f, 0.0f, 0, 1, false, 0)) {
+ Scene_Loop_Set_Default(kNR11LoopMainLoopFires);
+ Scene_Loop_Start_Special(kSceneLoopModeOnce, kNR11LoopGunshots, true);
+ } else if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Hiding) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 24.0f, 0.33f, 0.0f, 0, true, false, 0)) {
Actor_Face_XYZ(kActorMcCoy, -180.0f, 0.0f, -170.0f, true);
untargetEverything();
Actor_Set_Goal_Number(kActorSteele, 211);
if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) < 30) {
Actor_Set_At_XYZ(kActorDektora, 0.5f, 0.33f, -162.0f, 0);
- Loop_Actor_Walk_To_XYZ(kActorDektora, -24.0f, 0.33f, -35.4f, 0, 0, true, 0);
+ Loop_Actor_Walk_To_XYZ(kActorDektora, -24.0f, 0.33f, -35.4f, 0, false, true, 0);
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
Actor_Change_Animation_Mode(kActorDektora, 71);
Delay(500);
- Actor_Change_Animation_Mode(kActorMcCoy, 48);
+ Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
Delay(2000);
Actor_Set_Goal_Number(kActorMcCoy, 231);
} else {
Actor_Says(kActorMcCoy, 3840, 18);
Delay(1000);
- if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) > 59 && Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsNone) {
+ if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) > 59
+ && Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsNone
+ ) {
Music_Play(21, 35, 0, 3, -1, 0, 0);
}
- Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, false, false, 0);
Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
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);
+ Loop_Actor_Walk_To_Actor(kActorDektora, kActorMcCoy, 108, false, false);
Actor_Says(kActorMcCoy, 3845, 13);
Actor_Says(kActorMcCoy, 3850, 15);
Actor_Says(kActorDektora, 1010, 14);
@@ -198,7 +207,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode)
Actor_Says(kActorMcCoy, 3875, 14);
Actor_Says(kActorDektora, 1090, 17);
Music_Stop(4);
- Actor_Set_Goal_Number(kActorDektora, 260);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11WalkAway);
if (Global_Variable_Query(kVariableHollowayArrest) == 1) {
Actor_Set_Goal_Number(kActorSteele, 236);
}
@@ -277,38 +286,40 @@ void SceneScriptNR11::SceneFrameAdvanced(int frame) {
Ambient_Sounds_Play_Sound(122, 80, 100, 100, 15);
}
- if (Game_Flag_Query(659)) {
- Game_Flag_Reset(659);
+ if (Game_Flag_Query(kFlagNR11BreakWindow)) {
+ Game_Flag_Reset(kFlagNR11BreakWindow);
Overlay_Remove("NR11OVER");
- Overlay_Play("NR11OVER", 1, 0, 1, 0);
+ Overlay_Play("NR11OVER", 1, false, true, 0);
}
- if (Game_Flag_Query(635)) {
+ if (Game_Flag_Query(kFlagNR11SteeleShoot)) {
untargetEverything();
Player_Loses_Control();
if (!Player_Query_Combat_Mode()) {
Player_Set_Combat_Mode(true);
}
Actor_Set_Goal_Number(kActorMcCoy, 230);
- Scene_Loop_Set_Default(3);
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
- Game_Flag_Reset(635);
+ Scene_Loop_Set_Default(kNR11LoopMainLoopFires);
+ Scene_Loop_Start_Special(kSceneLoopModeOnce, kNR11LoopGunshots, true);
+ Game_Flag_Reset(kFlagNR11SteeleShoot);
} else {
- if (frame < 61 || frame > 120) {
+ if (frame < 61
+ || frame > 120
+ ) {
//return false;
return;
}
- sub_4027D0(0, frame);
+ actorSweepArea(kActorMcCoy, frame);
if (Actor_Query_Goal_Number(kActorSteele) == 215) {
- sub_4027D0(1, frame);
+ actorSweepArea(kActorSteele, frame);
}
if (frame == 120) {
- Actor_Set_Goal_Number(kActorMcCoy, 0);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
Player_Gains_Control();
if (Actor_Query_Goal_Number(kActorSteele) == 215) {
Actor_Set_Goal_Number(kActorSteele, 216);
}
- Actor_Set_Goal_Number(kActorDektora, 269);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11PrepareBurning);
}
}
//return true;
@@ -318,15 +329,16 @@ void SceneScriptNR11::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptNR11::PlayerWalkedIn() {
- if (Actor_Query_Goal_Number(kActorDektora) == 250) {
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Hiding) {
Player_Set_Combat_Mode(true);
if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
Actor_Set_Goal_Number(kActorSteele, 210);
}
}
- if (Game_Flag_Query(632)) {
- Game_Flag_Reset(632);
- Game_Flag_Set(634);
+
+ if (Game_Flag_Query(kFlagNR01DektoraFall)) {
+ Game_Flag_Reset(kFlagNR01DektoraFall);
+ Game_Flag_Set(kFlagNR11BurnedUp);
Actor_Put_In_Set(kActorDektora, kSetFreeSlotI);
Actor_Set_At_Waypoint(kActorDektora, 41, 0);
Actor_Set_Invisible(kActorMcCoy, false);
@@ -353,7 +365,7 @@ void SceneScriptNR11::PlayerWalkedIn() {
Actor_Says(kActorMcCoy, 3810, 16);
Actor_Says_With_Pause(kActorSteele, 1730, 0.2f, 14);
Actor_Says(kActorSteele, 1740, 15);
- Actor_Set_Goal_Number(kActorDektora, 599);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
Actor_Put_In_Set(kActorDektora, kSetFreeSlotI);
Actor_Set_At_Waypoint(kActorDektora, 41, 0);
Actor_Set_Goal_Number(kActorSteele, 275);
@@ -372,7 +384,7 @@ void SceneScriptNR11::PlayerWalkedOut() {
void SceneScriptNR11::DialogueQueueFlushed(int a1) {
}
-void SceneScriptNR11::sub_4027D0(int actorId, signed int frame) {
+void SceneScriptNR11::actorSweepArea(int actorId, signed int frame) {
float x;
float y;
float z;
diff --git a/engines/bladerunner/script/scene/ug05.cpp b/engines/bladerunner/script/scene/ug05.cpp
index 8bcb839..f107699 100644
--- a/engines/bladerunner/script/scene/ug05.cpp
+++ b/engines/bladerunner/script/scene/ug05.cpp
@@ -227,7 +227,7 @@ void SceneScriptUG05::DialogueQueueFlushed(int a1) {
int SceneScriptUG05::getAffectionTowardsActor() {
if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
- && Actor_Query_Goal_Number(kActorDektora) != 599
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
) {
return kActorDektora;
}
diff --git a/engines/bladerunner/script/scene_script.h b/engines/bladerunner/script/scene_script.h
index 0767fee..f866935 100644
--- a/engines/bladerunner/script/scene_script.h
+++ b/engines/bladerunner/script/scene_script.h
@@ -349,7 +349,7 @@ DECLARE_SCRIPT(NR10)
END_SCRIPT
DECLARE_SCRIPT(NR11)
- void sub_4027D0(int actorId, signed int frame);
+ void actorSweepArea(int actorId, signed int frame);
void untargetEverything();
END_SCRIPT
Commit: 49d01c3c135633b3951fbf797eb5735db2a9470e
https://github.com/scummvm/scummvm/commit/49d01c3c135633b3951fbf797eb5735db2a9470e
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-31T21:27:31+01:00
Commit Message:
BLADERUNNER: Cleanup of Dektora chase related scripts
Changed paths:
engines/bladerunner/game_constants.h
engines/bladerunner/script/ai/clovis.cpp
engines/bladerunner/script/ai/dektora.cpp
engines/bladerunner/script/ai/gordo.cpp
engines/bladerunner/script/ai/izo.cpp
engines/bladerunner/script/ai/lucy.cpp
engines/bladerunner/script/ai/mccoy.cpp
engines/bladerunner/script/ai/steele.cpp
engines/bladerunner/script/ai/zuben.cpp
engines/bladerunner/script/ai_script.h
engines/bladerunner/script/scene/hf01.cpp
engines/bladerunner/script/scene/hf02.cpp
engines/bladerunner/script/scene/hf05.cpp
engines/bladerunner/script/scene/hf06.cpp
engines/bladerunner/script/scene/hf07.cpp
engines/bladerunner/script/scene/kp07.cpp
engines/bladerunner/script/scene/ma04.cpp
engines/bladerunner/script/scene/nr01.cpp
engines/bladerunner/script/scene/nr08.cpp
engines/bladerunner/script/scene/nr10.cpp
engines/bladerunner/script/scene/nr11.cpp
engines/bladerunner/script/scene/ps04.cpp
engines/bladerunner/script/scene/ug05.cpp
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 44a62af..74db6f9 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -989,6 +989,7 @@ enum Flags {
kFlagTB07TyrellMeeting = 625,
kFlagNR01McCoyIsDrugged = 627,
kFlagNR01DektoraFall = 632,
+ kFlagNR11DektoraBurning = 633,
kFlagNR11BurnedUp = 634,
kFlagNR11SteeleShoot = 635,
kFlagNR08Faded = 636,
@@ -1046,18 +1047,26 @@ enum Flags {
enum Variables {
kVariableChapter = 1,
kVariableChinyen = 2,
+ // variables 3 - 8 are not used
kVariablePoliceMazeScore = 9,
kVariablePoliceMazePS10TargetCounter = 10,
kVariablePoliceMazePS11TargetCounter = 11,
kVariablePoliceMazePS12TargetCounter = 12,
kVariablePoliceMazePS13TargetCounter = 13,
kVariableMcCoyEvidenceMissed = 14,
+ // variable 15 has no use
+ // variables 16 - 18 are not used
kVariableIzoShot = 19, // has no use
+ // variables 20 - 23 are not used
kVariableBobShot = 24, // has no use
kVariableGeneralDollShot = 25, // has no use
+ // variables 26 - 28 are not used
+
+ // variables 30 - 31 are not used
kVariableGenericWalkerAModel = 32,
kVariableGenericWalkerBModel = 33,
kVariableGenericWalkerCModel = 34,
+
kVariableBB10ShelvesAvailable = 36,
kVariableWalkLoopActor = 37,
kVariableWalkLoopRun = 38,
@@ -1069,7 +1078,9 @@ enum Variables {
kVariableHanoiNR04Warnings = 44,
kVariableAffectionTowards = 45, // 0 none, 1 steele, 2 dektora, 3 lucy
kVariableGunPulledInFrontOfSebastian = 46,
+ kVariableNR01GetUpCounter = 47,
kVariableDNAEvidences = 48,
+
kVariableTaffyLewisMusic = 50,
kVariableReplicants = 51,
kVariableNextTvNews = 52,
@@ -1592,6 +1603,8 @@ enum GoalMcCoy {
kGoalMcCoyNR01LayDrugged = 212,
kGoalMcCoyNR04Drink = 220,
kGoalMcCoyNR04PassOut = 221,
+
+ kGoalMcCoyNR10Fall = 231,
kGoalMcCoyArrested = 500
};
@@ -1622,18 +1635,27 @@ enum GoalSteele {
kGoalSteeleWalkAroundRestart = 190,
// chapter 3
kGoalSteeleStartChapter3 = 205,
+ kGoalSteeleNR11StartWaiting = 210,
+ kGoalSteeleNR11StopWaiting = 211,
+ kGoalSteeleNR11Enter = 212,
+ kGoalSteeleNR11Entered = 213,
+ kGoalSteeleNR11Decide = 214,
+ kGoalSteeleNR11Shoot = 215,
+ kGoalSteeleNR11StopShooting = 216,
kGoalSteeleNR01WaitForMcCoy = 230,
kGoalSteeleNR01GoToNR08 = 231,
kGoalSteeleNR01GoToNR02 = 232,
kGoalSteeleNR01GoToHF03 = 233,
kGoalSteeleHF03McCoyChasingLucy = 234,
+ kGoalSteeleNR08WalkOut = 235,
+ kGoalSteeleNR10Wait = 236,
kGoalSteeleHF02ConfrontLucy = 240,
kGoalSteeleHF02ShootLucy = 241,
kGoalSteeleHF02LucyShotBySteele = 242,
kGoalSteeleHF02LucyRanAway = 243,
kGoalSteeleHF02LucyShotByMcCoy = 244,
kGoalSteeleHF02LucyLostByMcCoy = 245,
- kGoalSteeleGoToMcCoysSpinner = 246,
+ kGoalSteeleHFxxGoToSpinner = 246,
kGoalSteeleNR01ConfrontGordo = 250,
kGoalSteeleNR01TalkToGordo = 251,
kGoalSteeleNR01ShootGordo = 252,
@@ -1644,12 +1666,13 @@ enum GoalSteele {
kGoalSteeleNR01TalkAboutShotGun = 262,
kGoalSteeleNR01ShotByMcCoy = 270,
kGoalSteeleNR01PrepareShotByMcCoy = 271,
+ kGoalSteeleNRxxGoToSpinner = 275,
kGoalSteeleTalkAboutMissingSpinner = 280,
kGoalSteeleImmediatelyStartChapter4 = 285,
kGoalSteeleNR01StartChapter4 = 290,
kGoalSteeleHF01StartChapter4 = 291,
- kGoalSteeleDead = 599
+ kGoalSteeleGone = 599
};
enum GoalDektora {
@@ -1679,7 +1702,7 @@ enum GoalDektora {
kGoalDektoraNR11RanAway = 290,
kGoalDektoraNR07RanAway = 295,
- kGoalDektoraDead = 599
+ kGoalDektoraGone = 599
};
enum GoalGordo {
@@ -1730,7 +1753,7 @@ enum GoalGordo {
kGoalGordoNR01RanAway = 280,
kGoalGordoNR01Die = 299,
- kGoalGordoDead = 599
+ kGoalGordoGone = 599
};
enum GoalGuzza {
@@ -1776,7 +1799,7 @@ enum GoalLucy {
kGoalLucyHF04WalkAway = 239,
kGoalLucyReturnToHF03 = 250,
kGoalLucyHF03RanAway = 299,
- kGoalLucyDead = 599
+ kGoalLucyGone = 599
};
enum GoalIzo {
@@ -1797,7 +1820,7 @@ enum GoalIzo {
kGoalIzoGoToHC03 = 155,
kGoalIzoDieHidden = 198,
kGoalIzoDie = 199,
- kGoalIzoDead = 599
+ kGoalIzoGone = 599
};
enum GoalSadik {
@@ -1880,7 +1903,7 @@ enum GoalZuben {
kGoalZubenCT02PotDodgeCheck = 14,
kGoalZubenFled = 20,
kGoalZubenMA01AttackMcCoy = 21,
- kGoalZubenDead = 599
+ kGoalZubenGone = 599
};
enum GoalOfficerLeary {
diff --git a/engines/bladerunner/script/ai/clovis.cpp b/engines/bladerunner/script/ai/clovis.cpp
index 312ea08..41d188e 100644
--- a/engines/bladerunner/script/ai/clovis.cpp
+++ b/engines/bladerunner/script/ai/clovis.cpp
@@ -449,7 +449,7 @@ bool AIScriptClovis::GoalChanged(int currentGoalNumber, int newGoalNumber) {
case 517:
if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_In_Set(kActorLucy, kSetKP07)) {
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyDead);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyGone);
Global_Variable_Decrement(kVariableReplicants, 1);
}
if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_In_Set(kActorLuther, kSetKP07)) {
diff --git a/engines/bladerunner/script/ai/dektora.cpp b/engines/bladerunner/script/ai/dektora.cpp
index cb07d7b..8ec9740 100644
--- a/engines/bladerunner/script/ai/dektora.cpp
+++ b/engines/bladerunner/script/ai/dektora.cpp
@@ -192,7 +192,7 @@ void AIScriptDektora::ReceivedClue(int clueId, int fromActorId) {
}
void AIScriptDektora::ClickedByPlayer() {
- if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraDead) {
+ if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraGone) {
Actor_Face_Actor(0, kActorDektora, true);
Actor_Says(kActorMcCoy, 8630, 12);
@@ -266,7 +266,7 @@ bool AIScriptDektora::ShotAtAndHit() {
Actor_Change_Animation_Mode(kActorDektora, kAnimationModeDie);
Actor_Start_Speech_Sample(kActorDektora, 980);
Delay(2000);
- Actor_Set_Goal_Number(kActorSteele, 212);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11Enter);
} else {
Actor_Change_Animation_Mode(kActorDektora, kAnimationModeDie);
Delay(2000);
@@ -295,7 +295,7 @@ void AIScriptDektora::Retired(int byActorId) {
if (Actor_Query_In_Set(kActorDektora, kSetKP07)) {
Global_Variable_Decrement(kVariableReplicants, 1);
- Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
if (Global_Variable_Query(kVariableReplicants) == 0) {
Player_Loses_Control();
@@ -313,7 +313,7 @@ void AIScriptDektora::Retired(int byActorId) {
}
if (Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraNR11FallThroughWindow) {
- Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
}
return; //false;
@@ -476,15 +476,15 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
case kGoalDektoraNR11PrepareBurning:
case kGoalDektoraNR11BurningGoToMcCoy:
- case kGoalDektoraDead:
+ case kGoalDektoraGone:
break; // return true
case kGoalDektoraNR11Burning:
- Game_Flag_Set(633);
+ Game_Flag_Set(kFlagNR11DektoraBurning);
Actor_Set_Targetable(kActorDektora, true);
- Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, 0, 0, 0);
+ Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, false, false, 0);
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
- if (Actor_Query_Goal_Number(kActorSteele) == 216) {
+ if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11StopShooting) {
Actor_Face_Actor(kActorSteele, kActorDektora, true);
Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatAttack);
Delay(250);
@@ -517,7 +517,7 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Force_Stop_Walking(kActorDektora);
Actor_Put_In_Set(kActorDektora, kSetNR10);
Actor_Set_At_XYZ(kActorDektora, 14.0f, 2.84f, -300.0f, 926);
- Actor_Set_Goal_Number(kActorMcCoy, 231);
+ Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR10Fall);
_animationState = 36;
_animationFrame = 0;
break;
@@ -529,7 +529,7 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
case 299:
Actor_Put_In_Set(kActorDektora, kSetFreeSlotI);
Actor_Set_At_Waypoint(kActorDektora, 41, 0);
- Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
break;
case 300:
@@ -1080,7 +1080,7 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
bool AIScriptDektora::ChangeAnimationMode(int mode) {
switch (mode) {
case kAnimationModeIdle:
- if (Game_Flag_Query(633)) {
+ if (Game_Flag_Query(kFlagNR11DektoraBurning)) {
_animationState = 32;
_animationFrame = 0;
break;
@@ -1132,11 +1132,11 @@ bool AIScriptDektora::ChangeAnimationMode(int mode) {
break;
case kAnimationModeWalk:
- if (!Game_Flag_Query(633)) {
+ if (Game_Flag_Query(kFlagNR11DektoraBurning)) {
+ _animationState = 33;
_animationFrame = 0;
- _animationState = 21;
} else {
- _animationState = 33;
+ _animationState = 21;
_animationFrame = 0;
}
break;
@@ -1192,11 +1192,11 @@ bool AIScriptDektora::ChangeAnimationMode(int mode) {
break;
case kAnimationModeCombatWalk:
- if (!Game_Flag_Query(633)) {
+ if (Game_Flag_Query(kFlagNR11DektoraBurning)) {
+ _animationState = 33;
_animationFrame = 0;
- _animationState = 21;
} else {
- _animationState = 33;
+ _animationState = 21;
_animationFrame = 0;
}
break;
@@ -1267,7 +1267,7 @@ bool AIScriptDektora::ChangeAnimationMode(int mode) {
break;
case 21:
- if (Game_Flag_Query(633)) {
+ if (Game_Flag_Query(kFlagNR11DektoraBurning)) {
_animationState = 34;
_animationFrame = 0;
break;
diff --git a/engines/bladerunner/script/ai/gordo.cpp b/engines/bladerunner/script/ai/gordo.cpp
index 50dc2c0..742e818 100644
--- a/engines/bladerunner/script/ai/gordo.cpp
+++ b/engines/bladerunner/script/ai/gordo.cpp
@@ -85,7 +85,7 @@ bool AIScriptGordo::Update() {
&& Actor_Query_Goal_Number(kActorGordo) != kGoalGordoNR01Arrested
) {
Actor_Set_Goal_Number(kActorGordo, 300);
- } else if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDead) {
+ } else if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoGone) {
Actor_Put_In_Set(kActorGordo, kSetFreeSlotI);
Actor_Set_At_Waypoint(kActorGordo, 41, 0);
}
@@ -215,7 +215,7 @@ void AIScriptGordo::ClickedByPlayer() {
Actor_Says(kActorMcCoy, 8600, 11);
Actor_Face_Actor(kActorGordo, kActorMcCoy, true);
Actor_Says(kActorGordo, 1390, 16);
- } else if (goal == kGoalGordoDead) {
+ } else if (goal == kGoalGordoGone) {
Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
Actor_Says(kActorMcCoy, 8665, 14);
}
@@ -274,7 +274,7 @@ void AIScriptGordo::Retired(int byActorId) {
if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoNR01Attack) {
Player_Loses_Control();
Game_Flag_Set(kFlagGordoRanAway);
- Actor_Set_Goal_Number(kActorGordo, kGoalGordoDead);
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoGone);
Delay(2000);
Player_Set_Combat_Mode(false);
Actor_Voice_Over(1410, kActorVoiceOver);
@@ -289,7 +289,7 @@ void AIScriptGordo::Retired(int byActorId) {
if (Actor_Query_In_Set(kActorGordo, kSetKP07)) {
Global_Variable_Decrement(kVariableReplicants, 1);
- Actor_Set_Goal_Number(kActorGordo, kGoalGordoDead);
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoGone);
if (Global_Variable_Query(kVariableReplicants) == 0) {
Player_Loses_Control();
Delay(2000);
@@ -305,7 +305,7 @@ void AIScriptGordo::Retired(int byActorId) {
}
}
- Actor_Set_Goal_Number(kActorGordo, kGoalGordoDead);
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoGone);
//return false;
}
@@ -695,7 +695,7 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
} else {
Actor_Change_Animation_Mode(kActorGordo, kAnimationModeDie);
}
- Actor_Set_Goal_Number(kActorGordo, kGoalGordoDead);
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoGone);
Actor_Retired_Here(kActorGordo, 36, 18, true, -1);
break;
diff --git a/engines/bladerunner/script/ai/izo.cpp b/engines/bladerunner/script/ai/izo.cpp
index 8807011..f7bbfce 100644
--- a/engines/bladerunner/script/ai/izo.cpp
+++ b/engines/bladerunner/script/ai/izo.cpp
@@ -60,7 +60,7 @@ bool AIScriptIzo::Update() {
}
if (Global_Variable_Query(kVariableChapter) == 1
- && Actor_Query_Goal_Number(kActorIzo) == kGoalIzoDead
+ && Actor_Query_Goal_Number(kActorIzo) == kGoalIzoGone
&& Actor_Query_Which_Set_In(kActorIzo) == kSetRC03
) {
Actor_Put_In_Set(kActorIzo, kSetFreeSlotI);
@@ -74,7 +74,7 @@ bool AIScriptIzo::Update() {
}
if (Global_Variable_Query(kVariableChapter) == 4
- && Actor_Query_Goal_Number(kActorIzo) < kGoalIzoDead
+ && Actor_Query_Goal_Number(kActorIzo) < kGoalIzoGone
&& Actor_Query_Goal_Number(kActorIzo) < 300
&& Actor_Query_Goal_Number(kActorIzo) != kGoalIzoGotArrested
) {
@@ -239,7 +239,7 @@ void AIScriptIzo::Retired(int byActorId) {
}
Global_Variable_Decrement(kVariableReplicants, 1);
- Actor_Set_Goal_Number(kActorIzo, kGoalIzoDead);
+ Actor_Set_Goal_Number(kActorIzo, kGoalIzoGone);
if (Global_Variable_Query(kVariableReplicants) == 0) {
Player_Loses_Control();
@@ -434,7 +434,7 @@ bool AIScriptIzo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
return true;
case 999:
- Actor_Set_Goal_Number(kActorIzo, kGoalIzoDead);
+ Actor_Set_Goal_Number(kActorIzo, kGoalIzoGone);
return true;
case 9999:
diff --git a/engines/bladerunner/script/ai/lucy.cpp b/engines/bladerunner/script/ai/lucy.cpp
index 04ac251..41e127f 100644
--- a/engines/bladerunner/script/ai/lucy.cpp
+++ b/engines/bladerunner/script/ai/lucy.cpp
@@ -61,7 +61,7 @@ bool AIScriptLucy::Update() {
}
if (Global_Variable_Query(kVariableChapter) == 4
- && Actor_Query_Goal_Number(kActorLucy) == kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) == kGoalLucyGone
&& Actor_Query_Which_Set_In(kActorLucy) != 99
) {
if (Actor_Query_Which_Set_In(kActorLucy) != Player_Query_Current_Set()) {
@@ -212,7 +212,7 @@ void AIScriptLucy::ReceivedClue(int clueId, int fromActorId) {
}
void AIScriptLucy::ClickedByPlayer() {
- if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyDead) {
+ if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyGone) {
Actor_Face_Actor(kActorMcCoy, kActorLucy, true);
Actor_Says(kActorMcCoy, 8630, kAnimationModeTalk);
}
@@ -265,7 +265,7 @@ void AIScriptLucy::Retired(int byActorId) {
Global_Variable_Increment(kVariableChinyen, 200);
}
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyDead);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyGone);
}
int AIScriptLucy::GetFriendlinessModifierIfGetsClue(int otherActorId, int clueId) {
@@ -470,7 +470,7 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
case 240: // not used anywhere
if (Global_Variable_Query(kVariableHollowayArrest) == 3) {
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyDead);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyGone);
Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHF02ConfrontLucy);
} else {
Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RanAway);
@@ -509,7 +509,7 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Repeat(kActorLucy);
break;
- case kGoalLucyDead:
+ case kGoalLucyGone:
Game_Flag_Set(kFlagLucyRanAway);
break;
}
@@ -828,7 +828,7 @@ void AIScriptLucy::FledCombat() {
) {
Actor_Put_In_Set(kActorLucy, kSetFreeSlotG);
Actor_Set_At_Waypoint(kActorLucy, 39, 0);
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyDead);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyGone);
}
return; //true;
diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp
index a6277e9..7edb639 100644
--- a/engines/bladerunner/script/ai/mccoy.cpp
+++ b/engines/bladerunner/script/ai/mccoy.cpp
@@ -34,10 +34,10 @@ AIScriptMcCoy::AIScriptMcCoy(BladeRunnerEngine *vm) : AIScriptBase(vm) {
_animationStateNextSpecial = 0;
_animationNextSpecial = 0;
dword_45A0F8 = 0;
- dword_45A0FC = 0;
- off_45A100 = 0.0f;
- flt_462710 = 0.0f;
- flt_462714 = 0.0f;
+ _NR10SteeleShooting = false;
+ _fallSpeed = 0.0f;
+ _fallHeightCurrent = 0.0f;
+ _fallHeightTarget = 0.0f;
}
void AIScriptMcCoy::Initialize() {
@@ -52,8 +52,8 @@ void AIScriptMcCoy::Initialize() {
_animationStateNextSpecial = 3;
_animationNextSpecial = 20;
dword_45A0F8 = -1;
- dword_45A0FC = 0;
- off_45A100 = 0;
+ _NR10SteeleShooting = false;
+ _fallSpeed = 0;
Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
}
@@ -93,10 +93,10 @@ bool AIScriptMcCoy::Update() {
return true;
case kGoalMcCoyNR01LayDrugged:
- if (Global_Variable_Query(47) >= 13) {
- Global_Variable_Set(47, 500);
- } if (Global_Variable_Query(47) > 0) {
- Global_Variable_Decrement(47, 1);
+ if (Global_Variable_Query(kVariableNR01GetUpCounter) >= 13) {
+ Global_Variable_Set(kVariableNR01GetUpCounter, 500);
+ } if (Global_Variable_Query(kVariableNR01GetUpCounter) > 0) {
+ Global_Variable_Decrement(kVariableNR01GetUpCounter, 1);
}
break;
@@ -105,18 +105,18 @@ bool AIScriptMcCoy::Update() {
Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04TakeDisk);
return true;
+ case kGoalMcCoyNR10Fall:
+ fallDown();
+ break;
+
case 309:
- sub_4053E0();
+ fallDown();
break;
case 391:
Actor_Retired_Here(kActorMcCoy, 12, 48, 1, -1);
Actor_Set_Goal_Number(kActorMcCoy, 599);
break;
-
- case 231:
- sub_4053E0();
- break;
}
return false;
}
@@ -270,10 +270,10 @@ bool AIScriptMcCoy::ShotAtAndHit() {
void AIScriptMcCoy::Retired(int byActorId) {
if (byActorId == kActorSteele && Actor_Query_In_Set(kActorSteele, kSetHF06)) {
if (Actor_Query_In_Set(kActorDektora, kSetHF06)
- && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead) {
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone) {
Non_Player_Actor_Combat_Mode_On(kActorSteele, kActorCombatStateUncover, true, kActorDektora, 15, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
} else if (Actor_Query_In_Set(kActorLucy, kSetHF06)
- && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
) {
Non_Player_Actor_Combat_Mode_On(kActorSteele, kActorCombatStateUncover, true, kActorLucy, 15, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
}
@@ -282,7 +282,7 @@ void AIScriptMcCoy::Retired(int byActorId) {
if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
&& Actor_Query_In_Set(kActorOfficerLeary, kSetHF05)
&& Actor_Query_In_Set(kActorDektora, kSetHF05)
- && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
) {
Non_Player_Actor_Combat_Mode_On(kActorOfficerLeary, kActorCombatStateUncover, true, kActorDektora, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
}
@@ -290,7 +290,7 @@ void AIScriptMcCoy::Retired(int byActorId) {
if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
&& Actor_Query_In_Set(kActorOfficerGrayford, kSetHF05)
&& Actor_Query_In_Set(kActorDektora, kSetHF05)
- && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
) {
Non_Player_Actor_Combat_Mode_On(kActorOfficerGrayford, kActorCombatStateUncover, true, kActorDektora, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
}
@@ -298,7 +298,7 @@ void AIScriptMcCoy::Retired(int byActorId) {
if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
&& Actor_Query_In_Set(kActorOfficerLeary, kSetHF05)
&& Actor_Query_In_Set(kActorLucy, kSetHF05)
- && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
) {
Non_Player_Actor_Combat_Mode_On(kActorOfficerLeary, kActorCombatStateUncover, true, kActorLucy, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
}
@@ -306,7 +306,7 @@ void AIScriptMcCoy::Retired(int byActorId) {
if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
&& Actor_Query_In_Set(kActorOfficerGrayford, kSetHF05)
&& Actor_Query_In_Set(kActorLucy, kSetHF05)
- && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
) {
Non_Player_Actor_Combat_Mode_On(kActorOfficerGrayford, kActorCombatStateUncover, true, kActorLucy, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
}
@@ -379,7 +379,7 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
return true;
case kGoalMcCoyNR01LayDrugged:
- Global_Variable_Set(47, 0);
+ Global_Variable_Set(kVariableNR01GetUpCounter, 0);
Player_Set_Combat_Mode_Access(false);
Player_Gains_Control();
Scene_Exits_Disable();
@@ -392,11 +392,11 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
return true;
case 230:
- dword_45A0FC = Actor_Query_Goal_Number(kActorSteele) == 215;
+ _NR10SteeleShooting = Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11Shoot;
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeCombatAttack);
return true;
- case 231:
+ case kGoalMcCoyNR10Fall:
Player_Set_Combat_Mode(false);
Preload(18);
Set_Enter(kSetNR10, kSceneNR10);
@@ -404,12 +404,12 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Force_Stop_Walking(kActorMcCoy);
Actor_Put_In_Set(kActorMcCoy, kSetNR10);
Actor_Set_At_XYZ(kActorMcCoy, 14.0f, 110.84f, -300.0f, 926);
- Actor_Change_Animation_Mode(kActorMcCoy, 48);
+ Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
_animationState = 27;
_animationFrame = 0;
- flt_462714 = 2.84f;
- flt_462710 = 110.84f;
- off_45A100 = -6.0f;
+ _fallHeightTarget = 2.84f;
+ _fallHeightCurrent = 110.84f;
+ _fallSpeed = -6.0f;
return true;
case 301:
@@ -468,9 +468,9 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
case 390:
Actor_Force_Stop_Walking(kActorMcCoy);
Player_Loses_Control();
- flt_462710 = 48.07f;
- off_45A100 = -4.0f;
- flt_462714 = -20.0f;
+ _fallHeightCurrent = 48.07f;
+ _fallSpeed = -4.0f;
+ _fallHeightTarget = -20.0f;
if (_animationState != 27 && _animationState != 50) {
_animationState = 50;
_animationFrame = Slice_Animation_Query_Number_Of_Frames(18) - 1;
@@ -567,7 +567,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
break;
case 68:
*animation = 18;
- v7 = Slice_Animation_Query_Number_Of_Frames(*animation) - 1 - Global_Variable_Query(47);
+ v7 = Slice_Animation_Query_Number_Of_Frames(*animation) - 1 - Global_Variable_Query(kVariableNR01GetUpCounter);
if (_animationFrame < v7) {
_animationFrame++;
} else if (_animationFrame > v7) {
@@ -1069,7 +1069,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
_animationFrame++;
if (_animationFrame == 1
&& Actor_Query_Goal_Number(kActorMcCoy) == 230
- && dword_45A0FC == 1
+ && _NR10SteeleShooting
) {
dword_45A0F8 = 27;
}
@@ -1080,7 +1080,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
if (Actor_Query_Goal_Number(kActorMcCoy) == 230) {
_animationFrame = 0;
_animationState = 21;
- dword_45A0FC = 1;
+ _NR10SteeleShooting = true;
*animation = 12;
}
}
@@ -1776,18 +1776,18 @@ bool AIScriptMcCoy::ReachedMovementTrackWaypoint(int waypointId) {
void AIScriptMcCoy::FledCombat() {}
-void AIScriptMcCoy::sub_4053E0() {
+void AIScriptMcCoy::fallDown() {
float x, y, z;
Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
- flt_462710 = flt_462710 + off_45A100;
- if (flt_462714 < flt_462710) {
- off_45A100 = off_45A100 - 0.2f;
+ _fallHeightCurrent = _fallHeightCurrent + _fallSpeed;
+ if (_fallHeightTarget < _fallHeightCurrent) {
+ _fallSpeed = _fallSpeed - 0.2f;
} else {
- flt_462710 = flt_462714;
+ _fallHeightCurrent = _fallHeightTarget;
Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
Actor_Retired_Here(kActorMcCoy, 12, 48, true, -1);
}
- return Actor_Set_At_XYZ(kActorMcCoy, x, flt_462710, z, Actor_Query_Facing_1024(kActorMcCoy));
+ return Actor_Set_At_XYZ(kActorMcCoy, x, _fallHeightCurrent, z, Actor_Query_Facing_1024(kActorMcCoy));
}
void AIScriptMcCoy::sub_4054F0() {
diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp
index 1bcede6..b07a039 100644
--- a/engines/bladerunner/script/ai/steele.cpp
+++ b/engines/bladerunner/script/ai/steele.cpp
@@ -140,8 +140,8 @@ bool AIScriptSteele::Update() {
Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR01ShootMcCoy);
}
- if (Actor_Query_Goal_Number(kActorSteele) == 213) {
- Actor_Set_Goal_Number(kActorSteele, 214);
+ if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11Entered) {
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11Decide);
return true;
}
@@ -178,7 +178,7 @@ bool AIScriptSteele::Update() {
break;
}
- if ( Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleDead
+ if ( Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleGone
&& !Actor_Query_In_Set(kActorSteele, kSetFreeSlotI)
) {
if (Actor_Query_Which_Set_In(kActorMcCoy) != Actor_Query_Which_Set_In(kActorSteele)) {
@@ -193,13 +193,12 @@ bool AIScriptSteele::Update() {
void AIScriptSteele::TimerExpired(int timer) {
if (timer == 0
- && Actor_Query_Goal_Number(kActorSteele) == 210
- && Player_Query_Current_Scene() == kSceneNR11
+ && Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11StartWaiting
) {
if (Player_Query_Current_Scene() == kSceneNR11) {
- Actor_Set_Goal_Number(kActorSteele, 212);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11Enter);
} else {
- Actor_Set_Goal_Number(kActorSteele, 211);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11StopWaiting);
}
return; // true;
}
@@ -355,7 +354,7 @@ void AIScriptSteele::ReceivedClue(int clueId, int fromActorId) {
void AIScriptSteele::ClickedByPlayer() {
int goal = Actor_Query_Goal_Number(kActorSteele);
- if (goal == kGoalSteeleDead) {
+ if (goal == kGoalSteeleGone) {
Actor_Face_Actor(kActorMcCoy, kActorSteele, true);
Actor_Says(kActorMcCoy, 8630, 14);
return; //true;
@@ -444,7 +443,7 @@ void AIScriptSteele::EnteredScene(int sceneId) {
}
}
- if ( Actor_Query_Goal_Number(kActorSteele) == 5
+ if ( Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleGoToCT01
&& Actor_Query_In_Set(kActorSteele, kSetCT03_CT04)
&& Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
&& !Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
@@ -495,9 +494,9 @@ void AIScriptSteele::Retired(int byActorId) {
Game_Flag_Set(484);
}
- if (Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleDead) {
+ if (Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleGone) {
Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatDie);
- Actor_Set_Goal_Number(kActorSteele, kGoalSteeleDead);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleGone);
}
}
@@ -556,7 +555,7 @@ double AIScriptSteele::comp_distance(int actorId, float a5, float a6, int a1, fl
}
bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
- if (currentGoalNumber == kGoalSteeleDead) {
+ if (currentGoalNumber == kGoalSteeleGone) {
return false;
}
@@ -607,7 +606,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
case kGoalSteeleGoToFreeSlotG2:
AI_Movement_Track_Flush(kActorSteele);
- Game_Flag_Set(185);
+ Game_Flag_Set(kFlagSteeleInPoliceStation);
Game_Flag_Reset(kFlagSteeleInChinaTown);
AI_Movement_Track_Append(kActorSteele, 39, 45);
AI_Movement_Track_Repeat(kActorSteele);
@@ -631,7 +630,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
case kGoalSteeleGoToFreeSlotG3:
AI_Movement_Track_Flush(kActorSteele);
- Game_Flag_Reset(185);
+ Game_Flag_Reset(kFlagSteeleInPoliceStation);
AI_Movement_Track_Append(kActorSteele, 39, 30);
AI_Movement_Track_Repeat(kActorSteele);
return true;
@@ -807,7 +806,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Force_Stop_Walking(kActorMcCoy);
Actor_Set_Goal_Number(kActorIzo, kGoalIzoRC03RunAway);
Actor_Says(kActorSteele, 1940, kAnimationModeTalk);
- Loop_Actor_Walk_To_Actor(kActorSteele, 0, 60, false, true);
+ Loop_Actor_Walk_To_Actor(kActorSteele, kActorMcCoy, 60, false, true);
Actor_Face_Actor(kActorSteele, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorSteele, true);
Actor_Says(kActorSteele, 1950, kAnimationModeTalk);
@@ -852,23 +851,23 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Set_At_Waypoint(kActorSteele, 35, 0);
return true;
- case 210:
+ case kGoalSteeleNR11StartWaiting:
AI_Countdown_Timer_Reset(kActorSteele, 0);
AI_Countdown_Timer_Start(kActorSteele, 0, 15);
return true;
- case 211:
+ case kGoalSteeleNR11StopWaiting:
AI_Countdown_Timer_Reset(kActorSteele, 0);
return true;
- case 212:
+ case kGoalSteeleNR11Enter:
if (comp_distance(kActorMcCoy, -4.0, 0.33f, 0.0f, 100.0f, 0.33f, -4.0f) < 48.0f) {
- Loop_Actor_Walk_To_XYZ(0, 32.0f, 0.33f, 17.0f, 0, 0, 0, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 32.0f, 0.33f, 17.0f, 0, false, false, 0);
}
AI_Countdown_Timer_Reset(kActorSteele, 0);
Player_Loses_Control();
if (Actor_Query_Goal_Number(kActorDektora) == kGoalSteeleNR01ConfrontGordo) {
- Async_Actor_Walk_To_XYZ(kActorMcCoy, -15.53f, 0.33f, 73.49f, 0, 0);
+ Async_Actor_Walk_To_XYZ(kActorMcCoy, -15.53f, 0.33f, 73.49f, 0, false);
}
Actor_Put_In_Set(kActorSteele, kSetNR11);
Actor_Set_At_XYZ(kActorSteele, 100.0f, -51.56f, 0.0, 0);
@@ -876,37 +875,39 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
_animationFrame = 0;
return true;
- case 213:
+ case kGoalSteeleNR11Entered:
case 216:
- case 271:
+ case kGoalSteeleNR01PrepareShotByMcCoy:
return true;
- case 214:
+ case kGoalSteeleNR11Decide:
Player_Gains_Control();
switch (Actor_Query_Goal_Number(kActorDektora)) {
- case 250:
- Actor_Face_Heading(kActorMcCoy, 954, 0);
+ case kGoalDektoraNR11Hiding:
+ Actor_Face_Heading(kActorMcCoy, 954, false);
Actor_Change_Animation_Mode(kActorSteele, 4);
Delay(2000);
Actor_Says(kActorSteele, 1700, 58);
Actor_Says(kActorMcCoy, 3800, 3);
Actor_Says(kActorSteele, 1710, 59);
- Actor_Set_Goal_Number(kActorSteele, 215);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11Shoot);
break;
- case 260:
- Actor_Face_Actor(kActorSteele, kActorDektora, 1);
+
+ case kGoalDektoraNR11WalkAway:
+ Actor_Face_Actor(kActorSteele, kActorDektora, true);
Actor_Says(kActorSteele, 1790, 3);
- Actor_Face_Actor(kActorMcCoy, kActorSteele, 1);
- Actor_Face_Actor(kActorSteele, kActorMcCoy, 1);
+ Actor_Face_Actor(kActorMcCoy, kActorSteele, true);
+ Actor_Face_Actor(kActorSteele, kActorMcCoy, true);
Actor_Says(kActorMcCoy, 3830, 17);
Actor_Says(kActorSteele, 1800, 17);
Actor_Says(kActorMcCoy, 3835, 18);
Actor_Says(kActorSteele, 1810, 16);
Game_Flag_Set(kFlagDektoraRanAway);
- Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
- Actor_Set_Goal_Number(kActorSteele, 275);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNRxxGoToSpinner);
break;
- case 274:
+
+ case kGoalDektoraNR11FallThroughWindow:
Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, 6);
Actor_Says(kActorSteele, 1750, 12);
Actor_Says(kActorMcCoy, 3815, 19);
@@ -916,12 +917,12 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Says(kActorSteele, 1780, 15);
Actor_Says(kActorMcCoy, 3825, 14);
Game_Flag_Set(kFlagDektoraRanAway);
- Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
- Actor_Set_Goal_Number(kActorSteele, 275);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNRxxGoToSpinner);
}
return true;
- case 215:
+ case kGoalSteeleNR11Shoot:
Game_Flag_Set(kFlagNR11SteeleShoot);
Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatAttack);
Scene_Exits_Disable();
@@ -962,14 +963,14 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Repeat(kActorSteele);
return true;
- case 235:
+ case kGoalSteeleNR08WalkOut:
AI_Movement_Track_Flush(kActorSteele);
AI_Movement_Track_Append_Run(kActorSteele, 467, 0);
AI_Movement_Track_Append(kActorSteele, 35, 0);
AI_Movement_Track_Repeat(kActorSteele);
return true;
- case 236:
+ case kGoalSteeleNR10Wait:
Actor_Put_In_Set(kActorSteele, kSetNR10);
Actor_Set_At_XYZ(kActorSteele, -118.13f, 2.84f, -197.90f, 305);
return true;
@@ -1051,7 +1052,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Says(kActorSteele, 100, 13);
Actor_Says(kActorMcCoy, 1575, 13);
Actor_Says(kActorSteele, 120, 15);
- Actor_Set_Goal_Number(kActorSteele, kGoalSteeleGoToMcCoysSpinner);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHFxxGoToSpinner);
return true;
case kGoalSteeleHF02LucyLostByMcCoy:
@@ -1065,10 +1066,10 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Says(kActorSteele, 180, 17);
Actor_Says(kActorMcCoy, 1590, 17);
Actor_Says(kActorSteele, 200, 15);
- Actor_Set_Goal_Number(kActorSteele, kGoalSteeleGoToMcCoysSpinner);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHFxxGoToSpinner);
return true;
- case kGoalSteeleGoToMcCoysSpinner:
+ case kGoalSteeleHFxxGoToSpinner:
Actor_Says(kActorSteele, 130, 13);
Actor_Says(kActorSteele, 140, 13);
@@ -1225,7 +1226,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyArrested);
return true;
- case 275:
+ case kGoalSteeleNRxxGoToSpinner:
Delay(500);
Game_Flag_Set(kFlagSpinnerMissing);
Player_Gains_Control();
@@ -1388,7 +1389,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
case 419:
Actor_Set_Targetable(kActorSteele, false);
Game_Flag_Set(kFlagSteeleDead);
- Actor_Set_Goal_Number(kActorSteele, kGoalSteeleDead);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleGone);
Actor_Retired_Here(kActorSteele, 60, 12, true, -1);
return true;
@@ -1572,8 +1573,8 @@ bool AIScriptSteele::UpdateAnimation(int *animation, int *frame) {
*animation = 74;
_animationFrame = 0;
_animationState = 0;
- if (Actor_Query_Goal_Number(kActorSteele) == 212) {
- Actor_Set_Goal_Number(kActorSteele, 213);
+ if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11Enter) {
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11Entered);
}
}
break;
@@ -1758,7 +1759,7 @@ bool AIScriptSteele::UpdateAnimation(int *animation, int *frame) {
_animationState = 23;
*animation = 54;
Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatIdle);
- if (Actor_Query_Goal_Number(kActorSteele) == 215) {
+ if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11Shoot) {
Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatAttack);
_animationState = 26;
_animationFrame = 0;
diff --git a/engines/bladerunner/script/ai/zuben.cpp b/engines/bladerunner/script/ai/zuben.cpp
index eb7de88..1cc2a54 100644
--- a/engines/bladerunner/script/ai/zuben.cpp
+++ b/engines/bladerunner/script/ai/zuben.cpp
@@ -46,7 +46,7 @@ void AIScriptZuben::Initialize() {
}
bool AIScriptZuben::Update() {
- if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDead
+ if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenGone
&& Actor_Query_Which_Set_In(kActorZuben) != kSetFreeSlotI
&& Actor_Query_Which_Set_In(kActorZuben) != Player_Query_Current_Set()
) {
@@ -174,7 +174,7 @@ void AIScriptZuben::CompletedMovementTrack() {
Music_Stop(2);
Sound_Play(574, 40, 100, 100, 50);
Delay(2000);
- Game_Flag_Set(144);
+ Game_Flag_Set(kFlagCT07toCT06);
Game_Flag_Set(kFlagZubenSpared);
Game_Flag_Set(kFlagCT01ZubenGone);
Actor_Set_Goal_Number(kActorZuben, kGoalZubenSpared);
@@ -203,7 +203,7 @@ void AIScriptZuben::ReceivedClue(int clueId, int fromActorId) {
}
void AIScriptZuben::ClickedByPlayer() {
- if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDead) {
+ if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenGone) {
if (Player_Query_Current_Scene() == kSceneCT06) {
// return true;
return;
@@ -289,7 +289,7 @@ void AIScriptZuben::Retired(int byActorId) {
return;
}
Global_Variable_Decrement(kVariableReplicants, 1);
- Actor_Set_Goal_Number(kActorZuben, kGoalZubenDead);
+ Actor_Set_Goal_Number(kActorZuben, kGoalZubenGone);
if (Global_Variable_Query(kVariableReplicants) == 0) {
Player_Loses_Control();
Delay(2000);
@@ -372,7 +372,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Player_Set_Combat_Mode(false);
Actor_Set_Goal_Number(kActorGaff, kGoalGaffMA01ApproachMcCoy);
}
- Actor_Set_Goal_Number(kActorZuben, kGoalZubenDead);
+ Actor_Set_Goal_Number(kActorZuben, kGoalZubenGone);
return false;
case kGoalZubenCT02PushPot:
@@ -1175,7 +1175,7 @@ void AIScriptZuben::FledCombat() {
void AIScriptZuben::dialogue() {
Dialogue_Menu_Clear_List();
DM_Add_To_List_Never_Repeat_Once_Selected(1490, 5, 5, -1);
- if (Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead) {
+ if (Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone) {
DM_Add_To_List_Never_Repeat_Once_Selected(1500, 5, 5, 5);
}
DM_Add_To_List_Never_Repeat_Once_Selected(1510, -1, 5, 5);
diff --git a/engines/bladerunner/script/ai_script.h b/engines/bladerunner/script/ai_script.h
index f0f0c95..de09f87 100644
--- a/engines/bladerunner/script/ai_script.h
+++ b/engines/bladerunner/script/ai_script.h
@@ -105,12 +105,12 @@ DECLARE_SCRIPT(McCoy)
int _animationStateNextSpecial;
int _animationNextSpecial;
int dword_45A0F8;
- int dword_45A0FC;
- float off_45A100;
- float flt_462710;
- float flt_462714;
+ bool _NR10SteeleShooting;
+ float _fallSpeed;
+ float _fallHeightCurrent;
+ float _fallHeightTarget;
- void sub_4053E0();
+ void fallDown();
void sub_4054F0();
void sub_405660();
void sub_405800();
diff --git a/engines/bladerunner/script/scene/hf01.cpp b/engines/bladerunner/script/scene/hf01.cpp
index b466794..c0e5530 100644
--- a/engines/bladerunner/script/scene/hf01.cpp
+++ b/engines/bladerunner/script/scene/hf01.cpp
@@ -344,14 +344,14 @@ void SceneScriptHF01::PlayerWalkedIn() {
) {
if (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallLucy1)
&& Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy
- && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
) {
Actor_Put_In_Set(kActorLucy, kSetHF01);
Actor_Set_At_XYZ(kActorLucy, -5.0f, 8.0f, -622.0f, 419);
Actor_Set_Targetable(kActorLucy, true);
} else if (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallDektora1)
&& Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
- && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
) {
Actor_Put_In_Set(kActorDektora, kSetHF01);
Actor_Set_At_XYZ(kActorDektora, -5.0f, 8.0f, -622.0f, 419);
@@ -421,13 +421,13 @@ void SceneScriptHF01::PlayerWalkedOut() {
if (Actor_Query_Goal_Number(kActorLucy) == 450) {
Actor_Put_In_Set(kActorLucy, kSetFreeSlotG);
Actor_Set_At_Waypoint(kActorLucy, 39, 0);
- Actor_Set_Goal_Number(kActorLucy, kGoalLucyDead);
+ Actor_Set_Goal_Number(kActorLucy, kGoalLucyGone);
}
if (Actor_Query_Goal_Number(kActorDektora) == 450) {
Actor_Put_In_Set(kActorDektora, kSetFreeSlotG);
Actor_Set_At_Waypoint(kActorDektora, 39, 0);
- Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
}
}
diff --git a/engines/bladerunner/script/scene/hf02.cpp b/engines/bladerunner/script/scene/hf02.cpp
index c3d3b5a..a4be759 100644
--- a/engines/bladerunner/script/scene/hf02.cpp
+++ b/engines/bladerunner/script/scene/hf02.cpp
@@ -132,7 +132,7 @@ void SceneScriptHF02::PlayerWalkedIn() {
}
if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleHF02LucyRanAway) {
- if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyDead) {
+ if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyGone) {
Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHF02LucyShotByMcCoy);
} else {
Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHF02LucyLostByMcCoy);
diff --git a/engines/bladerunner/script/scene/hf05.cpp b/engines/bladerunner/script/scene/hf05.cpp
index 3f94212..e5afa3c 100644
--- a/engines/bladerunner/script/scene/hf05.cpp
+++ b/engines/bladerunner/script/scene/hf05.cpp
@@ -384,7 +384,7 @@ void SceneScriptHF05::dialogueWithCrazylegs1() {
DM_Add_To_List_Never_Repeat_Once_Selected(1200, 5, 5, 3); // WOMAN'S PHOTO
}
if (Actor_Clue_Query(kActorMcCoy, kClueLucy)
- && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
) {
DM_Add_To_List_Never_Repeat_Once_Selected(1210, 4, 6, 2); // LUCY'S PHOTO
}
@@ -560,12 +560,12 @@ void SceneScriptHF05::dialogueWithCrazylegs2() { // cut feature? it is impossibl
int SceneScriptHF05::getAffectionTowardsActor() {
if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
- && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
) {
return kActorDektora;
}
if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy
- && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
) {
return kActorLucy;
}
@@ -744,13 +744,13 @@ void SceneScriptHF05::addAmbientSounds() {
int SceneScriptHF05::sub_4048C0() {
if (Actor_Query_In_Set(kActorDektora, kSetHF05)
- && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
) {
return kActorDektora;
}
if (Actor_Query_In_Set(kActorLucy, kSetHF05)
- && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
) {
return kActorLucy;
}
diff --git a/engines/bladerunner/script/scene/hf06.cpp b/engines/bladerunner/script/scene/hf06.cpp
index c89d82b..83d96a5 100644
--- a/engines/bladerunner/script/scene/hf06.cpp
+++ b/engines/bladerunner/script/scene/hf06.cpp
@@ -71,13 +71,13 @@ bool SceneScriptHF06::ClickedOn3DObject(const char *objectName, bool a2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.33f, 367.93f, 399.0f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 486, true);
if (Actor_Query_In_Set(kActorDektora, kSetHF06)
- && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
) {
Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
Actor_Says(kActorDektora, 210, 12);
Actor_Says(kActorMcCoy, 2125, 12);
} else if (Actor_Query_In_Set(kActorLucy, kSetHF06)
- && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
) {
Actor_Face_Actor(kActorLucy, kActorMcCoy, true);
Actor_Says(kActorLucy, 490, 18);
@@ -111,7 +111,7 @@ bool SceneScriptHF06::ClickedOn3DObject(const char *objectName, bool a2) {
bool SceneScriptHF06::ClickedOnActor(int actorId) {
if (actorId == kActorLucy
- && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
) {
Actor_Face_Actor(kActorLucy, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorLucy, true);
@@ -120,7 +120,7 @@ bool SceneScriptHF06::ClickedOnActor(int actorId) {
Actor_Says(kActorMcCoy, 2115, 17);
}
} else if (actorId == kActorDektora
- && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
) {
Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
@@ -171,11 +171,11 @@ void SceneScriptHF06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
int otherActorId = -1;
if (Actor_Query_In_Set(kActorDektora, kSetHF06)
- && Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraDead
+ && Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraGone
) {
otherActorId = kActorDektora;
} else if (Actor_Query_In_Set(kActorLucy, kSetHF06)
- && Actor_Query_Goal_Number(kActorLucy) == kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) == kGoalLucyGone
) {
otherActorId = kActorLucy;
}
@@ -211,11 +211,11 @@ void SceneScriptHF06::PlayerWalkedIn() {
if (Game_Flag_Query(662)) {
int actorId = -1;
if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy
- && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
) {
actorId = kActorLucy;
} else if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
- && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
) {
actorId = kActorDektora;
}
diff --git a/engines/bladerunner/script/scene/hf07.cpp b/engines/bladerunner/script/scene/hf07.cpp
index 12593ed..11593fb 100644
--- a/engines/bladerunner/script/scene/hf07.cpp
+++ b/engines/bladerunner/script/scene/hf07.cpp
@@ -143,12 +143,12 @@ void SceneScriptHF07::DialogueQueueFlushed(int a1) {
int SceneScriptHF07::getAffectionTowardsActor() {
if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
- && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
) {
return kActorDektora;
}
if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy
- && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
) {
return kActorLucy;
}
diff --git a/engines/bladerunner/script/scene/kp07.cpp b/engines/bladerunner/script/scene/kp07.cpp
index 972a18b..486120f 100644
--- a/engines/bladerunner/script/scene/kp07.cpp
+++ b/engines/bladerunner/script/scene/kp07.cpp
@@ -30,7 +30,7 @@ void SceneScriptKP07::InitializeScene() {
Scene_Exit_Add_2D_Exit(0, 315, 185, 381, 285, 0);
if (Game_Flag_Query(653)) {
if (Game_Flag_Query(kFlagDektoraIsReplicant)
- && Actor_Query_Goal_Number(kActorDektora) < kGoalDektoraDead
+ && Actor_Query_Goal_Number(kActorDektora) < kGoalDektoraGone
) {
Actor_Set_Targetable(kActorDektora, true);
Global_Variable_Increment(kVariableReplicants, 1);
@@ -38,7 +38,7 @@ void SceneScriptKP07::InitializeScene() {
Actor_Set_At_XYZ(kActorDektora, -52.0f, -41.52f, -5.0f, 289);
}
- if (Actor_Query_Goal_Number(kActorZuben) < kGoalZubenDead) {
+ if (Actor_Query_Goal_Number(kActorZuben) < kGoalZubenGone) {
Global_Variable_Increment(kVariableReplicants, 1);
Actor_Set_Targetable(kActorZuben, true);
Actor_Put_In_Set(kActorZuben, kSetKP07);
@@ -55,7 +55,7 @@ void SceneScriptKP07::InitializeScene() {
}
if (Game_Flag_Query(kFlagGordoIsReplicant)
- && Actor_Query_Goal_Number(kActorGordo) < kGoalGordoDead
+ && Actor_Query_Goal_Number(kActorGordo) < kGoalGordoGone
) {
Global_Variable_Increment(kVariableReplicants, 1);
Actor_Set_Targetable(kActorGordo, true);
@@ -64,7 +64,7 @@ void SceneScriptKP07::InitializeScene() {
}
if (Game_Flag_Query(kFlagLucyIsReplicant)
- && Actor_Query_Goal_Number(kActorLucy) < kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) < kGoalLucyGone
) {
Global_Variable_Increment(kVariableReplicants, 1);
Actor_Put_In_Set(kActorLucy, kSetKP07);
diff --git a/engines/bladerunner/script/scene/ma04.cpp b/engines/bladerunner/script/scene/ma04.cpp
index 6ebdae5..c3c26f6 100644
--- a/engines/bladerunner/script/scene/ma04.cpp
+++ b/engines/bladerunner/script/scene/ma04.cpp
@@ -564,7 +564,7 @@ void SceneScriptMA04::sleep() {
Player_Loses_Control();
Game_Flag_Set(kFlagMA04McCoySleeping);
if ((Game_Flag_Query(kFlagZubenRetired) || Game_Flag_Query(kFlagZubenSpared)) && Global_Variable_Query(kVariableChapter) == 1) {
- if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDead) {
+ if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenGone) {
Actor_Put_In_Set(kActorZuben, kSetFreeSlotA);
Actor_Set_At_Waypoint(kActorZuben, 33, 0);
}
diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp
index 6c619ac..b7548d2 100644
--- a/engines/bladerunner/script/scene/nr01.cpp
+++ b/engines/bladerunner/script/scene/nr01.cpp
@@ -106,7 +106,7 @@ void SceneScriptNR01::SceneLoaded() {
bool SceneScriptNR01::MouseClick(int x, int y) {
if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyNR01LayDrugged) {
- Global_Variable_Increment(47, 4);
+ Global_Variable_Increment(kVariableNR01GetUpCounter, 4);
return true;
}
return false;
diff --git a/engines/bladerunner/script/scene/nr08.cpp b/engines/bladerunner/script/scene/nr08.cpp
index 7070e4d..b2f62f7 100644
--- a/engines/bladerunner/script/scene/nr08.cpp
+++ b/engines/bladerunner/script/scene/nr08.cpp
@@ -221,7 +221,7 @@ void SceneScriptNR08::PlayerWalkedIn() {
Actor_Says(kActorSteele, 1670, 13);
Actor_Says(kActorSteele, 1680, 14);
Actor_Says(kActorSteele, 1690, 15);
- Actor_Set_Goal_Number(kActorSteele, 235);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR08WalkOut);
return; // true;
}
diff --git a/engines/bladerunner/script/scene/nr10.cpp b/engines/bladerunner/script/scene/nr10.cpp
index 3f745bb..6031952 100644
--- a/engines/bladerunner/script/scene/nr10.cpp
+++ b/engines/bladerunner/script/scene/nr10.cpp
@@ -155,7 +155,7 @@ void SceneScriptNR10::PlayerWalkedIn() {
return;
}
- if (Actor_Query_Goal_Number(kActorSteele) == 236) {
+ if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR10Wait) {
Actor_Face_Actor(kActorSteele, kActorMcCoy, true);
Actor_Says(kActorSteele, 150, 13);
Actor_Face_Actor(kActorMcCoy, kActorSteele, true);
@@ -165,7 +165,7 @@ void SceneScriptNR10::PlayerWalkedIn() {
Actor_Says(kActorSteele, 1160, 16);
Delay(1000);
Actor_Says(kActorSteele, 1290, 14);
- Actor_Set_Goal_Number(kActorSteele, 275);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNRxxGoToSpinner);
}
// return false;
}
diff --git a/engines/bladerunner/script/scene/nr11.cpp b/engines/bladerunner/script/scene/nr11.cpp
index d0d3ff1..447dfda 100644
--- a/engines/bladerunner/script/scene/nr11.cpp
+++ b/engines/bladerunner/script/scene/nr11.cpp
@@ -139,7 +139,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode)
|| Object_Query_Click("BUST BUST", objectName)
) {
if (combatMode) {
- Actor_Set_Goal_Number(kActorSteele, 211);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11StopWaiting);
Scene_Exits_Disable();
untargetEverything();
Player_Loses_Control();
@@ -153,7 +153,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode)
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 24.0f, 0.33f, 0.0f, 0, true, false, 0)) {
Actor_Face_XYZ(kActorMcCoy, -180.0f, 0.0f, -170.0f, true);
untargetEverything();
- Actor_Set_Goal_Number(kActorSteele, 211);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11StopWaiting);
if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) < 30) {
Actor_Set_At_XYZ(kActorDektora, 0.5f, 0.33f, -162.0f, 0);
Loop_Actor_Walk_To_XYZ(kActorDektora, -24.0f, 0.33f, -35.4f, 0, false, true, 0);
@@ -209,7 +209,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode)
Music_Stop(4);
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11WalkAway);
if (Global_Variable_Query(kVariableHollowayArrest) == 1) {
- Actor_Set_Goal_Number(kActorSteele, 236);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR10Wait);
}
Game_Flag_Set(kFlagDektoraRanAway);
}
@@ -310,14 +310,14 @@ void SceneScriptNR11::SceneFrameAdvanced(int frame) {
return;
}
actorSweepArea(kActorMcCoy, frame);
- if (Actor_Query_Goal_Number(kActorSteele) == 215) {
+ if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11Shoot) {
actorSweepArea(kActorSteele, frame);
}
if (frame == 120) {
Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
Player_Gains_Control();
- if (Actor_Query_Goal_Number(kActorSteele) == 215) {
- Actor_Set_Goal_Number(kActorSteele, 216);
+ if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11Shoot) {
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11StopShooting);
}
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11PrepareBurning);
}
@@ -332,7 +332,7 @@ void SceneScriptNR11::PlayerWalkedIn() {
if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Hiding) {
Player_Set_Combat_Mode(true);
if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
- Actor_Set_Goal_Number(kActorSteele, 210);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11StartWaiting);
}
}
@@ -345,14 +345,14 @@ void SceneScriptNR11::PlayerWalkedIn() {
Player_Set_Combat_Mode(false);
Player_Gains_Control();
if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
- if (Actor_Query_Goal_Number(kActorSteele) == 211) {
+ if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11StopWaiting) {
Actor_Set_At_XYZ(kActorMcCoy, -37.41f, 0.33f, -86.0f, 26);
Delay(500);
Actor_Face_Current_Camera(kActorMcCoy, true);
Delay(750);
Actor_Says(kActorMcCoy, 5290, 12);
Delay(1000);
- Actor_Set_Goal_Number(kActorSteele, 212);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11Enter);
Actor_Face_Actor(kActorMcCoy, kActorSteele, true);
} else {
Actor_Set_At_XYZ(kActorMcCoy, -15.53f, 0.33f, 73.49f, 954);
@@ -365,10 +365,10 @@ void SceneScriptNR11::PlayerWalkedIn() {
Actor_Says(kActorMcCoy, 3810, 16);
Actor_Says_With_Pause(kActorSteele, 1730, 0.2f, 14);
Actor_Says(kActorSteele, 1740, 15);
- Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
Actor_Put_In_Set(kActorDektora, kSetFreeSlotI);
Actor_Set_At_Waypoint(kActorDektora, 41, 0);
- Actor_Set_Goal_Number(kActorSteele, 275);
+ Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNRxxGoToSpinner);
}
} else {
Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyArrested);
diff --git a/engines/bladerunner/script/scene/ps04.cpp b/engines/bladerunner/script/scene/ps04.cpp
index d5eda1f..10f26d2 100644
--- a/engines/bladerunner/script/scene/ps04.cpp
+++ b/engines/bladerunner/script/scene/ps04.cpp
@@ -186,7 +186,7 @@ void SceneScriptPS04::dialogueWithGuzza() {
Actor_Says(kActorMcCoy, 4065, 18);
Actor_Says(kActorGuzza, 560, 34);
if (Query_Difficulty_Level() != 0) {
- Global_Variable_Increment(2, 100);
+ Global_Variable_Increment(kVariableChinyen, 100);
}
break;
diff --git a/engines/bladerunner/script/scene/ug05.cpp b/engines/bladerunner/script/scene/ug05.cpp
index f107699..1c7edb5 100644
--- a/engines/bladerunner/script/scene/ug05.cpp
+++ b/engines/bladerunner/script/scene/ug05.cpp
@@ -227,12 +227,12 @@ void SceneScriptUG05::DialogueQueueFlushed(int a1) {
int SceneScriptUG05::getAffectionTowardsActor() {
if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
- && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+ && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
) {
return kActorDektora;
}
if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy
- && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+ && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
) {
return kActorLucy;
}
Commit: 69be53530853e432d7ee6e613614d0def7de0049
https://github.com/scummvm/scummvm/commit/69be53530853e432d7ee6e613614d0def7de0049
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-31T21:27:31+01:00
Commit Message:
BLADERUNNER: Initial cleanup of underground scripts
Changed paths:
engines/bladerunner/game_constants.h
engines/bladerunner/script/scene/dr06.cpp
engines/bladerunner/script/scene/kp02.cpp
engines/bladerunner/script/scene/ma07.cpp
engines/bladerunner/script/scene/tb03.cpp
engines/bladerunner/script/scene/ug01.cpp
engines/bladerunner/script/scene/ug02.cpp
engines/bladerunner/script/scene/ug04.cpp
engines/bladerunner/script/scene/ug05.cpp
engines/bladerunner/script/scene/ug06.cpp
engines/bladerunner/script/scene/ug07.cpp
engines/bladerunner/script/scene/ug08.cpp
engines/bladerunner/script/scene/ug09.cpp
engines/bladerunner/script/scene/ug10.cpp
engines/bladerunner/script/scene/ug12.cpp
engines/bladerunner/script/scene/ug13.cpp
engines/bladerunner/script/scene/ug14.cpp
engines/bladerunner/script/scene/ug15.cpp
engines/bladerunner/script/scene/ug16.cpp
engines/bladerunner/script/scene/ug17.cpp
engines/bladerunner/script/scene/ug18.cpp
engines/bladerunner/script/scene/ug19.cpp
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 74db6f9..8eb4960 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -849,9 +849,22 @@ enum Flags {
// 408 is never used
kFlagMA01GaffApproachMcCoy = 409,
kFlagBB06AndroidDestroyed = 410,
+ kFlagKP02toUG12 = 411,
+ kFlagUG12toKP02 = 412, // is never checked
+
+ kFlagUG07toUG10 = 423,
+ kFlagUG10toUG07 = 424, // is never checked
+ kFlagUG07toUG08 = 425, // is never checked
+ kFlagUG08toUG07 = 426,
+ kFlagUG07toUG09 = 427, // is never checked
+ kFlagUG09ToUG07 = 428,
+ kFlagUG08toUG13 = 429,
+ kFlagUG13toUG08 = 430,
kFlagUG09toCT12 = 432,
kFlagCT12ToUG09 = 433,
+ kFlagUG13toUG18 = 434, // is never checked
+ kFlagUG18toUG13 = 435,
kFlagNR04toNR03 = 437,
kFlagNR03toNR04 = 438,
kFlagNR06toNR08 = 439,
@@ -860,6 +873,8 @@ enum Flags {
kFlagNR07toNR06 = 442,
kFlagGenericWalkerWaiting = 443,
kFlagIzoShot = 444,
+ kFlagTB03toUG17 = 447,
+ kFlagUG17toTB03 = 448,
kFlagUG02WeaponsChecked = 449,
kFlagTB02ElevatorToTB05 = 450,
kFlagTB05Entered = 451,
@@ -939,7 +954,10 @@ enum Flags {
kFlagNR05toNR08 = 546,
kFlagNR08toNR05 = 547,
kFlagDR06MannequinHeadOpen = 548,
+ kFlagTB03Entered = 549,
kFlagMcCoyTiedDown = 550,
+ kFlagUG16toDR06 = 551, // is never checked
+ kFlagDR06toUG16 = 552,
kFlagDR01toCT11 = 558,
kFlagNR02GordoLeaveLighter = 561,
kFlagHF05CrazyLegsTalk1 = 562,
@@ -1011,6 +1029,7 @@ enum Flags {
kFlagNR11BreakWindow = 659,
kFlagDNARowAvailableTalk = 660,
kFlagTB07ShadeDown = 661, // is never set
+ kFlagUG19Available = 665,
kFlagMA07toPS14 = 672,
kFlagPS14toMA07 = 673,
kFlagChapter2Intro = 678,
diff --git a/engines/bladerunner/script/scene/dr06.cpp b/engines/bladerunner/script/scene/dr06.cpp
index 441d7bd..51a3841 100644
--- a/engines/bladerunner/script/scene/dr06.cpp
+++ b/engines/bladerunner/script/scene/dr06.cpp
@@ -204,7 +204,7 @@ bool SceneScriptDR06::ClickedOnExit(int exitId) {
}
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -707.57f, 136.6f, -1132.64f, 0, true, false, 0)) {
- Game_Flag_Set(552);
+ Game_Flag_Set(kFlagDR06toUG16);
Set_Enter(kSetUG16, kSceneUG16);
}
return true;
@@ -227,7 +227,7 @@ void SceneScriptDR06::PlayerWalkedIn() {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -729.57f, 136.6f, -1016.0f, 0, false, false, 0);
}
Game_Flag_Reset(kFlagDR04toDR06);
- Game_Flag_Reset(551);
+ Game_Flag_Reset(kFlagUG16toDR06);
}
void SceneScriptDR06::PlayerWalkedOut() {
diff --git a/engines/bladerunner/script/scene/kp02.cpp b/engines/bladerunner/script/scene/kp02.cpp
index 2233b3d..3db4056 100644
--- a/engines/bladerunner/script/scene/kp02.cpp
+++ b/engines/bladerunner/script/scene/kp02.cpp
@@ -29,7 +29,7 @@ void SceneScriptKP02::InitializeScene() {
Setup_Scene_Information(-884.0f, -615.49f, 3065.0f, 20);
} else {
Setup_Scene_Information(-1040.0f, -615.49f, 2903.0f, 339);
- Game_Flag_Reset(412);
+ Game_Flag_Reset(kFlagUG12toKP02);
}
Scene_Exit_Add_2D_Exit(1, 0, 0, 30, 479, 3);
Ambient_Sounds_Add_Looping_Sound(464, 34, 1, 1);
@@ -83,12 +83,12 @@ bool SceneScriptKP02::ClickedOnExit(int exitId) {
Actor_Set_Goal_Number(kActorFreeSlotA, 400);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(411);
+ Game_Flag_Set(kFlagKP02toUG12);
Set_Enter(kSetUG12, kSceneUG12);
} else {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(411);
+ Game_Flag_Set(kFlagKP02toUG12);
Set_Enter(kSetUG12, kSceneUG12);
}
}
diff --git a/engines/bladerunner/script/scene/ma07.cpp b/engines/bladerunner/script/scene/ma07.cpp
index 7016918..65d2332 100644
--- a/engines/bladerunner/script/scene/ma07.cpp
+++ b/engines/bladerunner/script/scene/ma07.cpp
@@ -28,7 +28,7 @@ void SceneScriptMA07::InitializeScene() {
if (Game_Flag_Query(kFlagUG19toMA07)) {
Setup_Scene_Information( 6.75f, -172.43f, 356.0f, 997);
Game_Flag_Reset(kFlagUG19toMA07);
- Game_Flag_Set(665);
+ Game_Flag_Set(kFlagUG19Available);
} else if (Game_Flag_Query(kFlagPS14toMA07)) {
Setup_Scene_Information(-312.0f, -162.8f, 180.0f, 0);
} else {
@@ -46,7 +46,7 @@ void SceneScriptMA07::InitializeScene() {
if (Global_Variable_Query(kVariableChapter) > 1) {
Scene_Exit_Add_2D_Exit(1, 0, 200, 50, 479, 3);
}
- if (Game_Flag_Query(665)) {
+ if (Game_Flag_Query(kFlagUG19Available)) {
Scene_Exit_Add_2D_Exit(2, 176, 386, 230, 426, 2);
}
Scene_Exit_Add_2D_Exit(0, 270, 216, 382, 306, 0);
diff --git a/engines/bladerunner/script/scene/tb03.cpp b/engines/bladerunner/script/scene/tb03.cpp
index bd4d9c5..fb26584 100644
--- a/engines/bladerunner/script/scene/tb03.cpp
+++ b/engines/bladerunner/script/scene/tb03.cpp
@@ -25,13 +25,15 @@
namespace BladeRunner {
void SceneScriptTB03::InitializeScene() {
- if (Game_Flag_Query(448)) {
+ if (Game_Flag_Query(kFlagUG17toTB03)) {
Setup_Scene_Information(-260.0f, 0.15f, 2014.0f, 276);
} else {
- Setup_Scene_Information(-152.0f, 0.0f, 1890.0f, 500);
+ Setup_Scene_Information(-152.0f, 0.0f, 1890.0f, 500);
}
+
Scene_Exit_Add_2D_Exit(0, 25, 227, 81, 300, 0);
Scene_Exit_Add_2D_Exit(1, 298, 0, 639, 305, 0);
+
Ambient_Sounds_Add_Looping_Sound(211, 16, 0, 1);
Ambient_Sounds_Add_Sound(212, 2, 15, 16, 20, 0, 0, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(213, 2, 15, 16, 20, 0, 0, -101, -101, 0, 0);
@@ -55,6 +57,7 @@ void SceneScriptTB03::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);
}
+
Actor_Put_In_Set(kActorTyrellGuard, kSetTB02_TB03);
Actor_Set_At_XYZ(kActorTyrellGuard, -38.53f, 2.93f, 1475.97f, 673);
if (Global_Variable_Query(kVariableChapter) == 4) {
@@ -66,17 +69,18 @@ void SceneScriptTB03::InitializeScene() {
Actor_Set_Goal_Number(kActorTyrellGuard, 300);
}
}
- if (Game_Flag_Query(448)) {
- if (Game_Flag_Query(549)) {
+
+ if (Game_Flag_Query(kFlagUG17toTB03)) {
+ if (!Game_Flag_Query(kFlagTB03Entered)) {
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
Scene_Loop_Set_Default(1);
+ Game_Flag_Set(kFlagTB03Entered);
} else {
- Scene_Loop_Start_Special(0, 0, 0);
Scene_Loop_Set_Default(1);
- Game_Flag_Set(549);
}
- Game_Flag_Reset(448);
+ Game_Flag_Reset(kFlagUG17toTB03);
} else {
- Scene_Loop_Start_Special(0, 0, 0);
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
Scene_Loop_Set_Default(1);
}
}
@@ -107,11 +111,12 @@ bool SceneScriptTB03::ClickedOnExit(int exitId) {
Actor_Set_Goal_Number(kActorTyrellGuard, 304);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(447);
+ Game_Flag_Set(kFlagTB03toUG17);
Set_Enter(kSetUG17, kSceneUG17);
}
return true;
}
+
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -152.0f, 0.0f, 1774.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
diff --git a/engines/bladerunner/script/scene/ug01.cpp b/engines/bladerunner/script/scene/ug01.cpp
index f1c11fe..ced4378 100644
--- a/engines/bladerunner/script/scene/ug01.cpp
+++ b/engines/bladerunner/script/scene/ug01.cpp
@@ -79,7 +79,7 @@ bool SceneScriptUG01::MouseClick(int x, int y) {
bool SceneScriptUG01::ClickedOn3DObject(const char *objectName, bool a2) {
if (Object_Query_Click("PIPES_FG_LFT", objectName)) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -9.0f, -50.13f, -148.0f, 0, 1, false, 0)
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -9.0f, -50.13f, -148.0f, 0, true, false, 0)
&& !Game_Flag_Query(kFlagUG01SteamOff)
) {
Actor_Says(kActorMcCoy, 8525, 13);
@@ -137,7 +137,9 @@ bool SceneScriptUG01::ClickedOn2DRegion(int region) {
}
void SceneScriptUG01::SceneFrameAdvanced(int frame) {
- if (frame >= 61 && frame <= 120) {
+ if (frame >= 61
+ && frame <= 120
+ ) {
float density = (120 - frame) / 29500.0f; // why is this so big?
Set_Fog_Density("BoxFog01", density);
Set_Fog_Density("BoxFog02", density);
@@ -157,14 +159,14 @@ void SceneScriptUG01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
void SceneScriptUG01::PlayerWalkedIn() {
if (Game_Flag_Query(kFlagUG02toUG01)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -55.0f, -50.13f, -288.0f, 12, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -55.0f, -50.13f, -288.0f, 12, false, false, 0);
Game_Flag_Reset(kFlagUG02toUG01);
}
if (Game_Flag_Query(kFlagRC03toUG01)) {
Actor_Set_At_XYZ(kActorMcCoy, -70.0f, 93.87f, -500.0f, 768);
Loop_Actor_Travel_Ladder(kActorMcCoy, 12, 0, 0);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -58.0f, -50.13f, -488.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -58.0f, -50.13f, -488.0f, 0, false, false, 0);
Game_Flag_Reset(kFlagRC03toUG01);
}
diff --git a/engines/bladerunner/script/scene/ug02.cpp b/engines/bladerunner/script/scene/ug02.cpp
index 5ac3fad..12be0c2 100644
--- a/engines/bladerunner/script/scene/ug02.cpp
+++ b/engines/bladerunner/script/scene/ug02.cpp
@@ -28,7 +28,7 @@ void SceneScriptUG02::InitializeScene() {
if (Game_Flag_Query(kFlagHC03toUG02)) {
Setup_Scene_Information(-313.0f, 155.73f, -128.0f, 556);
} else {
- Setup_Scene_Information(-95.0f, 74.78f, -503.0f, 556);
+ Setup_Scene_Information( -95.0f, 74.78f, -503.0f, 556);
}
Scene_Exit_Add_2D_Exit(0, 529, 130, 607, 277, 0);
Scene_Exit_Add_2D_Exit(1, 305, 36, 335, 192, 0);
@@ -190,7 +190,7 @@ bool SceneScriptUG02::ClickedOnExit(int exitId) {
}
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -304.75f, 155.75f, -171.0f, 0, false, false, 0);
Actor_Face_Heading(kActorMcCoy, 14, false);
- Loop_Actor_Travel_Ladder(kActorMcCoy, 9, true, 0);
+ Loop_Actor_Travel_Ladder(kActorMcCoy, 9, true, kAnimationModeIdle);
Game_Flag_Set(kFlagUG02toHC03);
Game_Flag_Reset(kFlagMcCoyInUnderground);
Game_Flag_Set(kFlagMcCoyInHawkersCircle);
diff --git a/engines/bladerunner/script/scene/ug04.cpp b/engines/bladerunner/script/scene/ug04.cpp
index 82da71b..2f71899 100644
--- a/engines/bladerunner/script/scene/ug04.cpp
+++ b/engines/bladerunner/script/scene/ug04.cpp
@@ -59,7 +59,7 @@ void SceneScriptUG04::InitializeScene() {
Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Scene_Loop_Start_Special(0, 0, 0);
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
Scene_Loop_Set_Default(1);
}
@@ -95,6 +95,7 @@ bool SceneScriptUG04::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.74f, -2400.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagUG04toUG05);
@@ -102,6 +103,7 @@ bool SceneScriptUG04::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 11.87f, -1013.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagUG04toUG06);
diff --git a/engines/bladerunner/script/scene/ug05.cpp b/engines/bladerunner/script/scene/ug05.cpp
index 1c7edb5..e02a9bd 100644
--- a/engines/bladerunner/script/scene/ug05.cpp
+++ b/engines/bladerunner/script/scene/ug05.cpp
@@ -31,12 +31,13 @@ void SceneScriptUG05::InitializeScene() {
) {
Setup_Scene_Information(-356.35f, 132.77f, -1092.36f, 389);
} else {
- Setup_Scene_Information(-180.0f, 37.28f, -1124.0f, 296);
+ Setup_Scene_Information( -180.0f, 37.28f, -1124.0f, 296);
}
} else {
Setup_Scene_Information(0.0f, -1.37f, 0.0f, 0);
Game_Flag_Reset(kFlagUG04toUG05);
}
+
Scene_Exit_Add_2D_Exit(0, 215, 240, 254, 331, 3);
if (!Game_Flag_Query(663)) {
Scene_Exit_Add_2D_Exit(1, 303, 422, 639, 479, 2);
@@ -46,26 +47,28 @@ void SceneScriptUG05::InitializeScene() {
) {
Scene_Exit_Add_2D_Exit(2, 352, 256, 393, 344, 0);
}
+
Ambient_Sounds_Add_Looping_Sound(105, 28, 0, 1);
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
- Ambient_Sounds_Add_Sound(234, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(225, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(226, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(227, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(235, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(391, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(395, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(224, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(228, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(392, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(234, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(225, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(226, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(227, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(235, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(391, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(395, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(224, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(228, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(392, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+
if (Game_Flag_Query(368)) {
Scene_Loop_Set_Default(2);
} else {
@@ -89,10 +92,13 @@ bool SceneScriptUG05::ClickedOn3DObject(const char *objectName, bool a2) {
}
bool SceneScriptUG05::ClickedOnActor(int actorId) {
- if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, actorId, 30, 1, false)) {
+ if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, actorId, 30, true, false)) {
Actor_Face_Actor(kActorMcCoy, actorId, true);
int affectionTowardsActor = getAffectionTowardsActor();
- if (actorId == kActorOfficerGrayford && Game_Flag_Query(368) && !Game_Flag_Query(683)) {
+ if ( actorId == kActorOfficerGrayford
+ && Game_Flag_Query(368)
+ && !Game_Flag_Query(683)
+ ) {
Actor_Says(kActorOfficerGrayford, 220, -1);
Actor_Says(kActorMcCoy, 5540, 14);
Actor_Says(kActorOfficerGrayford, 230, -1);
@@ -118,10 +124,10 @@ bool SceneScriptUG05::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptUG05::ClickedOnExit(int exitId) {
if (exitId == 0) {
if (Game_Flag_Query(663) && !Game_Flag_Query(368)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -356.35f, 132.77f, -1092.36f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -356.35f, 132.77f, -1092.36f, 0, false, false, 0);
Game_Flag_Set(kFlagUG06toHF07);
Set_Enter(kSetHF07, kSceneHF07);
- } else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -156.72f, 3.03f, -1118.17f, 0, 1, false, 0)) {
+ } else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -156.72f, 3.03f, -1118.17f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 760, false);
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, kAnimationModeIdle);
Game_Flag_Set(kFlagUG06toHF07);
@@ -129,16 +135,18 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 4.0f, -11.67f, -4.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 4.0f, -11.67f, -4.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagUG05toUG04);
Set_Enter(kSetUG04, kSceneUG04);
}
return true;
}
+
if (exitId == 2) {
if (!Game_Flag_Query(662)) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, true, false, 0)) {
if (!Game_Flag_Query(522)) {
Actor_Voice_Over(2600, kActorVoiceOver);
Actor_Voice_Over(2610, kActorVoiceOver);
@@ -150,9 +158,9 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {
int affectionTowardsActor = getAffectionTowardsActor();
bool v2;
if (affectionTowardsActor == -1) {
- v2 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, 1, false, 0) != 0;
+ v2 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, true, false, 0) != 0;
} else {
- v2 = Loop_Actor_Walk_To_Actor(kActorMcCoy, affectionTowardsActor, 30, 1, false) != 0;
+ v2 = Loop_Actor_Walk_To_Actor(kActorMcCoy, affectionTowardsActor, 30, true, false) != 0;
}
if (!v2) {
sub_402218();
@@ -204,13 +212,15 @@ void SceneScriptUG05::PlayerWalkedIn() {
}
}
}
+
if (Game_Flag_Query(kFlagHF07toUG06)) {
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);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -288.35f, 132.77f, -1092.36f, 0, true, false, 0);
} else {
Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 0, kAnimationModeIdle);
}
}
+
if (Game_Flag_Query(663)) {
Game_Flag_Query(368); // bug in game?
}
@@ -251,8 +261,10 @@ void SceneScriptUG05::sub_402218() {
Actor_Says(kActorLucy, 670, 17);
}
}
+
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
+
if (affectionTowardsActor == kActorLucy) {
if (Game_Flag_Query(kFlagLucyIsReplicant)) {
if (Global_Variable_Query(kVariableDNAEvidences) > 3) {
@@ -277,6 +289,7 @@ void SceneScriptUG05::sub_402218() {
Outtake_Play(kOuttakeEnd3, false, -1);
}
Outtake_Play(kOuttakeEnd2, false, -1);
+
Game_Over();
}
diff --git a/engines/bladerunner/script/scene/ug06.cpp b/engines/bladerunner/script/scene/ug06.cpp
index 174ba75..99ebc54 100644
--- a/engines/bladerunner/script/scene/ug06.cpp
+++ b/engines/bladerunner/script/scene/ug06.cpp
@@ -132,11 +132,13 @@ void SceneScriptUG06::PlayerWalkedIn() {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 273.0f, 0, false, false, 0);
Game_Flag_Reset(kFlagUG04toUG06);
}
+
if (Game_Flag_Query(kFlagNR01toUG06)) {
Loop_Actor_Travel_Stairs(kActorMcCoy, 17, false, kAnimationModeIdle);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -36.91f, 0, false, false, 0);
Game_Flag_Reset(kFlagNR01toUG06);
}
+
if ( Global_Variable_Query(kVariableChapter) == 4
&& !Game_Flag_Query(524)
) {
diff --git a/engines/bladerunner/script/scene/ug07.cpp b/engines/bladerunner/script/scene/ug07.cpp
index f31660c..1b09943 100644
--- a/engines/bladerunner/script/scene/ug07.cpp
+++ b/engines/bladerunner/script/scene/ug07.cpp
@@ -25,36 +25,38 @@
namespace BladeRunner {
void SceneScriptUG07::InitializeScene() {
- if (Game_Flag_Query(428)) {
+ if (Game_Flag_Query(kFlagUG09ToUG07)) {
Setup_Scene_Information(-76.0f, -12.21f, -738.0f, 505);
- Game_Flag_Reset(428);
- } else if (Game_Flag_Query(426)) {
+ Game_Flag_Reset(kFlagUG09ToUG07);
+ } else if (Game_Flag_Query(kFlagUG08toUG07)) {
Setup_Scene_Information(110.0f, -12.21f, -276.0f, 605);
} else {
- Setup_Scene_Information(-10.0f, -12.21f, -58.0f, 0);
- Game_Flag_Reset(424);
+ Setup_Scene_Information(-10.0f, -12.21f, -58.0f, 0);
+ Game_Flag_Reset(kFlagUG10toUG07);
}
+
if (Game_Flag_Query(623)) {
- Scene_Exit_Add_2D_Exit(0, 0, 192, 51, 334, 0);
+ Scene_Exit_Add_2D_Exit(0, 0, 192, 51, 334, 0);
Scene_Exit_Add_2D_Exit(1, 226, 224, 314, 396, 1);
}
Scene_Exit_Add_2D_Exit(2, 60, 440, 460, 479, 2);
+
Ambient_Sounds_Add_Looping_Sound(105, 90, -45, 1);
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
- Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(395, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(291, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(292, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(293, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(294, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(295, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(395, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(291, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(292, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(293, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(294, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(295, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
}
void SceneScriptUG07::SceneLoaded() {
@@ -97,29 +99,35 @@ bool SceneScriptUG07::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -94.0f, -12.21f, -710.0f, 0, 1, false, 0) && Actor_Query_Goal_Number(kActorClovis) != 402) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(427);
+ Game_Flag_Set(kFlagUG07toUG09);
Set_Enter(kSetUG09, kSceneUG09);
return true;
}
}
+
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 110.0f, -12.21f, -274.0f, 0, 1, false, 0) && Actor_Query_Goal_Number(kActorClovis) != 402) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(425);
+ Game_Flag_Set(kFlagUG07toUG08);
Set_Enter(kSetUG08, kSceneUG08);
return true;
}
}
+
if (exitId == 2) {
- if (!Game_Flag_Query(607) && Game_Flag_Query(671) && Global_Variable_Query(kVariableChapter) == 4 && !Game_Flag_Query(598)) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 49.0f, -12.21f, -130.0f, 0, 1, false, 0)) {
+ if (!Game_Flag_Query(607)
+ && Game_Flag_Query(671)
+ && Global_Variable_Query(kVariableChapter) == 4
+ && !Game_Flag_Query(598)
+ ) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 49.0f, -12.21f, -130.0f, 0, true, false, 0)) {
Game_Flag_Set(598);
Actor_Put_In_Set(kActorClovis, kSetUG07);
Actor_Set_At_XYZ(kActorClovis, 118.02f, -12.21f, -154.0f, 768);
Player_Set_Combat_Mode(true);
Actor_Face_Actor(kActorMcCoy, kActorClovis, true);
- Loop_Actor_Walk_To_XYZ(kActorClovis, 98.02f, -12.21f, -154.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorClovis, 98.02f, -12.21f, -154.0f, 0, false, false, 0);
Actor_Face_Actor(kActorClovis, kActorMcCoy, true);
Actor_Set_Goal_Number(kActorMcCoy, 301);
Actor_Face_Heading(kActorMcCoy, 0, true);
@@ -142,10 +150,12 @@ bool SceneScriptUG07::ClickedOnExit(int exitId) {
Actor_Set_Goal_Number(kActorClovis, 401);
}
} else {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, -21.47f, -58.0f, 0, 1, false, 0) && Actor_Query_Goal_Number(kActorClovis) != 402) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, -21.47f, -58.0f, 0, true, false, 0)
+ && Actor_Query_Goal_Number(kActorClovis) != 402
+ ) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(423);
+ Game_Flag_Set(kFlagUG07toUG10);
Set_Enter(kSetUG10, kSceneUG10);
return true;
}
@@ -165,23 +175,31 @@ void SceneScriptUG07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptUG07::PlayerWalkedIn() {
- if (Global_Variable_Query(kVariableChapter) == 4 && !Game_Flag_Query(623)) {
+ if ( Global_Variable_Query(kVariableChapter) == 4
+ && !Game_Flag_Query(623)
+ ) {
Actor_Set_Goal_Number(kActorOfficerLeary, 307);
Actor_Set_Goal_Number(kActorOfficerGrayford, 307);
}
- if (Game_Flag_Query(426)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 62.0f, -12.21f, -274.0f, 0, 0, false, 0);
- Game_Flag_Reset(426);
+
+ if (Game_Flag_Query(kFlagUG08toUG07)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 62.0f, -12.21f, -274.0f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagUG08toUG07);
}
}
void SceneScriptUG07::PlayerWalkedOut() {
- if (Global_Variable_Query(kVariableChapter) == 4 && (Actor_Query_Goal_Number(kActorOfficerLeary) == 307 || Actor_Query_Goal_Number(kActorOfficerGrayford) == 307)) {
+ if (Global_Variable_Query(kVariableChapter) == 4
+ && (Actor_Query_Goal_Number(kActorOfficerLeary) == 307
+ || Actor_Query_Goal_Number(kActorOfficerGrayford) == 307
+ )
+ ) {
Non_Player_Actor_Combat_Mode_Off(kActorOfficerLeary);
Non_Player_Actor_Combat_Mode_Off(kActorOfficerGrayford);
Actor_Set_Goal_Number(kActorOfficerLeary, 306);
Actor_Set_Goal_Number(kActorOfficerGrayford, 306);
}
+
if (Actor_Query_In_Set(kActorClovis, kSetUG07)) {
Actor_Set_Goal_Number(kActorClovis, 400);
}
diff --git a/engines/bladerunner/script/scene/ug08.cpp b/engines/bladerunner/script/scene/ug08.cpp
index 6ae9d73..d3621af 100644
--- a/engines/bladerunner/script/scene/ug08.cpp
+++ b/engines/bladerunner/script/scene/ug08.cpp
@@ -25,34 +25,38 @@
namespace BladeRunner {
void SceneScriptUG08::InitializeScene() {
- if (Game_Flag_Query(430)) {
- Setup_Scene_Information(-124.0f, 93.18f, 71.0f, 745);
+ if (Game_Flag_Query(kFlagUG13toUG08)) {
+ Setup_Scene_Information(-124.0f, 93.18f, 71.0f, 745);
} else {
- Setup_Scene_Information(-432.0f, 0.0f, -152.0f, 370);
+ Setup_Scene_Information(-432.0f, 0.0f, -152.0f, 370);
}
+
Scene_Exit_Add_2D_Exit(0, 125, 220, 157, 303, 3);
Scene_Exit_Add_2D_Exit(1, 353, 145, 552, 309, 1);
+
Ambient_Sounds_Add_Looping_Sound(331, 28, 0, 1);
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
- Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(291, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(292, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(293, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(294, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(295, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(291, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(292, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(293, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(294, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(295, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+
if (!Game_Flag_Query(610)) {
Game_Flag_Set(431);
Game_Flag_Set(610);
}
- if (Game_Flag_Query(430)) {
- Scene_Loop_Start_Special(0, 0, 0);
+
+ if (Game_Flag_Query(kFlagUG13toUG08)) {
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
Scene_Loop_Set_Default(1);
} else if (Game_Flag_Query(431)) {
Scene_Loop_Set_Default(1);
@@ -85,25 +89,29 @@ bool SceneScriptUG08::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptUG08::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -432.0f, 0.0f, -152.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -432.0f, 0.0f, -152.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(426);
+ Game_Flag_Set(kFlagUG08toUG07);
Set_Enter(kSetUG07, kSceneUG07);
+ return false;
}
- } else if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.0f, -2.0f, 152.0f, 0, 1, false, 0)) {
+ }
+
+ if (exitId == 1) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.0f, -2.0f, 152.0f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 240, false);
Footstep_Sound_Override_On(2);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 1, kAnimationModeIdle);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 11, true, kAnimationModeIdle);
Footstep_Sound_Override_Off();
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -118.02f, 93.02f, 52.76f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -118.02f, 93.02f, 52.76f, 0, false, false, 0);
Player_Loses_Control();
Actor_Set_Invisible(kActorMcCoy, true);
- Game_Flag_Set(429);
+ Game_Flag_Set(kFlagUG08toUG13);
Game_Flag_Reset(431);
Set_Enter(kSetUG13, kSceneUG13);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, 0);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, false);
+ return false;
}
}
return false;
@@ -123,17 +131,17 @@ void SceneScriptUG08::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptUG08::PlayerWalkedIn() {
- if (Game_Flag_Query(430)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -167.0f, 93.18f, 71.0f, 0, 0, false, 0);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -180.0f, 93.18f, 134.0f, 0, 0, false, 0);
+ if (Game_Flag_Query(kFlagUG13toUG08)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -167.0f, 93.18f, 71.0f, 0, false, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -180.0f, 93.18f, 134.0f, 0, false, false, 0);
Actor_Face_Heading(kActorMcCoy, 745, false);
Footstep_Sound_Override_On(2);
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Player_Gains_Control();
}
- Game_Flag_Reset(425);
- Game_Flag_Reset(430);
+ Game_Flag_Reset(kFlagUG07toUG08);
+ Game_Flag_Reset(kFlagUG13toUG08);
}
void SceneScriptUG08::PlayerWalkedOut() {
diff --git a/engines/bladerunner/script/scene/ug09.cpp b/engines/bladerunner/script/scene/ug09.cpp
index 91e493a..e6613c1 100644
--- a/engines/bladerunner/script/scene/ug09.cpp
+++ b/engines/bladerunner/script/scene/ug09.cpp
@@ -26,36 +26,38 @@ namespace BladeRunner {
void SceneScriptUG09::InitializeScene() {
if (Game_Flag_Query(kFlagCT12ToUG09)) {
- Setup_Scene_Information(-67.0f, 156.94f, -425.0f, 500);
+ Setup_Scene_Information(-67.0f, 156.94f, -425.0f, 500);
Game_Flag_Reset(kFlagCT12ToUG09);
} else {
- Setup_Scene_Information(-53.0f, 156.94f, 174.0f, 1000);
- Game_Flag_Reset(427);
+ Setup_Scene_Information(-53.0f, 156.94f, 174.0f, 1000);
+ Game_Flag_Reset(kFlagUG07toUG09);
}
+
Scene_Exit_Add_2D_Exit(0, 204, 159, 392, 360, 0);
- Scene_Exit_Add_2D_Exit(1, 0, 455, 639, 479, 2);
+ Scene_Exit_Add_2D_Exit(1, 0, 455, 639, 479, 2);
+
Ambient_Sounds_Add_Looping_Sound(105, 71, 0, 1);
- Ambient_Sounds_Add_Looping_Sound(95, 45, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound( 95, 45, 0, 1);
Ambient_Sounds_Add_Looping_Sound(332, 76, 0, 1);
- Ambient_Sounds_Add_Sound(291, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(292, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(294, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(295, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(1, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(57, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(58, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(307, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(308, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(198, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(199, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(291, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(292, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(294, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(295, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 1, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 57, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 58, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(307, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(308, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(198, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(199, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
}
void SceneScriptUG09::SceneLoaded() {
@@ -100,7 +102,7 @@ bool SceneScriptUG09::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptUG09::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -67.0f, 156.94f, -425.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -67.0f, 156.94f, -425.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagUG09toCT12);
@@ -108,11 +110,12 @@ bool SceneScriptUG09::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -53.0f, 156.94f, 206.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -53.0f, 156.94f, 206.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(428);
+ Game_Flag_Set(kFlagUG09ToUG07);
Set_Enter(kSetUG07, kSceneUG07);
}
return true;
@@ -132,7 +135,9 @@ void SceneScriptUG09::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptUG09::PlayerWalkedIn() {
- if (Global_Variable_Query(kVariableChapter) == 4 && Game_Flag_Query(623)) {
+ if (Global_Variable_Query(kVariableChapter) == 4
+ && Game_Flag_Query(623)
+ ) {
Game_Flag_Set(630);
}
}
diff --git a/engines/bladerunner/script/scene/ug10.cpp b/engines/bladerunner/script/scene/ug10.cpp
index a33c05f..335d715 100644
--- a/engines/bladerunner/script/scene/ug10.cpp
+++ b/engines/bladerunner/script/scene/ug10.cpp
@@ -27,8 +27,8 @@ namespace BladeRunner {
void SceneScriptUG10::InitializeScene() {
if (Game_Flag_Query(kFlagUG03toUG10)) {
Setup_Scene_Information( -92.0f, 81.33f, -652.0f, 520);
- } else if (Game_Flag_Query(423)) {
- Game_Flag_Reset(423);
+ } else if (Game_Flag_Query(kFlagUG07toUG10)) {
+ Game_Flag_Reset(kFlagUG07toUG10);
Setup_Scene_Information(-385.12f, 1.15f, 57.44f, 400);
} else if (Game_Flag_Query(kFlagUG14toUG10)) {
Setup_Scene_Information( 2.5f, 1.15f, 405.0f, 200);
@@ -147,8 +147,8 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -385.0f, 1.15f, 57.44f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 1001, false);
- Loop_Actor_Travel_Ladder(kActorMcCoy, 1, 1, 0);
- Game_Flag_Set(424);
+ Loop_Actor_Travel_Ladder(kActorMcCoy, 1, true, kAnimationModeIdle);
+ Game_Flag_Set(kFlagUG10toUG07);
Set_Enter(kSetUG07, kSceneUG07);
return true;
}
diff --git a/engines/bladerunner/script/scene/ug12.cpp b/engines/bladerunner/script/scene/ug12.cpp
index 7f92023..f30f56c 100644
--- a/engines/bladerunner/script/scene/ug12.cpp
+++ b/engines/bladerunner/script/scene/ug12.cpp
@@ -25,9 +25,9 @@
namespace BladeRunner {
void SceneScriptUG12::InitializeScene() {
- if (Game_Flag_Query(411)) {
+ if (Game_Flag_Query(kFlagKP02toUG12)) {
Setup_Scene_Information(207.0f, -126.21f, -364.0f, 561);
- Game_Flag_Reset(411);
+ Game_Flag_Reset(kFlagKP02toUG12);
} else {
Setup_Scene_Information(375.0f, -126.21f, 180.0f, 730);
Game_Flag_Reset(kFlagUG14toUG12);
@@ -91,11 +91,12 @@ bool SceneScriptUG12::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 207.0f, -126.21f, -364.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(412);
+ Game_Flag_Set(kFlagUG12toKP02);
Set_Enter(kSetKP02, kSceneKP02);
}
return true;
diff --git a/engines/bladerunner/script/scene/ug13.cpp b/engines/bladerunner/script/scene/ug13.cpp
index e2a7ae9..d6dfbfa 100644
--- a/engines/bladerunner/script/scene/ug13.cpp
+++ b/engines/bladerunner/script/scene/ug13.cpp
@@ -25,7 +25,7 @@
namespace BladeRunner {
void SceneScriptUG13::InitializeScene() {
- if (Game_Flag_Query(435)) {
+ if (Game_Flag_Query(kFlagUG18toUG13)) {
Setup_Scene_Information(-477.0f, 141.9f, -870.0f, 378);
} else if (Game_Flag_Query(kFlagUG15toUG13)) {
Setup_Scene_Information( 39.0f, 52.94f, -528.0f, 600);
@@ -54,10 +54,12 @@ void SceneScriptUG13::InitializeScene() {
) {
Actor_Set_Goal_Number(kActorTransient, 390);
}
+
if (Actor_Query_Goal_Number(kActorTransient) == 599) {
Actor_Change_Animation_Mode(kActorTransient, 89);
}
- if (Game_Flag_Query(429)) {
+
+ if (Game_Flag_Query(kFlagUG08toUG13)) {
Scene_Loop_Start_Special(0, 0, 0);
Scene_Loop_Set_Default(1);
} else if (Game_Flag_Query(431)) {
@@ -93,21 +95,22 @@ bool SceneScriptUG13::MouseClick(int x, int y) {
}
bool SceneScriptUG13::ClickedOn3DObject(const char *objectName, bool a2) {
-
- if (Object_Query_Click("BOLLARD", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 7.0f, 44.0f, -695.0f, 0, 1, false, 0)) {
- Actor_Face_Object(kActorMcCoy, "BOLLARD", true);
- if (Game_Flag_Query(431)) {
- Scene_Loop_Set_Default(1);
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 0, false);
- Game_Flag_Reset(431);
- Game_Flag_Set(436);
- return true;
- } else {
- Scene_Loop_Set_Default(4);
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 3, false);
- Game_Flag_Set(431);
- Scene_Exit_Remove(0);
- return true;
+ if (Object_Query_Click("BOLLARD", objectName)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 7.0f, 44.0f, -695.0f, 0, true, false, 0)) {
+ Actor_Face_Object(kActorMcCoy, "BOLLARD", true);
+ if (Game_Flag_Query(431)) {
+ Scene_Loop_Set_Default(1);
+ Scene_Loop_Start_Special(kSceneLoopModeOnce, 0, false);
+ Game_Flag_Reset(431);
+ Game_Flag_Set(436);
+ return true;
+ } else {
+ Scene_Loop_Set_Default(4);
+ Scene_Loop_Start_Special(kSceneLoopModeOnce, 3, false);
+ Game_Flag_Set(431);
+ Scene_Exit_Remove(0);
+ return true;
+ }
}
}
return false;
@@ -148,20 +151,20 @@ bool SceneScriptUG13::ClickedOnActor(int actorId) {
}
bool SceneScriptUG13::ClickedOnItem(int itemId, bool a2) {
- 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);
- Actor_Voice_Over(3970, kActorVoiceOver);
- Actor_Voice_Over(3980, kActorVoiceOver);
- Actor_Voice_Over(3990, kActorVoiceOver);
- Actor_Voice_Over(4000, kActorVoiceOver);
- return true;
+ if (itemId == kItemWeaponsOrderForm) {
+ if (!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);
+ Actor_Voice_Over(3970, kActorVoiceOver);
+ Actor_Voice_Over(3980, kActorVoiceOver);
+ Actor_Voice_Over(3990, kActorVoiceOver);
+ Actor_Voice_Over(4000, kActorVoiceOver);
+ return true;
+ }
}
return false;
}
@@ -169,36 +172,38 @@ bool SceneScriptUG13::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptUG13::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -32.0f, 54.63f, -883.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -32.0f, 54.63f, -883.0f, 0, true, false, 0)) {
Player_Loses_Control();
- Game_Flag_Set(430);
+ Game_Flag_Set(kFlagUG13toUG08);
Game_Flag_Set(431);
Set_Enter(kSetUG08, kSceneUG08);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, 0);
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 39.0f, 52.94f, -528.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 39.0f, 52.94f, -528.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagUG13toUG15);
Set_Enter(kSetUG15, kSceneUG15);
}
return true;
}
+
if (exitId == 2) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -267.0f, 44.0f, -795.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -267.0f, 44.0f, -795.0f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 830, false);
Footstep_Sound_Override_On(3);
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);
- Game_Flag_Set(434);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0f, 141.9f, -870.0f, 0, false, false, 0);
+ Game_Flag_Set(kFlagUG13toUG18);
Set_Enter(kSetUG18, kSceneUG18);
return true;
}
Actor_Face_Heading(kActorMcCoy, 325, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 11, true, kAnimationModeIdle);
} else {
return true;
}
@@ -215,15 +220,25 @@ void SceneScriptUG13::SceneFrameAdvanced(int frame) {
if (frame == 94) {
Ambient_Sounds_Play_Sound(372, 90, 0, 0, 100);
}
- if (Game_Flag_Query(436) && frame > 29 && frame < 91) {
+
+ if (Game_Flag_Query(436)
+ && frame > 29
+ && frame < 91
+ ) {
Scene_Exit_Add_2D_Exit(0, 394, 205, 464, 281, 0);
Game_Flag_Reset(436);
//return true;
return;
}
- if (Game_Flag_Query(429) && frame < 25) {
+
+ if (Game_Flag_Query(kFlagUG08toUG13)
+ && frame < 25
+ ) {
Actor_Set_Invisible(kActorMcCoy, true);
- } else if (Game_Flag_Query(430) && frame >= 94 && frame <= 120) {
+ } else if (Game_Flag_Query(kFlagUG13toUG08)
+ && frame >= 94
+ && frame <= 120
+ ) {
Actor_Set_Invisible(kActorMcCoy, true);
} else {
Actor_Set_Invisible(kActorMcCoy, false);
@@ -236,29 +251,32 @@ void SceneScriptUG13::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptUG13::PlayerWalkedIn() {
- if (Game_Flag_Query(435)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -389.0f, 143.0f, -844.0f, 0, 0, false, 0);
+ if (Game_Flag_Query(kFlagUG18toUG13)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -389.0f, 143.0f, -844.0f, 0, false, false, 0);
Actor_Face_Heading(kActorMcCoy, 325, false);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 11, false, kAnimationModeIdle);
Footstep_Sound_Override_Off();
- Game_Flag_Reset(435);
+ Game_Flag_Reset(kFlagUG18toUG13);
} else if (Game_Flag_Query(kFlagUG15toUG13)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, 44.0f, -528.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, 44.0f, -528.0f, 0, false, false, 0);
Game_Flag_Reset(kFlagUG15toUG13);
} else {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -60.0f, 55.24f, -816.0f, 0, 0, false, 0);
- Game_Flag_Reset(429);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -60.0f, 55.24f, -816.0f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagUG08toUG13);
Player_Gains_Control();
}
- if (Actor_Query_Goal_Number(kActorTransient) >= 390 && !Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
+
+ if ( Actor_Query_Goal_Number(kActorTransient) >= 390
+ && !Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
+ ) {
if (Game_Flag_Query(553)) {
if (Random_Query(1, 3) == 1) {
Actor_Set_Goal_Number(kActorTransient, 395);
}
} else {
Game_Flag_Set(553);
- Actor_Says(kActorTransient, 50, 3);
+ Actor_Says(kActorTransient, 50, kAnimationModeTalk);
}
}
//return false;
@@ -267,7 +285,7 @@ void SceneScriptUG13::PlayerWalkedIn() {
void SceneScriptUG13::PlayerWalkedOut() {
Actor_Set_Invisible(kActorMcCoy, false);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- if (Game_Flag_Query(430)) {
+ if (Game_Flag_Query(kFlagUG13toUG08)) {
Ambient_Sounds_Remove_Sound(401, false);
Ambient_Sounds_Remove_Sound(402, false);
Ambient_Sounds_Remove_Sound(369, false);
@@ -288,7 +306,7 @@ void SceneScriptUG13::sub_40223C() {
Actor_Says_With_Pause(kActorMcCoy, 5565, 3.0f, 18);
Actor_Says(kActorTransient, 70, 31);
Actor_Says(kActorTransient, 80, 32);
- Actor_Says(kActorMcCoy, 5570, 3);
+ Actor_Says(kActorMcCoy, 5570, kAnimationModeTalk);
Actor_Says(kActorTransient, 90, 32);
}
@@ -352,12 +370,15 @@ void SceneScriptUG13::sub_402AD4() {
DM_Add_To_List_Never_Repeat_Once_Selected(1350, 1, 3, 7);
}
Dialogue_Menu_Add_DONE_To_List(1360);
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
switch (answer) {
case 1360:
return;
+
case 1350:
Actor_Clue_Acquire(kActorTransient, kClueFlaskOfAbsinthe, false, kActorMcCoy);
Actor_Says_With_Pause(kActorMcCoy, 5595, 1.0f, 23);
@@ -367,6 +388,7 @@ void SceneScriptUG13::sub_402AD4() {
Actor_Clue_Lose(kActorMcCoy, kClueFlaskOfAbsinthe);
sub_402E24();
break;
+
case 1340:
Actor_Modify_Friendliness_To_Other(kActorTransient, kActorMcCoy, -10);
Actor_Says(kActorMcCoy, 5590, 15);
@@ -378,9 +400,11 @@ void SceneScriptUG13::sub_402AD4() {
Actor_Says(kActorMcCoy, 5585, 16);
sub_4025E0();
break;
+
case 1320:
sub_4023D8();
break;
+
default:
Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
Actor_Says(kActorMcCoy, 5600, 14);
@@ -398,9 +422,11 @@ void SceneScriptUG13::sub_402E24() {
DM_Add_To_List_Never_Repeat_Once_Selected(1370, 1, 1, 8);
DM_Add_To_List_Never_Repeat_Once_Selected(1380, 1, 8, 1);
DM_Add_To_List_Never_Repeat_Once_Selected(1390, 8, 1, 1);
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
if (answer == 1370) {
Actor_Says(kActorMcCoy, 5665, 16);
Actor_Says(kActorTransient, 300, 32);
diff --git a/engines/bladerunner/script/scene/ug14.cpp b/engines/bladerunner/script/scene/ug14.cpp
index ace4b90..914cf10 100644
--- a/engines/bladerunner/script/scene/ug14.cpp
+++ b/engines/bladerunner/script/scene/ug14.cpp
@@ -81,10 +81,9 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
float x, y, z;
Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
bool v1 = y > 57.0f;
- if (exitId > 2) {
- return false;
- }
- if (!exitId) {
+
+
+ if (!exitId == 0) {
if (v1) {
if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, 0, true, false, 0)) {
return false;
@@ -94,6 +93,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, false, kAnimationModeIdle);
Footstep_Sound_Override_Off();
}
+
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -278.0f, 12.97f, -152.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -102,6 +102,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
if (!v1) {
if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, true, false, 0)) {
@@ -112,6 +113,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, true, kAnimationModeIdle);
Footstep_Sound_Override_Off();
}
+
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -814.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -173,11 +175,12 @@ void SceneScriptUG14::PlayerWalkedIn() {
Actor_Face_Heading(kActorMcCoy, 807, false);
Game_Flag_Reset(kFlagUG10toUG14);
}
+
if ( Global_Variable_Query(kVariableChapter) == 4
&& Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)
&& !Game_Flag_Query(kFlagUG14DeadHomeless)
) {
- Overlay_Play("UG14OVER", 0, 0, 1, 0);
+ Overlay_Play("UG14OVER", 0, false, true, 0);
Delay(1000);
Actor_Face_Heading(kActorMcCoy, 609, false);
Delay(3000);
diff --git a/engines/bladerunner/script/scene/ug15.cpp b/engines/bladerunner/script/scene/ug15.cpp
index 13408bb..fdd3244 100644
--- a/engines/bladerunner/script/scene/ug15.cpp
+++ b/engines/bladerunner/script/scene/ug15.cpp
@@ -130,7 +130,9 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {
if (exitId == 2) {
int v1 = Actor_Query_Goal_Number(kActorFreeSlotA);
- if (v1 >= 300 && v1 <= 303) {
+ if (v1 >= 300
+ && v1 <= 303
+ ) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.61f, 48.07f, 147.12f, 0, 1, false, 0);
} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.0f, 52.28f, 46.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
@@ -162,7 +164,7 @@ void SceneScriptUG15::SceneFrameAdvanced(int frame) {
float x, y, z;
Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
if (-160.0f <= x
- && z < 220.0f
+ && 220.0f > z
) {
Actor_Set_Goal_Number(kActorFreeSlotA, 301);
}
@@ -170,11 +172,14 @@ void SceneScriptUG15::SceneFrameAdvanced(int frame) {
if (frame == 61) {
Ambient_Sounds_Play_Sound(583, 80, 0, 0, 99);
}
- if (Game_Flag_Query(677) && !Game_Flag_Query(682)) {
+
+ if ( Game_Flag_Query(677)
+ && !Game_Flag_Query(682)
+ ) {
float x, y, z;
Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
- if (-180.0f <= x
- && z < 220.0f
+ if ( -180.0f <= x
+ && 220.0f > z
&& !Game_Flag_Query(724)
) {
Game_Flag_Set(724);
@@ -183,6 +188,7 @@ void SceneScriptUG15::SceneFrameAdvanced(int frame) {
Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
Actor_Set_Goal_Number(kActorMcCoy, 390);
Actor_Query_XYZ(kActorFreeSlotA, &x, &y, &z);
+
if (-200.0f < x
&& -62.0f > x
) {
diff --git a/engines/bladerunner/script/scene/ug16.cpp b/engines/bladerunner/script/scene/ug16.cpp
index 858f4d1..6d075ab 100644
--- a/engines/bladerunner/script/scene/ug16.cpp
+++ b/engines/bladerunner/script/scene/ug16.cpp
@@ -25,14 +25,14 @@
namespace BladeRunner {
void SceneScriptUG16::InitializeScene() {
- if (Game_Flag_Query(552)) {
+ if (Game_Flag_Query(kFlagDR06toUG16)) {
Setup_Scene_Information(-270.76f, -34.88f, -504.02f, 404);
- Game_Flag_Reset(552);
+ Game_Flag_Reset(kFlagDR06toUG16);
} else if (Game_Flag_Query(kFlagUG15toUG16a)) {
- Setup_Scene_Information(-322.0f, -34.0f, -404.0f, 345);
+ Setup_Scene_Information(-322.0f, -34.0f, -404.0f, 345);
Game_Flag_Reset(kFlagUG15toUG16a);
} else {
- Setup_Scene_Information(-318.0f, -34.0f, -216.0f, 340);
+ Setup_Scene_Information(-318.0f, -34.0f, -216.0f, 340);
Game_Flag_Reset(kFlagUG15toUG16b);
}
@@ -78,42 +78,57 @@ bool SceneScriptUG16::MouseClick(int x, int y) {
}
bool SceneScriptUG16::ClickedOn3DObject(const char *objectName, bool a2) {
- if (Object_Query_Click("QUADPATCH05", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, 1, false, 0)) {
- Actor_Face_Heading(kActorMcCoy, 870, false);
- if (!Game_Flag_Query(597) && Game_Flag_Query(595)) {
- Game_Flag_Set(597);
- Delay(1000);
- Actor_Voice_Over(3480, kActorVoiceOver);
- Actor_Change_Animation_Mode(kActorMcCoy, 38);
- Sound_Play(339, 100, 0, 0, 50);
- Delay(1000);
- Item_Pickup_Spin_Effect(948, 460, 287);
- Actor_Voice_Over(2740, kActorVoiceOver);
- Actor_Voice_Over(2750, kActorVoiceOver);
- Actor_Voice_Over(2760, kActorVoiceOver);
- Actor_Voice_Over(2770, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueFolder, true, -1);
- } else {
- Actor_Says(kActorMcCoy, 8523, 12);
- Actor_Says(kActorMcCoy, 8635, 12);
+ if (Object_Query_Click("QUADPATCH05", objectName)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, true, false, 0)) {
+ Actor_Face_Heading(kActorMcCoy, 870, false);
+ if (!Game_Flag_Query(597)
+ && Game_Flag_Query(595)
+ ) {
+ Game_Flag_Set(597);
+ Delay(1000);
+ Actor_Voice_Over(3480, kActorVoiceOver);
+ Actor_Change_Animation_Mode(kActorMcCoy, 38);
+ Sound_Play(339, 100, 0, 0, 50);
+ Delay(1000);
+ Item_Pickup_Spin_Effect(948, 460, 287);
+ Actor_Voice_Over(2740, kActorVoiceOver);
+ Actor_Voice_Over(2750, kActorVoiceOver);
+ Actor_Voice_Over(2760, kActorVoiceOver);
+ Actor_Voice_Over(2770, kActorVoiceOver);
+ Actor_Clue_Acquire(kActorMcCoy, kClueFolder, true, -1);
+ } else {
+ Actor_Says(kActorMcCoy, 8523, 12);
+ Actor_Says(kActorMcCoy, 8635, 12);
+ }
+ return true;
}
- return true;
}
- if (Object_Query_Click("SCREEN 01", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, 1, false, 0)) {
- Actor_Face_Heading(kActorMcCoy, 870, false);
- if ((!Game_Flag_Query(595) && Actor_Query_Is_In_Current_Set(kActorLuther)) || Actor_Clue_Query(kActorMcCoy, kClueDNALutherLance) || Game_Flag_Query(568)) {
- Actor_Says(kActorMcCoy, 8525, 12);
- Actor_Says(kActorMcCoy, 8526, 12);
- return false;
+
+ if (Object_Query_Click("SCREEN 01", objectName)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, true, false, 0)) {
+
+ Actor_Face_Heading(kActorMcCoy, 870, false);
+
+ if ((!Game_Flag_Query(595)
+ && Actor_Query_Is_In_Current_Set(kActorLuther)
+ )
+ || Actor_Clue_Query(kActorMcCoy, kClueDNALutherLance)
+ || Game_Flag_Query(568)
+ ) {
+ Actor_Says(kActorMcCoy, 8525, 12);
+ Actor_Says(kActorMcCoy, 8526, 12);
+ return false;
+ }
+
+ Delay(2000);
+ Actor_Face_Heading(kActorMcCoy, 1016, false);
+ Delay(2000);
+ Actor_Says(kActorMcCoy, 5725, 14);
+ Delay(1000);
+ Item_Pickup_Spin_Effect(941, 418, 305);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDNALutherLance, true, -1);
+ return true;
}
- Delay(2000);
- Actor_Face_Heading(kActorMcCoy, 1016, false);
- Delay(2000);
- Actor_Says(kActorMcCoy, 5725, 14);
- Delay(1000);
- Item_Pickup_Spin_Effect(941, 418, 305);
- Actor_Clue_Acquire(kActorMcCoy, kClueDNALutherLance, true, -1);
- return true;
}
return false;
}
@@ -157,7 +172,7 @@ bool SceneScriptUG16::ClickedOnExit(int exitId) {
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, true, kAnimationModeIdle);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(551);
+ Game_Flag_Set(kFlagUG16toDR06);
Set_Enter(kSetDR06, kSceneDR06);
}
return true;
@@ -180,10 +195,14 @@ void SceneScriptUG16::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
void SceneScriptUG16::PlayerWalkedIn() {
Game_Flag_Set(715);
+
if (!Game_Flag_Query(595)) {
Actor_Set_Goal_Number(kActorLuther, 403);
}
- if (!Game_Flag_Query(556) && Actor_Query_Is_In_Current_Set(kActorLuther)) {
+
+ if (!Game_Flag_Query(556)
+ && Actor_Query_Is_In_Current_Set(kActorLuther)
+ ) {
Player_Loses_Control();
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 120.29f, -35.67f, 214.8f, 310, 0, false, 0);
Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -219,24 +238,33 @@ void SceneScriptUG16::sub_401D78() {
Dialogue_Menu_Clear_List();
DM_Add_To_List_Never_Repeat_Once_Selected(1400, 5, 6, 2);
DM_Add_To_List_Never_Repeat_Once_Selected(1410, 5, 4, 8);
- if (Game_Flag_Query(600) || Game_Flag_Query(601)) {
+ if (Game_Flag_Query(600)
+ || Game_Flag_Query(601)
+ ) {
DM_Add_To_List_Never_Repeat_Once_Selected(1420, 6, 4, 5);
DM_Add_To_List_Never_Repeat_Once_Selected(1430, 6, 4, 5);
DM_Add_To_List_Never_Repeat_Once_Selected(1440, 6, 4, 5);
}
- if (Global_Variable_Query(49) > 1 && !Actor_Clue_Query(kActorMcCoy, kClueFolder)) {
+ if ( Global_Variable_Query(49) > 1
+ && !Actor_Clue_Query(kActorMcCoy, kClueFolder)
+ ) {
DM_Add_To_List_Never_Repeat_Once_Selected(1450, 6, 4, 5);
}
if (Actor_Clue_Query(kActorMcCoy, kClueEnvelope)) {
DM_Add_To_List_Never_Repeat_Once_Selected(1460, 6, 4, 5);
}
- if (Actor_Clue_Query(kActorMcCoy, kClueDNATyrell) && !Actor_Clue_Query(kActorMcCoy, kClueFolder) && Game_Flag_Query(698)) {
+ if ( Actor_Clue_Query(kActorMcCoy, kClueDNATyrell)
+ && !Actor_Clue_Query(kActorMcCoy, kClueFolder)
+ && Game_Flag_Query(698)
+ ) {
DM_Add_To_List_Never_Repeat_Once_Selected(1470, 6, 4, 5);
}
Dialogue_Menu_Add_DONE_To_List(1480);
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
switch (answer) {
case 1400:
Actor_Says(kActorMcCoy, 5730, 13);
@@ -272,12 +300,14 @@ void SceneScriptUG16::sub_401D78() {
Actor_Modify_Friendliness_To_Other(kActorLuther, kActorMcCoy, -10);
}
break;
+
case 1410:
Actor_Says(kActorMcCoy, 5735, 13);
Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
Actor_Says(kActorLance, 160, 17);
Actor_Says(kActorLuther, 200, 14);
break;
+
case 1420:
Actor_Says(kActorMcCoy, 5740, 13);
Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -296,6 +326,7 @@ void SceneScriptUG16::sub_401D78() {
Actor_Says(kActorLance, 230, 17);
Actor_Clue_Acquire(kActorMcCoy, kClueLutherLanceInterview, true, kActorLuther);
break;
+
case 1430:
Actor_Says(kActorMcCoy, 5745, 13);
Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -305,6 +336,7 @@ void SceneScriptUG16::sub_401D78() {
Actor_Says(kActorLuther, 290, 15);
Actor_Says(kActorLance, 260, 15);
break;
+
case 1440:
Actor_Says(kActorMcCoy, 5750, 13);
Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -313,6 +345,7 @@ void SceneScriptUG16::sub_401D78() {
Actor_Says(kActorLuther, 310, 15);
Actor_Modify_Friendliness_To_Other(kActorLuther, kActorMcCoy, -5);
break;
+
case 1450:
Actor_Says(kActorMcCoy, 5755, 13);
Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -331,6 +364,7 @@ void SceneScriptUG16::sub_401D78() {
Actor_Says(kActorLance, 330, 15);
Game_Flag_Set(698);
break;
+
case 1460:
Actor_Says(kActorMcCoy, 5760, 13);
Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -342,6 +376,7 @@ void SceneScriptUG16::sub_401D78() {
Actor_Says(kActorMcCoy, 5840, 13);
Actor_Says(kActorLance, 380, 13);
break;
+
case 1470:
Actor_Says(kActorMcCoy, 5765, 13);
Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -365,6 +400,7 @@ void SceneScriptUG16::sub_401D78() {
Game_Flag_Set(597);
Actor_Clue_Acquire(kActorMcCoy, kClueFolder, true, kActorLuther);
break;
+
case 1480:
Actor_Says(kActorMcCoy, 4595, 14);
break;
diff --git a/engines/bladerunner/script/scene/ug17.cpp b/engines/bladerunner/script/scene/ug17.cpp
index afbe340..3d41e2a 100644
--- a/engines/bladerunner/script/scene/ug17.cpp
+++ b/engines/bladerunner/script/scene/ug17.cpp
@@ -25,9 +25,9 @@
namespace BladeRunner {
void SceneScriptUG17::InitializeScene() {
- if (Game_Flag_Query(447)) {
+ if (Game_Flag_Query(kFlagTB03toUG17)) {
Setup_Scene_Information(1013.0f, 67.96f, -1892.0f, 525);
- Game_Flag_Reset(447);
+ Game_Flag_Reset(kFlagTB03toUG17);
} else {
Setup_Scene_Information(1000.0f, 67.96f, -1539.0f, 0);
}
@@ -67,7 +67,7 @@ bool SceneScriptUG17::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptUG17::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1000.0f, 67.96f, -1539.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1000.0f, 67.96f, -1539.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagUG17toUG15);
@@ -75,16 +75,17 @@ bool SceneScriptUG17::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1013.0f, 67.96f, -1892.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1013.0f, 67.96f, -1892.0f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 89, false);
if (Global_Variable_Query(kVariableChapter) == 5) {
Actor_Says(kActorMcCoy, 8522, 14);
} else {
- Loop_Actor_Travel_Ladder(kActorMcCoy, 10, 1, 0);
+ Loop_Actor_Travel_Ladder(kActorMcCoy, 10, true, kAnimationModeIdle);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(448);
+ Game_Flag_Set(kFlagUG17toTB03);
Set_Enter(kSetTB02_TB03, kSceneTB03);
}
}
diff --git a/engines/bladerunner/script/scene/ug18.cpp b/engines/bladerunner/script/scene/ug18.cpp
index 5afb87e..7d45274 100644
--- a/engines/bladerunner/script/scene/ug18.cpp
+++ b/engines/bladerunner/script/scene/ug18.cpp
@@ -26,36 +26,43 @@ namespace BladeRunner {
void SceneScriptUG18::InitializeScene() {
Setup_Scene_Information(-684.71f, 0.0f, 171.59f, 0);
- Game_Flag_Reset(434);
+ Game_Flag_Reset(kFlagUG13toUG18);
+
Scene_Exit_Add_2D_Exit(0, 0, 158, 100, 340, 3);
+
Ambient_Sounds_Add_Looping_Sound(105, 71, 0, 1);
- Ambient_Sounds_Add_Looping_Sound(95, 45, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound( 95, 45, 0, 1);
Ambient_Sounds_Add_Looping_Sound(332, 76, 0, 1);
- Ambient_Sounds_Add_Sound(291, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(292, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(293, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(294, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(295, 2, 20, 25, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(1, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(57, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(58, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(306, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(307, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(308, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(196, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(197, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(198, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(199, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(291, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(292, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(293, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(294, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(295, 2, 20, 25, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 1, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 57, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 58, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(306, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(307, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(308, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(196, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(197, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(198, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(199, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+
Scene_Loop_Set_Default(4);
- if (Game_Flag_Query(670) && !Game_Flag_Query(671) && Global_Variable_Query(kVariableChapter) == 4) {
+
+ if ( Game_Flag_Query(670)
+ && !Game_Flag_Query(671)
+ && Global_Variable_Query(kVariableChapter) == 4
+ ) {
Actor_Set_Goal_Number(kActorGuzza, 300);
Actor_Set_Goal_Number(kActorClovis, 300);
Actor_Set_Goal_Number(kActorSadik, 300);
@@ -69,15 +76,19 @@ void SceneScriptUG18::SceneLoaded() {
Unobstacle_Object("OBSTACLE1", true);
Clickable_Object("MACHINE_01");
Unclickable_Object("MACHINE_01");
+
if (Game_Flag_Query(671)) {
Actor_Put_In_Set(kActorGuzza, kSetFreeSlotI);
Actor_Set_At_Waypoint(kActorGuzza, 41, 0);
- if (Actor_Query_Which_Set_In(kActorSadik) == 89) {
+ if (Actor_Query_Which_Set_In(kActorSadik) == kSetUG18) {
Actor_Put_In_Set(kActorSadik, kSetFreeSlotA);
Actor_Set_At_Waypoint(kActorSadik, 33, 0);
}
}
- if (Game_Flag_Query(670) && !Game_Flag_Query(671) && Global_Variable_Query(kVariableChapter) == 4) {
+ if ( Game_Flag_Query(670)
+ && !Game_Flag_Query(671)
+ && Global_Variable_Query(kVariableChapter) == 4
+ ) {
Item_Add_To_World(91, 987, 89, -55.21f, 0.0f, -302.17f, 0, 12, 12, false, true, false, true);
}
}
@@ -98,7 +109,7 @@ bool SceneScriptUG18::ClickedOnItem(int itemId, bool combatMode) {
if (itemId == 91) {
if (combatMode) {
Item_Remove_From_World(91);
- } else if (!Loop_Actor_Walk_To_Item(kActorMcCoy, 91, 12, 1, false)) {
+ } else if (!Loop_Actor_Walk_To_Item(kActorMcCoy, 91, 12, true, false)) {
Item_Pickup_Spin_Effect(987, 368, 243);
Item_Remove_From_World(itemId);
Game_Flag_Set(703);
@@ -110,10 +121,10 @@ bool SceneScriptUG18::ClickedOnItem(int itemId, bool combatMode) {
bool SceneScriptUG18::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.71f, 0.0f, 171.59f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.71f, 0.0f, 171.59f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(435);
+ Game_Flag_Set(kFlagUG18toUG13);
Set_Enter(kSetUG13, kSceneUG13);
}
return true;
@@ -150,9 +161,14 @@ void SceneScriptUG18::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
Scene_Exits_Enable();
Actor_Set_Goal_Number(kActorGuzza, 306);
}
- } else if (actorId == kActorSadik) {
+ return;
+ }
+
+ if (actorId == kActorSadik) {
if (newGoal == 302) {
- if (Actor_Query_Friendliness_To_Other(kActorClovis, kActorMcCoy) > 55 && Game_Flag_Query(607)) {
+ if (Actor_Query_Friendliness_To_Other(kActorClovis, kActorMcCoy) > 55
+ && Game_Flag_Query(607)
+ ) {
sub_403588();
} else {
Actor_Set_Goal_Number(kActorSadik, 307);
@@ -168,14 +184,18 @@ void SceneScriptUG18::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
Actor_Force_Stop_Walking(kActorMcCoy);
Actor_Change_Animation_Mode(kActorMcCoy, 48);
Player_Loses_Control();
- Actor_Retired_Here(kActorMcCoy, 6, 6, 1, kActorSadik);
+ Actor_Retired_Here(kActorMcCoy, 6, 6, true, kActorSadik);
}
}
}
void SceneScriptUG18::PlayerWalkedIn() {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -488.71f, 0.0f, 123.59f, 0, 0, false, 0);
- if (Game_Flag_Query(670) && !Game_Flag_Query(671) && Actor_Query_Is_In_Current_Set(kActorGuzza)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -488.71f, 0.0f, 123.59f, 0, false, false, 0);
+
+ if ( Game_Flag_Query(670)
+ && !Game_Flag_Query(671)
+ && Actor_Query_Is_In_Current_Set(kActorGuzza)
+ ) {
Scene_Exits_Disable();
sub_402734();
sub_403278();
@@ -270,12 +290,12 @@ void SceneScriptUG18::sub_402734() {
Actor_Says(kActorGuzza, 790, 3);
Actor_Says(kActorMcCoy, 5865, 12);
Actor_Says(kActorGuzza, 800, 3);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -357.13f, 0.0f, -44.47f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -357.13f, 0.0f, -44.47f, 0, false, false, 0);
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
Actor_Says(kActorMcCoy, 5870, 14);
Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
Actor_Start_Speech_Sample(kActorGuzza, 810);
- Loop_Actor_Walk_To_XYZ(kActorGuzza, -57.21f, 0.0f, -334.17f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorGuzza, -57.21f, 0.0f, -334.17f, 0, false, false, 0);
Actor_Says(kActorMcCoy, 5875, 13);
Actor_Says(kActorGuzza, 830, 3);
Actor_Says(kActorGuzza, 840, 12);
@@ -285,7 +305,7 @@ void SceneScriptUG18::sub_402734() {
Actor_Says(kActorMcCoy, 5885, 9);
Actor_Says(kActorMcCoy, 5890, 13);
Actor_Says(kActorGuzza, 870, 15);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -205.13f, 0.0f, -184.47f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -205.13f, 0.0f, -184.47f, 0, false, false, 0);
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
Actor_Says(kActorMcCoy, 5900, 15);
Actor_Says(kActorGuzza, 880, 13);
@@ -294,7 +314,7 @@ void SceneScriptUG18::sub_402734() {
Actor_Says(kActorMcCoy, 5915, 13);
Actor_Says(kActorGuzza, 890, 16);
Actor_Says(kActorMcCoy, 5920, 14);
- Loop_Actor_Walk_To_XYZ(kActorGuzza, -57.21f, 0.0f, -334.17f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorGuzza, -57.21f, 0.0f, -334.17f, 0, false, false, 0);
Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
Actor_Says(kActorGuzza, 900, 15);
Actor_Says(kActorGuzza, 910, 12);
@@ -308,7 +328,7 @@ void SceneScriptUG18::sub_402734() {
if (Game_Flag_Query(607)) {
Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, 3);
Actor_Modify_Friendliness_To_Other(kActorSadik, kActorMcCoy, 5);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, false, false, 0);
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
Actor_Says(kActorMcCoy, 5960, 9);
Actor_Says(kActorMcCoy, 5965, 14);
@@ -342,7 +362,7 @@ void SceneScriptUG18::sub_402DE8() {
}
void SceneScriptUG18::sub_402F8C() {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, false, false, 0);
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
Actor_Says(kActorMcCoy, 5945, 12);
Actor_Says(kActorGuzza, 1040, 15);
@@ -359,7 +379,7 @@ void SceneScriptUG18::sub_402F8C() {
void SceneScriptUG18::sub_403114() {
Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, 20);
Actor_Modify_Friendliness_To_Other(kActorSadik, kActorMcCoy, 10);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, false, false, 0);
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
Actor_Says(kActorMcCoy, 5950, 16);
Actor_Says(kActorMcCoy, 5955, 14);
@@ -374,7 +394,7 @@ void SceneScriptUG18::sub_403278() {
ADQ_Flush();
Actor_Start_Speech_Sample(kActorClovis, 590);
Delay(500);
- Loop_Actor_Walk_To_XYZ(kActorGuzza, 126.79f, 0.0f, -362.17f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorGuzza, 126.79f, 0.0f, -362.17f, 0, false, false, 0);
Actor_Face_Heading(kActorGuzza, 729, false);
Actor_Set_Goal_Number(kActorGuzza, 301);
ADQ_Add(kActorSadik, 350, 13);
diff --git a/engines/bladerunner/script/scene/ug19.cpp b/engines/bladerunner/script/scene/ug19.cpp
index 40097de..d8ae281 100644
--- a/engines/bladerunner/script/scene/ug19.cpp
+++ b/engines/bladerunner/script/scene/ug19.cpp
@@ -85,10 +85,10 @@ bool SceneScriptUG19::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptUG19::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 67.03f, 7.29f, -74.97f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 67.03f, 7.29f, -74.97f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 256, false);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Ladder(kActorMcCoy, 8, 1, 0);
+ Loop_Actor_Travel_Ladder(kActorMcCoy, 8, true, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -97,8 +97,9 @@ bool SceneScriptUG19::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.0f, 11.52f, -18.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.0f, 11.52f, -18.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagUG19toUG14);
@@ -126,7 +127,7 @@ void SceneScriptUG19::PlayerWalkedIn() {
} else {
Game_Flag_Reset(kFlagMA07toUG19);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Ladder(kActorMcCoy, 8, false, 0);
+ Loop_Actor_Travel_Ladder(kActorMcCoy, 8, false, kAnimationModeIdle);
Footstep_Sound_Override_Off();
}
}
More information about the Scummvm-git-logs
mailing list