mirror of
https://github.com/Jous99/F4MP.git
synced 2026-01-13 00:20:54 +01:00
192 lines
7.2 KiB
C++
192 lines
7.2 KiB
C++
|
|
#include "AnimationEventLists.h"
|
||
|
|
|
||
|
|
/*
|
||
|
|
/* The lists in this file might not contain all relevant animation events, so extend as necessary
|
||
|
|
*/
|
||
|
|
|
||
|
|
const Map<std::string_view, std::string_view> 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<std::string_view> 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<std::string_view> 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"},
|
||
|
|
};
|