mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-15 14:18:37 +00:00
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
This commit is contained in:
parent
1c27295acd
commit
e536f50b34
@ -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,
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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?
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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)) {
|
||||
|
Loading…
Reference in New Issue
Block a user