diff options
23 files changed, 206 insertions, 182 deletions
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h index 44a62af133..74db6f9e38 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 312ea08d04..41d188e3bd 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 cb07d7bea9..8ec974082a 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 50dc2c0f07..742e818dbd 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 88070113cc..f7bbfce855 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 04ac251e61..41e127fa02 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 a6277e9ef4..7edb6393ee 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 1bcede6dc9..b07a0397c5 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 eb7de88d99..1cc2a541d2 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 f0f0c9567b..de09f8786a 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 b466794b20..c0e5530e69 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 c3d3b5a0a2..a4be7591e8 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 3f94212b59..e5afa3c98b 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 c89d82bcd7..83d96a5d3f 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 12593ed4ba..11593fb7d4 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 972a18b7d4..486120f0ea 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 6ebdae5bb1..c3c26f6166 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 6c619aca3e..b7548d228a 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 7070e4d190..b2f62f7461 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 3f745bbe8c..6031952f27 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 d0d3ff1867..447dfda1ab 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 d5eda1f971..10f26d23f4 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 f107699940..1c7edb5897 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; } |