[Scummvm-git-logs] scummvm master -> e536f50b34043475d1d1f0df6ac71356678caa24
antoniou79
a.antoniou79 at gmail.com
Sun Dec 13 17:07:57 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
e536f50b34 BLADERUNNER: Describe more animations
Commit: e536f50b34043475d1d1f0df6ac71356678caa24
https://github.com/scummvm/scummvm/commit/e536f50b34043475d1d1f0df6ac71356678caa24
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2020-12-13T19:06:27+02:00
Commit Message:
BLADERUNNER: Describe more animations
Izo, Sadik, Twins, EarlyQ, Leon, Sebastian, Leary, Grayford, Hanoi, Clerk, HowieLee, Isabella, FishDealer, InsectDealer
Also restored a talk animation for Hanoi, which looked to be omitted due to an original bug
Changed paths:
engines/bladerunner/game_constants.h
engines/bladerunner/script/ai/clovis.cpp
engines/bladerunner/script/ai/desk_clerk.cpp
engines/bladerunner/script/ai/early_q.cpp
engines/bladerunner/script/ai/fish_dealer.cpp
engines/bladerunner/script/ai/gaff.cpp
engines/bladerunner/script/ai/grigorian.cpp
engines/bladerunner/script/ai/hanoi.cpp
engines/bladerunner/script/ai/hasan.cpp
engines/bladerunner/script/ai/howie_lee.cpp
engines/bladerunner/script/ai/insect_dealer.cpp
engines/bladerunner/script/ai/isabella.cpp
engines/bladerunner/script/ai/izo.cpp
engines/bladerunner/script/ai/leon.cpp
engines/bladerunner/script/ai/luther.cpp
engines/bladerunner/script/ai/maggie.cpp
engines/bladerunner/script/ai/officer_grayford.cpp
engines/bladerunner/script/ai/officer_leary.cpp
engines/bladerunner/script/ai/sadik.cpp
engines/bladerunner/script/ai/sebastian.cpp
engines/bladerunner/script/ai/steele.cpp
engines/bladerunner/script/ai_script.h
engines/bladerunner/script/scene/bb11.cpp
engines/bladerunner/script/scene/ct02.cpp
engines/bladerunner/script/scene/ct06.cpp
engines/bladerunner/script/scene/hc01.cpp
engines/bladerunner/script/scene/rc01.cpp
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 02fdd2096c..d6612418a9 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -1939,7 +1939,7 @@ enum GameModelAnimations {
kModelAnimationClovisStandingToKneeling = 239,
kModelAnimationClovisKneelingToStanding = 240,
kModelAnimationClovisKneelingTalking = 241,
- kModelAnimationClovisJumpingDodging = 242, // animation mode 20 (TODO: Where is this used in game? In the Moonbus massacre scenario?)
+ kModelAnimationClovisJumpingDodging = 242, // animation mode 20 (TODO Where is this used in game? In the Moonbus massacre scenario?)
kModelAnimationClovisLayingWithBookIdle = 243,
kModelAnimationClovisLayingWithBookStopsReadingTalk = 244,
kModelAnimationClovisLayingWithBookStillReadingTalk = 245,
@@ -1976,13 +1976,120 @@ enum GameModelAnimations {
kModelAnimationLucyCombatDropsDead = 275, // Untriggered. Somewhat faster than kModelAnimationLucyShotDead (259)
kModelAnimationLucyRemovesNeckletDiesFromExplosion = 276, // Untriggered
// 277 - 311: Izo animations
- // TODO
+ kModelAnimationIzoCombatIdle = 277,
+ kModelAnimationIzoCombatTurnRight = 278, // untriggered
+ kModelAnimationIzoCombatTurnLeft = 279, // untriggered
+ kModelAnimationIzoCombatGotHitRight = 280,
+ kModelAnimationIzoCombatGotHitLeft = 281,
+ kModelAnimationIzoCombatWalking = 282,
+ kModelAnimationIzoCombatRunning = 283,
+ kModelAnimationIzoCombatShotDead = 284,
+ kModelAnimationIzoCombatClimbStairsUp = 285, // untriggered
+ kModelAnimationIzoCombatClimbStairsDown = 286, // untriggered
+ kModelAnimationIzoCombatUnseatheSword = 287,
+ kModelAnimationIzoCombatSeatheSword = 288,
+ kModelAnimationIzoCombatSwordAttack = 289,
+ kModelAnimationIzoWalking = 290,
+ kModelAnimationIzoRunning = 291,
+ kModelAnimationIzoClimbStairsUp = 292, // untriggered
+ kModelAnimationIzoClimbStairsDown = 293, // untriggered
+ kModelAnimationIzoGotHitRight = 294, // UNUSED
+ kModelAnimationIzoGotHitLeft = 295, // UNUSED
+ kModelAnimationIzoShotDead = 296,
+ kModelAnimationIzoIdle = 297,
+ kModelAnimationIzoAwkwardPlayWithHands = 298,
+ kModelAnimationIzoCalmTalk = 299,
+ kModelAnimationIzoMoreCalmTalk = 300,
+ kModelAnimationIzoExplainingTalk = 301,
+ kModelAnimationIzoHeadNodsAgreeingTalk = 302,
+ kModelAnimationIzoOffensiveTalk = 303,
+ kModelAnimationIzoHeadNodsDisagreeingTalk = 304,
+ kModelAnimationIzoUnderstandingTalk = 305,
+ kModelAnimationIzoClimbLadderDown = 306, // untriggered
+ kModelAnimationIzoClimbLadderUp = 307, // untriggered
+ kModelAnimationIzoHoldingCameraIdle = 308,
+ kModelAnimationIzoPicksCameraFromShop = 309,
+ kModelAnimationIzoHoldingCameraTalk = 310,
+ kModelAnimationIzoHoldingCameraUsesFlash = 311,
// 312 - 345: Sadik animations
- // TODO
- // 316 - 359: Twins/Luther animations
- // TODO
+ kModelAnimationSadikCombatIdle = 312,
+ kModelAnimationSadikCombatTurnRight = 313, // untriggered
+ kModelAnimationSadikCombatTurnLeft = 314, // untriggered
+ kModelAnimationSadikCombatGotHitFront = 315,
+ kModelAnimationSadikCombatGotHitMore = 316,
+ kModelAnimationSadikCombatWalking = 317,
+ kModelAnimationSadikCombatRunning = 318,
+ kModelAnimationSadikCombatShotDead = 319, // UNUSED
+ kModelAnimationSadikCombatUnholsterGun = 320,
+ kModelAnimationSadikCombatHolsterGun = 321, // untriggered
+ kModelAnimationSadikCombatFireGunAndReturnToPoseIdle = 322, // A bit bugged. Sadik has all dark/black clothes suddenly here.
+ kModelAnimationSadikWalking = 323,
+ kModelAnimationSadikRunning = 324,
+ kModelAnimationSadikGotHitFront = 325,
+ kModelAnimationSadikGotHitMore = 326,
+ kModelAnimationSadikShotDead = 327,
+ kModelAnimationSadikIdle = 328,
+ kModelAnimationSadikShiftsShoulders = 329,
+ kModelAnimationSadikGesturePointOrGive = 330,
+ kModelAnimationSadikCalmTalk = 331,
+ kModelAnimationSadikMoreCalmTalk = 332,
+ kModelAnimationSadikSuggestTalk = 333,
+ kModelAnimationSadikUrgeTalk = 334,
+ kModelAnimationSadikAccuseTalk = 335,
+ kModelAnimationSadikProtestTalk = 336,
+ kModelAnimationSadikMockTalk = 337,
+ kModelAnimationSadikThisAndThatTalk = 338,
+ kModelAnimationSadikClimbLadderDown = 339, // untriggered
+ kModelAnimationSadikClimbLadderUp = 340, // untriggered
+ kModelAnimationSadikJumpAcross = 341, // untriggered
+ kModelAnimationSadikHangingDropsDown = 342, // untriggered
+ kModelAnimationSadikKicksSomeoneWhoIsDown = 343,
+ kModelAnimationSadikHoldsSomeoneAndPunches = 344,
+ kModelAnimationSadikPicksUpAndThrowsMcCoy = 345, // A bit bugged. Last frames 27-30 are empty and Sadik's model looks rough/wrong-ish.
+ // 346 - 359: Twins/Luther animations
+ kModelAnimationTwinsSitIdle = 346,
+ kModelAnimationTwinsSitTyping = 347, // UNUSED
+ kModelAnimationTwinsSitLancePutsSomethingToTheLeft = 348,
+ kModelAnimationTwinsSitLanceShortCalmTalk = 349, // Mostly looks like Lance is talking. Probably could be used for both.
+ kModelAnimationTwinsSitLanceLongerCalmTalk = 350, // Mostly looks like Lance is talking. Probably could be used for both.
+ kModelAnimationTwinsSitLutherCalmTalk = 351, // Mostly looks like Luther is talking. Probably could be used for both.
+ kModelAnimationTwinsSitLutherMoreCalmTalk = 352, // Mostly looks like Luther is talking. Probably could be used for both.
+ kModelAnimationTwinsSitLanceMoreCalmTalk = 353, // Mostly looks like Lance is talking. Probably could be used for both.
+ kModelAnimationTwinsSitLutherProtestTalk = 354, // Mostly looks like Luther is talking. Probably could be used for both.
+ kModelAnimationTwinsSitLutherGoAheadTalk = 355, // Mostly looks like Luther is talking. Probably could be used for both.
+ kModelAnimationTwinsSitLutherHitsOrFeedsLance = 356, // TODO Check when this happens (animationMode: 6)
+ kModelAnimationTwinsSitDropForwards = 357,
+ kModelAnimationTwinsSitAlmostDeadLutherPushesButton = 358,
+ kModelAnimationTwinsSitDieCompletely = 359,
// 360 - 387: EarlyQ animations
- // TODO
+ kModelAnimationEarlyQCombatIdle = 360,
+ kModelAnimationEarlyQCombatWalking = 361,
+ kModelAnimationEarlyQCombatUnholsterGun = 362,
+ kModelAnimationEarlyQCombatHolsterGun = 363,
+ kModelAnimationEarlyQCombatFiresGun = 364,
+ kModelAnimationEarlyQWalking = 365,
+ kModelAnimationEarlyQGotHitRight = 366,
+ kModelAnimationEarlyQGotHitLeft = 367,
+ kModelAnimationEarlyQDropsDead = 368,
+ kModelAnimationEarlyQIdle = 369,
+ kModelAnimationEarlyQHandOnFace = 370, // maybe cigarrette?
+ kModelAnimationEarlyQGivesSomething = 371, // maybe the photo? // TODO check when this happens (animationMode 23)
+ kModelAnimationEarlyQCalmTalk = 372,
+ kModelAnimationEarlyQCalmExplainTalk = 373,
+ kModelAnimationEarlyQVulgarTalk = 374,
+ kModelAnimationEarlyQDismissTalk = 375,
+ kModelAnimationEarlyQMoreDismissTalk = 376,
+ kModelAnimationEarlyQIntenseExplainTalk = 377,
+ kModelAnimationEarlyQSubtleExplainTalk = 378,
+ kModelAnimationEarlyQExcitedTalk = 379,
+ kModelAnimationEarlyQAnnounceTalk = 380,
+ kModelAnimationEarlyQSPicksUpBottleAndPoursDrink = 381,
+ kModelAnimationEarlyQSHoldsDrinkIdle = 382,
+ kModelAnimationEarlyQSitsAndCrossesLegs = 383,
+ kModelAnimationEarlyQSitIdle = 384,
+ kModelAnimationEarlyQSitTalk = 385,
+ kModelAnimationEarlyQSitScorpionAgonyDeath = 386,
+ kModelAnimationEarlyQSitToStandingUp = 387,
// 388 - 421: Zuben animations
kModelAnimationZubenCombatIdle = 388,
kModelAnimationZubenCombatHitFront = 389,
@@ -2121,17 +2228,128 @@ enum GameModelAnimations {
// 566 - 570: Mia animations
// TODO
// 571 - 604: Officer Leary animations
- // TODO
+ kModelAnimationOfficerLearyCombatIdle = 571,
+ kModelAnimationOfficerLearyCombatGotHitRight = 572,
+ kModelAnimationOfficerLearyCombatGotHitLeft = 573,
+ kModelAnimationOfficerLearyCombatWalking = 574,
+ kModelAnimationOfficerLearyCombatRunning = 575,
+ kModelAnimationOfficerLearyCombatShotDead = 576,
+ kModelAnimationOfficerLearyCombatClimbStairsUp = 577, // untriggered?
+ kModelAnimationOfficerLearyCombatClimbStairsDown = 578, // untriggered?
+ kModelAnimationOfficerLearyCombatUnholsterGun = 579,
+ kModelAnimationOfficerLearyCombatHolsterGun = 580,
+ kModelAnimationOfficerLearyCombatFireGun = 581,
+ kModelAnimationOfficerLearyWalking = 582,
+ kModelAnimationOfficerLearyRunning = 583,
+ kModelAnimationOfficerLearyClimbStairsUp = 584, // untriggered?
+ kModelAnimationOfficerLearyClimbStairsDown = 585, // untriggered?
+ kModelAnimationOfficerLearyGotHitFront = 586,
+ kModelAnimationOfficerLearyGotHitBack = 587,
+ kModelAnimationOfficerLearyShotDead = 588,
+ kModelAnimationOfficerLearyOscillateIdle = 589,
+ kModelAnimationOfficerLearyLookAroundIdle = 590,
+ kModelAnimationOfficerLearyRockBackForthIdle = 591,
+ kModelAnimationOfficerLearyCalmExplainTalk = 592,
+ kModelAnimationOfficerLearyIndicateTalk = 593,
+ kModelAnimationOfficerLearyLongerExplainTalk = 594,
+ kModelAnimationOfficerLearyWarnOrThreatenTalk = 595,
+ kModelAnimationOfficerLearyUpsetOrCommandTalk = 596,
+ kModelAnimationOfficerLearyMoreUpsetTalk = 597,
+ kModelAnimationOfficerLearyUrgeOrQuestionTalk = 598,
+ kModelAnimationOfficerLearyHandsOnWaistTalk = 599,
+ kModelAnimationOfficerLearyScratchHeadApologyTalk = 600,
+ kModelAnimationOfficerLearyTakingNotes = 601,
+ kModelAnimationOfficerLearyIntenseTakingNotes = 602, // UNUSED
+ kModelAnimationOfficerLearyPutNotepadAway = 603,
+ kModelAnimationOfficerLearyTakeOutNotepad = 604,
// 605 - 641: Officer Grayford animations
- // TODO
+ kModelAnimationOfficerGrayfordCombatIdle = 605,
+ kModelAnimationOfficerGrayfordCombatSlowStrafe = 606, // UNUSED
+ kModelAnimationOfficerGrayfordCombatFastStrafe = 607, // UNUSED
+ kModelAnimationOfficerGrayfordCombatGotHitRight = 608,
+ kModelAnimationOfficerGrayfordCombatGotHitLeft = 609,
+ kModelAnimationOfficerGrayfordCombatWalking = 610,
+ kModelAnimationOfficerGrayfordCombatRunning = 611,
+ kModelAnimationOfficerGrayfordCombatShotDead = 612,
+ kModelAnimationOfficerGrayfordCombatClimbStairsUp = 613, // UNUSED
+ kModelAnimationOfficerGrayfordCombatClimbStairsDown = 614, // UNUSED
+ kModelAnimationOfficerGrayfordCombatUnholsterGun = 615,
+ kModelAnimationOfficerGrayfordCombatHolsterGun = 616,
+ kModelAnimationOfficerGrayfordCombatFireGun = 617,
+ kModelAnimationOfficerGrayfordWalking = 618,
+ kModelAnimationOfficerGrayfordRunning = 619,
+ kModelAnimationOfficerGrayfordClimbStairsUp = 620, // UNUSED
+ kModelAnimationOfficerGrayfordClimbStairsDown = 621, // UNUSED
+ kModelAnimationOfficerGrayfordGotHitFront = 622,
+ kModelAnimationOfficerGrayfordGotHitBack = 623,
+ kModelAnimationOfficerGrayfordShotDead = 624,
+ kModelAnimationOfficerGrayfordOscillateIdle = 625,
+ kModelAnimationOfficerGrayfordLookAroundDownwardsIdle = 626,
+ kModelAnimationOfficerGrayfordLookAroundSidewaysIdle = 627,
+ kModelAnimationOfficerGrayfordGestureGive = 628, // UNUSED
+ kModelAnimationOfficerGrayfordCalmExplainTalk = 629,
+ kModelAnimationOfficerGrayfordCalmRightHandMoveTalk = 630,
+ kModelAnimationOfficerGrayfordScratchHeadTalk = 631,
+ kModelAnimationOfficerGrayfordQuickHandMoveTalk = 632,
+ kModelAnimationOfficerGrayfordSevereTalk = 633,
+ kModelAnimationOfficerGrayfordMockTalk = 634,
+ kModelAnimationOfficerGrayfordPointingTalk = 635,
+ kModelAnimationOfficerGrayfordQuestionTalk = 636,
+ kModelAnimationOfficerGrayfordDismissTalk = 637,
+ kModelAnimationOfficerGrayfordPlaceRadioToEar = 638,
+ kModelAnimationOfficerGrayfordTalkToAndLowerRadio = 639,
+ kModelAnimationOfficerGrayfordTakeOutRadioFromPocket = 640,
+ kModelAnimationOfficerGrayfordPutAwayRadioInPocket = 641,
// 642 - 660: Hanoi animations
- // TODO
+ kModelAnimationHanoiCombatIdle = 642,
+ kModelAnimationHanoiCombatKicksDoorIn = 643, // TODO check when this happens (animationMode 71)
+ kModelAnimationHanoiCombatFiresGun = 644,
+ kModelAnimationHanoiWalking = 645,
+ kModelAnimationHanoiGotHitOrViolentHeadNod = 646,
+ kModelAnimationHanoiShotDead = 647,
+ kModelAnimationHanoiLooksAroundIdle = 648,
+ kModelAnimationHanoiScratchesBackIdle = 649,
+ kModelAnimationHanoiCalmTalk = 650,
+ kModelAnimationHanoiExplainTalk = 651,
+ kModelAnimationHanoiDownwardsNodTalk = 652,
+ kModelAnimationHanoiDenyTalk = 653,
+ kModelAnimationHanoiSlightBowingTalk = 654,
+ kModelAnimationHanoiLaughTalk = 655, // untriggered. Restored.
+ kModelAnimationHanoiMockTalk = 656,
+ kModelAnimationHanoiGrabsMcCoy = 657, // TODO check when this happens (animationMode 23)
+ kModelAnimationHanoiHoldsMcCoyUp = 658,
+ kModelAnimationHanoiHoldsMcCoyUpAndTalks = 659,
+ kModelAnimationHanoiPunchUpAttack = 660, // untriggered
// 661 - 670: Desk Clerk (Yukon) animations
- // TODO
+ kModelAnimationDeskClerkReadPaperIdle = 661,
+ kModelAnimationDeskClerkReadPaperChangePageIdle = 662,
+ kModelAnimationDeskClerkReadPaperCalmTalk = 663,
+ kModelAnimationDeskClerkReadPaperMoreCalmTalk = 664,
+ kModelAnimationDeskClerkReadPaperMoveLeftTalk = 665,
+ kModelAnimationDeskClerkReadPaperSlightClosePaperTalk = 666,
+ kModelAnimationDeskClerkReadPaperMoreClosePaperTalk = 667,
+ kModelAnimationDeskClerkIsHeldUpByLeonIdle = 668,
+ kModelAnimationDeskClerkFallingAfterLeonLetsGo = 669,
+ kModelAnimationDeskClerkHeadSmashedOnCounter = 670,
// 671 - 681: Howie Lee animations
- // TODO
+ kModelAnimationHowieLeeGathersOfTidiesUp = 671,
+ kModelAnimationHowieLeeWalking = 672,
+ kModelAnimationHowieLeePutsIngredientsCooking = 673,
+ kModelAnimationHowieLeeLongGestureGive = 674,
+ kModelAnimationHowieLeeQuickGestureGive = 675, // UNUSED
+ kModelAnimationHowieLeeCalmTalk = 676,
+ kModelAnimationHowieLeeExplainTalk = 677,
+ kModelAnimationHowieLeeUpsetTalk = 678,
+ kModelAnimationHowieLeeAngryTalk = 679,
+ kModelAnimationHowieLeeNoTimeTalk = 680,
+ kModelAnimationHowieLeeElaborateMovementTalk = 681, // Sushi throwing?
// 682 - 687: Fish Dealer animations
- // TODO
+ kModelAnimationFishDealerWalking = 682,
+ kModelAnimationFishDealerIdle = 683,
+ kModelAnimationFishDealerGestureGive = 684, // TODO check when this happens (animationMode 23)
+ kModelAnimationFishDealerCalmTalk = 685,
+ kModelAnimationFishDealerExplainTalk = 686,
+ kModelAnimationFishDealerNoTroubleTalk = 687,
// 688 - 697: Dino Klein animations
kModelAnimationKleinWalking = 688,
kModelAnimationKleinStandingIdle = 689,
@@ -2173,7 +2391,19 @@ enum GameModelAnimations {
kModelAnimationBearToyGotHit = 807, // UNUSED
kModelAnimationBearToyShotDead = 808, // untriggered
// 809 - 821: Sebastian animations
- // TODO
+ kModelAnimationSebastianWalking = 809, // TODO check if Sebastian ever walks (probably not)
+ kModelAnimationSebastianStepsBack = 810, // TODO check when this happens (animationMode 20)
+ kModelAnimationSebastianIdle = 811,
+ kModelAnimationSebastianAwkwardPlayWithHands = 812, // UNUSED
+ kModelAnimationSebastianCalmHeadNodLeftTalk = 813,
+ kModelAnimationSebastianCalmHeadNodRightTalk = 814,
+ kModelAnimationSebastianSuggestTalk = 815,
+ kModelAnimationSebastianWonderingTalk = 816,
+ kModelAnimationSebastianPointingToSelfTalk = 817,
+ kModelAnimationSebastianScratchEarTalk = 818,
+ kModelAnimationSebastianAnnoyedTalk = 819,
+ kModelAnimationSebastianWaitTalk = 820, // last frame 13 is bugged (empty)
+ kModelAnimationSebastianTriesToRunHitsHeadAndFalls = 821, // untriggered -- related to animationMode 48 "kAnimationModeDie"
// 822 - 832: Rachael animations
kModelAnimationRachaelWalking = 822,
kModelAnimationRachaelIdle = 823,
@@ -2193,9 +2423,26 @@ enum GameModelAnimations {
kModelGeneralDollShotDead = 836, // untriggered
kModelGeneralDollGotHit = 837, // untriggered
// 838 - 845: Mama Isabella animations
- // TODO
+ kModelIsabellaIdle = 838,
+ kModelIsabellaPutsSpicesInSoup = 839,
+ kModelIsabellaGestureGiveOrTake = 840, // untriggered
+ kModelIsabellaCalmTalk = 841,
+ kModelIsabellaSuggestTalk = 842,
+ kModelIsabellaProtestTalk = 843,
+ kModelIsabellaMoreCalmTalk = 844,
+ kModelIsabellaLaughTalk = 845,
// 846 - 856: Leon animations
- // TODO
+ kModelLeonWalking = 846,
+ kModelLeonIdle = 847,
+ kModelLeonGrabHoldHigh = 848,
+ kModelLeonGrabLetsGo = 849,
+ kModelLeonCalmTalk = 850,
+ kModelLeonComplainTalk = 851,
+ kModelLeonAwkwardTalk = 852,
+ kModelLeonDenyTalk = 853,
+ kModelLeonGrabTalk = 854,
+ kModelLeonGrabAndGutPunchTalk = 855,
+ kModelLeonPunchAttack = 856,
// 857 - 862: Rat (Free Slot A/B) animations
kModelAnimationRatJumpAttack = 857,
kModelAnimationRatRunning = 858,
@@ -2270,7 +2517,7 @@ enum GameModelAnimations {
// 920 - 930: Hasan animations
kModelAnimationHasanTalkWipeFaceLeftHand01 = 920, // UNUSED
kModelAnimationHasanIdleSlightMovement = 921,
- kModelAnimationHasanTalkSuggest = 922,
+ kModelAnimationHasanGestureSuggest = 922,
kModelAnimationHasanTakingABiteSnakeMove = 923,
kModelAnimationHasanTalkPointingRightHand = 924, // UNUSED
kModelAnimationHasanTalkMovingBothHands = 925,
diff --git a/engines/bladerunner/script/ai/clovis.cpp b/engines/bladerunner/script/ai/clovis.cpp
index 8104c9dc8f..badb47b55b 100644
--- a/engines/bladerunner/script/ai/clovis.cpp
+++ b/engines/bladerunner/script/ai/clovis.cpp
@@ -25,8 +25,9 @@
namespace BladeRunner {
AIScriptClovis::AIScriptClovis(BladeRunnerEngine *vm) : AIScriptBase(vm) {
- _var1 = 0;
- _var2 = 0;
+ // _varChooseIdleAnimation can have valid values: 0, 1
+ _varChooseIdleAnimation = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
_var3 = 1;
_var4 = 0;
_var5 = 0;
@@ -39,8 +40,8 @@ void AIScriptClovis::Initialize() {
_animationStateNext = 0;
_animationNext = 0;
- _var1 = 0;
- _var2 = 0;
+ _varChooseIdleAnimation = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
_var3 = 1;
_var4 = 0;
_var5 = 0;
@@ -587,21 +588,21 @@ bool AIScriptClovis::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- if (_var1 == 1) {
+ if (_varChooseIdleAnimation == 1) {
*animation = kModelAnimationClovisIdle;
- if (_var2) {
- --_var2;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
} else if (++_animationFrame == 7) {
- _var2 = Random_Query(5, 15);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(5, 15);
} else {
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationClovisIdle)) {
_animationFrame = 0;
- _var1 = 0;
+ _varChooseIdleAnimation = 0;
}
}
- } else if (_var1 == 0) {
+ } else if (_varChooseIdleAnimation == 0) {
*animation = kModelAnimationClovisLookingUpAndAbout;
- if (_var2) {
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
_animationFrame += _var3;
if (_animationFrame > _var5) {
_animationFrame = _var5;
@@ -612,21 +613,21 @@ bool AIScriptClovis::UpdateAnimation(int *animation, int *frame) {
_var3 = 1;
}
}
- --_var2;
+ --_varNumOfTimesToHoldCurrentFrame;
} else {
_animationFrame += _var3;
if (_animationFrame == 13 && Random_Query(0, 1)) {
_var3 = -1;
_var4 = 9;
_var5 = 13;
- _var2 = Random_Query(4, 15);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(4, 15);
} else {
if (_animationFrame == 6) {
if (Random_Query(0, 1)) {
_var3 = -1;
_var4 = 3;
_var5 = 6;
- _var2 = Random_Query(4, 15);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(4, 15);
}
}
}
@@ -639,13 +640,13 @@ bool AIScriptClovis::UpdateAnimation(int *animation, int *frame) {
}
if (_animationFrame == 0) {
if (Random_Query(0, 1) > 0) {
- _var1 = 1;
+ _varChooseIdleAnimation = 1;
} else {
if (Random_Query(0, 2) > 0) {
_var3 = 1;
_var4 = 0;
_var5 = 0;
- _var2 = Random_Query(5, 15);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(5, 15);
}
}
}
@@ -654,10 +655,10 @@ bool AIScriptClovis::UpdateAnimation(int *animation, int *frame) {
break;
case 1:
- if (_var1 == 0) {
+ if (_varChooseIdleAnimation == 0) {
*animation = kModelAnimationClovisLookingUpAndAbout;
}
- if (_var1 == 1) {
+ if (_varChooseIdleAnimation == 1) {
*animation = kModelAnimationClovisIdle;
}
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
@@ -1315,7 +1316,7 @@ bool AIScriptClovis::ChangeAnimationMode(int mode) {
default:
_animationState = 0;
_animationFrame = 0;
- _var1 = 0;
+ _varChooseIdleAnimation = 0;
break;
}
break;
@@ -1637,7 +1638,7 @@ void AIScriptClovis::someAnim() {
default:
_animationState = 0;
_animationFrame = 0;
- _var1 = 0;
+ _varChooseIdleAnimation = 0;
break;
}
}
diff --git a/engines/bladerunner/script/ai/desk_clerk.cpp b/engines/bladerunner/script/ai/desk_clerk.cpp
index ed82e370a4..307b947cd6 100644
--- a/engines/bladerunner/script/ai/desk_clerk.cpp
+++ b/engines/bladerunner/script/ai/desk_clerk.cpp
@@ -25,9 +25,10 @@
namespace BladeRunner {
AIScriptDeskClerk::AIScriptDeskClerk(BladeRunnerEngine *vm) : AIScriptBase(vm) {
- _flag1 = false;
+ // _varChooseIdleAnimation can have valid values: 0, 1
+ _varChooseIdleAnimation = 0;
_resumeIdleAfterFramesetCompletesFlag = false;
- _var3 = 75;
+ _varNumOfTimesToHoldCurrentFrame = 75;
}
void AIScriptDeskClerk::Initialize() {
@@ -36,9 +37,9 @@ void AIScriptDeskClerk::Initialize() {
_animationStateNext = 0;
_animationNext = 0;
- _flag1 = false;
+ _varChooseIdleAnimation = 0;
_resumeIdleAfterFramesetCompletesFlag = false;
- _var3 = 75;
+ _varNumOfTimesToHoldCurrentFrame = 75;
Actor_Set_Goal_Number(kActorDeskClerk, kGoalDeskClerkDefault);
}
@@ -144,9 +145,10 @@ bool AIScriptDeskClerk::UpdateAnimation(int *animation, int *frame) {
#if BLADERUNNER_ORIGINAL_BUGS
#else
- // Fixing a bug for when the Clerk gets stuck in animation id 668, after Act 3:
+ // Fixing a bug for when the Clerk gets stuck in animation id kModelAnimationDeskClerkIsHeldUpByLeonIdle (668), after Act 3:
// - when using HDFRAMES, the clerk will briefly be in the choking animation when McCoy re-enters
- // - when using CDFRAMES, the game would crash with a message "Unable to locate page 2214 for animation 668 frame 4!"
+ // - when using CDFRAMES, the game would crash with a message:
+ // "Unable to locate page 2214 for animation 668 frame 4!"
// This occurs when:
// The player walks out too fast from the scene where Leon is choking the clerk in Act 3.
// Hence, Leon's AI script's OtherAgentExitedThisSet() is triggered, Leon is gone,
@@ -162,7 +164,7 @@ bool AIScriptDeskClerk::UpdateAnimation(int *animation, int *frame) {
&& _animationState >= 6
) {
Actor_Change_Animation_Mode(kActorDeskClerk, kAnimationModeIdle);
- *animation = 661;
+ *animation = kModelAnimationDeskClerkReadPaperIdle;
_animationFrame = 0;
_animationState = 0;
}
@@ -170,40 +172,40 @@ bool AIScriptDeskClerk::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- if (_flag1) {
- *animation = 662;
+ if (_varChooseIdleAnimation > 0) {
+ *animation = kModelAnimationDeskClerkReadPaperChangePageIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(662)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationDeskClerkReadPaperChangePageIdle)) {
_animationFrame = 0;
- _flag1 = false;
- *animation = 661;
- _var3 = Random_Query(50, 100);
+ _varChooseIdleAnimation = 0;
+ *animation = kModelAnimationDeskClerkReadPaperIdle;
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(50, 100);
}
} else {
- if (_var3 != 0) {
- --_var3;
+ if (_varNumOfTimesToHoldCurrentFrame != 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
}
- *animation = 661;
+ *animation = kModelAnimationDeskClerkReadPaperIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(661)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationDeskClerkReadPaperIdle)) {
_animationFrame = 0;
- if (_var3 == 0) {
- *animation = 662;
- _flag1 = true;
+ if (_varNumOfTimesToHoldCurrentFrame == 0) {
+ *animation = kModelAnimationDeskClerkReadPaperChangePageIdle;
+ _varChooseIdleAnimation = 1;
}
}
}
break;
case 1:
- *animation = 663;
+ *animation = kModelAnimationDeskClerkReadPaperCalmTalk;
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
- *animation = 661;
+ *animation = kModelAnimationDeskClerkReadPaperIdle;
_animationState = 0;
- _flag1 = false;
+ _varChooseIdleAnimation = 0;
} else {
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
@@ -213,59 +215,59 @@ bool AIScriptDeskClerk::UpdateAnimation(int *animation, int *frame) {
break;
case 2:
- *animation = 664;
+ *animation = kModelAnimationDeskClerkReadPaperMoreCalmTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(664)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationDeskClerkReadPaperMoreCalmTalk)) {
_animationFrame = 0;
_animationState = 1;
- *animation = 663;
+ *animation = kModelAnimationDeskClerkReadPaperCalmTalk;
}
break;
case 3:
- *animation = 665;
+ *animation = kModelAnimationDeskClerkReadPaperMoveLeftTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(665)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationDeskClerkReadPaperMoveLeftTalk)) {
_animationFrame = 0;
_animationState = 1;
- *animation = 663;
+ *animation = kModelAnimationDeskClerkReadPaperCalmTalk;
}
break;
case 4:
- *animation = 666;
+ *animation = kModelAnimationDeskClerkReadPaperSlightClosePaperTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(666)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationDeskClerkReadPaperSlightClosePaperTalk)) {
_animationFrame = 0;
_animationState = 1;
- *animation = 663;
+ *animation = kModelAnimationDeskClerkReadPaperCalmTalk;
}
break;
case 5:
- *animation = 667;
+ *animation = kModelAnimationDeskClerkReadPaperMoreClosePaperTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(667)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationDeskClerkReadPaperMoreClosePaperTalk)) {
_animationFrame = 0;
_animationState = 1;
- *animation = 663;
+ *animation = kModelAnimationDeskClerkReadPaperCalmTalk;
}
break;
case 6:
- *animation = 668;
+ *animation = kModelAnimationDeskClerkIsHeldUpByLeonIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(668)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationDeskClerkIsHeldUpByLeonIdle)) {
_animationFrame = 0;
}
break;
case 7:
- *animation = 669;
+ *animation = kModelAnimationDeskClerkFallingAfterLeonLetsGo;
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
Actor_Change_Animation_Mode(kActorDeskClerk, 72);
- *animation = 668;
+ *animation = kModelAnimationDeskClerkIsHeldUpByLeonIdle;
_animationState = 6;
} else {
++_animationFrame;
@@ -276,13 +278,13 @@ bool AIScriptDeskClerk::UpdateAnimation(int *animation, int *frame) {
break;
case 8:
- *animation = 670;
+ *animation = kModelAnimationDeskClerkHeadSmashedOnCounter;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(670) - 2) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationDeskClerkHeadSmashedOnCounter) - 2) {
Ambient_Sounds_Play_Sound(kSfxZUBLAND1, 40, 30, 30, 99);
Actor_Set_Goal_Number(kActorDeskClerk, kGoalDeskClerkKnockedOut);
Actor_Change_Animation_Mode(kActorDeskClerk, kAnimationModeIdle);
- *animation = 661;
+ *animation = kModelAnimationDeskClerkReadPaperIdle;
_animationFrame = 0;
_animationState = 0;
}
@@ -321,8 +323,8 @@ bool AIScriptDeskClerk::ChangeAnimationMode(int mode) {
default:
_animationState = 0;
_animationFrame = 0;
- _flag1 = false;
- _var3 = Random_Query(70, 140);
+ _varChooseIdleAnimation = 0;
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(70, 140);
break;
}
break;
diff --git a/engines/bladerunner/script/ai/early_q.cpp b/engines/bladerunner/script/ai/early_q.cpp
index 744e169568..14eaaee8a2 100644
--- a/engines/bladerunner/script/ai/early_q.cpp
+++ b/engines/bladerunner/script/ai/early_q.cpp
@@ -25,8 +25,9 @@
namespace BladeRunner {
AIScriptEarlyQ::AIScriptEarlyQ(BladeRunnerEngine *vm) : AIScriptBase(vm) {
- _var1 = 0;
- _var2 = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
+ // _varChooseIdleAnimation can have valid values: 0, 1
+ _varChooseIdleAnimation = 0;
_var3 = 1;
_resumeIdleAfterFramesetCompletesFlag = false;
}
@@ -37,8 +38,8 @@ void AIScriptEarlyQ::Initialize() {
_animationStateNext = 0;
_animationNext = 0;
- _var1 = 0;
- _var2 = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
+ _varChooseIdleAnimation = 0;
_var3 = 1;
_resumeIdleAfterFramesetCompletesFlag = false;
}
@@ -490,46 +491,46 @@ bool AIScriptEarlyQ::GoalChanged(int currentGoalNumber, int newGoalNumber) {
bool AIScriptEarlyQ::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- if (_var2 == 1) {
- *animation = 370;
- if (_var1) {
- --_var1;
+ if (_varChooseIdleAnimation == 1) {
+ *animation = kModelAnimationEarlyQHandOnFace;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
} else {
if (++_animationFrame == 6) {
- _var1 = Random_Query(8, 15);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(8, 15);
}
if (_animationFrame < 6) {
- _var1 = 1;
+ _varNumOfTimesToHoldCurrentFrame = 1;
}
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(370)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQHandOnFace)) {
_animationFrame = 0;
- _var2 = 0;
+ _varChooseIdleAnimation = 0;
}
}
- } else if (_var2 == 0) {
- *animation = 369;
- if (_var1) {
- --_var1;
+ } else if (_varChooseIdleAnimation == 0) {
+ *animation = kModelAnimationEarlyQIdle;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
if (!Random_Query(0, 6)) {
_var3 = -_var3;
}
} else {
_animationFrame += _var3;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(369)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQIdle)) {
_animationFrame = 0;
}
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(369) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQIdle) - 1;
}
- _var1 = Random_Query(0, 1);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(0, 1);
if (_animationFrame == 0) {
if (!Random_Query(0, 3)) {
- _var2 = 1;
+ _varChooseIdleAnimation = 1;
}
}
if (_animationFrame == 0 || _animationFrame == 5) {
if (Random_Query(0, 1)) {
- _var1 = Random_Query(2, 8);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(2, 8);
}
}
}
@@ -537,7 +538,7 @@ bool AIScriptEarlyQ::UpdateAnimation(int *animation, int *frame) {
break;
case 1:
- *animation = 381;
+ *animation = kModelAnimationEarlyQSPicksUpBottleAndPoursDrink;
++_animationFrame;
if (_animationFrame == 18) {
Ambient_Sounds_Play_Sound(kSfxBARSFX4, 99, 0, 0, 20);
@@ -546,23 +547,23 @@ bool AIScriptEarlyQ::UpdateAnimation(int *animation, int *frame) {
Actor_Change_Animation_Mode(kActorEarlyQ, 74);
_animationFrame = 0;
_animationState = 2;
- *animation = 382;
+ *animation = kModelAnimationEarlyQSHoldsDrinkIdle;
}
break;
case 2:
- *animation = 382;
+ *animation = kModelAnimationEarlyQSHoldsDrinkIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(382)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQSHoldsDrinkIdle)) {
_animationFrame = 0;
}
break;
case 3:
- *animation = 371;
+ *animation = kModelAnimationEarlyQGivesSomething;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(371)) {
- *animation = 369;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQGivesSomething)) {
+ *animation = kModelAnimationEarlyQIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorEarlyQ, kAnimationModeIdle);
@@ -570,75 +571,75 @@ bool AIScriptEarlyQ::UpdateAnimation(int *animation, int *frame) {
break;
case 4:
- *animation = 368;
- if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(368) - 1) {
+ *animation = kModelAnimationEarlyQDropsDead;
+ if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQDropsDead) - 1) {
++_animationFrame;
}
break;
case 5:
- *animation = 365;
+ *animation = kModelAnimationEarlyQWalking;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(365)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQWalking)) {
_animationFrame = 0;
}
break;
case 6:
- *animation = 361;
+ *animation = kModelAnimationEarlyQCombatWalking;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(361)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQCombatWalking)) {
_animationFrame = 0;
}
break;
case 7:
- *animation = 383;
+ *animation = kModelAnimationEarlyQSitsAndCrossesLegs;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(383)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQSitsAndCrossesLegs)) {
_animationFrame = 0;
_animationState = 9;
- *animation = 384;
+ *animation = kModelAnimationEarlyQSitIdle;
}
break;
case 8:
- *animation = 387;
+ *animation = kModelAnimationEarlyQSitToStandingUp;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(387)) {
- *animation = 369;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQSitToStandingUp)) {
+ *animation = kModelAnimationEarlyQIdle;
_animationFrame = 0;
_animationState = 0;
}
break;
case 9:
- *animation = 384;
+ *animation = kModelAnimationEarlyQSitIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(384)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQSitIdle)) {
_animationFrame = 0;
}
break;
case 10:
- *animation = 385;
+ *animation = kModelAnimationEarlyQSitTalk;
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
_resumeIdleAfterFramesetCompletesFlag = false;
_animationState = 9;
- _var2 = 0;
- *animation = 384;
+ _varChooseIdleAnimation = 0;
+ *animation = kModelAnimationEarlyQSitIdle;
Actor_Change_Animation_Mode(kActorEarlyQ, 53);
} else {
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(385)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQSitTalk)) {
_animationFrame = 0;
}
}
break;
case 11:
- *animation = 386;
- if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(386) - 1) {
+ *animation = kModelAnimationEarlyQSitScorpionAgonyDeath;
+ if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQSitScorpionAgonyDeath) - 1) {
++_animationFrame;
}
if (_animationFrame == 1) {
@@ -656,52 +657,52 @@ bool AIScriptEarlyQ::UpdateAnimation(int *animation, int *frame) {
break;
case 12:
- *animation = 360;
+ *animation = kModelAnimationEarlyQCombatIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(360)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQCombatIdle)) {
_animationFrame = 0;
}
break;
case 13:
- *animation = 362;
+ *animation = kModelAnimationEarlyQCombatUnholsterGun;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(362)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQCombatUnholsterGun)) {
_animationFrame = 0;
_animationState = 12;
- *animation = 360;
+ *animation = kModelAnimationEarlyQCombatIdle;
}
break;
case 14:
- *animation = 363;
+ *animation = kModelAnimationEarlyQCombatHolsterGun;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(363)) {
- *animation = 369;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQCombatHolsterGun)) {
+ *animation = kModelAnimationEarlyQIdle;
_animationFrame = 0;
_animationState = 0;
}
break;
case 15:
- *animation = 364;
+ *animation = kModelAnimationEarlyQCombatFiresGun;
++_animationFrame;
if (_animationFrame == 2) {
Ambient_Sounds_Play_Sound(kSfxLGCAL1, 60, 0, 0, 20);
}
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(364)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQCombatFiresGun)) {
_animationFrame = 0;
_animationState = 12;
- *animation = 360;
+ *animation = kModelAnimationEarlyQCombatIdle;
Actor_Change_Animation_Mode(kActorEarlyQ, kAnimationModeCombatIdle); // TODO: kAnimationModeCombatIdle?
}
break;
case 16:
- *animation = 366;
+ *animation = kModelAnimationEarlyQGotHitRight;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(366)) {
- *animation = 369;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQGotHitRight)) {
+ *animation = kModelAnimationEarlyQIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorEarlyQ, kAnimationModeIdle);
@@ -709,10 +710,10 @@ bool AIScriptEarlyQ::UpdateAnimation(int *animation, int *frame) {
break;
case 17:
- *animation = 367;
+ *animation = kModelAnimationEarlyQGotHitLeft;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(367)) {
- *animation = 369;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQGotHitLeft)) {
+ *animation = kModelAnimationEarlyQIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorEarlyQ, kAnimationModeIdle);
@@ -720,10 +721,10 @@ bool AIScriptEarlyQ::UpdateAnimation(int *animation, int *frame) {
break;
case 18:
- *animation = 366;
+ *animation = kModelAnimationEarlyQGotHitRight;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(366)) {
- *animation = 369;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQGotHitRight)) {
+ *animation = kModelAnimationEarlyQIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorEarlyQ, kAnimationModeIdle);
@@ -731,10 +732,10 @@ bool AIScriptEarlyQ::UpdateAnimation(int *animation, int *frame) {
break;
case 19:
- *animation = 367;
+ *animation = kModelAnimationEarlyQGotHitLeft;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(367)) {
- *animation = 369;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQGotHitLeft)) {
+ *animation = kModelAnimationEarlyQIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorEarlyQ, kAnimationModeIdle);
@@ -742,97 +743,97 @@ bool AIScriptEarlyQ::UpdateAnimation(int *animation, int *frame) {
break;
case 20:
- *animation = 372;
+ *animation = kModelAnimationEarlyQCalmTalk;
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
- *animation = 369;
+ *animation = kModelAnimationEarlyQIdle;
_animationFrame = 0;
_resumeIdleAfterFramesetCompletesFlag = false;
_animationState = 0;
} else {
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(372)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQCalmTalk)) {
_animationFrame = 0;
}
}
break;
case 21:
- *animation = 373;
+ *animation = kModelAnimationEarlyQCalmExplainTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(373)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQCalmExplainTalk)) {
_animationFrame = 0;
_animationState = 20;
- *animation = 372;
+ *animation = kModelAnimationEarlyQCalmTalk;
}
break;
case 22:
- *animation = 374;
+ *animation = kModelAnimationEarlyQVulgarTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(374)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQVulgarTalk)) {
_animationFrame = 0;
_animationState = 20;
- *animation = 372;
+ *animation = kModelAnimationEarlyQCalmTalk;
}
break;
case 23:
- *animation = 375;
+ *animation = kModelAnimationEarlyQDismissTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(375)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQDismissTalk)) {
_animationFrame = 0;
_animationState = 20;
- *animation = 372;
+ *animation = kModelAnimationEarlyQCalmTalk;
}
break;
case 24:
- *animation = 376;
+ *animation = kModelAnimationEarlyQMoreDismissTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(376)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQMoreDismissTalk)) {
_animationFrame = 0;
_animationState = 20;
- *animation = 372;
+ *animation = kModelAnimationEarlyQCalmTalk;
}
break;
case 25:
- *animation = 377;
+ *animation = kModelAnimationEarlyQIntenseExplainTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(377)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQIntenseExplainTalk)) {
_animationFrame = 0;
_animationState = 20;
- *animation = 372;
+ *animation = kModelAnimationEarlyQCalmTalk;
}
break;
case 26:
- *animation = 378;
+ *animation = kModelAnimationEarlyQSubtleExplainTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(378)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQSubtleExplainTalk)) {
_animationFrame = 0;
_animationState = 20;
- *animation = 372;
+ *animation = kModelAnimationEarlyQCalmTalk;
}
break;
case 27:
- *animation = 379;
+ *animation = kModelAnimationEarlyQExcitedTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(379)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQExcitedTalk)) {
_animationFrame = 0;
_animationState = 20;
- *animation = 372;
+ *animation = kModelAnimationEarlyQCalmTalk;
}
break;
case 28:
- *animation = 380;
+ *animation = kModelAnimationEarlyQAnnounceTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(380)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQAnnounceTalk)) {
_animationFrame = 0;
_animationState = 20;
- *animation = 372;
+ *animation = kModelAnimationEarlyQCalmTalk;
}
break;
diff --git a/engines/bladerunner/script/ai/fish_dealer.cpp b/engines/bladerunner/script/ai/fish_dealer.cpp
index f811be6c31..0985705ad0 100644
--- a/engines/bladerunner/script/ai/fish_dealer.cpp
+++ b/engines/bladerunner/script/ai/fish_dealer.cpp
@@ -193,64 +193,64 @@ bool AIScriptFishDealer::GoalChanged(int currentGoalNumber, int newGoalNumber) {
bool AIScriptFishDealer::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- *animation = 683;
+ *animation = kModelAnimationFishDealerIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(683))
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationFishDealerIdle))
_animationFrame = 0;
break;
case 1:
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
- *animation = 683;
+ *animation = kModelAnimationFishDealerIdle;
_animationState = 0;
_resumeIdleAfterFramesetCompletesFlag = false;
} else {
- *animation = 685;
+ *animation = kModelAnimationFishDealerCalmTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(685))
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationFishDealerCalmTalk))
_animationFrame = 0;
}
break;
case 2:
- *animation = 686;
+ *animation = kModelAnimationFishDealerExplainTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(686)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationFishDealerExplainTalk)) {
_animationFrame = 0;
_animationState = 2;
}
break;
case 3:
- *animation = 687;
+ *animation = kModelAnimationFishDealerNoTroubleTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(687)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationFishDealerNoTroubleTalk)) {
_animationFrame = 0;
_animationState = 3;
}
break;
case 4:
- *animation = 684;
+ *animation = kModelAnimationFishDealerGestureGive;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(684)) {
- *animation = 683;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationFishDealerGestureGive)) {
+ *animation = kModelAnimationFishDealerIdle;
_animationFrame = 0;
_animationState = 0;
}
break;
case 5:
- *animation = 682;
+ *animation = kModelAnimationFishDealerWalking;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(682))
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationFishDealerWalking))
_animationFrame = 0;
break;
diff --git a/engines/bladerunner/script/ai/gaff.cpp b/engines/bladerunner/script/ai/gaff.cpp
index 676a1daec8..d5b2214e65 100644
--- a/engines/bladerunner/script/ai/gaff.cpp
+++ b/engines/bladerunner/script/ai/gaff.cpp
@@ -419,7 +419,8 @@ bool AIScriptGaff::UpdateAnimation(int *animation, int *frame) {
break;
default:
- *animation = 399;
+ // Dummy placeholder, kModelAnimationZubenWalking (399) is a Zuben animation
+ *animation = kModelAnimationZubenWalking;
break;
}
*frame = _animationFrame;
diff --git a/engines/bladerunner/script/ai/grigorian.cpp b/engines/bladerunner/script/ai/grigorian.cpp
index 81fbddc661..baac5c0597 100644
--- a/engines/bladerunner/script/ai/grigorian.cpp
+++ b/engines/bladerunner/script/ai/grigorian.cpp
@@ -25,13 +25,14 @@
namespace BladeRunner {
AIScriptGrigorian::AIScriptGrigorian(BladeRunnerEngine *vm) : AIScriptBase(vm) {
- var_45CA10 = 0;
- var_45CA14 = 0;
+ // _varChooseIdleAnimation can have valid values: 0, 1, 2
+ _varChooseIdleAnimation = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
}
void AIScriptGrigorian::Initialize() {
- var_45CA10 = 0;
- var_45CA14 = 0;
+ _varChooseIdleAnimation = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
_animationStateNext = 0;
_animationFrame = 0;
_animationState = 0;
@@ -102,42 +103,42 @@ bool AIScriptGrigorian::GoalChanged(int currentGoalNumber, int newGoalNumber) {
bool AIScriptGrigorian::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- if (var_45CA10 == 0) {
+ if (_varChooseIdleAnimation == 0) {
*animation = kModelAnimationGrigorianStandIdle;
- if (var_45CA14 > 0) {
- --var_45CA14;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
} else {
++_animationFrame;
if (_animationFrame == 5 || _animationFrame == 13) {
- var_45CA14 = Random_Query(2, 4);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(2, 4);
}
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationGrigorianStandIdle)) {
_animationFrame = 0;
- var_45CA10 = Random_Query(0, 2);
+ _varChooseIdleAnimation = Random_Query(0, 2);
}
}
- } else if (var_45CA10 == 1) {
+ } else if (_varChooseIdleAnimation == 1) {
*animation = kModelAnimationGrigorianStandAnnoyedTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationGrigorianStandAnnoyedTalk)) {
*animation = kModelAnimationGrigorianStandIdle;
_animationFrame = 0;
- var_45CA10 = 0;
+ _varChooseIdleAnimation = 0;
}
- } else if (var_45CA10 == 2) {
+ } else if (_varChooseIdleAnimation == 2) {
*animation = kModelAnimationGrigorianStandArmsCrossedTalk;
- if (var_45CA14 > 0) {
- --var_45CA14;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
} else {
++_animationFrame;
if (_animationFrame >= 8 && _animationFrame <= 10) {
- var_45CA14 = Random_Query(2, 4);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(2, 4);
}
#if BLADERUNNER_ORIGINAL_BUGS
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationGrigorianStandIdle)) {
*animation = kModelAnimationGrigorianStandIdle;
_animationFrame = 0;
- var_45CA10 = 0;
+ _varChooseIdleAnimation = 0;
}
#else
// bugfix set proper current animation here to get frameset number of frames
@@ -145,7 +146,7 @@ bool AIScriptGrigorian::UpdateAnimation(int *animation, int *frame) {
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationGrigorianStandArmsCrossedTalk)) {
*animation = kModelAnimationGrigorianStandIdle;
_animationFrame = 0;
- var_45CA10 = 0;
+ _varChooseIdleAnimation = 0;
}
#endif // BLADERUNNER_ORIGINAL_BUGS
}
@@ -219,7 +220,8 @@ bool AIScriptGrigorian::UpdateAnimation(int *animation, int *frame) {
break;
default:
- *animation = 399;
+ // Dummy placeholder, kModelAnimationZubenWalking (399) is a Zuben animation
+ *animation = kModelAnimationZubenWalking;
break;
}
*frame = _animationFrame;
diff --git a/engines/bladerunner/script/ai/hanoi.cpp b/engines/bladerunner/script/ai/hanoi.cpp
index da20b3c86a..94f53328c3 100644
--- a/engines/bladerunner/script/ai/hanoi.cpp
+++ b/engines/bladerunner/script/ai/hanoi.cpp
@@ -26,8 +26,9 @@ namespace BladeRunner {
AIScriptHanoi::AIScriptHanoi(BladeRunnerEngine *vm) : AIScriptBase(vm) {
_resumeIdleAfterFramesetCompletesFlag = false;
- _flag1 = 0;
- _var3 = 0;
+ // _varChooseIdleAnimation can have valid values: 0, 1
+ _varChooseIdleAnimation = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
_var4 = 1;
}
@@ -38,8 +39,8 @@ void AIScriptHanoi::Initialize() {
_animationNext = 0;
_resumeIdleAfterFramesetCompletesFlag = false;
- _flag1 = 0;
- _var3 = 0;
+ _varChooseIdleAnimation = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
_var4 = 1;
Actor_Set_Goal_Number(kActorHanoi, 0);
@@ -356,20 +357,20 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- if (_flag1) {
- *animation = 649;
+ if (_varChooseIdleAnimation > 0) {
+ *animation = kModelAnimationHanoiScratchesBackIdle;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
- *animation = 648;
+ *animation = kModelAnimationHanoiLooksAroundIdle;
_animationFrame = 0;
- _flag1 = false;
+ _varChooseIdleAnimation = 0;
}
break;
}
- *animation = 648;
- if (_var3 != 0) {
- --_var3;
+ *animation = kModelAnimationHanoiLooksAroundIdle;
+ if (_varNumOfTimesToHoldCurrentFrame != 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
if (!Random_Query(0, 6)) {
_var4 = -_var4;
}
@@ -388,26 +389,26 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
|| _animationFrame == 11
|| _animationFrame == 0
) {
- _var3 = Random_Query(5, 12);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(5, 12);
}
if (_animationFrame >= 10
&& _animationFrame <= 13
) {
- _var3 = Random_Query(0, 1);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(0, 1);
}
if (_animationFrame == 0) {
if (!Random_Query(0, 4)) {
- _flag1 = true;
+ _varChooseIdleAnimation = 1;
}
}
}
break;
case 1:
- if (_flag1) {
- *animation = 649;
+ if (_varChooseIdleAnimation > 0) {
+ *animation = kModelAnimationHanoiScratchesBackIdle;
if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(*animation) / 2) {
_animationFrame += 2;
} else {
@@ -429,17 +430,17 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
break;
case 2:
- *animation = 657;
+ *animation = kModelAnimationHanoiGrabsMcCoy;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 3;
- *animation = 658;
+ *animation = kModelAnimationHanoiHoldsMcCoyUp;
}
break;
case 3:
- *animation = 658;
+ *animation = kModelAnimationHanoiHoldsMcCoyUp;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
@@ -447,22 +448,22 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
break;
case 4:
- *animation = 659;
+ *animation = kModelAnimationHanoiHoldsMcCoyUpAndTalks;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 3;
- *animation = 658;
+ *animation = kModelAnimationHanoiHoldsMcCoyUp;
}
break;
case 5:
- *animation = 657;
+ *animation = kModelAnimationHanoiGrabsMcCoy;
--_animationFrame;
if (_animationFrame == 0) {
_animationState = 0;
_animationFrame = 0;
- *animation = 648;
+ *animation = kModelAnimationHanoiLooksAroundIdle;
Actor_Face_Actor(kActorMcCoy, kActorHanoi, true);
Actor_Set_Invisible(kActorMcCoy, false);
@@ -477,20 +478,20 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
break;
case 6:
- *animation = 345; // Sadik is used in this animation, but he is well hidden
+ *animation = kModelAnimationSadikPicksUpAndThrowsMcCoy; // Sadik is used in this animation, but he is well hidden
++_animationFrame;
if (_animationFrame > 26) {
Actor_Change_Animation_Mode(kActorHanoi, kAnimationModeIdle);
_animationState = 0;
_animationFrame = 0;
- *animation = 648;
+ *animation = kModelAnimationHanoiLooksAroundIdle;
Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR01ThrownOut);
Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03GoToDefaultPosition);
}
break;
case 7:
- *animation = 645;
+ *animation = kModelAnimationHanoiWalking;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
@@ -498,7 +499,7 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
break;
case 8:
- *animation = 642;
+ *animation = kModelAnimationHanoiCombatIdle;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
@@ -506,19 +507,19 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
break;
case 9:
- *animation = 643;
+ *animation = kModelAnimationHanoiCombatKicksDoorIn;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
Actor_Change_Animation_Mode(kActorHanoi, kAnimationModeCombatIdle);
_animationState = 8;
_animationFrame = 0;
- *animation = 642;
+ *animation = kModelAnimationHanoiCombatIdle;
Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR04ShootMcCoy);
}
break;
case 10:
- *animation = 644;
+ *animation = kModelAnimationHanoiCombatFiresGun;
++_animationFrame;
if (_animationFrame == 4) {
@@ -538,39 +539,39 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
Actor_Change_Animation_Mode(kActorHanoi, kAnimationModeCombatIdle);
_animationFrame = 0;
_animationState = 8;
- *animation = 642;
+ *animation = kModelAnimationHanoiCombatIdle;
}
break;
case 11:
- *animation = 660;
+ *animation = kModelAnimationHanoiPunchUpAttack;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
- *animation = 648;
+ *animation = kModelAnimationHanoiLooksAroundIdle;
_animationFrame = 0;
_animationState = 0;
}
break;
case 12:
- *animation = 646;
+ *animation = kModelAnimationHanoiGotHitOrViolentHeadNod;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
- *animation = 642;
+ *animation = kModelAnimationHanoiCombatIdle;
_animationFrame = 0;
_animationState = 0;
}
break;
case 13:
- *animation = 647;
+ *animation = kModelAnimationHanoiShotDead;
if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(*animation) - 1) {
++_animationFrame;
}
break;
case 14:
- *animation = 650;
+ *animation = kModelAnimationHanoiCalmTalk;
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
// _resumeIdleAfterFramesetCompletesFlag is never set so it's always false, thus this does not evaluate true
_animationState = 0;
@@ -583,62 +584,62 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
break;
case 15:
- *animation = 651;
+ *animation = kModelAnimationHanoiExplainTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 14;
- *animation = 650;
+ *animation = kModelAnimationHanoiCalmTalk;
}
break;
case 16:
- *animation = 652;
+ *animation = kModelAnimationHanoiDownwardsNodTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 14;
- *animation = 650;
+ *animation = kModelAnimationHanoiCalmTalk;
}
break;
case 17:
- *animation = 653;
+ *animation = kModelAnimationHanoiDenyTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 14;
- *animation = 650;
+ *animation = kModelAnimationHanoiCalmTalk;
}
break;
case 18:
- *animation = 654;
+ *animation = kModelAnimationHanoiSlightBowingTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 14;
- *animation = 650;
+ *animation = kModelAnimationHanoiCalmTalk;
}
break;
case 19:
- *animation = 655;
+ *animation = kModelAnimationHanoiLaughTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 14;
- *animation = 650;
+ *animation = kModelAnimationHanoiCalmTalk;
}
break;
case 20:
- *animation = 656;
+ *animation = kModelAnimationHanoiMockTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 14;
- *animation = 650;
+ *animation = kModelAnimationHanoiCalmTalk;
}
break;
@@ -674,7 +675,7 @@ bool AIScriptHanoi::ChangeAnimationMode(int mode) {
_animationFrame = 0;
} else {
_animationStateNext = 14;
- _animationNext = 650;
+ _animationNext = kModelAnimationHanoiCalmTalk;
_animationState = 1;
}
break;
@@ -691,37 +692,43 @@ bool AIScriptHanoi::ChangeAnimationMode(int mode) {
case 12:
_animationStateNext = 15;
- _animationNext = 651;
+ _animationNext = kModelAnimationHanoiExplainTalk;
_animationState = 1;
break;
case 13:
_animationStateNext = 16;
- _animationNext = 652;
+ _animationNext = kModelAnimationHanoiDownwardsNodTalk;
_animationState = 1;
break;
case 14:
_animationStateNext = 17;
- _animationNext = 653;
+ _animationNext = kModelAnimationHanoiDenyTalk;
_animationState = 1;
break;
case 15:
_animationStateNext = 18;
- _animationNext = 654;
+ _animationNext = kModelAnimationHanoiSlightBowingTalk;
_animationState = 1;
break;
case 16:
+#if BLADERUNNER_ORIGINAL_BUGS
+ // TODO a bug? uses kModelAnimationHanoiSlightBowingTalk (654) again like case 15
_animationStateNext = 18;
- _animationNext = 654;
+ _animationNext = kModelAnimationHanoiSlightBowingTalk;
+#else
+ _animationStateNext = 19;
+ _animationNext = kModelAnimationHanoiLaughTalk;
+#endif
_animationState = 1;
break;
case 17:
_animationStateNext = 20;
- _animationNext = 656;
+ _animationNext = kModelAnimationHanoiMockTalk;
_animationState = 1;
break;
@@ -740,7 +747,7 @@ bool AIScriptHanoi::ChangeAnimationMode(int mode) {
_animationFrame = 0;
} else {
_animationState = 5;
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(657) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationHanoiGrabsMcCoy) - 1;
}
break;
diff --git a/engines/bladerunner/script/ai/hasan.cpp b/engines/bladerunner/script/ai/hasan.cpp
index e7edfed75b..2b29ac84ae 100644
--- a/engines/bladerunner/script/ai/hasan.cpp
+++ b/engines/bladerunner/script/ai/hasan.cpp
@@ -27,10 +27,11 @@ namespace BladeRunner {
AIScriptHasan::AIScriptHasan(BladeRunnerEngine *vm) : AIScriptBase(vm) {
_var1 = 6;
_var2 = 1;
- _var3 = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
_var4 = 0;
_var5 = 0;
- _var6 = 0;
+ // _varChooseIdleAnimation can have valid values: 0, 1, 2
+ _varChooseIdleAnimation = 0;
}
void AIScriptHasan::Initialize() {
@@ -41,10 +42,10 @@ void AIScriptHasan::Initialize() {
_var1 = 6;
_var2 = 1;
- _var3 = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
_var4 = 0;
_var5 = 0;
- _var6 = 0;
+ _varChooseIdleAnimation = 0;
Actor_Put_In_Set(kActorHasan, kSetAR01_AR02);
Actor_Set_At_XYZ(kActorHasan, -214.0f, 0.0f, -1379.0f, 371);
@@ -228,49 +229,49 @@ bool AIScriptHasan::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- if (_var6 == 1) {
- *animation = kModelAnimationHasanTalkSuggest;
- if (_var3) {
- --_var3;
+ if (_varChooseIdleAnimation == 1) {
+ *animation = kModelAnimationHasanGestureSuggest;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
} else {
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanTalkSuggest)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanGestureSuggest)) {
_animationFrame = 0;
- _var6 = 0;
+ _varChooseIdleAnimation = 0;
*animation = kModelAnimationHasanIdleSlightMovement;
_var1 = Random_Query(6, 14);
_var2 = 2 * Random_Query(0, 1) - 1;
_var4 = Random_Query(40, 60);
}
if (_animationFrame >= 10 && _animationFrame <= 14) {
- _var3 = Random_Query(0, 1);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(0, 1);
}
}
- } else if (_var6 == 2) {
+ } else if (_varChooseIdleAnimation == 2) {
*animation = kModelAnimationHasanTakingABiteSnakeMove;
- if (_var3) {
- --_var3;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
} else {
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanTakingABiteSnakeMove)) {
_animationFrame = 0;
- _var6 = 0;
+ _varChooseIdleAnimation = 0;
*animation = kModelAnimationHasanIdleSlightMovement;
_var1 = Random_Query(6, 14);
_var2 = 2 * Random_Query(0, 1) - 1;
_var5 = Random_Query(40, 60);
}
if (_animationFrame == 14) {
- _var3 = Random_Query(3, 10);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(3, 10);
}
if (_animationFrame == 23) {
- _var3 = Random_Query(0, 4);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(0, 4);
}
}
- } else if (_var6 == 0) {
+ } else if (_varChooseIdleAnimation == 0) {
*animation = kModelAnimationHasanIdleSlightMovement;
- if (_var3) {
- --_var3;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
} else {
_animationFrame += _var2;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanIdleSlightMovement)) {
@@ -282,16 +283,16 @@ bool AIScriptHasan::UpdateAnimation(int *animation, int *frame) {
if (!--_var1) {
_var2 = 2 * Random_Query(0, 1) - 1;
_var1 = Random_Query(6, 14);
- _var3 = Random_Query(0, 4);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(0, 4);
}
if (_animationFrame == 0) {
- _var6 = Random_Query(0, 2);
+ _varChooseIdleAnimation = Random_Query(0, 2);
}
- if (_var6 == 1 && _var4) {
- _var6 = 0;
+ if (_varChooseIdleAnimation == 1 && _var4) {
+ _varChooseIdleAnimation = 0;
}
- if (_var6 == 2 && _var5) {
- _var6 = 0;
+ if (_varChooseIdleAnimation == 2 && _var5) {
+ _varChooseIdleAnimation = 0;
}
}
}
@@ -367,13 +368,13 @@ bool AIScriptHasan::ChangeAnimationMode(int mode) {
switch (mode) {
case kAnimationModeIdle:
_animationState = 0;
- _var6 = 0;
+ _varChooseIdleAnimation = 0;
_animationFrame = 0;
break;
case kAnimationModeTalk:
_animationState = 1;
- _var6 = 0;
+ _varChooseIdleAnimation = 0;
_animationFrame = 0;
break;
@@ -387,7 +388,7 @@ bool AIScriptHasan::ChangeAnimationMode(int mode) {
// fall through
case 16:
_animationState = 6;
- _var6 = 0;
+ _varChooseIdleAnimation = 0;
_animationFrame = 0;
break;
diff --git a/engines/bladerunner/script/ai/howie_lee.cpp b/engines/bladerunner/script/ai/howie_lee.cpp
index 66fee5c98a..d3c9008075 100644
--- a/engines/bladerunner/script/ai/howie_lee.cpp
+++ b/engines/bladerunner/script/ai/howie_lee.cpp
@@ -25,7 +25,7 @@
namespace BladeRunner {
AIScriptHowieLee::AIScriptHowieLee(BladeRunnerEngine *vm) : AIScriptBase(vm) {
- var_45DFB8 = 0;
+ _varIdleStatesToggle = 0;
}
void AIScriptHowieLee::Initialize() {
@@ -33,7 +33,7 @@ void AIScriptHowieLee::Initialize() {
_animationState = 0;
_animationStateNext = 0;
_animationNext = 0;
- var_45DFB8 = false;
+ _varIdleStatesToggle = 0;
Actor_Put_In_Set(kActorHowieLee, kSetCT01_CT12);
Actor_Set_At_Waypoint(kActorHowieLee, 67, 605); // in kSetCT01_CT12
@@ -331,45 +331,47 @@ bool AIScriptHowieLee::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
++_animationFrame;
- if (var_45DFB8) {
- *animation = 673;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(673)) {
+ // _varIdleStatesToggle can be 0 or 1.
+ // Determines whether kModelAnimationHowieLeePutsIngredientsCooking or kModelAnimationHowieLeeGathersOfTidiesUp is used.
+ if (_varIdleStatesToggle > 0) {
+ *animation = kModelAnimationHowieLeePutsIngredientsCooking;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHowieLeePutsIngredientsCooking)) {
_animationFrame = 0;
if (Random_Query(0, 2) > 0) {
- var_45DFB8 ^= 1;
+ _varIdleStatesToggle ^= 1;
}
}
} else {
- *animation = 671;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(671)) {
+ *animation = kModelAnimationHowieLeeGathersOfTidiesUp;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHowieLeeGathersOfTidiesUp)) {
_animationFrame = 0;
if (Random_Query(0, 1) > 0) {
- var_45DFB8 ^= 1;
+ _varIdleStatesToggle ^= 1;
}
}
}
break;
case 1:
- *animation = 674;
+ *animation = kModelAnimationHowieLeeLongGestureGive;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(674)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHowieLeeLongGestureGive)) {
_animationFrame = 0;
if (_animationState < 3 || _animationState > 8) {
_animationState = 0;
_animationFrame = 0;
- var_45DFB8 = Random_Query(0, 1);
+ _varIdleStatesToggle = Random_Query(0, 1);
} else {
Game_Flag_Set(kFlagHowieLeeAnimation1);
}
- *animation = 673;
+ *animation = kModelAnimationHowieLeePutsIngredientsCooking;
}
break;
case 2:
- *animation = 672;
+ *animation = kModelAnimationHowieLeeWalking;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(672)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHowieLeeWalking)) {
_animationFrame = 0;
}
break;
@@ -379,69 +381,70 @@ bool AIScriptHowieLee::UpdateAnimation(int *animation, int *frame) {
Game_Flag_Reset(kFlagHowieLeeAnimation1);
_animationState = 0;
_animationFrame = 0;
- var_45DFB8 = Random_Query(0, 1);
- *animation = 671;
+ _varIdleStatesToggle = Random_Query(0, 1);
+ *animation = kModelAnimationHowieLeeGathersOfTidiesUp;
} else {
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(676)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHowieLeeCalmTalk)) {
_animationFrame = 0;
}
- *animation = 676;
+ *animation = kModelAnimationHowieLeeCalmTalk;
}
break;
case 4:
- *animation = 677;
+ *animation = kModelAnimationHowieLeeExplainTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(677)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHowieLeeExplainTalk)) {
_animationState = 3;
_animationFrame = 0;
- *animation = 676;
+ *animation = kModelAnimationHowieLeeCalmTalk;
}
break;
case 5:
- *animation = 678;
+ *animation = kModelAnimationHowieLeeUpsetTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(678)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHowieLeeUpsetTalk)) {
_animationState = 3;
_animationFrame = 0;
- *animation = 676;
+ *animation = kModelAnimationHowieLeeCalmTalk;
}
break;
case 6:
- *animation = 679;
+ *animation = kModelAnimationHowieLeeAngryTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(679)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHowieLeeAngryTalk)) {
_animationState = 3;
_animationFrame = 0;
- *animation = 676;
+ *animation = kModelAnimationHowieLeeCalmTalk;
}
break;
case 7:
- *animation = 680;
+ *animation = kModelAnimationHowieLeeNoTimeTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(680)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHowieLeeNoTimeTalk)) {
_animationState = 3;
_animationFrame = 0;
- *animation = 676;
+ *animation = kModelAnimationHowieLeeCalmTalk;
}
break;
case 8:
- *animation = 681;
+ *animation = kModelAnimationHowieLeeElaborateMovementTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(681)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHowieLeeElaborateMovementTalk)) {
_animationState = 3;
_animationFrame = 0;
- *animation = 676;
+ *animation = kModelAnimationHowieLeeCalmTalk;
}
break;
default:
- *animation = 399;
+ // Dummy placeholder, kModelAnimationZubenWalking (399) is a Zuben animation
+ *animation = kModelAnimationZubenWalking;
break;
}
*frame = _animationFrame;
@@ -454,7 +457,7 @@ bool AIScriptHowieLee::ChangeAnimationMode(int mode) {
if (_animationState < 3 || _animationState > 8) {
_animationState = 0;
_animationFrame = 0;
- var_45DFB8 = Random_Query(0, 1);
+ _varIdleStatesToggle = Random_Query(0, 1);
} else {
Game_Flag_Set(kFlagHowieLeeAnimation1);
}
diff --git a/engines/bladerunner/script/ai/insect_dealer.cpp b/engines/bladerunner/script/ai/insect_dealer.cpp
index 7d4a9628cf..05614bca54 100644
--- a/engines/bladerunner/script/ai/insect_dealer.cpp
+++ b/engines/bladerunner/script/ai/insect_dealer.cpp
@@ -28,7 +28,7 @@ AIScriptInsectDealer::AIScriptInsectDealer(BladeRunnerEngine *vm) : AIScriptBase
_resumeIdleAfterFramesetCompletesFlag = false;
_state = 0;
_frameDelta = 0;
- _var2 = 0;
+ _var2 = 0; // is set on some occasions but is never checked. Unused.
_counter = 0;
}
diff --git a/engines/bladerunner/script/ai/isabella.cpp b/engines/bladerunner/script/ai/isabella.cpp
index 2bda01157f..b24ee585b4 100644
--- a/engines/bladerunner/script/ai/isabella.cpp
+++ b/engines/bladerunner/script/ai/isabella.cpp
@@ -26,8 +26,9 @@ namespace BladeRunner {
AIScriptIsabella::AIScriptIsabella(BladeRunnerEngine *vm) : AIScriptBase(vm) {
_var1 = 0;
- _var2 = 0;
- _var3 = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
+ // _varChooseIdleAnimation can have valid values: 0,
+ _varChooseIdleAnimation = 0;
_var4 = 1;
}
@@ -38,8 +39,8 @@ void AIScriptIsabella::Initialize() {
_animationNext = 0;
_var1 = 0;
- _var2 = 0;
- _var3 = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
+ _varChooseIdleAnimation = 0;
_var4 = 1;
}
@@ -104,52 +105,52 @@ bool AIScriptIsabella::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- if (_var3 == 1) {
- *animation = 839;
+ if (_varChooseIdleAnimation == 1) {
+ *animation = kModelIsabellaPutsSpicesInSoup;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(839) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelIsabellaPutsSpicesInSoup) - 1) {
_animationFrame = 0;
}
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(839) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelIsabellaPutsSpicesInSoup) - 1;
}
if (_animationFrame == 0) {
- _var3 = 0;
+ _varChooseIdleAnimation = 0;
_var4 = 2 * Random_Query(0, 1) - 1;
}
- } else if (_var3 == 0) {
- *animation = 838;
- if (_var2) {
- --_var2;
- if (_var2 == 0) {
+ } else if (_varChooseIdleAnimation == 0) {
+ *animation = kModelIsabellaIdle;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
+ if (_varNumOfTimesToHoldCurrentFrame == 0) {
_var4 = 2 * Random_Query(0, 1) - 1;
}
} else {
_animationFrame += _var4;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(838) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelIsabellaIdle) - 1) {
_animationFrame = 0;
}
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(838) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelIsabellaIdle) - 1;
}
if (_animationFrame == 1) {
if (!Random_Query(0, 1)) {
- _var2 = Random_Query(4, 8);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(4, 8);
}
}
if (_animationFrame == 11) {
if (!Random_Query(0, 1)) {
- _var2 = Random_Query(4, 8);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(4, 8);
}
}
if (_animationFrame == 16) {
if (!Random_Query(0, 1)) {
- _var2 = Random_Query(4, 8);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(4, 8);
}
}
if (_animationFrame == 0) {
if (!Random_Query(0, 2)) {
- _var3 = 1;
+ _varChooseIdleAnimation = 1;
}
}
}
@@ -157,37 +158,37 @@ bool AIScriptIsabella::UpdateAnimation(int *animation, int *frame) {
break;
case 1:
- *animation = 840;
+ *animation = kModelIsabellaGestureGiveOrTake;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(840) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelIsabellaGestureGiveOrTake) - 1) {
flag = true;
_animationFrame = 0;
} else {
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(840) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelIsabellaGestureGiveOrTake) - 1;
flag = true;
} else {
flag = false;
}
}
if (flag) {
- *animation = 838;
+ *animation = kModelIsabellaIdle;
_animationState = 0;
}
break;
case 2:
- *animation = 841;
+ *animation = kModelIsabellaCalmTalk;
if (_animationFrame < 2 && _var1) {
_animationFrame = 0;
_animationState = 0;
} else {
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(841) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelIsabellaCalmTalk) - 1) {
_animationFrame = 0;
} else {
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(841) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelIsabellaCalmTalk) - 1;
}
}
if (_animationFrame == 0) {
@@ -197,132 +198,132 @@ bool AIScriptIsabella::UpdateAnimation(int *animation, int *frame) {
break;
case 3:
- *animation = 842;
+ *animation = kModelIsabellaSuggestTalk;
if (_animationFrame < 2 && _var1) {
_animationFrame = 0;
_animationState = 0;
} else {
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(842) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelIsabellaSuggestTalk) - 1) {
_animationFrame = 0;
} else {
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(842) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelIsabellaSuggestTalk) - 1;
}
}
if (_animationFrame == 0) {
- *animation = 841;
+ *animation = kModelIsabellaCalmTalk;
_animationState = 2;
}
}
break;
case 4:
- *animation = 843;
+ *animation = kModelIsabellaProtestTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(843) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelIsabellaProtestTalk) - 1) {
flag = true;
_animationFrame = 0;
} else {
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(843) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelIsabellaProtestTalk) - 1;
flag = true;
} else {
flag = false;
}
}
if (flag) {
- *animation = 841;
+ *animation = kModelIsabellaCalmTalk;
_animationState = 2;
}
break;
case 5:
- *animation = 844;
+ *animation = kModelIsabellaMoreCalmTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(844) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelIsabellaMoreCalmTalk) - 1) {
flag = true;
_animationFrame = 0;
} else {
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(844) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelIsabellaMoreCalmTalk) - 1;
flag = true;
} else {
flag = false;
}
}
if (flag) {
- *animation = 841;
+ *animation = kModelIsabellaCalmTalk;
_animationState = 2;
}
break;
case 6:
- *animation = 845;
+ *animation = kModelIsabellaLaughTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(845) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelIsabellaLaughTalk) - 1) {
flag = true;
_animationFrame = 0;
} else {
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(845) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelIsabellaLaughTalk) - 1;
flag = true;
} else {
flag = false;
}
}
if (flag) {
- *animation = 841;
+ *animation = kModelIsabellaCalmTalk;
_animationState = 2;
}
break;
case 7:
- *animation = 845;
+ *animation = kModelIsabellaLaughTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(845) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelIsabellaLaughTalk) - 1) {
flag = true;
_animationFrame = 0;
} else {
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(845) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelIsabellaLaughTalk) - 1;
flag = true;
} else {
flag = false;
}
}
if (flag) {
- *animation = 841;
+ *animation = kModelIsabellaCalmTalk;
_animationState = 2;
}
break;
case 8:
- *animation = 844;
+ *animation = kModelIsabellaMoreCalmTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(844) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelIsabellaMoreCalmTalk) - 1) {
flag = true;
_animationFrame = 0;
} else {
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(844) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelIsabellaMoreCalmTalk) - 1;
flag = true;
} else {
flag = false;
}
}
if (flag) {
- *animation = 841;
+ *animation = kModelIsabellaCalmTalk;
_animationState = 2;
}
break;
case 9:
- if (!_var3) {
- *animation = 838;
+ if (_varChooseIdleAnimation == 0) {
+ *animation = kModelIsabellaIdle;
}
- if (_var3 == 1) {
- *animation = 839;
+ if (_varChooseIdleAnimation == 1) {
+ *animation = kModelIsabellaPutsSpicesInSoup;
}
if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame += 2;
@@ -374,7 +375,7 @@ bool AIScriptIsabella::ChangeAnimationMode(int mode) {
if (_animationState < 2 || _animationState > 8) {
_animationState = 9;
_animationStateNext = 2;
- _animationNext = 841;
+ _animationNext = kModelIsabellaCalmTalk;
_var1 = 0;
}
break;
@@ -385,7 +386,7 @@ bool AIScriptIsabella::ChangeAnimationMode(int mode) {
if (_animationState < 2 || _animationState > 8) {
_animationState = 9;
_animationStateNext = 3;
- _animationNext = 842;
+ _animationNext = kModelIsabellaSuggestTalk;
_var1 = 0;
}
break;
@@ -396,7 +397,7 @@ bool AIScriptIsabella::ChangeAnimationMode(int mode) {
if (_animationState < 2 || _animationState > 8) {
_animationState = 9;
_animationStateNext = 5;
- _animationNext = 844;
+ _animationNext = kModelIsabellaMoreCalmTalk;
_var1 = 0;
}
break;
@@ -405,7 +406,7 @@ bool AIScriptIsabella::ChangeAnimationMode(int mode) {
if (_animationState < 2 || _animationState > 8) {
_animationState = 9;
_animationStateNext = 4;
- _animationNext = 843;
+ _animationNext = kModelIsabellaProtestTalk;
_var1 = 0;
}
break;
@@ -414,7 +415,7 @@ bool AIScriptIsabella::ChangeAnimationMode(int mode) {
if (_animationState < 2 || _animationState > 8) {
_animationState = 9;
_animationStateNext = 6;
- _animationNext = 845;
+ _animationNext = kModelIsabellaLaughTalk;
_var1 = 0;
}
break;
@@ -423,7 +424,7 @@ bool AIScriptIsabella::ChangeAnimationMode(int mode) {
if (_animationState < 2 || _animationState > 8) {
_animationState = 9;
_animationStateNext = 7;
- _animationNext = 845;
+ _animationNext = kModelIsabellaLaughTalk;
_var1 = 0;
}
break;
@@ -432,7 +433,7 @@ bool AIScriptIsabella::ChangeAnimationMode(int mode) {
if (_animationState < 2 || _animationState > 8) {
_animationState = 9;
_animationStateNext = 8;
- _animationNext = 844;
+ _animationNext = kModelIsabellaMoreCalmTalk;
_var1 = 0;
}
break;
diff --git a/engines/bladerunner/script/ai/izo.cpp b/engines/bladerunner/script/ai/izo.cpp
index 0bd5ec8a8b..3f848b384f 100644
--- a/engines/bladerunner/script/ai/izo.cpp
+++ b/engines/bladerunner/script/ai/izo.cpp
@@ -28,8 +28,9 @@ AIScriptIzo::AIScriptIzo(BladeRunnerEngine *vm) : AIScriptBase(vm) {
_resumeIdleAfterFramesetCompletesFlag = false;
_var1 = 6;
_var2 = 1;
- _var3 = 0;
- _var4 = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
+ // _varChooseIdleAnimation can have valid values: 0, 1
+ _varChooseIdleAnimation = 0;
}
void AIScriptIzo::Initialize() {
@@ -41,8 +42,8 @@ void AIScriptIzo::Initialize() {
_resumeIdleAfterFramesetCompletesFlag = false;
_var1 = 6;
_var2 = 1;
- _var3 = 0;
- _var4 = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
+ _varChooseIdleAnimation = 0;
Actor_Set_Goal_Number(kActorIzo, 0);
Actor_Put_In_Set(kActorIzo, kSetHC01_HC02_HC03_HC04);
@@ -523,33 +524,33 @@ bool AIScriptIzo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- if (_var4 == 1) {
- *animation = 298;
+ if (_varChooseIdleAnimation == 1) {
+ *animation = kModelAnimationIzoAwkwardPlayWithHands;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(298)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoAwkwardPlayWithHands)) {
_animationFrame = 0;
- _var4 = 0;
+ _varChooseIdleAnimation = 0;
}
- } else if (_var4 == 0) {
- *animation = 297;
- if (_var3) {
- --_var3;
+ } else if (_varChooseIdleAnimation == 0) {
+ *animation = kModelAnimationIzoIdle;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
} else {
_animationFrame += _var2;
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(297) - 1;
- } else if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(297)) {
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoIdle) - 1;
+ } else if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoIdle)) {
_animationFrame = 0;
}
--_var1;
if (_var1 == 0) {
_var2 = 2 * Random_Query(0, 1) - 1;
_var1 = Random_Query(6, 14);
- _var3 = Random_Query(0, 2);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(0, 2);
}
if (_animationFrame == 0) {
if (!Random_Query(0, 5)) {
- _var4 = 1;
+ _varChooseIdleAnimation = 1;
}
}
}
@@ -558,14 +559,14 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {
case 1:
if (_animationFrame <= 2 && _resumeIdleAfterFramesetCompletesFlag) {
- *animation = 297;
+ *animation = kModelAnimationIzoIdle;
_animationFrame = 0;
_animationState = 0;
_resumeIdleAfterFramesetCompletesFlag = false;
} else {
- *animation = 299;
+ *animation = kModelAnimationIzoCalmTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(299)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoCalmTalk)) {
_animationFrame = 0;
}
}
@@ -582,46 +583,50 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {
case 6:
// fall through
case 7:
- *animation = _animationState + 298;
+ // TODO why calculate current animation by adding animationState to kModelAnimationIzoAwkwardPlayWithHands (298)?
+ // seems prone to error.
+ // This (based on the switch cases), results in "talking" animation framesets 300 - 305,
+ // excepting the kModelAnimationIzoCalmTalk (299) which is used as the default or "ending" talking animation.
+ *animation = _animationState + kModelAnimationIzoAwkwardPlayWithHands;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 1;
- *animation = 299;
+ *animation = kModelAnimationIzoCalmTalk;
}
break;
case 8:
- *animation = 277;
+ *animation = kModelAnimationIzoCombatIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(277)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoCombatIdle)) {
_animationFrame = 0;
}
break;
case 9:
- *animation = 287;
+ *animation = kModelAnimationIzoCombatUnseatheSword;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(287)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoCombatUnseatheSword)) {
_animationFrame = 0;
_animationState = 8;
- *animation = 277;
+ *animation = kModelAnimationIzoCombatIdle;
}
break;
case 10:
- *animation = 288;
+ *animation = kModelAnimationIzoCombatSeatheSword;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(288)) {
- *animation = 297;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoCombatSeatheSword)) {
+ *animation = kModelAnimationIzoIdle;
_animationFrame = 0;
_animationState = 0;
- _var4 = 0;
+ _varChooseIdleAnimation = 0;
}
break;
case 11:
- *animation = 289;
+ *animation = kModelAnimationIzoCombatSwordAttack;
++_animationFrame;
if (_animationFrame == 6) {
int snd;
@@ -644,7 +649,7 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 8;
- *animation = 277;
+ *animation = kModelAnimationIzoCombatIdle;
Actor_Change_Animation_Mode(kActorIzo, kAnimationModeCombatIdle);
}
break;
@@ -657,22 +662,22 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {
// fall through
case 17:
if (_animationState == 12) {
- *animation = 278;
+ *animation = kModelAnimationIzoCombatTurnRight;
}
if (_animationState == 13) {
- *animation = 279;
+ *animation = kModelAnimationIzoCombatTurnLeft;
}
if (_animationState == 16) {
- *animation = 280;
+ *animation = kModelAnimationIzoCombatGotHitRight;
}
if (_animationState == 17) {
- *animation = 281;
+ *animation = kModelAnimationIzoCombatGotHitLeft;
}
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 8;
- *animation = 277;
+ *animation = kModelAnimationIzoCombatIdle;
Actor_Change_Animation_Mode(kActorIzo, kAnimationModeCombatIdle);
}
break;
@@ -680,26 +685,26 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {
case 14:
// fall through
case 15:
- // TODO A bug? Shouldn't this be _animationState + 280?
- *animation = _animationFrame + 280;
+ // TODO A bug? Shouldn't this be _animationState + kModelAnimationIzoCombatGotHitRight?
+ *animation = _animationFrame + kModelAnimationIzoCombatGotHitRight;
++_animationFrame;
if (_animationFrame >= 2
&& (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Walk
|| Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Run
)
) {
- *animation = 297;
+ *animation = kModelAnimationIzoIdle;
_animationFrame = 0;
_animationState = 0;
- _var4 = 0;
+ _varChooseIdleAnimation = 0;
Actor_Change_Animation_Mode(kActorIzo, kAnimationModeIdle);
Actor_Set_Goal_Number(kActorIzo, kGoalIzoRC03Run);
} else {
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
- *animation = 297;
+ *animation = kModelAnimationIzoIdle;
_animationFrame = 0;
_animationState = 0;
- _var4 = 0;
+ _varChooseIdleAnimation = 0;
Actor_Change_Animation_Mode(kActorIzo, kAnimationModeIdle);
}
}
@@ -709,10 +714,10 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {
// fall through
case 19:
if (_animationState == 18) {
- *animation = 284;
+ *animation = kModelAnimationIzoCombatShotDead;
}
if (_animationState == 19) {
- *animation = 296;
+ *animation = kModelAnimationIzoShotDead;
}
++_animationFrame;
if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(*animation) - 1) {
@@ -741,34 +746,34 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {
// fall through
case 29:
if (_animationState == 20) {
- *animation = 290;
+ *animation = kModelAnimationIzoWalking;
}
if (_animationState == 21) {
- *animation = 291;
+ *animation = kModelAnimationIzoRunning;
}
if (_animationState == 22) {
- *animation = 282;
+ *animation = kModelAnimationIzoCombatWalking;
}
if (_animationState == 23) {
- *animation = 283;
+ *animation = kModelAnimationIzoCombatRunning;
}
if (_animationState == 24) {
- *animation = 285;
+ *animation = kModelAnimationIzoCombatClimbStairsUp;
}
if (_animationState == 25) {
- *animation = 286;
+ *animation = kModelAnimationIzoCombatClimbStairsDown;
}
if (_animationState == 26) {
- *animation = 292;
+ *animation = kModelAnimationIzoClimbStairsUp;
}
if (_animationState == 27) {
- *animation = 293;
+ *animation = kModelAnimationIzoClimbStairsDown;
}
if (_animationState == 29) {
- *animation = 307;
+ *animation = kModelAnimationIzoClimbLadderUp;
}
if (_animationState == 28) {
- *animation = 306;
+ *animation = kModelAnimationIzoClimbLadderDown;
}
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
@@ -777,25 +782,25 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {
break;
case 30:
- *animation = 296;
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(296) - 1;
+ *animation = kModelAnimationIzoShotDead;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoShotDead) - 1;
break;
case 31:
- *animation = 308;
+ *animation = kModelAnimationIzoHoldingCameraIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(308)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoHoldingCameraIdle)) {
_animationFrame = 0;
}
break;
case 32:
- *animation = 309;
+ *animation = kModelAnimationIzoPicksCameraFromShop;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(309)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoPicksCameraFromShop)) {
_animationFrame = 0;
_animationState = 31;
- *animation = 308;
+ *animation = kModelAnimationIzoHoldingCameraIdle;
}
break;
@@ -803,26 +808,26 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
_resumeIdleAfterFramesetCompletesFlag = false;
_animationState = 31;
- *animation = 308;
+ *animation = kModelAnimationIzoHoldingCameraIdle;
} else {
- *animation = 310;
+ *animation = kModelAnimationIzoHoldingCameraTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(310)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoHoldingCameraTalk)) {
_animationFrame = 0;
}
}
break;
case 34:
- *animation = 311;
+ *animation = kModelAnimationIzoHoldingCameraUsesFlash;
++_animationFrame;
if (_animationFrame == 6) {
Scene_Loop_Set_Default(0); // // HC01 - MainLoop
Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true); // HC01 - IzoFlashLoop
Player_Set_Combat_Mode(true);
}
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(311)) {
- *animation = 297;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoHoldingCameraUsesFlash)) {
+ *animation = kModelAnimationIzoIdle;
_animationFrame = 0;
_animationState = 0;
Game_Flag_Set(kFlagUnused407);
@@ -832,15 +837,18 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {
break;
case 35:
- if (!_var4) {
- *animation = 297;
+ if (_varChooseIdleAnimation == 0) {
+ *animation = kModelAnimationIzoIdle;
}
- if (_var4 == 1) {
- *animation = 298;
+ if (_varChooseIdleAnimation == 1) {
+ *animation = kModelAnimationIzoAwkwardPlayWithHands;
}
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(297)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoIdle)) {
+ // TODO a bug? Adding 3 to animationFrame when it is >= the num of frames of the frameset
+ // will still keep it >= the num of frame of the frameset.
+ // so why check again in the if clause below?
_animationFrame += 3;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(297)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoIdle)) {
_animationFrame = 0;
*animation = _animationNext;
_animationState = _animationStateNext;
@@ -936,7 +944,7 @@ bool AIScriptIzo::ChangeAnimationMode(int mode) {
} else if (_animationState <= 0 || _animationState > 7) {
_animationState = 35;
_animationStateNext = 1;
- _animationNext = 299;
+ _animationNext = kModelAnimationIzoCalmTalk;
}
_resumeIdleAfterFramesetCompletesFlag = false;
}
@@ -985,7 +993,7 @@ bool AIScriptIzo::ChangeAnimationMode(int mode) {
if (_animationState <= 0 || _animationState > 7) {
_animationState = 35;
_animationStateNext = 1;
- _animationNext = 300;
+ _animationNext = kModelAnimationIzoMoreCalmTalk;
}
_resumeIdleAfterFramesetCompletesFlag = false;
}
@@ -998,7 +1006,7 @@ bool AIScriptIzo::ChangeAnimationMode(int mode) {
if (_animationState <= 0 || _animationState > 7) {
_animationState = 35;
_animationStateNext = 1;
- _animationNext = 302;
+ _animationNext = kModelAnimationIzoHeadNodsAgreeingTalk;
}
_resumeIdleAfterFramesetCompletesFlag = false;
}
@@ -1009,7 +1017,7 @@ bool AIScriptIzo::ChangeAnimationMode(int mode) {
if (_animationState <= 0 || _animationState > 7) {
_animationState = 35;
_animationStateNext = 1;
- _animationNext = 301;
+ _animationNext = kModelAnimationIzoExplainingTalk;
}
_resumeIdleAfterFramesetCompletesFlag = false;
}
@@ -1020,7 +1028,7 @@ bool AIScriptIzo::ChangeAnimationMode(int mode) {
if (_animationState <= 0 || _animationState > 7) {
_animationState = 35;
_animationStateNext = 1;
- _animationNext = 303;
+ _animationNext = kModelAnimationIzoOffensiveTalk;
}
_resumeIdleAfterFramesetCompletesFlag = false;
}
@@ -1031,7 +1039,7 @@ bool AIScriptIzo::ChangeAnimationMode(int mode) {
if (_animationState <= 0 || _animationState > 7) {
_animationState = 35;
_animationStateNext = 1;
- _animationNext = 304;
+ _animationNext = kModelAnimationIzoHeadNodsDisagreeingTalk;
}
_resumeIdleAfterFramesetCompletesFlag = false;
}
@@ -1042,7 +1050,7 @@ bool AIScriptIzo::ChangeAnimationMode(int mode) {
if (_animationState <= 0 || _animationState > 7) {
_animationState = 35;
_animationStateNext = 1;
- _animationNext = 305;
+ _animationNext = kModelAnimationIzoUnderstandingTalk;
}
_resumeIdleAfterFramesetCompletesFlag = false;
}
diff --git a/engines/bladerunner/script/ai/leon.cpp b/engines/bladerunner/script/ai/leon.cpp
index bb0ac8ed6e..9cdbc65eef 100644
--- a/engines/bladerunner/script/ai/leon.cpp
+++ b/engines/bladerunner/script/ai/leon.cpp
@@ -271,101 +271,101 @@ bool AIScriptLeon::GoalChanged(int currentGoalNumber, int newGoalNumber) {
bool AIScriptLeon::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- *animation = 847;
+ *animation = kModelLeonIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(847)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelLeonIdle)) {
_animationFrame = 0;
}
break;
case 1:
- *animation = 846;
+ *animation = kModelLeonWalking;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(846)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelLeonWalking)) {
_animationFrame = 0;
}
break;
case 2:
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
- *animation = 847;
+ *animation = kModelLeonIdle;
_animationState = 0;
} else {
- *animation = 850;
+ *animation = kModelLeonCalmTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(850)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelLeonCalmTalk)) {
_animationFrame = 0;
}
}
break;
case 3:
- *animation = 851;
+ *animation = kModelLeonComplainTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(851)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelLeonComplainTalk)) {
_animationFrame = 0;
_animationState = 2;
- *animation = 850;
+ *animation = kModelLeonCalmTalk;
}
break;
case 4:
- *animation = 852;
+ *animation = kModelLeonAwkwardTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(852)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelLeonAwkwardTalk)) {
_animationFrame = 0;
_animationState = 2;
- *animation = 850;
+ *animation = kModelLeonCalmTalk;
}
break;
case 5:
- *animation = 853;
+ *animation = kModelLeonDenyTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(853)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelLeonDenyTalk)) {
_animationFrame = 0;
_animationState = 2;
- *animation = 850;
+ *animation = kModelLeonCalmTalk;
}
break;
case 6:
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
Actor_Change_Animation_Mode(kActorLeon, 72);
- *animation = 848;
+ *animation = kModelLeonGrabHoldHigh;
} else {
- *animation = 854;
+ *animation = kModelLeonGrabTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(854)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelLeonGrabTalk)) {
_animationFrame = 0;
}
}
break;
case 7:
- *animation = 855;
+ *animation = kModelLeonGrabAndGutPunchTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(855)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelLeonGrabAndGutPunchTalk)) {
_animationFrame = 0;
_animationState = 6;
- *animation = 854;
+ *animation = kModelLeonGrabTalk;
}
break;
case 8:
- *animation = 854;
+ *animation = kModelLeonGrabTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(854)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelLeonGrabTalk)) {
_animationFrame = 0;
}
break;
case 9:
- *animation = 849;
+ *animation = kModelLeonGrabLetsGo;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(849)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelLeonGrabLetsGo)) {
Actor_Change_Animation_Mode(kActorLeon, kAnimationModeIdle);
- *animation = 847;
+ *animation = kModelLeonIdle;
_animationFrame = 0;
_animationState = 0;
if (Actor_Query_Goal_Number(kActorLeon) == kGoalLeonReleaseDeskClerk) {
@@ -375,7 +375,7 @@ bool AIScriptLeon::UpdateAnimation(int *animation, int *frame) {
break;
case 10:
- *animation = 856;
+ *animation = kModelLeonPunchAttack;
++_animationFrame;
if (_animationFrame == 6) {
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
@@ -383,7 +383,7 @@ bool AIScriptLeon::UpdateAnimation(int *animation, int *frame) {
}
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
- *animation = 847;
+ *animation = kModelLeonIdle;
_animationFrame = 0;
Actor_Change_Animation_Mode(kActorLeon, kAnimationModeIdle);
}
diff --git a/engines/bladerunner/script/ai/luther.cpp b/engines/bladerunner/script/ai/luther.cpp
index 2e86d8b426..d16346d069 100644
--- a/engines/bladerunner/script/ai/luther.cpp
+++ b/engines/bladerunner/script/ai/luther.cpp
@@ -246,7 +246,7 @@ bool AIScriptLuther::GoalChanged(int currentGoalNumber, int newGoalNumber) {
bool AIScriptLuther::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- *animation = 346;
+ *animation = kModelAnimationTwinsSitIdle;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
@@ -254,10 +254,10 @@ bool AIScriptLuther::UpdateAnimation(int *animation, int *frame) {
break;
case 1:
- *animation = 348;
+ *animation = kModelAnimationTwinsSitLancePutsSomethingToTheLeft;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
- *animation = 346;
+ *animation = kModelAnimationTwinsSitIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorLuther, kAnimationModeIdle);
@@ -266,10 +266,10 @@ bool AIScriptLuther::UpdateAnimation(int *animation, int *frame) {
case 2:
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
- *animation = 346;
+ *animation = kModelAnimationTwinsSitIdle;
_animationState = 0;
} else {
- *animation = 349;
+ *animation = kModelAnimationTwinsSitLanceShortCalmTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
@@ -278,70 +278,70 @@ bool AIScriptLuther::UpdateAnimation(int *animation, int *frame) {
break;
case 3:
- *animation = 350;
+ *animation = kModelAnimationTwinsSitLanceLongerCalmTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 2;
- *animation = 349;
+ *animation = kModelAnimationTwinsSitLanceShortCalmTalk;
}
break;
case 4:
- *animation = 351;
+ *animation = kModelAnimationTwinsSitLutherCalmTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 2;
- *animation = 349;
+ *animation = kModelAnimationTwinsSitLanceShortCalmTalk;
}
break;
case 5:
- *animation = 352;
+ *animation = kModelAnimationTwinsSitLutherMoreCalmTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 2;
- *animation = 349;
+ *animation = kModelAnimationTwinsSitLanceShortCalmTalk;
}
break;
case 6:
- *animation = 353;
+ *animation = kModelAnimationTwinsSitLanceMoreCalmTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 2;
- *animation = 349;
+ *animation = kModelAnimationTwinsSitLanceShortCalmTalk;
}
break;
case 7:
- *animation = 354;
+ *animation = kModelAnimationTwinsSitLutherProtestTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 2;
- *animation = 349;
+ *animation = kModelAnimationTwinsSitLanceShortCalmTalk;
}
break;
case 8:
- *animation = 355;
+ *animation = kModelAnimationTwinsSitLutherGoAheadTalk;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 2;
- *animation = 349;
+ *animation = kModelAnimationTwinsSitLanceShortCalmTalk;
}
break;
case 9:
- *animation = 356;
+ *animation = kModelAnimationTwinsSitLutherHitsOrFeedsLance;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
- *animation = 346;
+ *animation = kModelAnimationTwinsSitIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorLuther, kAnimationModeIdle);
@@ -349,24 +349,24 @@ bool AIScriptLuther::UpdateAnimation(int *animation, int *frame) {
break;
case 10:
- *animation = 357;
+ *animation = kModelAnimationTwinsSitDropForwards;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
Actor_Change_Animation_Mode(kActorLuther, 50);
- *animation = 358;
+ *animation = kModelAnimationTwinsSitAlmostDeadLutherPushesButton;
_animationFrame = 0;
}
break;
case 11:
- *animation = 358;
+ *animation = kModelAnimationTwinsSitAlmostDeadLutherPushesButton;
if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(*animation) - 1) {
++_animationFrame;
}
break;
case 12:
- *animation = 359;
+ *animation = kModelAnimationTwinsSitDieCompletely;
if (_animationFrame == 12) {
Ambient_Sounds_Play_Sound(kSfxHEADHIT2, 59, 0, 0, 20);
}
diff --git a/engines/bladerunner/script/ai/maggie.cpp b/engines/bladerunner/script/ai/maggie.cpp
index 847c86a63b..4d25116286 100644
--- a/engines/bladerunner/script/ai/maggie.cpp
+++ b/engines/bladerunner/script/ai/maggie.cpp
@@ -60,9 +60,9 @@ void AIScriptMaggie::Initialize() {
_animationNext = 0;
var_45F3F8 = 0;
var_45F3FC = 0;
- var_45F400 = 0;
- var_45F404 = 0;
- var_45F408 = 0;
+ var_45F400 = 0; // only assigned to 0. Never checked. Unused.
+ var_45F404 = 0; // only assigned to 0. Never checked. Unused.
+ var_45F408 = 0; // only assigned to 0. Never checked. Unused.
Actor_Set_Goal_Number(kActorMaggie, kGoalMaggieMA02Default);
}
diff --git a/engines/bladerunner/script/ai/officer_grayford.cpp b/engines/bladerunner/script/ai/officer_grayford.cpp
index fcbe3e2cd0..c92790be78 100644
--- a/engines/bladerunner/script/ai/officer_grayford.cpp
+++ b/engines/bladerunner/script/ai/officer_grayford.cpp
@@ -25,9 +25,10 @@
namespace BladeRunner {
AIScriptOfficerGrayford::AIScriptOfficerGrayford(BladeRunnerEngine *vm) : AIScriptBase(vm) {
- _var1 = 0;
+ // _varChooseIdleAnimation can have valid values: 0, 1, 2
+ _varChooseIdleAnimation = 0;
_resumeIdleAfterFramesetCompletesFlag = false;
- _var3 = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
}
void AIScriptOfficerGrayford::Initialize() {
@@ -36,9 +37,9 @@ void AIScriptOfficerGrayford::Initialize() {
_animationStateNext = 0;
_animationNext = 0;
- _var1 = 0;
+ _varChooseIdleAnimation = 0;
_resumeIdleAfterFramesetCompletesFlag = false;
- _var3 = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
Actor_Put_In_Set(kActorOfficerGrayford, kSetFreeSlotG);
Actor_Set_At_Waypoint(kActorOfficerGrayford, 39, 0); // kSetFreeSlotG
@@ -914,7 +915,7 @@ bool AIScriptOfficerGrayford::GoalChanged(int currentGoalNumber, int newGoalNumb
case kGoalOfficerGrayfordDead:
_animationState = 32;
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(624) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordShotDead) - 1;
return true;
}
@@ -924,67 +925,67 @@ bool AIScriptOfficerGrayford::GoalChanged(int currentGoalNumber, int newGoalNumb
bool AIScriptOfficerGrayford::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- if (!_var1) {
- *animation = 625;
+ if (_varChooseIdleAnimation == 0) {
+ *animation = kModelAnimationOfficerGrayfordOscillateIdle;
}
- if (_var1 == 1) {
- *animation = 626;
+ if (_varChooseIdleAnimation == 1) {
+ *animation = kModelAnimationOfficerGrayfordLookAroundDownwardsIdle;
}
- if (_var1 == 2) {
- *animation = 627;
+ if (_varChooseIdleAnimation == 2) {
+ *animation = kModelAnimationOfficerGrayfordLookAroundSidewaysIdle;
}
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
- _var1 = 0;
+ _varChooseIdleAnimation = 0;
if (!Random_Query(0, 1)) {
- _var1 = Random_Query(1, 2);
+ _varChooseIdleAnimation = Random_Query(1, 2);
}
}
break;
case 1:
- *animation = 618;
+ *animation = kModelAnimationOfficerGrayfordWalking;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(618)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordWalking)) {
_animationFrame = 0;
}
break;
case 2:
- *animation = 619;
+ *animation = kModelAnimationOfficerGrayfordRunning;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(619)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordRunning)) {
_animationFrame = 0;
}
break;
case 5:
- *animation = 611;
+ *animation = kModelAnimationOfficerGrayfordCombatRunning;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(611)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordCombatRunning)) {
_animationFrame = 0;
}
break;
case 6:
- *animation = 610;
+ *animation = kModelAnimationOfficerGrayfordCombatWalking;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(610)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordCombatWalking)) {
_animationFrame = 0;
}
break;
case 9:
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
- *animation = 625;
+ *animation = kModelAnimationOfficerGrayfordOscillateIdle;
_animationState = 0;
- _var1 = 0;
+ _varChooseIdleAnimation = 0;
_resumeIdleAfterFramesetCompletesFlag = false;
} else {
- *animation = 629;
+ *animation = kModelAnimationOfficerGrayfordCalmExplainTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(629)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordCalmExplainTalk)) {
_animationFrame = 0;
_animationState = Random_Query(9, 11);
}
@@ -992,115 +993,115 @@ bool AIScriptOfficerGrayford::UpdateAnimation(int *animation, int *frame) {
break;
case 10:
- *animation = 630;
+ *animation = kModelAnimationOfficerGrayfordCalmRightHandMoveTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(630)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordCalmRightHandMoveTalk)) {
_animationFrame = 0;
_animationState = 9;
- *animation = 629;
+ *animation = kModelAnimationOfficerGrayfordCalmExplainTalk;
}
break;
case 11:
- *animation = 631;
+ *animation = kModelAnimationOfficerGrayfordScratchHeadTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(631)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordScratchHeadTalk)) {
_animationFrame = 0;
_animationState = 9;
- *animation = 629;
+ *animation = kModelAnimationOfficerGrayfordCalmExplainTalk;
}
break;
case 12:
- *animation = 632;
+ *animation = kModelAnimationOfficerGrayfordQuickHandMoveTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(632)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordQuickHandMoveTalk)) {
_animationFrame = 0;
_animationState = 9;
- *animation = 629;
+ *animation = kModelAnimationOfficerGrayfordCalmExplainTalk;
}
break;
case 13:
- *animation = 633;
+ *animation = kModelAnimationOfficerGrayfordSevereTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(633)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordSevereTalk)) {
_animationFrame = 0;
_animationState = 9;
- *animation = 629;
+ *animation = kModelAnimationOfficerGrayfordCalmExplainTalk;
}
break;
case 14:
- *animation = 634;
+ *animation = kModelAnimationOfficerGrayfordMockTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(634)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordMockTalk)) {
_animationFrame = 0;
_animationState = 9;
- *animation = 629;
+ *animation = kModelAnimationOfficerGrayfordCalmExplainTalk;
}
break;
case 15:
- *animation = 635;
+ *animation = kModelAnimationOfficerGrayfordPointingTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(635)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordPointingTalk)) {
_animationFrame = 0;
_animationState = 9;
- *animation = 629;
+ *animation = kModelAnimationOfficerGrayfordCalmExplainTalk;
}
break;
case 16:
- *animation = 636;
+ *animation = kModelAnimationOfficerGrayfordQuestionTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(636)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordQuestionTalk)) {
_animationFrame = 0;
_animationState = 9;
- *animation = 629;
+ *animation = kModelAnimationOfficerGrayfordCalmExplainTalk;
}
break;
case 17:
- *animation = 637;
+ *animation = kModelAnimationOfficerGrayfordDismissTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(637)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordDismissTalk)) {
_animationFrame = 0;
_animationState = 9;
- *animation = 629;
+ *animation = kModelAnimationOfficerGrayfordCalmExplainTalk;
}
break;
case 18:
// fall through
case 19:
- *animation = 605;
+ *animation = kModelAnimationOfficerGrayfordCombatIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(605)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordCombatIdle)) {
_animationFrame = 0;
}
break;
case 20:
- *animation = 615;
+ *animation = kModelAnimationOfficerGrayfordCombatUnholsterGun;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(615)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordCombatUnholsterGun)) {
_animationFrame = 0;
_animationState = 19;
}
break;
case 21:
- *animation = 616;
+ *animation = kModelAnimationOfficerGrayfordCombatHolsterGun;
++_animationFrame;
if (_animationFrame == 11) {
Ambient_Sounds_Play_Sound(kSfxHOLSTER1, 25, 0, 0, 25);
}
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
- *animation = 625;
+ *animation = kModelAnimationOfficerGrayfordOscillateIdle;
_animationFrame = 0;
_animationState = 0;
- _var1 = 0;
+ _varChooseIdleAnimation = 0;
if (Actor_Query_Goal_Number(kActorOfficerGrayford) == kGoalOfficerGrayfordArrivesToDR04) {
Actor_Set_Goal_Number(kActorOfficerGrayford, kGoalOfficerGrayfordArrivedAtDR04);
}
@@ -1108,7 +1109,7 @@ bool AIScriptOfficerGrayford::UpdateAnimation(int *animation, int *frame) {
break;
case 22:
- *animation = 617;
+ *animation = kModelAnimationOfficerGrayfordCombatFireGun;
++_animationFrame;
if (_animationFrame == 3) {
int snd;
@@ -1122,7 +1123,7 @@ bool AIScriptOfficerGrayford::UpdateAnimation(int *animation, int *frame) {
if (_animationFrame == 5) {
Actor_Combat_AI_Hit_Attempt(kActorOfficerGrayford);
}
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(617)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordCombatFireGun)) {
_animationState = 19;
_animationFrame = 0;
Actor_Change_Animation_Mode(kActorOfficerGrayford, kAnimationModeCombatIdle);
@@ -1130,49 +1131,49 @@ bool AIScriptOfficerGrayford::UpdateAnimation(int *animation, int *frame) {
break;
case 23:
- *animation = 617;
+ *animation = kModelAnimationOfficerGrayfordCombatFireGun;
if (_animationFrame < 2) {
++_animationFrame;
}
break;
case 24:
- *animation = 617;
+ *animation = kModelAnimationOfficerGrayfordCombatFireGun;
--_animationFrame;
if (_animationFrame < 0) {
_animationFrame = 0;
_animationState = 21;
- *animation = 616;
+ *animation = kModelAnimationOfficerGrayfordCombatHolsterGun;
}
break;
case 27:
- *animation = 608;
+ *animation = kModelAnimationOfficerGrayfordCombatGotHitRight;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(608) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordCombatGotHitRight) - 1) {
_animationFrame = 0;
_animationState = 19;
- *animation = 625;
+ *animation = kModelAnimationOfficerGrayfordOscillateIdle;
Actor_Change_Animation_Mode(kActorOfficerGrayford, kAnimationModeCombatIdle);
}
break;
case 28:
- *animation = 609;
+ *animation = kModelAnimationOfficerGrayfordCombatGotHitLeft;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(609) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordCombatGotHitLeft) - 1) {
_animationFrame = 0;
_animationState = 19;
- *animation = 625;
+ *animation = kModelAnimationOfficerGrayfordOscillateIdle;
Actor_Change_Animation_Mode(kActorOfficerGrayford, kAnimationModeCombatIdle);
}
break;
case 29:
- *animation = 622;
+ *animation = kModelAnimationOfficerGrayfordGotHitFront;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(622) - 1) {
- *animation = 605;
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordGotHitFront) - 1) {
+ *animation = kModelAnimationOfficerGrayfordCombatIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorOfficerGrayford, 0);
@@ -1180,10 +1181,10 @@ bool AIScriptOfficerGrayford::UpdateAnimation(int *animation, int *frame) {
break;
case 30:
- *animation = 623;
+ *animation = kModelAnimationOfficerGrayfordGotHitBack;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(623) - 1) {
- *animation = 605;
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordGotHitBack) - 1) {
+ *animation = kModelAnimationOfficerGrayfordCombatIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorOfficerGrayford, 0);
@@ -1191,80 +1192,80 @@ bool AIScriptOfficerGrayford::UpdateAnimation(int *animation, int *frame) {
break;
case 31:
- *animation = 612;
- if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(612) - 1) {
+ *animation = kModelAnimationOfficerGrayfordCombatShotDead;
+ if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordCombatShotDead) - 1) {
++_animationFrame;
}
break;
case 32:
- *animation = 624;
- if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(624) - 1) {
+ *animation = kModelAnimationOfficerGrayfordShotDead;
+ if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordShotDead) - 1) {
++_animationFrame;
}
break;
case 34:
- *animation = 639;
- if (_var3) {
- --_var3;
+ *animation = kModelAnimationOfficerGrayfordTalkToAndLowerRadio;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
} else {
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(639)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordTalkToAndLowerRadio)) {
if (Random_Query(0, 1)) {
- *animation = 641;
+ *animation = kModelAnimationOfficerGrayfordPutAwayRadioInPocket;
_animationState = 37;
} else {
- *animation = 638;
+ *animation = kModelAnimationOfficerGrayfordPlaceRadioToEar;
_animationState = 35;
}
_animationFrame = 0;
} else {
if (_animationFrame == 12) {
- _var3 = Random_Query(5, 18);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(5, 18);
}
}
}
break;
case 35:
- *animation = 638;
- if (_var3) {
- --_var3;
+ *animation = kModelAnimationOfficerGrayfordPlaceRadioToEar;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
} else {
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(638)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordPlaceRadioToEar)) {
if (Random_Query(0, 1)) {
- *animation = 641;
+ *animation = kModelAnimationOfficerGrayfordPutAwayRadioInPocket;
_animationState = 37;
} else {
- *animation = 639;
+ *animation = kModelAnimationOfficerGrayfordTalkToAndLowerRadio;
_animationState = 34;
}
_animationFrame = 0;
} else {
if (_animationFrame == 10) {
- _var3 = Random_Query(5, 18);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(5, 18);
}
}
}
break;
case 36:
- *animation = 640;
+ *animation = kModelAnimationOfficerGrayfordTakeOutRadioFromPocket;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(640)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordTakeOutRadioFromPocket)) {
_animationFrame = 0;
_animationState = 34;
- *animation = 639;
+ *animation = kModelAnimationOfficerGrayfordTalkToAndLowerRadio;
}
break;
case 37:
- *animation = 641;
+ *animation = kModelAnimationOfficerGrayfordPutAwayRadioInPocket;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(641)) {
- *animation = 625;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerGrayfordPutAwayRadioInPocket)) {
+ *animation = kModelAnimationOfficerGrayfordOscillateIdle;
_animationState = 0;
_animationFrame = 0;
@@ -1283,7 +1284,8 @@ bool AIScriptOfficerGrayford::UpdateAnimation(int *animation, int *frame) {
break;
default:
- *animation = 399;
+ // Dummy placeholder, kModelAnimationZubenWalking (399) is a Zuben animation
+ *animation = kModelAnimationZubenWalking;
break;
}
*frame = _animationFrame;
diff --git a/engines/bladerunner/script/ai/officer_leary.cpp b/engines/bladerunner/script/ai/officer_leary.cpp
index 8fd57e84dc..3d9017d304 100644
--- a/engines/bladerunner/script/ai/officer_leary.cpp
+++ b/engines/bladerunner/script/ai/officer_leary.cpp
@@ -26,16 +26,17 @@
namespace BladeRunner {
AIScriptOfficerLeary::AIScriptOfficerLeary(BladeRunnerEngine *vm) : AIScriptBase(vm) {
- var_45D5B8 = 0;
- var_45D5BC = 0;
+ // _varChooseIdleAnimation can have valid values: 0, 1, 2
+ _varChooseIdleAnimation = 0;
+ _idleModeRequestedWhileInTalkingState = false;
}
void AIScriptOfficerLeary::Initialize() {
_animationState = 0;
_animationFrame = 0;
_animationStateNext = 0;
- var_45D5B8 = 0;
- var_45D5BC = 0;
+ _varChooseIdleAnimation = 0;
+ _idleModeRequestedWhileInTalkingState = false;
_animationNext = 0;
Actor_Put_In_Set(kActorOfficerLeary, kSetRC01);
@@ -722,22 +723,22 @@ bool AIScriptOfficerLeary::GoalChanged(int currentGoalNumber, int newGoalNumber)
bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 32:
- *animation = 603;
+ *animation = kModelAnimationOfficerLearyPutNotepadAway;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(603)) {
- *animation = 589;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyPutNotepadAway)) {
+ *animation = kModelAnimationOfficerLearyOscillateIdle;
_animationState = 0;
- var_45D5B8 = 0;
+ _varChooseIdleAnimation = 0;
_animationFrame = 0;
}
*frame = _animationFrame;
return true;
case 31:
- *animation = 604;
+ *animation = kModelAnimationOfficerLearyTakeOutNotepad;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(604)) {
- *animation = 601;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyTakeOutNotepad)) {
+ *animation = kModelAnimationOfficerLearyTakingNotes;
_animationState = 1;
_animationFrame = 0;
}
@@ -745,10 +746,10 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
return true;
case 30:
- *animation = 587;
+ *animation = kModelAnimationOfficerLearyGotHitBack;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(587)) {
- *animation = 589;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyGotHitBack)) {
+ *animation = kModelAnimationOfficerLearyOscillateIdle;
_animationState = 0;
_animationFrame = 0;
Actor_Change_Animation_Mode(kActorOfficerLeary, kAnimationModeIdle);
@@ -757,10 +758,10 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
return true;
case 29:
- *animation = 586;
+ *animation = kModelAnimationOfficerLearyGotHitFront;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(586)) {
- *animation = 589;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyGotHitFront)) {
+ *animation = kModelAnimationOfficerLearyOscillateIdle;
_animationState = 0;
_animationFrame = 0;
Actor_Change_Animation_Mode(kActorOfficerLeary, kAnimationModeIdle);
@@ -769,47 +770,47 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
return true;
case 28:
- *animation = 576;
- if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(576) - 1) {
+ *animation = kModelAnimationOfficerLearyCombatShotDead;
+ if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCombatShotDead) - 1) {
++_animationFrame;
}
*frame = _animationFrame;
return true;
case 27:
- *animation = 588;
- if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(588) - 1) {
+ *animation = kModelAnimationOfficerLearyShotDead;
+ if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyShotDead) - 1) {
++_animationFrame;
}
*frame = _animationFrame;
return true;
case 26:
- *animation = 573;
+ *animation = kModelAnimationOfficerLearyCombatGotHitLeft;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(573)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCombatGotHitLeft)) {
_animationState = 21;
_animationFrame = 0;
- *animation = 571;
+ *animation = kModelAnimationOfficerLearyCombatIdle;
Actor_Change_Animation_Mode(kActorOfficerLeary, kAnimationModeCombatIdle);
}
*frame = _animationFrame;
return true;
case 25:
- *animation = 572;
+ *animation = kModelAnimationOfficerLearyCombatGotHitRight;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(572)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCombatGotHitRight)) {
_animationState = 21;
_animationFrame = 0;
- *animation = 571;
+ *animation = kModelAnimationOfficerLearyCombatIdle;
Actor_Change_Animation_Mode(kActorOfficerLeary, kAnimationModeCombatIdle);
}
*frame = _animationFrame;
return true;
case 24:
- *animation = 581;
+ *animation = kModelAnimationOfficerLearyCombatFireGun;
++_animationFrame;
if (_animationFrame == 4) {
if (Random_Query(1, 2) == 1) {
@@ -821,20 +822,20 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
if (_animationFrame == 5) {
Actor_Combat_AI_Hit_Attempt(kActorOfficerLeary);
}
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(581)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCombatFireGun)) {
_animationState = 21;
_animationFrame = 0;
- *animation = 571;
+ *animation = kModelAnimationOfficerLearyCombatIdle;
Actor_Change_Animation_Mode(kActorOfficerLeary, kAnimationModeCombatIdle);
}
*frame = _animationFrame;
return true;
case 23:
- *animation = 580;
+ *animation = kModelAnimationOfficerLearyCombatHolsterGun;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(580)) {
- *animation = 589;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCombatHolsterGun)) {
+ *animation = kModelAnimationOfficerLearyOscillateIdle;
_animationState = 0;
_animationFrame = 0;
}
@@ -842,143 +843,143 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
return true;
case 22:
- *animation = 579;
+ *animation = kModelAnimationOfficerLearyCombatUnholsterGun;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(579)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCombatUnholsterGun)) {
_animationState = 21;
_animationFrame = 0;
- *animation = 571;
+ *animation = kModelAnimationOfficerLearyCombatIdle;
}
*frame = _animationFrame;
return true;
case 21:
- *animation = 571;
+ *animation = kModelAnimationOfficerLearyCombatIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(571)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCombatIdle)) {
_animationFrame = 0;
}
*frame = _animationFrame;
return true;
case 20:
- *animation = 571;
+ *animation = kModelAnimationOfficerLearyCombatIdle;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(571) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCombatIdle) - 1) {
_animationFrame = 0;
}
*frame = _animationFrame;
return true;
case 19:
- *animation = 600;
+ *animation = kModelAnimationOfficerLearyScratchHeadApologyTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(600)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyScratchHeadApologyTalk)) {
_animationState = 11;
_animationFrame = 0;
- *animation = 592;
+ *animation = kModelAnimationOfficerLearyCalmExplainTalk;
}
*frame = _animationFrame;
return true;
case 18:
- *animation = 599;
+ *animation = kModelAnimationOfficerLearyHandsOnWaistTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(599)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyHandsOnWaistTalk)) {
_animationState = 11;
_animationFrame = 0;
- *animation = 592;
+ *animation = kModelAnimationOfficerLearyCalmExplainTalk;
}
*frame = _animationFrame;
return true;
case 17:
- *animation = 598;
+ *animation = kModelAnimationOfficerLearyUrgeOrQuestionTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(598)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyUrgeOrQuestionTalk)) {
_animationState = 11;
_animationFrame = 0;
- *animation = 592;
+ *animation = kModelAnimationOfficerLearyCalmExplainTalk;
}
*frame = _animationFrame;
return true;
case 16:
- *animation = 597;
+ *animation = kModelAnimationOfficerLearyMoreUpsetTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(597)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyMoreUpsetTalk)) {
_animationState = 11;
_animationFrame = 0;
- *animation = 592;
+ *animation = kModelAnimationOfficerLearyCalmExplainTalk;
}
*frame = _animationFrame;
return true;
case 15:
- *animation = 596;
+ *animation = kModelAnimationOfficerLearyUpsetOrCommandTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(596)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyUpsetOrCommandTalk)) {
_animationState = 11;
_animationFrame = 0;
- *animation = 592;
+ *animation = kModelAnimationOfficerLearyCalmExplainTalk;
}
*frame = _animationFrame;
return true;
case 14:
- *animation = 595;
+ *animation = kModelAnimationOfficerLearyWarnOrThreatenTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(595)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyWarnOrThreatenTalk)) {
_animationState = 11;
_animationFrame = 0;
- *animation = 592;
+ *animation = kModelAnimationOfficerLearyCalmExplainTalk;
}
*frame = _animationFrame;
return true;
case 13:
- *animation = 594;
+ *animation = kModelAnimationOfficerLearyLongerExplainTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(594)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyLongerExplainTalk)) {
_animationState = 11;
_animationFrame = 0;
- *animation = 592;
+ *animation = kModelAnimationOfficerLearyCalmExplainTalk;
}
*frame = _animationFrame;
return true;
case 12:
- *animation = 593;
+ *animation = kModelAnimationOfficerLearyIndicateTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(593)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyIndicateTalk)) {
_animationState = 11;
_animationFrame = 0;
- *animation = 592;
+ *animation = kModelAnimationOfficerLearyCalmExplainTalk;
}
*frame = _animationFrame;
return true;
case 11:
if (_animationFrame <= 2) {
- var_45D5BC = 0;
+ _idleModeRequestedWhileInTalkingState = false;
_animationState = 0;
_animationFrame = 0;
- *animation = 589;
- var_45D5B8 = Random_Query(0, 1);
+ *animation = kModelAnimationOfficerLearyOscillateIdle;
+ _varChooseIdleAnimation = Random_Query(0, 1);
*frame = _animationFrame;
return true;
}
- *animation = 592;
+ *animation = kModelAnimationOfficerLearyCalmExplainTalk;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(592)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCalmExplainTalk)) {
_animationFrame = 0;
- if (var_45D5BC) {
- var_45D5BC = 0;
+ if (_idleModeRequestedWhileInTalkingState) {
+ _idleModeRequestedWhileInTalkingState = false;
_animationState = 0;
_animationFrame = 0;
- *animation = 589;
- var_45D5B8 = Random_Query(0, 1);
+ *animation = kModelAnimationOfficerLearyOscillateIdle;
+ _varChooseIdleAnimation = Random_Query(0, 1);
} else {
_animationState = Random_Query(0, 8) + 11;
}
@@ -988,72 +989,72 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
return true;
case 10:
- *animation = 578;
+ *animation = kModelAnimationOfficerLearyCombatClimbStairsDown;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(578)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCombatClimbStairsDown)) {
_animationFrame = 0;
}
*frame = _animationFrame;
return true;
case 9:
- *animation = 577;
+ *animation = kModelAnimationOfficerLearyCombatClimbStairsUp;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(577)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCombatClimbStairsUp)) {
_animationFrame = 0;
}
*frame = _animationFrame;
return true;
case 8:
- *animation = 575;
+ *animation = kModelAnimationOfficerLearyCombatRunning;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(575)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCombatRunning)) {
_animationFrame = 0;
}
*frame = _animationFrame;
return true;
case 7:
- *animation = 574;
+ *animation = kModelAnimationOfficerLearyCombatWalking;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(574)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyCombatWalking)) {
_animationFrame = 0;
}
*frame = _animationFrame;
return true;
case 6:
- *animation = 585;
+ *animation = kModelAnimationOfficerLearyClimbStairsDown;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(585)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyClimbStairsDown)) {
_animationFrame = 0;
}
*frame = _animationFrame;
return true;
case 5:
- *animation = 584;
+ *animation = kModelAnimationOfficerLearyClimbStairsUp;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(584)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyClimbStairsUp)) {
_animationFrame = 0;
}
*frame = _animationFrame;
return true;
case 4:
- *animation = 583;
+ *animation = kModelAnimationOfficerLearyRunning;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(583)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyRunning)) {
_animationFrame = 0;
}
*frame = _animationFrame;
return true;
case 3:
- *animation = 582;
+ *animation = kModelAnimationOfficerLearyWalking;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(582)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyWalking)) {
_animationFrame = 0;
}
*frame = _animationFrame;
@@ -1061,23 +1062,23 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
case 2:
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
- *animation = 603;
+ *animation = kModelAnimationOfficerLearyPutNotepadAway;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(603)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyPutNotepadAway)) {
Game_Flag_Reset(kFlagOfficerLearyTakingNotes);
_animationFrame = 0;
_animationState = _animationStateNext;
*animation = _animationNext;
}
} else {
- if (var_45D5B8 == 0) {
- *animation = 589;
+ if (_varChooseIdleAnimation == 0) {
+ *animation = kModelAnimationOfficerLearyOscillateIdle;
}
- if (var_45D5B8 == 1) {
- *animation = 590;
+ if (_varChooseIdleAnimation == 1) {
+ *animation = kModelAnimationOfficerLearyLookAroundIdle;
}
- if (var_45D5B8 == 2) {
- *animation = 591;
+ if (_varChooseIdleAnimation == 2) {
+ *animation = kModelAnimationOfficerLearyRockBackForthIdle;
}
if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(*animation) / 2) {
_animationFrame += 3;
@@ -1099,15 +1100,15 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
return true;
case 1:
- *animation = 601;
+ *animation = kModelAnimationOfficerLearyTakingNotes;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(601)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyTakingNotes)) {
_animationFrame = 0;
}
if (!Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
_animationState = 32;
_animationFrame = 0;
- *animation = 603;
+ *animation = kModelAnimationOfficerLearyPutNotepadAway;
}
*frame = _animationFrame;
return true;
@@ -1117,34 +1118,34 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
&& !Game_Flag_Query(kFlagRC01McCoyAndOfficerLearyTalking)) {
_animationState = 31;
_animationFrame = 0;
- *animation = 604;
- } else if (var_45D5B8 == 1) {
- *animation = 590;
+ *animation = kModelAnimationOfficerLearyTakeOutNotepad;
+ } else if (_varChooseIdleAnimation == 1) {
+ *animation = kModelAnimationOfficerLearyLookAroundIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(590)) {
- var_45D5B8 = Random_Query(0, 2);
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyLookAroundIdle)) {
+ _varChooseIdleAnimation = Random_Query(0, 2);
_animationFrame = 0;
}
- } else if (var_45D5B8 == 2) {
- *animation = 591;
+ } else if (_varChooseIdleAnimation == 2) {
+ *animation = kModelAnimationOfficerLearyRockBackForthIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(591)) {
- var_45D5B8 = Random_Query(0, 2);
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyRockBackForthIdle)) {
+ _varChooseIdleAnimation = Random_Query(0, 2);
_animationFrame = 0;
}
- } else if (var_45D5B8 == 0) {
- *animation = 589;
+ } else if (_varChooseIdleAnimation == 0) {
+ *animation = kModelAnimationOfficerLearyOscillateIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(589)) {
- var_45D5B8 = Random_Query(0, 2);
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationOfficerLearyOscillateIdle)) {
+ _varChooseIdleAnimation = Random_Query(0, 2);
_animationFrame = 0;
}
}
*frame = _animationFrame;
return true;
default:
- // TODO A bug? This is an animation of Zuben
- *animation = 399;
+ // Dummy placeholder, kModelAnimationZubenWalking (399) is a Zuben animation
+ *animation = kModelAnimationZubenWalking;
*frame = _animationFrame;
return true;
}
@@ -1187,7 +1188,7 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
case 18:
// fall through
case 19:
- var_45D5BC = 1;
+ _idleModeRequestedWhileInTalkingState = true;
break;
case 0:
@@ -1198,7 +1199,7 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
default:
_animationState = 0;
_animationFrame = 0;
- var_45D5B8 = Random_Query(0, 1);
+ _varChooseIdleAnimation = Random_Query(0, 1);
break;
}
break;
@@ -1217,7 +1218,7 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
if (_animationState == 1) {
_animationState = 2;
_animationStateNext = 11;
- _animationNext = 592;
+ _animationNext = kModelAnimationOfficerLearyCalmExplainTalk;
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
_animationFrame = 0;
}
@@ -1225,7 +1226,7 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
else if (_animationState > 19) {
_animationState = 11;
_animationFrame = 0;
- var_45D5BC = 0;
+ _idleModeRequestedWhileInTalkingState = false;
}
break;
@@ -1280,14 +1281,14 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
if (_animationState == 1) {
_animationState = 2;
_animationStateNext = 12;
- _animationNext = 593;
+ _animationNext = kModelAnimationOfficerLearyIndicateTalk;
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
_animationFrame = 0;
}
} else if (_animationState > 19) {
_animationState = 12;
_animationFrame = 0;
- var_45D5BC = 0;
+ _idleModeRequestedWhileInTalkingState = false;
}
break;
@@ -1295,14 +1296,14 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
if (_animationState == 1) {
_animationState = 2;
_animationStateNext = 13;
- _animationNext = 594;
+ _animationNext = kModelAnimationOfficerLearyLongerExplainTalk;
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
_animationFrame = 0;
}
} else if (_animationState > 19) {
_animationState = 13;
_animationFrame = 0;
- var_45D5BC = 0;
+ _idleModeRequestedWhileInTalkingState = false;
}
break;
@@ -1310,14 +1311,14 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
if (_animationState == 1) {
_animationState = 2;
_animationStateNext = 14;
- _animationNext = 595;
+ _animationNext = kModelAnimationOfficerLearyWarnOrThreatenTalk;
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
_animationFrame = 0;
}
} else if (_animationState > 19) {
_animationState = 14;
_animationFrame = 0;
- var_45D5BC = 0;
+ _idleModeRequestedWhileInTalkingState = false;
}
break;
@@ -1325,14 +1326,14 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
if (_animationState == 1) {
_animationState = 2;
_animationStateNext = 15;
- _animationNext = 596;
+ _animationNext = kModelAnimationOfficerLearyUpsetOrCommandTalk;
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
_animationFrame = 0;
}
} else if (_animationState > 19) {
_animationState = 15;
_animationFrame = 0;
- var_45D5BC = 0;
+ _idleModeRequestedWhileInTalkingState = false;
}
break;
@@ -1340,14 +1341,14 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
if (_animationState == 1) {
_animationState = 2;
_animationStateNext = 16;
- _animationNext = 597;
+ _animationNext = kModelAnimationOfficerLearyMoreUpsetTalk;
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
_animationFrame = 0;
}
} else if (_animationState > 19) {
_animationState = 16;
_animationFrame = 0;
- var_45D5BC = 0;
+ _idleModeRequestedWhileInTalkingState = false;
}
break;
@@ -1355,14 +1356,14 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
if (_animationState == 1) {
_animationState = 2;
_animationStateNext = 17;
- _animationNext = 598;
+ _animationNext = kModelAnimationOfficerLearyUrgeOrQuestionTalk;
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
_animationFrame = 0;
}
} else if (_animationState > 19) {
_animationState = 17;
_animationFrame = 0;
- var_45D5BC = 0;
+ _idleModeRequestedWhileInTalkingState = false;
}
break;
@@ -1370,14 +1371,14 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
if (_animationState == 1) {
_animationState = 2;
_animationStateNext = 18;
- _animationNext = 599;
+ _animationNext = kModelAnimationOfficerLearyHandsOnWaistTalk;
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
_animationFrame = 0;
}
} else if (_animationState > 19) {
_animationState = 18;
_animationFrame = 0;
- var_45D5BC = 0;
+ _idleModeRequestedWhileInTalkingState = false;
}
break;
@@ -1385,14 +1386,14 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
if (_animationState == 1) {
_animationState = 2;
_animationStateNext = 19;
- _animationNext = 600;
+ _animationNext = kModelAnimationOfficerLearyScratchHeadApologyTalk;
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
_animationFrame = 0;
}
} else if (_animationState > 19) {
_animationState = 19;
_animationFrame = 0;
- var_45D5BC = 0;
+ _idleModeRequestedWhileInTalkingState = false;
}
break;
diff --git a/engines/bladerunner/script/ai/sadik.cpp b/engines/bladerunner/script/ai/sadik.cpp
index 62d95ff3a2..c436cfb314 100644
--- a/engines/bladerunner/script/ai/sadik.cpp
+++ b/engines/bladerunner/script/ai/sadik.cpp
@@ -27,8 +27,9 @@ namespace BladeRunner {
AIScriptSadik::AIScriptSadik(BladeRunnerEngine *vm) : AIScriptBase(vm) {
_resumeIdleAfterFramesetCompletesFlag = false;
_nextSoundId = -1; // changed from original (0) to be more clear that this is an invalid sfx id
- _var2 = 0;
- _var3 = 0;
+ // _varChooseIdleAnimation can have valid values: 0, 1
+ _varChooseIdleAnimation = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
_var4 = 1;
}
@@ -40,8 +41,8 @@ void AIScriptSadik::Initialize() {
_resumeIdleAfterFramesetCompletesFlag = false;
_nextSoundId = -1; // changed from original (0) to be more clear that this is an invalid sfx id
- _var2 = 0;
- _var3 = 0;
+ _varChooseIdleAnimation = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
_var4 = 1;
Actor_Put_In_Set(kActorSadik, kSetFreeSlotA);
@@ -496,40 +497,40 @@ bool AIScriptSadik::GoalChanged(int currentGoalNumber, int newGoalNumber) {
bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- if (_var2 == 1) {
- *animation = 329;
+ if (_varChooseIdleAnimation == 1) {
+ *animation = kModelAnimationSadikShiftsShoulders;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(329)) {
- *animation = 328;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikShiftsShoulders)) {
+ *animation = kModelAnimationSadikIdle;
_animationFrame = 0;
- _var2 = 0;
+ _varChooseIdleAnimation = 0;
}
- } else if (_var2 == 0) {
- *animation = 328;
- if (_var3) {
- --_var3;
+ } else if (_varChooseIdleAnimation == 0) {
+ *animation = kModelAnimationSadikIdle;
+ if (_varNumOfTimesToHoldCurrentFrame > 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
if (!Random_Query(0, 6)) {
_var4 = -_var4;
}
} else {
_animationFrame += _var4;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(328)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikIdle)) {
_animationFrame = 0;
}
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(328) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikIdle) - 1;
}
if (!Random_Query(0, 4)) {
- _var3 = 1;
+ _varNumOfTimesToHoldCurrentFrame = 1;
}
if (_animationFrame == 0 || _animationFrame == 8) {
- _var3 = Random_Query(2, 8);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(2, 8);
}
if (!Random_Query(0, 2)) {
if (_animationFrame == 0) {
- _var2 = 1;
- _var3 = 0;
- *animation = 329;
+ _varChooseIdleAnimation = 1;
+ _varNumOfTimesToHoldCurrentFrame = 0;
+ *animation = kModelAnimationSadikShiftsShoulders;
}
}
}
@@ -549,27 +550,27 @@ bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
case 6:
switch (_animationState) {
case 1:
- *animation = 323;
+ *animation = kModelAnimationSadikWalking;
break;
case 2:
- *animation = 324;
+ *animation = kModelAnimationSadikRunning;
break;
case 3:
- *animation = 317;
+ *animation = kModelAnimationSadikCombatWalking;
break;
case 4:
- *animation = 318;
+ *animation = kModelAnimationSadikCombatRunning;
break;
case 6:
- *animation = 340;
+ *animation = kModelAnimationSadikClimbLadderUp;
break;
case 5:
- *animation = 339;
+ *animation = kModelAnimationSadikClimbLadderDown;
break;
}
++_animationFrame;
@@ -579,40 +580,40 @@ bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
break;
case 7:
- *animation = 312;
+ *animation = kModelAnimationSadikCombatIdle;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(312)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikCombatIdle)) {
_animationFrame = 0;
}
break;
case 8:
- *animation = 313;
+ *animation = kModelAnimationSadikCombatTurnRight;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(313)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikCombatTurnRight)) {
_animationFrame = 0;
_animationState = 7;
- *animation = 312;
+ *animation = kModelAnimationSadikCombatIdle;
Actor_Change_Animation_Mode(kActorSadik, kAnimationModeCombatIdle);
}
break;
case 9:
- *animation = 314;
+ *animation = kModelAnimationSadikCombatTurnLeft;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(314)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikCombatTurnLeft)) {
_animationFrame = 0;
_animationState = 7;
- *animation = 312;
+ *animation = kModelAnimationSadikCombatIdle;
Actor_Change_Animation_Mode(kActorSadik, kAnimationModeCombatIdle);
}
break;
case 10:
- *animation = 325;
+ *animation = kModelAnimationSadikGotHitFront;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(325)) {
- *animation = 328;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikGotHitFront)) {
+ *animation = kModelAnimationSadikIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorSadik, kAnimationModeIdle);
@@ -620,10 +621,10 @@ bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
break;
case 11:
- *animation = 326;
+ *animation = kModelAnimationSadikGotHitMore;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(326)) {
- *animation = 328;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikGotHitMore)) {
+ *animation = kModelAnimationSadikIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorSadik, kAnimationModeIdle);
@@ -631,63 +632,64 @@ bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
break;
case 12:
- *animation = 315;
+ *animation = kModelAnimationSadikCombatGotHitFront;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(315)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikCombatGotHitFront)) {
_animationFrame = 0;
_animationState = 7;
- *animation = 312;
+ *animation = kModelAnimationSadikCombatIdle;
Actor_Change_Animation_Mode(kActorSadik, kAnimationModeCombatIdle);
}
break;
case 13:
- *animation = 316;
+ *animation = kModelAnimationSadikCombatGotHitMore;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(316)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikCombatGotHitMore)) {
_animationFrame = 0;
_animationState = 7;
- *animation = 312;
+ *animation = kModelAnimationSadikCombatIdle;
Actor_Change_Animation_Mode(kActorSadik, kAnimationModeCombatIdle);
}
break;
case 14:
- *animation = 327;
- if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(327) - 1) {
+ *animation = kModelAnimationSadikShotDead;
+ if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikShotDead) - 1) {
++_animationFrame;
}
break;
case 15:
- *animation = 327;
- if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(327) - 1) {
+ // A bug? This is identical to case 14. Maybe make case 14 fall through?
+ *animation = kModelAnimationSadikShotDead;
+ if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikShotDead) - 1) {
++_animationFrame;
}
break;
case 16:
- *animation = 320;
+ *animation = kModelAnimationSadikCombatUnholsterGun;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(320)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikCombatUnholsterGun)) {
_animationFrame = 0;
_animationState = 7;
- *animation = 312;
+ *animation = kModelAnimationSadikCombatIdle;
}
break;
case 17:
- *animation = 321;
+ *animation = kModelAnimationSadikCombatHolsterGun;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(321)) {
- *animation = 328;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikCombatHolsterGun)) {
+ *animation = kModelAnimationSadikIdle;
_animationFrame = 0;
_animationState = 0;
}
break;
case 18:
- *animation = 322;
+ *animation = kModelAnimationSadikCombatFireGunAndReturnToPoseIdle;
++_animationFrame;
if (_animationFrame == 5) {
int snd;
@@ -701,23 +703,23 @@ bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
if (_animationFrame == 7) {
Actor_Combat_AI_Hit_Attempt(kActorSadik);
}
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(322)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikCombatFireGunAndReturnToPoseIdle)) {
_animationFrame = 0;
_animationState = 7;
- *animation = 312;
+ *animation = kModelAnimationSadikCombatIdle;
Actor_Change_Animation_Mode(kActorSadik, kAnimationModeCombatIdle);
}
break;
case 19:
- *animation = 331;
+ *animation = kModelAnimationSadikCalmTalk;
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
- *animation = 328;
+ *animation = kModelAnimationSadikIdle;
_animationState = 0;
_resumeIdleAfterFramesetCompletesFlag = false;
} else {
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(331)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikCalmTalk)) {
_animationFrame = 0;
}
}
@@ -738,46 +740,46 @@ bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
case 26:
switch (_animationState) {
case 20:
- *animation = 332;
+ *animation = kModelAnimationSadikMoreCalmTalk;
break;
case 21:
- *animation = 333;
+ *animation = kModelAnimationSadikSuggestTalk;
break;
case 22:
- *animation = 334;
+ *animation = kModelAnimationSadikUrgeTalk;
break;
case 23:
- *animation = 335;
+ *animation = kModelAnimationSadikAccuseTalk;
break;
case 24:
- *animation = 336;
+ *animation = kModelAnimationSadikProtestTalk;
break;
case 25:
- *animation = 337;
+ *animation = kModelAnimationSadikMockTalk;
break;
default:
- *animation = 338;
+ *animation = kModelAnimationSadikThisAndThatTalk;
break;
}
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
_animationState = 19;
- *animation = 331;
+ *animation = kModelAnimationSadikCalmTalk;
}
break;
case 27:
- *animation = 330;
+ *animation = kModelAnimationSadikGesturePointOrGive;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(330)) {
- *animation = 328;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikGesturePointOrGive)) {
+ *animation = kModelAnimationSadikIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorSadik, kAnimationModeIdle);
@@ -785,30 +787,30 @@ bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
break;
case 28:
- *animation = 341;
+ *animation = kModelAnimationSadikJumpAcross;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(341)) {
- *animation = 328;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikJumpAcross)) {
+ *animation = kModelAnimationSadikIdle;
_animationFrame = 0;
_animationState = 0;
}
break;
case 29:
- *animation = 342;
+ *animation = kModelAnimationSadikHangingDropsDown;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(342)) {
- *animation = 328;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikHangingDropsDown)) {
+ *animation = kModelAnimationSadikIdle;
_animationFrame = 0;
_animationState = 0;
}
break;
case 30:
- *animation = 343;
+ *animation = kModelAnimationSadikKicksSomeoneWhoIsDown;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(343)) {
- *animation = 328;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikKicksSomeoneWhoIsDown)) {
+ *animation = kModelAnimationSadikIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorSadik, kAnimationModeIdle);
@@ -816,10 +818,10 @@ bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
break;
case 31:
- *animation = 344;
+ *animation = kModelAnimationSadikHoldsSomeoneAndPunches;
++_animationFrame;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(344)) {
- *animation = 328;
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSadikHoldsSomeoneAndPunches)) {
+ *animation = kModelAnimationSadikIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorSadik, kAnimationModeIdle);
@@ -827,21 +829,23 @@ bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
break;
case 32:
- *animation = 345;
+ *animation = kModelAnimationSadikPicksUpAndThrowsMcCoy;
++_animationFrame;
if (_animationFrame == 23) {
_nextSoundId = kSfxMTLDOOR2;
}
if (_animationFrame >= 25) {
+ // TODO last frames 27-30 are empty
+ // but maybe we could still accept frames 25 and 26!
_animationFrame = 0;
_animationState = 0;
- *animation = 328;
+ *animation = kModelAnimationSadikIdle;
Actor_Set_Goal_Number(kActorSadik, kGoalSadikBB11CatchMcCoy);
}
break;
case 33:
- *animation = 344;
+ *animation = kModelAnimationSadikHoldsSomeoneAndPunches;
++_animationFrame;
if (Actor_Query_Goal_Number(kActorSadik) == kGoalSadikBB11KnockOutMcCoy) {
if (_animationFrame == 4) {
@@ -852,7 +856,7 @@ bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
}
}
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
- *animation = 328;
+ *animation = kModelAnimationSadikIdle;
_animationFrame = 0;
_animationState = 0;
@@ -864,7 +868,7 @@ bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
break;
case 34:
- *animation = 343;
+ *animation = kModelAnimationSadikKicksSomeoneWhoIsDown;
++_animationFrame;
if (_animationFrame == 4) {
if (Actor_Query_Goal_Number(kActorSadik) == kGoalSadikBB11KnockOutMcCoy) {
@@ -877,7 +881,7 @@ bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
}
if (_animationFrame >= 15) {
- *animation = 328;
+ *animation = kModelAnimationSadikIdle;
_animationFrame = 0;
_animationState = 0;
Actor_Change_Animation_Mode(kActorSadik, kAnimationModeIdle);
@@ -937,7 +941,7 @@ bool AIScriptSadik::ChangeAnimationMode(int mode) {
default:
_animationState = 0;
_animationFrame = 0;
- _var3 = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
break;
}
break;
diff --git a/engines/bladerunner/script/ai/sebastian.cpp b/engines/bladerunner/script/ai/sebastian.cpp
index 15d85deaca..79ef494de7 100644
--- a/engines/bladerunner/script/ai/sebastian.cpp
+++ b/engines/bladerunner/script/ai/sebastian.cpp
@@ -146,35 +146,35 @@ bool AIScriptSebastian::GoalChanged(int currentGoalNumber, int newGoalNumber) {
bool AIScriptSebastian::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- *animation = 811;
+ *animation = kModelAnimationSebastianIdle;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(811) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationSebastianIdle) - 1) {
_animationFrame = 0;
}
break;
case 1:
- *animation = 809;
+ *animation = kModelAnimationSebastianWalking;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(809) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationSebastianWalking) - 1) {
_animationFrame = 0;
}
break;
case 2:
- *animation = 810;
+ *animation = kModelAnimationSebastianStepsBack;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(810) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationSebastianStepsBack) - 1) {
Actor_Change_Animation_Mode(kActorSebastian, kAnimationModeIdle);
- *animation = 811;
+ *animation = kModelAnimationSebastianIdle;
_animationFrame = 0;
_animationState = 0;
}
break;
case 3:
- *animation = 821;
- if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(821) - 1) {
+ *animation = kModelAnimationSebastianTriesToRunHitsHeadAndFalls;
+ if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(kModelAnimationSebastianTriesToRunHitsHeadAndFalls) - 1) {
++_animationFrame;
}
break;
@@ -182,85 +182,85 @@ bool AIScriptSebastian::UpdateAnimation(int *animation, int *frame) {
case 4:
if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
Actor_Change_Animation_Mode(kActorSebastian, kAnimationModeIdle);
- *animation = 811;
+ *animation = kModelAnimationSebastianIdle;
_animationState = 0;
_animationFrame = 0;
} else {
- *animation = 813;
+ *animation = kModelAnimationSebastianCalmHeadNodLeftTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(813) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationSebastianCalmHeadNodLeftTalk) - 1) {
_animationFrame = 0;
}
}
break;
case 5:
- *animation = 814;
+ *animation = kModelAnimationSebastianCalmHeadNodRightTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(814) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationSebastianCalmHeadNodRightTalk) - 1) {
_animationFrame = 0;
_animationState = 4;
- *animation = 813;
+ *animation = kModelAnimationSebastianCalmHeadNodLeftTalk;
}
break;
case 6:
- *animation = 815;
+ *animation = kModelAnimationSebastianSuggestTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(815) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationSebastianSuggestTalk) - 1) {
_animationFrame = 0;
_animationState = 4;
- *animation = 813;
+ *animation = kModelAnimationSebastianCalmHeadNodLeftTalk;
}
break;
case 7:
- *animation = 816;
+ *animation = kModelAnimationSebastianWonderingTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(816) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationSebastianWonderingTalk) - 1) {
_animationFrame = 0;
_animationState = 4;
- *animation = 813;
+ *animation = kModelAnimationSebastianCalmHeadNodLeftTalk;
}
break;
case 8:
- *animation = 817;
+ *animation = kModelAnimationSebastianPointingToSelfTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(817) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationSebastianPointingToSelfTalk) - 1) {
_animationFrame = 0;
_animationState = 4;
- *animation = 813;
+ *animation = kModelAnimationSebastianCalmHeadNodLeftTalk;
}
break;
case 9:
- *animation = 818;
+ *animation = kModelAnimationSebastianScratchEarTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(818) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationSebastianScratchEarTalk) - 1) {
_animationFrame = 0;
_animationState = 4;
- *animation = 813;
+ *animation = kModelAnimationSebastianCalmHeadNodLeftTalk;
}
break;
case 10:
- *animation = 819;
+ *animation = kModelAnimationSebastianAnnoyedTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(819) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationSebastianAnnoyedTalk) - 1) {
_animationFrame = 0;
_animationState = 4;
- *animation = 813;
+ *animation = kModelAnimationSebastianCalmHeadNodLeftTalk;
}
break;
case 11:
- *animation = 820;
+ *animation = kModelAnimationSebastianWaitTalk;
++_animationFrame;
- if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(820) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationSebastianWaitTalk) - 1) {
_animationFrame = 0;
_animationState = 4;
- *animation = 813;
+ *animation = kModelAnimationSebastianCalmHeadNodLeftTalk;
}
break;
diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp
index f96a64133b..f8a8674c88 100644
--- a/engines/bladerunner/script/ai/steele.cpp
+++ b/engines/bladerunner/script/ai/steele.cpp
@@ -26,8 +26,9 @@ namespace BladeRunner {
AIScriptSteele::AIScriptSteele(BladeRunnerEngine *vm) : AIScriptBase(vm) {
_resumeIdleAfterFramesetCompletesFlag = false;
- _var1 = 0;
- _var2 = 0;
+ // _varChooseIdleAnimation can have valid values: 0, 1, 3 (value 2 is skipped)
+ _varChooseIdleAnimation = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
}
void AIScriptSteele::Initialize() {
@@ -37,8 +38,8 @@ void AIScriptSteele::Initialize() {
_animationNext = 0;
_resumeIdleAfterFramesetCompletesFlag = false;
- _var1 = 0;
- _var2 = 0;
+ _varChooseIdleAnimation = 0;
+ _varNumOfTimesToHoldCurrentFrame = 0;
Actor_Put_In_Set(kActorSteele, kSetFreeSlotG);
Actor_Set_At_Waypoint(kActorSteele, 39, 0);
@@ -1139,7 +1140,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
}
Game_Flag_Set(kFlagSteeleAimingAtGordo);
Actor_Change_Animation_Mode(kActorSteele, kAnimationModeIdle);
- _var1 = 3;
+ _varChooseIdleAnimation = 3;
return true;
case kGoalSteeleNR01TalkToGordo:
@@ -1504,7 +1505,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
bool AIScriptSteele::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
- switch (_var1) {
+ switch (_varChooseIdleAnimation) {
case 0:
*animation = kModelAnimationSteeleIdle;
++_animationFrame;
@@ -1512,8 +1513,8 @@ bool AIScriptSteele::UpdateAnimation(int *animation, int *frame) {
_animationFrame = 0;
if (Game_Flag_Query(kFlagSteeleSmoking)) {
_animationState = 41;
- _var1 = 1;
- _var2 = 0;
+ _varChooseIdleAnimation = 1;
+ _varNumOfTimesToHoldCurrentFrame = 0;
}
}
break;
@@ -1521,8 +1522,8 @@ bool AIScriptSteele::UpdateAnimation(int *animation, int *frame) {
case 1:
Game_Flag_Set(kFlagSteeleSmoking);
_animationState = 41;
- _var1 = 1;
- _var2 = 0;
+ _varChooseIdleAnimation = 1;
+ _varNumOfTimesToHoldCurrentFrame = 0;
break;
case 3:
@@ -1903,7 +1904,7 @@ bool AIScriptSteele::UpdateAnimation(int *animation, int *frame) {
) {
_animationFrame = 0;
_animationState = 0;
- _var1 = 3;
+ _varChooseIdleAnimation = 3;
_resumeIdleAfterFramesetCompletesFlag = false;
*animation = kModelAnimationSteeleWithGunAimingToRightTalk;
} else {
@@ -1944,44 +1945,44 @@ bool AIScriptSteele::UpdateAnimation(int *animation, int *frame) {
*animation = kModelAnimationSteeleIdle;
_animationFrame = 0;
_animationState = 0;
- _var1 = 0;
+ _varChooseIdleAnimation = 0;
}
break;
case 41:
- switch (_var1) {
+ switch (_varChooseIdleAnimation) {
case 0:
*animation = kModelAnimationSteeleIdle;
++_animationFrame;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSteeleIdle)) {
_animationFrame = 0;
if (!Game_Flag_Query(kFlagSteeleSmoking)) {
- _var1 = 3;
+ _varChooseIdleAnimation = 3;
} else if (Random_Query(1, 3) == 1) {
- _var1 = 1;
+ _varChooseIdleAnimation = 1;
}
}
break;
case 1:
*animation = kModelAnimationSteeleTakeCigPuff;
- if (_var2 != 0) {
- --_var2;
+ if (_varNumOfTimesToHoldCurrentFrame != 0) {
+ --_varNumOfTimesToHoldCurrentFrame;
} else {
++_animationFrame;
if (_animationFrame >= 6
&& _animationFrame <= 9
) {
- _var2 = Random_Query(1, 3);
+ _varNumOfTimesToHoldCurrentFrame = Random_Query(1, 3);
break;
}
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
_animationFrame = 0;
if (Game_Flag_Query(kFlagSteeleSmoking)) {
- _var1 = 0;
+ _varChooseIdleAnimation = 0;
} else {
- _var1 = 3;
+ _varChooseIdleAnimation = 3;
}
}
}
@@ -1993,7 +1994,7 @@ bool AIScriptSteele::UpdateAnimation(int *animation, int *frame) {
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation) - 1) {
_animationState = 0;
_animationFrame = 0;
- _var1 = 0;
+ _varChooseIdleAnimation = 0;
Game_Flag_Reset(kFlagSteeleSmoking);
}
break;
@@ -2016,9 +2017,9 @@ bool AIScriptSteele::ChangeAnimationMode(int mode) {
switch (mode) {
case kAnimationModeIdle:
if (Game_Flag_Query(kFlagSteeleAimingAtGordo)) {
- _var1 = 3;
+ _varChooseIdleAnimation = 3;
} else {
- _var1 = 0;
+ _varChooseIdleAnimation = 0;
}
switch (_animationState) {
@@ -2075,7 +2076,7 @@ bool AIScriptSteele::ChangeAnimationMode(int mode) {
_animationFrame = 0;
if (Game_Flag_Query(kFlagSteeleSmoking)) {
_animationState = 41;
- _var1 = 1;
+ _varChooseIdleAnimation = 1;
} else {
_animationState = 0;
}
@@ -2267,8 +2268,8 @@ bool AIScriptSteele::ChangeAnimationMode(int mode) {
Game_Flag_Set(kFlagSteeleSmoking);
_animationState = 41;
_animationFrame = 0;
- _var2 = 0;
- _var1 = 1;
+ _varNumOfTimesToHoldCurrentFrame = 0;
+ _varChooseIdleAnimation = 1;
break;
case kAnimationModeWalkUp:
diff --git a/engines/bladerunner/script/ai_script.h b/engines/bladerunner/script/ai_script.h
index e39ab205d7..ad596855ce 100644
--- a/engines/bladerunner/script/ai_script.h
+++ b/engines/bladerunner/script/ai_script.h
@@ -118,8 +118,8 @@ END_SCRIPT
DECLARE_SCRIPT(Steele)
bool _resumeIdleAfterFramesetCompletesFlag;
- int _var1;
- int _var2;
+ int _varChooseIdleAnimation;
+ int _varNumOfTimesToHoldCurrentFrame;
double comp_distance(int actorId, float a5, float a6, int a1, float a2, float a3, float a4);
END_SCRIPT
@@ -156,8 +156,8 @@ DECLARE_SCRIPT(Guzza)
END_SCRIPT
DECLARE_SCRIPT(Clovis)
- int _var1;
- int _var2;
+ int _varChooseIdleAnimation;
+ int _varNumOfTimesToHoldCurrentFrame;
int _var3;
int _var4;
int _var5;
@@ -177,8 +177,8 @@ END_SCRIPT
DECLARE_SCRIPT(Izo)
int _var1;
int _var2;
- int _var3;
- int _var4;
+ int _varNumOfTimesToHoldCurrentFrame;
+ int _varChooseIdleAnimation;
bool _resumeIdleAfterFramesetCompletesFlag;
void dialogueWithIzo();
@@ -187,8 +187,8 @@ END_SCRIPT
DECLARE_SCRIPT(Sadik)
int _nextSoundId;
- int _var2;
- int _var3;
+ int _varChooseIdleAnimation;
+ int _varNumOfTimesToHoldCurrentFrame;
int _var4;
bool _resumeIdleAfterFramesetCompletesFlag;
END_SCRIPT
@@ -202,8 +202,8 @@ DECLARE_SCRIPT(Luther)
END_SCRIPT
DECLARE_SCRIPT(Grigorian)
- int var_45CA10;
- int var_45CA14;
+ int _varChooseIdleAnimation;
+ int _varNumOfTimesToHoldCurrentFrame;
END_SCRIPT
DECLARE_SCRIPT(Transient)
@@ -241,8 +241,8 @@ DECLARE_SCRIPT(TyrellGuard)
END_SCRIPT
DECLARE_SCRIPT(EarlyQ)
- int _var1;
- int _var2;
+ int _varNumOfTimesToHoldCurrentFrame;
+ int _varChooseIdleAnimation;
int _var3;
bool _resumeIdleAfterFramesetCompletesFlag;
END_SCRIPT
@@ -260,10 +260,10 @@ END_SCRIPT
DECLARE_SCRIPT(Hasan)
int _var1;
int _var2;
- int _var3;
+ int _varNumOfTimesToHoldCurrentFrame;
int _var4;
int _var5;
- int _var6;
+ int _varChooseIdleAnimation;
END_SCRIPT
DECLARE_SCRIPT(Marcus)
@@ -274,20 +274,20 @@ DECLARE_SCRIPT(Mia)
END_SCRIPT
DECLARE_SCRIPT(OfficerLeary)
- int var_45D5B8;
- int var_45D5BC;
+ int _varChooseIdleAnimation;
+ bool _idleModeRequestedWhileInTalkingState;
END_SCRIPT
DECLARE_SCRIPT(OfficerGrayford)
- int _var1;
+ int _varChooseIdleAnimation;
bool _resumeIdleAfterFramesetCompletesFlag;
- int _var3;
+ int _varNumOfTimesToHoldCurrentFrame;
END_SCRIPT
DECLARE_SCRIPT(Hanoi)
bool _resumeIdleAfterFramesetCompletesFlag;
- bool _flag1;
- int _var3;
+ int _varChooseIdleAnimation;
+ int _varNumOfTimesToHoldCurrentFrame;
int _var4;
END_SCRIPT
@@ -295,13 +295,13 @@ DECLARE_SCRIPT(Baker)
END_SCRIPT
DECLARE_SCRIPT(DeskClerk)
- bool _flag1;
+ int _varChooseIdleAnimation;
bool _resumeIdleAfterFramesetCompletesFlag;
- int _var3;
+ int _varNumOfTimesToHoldCurrentFrame;
END_SCRIPT
DECLARE_SCRIPT(HowieLee)
- bool var_45DFB8;
+ int _varIdleStatesToggle;
END_SCRIPT
DECLARE_SCRIPT(FishDealer)
@@ -429,8 +429,8 @@ END_SCRIPT
DECLARE_SCRIPT(Isabella)
int _var1;
- int _var2;
- int _var3;
+ int _varNumOfTimesToHoldCurrentFrame;
+ int _varChooseIdleAnimation;
int _var4;
END_SCRIPT
@@ -473,9 +473,9 @@ END_SCRIPT
DECLARE_SCRIPT(Maggie)
int var_45F3F8;
int var_45F3FC;
- int var_45F400;
- int var_45F404;
- int var_45F408;
+ int var_45F400; // only set to 0. unused
+ int var_45F404; // only set to 0. unused
+ int var_45F408; // only set to 0. unused
int randomWaypointMA02();
float distanceToActor(int actorId, float x, float y, float z);
diff --git a/engines/bladerunner/script/scene/bb11.cpp b/engines/bladerunner/script/scene/bb11.cpp
index edf7046b84..2085c2a7bf 100644
--- a/engines/bladerunner/script/scene/bb11.cpp
+++ b/engines/bladerunner/script/scene/bb11.cpp
@@ -45,17 +45,17 @@ void SceneScriptBB11::InitializeScene() {
if (Game_Flag_Query(kFlagBB11SadikFight)) {
Preload(kModelAnimationMcCoyIdle);
- Preload(220);
- Preload(227);
- Preload(328);
- Preload(343);
- Preload(344);
+ Preload(kModelAnimationClovisWalking);
+ Preload(kModelAnimationClovisIdle);
+ Preload(kModelAnimationSadikIdle);
+ Preload(kModelAnimationSadikKicksSomeoneWhoIsDown);
+ Preload(kModelAnimationSadikHoldsSomeoneAndPunches);
Preload(kModelAnimationMcCoyGotHitRight);
Preload(kModelAnimationMcCoyRunning);
- Preload(324);
- Preload(323);
+ Preload(kModelAnimationSadikRunning);
+ Preload(kModelAnimationSadikWalking);
Preload(kModelAnimationMcCoyFallsOnHisBack);
- Preload(345);
+ Preload(kModelAnimationSadikPicksUpAndThrowsMcCoy);
}
}
diff --git a/engines/bladerunner/script/scene/ct02.cpp b/engines/bladerunner/script/scene/ct02.cpp
index 7b191ffb32..4a22b35833 100644
--- a/engines/bladerunner/script/scene/ct02.cpp
+++ b/engines/bladerunner/script/scene/ct02.cpp
@@ -122,9 +122,9 @@ void SceneScriptCT02::SceneLoaded() {
Preload(kModelAnimationMcCoyWithGunWalking);
Preload(kModelAnimationMcCoyWithGunWalking); // A bug? Why is this preloaded twice?
Preload(kModelAnimationMcCoyDodgeAndDrawGun);
- Preload(400);
- Preload(419);
- Preload(420);
+ Preload(kModelAnimationZubenRunning);
+ Preload(kModelAnimationZubenToppleSoupCauldron);
+ Preload(kModelAnimationZubenBashOnDoor);
}
if (Game_Flag_Query(kFlagCT02McCoyCombatReady)) {
Game_Flag_Reset(kFlagCT02McCoyCombatReady);
diff --git a/engines/bladerunner/script/scene/ct06.cpp b/engines/bladerunner/script/scene/ct06.cpp
index 963a53f6fd..594a7185bc 100644
--- a/engines/bladerunner/script/scene/ct06.cpp
+++ b/engines/bladerunner/script/scene/ct06.cpp
@@ -70,11 +70,11 @@ void SceneScriptCT06::SceneLoaded() {
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06HideAtFreeSlotA) {
Preload(kModelAnimationMcCoyWithGunWalking);
Preload(kModelAnimationMcCoyWithGunRunning);
- Preload(389);
- Preload(390);
- Preload(398);
- Preload(421);
- Preload(421);
+ Preload(kModelAnimationZubenCombatHitFront);
+ Preload(kModelAnimationZubenCombatHitBack);
+ Preload(kModelAnimationZubenCleaverAttack);
+ Preload(kModelAnimationZubenJumpDownFromCeiling);
+ Preload(kModelAnimationZubenJumpDownFromCeiling); // A bug? Why is this preloaded twice?
}
}
diff --git a/engines/bladerunner/script/scene/hc01.cpp b/engines/bladerunner/script/scene/hc01.cpp
index 7399346ddf..041bf0bf5f 100644
--- a/engines/bladerunner/script/scene/hc01.cpp
+++ b/engines/bladerunner/script/scene/hc01.cpp
@@ -75,18 +75,18 @@ void SceneScriptHC01::SceneLoaded() {
Obstacle_Object("PILLAR", true);
if (Game_Flag_Query(kFlagAR01toHC01)) {
Preload(kModelAnimationMcCoyIdle);
- Preload(426);
- Preload(430);
- Preload(437);
- Preload(427);
- Preload(431);
- Preload(433);
- Preload(424);
- Preload(428);
- Preload(436);
- Preload(429);
- Preload(425);
- Preload(432);
+ Preload(kModelGenWalkerHattedPersonWithUmbrellaStandsStill);
+ Preload(kModelGenWalkerHoodedPersonWithUmbrellaStandsStill);
+ Preload(kModelGenWalkerHattedLadyWithWoodenUmbrellaStandsStill);
+ Preload(kModelGenWalkerHattedPersonNoUmbrellaStandsStill);
+ Preload(kModelGenWalkerPunkPersonWithGlassesAndBeardStandsStill);
+ Preload(kModelGenWalkerPunkPersonWithGlassesStandsStill);
+ Preload(kModelGenWalkerHattedPersonWithUmbrella);
+ Preload(kModelGenWalkerHoodedPersonWithUmbrella);
+ Preload(kModelGenWalkerHattedPersonWithWoodenUmbrella);
+ Preload(kModelGenWalkerPunkPersonWithGlassesAndBeard);
+ Preload(kModelGenWalkerHattedPersonNoUmbrellaSmallSteps);
+ Preload(kModelGenWalkerPunkPersonWithGlasses);
}
}
diff --git a/engines/bladerunner/script/scene/rc01.cpp b/engines/bladerunner/script/scene/rc01.cpp
index ec9f8743c1..a54e9ef2e1 100644
--- a/engines/bladerunner/script/scene/rc01.cpp
+++ b/engines/bladerunner/script/scene/rc01.cpp
@@ -201,8 +201,8 @@ void SceneScriptRC01::SceneLoaded() {
Preload(kModelAnimationMcCoyWalking);
Preload(kModelAnimationMcCoyRunning);
Preload(kModelAnimationMcCoyIdle);
- Preload(582);
- Preload(589);
+ Preload(kModelAnimationOfficerLearyWalking);
+ Preload(kModelAnimationOfficerLearyOscillateIdle);
}
if (!Game_Flag_Query(kFlagRC01ChromeDebrisTaken)) {
More information about the Scummvm-git-logs
mailing list