#include "AnimationEventLists.h" /* /* The lists in this file might not contain all relevant animation events, so extend as necessary */ const Map AnimationEventLists::kIdleToInstant = { // Idle animations that have instant counterparts {"HorseEnter", "HorseEnterInstant"}, {"IdleAlchemyEnter", "IdleAlchemyEnterInstant"}, {"IdleAltarEnter", "IdleAltarEnterInstant"}, {"IdleBarCounterEnter", "IdleBarCounterEnterInstant"}, {"IdleBedEnterStart", "IdleBedEnterInstant"}, {"IdleBedLeftEnterStart", "IdleBedLeftEnterInstant"}, {"IdleBedRightEnterStart", "IdleBedRightEnterInstant"}, {"IdleBedRollFrontEnterStart", "IdleBedRollFrontEnterInstant"}, {"IdleBedRollLeftEnterStart", "IdleBedRollLeftEnterInstant"}, {"IdleBedRollRightEnterStart", "IdleBedRollRightEnterInstant"}, {"IdleBlackSmithingEnterStart", "IdleBlackSmithEnterInstant"}, {"IdleBlessingKneelEnter", "IdleBlessingKneelEnterInstant"}, {"IdleBoundKneesStart", "IdleBoundKneesEnterInstant"}, {"IdleCartTravelDriverEnter", "IdleCartTravelDriverEnterInstant"}, {"IdleCartTravelPlayerEnter", "IdleCartTravelPlayerEnterInstant"}, {"IdleChairCHILDFrontEnter", "IdleChairCHILDEnterInstant"}, {"IdleChairCHILDLeftEnter", "IdleChairCHILDEnterInstant"}, {"IdleChairCHILDRightEnter", "IdleChairCHILDEnterInstant"}, {"IdleChairEnterStart", "IdleChairEnterInstant"}, {"IdleChairEnterToSit", "IdleChairEnterInstant"}, {"IdleChairFrontEnter", "IdleChairEnterInstant"}, {"IdleChairLeftEnter", "IdleChairEnterInstant"}, {"IdleChairRightEnter", "IdleChairEnterInstant"}, {"IdleChildSitOnKnees", "IdleChildSitOnKneesInstant"}, {"IdleCoffinEnter", "IdleCoffinEnterInstant"}, {"IdleCookingPotEnter", "IdleCookingPotEnterInstant"}, {"IdleCookingSpitEnter", "IdleCookingSpitEnterInstant"}, {"IdleCounterStart", "IdleCounterEnterInstant"}, {"IdleCowerEnter", "IdleCowerEnterInstant"}, {"IdleDLC2PickaxeEnter", "IdleDLC2PickaxeEnterInstant"}, {"IdleEnchantingEnter", "IdleEnchantingEnterInstant"}, {"IdleExecutionerIdle", "IdleExecutionerIdleEnterInstant"}, {"IdleGrainMillEnter", "IdleGrainMillEnterInstant"}, {"IdleHammerTableEnter", "IdleHammerTableEnterInstant"}, {"IdleHammerWallEnter", "IdleHammerWallEnterInstant"}, {"IdleHideLEnter", "IdleHideLEnterInstant"}, {"IdleHideREnter", "IdleHideREnterInstant"}, {"IdleJarlChairEnter", "IdleJarlChairEnterInstant"}, {"IdleLayDownEnter", "IdleLayDownEnterInstant"}, {"IdleLeanTable", "IdleLeanTableEnterInstant"}, {"IdleLeanTableEnter", "IdleLeanTableEnterInstant"}, {"IdleLeverPushStart", "IdleLeverPushEnterInstant"}, {"IdleOvenEnter", "IdleOvenEnterInstant"}, {"IdlePickaxeEnter", "IdlePickaxeEnterInstant"}, {"IdlePickaxeFloorEnter", "IdlePickaxeFloorEnterInstant"}, {"IdlePickaxeTableEnter", "IdlePickaxeTableEnterInstant"}, {"IdlePrayCrouchedEnter", "IdlePrayCrouchedEnterInstant"}, {"IdleRailLeanEnter", "IdleRailLeanEnterInstant"}, {"IdleSearchingChest", "IdleSearchChestEnterInstant"}, {"IdleSearchingTable", "IdleSearchTableEnterInstant"}, {"IdleSharpeningWheelStart", "IdleSharpeningWheelEnterInstant"}, {"IdleSitCrossLeggedEnter", "IdleSitCrossLeggedEnterInstant"}, {"IdleSitLedgeEnter", "IdleSitLedgeEnterInstant"}, {"IdleSmelterEnter", "IdleSmelterEnterInstant"}, {"IdleSnowElfPrinceChairEnter", "IdleSnowElfPrinceChairEnterInstant"}, {"IdleStoolEnter", "IdleStoolEnterInstant"}, {"IdleTableEnter", "IdleTableEnterInstant"}, {"IdleTableEnterPlayer", "IdleTableEnterInstant"}, {"IdleTanningEnter", "IdleTanningEnterInstant"}, {"IdleWallLeanStart", "IdleWallLeanEnterInstant"}, {"IdleWallSoldierEnter", "IdleWallSoldierEnterInstant"}, {"IdleWoodChopStart", "IdleWoodChopEnterInstant"}, {"IdleWoodPickUpEnter", "IdleWoodPickUpEnterInstant"}, // ...there is probably more // No instant counterpart exists {"IdleBeggar", ""}, {"IdleCombatShieldStart", ""}, {"IdleCombatStart", ""}, {"IdleDialogueAngryStart", ""}, {"IdleDialogueExpressiveStart", ""}, {"IdleDialogueHappyStart", ""}, {"idleDrinkingStandingStart", ""}, {"IdleDrumStart", ""}, {"idleEatingStandingStart", ""}, {"IdleFluteStart", ""}, {"IdleFurnitureStart", ""}, {"IdleGetAttention", ""}, {"idleLooseSweepingStart", ""}, {"IdleLuteStart", ""}, {"IdleReadElderScrollStart", ""}, {"IdleTableDrinkAndMugEnter", ""}, {"IdleTableDrinkEnter", ""}, {"IdleTableMugEnter", ""}, {"IdleTablePassOutEnter", ""}, {"IdleWarmHands", ""}, }; const Set AnimationEventLists::kExitSpecial = { {"IdleForceDefaultState"}, {"IdleReturnToDefault"}, {"ReturnDefaultState"}, {"ReturnToDefault"}, {"ForceFurnExit"}, {"IdleStop"}, {"IdleStopInstant"}, {"IdleBedExitToStand"}, {"IdleChairExitToStand"}, {"IdleFurnitureExitSlow"}, {"IdleMesmerizeStop"}, {"IdleWoodChopStop"}, {"BlackSmithAnvilExit"}, {"BlacksmithSharpeningWheelExit"}, {"BleedOutEarlyExit"}, {"CartExit"}, {"CraftingEnchantingBenchExit"}, {"DragonMountExit"}, {"DragonMountExitOut"}, {"GetUpExit"}, {"HorseExit"}, {"HorseExitOut"}, {"LayExit"}, {"NPCDragonMountExitOut"}, {"NPCHorseExit"}, {"NPCHorseExitOut"}, {"StoolBackExit"}, {"TableBackExit"}, {"TrapExitStart"}, {"VehicleExit"}, {"WebIdleExit"}, {"GetUpBegin"}, // Not an "Exit" action per se, but belongs here as it makes the actor return to its initial anim // state // ...others are checked in `IsExitAction()` using ends_with }; const Set AnimationEventLists::kIgnore = { // Animation events with empty names don't carry anything useful besides // various animvars updates and state changes to the currently running animations. // Ignored because they spam too much {""}, {"TurnLeft"}, {"TurnRight"}, {"turnStop"}, {"CyclicFreeze"}, {"CyclicCrossBlend"}, {"NPC_BumpedFromBack"}, {"NPC_BumpedFromLeft"}, {"NPC_BumpedFromRight"}, {"NPC_BumpEnd"}, {"NPC_BumpFromFront"}, {"NPC_TurnLeft180"}, {"NPC_TurnLeft90"}, {"NPC_TurnRight180"}, {"NPC_TurnRight90"}, {"NPC_TurnToWalkLeft180"}, {"NPC_TurnToWalkLeft90"}, {"NPC_TurnToWalkRight180"}, {"NPC_TurnToWalkRight90"}, // Ignore jump animations {"JumpDirectionalStart"}, {"JumpFall"}, {"JumpFallDirectional"}, {"JumpFastEnd"}, {"JumpFastLeft"}, {"JumpFastRight"}, {"JumpForwardEnd"}, {"JumpForwardStart"}, {"JumpLand"}, {"JumpLandDirectional"}, {"JumpLandEnd"}, {"JumpLandFailSafe"}, {"JumpLandFast"}, {"JumpLandSoft"}, {"JumpSoftEnd"}, {"JumpStandingStart"}, // Useless idles, sometimes spam {"IdlePlayer"}, {"IdleChairVar1"}, {"idleChairVar2"}, {"idleChairArmsCrossedVar1"}, {"idleChairArmsCrossedVar2"}, // See `Actor::FixVampireLordModel` {"LevitationToggle"}, // Weapon drawing is handled separately in CharacterService {"WeapEquip"}, {"WeapSoloEquip"}, {"WeapForceEquip"}, {"WeapEquip_Out"}, {"WeapUnEquip"}, // https://github.com/tiltedphoques/TiltedEvolution/issues/810 {"Unequip"}, {"combatStanceStop"}, };