source2sdk/sdk/animationsystem.hpp
2023-03-15 21:56:19 +03:00

3706 lines
94 KiB
C++

#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: animationsystem.dll
// Class Count: 192
// Enum Count: 47
///////////////////////////////////////////
// Aligment: 4
// Size: 6
enum class AnimationProcessingType_t : uint32_t
{
ANIMATION_PROCESSING_SERVER_SIMULATION = 0x0,
ANIMATION_PROCESSING_CLIENT_SIMULATION = 0x1,
ANIMATION_PROCESSING_CLIENT_PREDICTION = 0x2,
ANIMATION_PROCESSING_CLIENT_INTERPOLATION = 0x3,
ANIMATION_PROCESSING_CLIENT_RENDER = 0x4,
ANIMATION_PROCESSING_MAX = 0x5,
};
// Aligment: 4
// Size: 7
enum class AnimationSnapshotType_t : uint32_t
{
ANIMATION_SNAPSHOT_SERVER_SIMULATION = 0x0,
ANIMATION_SNAPSHOT_CLIENT_SIMULATION = 0x1,
ANIMATION_SNAPSHOT_CLIENT_PREDICTION = 0x2,
ANIMATION_SNAPSHOT_CLIENT_INTERPOLATION = 0x3,
ANIMATION_SNAPSHOT_CLIENT_RENDER = 0x4,
ANIMATION_SNAPSHOT_FINAL_COMPOSITE = 0x5,
ANIMATION_SNAPSHOT_MAX = 0x6,
};
// Aligment: 4
// Size: 17
enum class SeqCmd_t : uint32_t
{
SeqCmd_Nop = 0x0,
SeqCmd_LinearDelta = 0x1,
SeqCmd_FetchFrameRange = 0x2,
SeqCmd_Slerp = 0x3,
SeqCmd_Add = 0x4,
SeqCmd_Subtract = 0x5,
SeqCmd_Scale = 0x6,
SeqCmd_Copy = 0x7,
SeqCmd_Blend = 0x8,
SeqCmd_Worldspace = 0x9,
SeqCmd_Sequence = 0xa,
SeqCmd_FetchCycle = 0xb,
SeqCmd_FetchFrame = 0xc,
SeqCmd_IKLockInPlace = 0xd,
SeqCmd_IKRestoreAll = 0xe,
SeqCmd_ReverseSequence = 0xf,
SeqCmd_Transform = 0x10,
};
// Aligment: 4
// Size: 4
enum class SeqPoseSetting_t : uint32_t
{
SEQ_POSE_SETTING_CONSTANT = 0x0,
SEQ_POSE_SETTING_ROTATION = 0x1,
SEQ_POSE_SETTING_POSITION = 0x2,
SEQ_POSE_SETTING_VELOCITY = 0x3,
};
// Aligment: 1
// Size: 69
enum class fieldtype_t : uint8_t
{
FIELD_VOID = 0,
FIELD_FLOAT32 = 1,
FIELD_STRING = 2,
FIELD_VECTOR = 3,
FIELD_QUATERNION = 4,
FIELD_INT32 = 5,
FIELD_BOOLEAN = 6,
FIELD_INT16 = 7,
FIELD_CHARACTER = 8,
FIELD_COLOR32 = 9,
FIELD_EMBEDDED = 10,
FIELD_CUSTOM = 11,
FIELD_CLASSPTR = 12,
FIELD_EHANDLE = 13,
FIELD_POSITION_VECTOR = 14,
FIELD_TIME = 15,
FIELD_TICK = 16,
FIELD_SOUNDNAME = 17,
FIELD_INPUT = 18,
FIELD_FUNCTION = 19,
FIELD_VMATRIX = 20,
FIELD_VMATRIX_WORLDSPACE = 21,
FIELD_MATRIX3X4_WORLDSPACE = 22,
FIELD_INTERVAL = 23,
FIELD_UNUSED = 24,
FIELD_VECTOR2D = 25,
FIELD_INT64 = 26,
FIELD_VECTOR4D = 27,
FIELD_RESOURCE = 28,
FIELD_TYPEUNKNOWN = 29,
FIELD_CSTRING = 30,
FIELD_HSCRIPT = 31,
FIELD_VARIANT = 32,
FIELD_UINT64 = 33,
FIELD_FLOAT64 = 34,
FIELD_POSITIVEINTEGER_OR_NULL = 35,
FIELD_HSCRIPT_NEW_INSTANCE = 36,
FIELD_UINT32 = 37,
FIELD_UTLSTRINGTOKEN = 38,
FIELD_QANGLE = 39,
FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_VECTOR = 40,
FIELD_HMATERIAL = 41,
FIELD_HMODEL = 42,
FIELD_HANIMATIONGRAPH = 43,
FIELD_NETWORK_QUANTIZED_VECTOR = 44,
FIELD_NETWORK_QUANTIZED_FLOAT = 45,
FIELD_DIRECTION_VECTOR_WORLDSPACE = 46,
FIELD_QANGLE_WORLDSPACE = 47,
FIELD_QUATERNION_WORLDSPACE = 48,
FIELD_HSCRIPT_LIGHTBINDING = 49,
FIELD_V8_VALUE = 50,
FIELD_V8_OBJECT = 51,
FIELD_V8_ARRAY = 52,
FIELD_V8_CALLBACK_INFO = 53,
FIELD_UTLSTRING = 54,
FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR = 55,
FIELD_HRENDERTEXTURE = 56,
FIELD_HPARTICLESYSTEMDEFINITION = 57,
FIELD_UINT8 = 58,
FIELD_UINT16 = 59,
FIELD_CTRANSFORM = 60,
FIELD_CTRANSFORM_WORLDSPACE = 61,
FIELD_HPOSTPROCESSING = 62,
FIELD_MATRIX3X4 = 63,
FIELD_SHIM = 64,
FIELD_CMOTIONTRANSFORM = 65,
FIELD_CMOTIONTRANSFORM_WORLDSPACE = 66,
FIELD_ATTACHMENT_HANDLE = 67,
FIELD_TYPECOUNT = 68,
};
// Aligment: 4
// Size: 5
enum class CAnimationGraphVisualizerPrimitiveType : uint32_t
{
ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Text = 0x0,
ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Sphere = 0x1,
ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Line = 0x2,
ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Pie = 0x3,
ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Axis = 0x4,
};
// Aligment: 4
// Size: 13
enum class AnimParamButton_t : uint32_t
{
ANIMPARAM_BUTTON_NONE = 0x0,
ANIMPARAM_BUTTON_DPAD_UP = 0x1,
ANIMPARAM_BUTTON_DPAD_RIGHT = 0x2,
ANIMPARAM_BUTTON_DPAD_DOWN = 0x3,
ANIMPARAM_BUTTON_DPAD_LEFT = 0x4,
ANIMPARAM_BUTTON_A = 0x5,
ANIMPARAM_BUTTON_B = 0x6,
ANIMPARAM_BUTTON_X = 0x7,
ANIMPARAM_BUTTON_Y = 0x8,
ANIMPARAM_BUTTON_LEFT_SHOULDER = 0x9,
ANIMPARAM_BUTTON_RIGHT_SHOULDER = 0xa,
ANIMPARAM_BUTTON_LTRIGGER = 0xb,
ANIMPARAM_BUTTON_RTRIGGER = 0xc,
};
// Aligment: 4
// Size: 4
enum class BoneTransformSpace_t : uint32_t
{
BoneTransformSpace_Invalid = 0xffffffffffffffff,
BoneTransformSpace_Parent = 0x0,
BoneTransformSpace_Model = 0x1,
BoneTransformSpace_World = 0x2,
};
// Aligment: 4
// Size: 3
enum class AnimNodeNetworkMode : uint32_t
{
ServerAuthoritative = 0x0,
ClientSimulate = 0x1,
ClientPredicted = 0x2,
};
// Aligment: 4
// Size: 2
enum class SolveIKChainAnimNodeSettingSource : uint32_t
{
SOLVEIKCHAINANIMNODESETTINGSOURCE_Default = 0x0,
SOLVEIKCHAINANIMNODESETTINGSOURCE_Override = 0x1,
};
// Aligment: 4
// Size: 3
enum class FootstepLandedFootSoundType_t : uint32_t
{
FOOTSOUND_Left = 0x0,
FOOTSOUND_Right = 0x1,
FOOTSOUND_UseOverrideSound = 0x2,
};
// Aligment: 4
// Size: 3
enum class AnimPoseControl : uint32_t
{
NoPoseControl = 0x0,
AbsolutePoseControl = 0x1,
RelativePoseControl = 0x2,
};
// Aligment: 4
// Size: 3
enum class FacingMode : uint32_t
{
FacingMode_Manual = 0x0,
FacingMode_Path = 0x1,
FacingMode_LookTarget = 0x2,
};
// Aligment: 4
// Size: 2
enum class AnimVRHandMotionRange_t : uint32_t
{
MotionRange_WithController = 0x0,
MotionRange_WithoutController = 0x1,
};
// Aligment: 4
// Size: 4
enum class AnimVrFingerSplay_t : uint32_t
{
AnimVrFingerSplay_Thumb_Index = 0x0,
AnimVrFingerSplay_Index_Middle = 0x1,
AnimVrFingerSplay_Middle_Ring = 0x2,
AnimVrFingerSplay_Ring_Pinky = 0x3,
};
// Aligment: 4
// Size: 2
enum class AnimVrBoneTransformSource_t : uint32_t
{
AnimVrBoneTransformSource_LiveStream = 0x0,
AnimVrBoneTransformSource_GripLimit = 0x1,
};
// Aligment: 4
// Size: 6
enum class IKSolverType : uint32_t
{
IKSOLVER_Perlin = 0x0,
IKSOLVER_TwoBone = 0x1,
IKSOLVER_Fabrik = 0x2,
IKSOLVER_DogLeg3Bone = 0x3,
IKSOLVER_CCD = 0x4,
IKSOLVER_COUNT = 0x5,
};
// Aligment: 4
// Size: 3
enum class IKTargetSource : uint32_t
{
IKTARGETSOURCE_Bone = 0x0,
IKTARGETSOURCE_AnimgraphParameter = 0x1,
IKTARGETSOURCE_COUNT = 0x2,
};
// Aligment: 4
// Size: 3
enum class IKTargetCoordinateSystem : uint32_t
{
IKTARGETCOORDINATESYSTEM_WorldSpace = 0x0,
IKTARGETCOORDINATESYSTEM_ModelSpace = 0x1,
IKTARGETCOORDINATESYSTEM_COUNT = 0x2,
};
// Aligment: 4
// Size: 36
enum class AnimValueSource : uint32_t
{
MoveHeading = 0x0,
MoveSpeed = 0x1,
ForwardSpeed = 0x2,
StrafeSpeed = 0x3,
FacingHeading = 0x4,
ManualFacingHeading = 0x5,
LookHeading = 0x6,
LookPitch = 0x7,
Parameter = 0x8,
WayPointHeading = 0x9,
WayPointDistance = 0xa,
BoundaryRadius = 0xb,
TargetMoveHeading = 0xc,
TargetMoveSpeed = 0xd,
AccelerationHeading = 0xe,
AccelerationSpeed = 0xf,
SlopeHeading = 0x10,
SlopeAngle = 0x11,
SlopePitch = 0x12,
SlopeYaw = 0x13,
GoalDistance = 0x14,
AccelerationLeftRight = 0x15,
AccelerationFrontBack = 0x16,
RootMotionSpeed = 0x17,
RootMotionTurnSpeed = 0x18,
MoveHeadingRelativeToLookHeading = 0x19,
MaxMoveSpeed = 0x1a,
FingerCurl_Thumb = 0x1b,
FingerCurl_Index = 0x1c,
FingerCurl_Middle = 0x1d,
FingerCurl_Ring = 0x1e,
FingerCurl_Pinky = 0x1f,
FingerSplay_Thumb_Index = 0x20,
FingerSplay_Index_Middle = 0x21,
FingerSplay_Middle_Ring = 0x22,
FingerSplay_Ring_Pinky = 0x23,
};
// Aligment: 4
// Size: 13
enum class AnimVectorSource : uint32_t
{
MoveDirection = 0x0,
FacingDirection = 0x1,
LookDirection = 0x2,
VectorParameter = 0x3,
WayPointDirection = 0x4,
Acceleration = 0x5,
SlopeNormal = 0x6,
SlopeNormal_WorldSpace = 0x7,
LookTarget = 0x8,
LookTarget_WorldSpace = 0x9,
WayPointPosition = 0xa,
GoalPosition = 0xb,
RootMotionVelocity = 0xc,
};
// Aligment: 4
// Size: 3
enum class DampingSpeedFunction : uint32_t
{
NoDamping = 0x0,
Constant = 0x1,
Spring = 0x2,
};
// Aligment: 4
// Size: 40
enum class ControlValue : uint32_t
{
ControlValue_MoveHeading = 0x0,
ControlValue_MoveSpeed = 0x1,
ControlValue_FacingHeading = 0x2,
ControlValue_LookHeading = 0x3,
ControlValue_LookPitch = 0x4,
ControlValue_WayPointHeading = 0x5,
ControlValue_WayPointDistance = 0x6,
ControlValue_BoundaryRadius = 0x7,
ControlValue_TotalTranslation_SourceState = 0x8,
ControlValue_TotalTranslation_TargetState = 0x9,
ControlValue_RemainingTranslation_SourceState = 0xa,
ControlValue_RemainingTranslation_TargetState = 0xb,
ControlValue_MoveVsFacingDelta = 0xc,
ControlValue_SourceStateBlendWeight = 0xd,
ControlValue_TargetStateBlendWeight = 0xe,
ControlValue_TargetMoveHeading = 0xf,
ControlValue_TargetMoveSpeed = 0x10,
ControlValue_AccelerationHeading = 0x11,
ControlValue_AccelerationSpeed = 0x12,
ControlValue_SlopeHeading = 0x13,
ControlValue_SlopeAngle = 0x14,
ControlValue_SlopeYaw = 0x15,
ControlValue_SlopePitch = 0x16,
ControlValue_GoalDistance = 0x17,
ControlValue_AccelerationLeftRight = 0x18,
ControlValue_AccelerationFrontBack = 0x19,
ControlValue_RootMotionSpeed = 0x1a,
ControlValue_RootMotionTurnSpeed = 0x1b,
ControlValue_MoveHeadingRelativeToLookHeading = 0x1c,
ControlValue_FingerCurl_Thumb = 0x1d,
ControlValue_FingerCurl_Index = 0x1e,
ControlValue_FingerCurl_Middle = 0x1f,
ControlValue_FingerCurl_Ring = 0x20,
ControlValue_FingerCurl_Pinky = 0x21,
ControlValue_FingerSplay_Thumb_Index = 0x22,
ControlValue_FingerSplay_Index_Middle = 0x23,
ControlValue_FingerSplay_Middle_Ring = 0x24,
ControlValue_FingerSplay_Ring_Pinky = 0x25,
ControlValue_Count = 0x26,
ControlValue_Invalid = 0xff,
};
// Aligment: 4
// Size: 2
enum class AimMatrixBlendMode : uint32_t
{
AimMatrixBlendMode_Additive = 0x0,
AimMatrixBlendMode_BoneMask = 0x1,
};
// Aligment: 4
// Size: 24
enum class CGroundIKSolveAnimNode::DebugSkeletonBoneType_t : uint32_t
{
CGroundIKSolveAnimNode::FLAG_NO_BONE_FLAGS = 0x0,
CGroundIKSolveAnimNode::FLAG_BONEFLEXDRIVER = 0x4,
CGroundIKSolveAnimNode::FLAG_CLOTH = 0x8,
CGroundIKSolveAnimNode::FLAG_PHYSICS = 0x10,
CGroundIKSolveAnimNode::FLAG_ATTACHMENT = 0x20,
CGroundIKSolveAnimNode::FLAG_ANIMATION = 0x40,
CGroundIKSolveAnimNode::FLAG_MESH = 0x80,
CGroundIKSolveAnimNode::FLAG_HITBOX = 0x100,
CGroundIKSolveAnimNode::FLAG_RETARGET_SRC = 0x200,
CGroundIKSolveAnimNode::FLAG_BONE_USED_BY_VERTEX_LOD0 = 0x400,
CGroundIKSolveAnimNode::FLAG_BONE_USED_BY_VERTEX_LOD1 = 0x800,
CGroundIKSolveAnimNode::FLAG_BONE_USED_BY_VERTEX_LOD2 = 0x1000,
CGroundIKSolveAnimNode::FLAG_BONE_USED_BY_VERTEX_LOD3 = 0x2000,
CGroundIKSolveAnimNode::FLAG_BONE_USED_BY_VERTEX_LOD4 = 0x4000,
CGroundIKSolveAnimNode::FLAG_BONE_USED_BY_VERTEX_LOD5 = 0x8000,
CGroundIKSolveAnimNode::FLAG_BONE_USED_BY_VERTEX_LOD6 = 0x10000,
CGroundIKSolveAnimNode::FLAG_BONE_USED_BY_VERTEX_LOD7 = 0x20000,
CGroundIKSolveAnimNode::FLAG_BONE_MERGE_READ = 0x40000,
CGroundIKSolveAnimNode::FLAG_BONE_MERGE_WRITE = 0x80000,
CGroundIKSolveAnimNode::BLEND_PREALIGNED = 0x100000,
CGroundIKSolveAnimNode::FLAG_RIGIDLENGTH = 0x200000,
CGroundIKSolveAnimNode::FLAG_PROCEDURAL = 0x400000,
CGroundIKSolveAnimNode::FLAG_IK = 0x800000,
CGroundIKSolveAnimNode::FLAG_ALL_BONE_FLAGS = 0xffffff,
};
// Aligment: 4
// Size: 2
enum class SelectionSource_t : uint32_t
{
SelectionSource_Bool = 0x0,
SelectionSource_Enum = 0x1,
};
// Aligment: 4
// Size: 2
enum class MotionSamplingMethod : uint32_t
{
Uniform = 0x0,
AtFootCycleStart = 0x1,
};
// Aligment: 4
// Size: 8
enum class FootFallTagFoot_t : uint32_t
{
FOOT1 = 0x0,
FOOT2 = 0x1,
FOOT3 = 0x2,
FOOT4 = 0x3,
FOOT5 = 0x4,
FOOT6 = 0x5,
FOOT7 = 0x6,
FOOT8 = 0x7,
};
// Aligment: 4
// Size: 4
enum class BlendKeyType : uint32_t
{
BlendKey_UserValue = 0x0,
BlendKey_Velocity = 0x1,
BlendKey_Distance = 0x2,
BlendKey_RemainingDistance = 0x3,
};
// Aligment: 4
// Size: 4
enum class ResetCycleOption : uint32_t
{
Beginning = 0x0,
SameCycleAsSource = 0x1,
InverseSourceCycle = 0x2,
FixedValue = 0x3,
};
// Aligment: 4
// Size: 4
enum class ChoiceMethod : uint32_t
{
WeightedRandom = 0x0,
WeightedRandomNoRepeat = 0x1,
Iterate = 0x2,
IterateRandom = 0x3,
};
// Aligment: 4
// Size: 3
enum class ChoiceChangeMethod : uint32_t
{
OnReset = 0x0,
OnCycleEnd = 0x1,
OnResetOrCycleEnd = 0x2,
};
// Aligment: 4
// Size: 2
enum class ChoiceBlendMethod : uint32_t
{
SingleBlendTime = 0x0,
PerChoiceBlendTimes = 0x1,
};
// Aligment: 4
// Size: 2
enum class IkEndEffectorType : uint32_t
{
IkEndEffector_Attachment = 0x0,
IkEndEffector_Bone = 0x1,
};
// Aligment: 4
// Size: 4
enum class IkTargetType : uint32_t
{
IkTarget_Attachment = 0x0,
IkTarget_Bone = 0x1,
IkTarget_Parameter_ModelSpace = 0x2,
IkTarget_Parameter_WorldSpace = 0x3,
};
// Aligment: 4
// Size: 3
enum class GroundIKTiltSource_t : uint32_t
{
TILT_None = 0x0,
TILT_IK = 0x1,
TILT_MovementManagerSlope = 0x2,
};
// Aligment: 4
// Size: 3
enum class BinaryNodeTiming : uint32_t
{
UseChild1 = 0x0,
UseChild2 = 0x1,
SyncChildren = 0x2,
};
// Aligment: 4
// Size: 2
enum class BinaryNodeChildOption : uint32_t
{
Child1 = 0x0,
Child2 = 0x1,
};
// Aligment: 4
// Size: 3
enum class SelectorTagBehavior_t : uint32_t
{
SelectorTagBehavior_OnWhileCurrent = 0x0,
SelectorTagBehavior_OffWhenFinished = 0x1,
SelectorTagBehavior_OffBeforeFinished = 0x2,
};
// Aligment: 4
// Size: 2
enum class Blend2DMode : uint32_t
{
Blend2DMode_General = 0x0,
Blend2DMode_Directional = 0x1,
};
// Aligment: 4
// Size: 2
enum class FootLockSubVisualization : uint32_t
{
FOOTLOCKSUBVISUALIZATION_ReachabilityAnalysis = 0x0,
FOOTLOCKSUBVISUALIZATION_IKSolve = 0x1,
};
// Aligment: 4
// Size: 2
enum class StepPhase : uint32_t
{
StepPhase_OnGround = 0x0,
StepPhase_InAir = 0x1,
};
// Aligment: 4
// Size: 2
enum class FinishedConditionOption : uint32_t
{
FinishedConditionOption_OnFinished = 0x0,
FinishedConditionOption_OnAlmostFinished = 0x1,
};
// Aligment: 4
// Size: 3
enum class PathStatusOptions : uint32_t
{
PathStatus_HasPath = 0x0,
PathStatus_WaypointIsGoal = 0x1,
PathStatus_GoalHasChanged = 0x2,
};
// Aligment: 4
// Size: 4
enum class BoneMaskBlendSpace : uint32_t
{
BlendSpace_Parent = 0x0,
BlendSpace_Model = 0x1,
BlendSpace_Model_RotationOnly = 0x2,
BlendSpace_Model_TranslationOnly = 0x3,
};
// Aligment: 4
// Size: 7
enum class SolveIKChainAnimNodeDebugSetting : uint32_t
{
SOLVEIKCHAINANIMNODEDEBUGSETTING_None = 0x0,
SOLVEIKCHAINANIMNODEDEBUGSETTING_X_Axis_Circle = 0x1,
SOLVEIKCHAINANIMNODEDEBUGSETTING_Y_Axis_Circle = 0x2,
SOLVEIKCHAINANIMNODEDEBUGSETTING_Z_Axis_Circle = 0x3,
SOLVEIKCHAINANIMNODEDEBUGSETTING_Forward = 0x4,
SOLVEIKCHAINANIMNODEDEBUGSETTING_Up = 0x5,
SOLVEIKCHAINANIMNODEDEBUGSETTING_Left = 0x6,
};
// Aligment: 4
// Size: 3
enum class JiggleBoneSimSpace : uint32_t
{
SimSpace_Local = 0x0,
SimSpace_Model = 0x1,
SimSpace_World = 0x2,
};
// Aligment: 6
// Size: 112
struct AnimationDecodeDebugDumpElement_t
{
public:
int32_t m_nEntityIndex; // 0x0
CUtlString m_modelName; // 0x8
CUtlVector< CUtlString > m_poseParams; // 0x10
CUtlVector< CUtlString > m_decodeOps; // 0x28
CUtlVector< CUtlString > m_internalOps; // 0x40
CUtlVector< CUtlString > m_decodedAnims; // 0x58
};
// Aligment: 2
// Size: 32
struct AnimationDecodeDebugDump_t
{
public:
AnimationProcessingType_t m_processingType; // 0x0
CUtlVector< AnimationDecodeDebugDumpElement_t > m_elems; // 0x8
};
// Aligment: 9
// Size: 272
struct AnimationSnapshotBase_t
{
public:
float m_flRealTime; // 0x0
matrix3x4a_t m_rootToWorld; // 0x10
bool m_bBonesInWorldSpace; // 0x40
CUtlVector< uint32 > m_boneSetupMask; // 0x48
CUtlVector< matrix3x4a_t > m_boneTransforms; // 0x60
CUtlVector< float32 > m_flexControllers; // 0x78
AnimationSnapshotType_t m_SnapshotType; // 0x90
bool m_bHasDecodeDump; // 0x94
AnimationDecodeDebugDumpElement_t m_DecodeDump; // 0x98
};
// Aligment: 2
// Size: 288
struct AnimationSnapshot_t : public AnimationSnapshotBase_t
{
public:
int32_t m_nEntIndex; // 0x110
CUtlString m_modelName; // 0x118
};
// Aligment: 5
// Size: 48
class CAnimBoneDifference
{
public:
CBufferString m_name; // 0x0
CBufferString m_parent; // 0x10
Vector m_posError; // 0x20
bool m_bHasRotation; // 0x2c
bool m_bHasMovement; // 0x2d
};
// Aligment: 1
// Size: 16
class CAnimMorphDifference
{
public:
CBufferString m_name; // 0x0
};
// Aligment: 2
// Size: 24
class CAnimUserDifference
{
public:
CBufferString m_name; // 0x0
int32_t m_nType; // 0x10
};
// Aligment: 7
// Size: 168
class CAnimEncodeDifference
{
public:
CUtlVector< CAnimBoneDifference > m_boneArray; // 0x0
CUtlVector< CAnimMorphDifference > m_morphArray; // 0x18
CUtlVector< CAnimUserDifference > m_userArray; // 0x30
CUtlVector< uint8 > m_bHasRotationBitArray; // 0x48
CUtlVector< uint8 > m_bHasMovementBitArray; // 0x60
CUtlVector< uint8 > m_bHasMorphBitArray; // 0x78
CUtlVector< uint8 > m_bHasUserBitArray; // 0x90
};
// Aligment: 5
// Size: 56
class CAnimAnimEvent
{
public:
int32_t m_nFrame; // 0x0
float m_flCycle; // 0x4
KeyValues3 m_EventData; // 0x8
CBufferString m_sLegacyOptions; // 0x18
CBufferString m_sEventName; // 0x28
};
// Aligment: 7
// Size: 44
class CAnimMovement
{
public:
int32_t endframe; // 0x0
int32_t motionflags; // 0x4
float v0; // 0x8
float v1; // 0xc
float angle; // 0x10
Vector vector; // 0x14
Vector position; // 0x20
};
// Aligment: 6
// Size: 20
class CAnimIKRuleStallFrame
{
public:
int16_t chain; // 0x0
int16_t slot; // 0x2
float start; // 0x4
float peak; // 0x8
float tail; // 0xc
float end; // 0x10
};
// Aligment: 6
// Size: 48
class CAnimLocalHierarchy
{
public:
CBufferString m_sBone; // 0x0
CBufferString m_sNewParent; // 0x10
int32_t m_nStartFrame; // 0x20
int32_t m_nPeakFrame; // 0x24
int32_t m_nTailFrame; // 0x28
int32_t m_nEndFrame; // 0x2c
};
// Aligment: 3
// Size: 24
class CAnimDecoder
{
public:
CBufferString m_szName; // 0x0
int32_t m_nVersion; // 0x10
int32_t m_nType; // 0x14
};
// Aligment: 4
// Size: 40
class CAnimFrameSegment
{
public:
int32_t m_nUniqueFrameIndex; // 0x0
uint32_t m_nLocalElementMasks; // 0x4
int32_t m_nLocalChannel; // 0x8
CUtlBinaryBlock m_container; // 0x10
};
// Aligment: 3
// Size: 32
class CAnimFrameBlockAnim
{
public:
int32_t m_nStartFrame; // 0x0
int32_t m_nEndFrame; // 0x4
CUtlVector< int32 > m_segmentIndexArray; // 0x8
};
// Aligment: 5
// Size: 216
class CAnimEncodedFrames
{
public:
CBufferString m_fileName; // 0x0
int32_t m_nFrames; // 0x10
int32_t m_nFramesPerBlock; // 0x14
CUtlVector< CAnimFrameBlockAnim > m_frameblockArray; // 0x18
CAnimEncodeDifference m_usageDifferences; // 0x30
};
// Aligment: 6
// Size: 6
class CAnimDesc_Flag
{
public:
bool m_bLooping; // 0x0
bool m_bAllZeros; // 0x1
bool m_bHidden; // 0x2
bool m_bDelta; // 0x3
bool m_bLegacyWorldspace; // 0x4
bool m_bModelDoc; // 0x5
};
// Aligment: 2
// Size: 8
class CAnimSequenceParams
{
public:
float m_flFadeInTime; // 0x0
float m_flFadeOutTime; // 0x4
};
// Aligment: 14
// Size: 432
class CAnimDesc
{
public:
CBufferString m_name; // 0x0
CAnimDesc_Flag m_flags; // 0x10
float fps; // 0x18
CAnimEncodedFrames m_Data; // 0x20
CUtlVector< CAnimMovement > m_movementArray; // 0xf8
CUtlVector< CAnimAnimEvent > m_eventArray; // 0x110
CUtlVector< CAnimActivity > m_activityArray; // 0x128
CUtlVector< CAnimLocalHierarchy > m_hierarchyArray; // 0x140
float framestalltime; // 0x158
Vector m_vecRootMin; // 0x15c
Vector m_vecRootMax; // 0x168
CUtlVector< Vector > m_vecBoneWorldMin; // 0x178
CUtlVector< Vector > m_vecBoneWorldMax; // 0x190
CAnimSequenceParams m_sequenceParams; // 0x1a8
};
// Aligment: 4
// Size: 32
class CAnimActivity
{
public:
CBufferString m_name; // 0x0
int32_t m_nActivity; // 0x10
int32_t m_nFlags; // 0x14
int32_t m_nWeight; // 0x18
};
// Aligment: 5
// Size: 112
class CAnimData
{
public:
CBufferString m_name; // 0x10
CUtlVector< CAnimDesc > m_animArray; // 0x20
CUtlVector< CAnimDecoder > m_decoderArray; // 0x38
int32_t m_nMaxUniqueFrameIndex; // 0x50
CUtlVector< CAnimFrameSegment > m_segmentArray; // 0x58
};
// Aligment: 6
// Size: 72
class CAnimBone
{
public:
CBufferString m_name; // 0x0
int32_t m_parent; // 0x10
Vector m_pos; // 0x14
Quaternion m_quat; // 0x20
Quaternion m_qAlignment; // 0x30
int32_t m_flags; // 0x40
};
// Aligment: 2
// Size: 24
class CAnimUser
{
public:
CBufferString m_name; // 0x0
int32_t m_nType; // 0x10
};
// Aligment: 9
// Size: 144
class CAnimDataChannelDesc
{
public:
CBufferString m_szChannelClass; // 0x0
CBufferString m_szVariableName; // 0x10
int32_t m_nFlags; // 0x20
int32_t m_nType; // 0x24
CBufferString m_szGrouping; // 0x28
CBufferString m_szDescription; // 0x38
CUtlVector< CBufferString > m_szElementNameArray; // 0x48
CUtlVector< int32 > m_nElementIndexArray; // 0x60
CUtlVector< uint32 > m_nElementMaskArray; // 0x78
};
// Aligment: 6
// Size: 120
class CAnimKeyData
{
public:
CBufferString m_name; // 0x0
CUtlVector< CAnimBone > m_boneArray; // 0x10
CUtlVector< CAnimUser > m_userArray; // 0x28
CUtlVector< CBufferString > m_morphArray; // 0x40
int32_t m_nChannelElements; // 0x58
CUtlVector< CAnimDataChannelDesc > m_dataChannelArray; // 0x60
};
// Aligment: 13
// Size: 168
class CAnimRetargetElementData
{
public:
int32_t m_nElementType; // 0x0
int32_t m_nGroupType; // 0x4
int32_t m_nChainType; // 0x8
int32_t m_nChainIndex; // 0xc
int32_t m_nChainInvIndex; // 0x10
int32_t m_nBoneIndex; // 0x14
CBufferString m_boneName; // 0x18
matrix3x4_t m_transform; // 0x28
matrix3x4_t m_invTransform; // 0x58
float m_flDistance; // 0x88
Vector m_vecMin; // 0x8c
Vector m_vecMax; // 0x98
float m_flMass; // 0xa4
};
// Aligment: 4
// Size: 48
class CAnimRetargetChainData
{
public:
CBufferString m_sChainName; // 0x0
int32_t m_nGroupType; // 0x10
int32_t m_nChainType; // 0x14
CUtlVector< int32 > m_nElement; // 0x18
};
// Aligment: 5
// Size: 80
class CAnimRetargetData
{
public:
int32_t m_bEnableRetarget; // 0x0
int32_t m_nRetargetStyle; // 0x4
CUtlVector< CAnimRetargetElementData > m_element; // 0x8
CUtlVector< CAnimRetargetChainData > m_chain; // 0x20
CUtlVector< CBufferString > m_replicated; // 0x38
};
// Aligment: 8
// Size: 384
class CAnimationGroup
{
public:
uint32_t m_nFlags; // 0x10
CBufferString m_name; // 0x18
CUtlVector< CStrongHandle< InfoForResourceTypeCAnimData > > m_localHAnimArray_Handle; // 0x60
CUtlVector< CStrongHandle< InfoForResourceTypeCAnimationGroup > > m_includedGroupArray_Handle; // 0x78
CStrongHandle< InfoForResourceTypeCSequenceGroupData > m_directHSeqGroup_Handle; // 0x90
CAnimKeyData m_decodeKey; // 0x98
CAnimRetargetData m_retarget; // 0x110
CUtlVector< CBufferString > m_szScripts; // 0x160
};
// Aligment: 8
// Size: 8
class CSeqAutoLayerFlag
{
public:
bool m_bPost; // 0x0
bool m_bSpline; // 0x1
bool m_bXFade; // 0x2
bool m_bNoBlend; // 0x3
bool m_bLocal; // 0x4
bool m_bPose; // 0x5
bool m_bFetchFrame; // 0x6
bool m_bSubtract; // 0x7
};
// Aligment: 7
// Size: 28
class CSeqAutoLayer
{
public:
int16_t m_nLocalReference; // 0x0
int16_t m_nLocalPose; // 0x2
CSeqAutoLayerFlag m_flags; // 0x4
float m_start; // 0xc
float m_peak; // 0x10
float m_tail; // 0x14
float m_end; // 0x18
};
// Aligment: 4
// Size: 12
class CSeqIKLock
{
public:
float m_flPosWeight; // 0x0
float m_flAngleWeight; // 0x4
int16_t m_nLocalBone; // 0x8
bool m_bBonesOrientedAlongPositiveX; // 0xa
};
// Aligment: 5
// Size: 96
class CSeqBoneMaskList
{
public:
CBufferString m_sName; // 0x0
CUtlVector< int16 > m_nLocalBoneArray; // 0x10
CUtlVector< float32 > m_flBoneWeightArray; // 0x28
float m_flDefaultMorphCtrlWeight; // 0x40
CUtlVector< CUtlPair< CBufferString, float32 > > m_morphCtrlWeightArray; // 0x48
};
// Aligment: 6
// Size: 6
class CSeqMultiFetchFlag
{
public:
bool m_bRealtime; // 0x0
bool m_bCylepose; // 0x1
bool m_b0D; // 0x2
bool m_b1D; // 0x3
bool m_b2D; // 0x4
bool m_b2D_TRI; // 0x5
};
// Aligment: 8
// Size: 104
class CSeqMultiFetch
{
public:
CSeqMultiFetchFlag m_flags; // 0x0
CUtlVector< int16 > m_localReferenceArray; // 0x8
int32[2] m_nGroupSize; // 0x20
int32[2] m_nLocalPose; // 0x28
CUtlVector< float32 > m_poseKeyArray0; // 0x30
CUtlVector< float32 > m_poseKeyArray1; // 0x48
int32_t m_nLocalCyclePoseParameter; // 0x60
bool m_bCalculatePoseParameters; // 0x64
};
// Aligment: 11
// Size: 11
class CSeqSeqDescFlag
{
public:
bool m_bLooping; // 0x0
bool m_bSnap; // 0x1
bool m_bAutoplay; // 0x2
bool m_bPost; // 0x3
bool m_bHidden; // 0x4
bool m_bMulti; // 0x5
bool m_bLegacyDelta; // 0x6
bool m_bLegacyWorldspace; // 0x7
bool m_bLegacyCyclepose; // 0x8
bool m_bLegacyRealtime; // 0x9
bool m_bModelDoc; // 0xa
};
// Aligment: 2
// Size: 8
class CSeqTransition
{
public:
float m_flFadeInTime; // 0x0
float m_flFadeOutTime; // 0x4
};
// Aligment: 11
// Size: 280
class CSeqS1SeqDesc
{
public:
CBufferString m_sName; // 0x0
CSeqSeqDescFlag m_flags; // 0x10
CSeqMultiFetch m_fetch; // 0x20
int32_t m_nLocalWeightlist; // 0x88
CUtlVector< CSeqAutoLayer > m_autoLayerArray; // 0x90
CUtlVector< CSeqIKLock > m_IKLockArray; // 0xa8
CSeqTransition m_transition; // 0xc0
KeyValues3 m_SequenceKeys; // 0xc8
CBufferString m_LegacyKeyValueText; // 0xd8
CUtlVector< CAnimActivity > m_activityArray; // 0xe8
CUtlVector< CFootMotion > m_footMotion; // 0x100
};
// Aligment: 6
// Size: 64
class CSeqSynthAnimDesc
{
public:
CBufferString m_sName; // 0x0
CSeqSeqDescFlag m_flags; // 0x10
CSeqTransition m_transition; // 0x1c
int16_t m_nLocalBaseReference; // 0x24
int16_t m_nLocalBoneMask; // 0x26
CUtlVector< CAnimActivity > m_activityArray; // 0x28
};
// Aligment: 9
// Size: 24
class CSeqCmdLayer
{
public:
int16_t m_cmd; // 0x0
int16_t m_nLocalReference; // 0x2
int16_t m_nLocalBonemask; // 0x4
int16_t m_nDstResult; // 0x6
int16_t m_nSrcResult; // 0x8
bool m_bSpline; // 0xa
float m_flVar1; // 0xc
float m_flVar2; // 0x10
int16_t m_nLineNumber; // 0x14
};
// Aligment: 8
// Size: 64
class CSeqPoseSetting
{
public:
CBufferString m_sPoseParameter; // 0x0
CBufferString m_sAttachment; // 0x10
CBufferString m_sReferenceSequence; // 0x20
float m_flValue; // 0x30
bool m_bX; // 0x34
bool m_bY; // 0x35
bool m_bZ; // 0x36
int32_t m_eType; // 0x38
};
// Aligment: 12
// Size: 144
class CSeqCmdSeqDesc
{
public:
CBufferString m_sName; // 0x0
CSeqSeqDescFlag m_flags; // 0x10
CSeqTransition m_transition; // 0x1c
int16_t m_nFrameRangeSequence; // 0x24
int16_t m_nFrameCount; // 0x26
float m_flFPS; // 0x28
int16_t m_nSubCycles; // 0x2c
int16_t m_numLocalResults; // 0x2e
CUtlVector< CSeqCmdLayer > m_cmdLayerArray; // 0x30
CUtlVector< CAnimAnimEvent > m_eventArray; // 0x48
CUtlVector< CAnimActivity > m_activityArray; // 0x60
CUtlVector< CSeqPoseSetting > m_poseSettingArray; // 0x78
};
// Aligment: 5
// Size: 32
class CSeqPoseParamDesc
{
public:
CBufferString m_sName; // 0x0
float m_flStart; // 0x10
float m_flEnd; // 0x14
float m_flLoop; // 0x18
bool m_bLooping; // 0x1c
};
// Aligment: 13
// Size: 288
class CSequenceGroupData
{
public:
CBufferString m_sName; // 0x10
uint32_t m_nFlags; // 0x20
CUtlVector< CBufferString > m_localSequenceNameArray; // 0x28
CUtlVector< CSeqS1SeqDesc > m_localS1SeqDescArray; // 0x40
CUtlVector< CSeqS1SeqDesc > m_localMultiSeqDescArray; // 0x58
CUtlVector< CSeqSynthAnimDesc > m_localSynthAnimDescArray; // 0x70
CUtlVector< CSeqCmdSeqDesc > m_localCmdSeqDescArray; // 0x88
CUtlVector< CSeqBoneMaskList > m_localBoneMaskArray; // 0xa0
CUtlVector< CBufferString > m_localBoneNameArray; // 0xb8
CBufferString m_localNodeName; // 0xd0
CUtlVector< CSeqPoseParamDesc > m_localPoseParamArray; // 0xe0
KeyValues3 m_keyValues; // 0xf8
CUtlVector< CSeqIKLock > m_localIKAutoplayLockArray; // 0x108
};
// Aligment: 17
// Size: 416
class CCompressorGroup
{
public:
int32_t m_nTotalElementCount; // 0x0
CUtlVector< char* > m_szChannelClass; // 0x8
CUtlVector< char* > m_szVariableName; // 0x20
CUtlVector< fieldtype_t > m_nType; // 0x38
CUtlVector< int32 > m_nFlags; // 0x50
CUtlVector< CUtlString > m_szGrouping; // 0x68
CUtlVector< int32 > m_nCompressorIndex; // 0x80
CUtlVector< CUtlVector< char* > > m_szElementNames; // 0x98
CUtlVector< CUtlVector< int32 > > m_nElementUniqueID; // 0xb0
CUtlVector< uint32 > m_nElementMask; // 0xc8
CUtlVector< CCompressor< Vector >* > m_vectorCompressor; // 0xf8
CUtlVector< CCompressor< Quaternion >* > m_quaternionCompressor; // 0x110
CUtlVector< CCompressor< int32 >* > m_intCompressor; // 0x128
CUtlVector< CCompressor< bool >* > m_boolCompressor; // 0x140
CUtlVector< CCompressor< Color >* > m_colorCompressor; // 0x158
CUtlVector< CCompressor< Vector2D >* > m_vector2DCompressor; // 0x170
CUtlVector< CCompressor< Vector4D >* > m_vector4DCompressor; // 0x188
};
// Aligment: 1
// Size: 16
class CAnimationGraphVisualizerPrimitiveBase
{
public:
CAnimationGraphVisualizerPrimitiveType m_Type; // 0x8
};
// Aligment: 3
// Size: 48
class CAnimationGraphVisualizerText : public CAnimationGraphVisualizerPrimitiveBase
{
public:
VectorAligned m_vWsPosition; // 0x10
Color m_Color; // 0x20
CUtlString m_Text; // 0x28
};
// Aligment: 3
// Size: 48
class CAnimationGraphVisualizerSphere : public CAnimationGraphVisualizerPrimitiveBase
{
public:
VectorAligned m_vWsPosition; // 0x10
float m_flRadius; // 0x20
Color m_Color; // 0x24
};
// Aligment: 3
// Size: 64
class CAnimationGraphVisualizerLine : public CAnimationGraphVisualizerPrimitiveBase
{
public:
VectorAligned m_vWsPositionStart; // 0x10
VectorAligned m_vWsPositionEnd; // 0x20
Color m_Color; // 0x30
};
// Aligment: 4
// Size: 80
class CAnimationGraphVisualizerPie : public CAnimationGraphVisualizerPrimitiveBase
{
public:
VectorAligned m_vWsCenter; // 0x10
VectorAligned m_vWsStart; // 0x20
VectorAligned m_vWsEnd; // 0x30
Color m_Color; // 0x40
};
// Aligment: 2
// Size: 64
class CAnimationGraphVisualizerAxis : public CAnimationGraphVisualizerPrimitiveBase
{
public:
CTransform m_xWsTransform; // 0x10
float m_flAxisSize; // 0x30
};
// Aligment: 1
// Size: 4
class AnimNodeID
{
public:
uint32_t m_id; // 0x0
};
// Aligment: 1
// Size: 4
class AnimOutputID
{
public:
uint32_t m_id; // 0x0
};
// Aligment: 1
// Size: 4
class AnimStateID
{
public:
uint32_t m_id; // 0x0
};
// Aligment: 1
// Size: 4
class AnimParamID
{
public:
uint32_t m_id; // 0x0
};
// Aligment: 1
// Size: 4
class AnimTagID
{
public:
uint32_t m_id; // 0x0
};
// Aligment: 2
// Size: 16
class CBlendCurve
{
public:
Vector2D m_vControlPoint1; // 0x0
Vector2D m_vControlPoint2; // 0x8
};
// Aligment: 1
// Size: 16
struct IKBoneNameAndIndex_t
{
public:
// MPropertyAttributeChoiceName "Bone"
CUtlString m_Name; // 0x0
};
// Aligment: 2
// Size: 8
struct IKSolverSettings_t
{
public:
// MPropertyFriendlyName "Solver Type"
// MPropertyAttributeChoiceEnumName
// MPropertyAttrChangeCallback
IKSolverType m_SolverType; // 0x0
// MPropertyFriendlyName "Num Iterations "
// MPropertyAttrStateCallback
int32_t m_nNumIterations; // 0x4
};
// Aligment: 4
// Size: 32
struct IKTargetSettings_t
{
public:
// MPropertyFriendlyName "Target Source"
// MPropertyAttributeChoiceEnumName
// MPropertyAttrChangeCallback
IKTargetSource m_TargetSource; // 0x0
// MPropertyFriendlyName "Bone"
// MPropertyAttrStateCallback
IKBoneNameAndIndex_t m_Bone; // 0x8
// MPropertyFriendlyName "Animgraph Position Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
// MPropertyAttrStateCallback
AnimParamID m_AnimgraphParameterNamePosition; // 0x18
// MPropertyFriendlyName "Target Coords"
// MPropertyAttrStateCallback
IKTargetCoordinateSystem m_TargetCoordSystem; // 0x1c
};
// Aligment: 2
// Size: 16
class CBoneMergeModel
{
public:
// MPropertyHideField
CUtlString m_name; // 0x0
// MPropertyHideField
bool m_bEnabled; // 0x8
};
// Aligment: 8
// Size: 144
class CAnimationGraph
{
public:
CSmartPtr< CAnimNodeManager > m_nodeManager; // 0x8
CSmartPtr< CAnimParameterList > m_pParameterList; // 0x10
CSmartPtr< CAnimTagManager > m_pTagManager; // 0x18
CSmartPtr< CAnimMovementManager > m_pMovementManager; // 0x20
CSmartPtr< CAnimGraphSettingsManager > m_pSettingsManager; // 0x28
CSmartPtr< CActivityValueList > m_pActivityValuesList; // 0x40
CUtlVector< CUtlString > m_previewModels; // 0x48
CUtlVector< CBoneMergeModel > m_boneMergeModels; // 0x60
};
// Aligment: 1
// Size: 72
class CAnimationSubGraph
{
public:
CSmartPtr< CAnimNodeManager > m_nodeManager; // 0x8
};
// Aligment: 1
// Size: 48
class CAnimParameterList
{
public:
CUtlVector< CSmartPtr< CAnimParameterBase > > m_Parameters; // 0x18
};
// Aligment: 2
// Size: 56
class CParameterValue
{
public:
AnimParamID m_id; // 0x18
CAnimVariant m_value; // 0x1c
};
// Aligment: 2
// Size: 64
class CActivityValues
{
public:
CUtlVector< CSmartPtr< CParameterValue > > m_values; // 0x18
CUtlString m_activityName; // 0x30
};
// Aligment: 1
// Size: 56
class CActivityValueList
{
public:
CUtlVector< CSmartPtr< CActivityValues > > m_activities; // 0x18
};
// Aligment: 1
// Size: 40
class CAnimNodeList
{
public:
CUtlVector< CAnimNodeBase* > m_nodes; // 0x10
};
// Aligment: 0
// Size: 104
class CAnimNodeManager
{
public:
// <no members described>
};
// Aligment: 1
// Size: 40
class CAnimStateList
{
public:
CUtlVector< CAnimState* > m_states; // 0x10
};
// Aligment: 4
// Size: 24
class CAnimInputDamping
{
public:
// MPropertyFriendlyName "Speed Function"
DampingSpeedFunction m_speedFunction; // 0x8
// MPropertyFriendlyName "Speed Scale"
float m_fSpeedScale; // 0xc
// MPropertyFriendlyName "Minimum Speed"
float m_fMinSpeed; // 0x10
// MPropertyFriendlyName "Maximum Tension"
float m_fMaxTension; // 0x14
};
// Aligment: 1
// Size: 48
class CAnimGraphSettingsManager
{
public:
CUtlVector< CSmartPtr< CAnimGraphSettingsGroup > > m_settingsGroups; // 0x18
};
// Aligment: 0
// Size: 32
class CAnimGraphSettingsGroup
{
public:
// <no members described>
};
// Aligment: 1
// Size: 40
class CAnimGraphGeneralSettings : public CAnimGraphSettingsGroup
{
public:
// MPropertyFriendlyName "Grid Snapping"
int32_t m_iGridSnap; // 0x20
};
// Aligment: 2
// Size: 40
class CAnimGraphNetworkSettings : public CAnimGraphSettingsGroup
{
public:
// MPropertyFriendlyName "Enable Networking"
bool m_bNetworkingEnabled; // 0x20
// MPropertyFriendlyName "Default Network Mode"
AnimNodeNetworkMode m_defaultNetworkMode; // 0x24
};
// Aligment: 4
// Size: 48
class CClipProperties
{
public:
// MPropertyFriendlyName "Name"
// MPropertyAttrStateCallback
CUtlString m_name; // 0x18
// MPropertyFriendlyName "Frame Count"
// MPropertyAttrStateCallback
int32_t m_frames; // 0x20
// MPropertyFriendlyName "Frame Rate"
// MPropertyAttrStateCallback
float m_flFrameRate; // 0x24
// MPropertyFriendlyName "Duration"
// MPropertyAttrStateCallback
float m_flDuration; // 0x28
};
// Aligment: 1
// Size: 48
class CAnimClipPropertiesManager
{
public:
CUtlVector< CSmartPtr< CClipProperties > > m_Clips; // 0x18
};
// Aligment: 1
// Size: 32
class CAnimMotorList
{
public:
CUtlVector< CSmartPtr< CAnimMotorBase > > m_motors; // 0x8
};
// Aligment: 1
// Size: 16
class CAnimMovementSettings
{
public:
bool m_bShouldCalculateSlope; // 0x8
};
// Aligment: 2
// Size: 40
class CAnimMotorBase
{
public:
// MPropertyFriendlyName "Name"
// MPropertySortPriority "100"
CUtlString m_name; // 0x18
// MPropertyHideField
bool m_bDefault; // 0x20
};
// Aligment: 2
// Size: 72
class CPathAnimMotorBase : public CAnimMotorBase
{
public:
// MPropertyFriendlyName "Facing Damping"
// MPropertySortPriority "90"
CAnimInputDamping m_facingDamping; // 0x28
// MPropertyFriendlyName "Lock To Path"
// MPropertySortPriority "90"
bool m_bLockToPath; // 0x40
};
// Aligment: 0
// Size: 72
class CPathAnimMotor : public CPathAnimMotorBase, CAnimMotorBase
{
public:
// <no members described>
};
// Aligment: 6
// Size: 96
class CDampedPathAnimMotor : public CPathAnimMotorBase, CAnimMotorBase
{
public:
// MPropertyFriendlyName "Anticipation Time"
float m_flAnticipationTime; // 0x48
// MPropertyFriendlyName "Anticipation Position Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_anticipationPosParam; // 0x4c
// MPropertyFriendlyName "Anticipation Heading Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_anticipationHeadingParam; // 0x50
// MPropertyFriendlyName "Spring Constant"
// MPropertyGroupName "+Stopping:Arrival Damping"
float m_flSpringConstant; // 0x54
// MPropertyFriendlyName "Min Tension"
// MPropertyGroupName "+Stopping:Arrival Damping"
float m_flMinSpringTension; // 0x58
// MPropertyFriendlyName "Max Tension"
// MPropertyGroupName "+Stopping:Arrival Damping"
float m_flMaxSpringTension; // 0x5c
};
// Aligment: 6
// Size: 88
class CPlayerInputAnimMotor : public CAnimMotorBase
{
public:
// MPropertyFriendlyName "Sample Times"
CUtlVector< float32 > m_sampleTimes; // 0x28
// MPropertyFriendlyName "Use Acceleration"
// MPropertyAttrChangeCallback
bool m_bUseAcceleraion; // 0x40
// MPropertyFriendlyName "Spring Constant"
// MPropertyAttrStateCallback
float m_flSpringConstant; // 0x44
// MPropertyFriendlyName "Anticipation Distance"
float m_flAnticipationDistance; // 0x48
// MPropertyFriendlyName "Anticipation Position Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_anticipationPosParam; // 0x4c
// MPropertyFriendlyName "Anticipation Heading Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_anticipationHeadingParam; // 0x50
};
// Aligment: 7
// Size: 48
class CAnimParameterBase
{
public:
// MPropertyFriendlyName "Name"
// MPropertySortPriority "100"
CUtlString m_name; // 0x18
// MPropertyHideField
AnimParamID m_id; // 0x20
// MPropertyFriendlyName "Preview Button"
AnimParamButton_t m_previewButton; // 0x24
// MPropertyFriendlyName "Network"
bool m_bNetwork; // 0x28
// MPropertyFriendlyName "Force Latest Value"
bool m_bUseMostRecentValue; // 0x29
// MPropertyFriendlyName "Auto Reset"
bool m_bAutoReset; // 0x2a
// MPropertyFriendlyName "Predicted"
bool m_bPredicted; // 0x2b
};
// Aligment: 1
// Size: 56
class CBoolAnimParameter : public CAnimParameterBase
{
public:
// MPropertyFriendlyName "Default Value"
bool m_bDefaultValue; // 0x30
};
// Aligment: 2
// Size: 88
class CEnumAnimParameter : public CAnimParameterBase
{
public:
// MPropertyFriendlyName "Default Value"
uint8_t m_defaultValue; // 0x38
// MPropertyFriendlyName "Values"
CUtlVector< CUtlString > m_enumOptions; // 0x40
};
// Aligment: 3
// Size: 64
class CIntAnimParameter : public CAnimParameterBase
{
public:
// MPropertyFriendlyName "Default Value"
int32_t m_defaultValue; // 0x30
// MPropertyFriendlyName "Min Value"
int32_t m_minValue; // 0x34
// MPropertyFriendlyName "Max Value"
int32_t m_maxValue; // 0x38
};
// Aligment: 4
// Size: 64
class CFloatAnimParameter : public CAnimParameterBase
{
public:
// MPropertyFriendlyName "Default Value"
float m_fDefaultValue; // 0x30
// MPropertyFriendlyName "Min Value"
float m_fMinValue; // 0x34
// MPropertyFriendlyName "Max Value"
float m_fMaxValue; // 0x38
// MPropertyFriendlyName "Interpolate"
bool m_bInterpolate; // 0x3c
};
// Aligment: 2
// Size: 64
class CVectorAnimParameter : public CAnimParameterBase
{
public:
// MPropertyFriendlyName "Default Value"
Vector m_defaultValue; // 0x30
// MPropertyFriendlyName "Interpolate"
bool m_bInterpolate; // 0x3c
};
// Aligment: 2
// Size: 72
class CQuaternionAnimParameter : public CAnimParameterBase
{
public:
// MPropertyFriendlyName "Default Value"
Quaternion m_defaultValue; // 0x30
// MPropertyFriendlyName "Interpolate"
bool m_bInterpolate; // 0x40
};
// Aligment: 2
// Size: 8
class CNodeConnection
{
public:
// MPropertySuppressField
AnimNodeID m_nodeID; // 0x0
// MPropertySuppressField
AnimOutputID m_outputID; // 0x4
};
// Aligment: 5
// Size: 64
class CAnimNodeBase
{
public:
// MPropertyFriendlyName "Name"
// MPropertySortPriority "100"
CUtlString m_sName; // 0x20
// MPropertyHideField
Vector2D m_vecPosition; // 0x28
// MPropertyHideField
AnimNodeID m_nNodeID; // 0x30
// MPropertyFriendlyName "Network Mode"
// MPropertyAttrStateCallback
AnimNodeNetworkMode m_networkMode; // 0x34
// MPropertyHideField
CUtlString m_sNote; // 0x38
};
// Aligment: 4
// Size: 120
class CSequenceAnimNode : public CAnimNodeBase
{
public:
// MPropertySuppressField
CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x50
// MPropertyFriendlyName "Sequence"
// MPropertyAttributeChoiceName "Sequence"
CUtlString m_sequenceName; // 0x68
// MPropertyFriendlyName "Playback Speed"
float m_playbackSpeed; // 0x70
// MPropertyFriendlyName "Loop"
bool m_bLoop; // 0x74
};
// Aligment: 3
// Size: 24
class CBlendNodeChild
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x0
// MPropertyFriendlyName "Name"
CUtlString m_name; // 0x8
// MPropertyFriendlyName "Blend Value"
float m_blendValue; // 0x10
};
// Aligment: 9
// Size: 136
class CBlendAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Blend Items"
// MPropertyAutoExpandGroup
CUtlVector< CBlendNodeChild > m_children; // 0x48
// MPropertyFriendlyName "Blend Source"
// MPropertyAttrChangeCallback
AnimValueSource m_blendValueSource; // 0x60
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
// MPropertyAttrStateCallback
AnimParamID m_param; // 0x64
// MPropertyFriendlyName "Blend Key Values"
BlendKeyType m_blendKeyType; // 0x68
// MPropertyFriendlyName "Lock Blend on Reset"
bool m_bLockBlendOnReset; // 0x6c
// MPropertyFriendlyName "Sync Cycles"
bool m_bSyncCycles; // 0x6d
// MPropertyFriendlyName "Loop"
bool m_bLoop; // 0x6e
// MPropertyFriendlyName "Lock Blend When Waning"
bool m_bLockWhenWaning; // 0x6f
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x70
};
// Aligment: 3
// Size: 112
class CStateMachineAnimNode : public CAnimNodeBase
{
public:
// MPropertySuppressField
CUtlVector< CSmartPtr< CAnimState > > m_states; // 0x50
// MPropertyFriendlyName "Block Tags from Waning States"
bool m_bBlockWaningTags; // 0x68
// MPropertyFriendlyName "Lock State when Waning"
bool m_bLockStateWhenWaning; // 0x69
};
// Aligment: 1
// Size: 72
class CRootAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
};
// Aligment: 4
// Size: 24
class CChoiceNodeChild
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x0
// MPropertyFriendlyName "Name"
CUtlString m_name; // 0x8
// MPropertyFriendlyName "Weight"
float m_weight; // 0x10
// MPropertyFriendlyName "Blend Time"
float m_blendTime; // 0x14
};
// Aligment: 9
// Size: 120
class CChoiceAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Options"
// MPropertyAutoExpandGroup
CUtlVector< CChoiceNodeChild > m_children; // 0x48
// MPropertyHideField
int32_t m_seed; // 0x60
// MPropertyFriendlyName "Method"
ChoiceMethod m_choiceMethod; // 0x64
// MPropertyFriendlyName "Change Selection"
ChoiceChangeMethod m_choiceChangeMethod; // 0x68
// MPropertyGroupName "Blending"
// MPropertyFriendlyName "Blend Method"
// MPropertyAttrChangeCallback
ChoiceBlendMethod m_blendMethod; // 0x6c
// MPropertyGroupName "Blending"
// MPropertyFriendlyName "Blend Duration"
// MPropertyAttrStateCallback
float m_blendTime; // 0x70
// MPropertyGroupName "Blending"
// MPropertyFriendlyName "Cross Fade"
bool m_bCrossFade; // 0x74
// MPropertyFriendlyName "Reset On Selection"
// MPropertyAttrChangeCallback
bool m_bResetChosen; // 0x75
// MPropertyFriendlyName "Don't Reset Same Selection"
// MPropertyAttrStateCallback
bool m_bDontResetSameSelection; // 0x76
};
// Aligment: 3
// Size: 80
class CCycleControlAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Blend Source"
AnimValueSource m_valueSource; // 0x48
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_param; // 0x4c
};
// Aligment: 8
// Size: 96
class CAddAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_baseInput; // 0x40
// MPropertyHideField
CNodeConnection m_additiveInput; // 0x48
// MPropertyFriendlyName "Timing Control"
// MPropertyAttrChangeCallback
BinaryNodeTiming m_timingBehavior; // 0x50
// MPropertyFriendlyName "Timing Blend"
// MPropertyAttributeRange "0 1"
// MPropertyAttrStateCallback
float m_flTimingBlend; // 0x54
// MPropertyFriendlyName "Foot Motion Timing"
BinaryNodeChildOption m_footMotionTiming; // 0x58
// MPropertyFriendlyName "Reset Base Child"
bool m_bResetBase; // 0x5c
// MPropertyFriendlyName "Reset Additive Child"
bool m_bResetAdditive; // 0x5d
// MPropertyFriendlyName "Treat Translation Separately"
bool m_bApplyChannelsSeparately; // 0x5e
};
// Aligment: 8
// Size: 96
class CSubtractAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_baseInputConnection; // 0x40
// MPropertyHideField
CNodeConnection m_subtractInputConnection; // 0x48
// MPropertyFriendlyName "Timing Control"
// MPropertyAttrChangeCallback
BinaryNodeTiming m_timingBehavior; // 0x50
// MPropertyFriendlyName "Timing Blend"
// MPropertyAttributeRange "0 1"
// MPropertyAttrStateCallback
float m_flTimingBlend; // 0x54
// MPropertyFriendlyName "Foot Motion Timing"
BinaryNodeChildOption m_footMotionTiming; // 0x58
// MPropertyFriendlyName "Reset Base Child"
bool m_bResetBase; // 0x5c
// MPropertyFriendlyName "Reset Subtracted Child"
bool m_bResetSubtract; // 0x5d
// MPropertyFriendlyName "Treat Translation Separately"
bool m_bApplyChannelsSeparately; // 0x5e
};
// Aligment: 8
// Size: 112
class CMoverAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Generate Movement"
bool m_bApplyMovement; // 0x48
// MPropertyFriendlyName "Orient Movement"
bool m_bOrientMovement; // 0x49
// MPropertyFriendlyName "Additive"
bool m_bAdditive; // 0x4a
// MPropertyFriendlyName "Turn to Face"
bool m_bTurnToFace; // 0x4b
// MPropertyFriendlyName "Turn to Face Offset"
// MPropertyAttributeRange "-180 180"
float m_flTurnToFaceOffset; // 0x4c
// MPropertyFriendlyName "Face Direction"
AnimValueSource m_facingTarget; // 0x50
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x58
};
// Aligment: 2
// Size: 80
class CSlowDownOnSlopesAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Slow Down Strength"
// MPropertyAttributeRange "0.1 2"
float m_flSlowDownStrength; // 0x48
};
// Aligment: 7
// Size: 96
class CTurnHelperAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Turn to Face"
AnimValueSource m_facingTarget; // 0x48
// MPropertyFriendlyName "Turn Start Time"
float m_turnStartTime; // 0x4c
// MPropertyFriendlyName "Turn Duration"
float m_turnDuration; // 0x50
// MPropertyFriendlyName "Match Child Duration"
bool m_bMatchChildDuration; // 0x54
// MPropertyFriendlyName "Use Manual Turn Offset"
bool m_bUseManualTurnOffset; // 0x55
// MPropertyFriendlyName "Manual Turn Offset"
float m_manualTurnOffset; // 0x58
};
// Aligment: 12
// Size: 160
class CAimMatrixAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x48
// MPropertyFriendlyName "Sequence"
// MPropertyAttributeChoiceName "Sequence"
CUtlString m_sequenceName; // 0x50
// MPropertyFriendlyName "Angle Increment"
float m_fAngleIncrement; // 0x58
// MPropertyFriendlyName "Can Look Straight Down"
bool m_bCanLookStraightDown; // 0x5c
// MPropertyFriendlyName "Target"
AnimVectorSource m_target; // 0x60
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_param; // 0x64
// MPropertyFriendlyName "Aim Attachment"
// MPropertyAttributeChoiceName "Attachment"
CUtlString m_attachmentName; // 0x68
// MPropertyFriendlyName "Blend Mode"
AimMatrixBlendMode m_blendMode; // 0x70
// MPropertyFriendlyName "Bone Mask"
// MPropertyAttributeChoiceName "BoneMask"
CUtlString m_boneMaskName; // 0x78
// MPropertyFriendlyName "Reset Child"
bool m_bResetBase; // 0x80
// MPropertyFriendlyName "Lock Blend When Waning"
bool m_bLockWhenWaning; // 0x81
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x88
};
// Aligment: 2
// Size: 80
class CSpeedScaleAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_param; // 0x48
};
// Aligment: 7
// Size: 112
class CDirectionalBlendAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Sequence Names Prefix"
CUtlString m_animNamePrefix; // 0x40
// MPropertyFriendlyName "Blend Source"
// MPropertyAttrChangeCallback
AnimValueSource m_blendValueSource; // 0x48
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
// MPropertyAttrStateCallback
AnimParamID m_param; // 0x4c
// MPropertyFriendlyName "Loop"
bool m_bLoop; // 0x50
// MPropertyFriendlyName "Lock Blend on Reset"
bool m_bLockBlendOnReset; // 0x51
// MPropertyFriendlyName "Playback Speed"
float m_playbackSpeed; // 0x54
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x58
};
// Aligment: 6
// Size: 88
class CWayPointHelperAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Start Cycle"
// MPropertyAttributeRange "0 1"
float m_flStartCycle; // 0x48
// MPropertyFriendlyName "End Cycle"
// MPropertyAttributeRange "0 1"
float m_flEndCycle; // 0x4c
// MPropertyFriendlyName "Only align to Goals"
bool m_bOnlyGoals; // 0x50
// MPropertyFriendlyName "Prevent Overshoot"
bool m_bPreventOvershoot; // 0x51
// MPropertyFriendlyName "Prevent Undershoot"
bool m_bPreventUndershoot; // 0x52
};
// Aligment: 13
// Size: 128
class CBoneMaskAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Bone Mask"
// MPropertyAttributeChoiceName "BoneMask"
CUtlString m_weightListName; // 0x40
// MPropertyHideField
CNodeConnection m_inputConnection1; // 0x48
// MPropertyHideField
CNodeConnection m_inputConnection2; // 0x50
// MPropertyFriendlyName "Blend Space"
BoneMaskBlendSpace m_blendSpace; // 0x58
// MPropertyFriendlyName "Use Blend Source"
// MPropertyAttrChangeCallback
bool m_bUseBlendScale; // 0x5c
// MPropertyFriendlyName "Blend Source"
// MPropertyAttrChangeCallback
// MPropertyAttrStateCallback
AnimValueSource m_blendValueSource; // 0x60
// MPropertyFriendlyName "Blend Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
// MPropertyAttrStateCallback
AnimParamID m_blendParameter; // 0x64
// MPropertyFriendlyName "Timing Control"
// MPropertyAttrChangeCallback
BinaryNodeTiming m_timingBehavior; // 0x68
// MPropertyFriendlyName "Timing Blend"
// MPropertyAttributeRange "0 1"
// MPropertyAttrStateCallback
float m_flTimingBlend; // 0x6c
// MPropertyFriendlyName "Root Motion Blend"
// MPropertyAttributeRange "0 1"
float m_flRootMotionBlend; // 0x70
// MPropertyFriendlyName "Foot Motion Timing"
BinaryNodeChildOption m_footMotionTiming; // 0x74
// MPropertyFriendlyName "Reset Child1"
bool m_bResetChild1; // 0x78
// MPropertyFriendlyName "Reset Child2"
bool m_bResetChild2; // 0x79
};
// Aligment: 1
// Size: 72
class CChoreoAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
};
// Aligment: 3
// Size: 80
class CDirectPlaybackAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Finish Early"
bool m_bFinishEarly; // 0x48
// MPropertyFriendlyName "Reset Child On Finish"
bool m_bResetOnFinish; // 0x49
};
// Aligment: 7
// Size: 144
class CLeanMatrixAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Sequence"
// MPropertyAttributeChoiceName "Sequence"
CUtlString m_sequenceName; // 0x48
// MPropertyFriendlyName "Max Value"
float m_flMaxValue; // 0x50
// MPropertyFriendlyName "Blend Source"
AnimVectorSource m_blendSource; // 0x54
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_param; // 0x58
// MPropertyFriendlyName "Vertical Axis"
Vector m_verticalAxisDirection; // 0x5c
// MPropertyFriendlyName "Horizontal Axis"
Vector m_horizontalAxisDirection; // 0x68
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x78
};
// Aligment: 10
// Size: 136
class CTwoBoneIKAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "IK Chain"
// MPropertyAttributeChoiceName "IKChain"
CUtlString m_ikChainName; // 0x48
// MPropertyGroupName "End Effector"
// MPropertyFriendlyName "End Effector Type"
// MPropertyAttrChangeCallback
IkEndEffectorType m_endEffectorType; // 0x50
// MPropertyGroupName "End Effector"
// MPropertyFriendlyName "Attachment"
// MPropertyAttributeChoiceName "Attachment"
// MPropertyAttrStateCallback
CUtlString m_endEffectorAttachmentName; // 0x58
// MPropertyGroupName "Target"
// MPropertyFriendlyName "Target Type"
// MPropertyAttrChangeCallback
IkTargetType m_targetType; // 0x60
// MPropertyGroupName "Target"
// MPropertyFriendlyName "Attachment"
// MPropertyAttributeChoiceName "Attachment"
// MPropertyAttrStateCallback
CUtlString m_attachmentName; // 0x68
// MPropertyGroupName "Target"
// MPropertyFriendlyName "Bone"
// MPropertyAttributeChoiceName "Bone"
// MPropertyAttrStateCallback
CUtlString m_targetBoneName; // 0x70
// MPropertyGroupName "Target"
// MPropertyFriendlyName "Position Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
// MPropertyAttrStateCallback
AnimParamID m_targetParam; // 0x78
// MPropertyGroupName "Target"
// MPropertyFriendlyName "Match Target Orientation"
// MPropertyAttrChangeCallback
bool m_bMatchTargetOrientation; // 0x7c
// MPropertyGroupName "Target"
// MPropertyFriendlyName "Rotation Parameter"
// MPropertyAttributeChoiceName "QuaternionParameter"
// MPropertyAttrStateCallback
AnimParamID m_rotationParam; // 0x80
};
// Aligment: 16
// Size: 176
class CGroundIKSolveAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "IK Chains"
// MPropertyAttributeChoiceName "IKChainOld"
CUtlVector< CUtlString > m_IkChains; // 0x48
// MPropertyFriendlyName "Tilt Source"
// MPropertyAttributeChoiceEnumName
GroundIKTiltSource_t m_TiltSource; // 0x60
// MPropertyFriendlyName "Override Tilt Root"
// MPropertyAttributeChoiceName "Bone"
CUtlString m_OverrideTiltRoot; // 0x68
// MPropertyFriendlyName "Tilt Attachment"
// MPropertyAttributeChoiceName "Attachment"
CUtlString m_TiltAttachment; // 0x70
// MPropertyFriendlyName "Override Tilt Spring Strength"
float m_flOverrideTiltSpringStrength; // 0x78
// MPropertyFriendlyName "Apply Locks"
bool m_bApplyLocks; // 0x7c
// MPropertyFriendlyName "Enabled"
bool m_bEnabled; // 0x7d
// MPropertyFriendlyName "Target Blend Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_TargetBlendParameter; // 0x80
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug Bone Types to Draw"
// MPropertyAttributeChoiceEnumName
CUtlVector< CGroundIKSolveAnimNode::DebugSkeletonBoneType_t > m_DebugDrawBoneTypes; // 0x88
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug Draw Lock Values"
bool m_bDebugDrawLockValues; // 0xa0
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug Lock Values Color"
Color m_DebugDrawLockValuesColor; // 0xa1
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug Draw Before"
bool m_bDebugDrawBefore; // 0xa5
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug Before IK Color"
Color m_DebugDrawBeforeColor; // 0xa6
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug Draw After"
bool m_bDebugDrawAfter; // 0xaa
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug After IK Color"
Color m_DebugDrawAfterColor; // 0xab
};
// Aligment: 8
// Size: 88
class CSolveIKChainAnimNodeChainData
{
public:
// MPropertyFriendlyName "IK Chain"
// MPropertyAttributeChoiceName "IKChain"
CUtlString m_IkChain; // 0x8
// MPropertyFriendlyName "Solver Setting Source"
// MPropertyAttributeChoiceEnumName
// MPropertyAttrChangeCallback
SolveIKChainAnimNodeSettingSource m_SolverSettingSource; // 0x10
// MPropertyFriendlyName "Override Solver Settings"
// MPropertyAutoExpandGroup
// MPropertyAttrStateCallback
IKSolverSettings_t m_OverrideSolverSettings; // 0x14
// MPropertyFriendlyName "Target Setting Source"
// MPropertyAttributeChoiceEnumName
// MPropertyAttrChangeCallback
SolveIKChainAnimNodeSettingSource m_TargetSettingSource; // 0x1c
// MPropertyFriendlyName "Override Target Settings"
// MPropertyAutoExpandGroup
// MPropertyAttrStateCallback
IKTargetSettings_t m_OverrideTargetSettings; // 0x20
// MPropertyFriendlyName "Debug Setting"
// MPropertyGroupName "Debug"
SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x40
// MPropertyFriendlyName "Debug Normalized Length"
// MPropertyGroupName "Debug"
float m_flDebugNormalizedLength; // 0x44
// MPropertyFriendlyName "Debug Offset"
// MPropertyGroupName "Debug"
Vector m_vDebugOffset; // 0x48
};
// Aligment: 2
// Size: 104
class CSolveIKChainAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x48
// MPropertyFriendlyName "IK Chains"
// MPropertyAutoExpandGroup
CUtlVector< CSolveIKChainAnimNodeChainData > m_IkChains; // 0x50
};
// Aligment: 14
// Size: 152
class CLookAtAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Target"
AnimVectorSource m_target; // 0x48
// MPropertyFriendlyName "Target Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_param; // 0x4c
// MPropertyFriendlyName "Weight Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_weightParam; // 0x50
// MPropertyFriendlyName "LookAt Chain"
// MPropertyAttributeChoiceName "LookAtChain"
CUtlString m_lookatChainName; // 0x58
// MPropertyFriendlyName "Aim Attachment"
// MPropertyAttributeChoiceName "Attachment"
CUtlString m_attachmentName; // 0x60
// MPropertyFriendlyName "Yaw Limit"
// MPropertyAttributeRange "0 180"
float m_flYawLimit; // 0x68
// MPropertyFriendlyName "Pitch Limit"
// MPropertyAttributeRange "0 180"
float m_flPitchLimit; // 0x6c
// MPropertyFriendlyName "Reset Child"
bool m_bResetBase; // 0x70
// MPropertyFriendlyName "Lock Blend When Waning"
bool m_bLockWhenWaning; // 0x71
// MPropertyFriendlyName "Use Hysteresis"
// MPropertyGroupName "Hysteresis"
bool m_bUseHysteresis; // 0x72
// MPropertyFriendlyName "Inner Angle"
// MPropertyGroupName "Hysteresis"
float m_flHysteresisInnerAngle; // 0x74
// MPropertyFriendlyName "Outer Angle"
// MPropertyGroupName "Hysteresis"
float m_flHysteresisOuterAngle; // 0x78
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x80
};
// Aligment: 4
// Size: 120
class CNeuralNetAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Weights File"
CUtlString m_weightsFile; // 0x40
// MPropertyFriendlyName "Test Input File"
CUtlString m_testInputFile; // 0x48
// MPropertyFriendlyName "Bone Map File"
CUtlString m_boneMapFile; // 0x50
// MPropertyFriendlyName "Sensor Range File"
CUtlString m_sensorRangeFile; // 0x58
};
// Aligment: 3
// Size: 80
class CPathHelperAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Stopping Radius"
float m_flStoppingRadius; // 0x48
// MPropertyFriendlyName "Stopping Min Speed Scale"
float m_flStoppingSpeedScale; // 0x4c
};
// Aligment: 5
// Size: 96
class CFollowAttachmentAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Bone"
// MPropertyAttributeChoiceName "Bone"
CUtlString m_boneName; // 0x48
// MPropertyFriendlyName "Target Attachment"
// MPropertyAttributeChoiceName "Attachment"
CUtlString m_attachmentName; // 0x50
// MPropertyFriendlyName "Match Translation"
bool m_bMatchTranslation; // 0x58
// MPropertyFriendlyName "Match Rotation"
bool m_bMatchRotation; // 0x59
};
// Aligment: 4
// Size: 80
class CSkeletalInputAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Data Source"
// MPropertyAttrChangeCallback
AnimVrBoneTransformSource_t m_transformSource; // 0x40
// MPropertyFriendlyName "Motion Range"
// MPropertyAttrStateCallback
AnimVRHandMotionRange_t m_motionRange; // 0x44
// MPropertyFriendlyName "Enable IK"
// MPropertyGroupName "+Retargetting"
bool m_bEnableIK; // 0x48
// MPropertyFriendlyName "Enable Collision"
// MPropertyGroupName "+Retargetting"
bool m_bEnableCollision; // 0x49
};
// Aligment: 10
// Size: 160
class CSelectorAnimNode : public CAnimNodeBase
{
public:
// MPropertySuppressField
CUtlVector< CNodeConnection > m_children; // 0x48
// MPropertySuppressField
CUtlVector< AnimTagID > m_tags; // 0x60
// MPropertyFriendlyName "Selection Source"
// MPropertyAttrChangeCallback
SelectionSource_t m_selectionSource; // 0x78
// MPropertyFriendlyName "Bool Parameter"
// MPropertyAttributeChoiceName "BoolParameter"
// MPropertyAttrChangeCallback
// MPropertyAttrStateCallback
AnimParamID m_boolParamID; // 0x7c
// MPropertyFriendlyName "Enum Parameter"
// MPropertyAttributeChoiceName "EnumParameter"
// MPropertyAttrChangeCallback
// MPropertyAttrStateCallback
AnimParamID m_enumParamID; // 0x80
// MPropertyFriendlyName "Blend Duration"
float m_blendDuration; // 0x84
// MPropertyFriendlyName "Tag Behavior"
SelectorTagBehavior_t m_tagBehavior; // 0x88
// MPropertyFriendlyName "Reset On Change"
bool m_bResetOnChange; // 0x8c
// MPropertyFriendlyName "Start new option at same cycle"
bool m_bSyncCyclesOnChange; // 0x8d
// MPropertySuppressField
CBlendCurve m_blendCurve; // 0x90
};
// Aligment: 24
// Size: 176
class CHitReactAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Minimum Delay Between Hits"
float m_flMinDelayBetweenHits; // 0x48
// MPropertyFriendlyName "Trigger Parameter"
// MPropertyAttributeChoiceName "BoolParameter"
AnimParamID m_triggerParam; // 0x4c
// MPropertyFriendlyName "Hit Bone Parameter"
// MPropertyAttributeChoiceName "IntParameter"
AnimParamID m_hitBoneParam; // 0x50
// MPropertyFriendlyName "Hit Offset Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_hitOffsetParam; // 0x54
// MPropertyFriendlyName "Hit Direction Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_hitDirectionParam; // 0x58
// MPropertyFriendlyName "Hit Strength Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_hitStrengthParam; // 0x5c
// MPropertyFriendlyName "Bone Weights"
// MPropertyAttributeChoiceName "BoneMask"
CUtlString m_weightListName; // 0x60
// MPropertyFriendlyName "Hip Bone"
// MPropertyAttributeChoiceName "Bone"
CUtlString m_hipBoneName; // 0x68
// MPropertyFriendlyName "Hip Translation Scale"
float m_flHipBoneTranslationScale; // 0x70
// MPropertyFriendlyName "Number of bone effected"
int32_t m_nEffectedBoneCount; // 0x74
// MPropertyFriendlyName "Max Impact Force"
float m_flMaxImpactForce; // 0x78
// MPropertyFriendlyName "Min Impact Force"
float m_flMinImpactForce; // 0x7c
// MPropertyFriendlyName "Whip Impact Scale"
float m_flWhipImpactScale; // 0x80
// MPropertyFriendlyName "Counter Rotation Scale"
float m_flCounterRotationScale; // 0x84
// MPropertyFriendlyName "Distance Fade Scale"
float m_flDistanceFadeScale; // 0x88
// MPropertyFriendlyName "Propagation Scale"
float m_flPropagationScale; // 0x8c
// MPropertyFriendlyName "Whip Delay Time"
float m_flWhipDelay; // 0x90
// MPropertyFriendlyName "Spring Strength"
float m_flSpringStrength; // 0x94
// MPropertyFriendlyName "Whip Spring Strength"
float m_flWhipSpringStrength; // 0x98
// MPropertyFriendlyName "Hip Dip Spring Strength"
float m_flHipDipSpringStrength; // 0x9c
// MPropertyFriendlyName "Hip Dip Scale"
float m_flHipDipImpactScale; // 0xa0
// MPropertyFriendlyName "Hip Dip Delay Time"
float m_flHipDipDelay; // 0xa4
// MPropertyFriendlyName "Reset Child"
bool m_bResetBase; // 0xa8
};
// Aligment: 3
// Size: 64
class CBlend2DItem
{
public:
// MPropertySuppressField
CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x10
// MPropertyFriendlyName "Sequence"
// MPropertyAttributeChoiceName "Sequence"
CUtlString m_sequenceName; // 0x28
// MPropertyFriendlyName "Blend Value"
Vector2D m_blendValue; // 0x30
};
// Aligment: 10
// Size: 152
class CBlend2DAnimNode : public CAnimNodeBase
{
public:
// MPropertySuppressField
CUtlVector< CBlend2DItem > m_items; // 0x50
// MPropertyFriendlyName "Horizontal Axis"
// MPropertyAttrChangeCallback
AnimValueSource m_blendSourceX; // 0x68
// MPropertyFriendlyName "Horizontal Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
// MPropertyAttrStateCallback
AnimParamID m_paramX; // 0x6c
// MPropertyFriendlyName "Vertical Axis"
// MPropertyAttrChangeCallback
AnimValueSource m_blendSourceY; // 0x70
// MPropertyFriendlyName "Vertical Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
// MPropertyAttrStateCallback
AnimParamID m_paramY; // 0x74
// MPropertyFriendlyName "Loop"
bool m_bLoop; // 0x78
// MPropertyFriendlyName "Lock Blend on Reset"
bool m_bLockBlendOnReset; // 0x79
// MPropertyFriendlyName "Lock Blend When Waning"
bool m_bLockWhenWaning; // 0x7a
// MPropertyFriendlyName "Playback Speed"
float m_playbackSpeed; // 0x7c
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x80
};
// Aligment: 7
// Size: 40
class CFootLockItem
{
public:
// MPropertyFriendlyName "Foot"
// MPropertyAttributeChoiceName "Foot"
CUtlString m_footName; // 0x0
// MPropertyFriendlyName "Target Bone"
// MPropertyAttributeChoiceName "Bone"
CUtlString m_targetBoneName; // 0x8
// MPropertyFriendlyName "IK Chain"
// MPropertyAttributeChoiceName "IKChain"
CUtlString m_ikChainName; // 0x10
// MPropertyFriendlyName "Disable Tag"
// MPropertyAttributeChoiceName "Tag"
AnimTagID m_disableTagID; // 0x18
// MPropertyFriendlyName "Max Left Rotation"
// MPropertyAttributeRange "0 180"
float m_flMaxRotationLeft; // 0x1c
// MPropertyFriendlyName "Max Right Rotation"
// MPropertyAttributeRange "0 180"
float m_flMaxRotationRight; // 0x20
// MPropertyFriendlyName "Footstep Landed Tag"
// MPropertyAttributeChoiceName "Tag"
AnimTagID m_footstepLandedTag; // 0x24
};
// Aligment: 36
// Size: 296
class CFootLockAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Feet"
// MPropertyAutoExpandGroup
CUtlVector< CFootLockItem > m_items; // 0x48
// MPropertyFriendlyName "Hip Bone"
// MPropertyAttributeChoiceName "Bone"
CUtlString m_hipBoneName; // 0x60
// MPropertyFriendlyName "Blend Time"
float m_flBlendTime; // 0x68
// MPropertyFriendlyName "Apply Foot Rotation Limits"
bool m_bApplyFootRotationLimits; // 0x6c
// MPropertyFriendlyName "Reset Child"
bool m_bResetChild; // 0x6d
// MPropertyFriendlyName "IK Solver Type"
// MPropertyGroupName "IK"
// MPropertyAttrChangeCallback
IKSolverType m_ikSolverType; // 0x70
// MPropertyFriendlyName "Always use fallback hinge"
// MPropertyGroupName "IK"
// MPropertyAttrStateCallback
bool m_bAlwaysUseFallbackHinge; // 0x74
// MPropertyFriendlyName "Curve Foot Paths"
// MPropertyGroupName "Curve Paths"
// MPropertyAttributeRange "0 1"
float m_flStrideCurveScale; // 0x78
// MPropertyFriendlyName "Curve Paths Limit"
// MPropertyGroupName "Curve Paths"
// MPropertyAttributeRange "0 1"
float m_flStrideCurveLimitScale; // 0x7c
// MPropertyFriendlyName "Enable Vertical Curved Paths"
// MPropertyGroupName "Curve Paths"
bool m_bEnableVerticalCurvedPaths; // 0x80
// MPropertyFriendlyName "Modulate Step Height"
// MPropertyGroupName "Step Height"
// MPropertyAttrChangeCallback
bool m_bModulateStepHeight; // 0x81
// MPropertyFriendlyName "Height Increase Scale"
// MPropertyGroupName "Step Height"
// MPropertyAttrStateCallback
float m_flStepHeightIncreaseScale; // 0x84
// MPropertyFriendlyName "Height Decrease Scale"
// MPropertyGroupName "Step Height"
// MPropertyAttrStateCallback
float m_flStepHeightDecreaseScale; // 0x88
// MPropertyFriendlyName "Enable Hip Shift"
// MPropertyGroupName "Hip Shift"
bool m_bEnableHipShift; // 0x8c
// MPropertyFriendlyName "Hip Shift Scale"
// MPropertyGroupName "Hip Shift"
// MPropertyAttributeRange "0 1"
float m_flHipShiftScale; // 0x90
// MPropertyFriendlyName "Damping"
// MPropertyGroupName "Hip Shift"
CAnimInputDamping m_hipShiftDamping; // 0x98
// MPropertyFriendlyName "Apply Tilt"
// MPropertyGroupName "Tilt"
bool m_bApplyTilt; // 0xb0
// MPropertyFriendlyName "Tilt Plane Pitch Spring Strength"
// MPropertyGroupName "Tilt"
float m_flTiltPlanePitchSpringStrength; // 0xb4
// MPropertyFriendlyName "Tilt Plane Roll Spring Strength"
// MPropertyGroupName "Tilt"
float m_flTiltPlaneRollSpringStrength; // 0xb8
// MPropertyFriendlyName "Enable Lock Breaking"
// MPropertyGroupName "Lock Breaking"
bool m_bEnableLockBreaking; // 0xbc
// MPropertyFriendlyName "Tolerance"
// MPropertyGroupName "Lock Breaking"
float m_flLockBreakTolerance; // 0xc0
// MPropertyFriendlyName "Blend Time"
// MPropertyGroupName "Lock Breaking"
float m_flLockBreakBlendTime; // 0xc4
// MPropertyFriendlyName "Enable Stretching"
// MPropertyGroupName "Stretch"
bool m_bEnableStretching; // 0xc8
// MPropertyFriendlyName "Max Stretch Amount"
// MPropertyGroupName "Stretch"
float m_flMaxStretchAmount; // 0xcc
// MPropertyFriendlyName "Extension Scale"
// MPropertyGroupName "Stretch"
// MPropertyAttributeRange "0 1"
float m_flStretchExtensionScale; // 0xd0
// MPropertyFriendlyName "Enable Ground Tracing"
// MPropertyGroupName "Ground IK"
// MPropertyAttrChangeCallback
bool m_bEnableGroundTracing; // 0xd4
// MPropertyFriendlyName "Angle Traces with Slope"
// MPropertyGroupName "Ground IK"
// MPropertyAttributeRange "0 1"
// MPropertyAttrStateCallback
float m_flTraceAngleBlend; // 0xd8
// MPropertyFriendlyName "Apply Hip Drop"
// MPropertyGroupName "Ground IK"
// MPropertyAttrChangeCallback
// MPropertyAttrStateCallback
bool m_bApplyHipDrop; // 0xdc
// MPropertyFriendlyName "Max Foot Lift"
// MPropertyGroupName "Ground IK"
// MPropertyAttrStateCallback
float m_flMaxFootHeight; // 0xe0
// MPropertyFriendlyName "Leg Extension Scale"
// MPropertyGroupName "Ground IK"
// MPropertyAttrStateCallback
float m_flExtensionScale; // 0xe4
// MPropertyFriendlyName "Hip Damping"
// MPropertyGroupName "Ground IK"
// MPropertyAttrStateCallback
CAnimInputDamping m_hipDampingSettings; // 0xe8
// MPropertyFriendlyName "Enable Root Height Damping"
// MPropertyGroupName "Root Height Damping"
// MPropertyAttrChangeCallback
bool m_bEnableRootHeightDamping; // 0x100
// MPropertyFriendlyName "Damping Settings"
// MPropertyGroupName "Root Height Damping"
// MPropertyAttrStateCallback
CAnimInputDamping m_rootHeightDamping; // 0x108
// MPropertyFriendlyName "Max Offset"
// MPropertyGroupName "Root Height Damping"
// MPropertyAttrStateCallback
float m_flMaxRootHeightOffset; // 0x120
// MPropertyFriendlyName "Min Offset"
// MPropertyGroupName "Root Height Damping"
// MPropertyAttrStateCallback
float m_flMinRootHeightOffset; // 0x124
};
// Aligment: 14
// Size: 136
class CFollowPathAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Blend Out Time"
float m_flBlendOutTime; // 0x48
// MPropertyFriendlyName "Block Non-Path Movement"
bool m_bBlockNonPathMovement; // 0x4c
// MPropertyFriendlyName "Stop Feet at Goal"
bool m_bStopFeetAtGoal; // 0x4d
// MPropertyFriendlyName "Enable Speed Scaling"
// MPropertyGroupName "Speed Scaling"
// MPropertyAttrChangeCallback
bool m_bScaleSpeed; // 0x4e
// MPropertyFriendlyName "Scale"
// MPropertyGroupName "Speed Scaling"
// MPropertyAttributeRange "0 1"
// MPropertyAttrStateCallback
float m_flScale; // 0x50
// MPropertyFriendlyName "Min Angle"
// MPropertyGroupName "Speed Scaling"
// MPropertyAttributeRange "0 180"
// MPropertyAttrStateCallback
float m_flMinAngle; // 0x54
// MPropertyFriendlyName "Max Angle"
// MPropertyGroupName "Speed Scaling"
// MPropertyAttributeRange "0 180"
// MPropertyAttrStateCallback
float m_flMaxAngle; // 0x58
// MPropertyFriendlyName "Blend Time"
// MPropertyGroupName "Speed Scaling"
// MPropertyAttrStateCallback
float m_flSpeedScaleBlending; // 0x5c
// MPropertyFriendlyName "Enable Turn to Face"
// MPropertyGroupName "Turn to Face"
// MPropertyAttrChangeCallback
bool m_bTurnToFace; // 0x60
// MPropertyFriendlyName "Target"
// MPropertyGroupName "Turn to Face"
// MPropertyAttrChangeCallback
// MPropertyAttrStateCallback
AnimValueSource m_facingTarget; // 0x64
// MPropertyFriendlyName "Parameter"
// MPropertyGroupName "Turn to Face"
// MPropertyAttributeChoiceName "FloatParameter"
// MPropertyAttrStateCallback
AnimParamID m_param; // 0x68
// MPropertyFriendlyName "Offset"
// MPropertyGroupName "Turn to Face"
// MPropertyAttributeRange "-180 180"
// MPropertyAttrStateCallback
float m_flTurnToFaceOffset; // 0x6c
// MPropertyFriendlyName "Damping"
// MPropertyGroupName "Turn to Face"
// MPropertyAttrStateCallback
CAnimInputDamping m_damping; // 0x70
};
// Aligment: 24
// Size: 232
class CMotionMatchingAnimNode : public CAnimNodeBase
{
public:
// MPropertySuppressField
CUtlVector< CSmartPtr< CMotionClipGroup > > m_clipGroups; // 0x50
// MPropertySuppressField
CUtlVector< CSmartPtr< CMotionMetricBase > > m_metrics; // 0x68
// MPropertySuppressField
CBlendCurve m_blendCurve; // 0x80
// MPropertyFriendlyName "Prediction Time"
float m_flPredictionTime; // 0x90
// MPropertyFriendlyName "Sampling Method"
// MPropertyAttrChangeCallback
MotionSamplingMethod m_samplingMethod; // 0x94
// MPropertyFriendlyName "Sample Rate"
// MPropertyAttrStateCallback
float m_flSampleRate; // 0x98
// MPropertyFriendlyName "Search at fixed interval"
// MPropertyGroupName "Search Triggers"
// MPropertyAttrChangeCallback
bool m_bSearchAtInterval; // 0x9c
// MPropertyFriendlyName "Search Interval"
// MPropertyGroupName "Search Triggers"
// MPropertyAttrStateCallback
float m_flSearchInterval; // 0xa0
// MPropertyFriendlyName "Search on Steps"
// MPropertyGroupName "Search Triggers"
bool m_bSearchOnSteps; // 0xa4
// MPropertyFriendlyName "Search when tags change"
// MPropertyGroupName "Search Triggers"
bool m_bForceSearchWhenTagsChange; // 0xa5
// MPropertyFriendlyName "Search when clip ends"
// MPropertyGroupName "Search Triggers"
bool m_bSearchWhenClipEnds; // 0xa6
// MPropertyFriendlyName "Search when goal changes"
// MPropertyGroupName "Search Triggers"
bool m_bSearchWhenGoalChanges; // 0xa7
// MPropertyFriendlyName "Blend Time"
float m_flBlendTime; // 0xa8
// MPropertyFriendlyName "Selection Threshold"
float m_flSelectionThreshold; // 0xac
// MPropertyFriendlyName "Lock Clip When Waning"
bool m_bLockClipWhenWaning; // 0xb0
// MPropertyFriendlyName "Enable Goal Assist"
// MPropertyGroupName "Goal Assist"
// MPropertyAttrChangeCallback
bool m_bGoalAssist; // 0xb1
// MPropertyFriendlyName "Goal Assist Distance"
// MPropertyGroupName "Goal Assist"
// MPropertyAttrStateCallback
float m_flGoalAssistDistance; // 0xb4
// MPropertyFriendlyName "Goal Assist Tolerance"
// MPropertyGroupName "Goal Assist"
// MPropertyAttrStateCallback
float m_flGoalAssistTolerance; // 0xb8
// MPropertyFriendlyName "Enable Distance Scaling"
// MPropertyGroupName "Distance Scaling"
// MPropertyAttrChangeCallback
bool m_bEnableDistanceScaling; // 0xbc
// MPropertyFriendlyName "Outer Stopping Radius"
// MPropertyGroupName "Distance Scaling"
// MPropertyAttrStateCallback
float m_flDistanceScale_OuterRadius; // 0xc0
// MPropertyFriendlyName "Inner Stopping Radius"
// MPropertyGroupName "Distance Scaling"
// MPropertyAttrStateCallback
float m_flDistanceScale_InnerRadius; // 0xc4
// MPropertyFriendlyName "Maximum Speed Scale"
// MPropertyGroupName "Distance Scaling"
// MPropertyAttrStateCallback
float m_flDistanceScale_MaxScale; // 0xc8
// MPropertyFriendlyName "Minimum Speed Scale"
// MPropertyGroupName "Distance Scaling"
// MPropertyAttrStateCallback
float m_flDistanceScale_MinScale; // 0xcc
// MPropertyFriendlyName "Damping"
// MPropertyGroupName "Distance Scaling"
// MPropertyAttrStateCallback
CAnimInputDamping m_distanceScale_Damping; // 0xd0
};
// Aligment: 3
// Size: 80
class CSetFacingAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Facing Mode"
FacingMode m_facingMode; // 0x48
// MPropertyFriendlyName "Reset Child"
bool m_bResetChild; // 0x4c
};
// Aligment: 6
// Size: 112
class CStopAtGoalAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Outer Stopping Radius"
float m_flOuterRadius; // 0x48
// MPropertyFriendlyName "Inner Stopping Radius"
float m_flInnerRadius; // 0x4c
// MPropertyFriendlyName "Maximum Speed Scale"
float m_flMaxScale; // 0x50
// MPropertyFriendlyName "Minimum Speed Scale"
float m_flMinScale; // 0x54
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x58
};
// Aligment: 7
// Size: 48
class CJiggleBoneItem
{
public:
// MPropertyFriendlyName "Bone"
// MPropertyAttributeChoiceName "Bone"
CUtlString m_boneName; // 0x0
// MPropertyFriendlyName "Spring Strength"
float m_flSpringStrength; // 0x8
// MPropertyFriendlyName "Sim Rate (FPS)"
float m_flSimRateFPS; // 0xc
// MPropertyFriendlyName "Damping"
// MPropertyAttributeRange "0 1"
float m_flDamping; // 0x10
// MPropertyFriendlyName "Sim Space"
JiggleBoneSimSpace m_eSimSpace; // 0x14
// MPropertyFriendlyName "Max"
// MPropertyGroupName "Movement Limits"
Vector m_vBoundsMaxLS; // 0x18
// MPropertyFriendlyName "Min"
// MPropertyGroupName "Movement Limits"
Vector m_vBoundsMinLS; // 0x24
};
// Aligment: 2
// Size: 96
class CJiggleBoneAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Jiggle Bones"
// MPropertyAutoExpandGroup
CUtlVector< CJiggleBoneItem > m_items; // 0x48
};
// Aligment: 3
// Size: 120
class CSingleFrameAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Sequence"
// MPropertyAttributeChoiceName "Sequence"
CUtlString m_sequenceName; // 0x50
// MPropertyFriendlyName "Frame"
int32_t m_nFrameIndex; // 0x58
// MPropertySuppressField
CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x60
};
// Aligment: 3
// Size: 96
class CCommentAnimNode : public CAnimNodeBase
{
public:
// MPropertySuppressField
CUtlString m_commentText; // 0x48
// MPropertySuppressField
Vector2D m_size; // 0x50
// MPropertyFriendlyName "Color"
// MPropertyColorWithNoAlpha
Color m_color; // 0x58
};
// Aligment: 0
// Size: 64
class CInputStreamAnimNode : public CAnimNodeBase
{
public:
// <no members described>
};
// Aligment: 3
// Size: 40
class CFootStepTriggerItem
{
public:
// MPropertyFriendlyName "Foot"
// MPropertyAttributeChoiceName "Foot"
CUtlString m_footName; // 0x0
// MPropertyFriendlyName "Trigger Phase"
StepPhase m_triggerPhase; // 0x8
// MPropertyFriendlyName "Tags"
// MPropertyAttributeChoiceName "Tag"
CUtlVector< AnimTagID > m_tags; // 0x10
};
// Aligment: 3
// Size: 104
class CFootStepTriggerAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x40
// MPropertyFriendlyName "Tolerance"
float m_flTolerance; // 0x48
// MPropertyFriendlyName "Feet"
// MPropertyAutoExpandGroup
CUtlVector< CFootStepTriggerItem > m_items; // 0x50
};
// Aligment: 3
// Size: 24
class CConnectionProxyItem
{
public:
// MPropertyFriendlyName "Name"
CUtlString m_name; // 0x0
// MPropertyHideField
AnimOutputID m_outputID; // 0x8
// MPropertyHideField
CNodeConnection m_inputConnection; // 0xc
};
// Aligment: 2
// Size: 128
class CGroupAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_inputNodeID; // 0x48
// MPropertyHideField
AnimNodeID m_outputNodeID; // 0x4c
};
// Aligment: 1
// Size: 88
class CGroupInputAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "External Connections"
// MPropertyAutoExpandGroup
// MPropertyAttrStateCallback
CUtlVector< CConnectionProxyItem > m_proxyItems; // 0x40
};
// Aligment: 1
// Size: 88
class CGroupOutputAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "External Connections"
// MPropertyAutoExpandGroup
// MPropertyAttrStateCallback
CUtlVector< CConnectionProxyItem > m_proxyItems; // 0x40
};
// Aligment: 3
// Size: 152
class CSubGraphAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_inputNodeID; // 0x48
// MPropertyHideField
AnimNodeID m_outputNodeID; // 0x4c
// MPropertyAttributeEditor "AssetBrowse( vsubgrph )"
// MPropertyFriendlyName "SubGraph File"
// MPropertyAttrChangeCallback
CUtlString m_subGraphFilename; // 0x70
};
// Aligment: 12
// Size: 144
class CAnimState
{
public:
// MPropertySuppressField
CUtlVector< CSmartPtr< CAnimStateTransition > > m_transitions; // 0x20
// MPropertySuppressField
CUtlVector< AnimTagID > m_tags; // 0x38
// MPropertySuppressField
CUtlVector< uint8 > m_tagBehaviors; // 0x50
// MPropertyFriendlyName "Name"
// MPropertySortPriority "100"
CUtlString m_name; // 0x68
// MPropertyHideField
CNodeConnection m_inputConnection; // 0x70
// MPropertyHideField
AnimStateID m_stateID; // 0x78
// MPropertyHideField
Vector2D m_position; // 0x7c
// MPropertyFriendlyName "Start State"
bool m_bIsStartState; // 0x84
// MPropertyFriendlyName "End State"
bool m_bIsEndtState; // 0x85
// MPropertyFriendlyName "Passthrough"
bool m_bIsPassthrough; // 0x86
// MPropertyFriendlyName "Exclusive Root Motion"
bool m_bIsRootMotionExclusive; // 0x87
// MPropertyFriendlyName "Always Evaluate"
bool m_bAlwaysEvaluate; // 0x88
};
// Aligment: 9
// Size: 96
class CAnimStateTransition
{
public:
// MPropertySuppressField
CUtlVector< CSmartPtr< CAnimStateConditionBase > > m_conditions; // 0x20
// MPropertyFriendlyName "Blend Duration"
float m_blendDuration; // 0x38
// MPropertyHideField
AnimStateID m_destState; // 0x3c
// MPropertyFriendlyName "Reset Destination"
bool m_bReset; // 0x40
// MPropertyFriendlyName "Start Cycle At"
ResetCycleOption m_resetCycleOption; // 0x44
// MPropertyFriendlyName "Fixed Start Cycle Value"
float m_flFixedCycleValue; // 0x48
// MPropertySuppressField
CBlendCurve m_blendCurve; // 0x4c
// MPropertyFriendlyName "Park Feet"
bool m_bForceFootPlant; // 0x5c
// MPropertyFriendlyName "Disable"
bool m_bDisabled; // 0x5d
};
// Aligment: 1
// Size: 40
class CAnimStateConditionBase
{
public:
uint8_t m_comparisonOp; // 0x20
};
// Aligment: 2
// Size: 72
class CParameterAnimCondition : public CAnimStateConditionBase
{
public:
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "Parameter"
AnimParamID m_paramID; // 0x28
// MPropertyFriendlyName "Comparison Value"
CAnimVariant m_comparisonValue; // 0x2c
};
// Aligment: 2
// Size: 56
class CTagCondition : public CAnimStateConditionBase
{
public:
// MPropertyFriendlyName "Tag"
// MPropertyAttributeChoiceName "Tag"
AnimTagID m_tagID; // 0x28
// MPropertyFriendlyName "Value"
bool m_comparisonValue; // 0x2c
};
// Aligment: 4
// Size: 64
class CCycleCondition : public CAnimStateConditionBase
{
public:
float m_comparisonValue; // 0x28
int32_t m_comparisonValueType; // 0x2c
ControlValue m_comparisonControlValue; // 0x30
AnimParamID m_comparisonParamID; // 0x34
};
// Aligment: 2
// Size: 56
class CFinishedCondition : public CAnimStateConditionBase
{
public:
FinishedConditionOption m_option; // 0x28
bool m_bIsFinished; // 0x2c
};
// Aligment: 1
// Size: 48
class CLookHeadingCondition : public CAnimStateConditionBase
{
public:
// MPropertyFriendlyName "Comparison Value"
float m_comparisonValue; // 0x2c
};
// Aligment: 1
// Size: 48
class CLookPitchCondition : public CAnimStateConditionBase
{
public:
// MPropertyFriendlyName "Comparison Value"
float m_comparisonValue; // 0x2c
};
// Aligment: 1
// Size: 48
class CMoveHeadingCondition : public CAnimStateConditionBase
{
public:
// MPropertyFriendlyName "Comparison Value"
float m_comparisonValue; // 0x2c
};
// Aligment: 1
// Size: 48
class CMoveSpeedCondition : public CAnimStateConditionBase
{
public:
// MPropertyFriendlyName "Comparison Value"
float m_comparisonValue; // 0x2c
};
// Aligment: 1
// Size: 48
class CFacingHeadingCondition : public CAnimStateConditionBase
{
public:
// MPropertyFriendlyName "Comparison Value"
float m_comparisonValue; // 0x2c
};
// Aligment: 2
// Size: 56
class CPathStatusCondition : public CAnimStateConditionBase
{
public:
PathStatusOptions m_optionToCheck; // 0x28
bool m_bComparisonValue; // 0x2c
};
// Aligment: 5
// Size: 64
class CControlValueCondition : public CAnimStateConditionBase
{
public:
ControlValue m_sourceControlValue; // 0x28
int32_t m_comparisonValueType; // 0x2c
float m_comparisonFixedValue; // 0x30
ControlValue m_comparisonControlValue; // 0x34
AnimParamID m_comparisonParamID; // 0x38
};
// Aligment: 1
// Size: 48
class CTimeCondition : public CAnimStateConditionBase
{
public:
// MPropertyFriendlyName "Value"
float m_comparisonValue; // 0x28
};
// Aligment: 1
// Size: 48
class CGroundCondition : public CAnimStateConditionBase
{
public:
// MPropertyFriendlyName "Value"
bool m_comparisonValue; // 0x28
};
// Aligment: 3
// Size: 48
class CAnimTagSpan
{
public:
AnimTagID m_id; // 0x20
float m_fStartCycle; // 0x24
float m_fDuration; // 0x28
};
// Aligment: 2
// Size: 72
class CAnimMovementManager
{
public:
CAnimMotorList m_MotorList; // 0x18
CAnimMovementSettings m_MovementSettings; // 0x38
};
// Aligment: 1
// Size: 48
class CAnimTagManager
{
public:
CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18
};
// Aligment: 2
// Size: 40
class CAnimTagBase
{
public:
// MPropertyFriendlyName "Name"
// MPropertySortPriority "100"
CUtlString m_name; // 0x18
// MPropertyHideField
AnimTagID m_tagID; // 0x20
};
// Aligment: 0
// Size: 48
class CStringAnimTag : public CAnimTagBase
{
public:
// <no members described>
};
// Aligment: 1
// Size: 56
class CPostGraphIKTag : public CAnimTagBase
{
public:
// MPropertyFriendlyName "Blend Amount"
float m_flBlendAmount; // 0x30
};
// Aligment: 3
// Size: 64
class CPostGraphIKChainBlendTag : public CAnimTagBase
{
public:
// MPropertyFriendlyName "Chain Name"
CUtlString m_ChainName; // 0x30
// MPropertyFriendlyName "Blend Amount on Enter"
float m_flBlendAmountOnEnter; // 0x38
// MPropertyFriendlyName "Blend Amount on Exit"
float m_flBlendAmountOnExit; // 0x3c
};
// Aligment: 1
// Size: 56
class CFootFallAnimTag : public CAnimTagBase
{
public:
// MPropertyFriendlyName "Foot"
FootFallTagFoot_t m_foot; // 0x30
};
// Aligment: 1
// Size: 56
class CAudioAnimTag : public CAnimTagBase
{
public:
// MPropertyFriendlyName "Audio Clip"
// MPropertyAttributeEditor "SoundPicker"
CUtlString m_clipName; // 0x30
};
// Aligment: 4
// Size: 80
class CFootstepLandedAnimTag : public CAnimTagBase
{
public:
// MPropertyFriendlyName "Footstep Type"
FootstepLandedFootSoundType_t m_FootstepType; // 0x30
// MPropertyFriendlyName "Override Sound"
// MPropertyAttributeChoiceName "Sound"
CUtlString m_OverrideSoundName; // 0x38
// MPropertyFriendlyName "Debug Name"
CUtlString m_DebugAnimSourceString; // 0x40
// MPropertyFriendlyName "Bone Name"
// MPropertyAttributeChoiceName "Bone"
CUtlString m_BoneName; // 0x48
};
// Aligment: 1
// Size: 56
class CSequenceFinishedAnimTag : public CAnimTagBase
{
public:
// MPropertyFriendlyName "Sequence"
// MPropertyAttributeChoiceName "Sequence"
CUtlString m_sequenceName; // 0x30
};
// Aligment: 1
// Size: 64
class CTaskStatusAnimTag : public CAnimTagBase
{
public:
// MPropertyHideField
CUtlString m_identifierString; // 0x30
};
// Aligment: 4
// Size: 72
class CClothSettingsAnimTag : public CAnimTagBase
{
public:
// MPropertyFriendlyName "Stiffness"
// MPropertyAttributeRange "0 1"
float m_flStiffness; // 0x30
// MPropertyFriendlyName "EaseIn"
// MPropertyAttributeRange "0 1"
float m_flEaseIn; // 0x34
// MPropertyFriendlyName "EaseOut"
// MPropertyAttributeRange "0 1"
float m_flEaseOut; // 0x38
// MPropertyFriendlyName "VertexSet"
CUtlString m_nVertexSet; // 0x40
};
// Aligment: 6
// Size: 72
class CRagdollAnimTag : public CAnimTagBase
{
public:
// MPropertyFriendlyName "Pose Control"
AnimPoseControl m_nPoseControl; // 0x30
// MPropertyFriendlyName "Frequency"
// MPropertyAttributeRange "0 30"
float m_flFrequency; // 0x34
// MPropertyFriendlyName "Damping Ratio"
// MPropertyAttributeRange "0 2"
float m_flDampingRatio; // 0x38
// MPropertyFriendlyName "Decay Duration"
// MPropertyAttributeRange "-1 1000"
float m_flDecayDuration; // 0x3c
// MPropertyFriendlyName "Decay Bias"
// MPropertyAttributeRange "0 1"
float m_flDecayBias; // 0x40
// MPropertyFriendlyName "Destroy"
bool m_bDestroy; // 0x44
};
// Aligment: 4
// Size: 72
class CParticleAnimTag : public CAnimTagBase
{
public:
// MPropertyAttributeEditor "AssetBrowse( vpcf )"
// MPropertyFriendlyName "Particle System"
CUtlString m_particleSystemName; // 0x30
// MPropertyFriendlyName "Configuration"
CUtlString m_configName; // 0x38
// MPropertyFriendlyName "Stop on Tag End"
bool m_bStopWhenTagEnds; // 0x40
// MPropertyFriendlyName "Tag End Stop is Instant"
bool m_bTagEndStopIsInstant; // 0x41
};
// Aligment: 3
// Size: 80
class CMotionClip
{
public:
// MPropertySuppressField
CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20
// MPropertyFriendlyName "Sequence"
// MPropertyAttributeChoiceName "Sequence"
CUtlString m_sequenceName; // 0x38
// MPropertyFriendlyName "Loop"
bool m_bLoop; // 0x40
};
// Aligment: 3
// Size: 72
class CMotionClipGroup
{
public:
// MPropertyHideField
CUtlVector< CSmartPtr< CMotionClip > > m_clips; // 0x20
// MPropertyFriendlyName "Name"
CUtlString m_name; // 0x38
// MPropertyFriendlyName "Enable On Tag"
// MPropertyAttributeChoiceName "Tag"
AnimTagID m_tagID; // 0x40
};
// Aligment: 1
// Size: 40
class CMotionMetricBase
{
public:
// MPropertyHideField
float m_flWeight; // 0x20
};
// Aligment: 1
// Size: 64
class CFootCycleMetric : public CMotionMetricBase
{
public:
// MPropertyFriendlyName "Foot"
// MPropertyAttributeChoiceName "Foot"
// MPropertyAutoExpandGroup
CUtlVector< CUtlString > m_feet; // 0x28
};
// Aligment: 0
// Size: 40
class CCurrentVelocityMetric : public CMotionMetricBase
{
public:
// <no members described>
};
// Aligment: 4
// Size: 80
class CPathMetric : public CMotionMetricBase
{
public:
// MPropertyFriendlyName "Distance"
float m_flDistance; // 0x28
// MPropertyFriendlyName "Samples Times"
CUtlVector< float32 > m_pathSamples; // 0x30
// MPropertyFriendlyName "Extrapolate Movement"
// MPropertyAttrChangeCallback
bool m_bExtrapolateMovement; // 0x48
// MPropertyFriendlyName "Min Extrapolation Speed"
// MPropertyAttrStateCallback
float m_flMinExtrapolationSpeed; // 0x4c
};
// Aligment: 1
// Size: 48
class CFutureFacingMetric : public CMotionMetricBase
{
public:
// MPropertyFriendlyName "Distance"
float m_flDistance; // 0x28
};
// Aligment: 5
// Size: 56
class CFutureVelocityMetric : public CMotionMetricBase
{
public:
// MPropertyFriendlyName "Distance"
float m_flDistance; // 0x28
// MPropertyFriendlyName "Stopping Distance"
float m_flStoppingDistance; // 0x2c
// MPropertyFriendlyName "Ignore Direction"
bool m_bIgnoreDirection; // 0x30
// MPropertyFriendlyName "Auto-Calculate target speed"
// MPropertyAttrChangeCallback
bool m_bAutoTargetSpeed; // 0x31
// MPropertyFriendlyName "Target Speed"
// MPropertyAttrStateCallback
float m_flManualTargetSpeed; // 0x34
};
// Aligment: 1
// Size: 48
class CBonePositionMetric : public CMotionMetricBase
{
public:
// MPropertyFriendlyName "Bone"
// MPropertyAttributeChoiceName "Bone"
CUtlString m_boneName; // 0x28
};
// Aligment: 1
// Size: 48
class CBoneVelocityMetric : public CMotionMetricBase
{
public:
// MPropertyFriendlyName "Bone"
// MPropertyAttributeChoiceName "Bone"
CUtlString m_boneName; // 0x28
};
// Aligment: 7
// Size: 72
class CDistanceRemainingMetric : public CMotionMetricBase
{
public:
// MPropertyFriendlyName "Maximum Tracked Distance"
float m_flMaxDistance; // 0x28
// MPropertyFriendlyName "Filter By Fixed Distance"
// MPropertyAttrChangeCallback
bool m_bFilterFixedMinDistance; // 0x2c
// MPropertyFriendlyName "Min Distance"
// MPropertyAttrStateCallback
float m_flMinDistance; // 0x30
// MPropertyFriendlyName "Filter By Goal Distance"
// MPropertyAttrChangeCallback
bool m_bFilterGoalDistance; // 0x34
// MPropertyFriendlyName "Goal Filter Start Distance"
// MPropertyAttrStateCallback
float m_flStartGoalFilterDistance; // 0x38
// MPropertyFriendlyName "Filter By Goal Overshoot"
// MPropertyAttrChangeCallback
// MPropertyAttrStateCallback
bool m_bFilterGoalOvershoot; // 0x3c
// MPropertyFriendlyName "Max Goal Overshoot Scale"
// MPropertyAttrStateCallback
float m_flMaxGoalOvershootScale; // 0x40
};
// Aligment: 2
// Size: 72
class CStepsRemainingMetric : public CMotionMetricBase
{
public:
// MPropertyFriendlyName "Feet"
// MPropertyAttributeChoiceName "Foot"
// MPropertyAutoExpandGroup
CUtlVector< CUtlString > m_feet; // 0x28
// MPropertyFriendlyName "Min Steps Remaining"
float m_flMinStepsRemaining; // 0x40
};
// Aligment: 4
// Size: 56
class CTimeRemainingMetric : public CMotionMetricBase
{
public:
// MPropertyFriendlyName "Match Time Remaining"
// MPropertyGroupName
// MPropertyAttrChangeCallback
bool m_bMatchByTimeRemaining; // 0x28
// MPropertyFriendlyName "Max Time Remaining"
// MPropertyAttrStateCallback
float m_flMaxTimeRemaining; // 0x2c
// MPropertyFriendlyName "Filter By Time Remaining"
// MPropertyAttrChangeCallback
bool m_bFilterByTimeRemaining; // 0x30
// MPropertyFriendlyName "Min Time Remaining"
// MPropertyAttrStateCallback
float m_flMinTimeRemaining; // 0x34
};
// Aligment: 2
// Size: 72
class CFootPositionMetric : public CMotionMetricBase
{
public:
// MPropertyFriendlyName "Foot"
// MPropertyAttributeChoiceName "Foot"
// MPropertyAutoExpandGroup
CUtlVector< CUtlString > m_feet; // 0x28
// MPropertyFriendlyName "Ignore Slope"
bool m_bIgnoreSlope; // 0x40
};
// Aligment: 3
// Size: 96
class CAnimReplayFrame
{
public:
CUtlBinaryBlock m_instanceData; // 0x10
CTransform m_localToWorldTransform; // 0x30
float m_timeStamp; // 0x50
};
// Aligment: 5
// Size: 112
class CAnimGraphDebugReplay
{
public:
CAnimationGraph* m_pAnimGraph; // 0x40
CUtlVector< CSmartPtr< CAnimReplayFrame > > m_frameList; // 0x48
int32_t m_startIndex; // 0x60
int32_t m_writeIndex; // 0x64
int32_t m_frameCount; // 0x68
};