source2sdk/sdk/animationsystem.hpp
2023-03-15 20:43:32 +03:00

2412 lines
59 KiB
C++

#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: animationsystem.dll
// Class Count: 136
// Enum Count: 27
///////////////////////////////////////////
// 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 SeqResourceCmdEnum : uint32_t
{
SEQ_CMD_Nop = 0x0,
SEQ_CMD_LinearDelta = 0x1,
SEQ_CMD_FetchFrameRange = 0x2,
SEQ_CMD_Slerp = 0x3,
SEQ_CMD_Add = 0x4,
SEQ_CMD_Subtract = 0x5,
SEQ_CMD_Scale = 0x6,
SEQ_CMD_Copy = 0x7,
SEQ_CMD_Blend = 0x8,
SEQ_CMD_Worldspace = 0x9,
SEQ_CMD_Sequence = 0xa,
SEQ_CMD_FetchCycle = 0xb,
SEQ_CMD_FetchFrame = 0xc,
SEQ_CMD_IKLockInPlace = 0xd,
SEQ_CMD_IKRestoreAll = 0xe,
SEQ_CMD_ReverseSequence = 0xf,
SEQ_CMD_Transform = 0x10,
};
// Aligment: 4
// Size: 4
enum class SeqResourcePoseSettingEnum : uint32_t
{
SEQ_POSE_CONSTANT = 0x0,
SEQ_POSE_ROTATION = 0x1,
SEQ_POSE_POSITION = 0x2,
SEQ_POSE_VELOCITY = 0x3,
};
// Aligment: 1
// Size: 64
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_NETWORK_QUANTIZED_VECTOR = 43,
FIELD_NETWORK_QUANTIZED_FLOAT = 44,
FIELD_DIRECTION_VECTOR_WORLDSPACE = 45,
FIELD_QANGLE_WORLDSPACE = 46,
FIELD_QUATERNION_WORLDSPACE = 47,
FIELD_HSCRIPT_LIGHTBINDING = 48,
FIELD_V8_VALUE = 49,
FIELD_V8_OBJECT = 50,
FIELD_V8_ARRAY = 51,
FIELD_V8_CALLBACK_INFO = 52,
FIELD_UTLSTRING = 53,
FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR = 54,
FIELD_HRENDERTEXTURE = 55,
FIELD_HPARTICLESYSTEMDEFINITION = 56,
FIELD_UINT8 = 57,
FIELD_UINT16 = 58,
FIELD_CTRANSFORM = 59,
FIELD_CTRANSFORM_WORLDSPACE = 60,
FIELD_HPOSTPROCESSING = 61,
FIELD_MATRIX3X4 = 62,
FIELD_TYPECOUNT = 63,
};
// 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: 2
enum class AnimNodeNetworkMode : uint32_t
{
ServerAuthoritative = 0x0,
ClientSimulate = 0x1,
};
// 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: 32
enum class AnimValueSource : uint32_t
{
MoveHeading = 0x0,
MoveSpeed = 0x1,
ForwardSpeed = 0x2,
StrafeSpeed = 0x3,
FacingHeading = 0x4,
LookHeading = 0x5,
LookPitch = 0x6,
Parameter = 0x7,
WayPointHeading = 0x8,
WayPointFacing = 0x9,
WayPointDistance = 0xa,
TargetMoveHeading = 0xb,
TargetMoveSpeed = 0xc,
AccelerationHeading = 0xd,
AccelerationSpeed = 0xe,
SlopeHeading = 0xf,
SlopeAngle = 0x10,
GoalDistance = 0x11,
AccelerationLeftRight = 0x12,
AccelerationFrontBack = 0x13,
RootMotionSpeed = 0x14,
RootMotionTurnSpeed = 0x15,
MoveHeadingRelativeToLookHeading = 0x16,
FingerCurl_Thumb = 0x17,
FingerCurl_Index = 0x18,
FingerCurl_Middle = 0x19,
FingerCurl_Ring = 0x1a,
FingerCurl_Pinky = 0x1b,
FingerSplay_Thumb_Index = 0x1c,
FingerSplay_Index_Middle = 0x1d,
FingerSplay_Middle_Ring = 0x1e,
FingerSplay_Ring_Pinky = 0x1f,
};
// Aligment: 4
// Size: 13
enum class AnimVectorSource : uint32_t
{
MoveDirection = 0x0,
FacingDirection = 0x1,
LookDirection = 0x2,
VectorParameter = 0x3,
WayPointDirection = 0x4,
WayPointFacingDirection = 0x5,
TargetMoveDirection = 0x6,
Acceleration = 0x7,
SlopeNormal = 0x8,
LookTarget = 0x9,
WayPointPosition = 0xa,
GoalPosition = 0xb,
GoalFacingDirection = 0xc,
};
// Aligment: 4
// Size: 3
enum class DampingSpeedFunction : uint32_t
{
NoDamping = 0x0,
Constant = 0x1,
Spring = 0x2,
};
// Aligment: 4
// Size: 38
enum class ControlValue : uint32_t
{
ControlValue_MoveHeading = 0x0,
ControlValue_MoveSpeed = 0x1,
ControlValue_FacingHeading = 0x2,
ControlValue_LookHeading = 0x3,
ControlValue_LookPitch = 0x4,
ControlValue_WayPointHeading = 0x5,
ControlValue_WayPointFacing = 0x6,
ControlValue_WayPointDistance = 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_GoalDistance = 0x15,
ControlValue_AccelerationLeftRight = 0x16,
ControlValue_AccelerationFrontBack = 0x17,
ControlValue_RootMotionSpeed = 0x18,
ControlValue_RootMotionTurnSpeed = 0x19,
ControlValue_MoveHeadingRelativeToLookHeading = 0x1a,
ControlValue_FingerCurl_Thumb = 0x1b,
ControlValue_FingerCurl_Index = 0x1c,
ControlValue_FingerCurl_Middle = 0x1d,
ControlValue_FingerCurl_Ring = 0x1e,
ControlValue_FingerCurl_Pinky = 0x1f,
ControlValue_FingerSplay_Thumb_Index = 0x20,
ControlValue_FingerSplay_Index_Middle = 0x21,
ControlValue_FingerSplay_Middle_Ring = 0x22,
ControlValue_FingerSplay_Ring_Pinky = 0x23,
ControlValue_Count = 0x24,
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: 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: 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: 3
enum class SelectorTagBehaior_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: 3
enum class PathStatusOptions : uint32_t
{
PathStatus_HasPath = 0x0,
PathStatus_WaypointIsGoal = 0x1,
PathStatus_GoalHasChanged = 0x2,
};
// Aligment: 4
// Size: 3
enum class BoneMaskBlendSpace : uint32_t
{
BlendSpace_Parent = 0x0,
BlendSpace_Model = 0x1,
BlendSpace_Model_RotationOnly = 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: 24
struct AnimResourceBoneDifference_t
{
public:
CResourceString m_name; // 0x0
CResourceString m_parent; // 0x4
Vector m_posError; // 0x8
bool m_bHasRotation; // 0x14
bool m_bHasMovement; // 0x15
};
// Aligment: 1
// Size: 4
struct AnimResourceMorphDifference_t
{
public:
CResourceString m_name; // 0x0
};
// Aligment: 2
// Size: 8
struct AnimResourceUserDifference_t
{
public:
CResourceString m_name; // 0x0
int32_t m_nType; // 0x4
};
// Aligment: 7
// Size: 56
struct AnimResourceEncodeDifference_t
{
public:
CResourceArray< AnimResourceBoneDifference_t > m_boneArray; // 0x0
CResourceArray< AnimResourceMorphDifference_t > m_morphArray; // 0x8
CResourceArray< AnimResourceUserDifference_t > m_userArray; // 0x10
CResourceArray< uint8 > m_bHasRotationBitArray; // 0x18
CResourceArray< uint8 > m_bHasMovementBitArray; // 0x20
CResourceArray< uint8 > m_bHasMorphBitArray; // 0x28
CResourceArray< uint8 > m_bHasUserBitArray; // 0x30
};
// Aligment: 4
// Size: 16
struct AnimResourceAnimEvent_t
{
public:
int32_t m_nFrame; // 0x0
float m_flCycle; // 0x4
CResourceString m_sOptions; // 0x8
CResourceString m_sEventName; // 0xc
};
// Aligment: 7
// Size: 44
struct AnimResourceMovement_t
{
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
struct AnimResourceIKRuleStallFrame_t
{
public:
int16_t chain; // 0x0
int16_t slot; // 0x2
float start; // 0x4
float peak; // 0x8
float tail; // 0xc
float end; // 0x10
};
// Aligment: 19
// Size: 96
struct AnimResourceIKRule_t
{
public:
int32_t index; // 0x0
int32_t type; // 0x4
int32_t chain; // 0x8
int32_t bone; // 0xc
int32_t slot; // 0x10
float height; // 0x14
float radius; // 0x18
float floor; // 0x1c
Vector pos; // 0x20
Quaternion q; // 0x2c
int32_t iStart; // 0x3c
float start; // 0x40
float peak; // 0x44
float tail; // 0x48
float end; // 0x4c
float contact; // 0x50
float drop; // 0x54
float top; // 0x58
CResourceString m_szAttachmentName; // 0x5c
};
// Aligment: 6
// Size: 24
struct AnimResourceLocalHierarchy_t
{
public:
CResourceString m_sBone; // 0x0
CResourceString m_sNewParent; // 0x4
int32_t m_nStartFrame; // 0x8
int32_t m_nPeakFrame; // 0xc
int32_t m_nTailFrame; // 0x10
int32_t m_nEndFrame; // 0x14
};
// Aligment: 3
// Size: 12
struct AnimResourceDecoder_t
{
public:
CResourceString m_szName; // 0x0
int32_t m_nVersion; // 0x4
int32_t m_nType; // 0x8
};
// Aligment: 4
// Size: 20
struct AnimResourceFrameSegment_t
{
public:
int32_t m_nUniqueFrameIndex; // 0x0
uint32_t m_nLocalElementMasks; // 0x4
int32_t m_nLocalChannel; // 0x8
CResourceArray< uint8 > m_container; // 0xc
};
// Aligment: 3
// Size: 16
struct AnimResourceFrameBlockAnim_t
{
public:
int32_t m_nStartFrame; // 0x0
int32_t m_nEndFrame; // 0x4
CResourceArray< int32 > m_segmentIndexArray; // 0x8
};
// Aligment: 5
// Size: 76
struct AnimResourceEncodedFrames_t
{
public:
CResourceString m_fileName; // 0x0
int32_t m_nFrames; // 0x4
int32_t m_nFramesPerBlock; // 0x8
CResourceArray< AnimResourceFrameBlockAnim_t > m_frameblockArray; // 0xc
AnimResourceEncodeDifference_t m_usageDifferences; // 0x14
};
// Aligment: 5
// Size: 5
struct AnimResourceAnimDesc_t_Flag_t
{
public:
bool m_bLooping; // 0x0
bool m_bAllZeros; // 0x1
bool m_bHidden; // 0x2
bool m_bDelta; // 0x3
bool m_bLegacyWorldspace; // 0x4
};
// Aligment: 2
// Size: 8
struct AnimResourceSequenceParams_t
{
public:
float m_flFadeInTime; // 0x0
float m_flFadeOutTime; // 0x4
};
// Aligment: 16
// Size: 120
struct AnimResourceAnimDesc_t
{
public:
CResourceString m_name; // 0x0
AnimResourceAnimDesc_t_Flag_t m_flags; // 0x4
float fps; // 0xc
CResourcePointer< AnimResourceEncodedFrames_t > m_pData; // 0x10
CResourceArray< AnimResourceMovement_t > m_movementArray; // 0x14
CResourceArray< AnimResourceAnimEvent_t > m_eventArray; // 0x1c
CResourceArray< AnimResourceActivity_t > m_activityArray; // 0x24
CResourceArray< AnimResourceLocalHierarchy_t > m_hierarchyArray; // 0x2c
CResourceArray< AnimResourceIKRule_t > m_IKRuleArray; // 0x34
CResourceArray< AnimResourceIKRuleStallFrame_t > m_IKRuleZeroFrameArray; // 0x3c
float framestalltime; // 0x44
Vector m_vecRootMin; // 0x48
Vector m_vecRootMax; // 0x54
CResourceArray< Vector > m_vecBoneWorldMin; // 0x60
CResourceArray< Vector > m_vecBoneWorldMax; // 0x68
AnimResourceSequenceParams_t m_sequenceParams; // 0x70
};
// Aligment: 4
// Size: 16
struct AnimResourceActivity_t
{
public:
CResourceString m_name; // 0x0
int32_t m_nActivity; // 0x4
int32_t m_nFlags; // 0x8
int32_t m_nWeight; // 0xc
};
// Aligment: 6
// Size: 40
struct AnimationResourceData_t
{
public:
CResourceString m_name; // 0x0
CResourceArray< AnimResourceEncodedFrames_t > m_frameData; // 0x4
CResourceArray< AnimResourceAnimDesc_t > m_animArray; // 0xc
CResourceArray< AnimResourceDecoder_t > m_decoderArray; // 0x14
int32_t m_nMaxUniqueFrameIndex; // 0x1c
CResourceArray< AnimResourceFrameSegment_t > m_segmentArray; // 0x20
};
// Aligment: 6
// Size: 56
struct AnimResourceBone_t
{
public:
CResourceString m_name; // 0x0
int32_t m_parent; // 0x4
Vector m_pos; // 0x8
Quaternion m_quat; // 0x14
Quaternion m_qAlignment; // 0x24
int32_t m_flags; // 0x34
};
// Aligment: 2
// Size: 8
struct AnimResourceUser_t
{
public:
CResourceString m_name; // 0x0
int32_t m_nType; // 0x4
};
// Aligment: 9
// Size: 48
struct AnimResourceDataChannel_t
{
public:
CResourceString m_szChannelClass; // 0x0
CResourceString m_szVariableName; // 0x4
int32_t m_nFlags; // 0x8
int32_t m_nType; // 0xc
CResourceString m_szGrouping; // 0x10
CResourceString m_szDescription; // 0x14
CResourceArray< CResourceString > m_szElementNameArray; // 0x18
CResourceArray< int32 > m_nElementIndexArray; // 0x20
CResourceArray< uint32 > m_nElementMaskArray; // 0x28
};
// Aligment: 2
// Size: 16
struct AnimResourceIKLink_t
{
public:
int32_t bone; // 0x0
Vector kneeDir; // 0x4
};
// Aligment: 6
// Size: 24
struct AnimResourceIKTargetInfo_t
{
public:
CResourceString m_name; // 0x0
int32_t m_nType; // 0x4
int32_t m_nPosChannel; // 0x8
int32_t m_nPosElement; // 0xc
int32_t m_nQuatChannel; // 0x10
int32_t m_nQuatElement; // 0x14
};
// Aligment: 3
// Size: 20
struct AnimResourceIKChain_t
{
public:
CResourceString m_name; // 0x0
CResourceArray< AnimResourceIKTargetInfo_t > m_targetInfoArray; // 0x4
CResourceArray< AnimResourceIKLink_t > m_linkArray; // 0xc
};
// Aligment: 7
// Size: 48
struct AnimationKeyResourceData_t
{
public:
CResourceString m_name; // 0x0
CResourceArray< AnimResourceBone_t > m_boneArray; // 0x4
CResourceArray< AnimResourceUser_t > m_userArray; // 0xc
CResourceArray< CResourceString > m_morphArray; // 0x14
CResourceArray< AnimResourceIKChain_t > m_IKChainArray; // 0x1c
int32_t m_nChannelElements; // 0x24
CResourceArray< AnimResourceDataChannel_t > m_dataChannelArray; // 0x28
};
// Aligment: 13
// Size: 156
struct AnimationRetargetElementData_t
{
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
CResourceString m_boneName; // 0x18
matrix3x4_t m_transform; // 0x1c
matrix3x4_t m_invTransform; // 0x4c
float m_flDistance; // 0x7c
Vector m_vecMin; // 0x80
Vector m_vecMax; // 0x8c
float m_flMass; // 0x98
};
// Aligment: 4
// Size: 20
struct AnimationRetargetChainData_t
{
public:
CResourceString m_sChainName; // 0x0
int32_t m_nGroupType; // 0x4
int32_t m_nChainType; // 0x8
CResourceArray< int32 > m_nElement; // 0xc
};
// Aligment: 5
// Size: 32
struct AnimationRetargetData_t
{
public:
int32_t m_bEnableRetarget; // 0x0
int32_t m_nRetargetStyle; // 0x4
CResourceArray< AnimationRetargetElementData_t > m_element; // 0x8
CResourceArray< AnimationRetargetChainData_t > m_chain; // 0x10
CResourceArray< CResourceString > m_replicated; // 0x18
};
// Aligment: 8
// Size: 120
struct AnimationGroupResourceData_t
{
public:
uint32_t m_nFlags; // 0x0
CResourceString m_name; // 0x4
CResourceArray< CResourceExtReference< CWeakHandle< InfoForResourceTypeAnimationResourceData_t > > > m_localHAnimArray; // 0x8
CResourceArray< CResourceExtReference< CWeakHandle< InfoForResourceTypeAnimationGroupResourceData_t > > > m_includedGroupArray; // 0x10
CResourceExtReference< CWeakHandle< InfoForResourceTypeSequenceGroupResourceData_t > > m_directHSeqGroup; // 0x18
AnimationKeyResourceData_t m_decodeKey; // 0x20
AnimationRetargetData_t m_retarget; // 0x50
CResourceArray< CResourceString > m_szScripts; // 0x70
};
// Aligment: 8
// Size: 8
struct SeqResourceAutoLayerFlag_t
{
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
struct SeqResourceAutoLayer_t
{
public:
int16_t m_nLocalReference; // 0x0
int16_t m_nLocalPose; // 0x2
SeqResourceAutoLayerFlag_t m_flags; // 0x4
float m_start; // 0xc
float m_peak; // 0x10
float m_tail; // 0x14
float m_end; // 0x18
};
// Aligment: 3
// Size: 12
struct SeqResourceIKLock_t
{
public:
int16_t m_nLocalBone; // 0x0
float m_flPosWeight; // 0x4
float m_flAngleWeight; // 0x8
};
// Aligment: 3
// Size: 20
struct SeqResourceBoneMaskList_t
{
public:
CResourceString m_sName; // 0x0
CResourceArray< int16 > m_nLocalBoneArray; // 0x4
CResourceArray< float32 > m_flBoneWeightArray; // 0xc
};
// Aligment: 6
// Size: 6
struct SeqResourceMultiFetch_t_Flag_t
{
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: 56
struct SeqResourceMultiFetch_t
{
public:
SeqResourceMultiFetch_t_Flag_t m_flags; // 0x0
CResourceArray< int16 > m_localReferenceArray; // 0x8
int32[2] m_nGroupSize; // 0x10
int32[2] m_nLocalPose; // 0x18
CResourceArray< float32 > m_poseKeyArray0; // 0x20
CResourceArray< float32 > m_poseKeyArray1; // 0x28
int32_t m_nLocalCyclePoseParameter; // 0x30
bool m_bCalculatePoseParameters; // 0x34
};
// Aligment: 10
// Size: 10
struct SeqResourceSeqDesc_t_Flag_t
{
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
};
// Aligment: 2
// Size: 8
struct SeqResourceTransition_t
{
public:
float m_flFadeInTime; // 0x0
float m_flFadeOutTime; // 0x4
};
// Aligment: 9
// Size: 112
struct SeqResourceS1SeqDesc_t
{
public:
CResourceString m_sName; // 0x0
SeqResourceSeqDesc_t_Flag_t m_flags; // 0x4
SeqResourceMultiFetch_t m_fetch; // 0x10
int32_t m_nLocalWeightlist; // 0x48
CResourceArray< SeqResourceAutoLayer_t > m_autoLayerArray; // 0x4c
CResourceArray< SeqResourceIKLock_t > m_IKLockArray; // 0x54
SeqResourceTransition_t m_transition; // 0x5c
CResourceString m_keyValueText; // 0x64
CResourceArray< AnimResourceActivity_t > m_activityArray; // 0x68
};
// Aligment: 6
// Size: 36
struct SeqResourceSynthAnimDesc_t
{
public:
CResourceString m_sName; // 0x0
SeqResourceSeqDesc_t_Flag_t m_flags; // 0x4
SeqResourceTransition_t m_transition; // 0x10
int16_t m_nLocalBaseReference; // 0x18
int16_t m_nLocalBoneMask; // 0x1a
CResourceArray< AnimResourceActivity_t > m_activityArray; // 0x1c
};
// Aligment: 9
// Size: 24
struct SeqResourceCmdLayer_t
{
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: 24
struct SeqResourcePoseSetting_t
{
public:
CResourceString m_sPoseParameter; // 0x0
CResourceString m_sAttachment; // 0x4
CResourceString m_sReferenceSequence; // 0x8
float m_flValue; // 0xc
bool m_bX; // 0x10
bool m_bY; // 0x11
bool m_bZ; // 0x12
int32_t m_eType; // 0x14
};
// Aligment: 12
// Size: 68
struct SeqResourceCmdSeqDesc_t
{
public:
CResourceString m_sName; // 0x0
SeqResourceSeqDesc_t_Flag_t m_flags; // 0x4
SeqResourceTransition_t m_transition; // 0x10
int16_t m_nFrameRangeSequence; // 0x18
int16_t m_nFrameCount; // 0x1a
float m_flFPS; // 0x1c
int16_t m_nSubCycles; // 0x20
int16_t m_numLocalResults; // 0x22
CResourceArray< SeqResourceCmdLayer_t > m_cmdLayerArray; // 0x24
CResourceArray< AnimResourceAnimEvent_t > m_eventArray; // 0x2c
CResourceArray< AnimResourceActivity_t > m_activityArray; // 0x34
CResourceArray< SeqResourcePoseSetting_t > m_poseSettingArray; // 0x3c
};
// Aligment: 5
// Size: 20
struct SeqResourcePoseParamDesc_t
{
public:
CResourceString m_sName; // 0x0
float m_flStart; // 0x4
float m_flEnd; // 0x8
float m_flLoop; // 0xc
bool m_bLooping; // 0x10
};
// Aligment: 13
// Size: 88
struct SequenceGroupResourceData_t
{
public:
CResourceString m_sName; // 0x0
uint32_t m_nFlags; // 0x4
CResourceArray< CResourceString > m_localSequenceNameArray; // 0x8
CResourceArray< SeqResourceS1SeqDesc_t > m_localS1SeqDescArray; // 0x10
CResourceArray< SeqResourceS1SeqDesc_t > m_localMultiSeqDescArray; // 0x18
CResourceArray< SeqResourceSynthAnimDesc_t > m_localSynthAnimDescArray; // 0x20
CResourceArray< SeqResourceCmdSeqDesc_t > m_localCmdSeqDescArray; // 0x28
CResourceArray< SeqResourceBoneMaskList_t > m_localBoneMaskArray; // 0x30
CResourceArray< CResourceString > m_localBoneNameArray; // 0x38
CResourceString m_localNodeName; // 0x40
CResourceArray< SeqResourcePoseParamDesc_t > m_localPoseParamArray; // 0x44
CResourceString m_keyValueText; // 0x4c
CResourceArray< SeqResourceIKLock_t > m_localIKAutoplayLockArray; // 0x50
};
// 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: 4
class AnimNodeID
{
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: 5
// Size: 424
class CAnimationGraph
{
public:
CAnimMotorList m_motorList; // 0x28
CSmartPtr< CAnimParameterList > m_pParameterList; // 0xe0
CSmartPtr< CAnimTagManager > m_pTagManager; // 0xe8
CSmartPtr< CActivityValueList > m_pActivityValuesList; // 0xf0
AnimNodeID m_rootNodeID; // 0xf8
};
// Aligment: 1
// Size: 200
class CAnimParameterList
{
public:
CUtlVector< CSmartPtr< CAnimParameterBase > > m_Parameters; // 0xb0
};
// 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: 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: 184
class CAnimMotorList
{
public:
CUtlVector< CSmartPtr< CBaseAnimMotor > > m_motors; // 0x8
};
// Aligment: 2
// Size: 40
class CBaseAnimMotor
{
public:
// MPropertyFriendlyName "Name"
// MPropertySortPriority "100"
CUtlString m_name; // 0x18
// MPropertyHideField
bool m_bDefault; // 0x20
};
// Aligment: 1
// Size: 48
class CBasePathAnimMotor : public CBaseAnimMotor
{
public:
// MPropertyFriendlyName "Lock To Path"
// MPropertySortPriority "90"
bool m_bLockToPath; // 0x28
};
// Aligment: 0
// Size: 48
class CPathAnimMotor : public CBasePathAnimMotor, CBaseAnimMotor
{
public:
// <no members described>
};
// Aligment: 6
// Size: 72
class CDampedPathAnimMotor : public CBasePathAnimMotor, CBaseAnimMotor
{
public:
// MPropertyFriendlyName "Anticipation Time"
float m_flAnticipationTime; // 0x30
// MPropertyFriendlyName "Anticipation Position Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_anticipationPosParam; // 0x34
// MPropertyFriendlyName "Anticipation Heading Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_anticipationHeadingParam; // 0x38
// MPropertyFriendlyName "Spring Constant"
// MPropertyGroupName "+Stopping:Arrival Damping"
float m_flSpringConstant; // 0x3c
// MPropertyFriendlyName "Min Tension"
// MPropertyGroupName "+Stopping:Arrival Damping"
float m_flMinSpringTension; // 0x40
// MPropertyFriendlyName "Max Tension"
// MPropertyGroupName "+Stopping:Arrival Damping"
float m_flMaxSpringTension; // 0x44
};
// Aligment: 6
// 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
};
// 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: 4
// Size: 56
class CAnimNodeBase
{
public:
// MPropertyFriendlyName "Name"
// MPropertySortPriority "100"
CUtlString m_sName; // 0x20
// MPropertyHideField
Vector2D m_vecPosition; // 0x28
// MPropertyHideField
AnimNodeID m_nNodeID; // 0x30
// MPropertyFriendlyName "Network Mode"
AnimNodeNetworkMode m_networkMode; // 0x34
};
// Aligment: 3
// Size: 48
class CAnimTagSpan
{
public:
AnimTagID m_id; // 0x18
float m_fStartCycle; // 0x1c
float m_fDuration; // 0x20
};
// Aligment: 4
// Size: 104
class CSequenceAnimNode : public CAnimNodeBase
{
public:
// MPropertySuppressField
CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x40
// MPropertyFriendlyName "Sequence"
// MPropertyAttributeChoiceName "Sequence"
CUtlString m_sequenceName; // 0x58
// MPropertyFriendlyName "Playback Speed"
float m_playbackSpeed; // 0x60
// MPropertyFriendlyName "Loop"
bool m_bLoop; // 0x64
};
// Aligment: 3
// Size: 24
class CBlendNodeChild
{
public:
// MPropertyHideField
AnimNodeID m_nodeID; // 0x0
// MPropertyFriendlyName "Name"
CUtlString m_name; // 0x8
// MPropertyFriendlyName "Blend Value"
float m_blendValue; // 0x10
};
// Aligment: 9
// Size: 128
class CBlendAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Blend Items"
// MPropertyAutoExpandGroup
CUtlVector< CBlendNodeChild > m_children; // 0x40
// MPropertyFriendlyName "Blend Source"
AnimValueSource m_blendValueSource; // 0x58
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_param; // 0x5c
// MPropertyFriendlyName "Blend Key Values"
BlendKeyType m_blendKeyType; // 0x60
// MPropertyFriendlyName "Lock Blend on Reset"
bool m_bLockBlendOnReset; // 0x64
// MPropertyFriendlyName "Sync Cycles"
bool m_bSyncCycles; // 0x65
// MPropertyFriendlyName "Loop"
bool m_bLoop; // 0x66
// MPropertyFriendlyName "Lock Blend When Waning"
bool m_bLockWhenWaning; // 0x67
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x68
};
// Aligment: 1
// Size: 96
class CStateMachineAnimNode : public CAnimNodeBase
{
public:
// MPropertySuppressField
CUtlVector< CSmartPtr< CAnimState > > m_states; // 0x48
};
// Aligment: 1
// Size: 64
class CRootAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
};
// Aligment: 3
// Size: 24
class CChoiceNodeChild
{
public:
// MPropertyHideField
AnimNodeID m_nodeID; // 0x0
// MPropertyFriendlyName "Name"
CUtlString m_name; // 0x8
// MPropertyFriendlyName "Weight"
float m_weight; // 0x10
};
// Aligment: 6
// Size: 112
class CChoiceAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Options"
// MPropertyAutoExpandGroup
CUtlVector< CChoiceNodeChild > m_children; // 0x40
// MPropertyHideField
int32_t m_seed; // 0x58
// MPropertyFriendlyName "Method"
ChoiceMethod m_choiceMethod; // 0x5c
// MPropertyFriendlyName "Change Selection"
ChoiceChangeMethod m_choiceChangeMethod; // 0x60
// MPropertyFriendlyName "Blend Duration"
float m_blendTime; // 0x64
// MPropertyFriendlyName "Reset On Selection"
bool m_bResetChosen; // 0x68
};
// Aligment: 3
// Size: 72
class CCycleControlAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "Blend Source"
AnimValueSource m_valueSource; // 0x3c
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_param; // 0x40
};
// Aligment: 7
// Size: 80
class CAddAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_baseChildID; // 0x38
// MPropertyHideField
AnimNodeID m_additiveChildID; // 0x3c
// MPropertyFriendlyName "Timing Control"
BinaryNodeTiming m_timingBehavior; // 0x40
// MPropertyFriendlyName "Timing Blend"
// MPropertyAttributeRange "0 1"
float m_flTimingBlend; // 0x44
// MPropertyFriendlyName "Reset Base Child"
bool m_bResetBase; // 0x48
// MPropertyFriendlyName "Reset Additive Child"
bool m_bResetAdditive; // 0x49
// MPropertyFriendlyName "Treat Translation Separately"
bool m_bApplyChannelsSeparately; // 0x4a
};
// Aligment: 7
// Size: 80
class CSubtractAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_baseChildID; // 0x38
// MPropertyHideField
AnimNodeID m_subtractChildID; // 0x3c
// MPropertyFriendlyName "Timing Control"
BinaryNodeTiming m_timingBehavior; // 0x40
// MPropertyFriendlyName "Timing Blend"
// MPropertyAttributeRange "0 1"
float m_flTimingBlend; // 0x44
// MPropertyFriendlyName "Reset Base Child"
bool m_bResetBase; // 0x48
// MPropertyFriendlyName "Reset Subtracted Child"
bool m_bResetSubtract; // 0x49
// MPropertyFriendlyName "Treat Translation Separately"
bool m_bApplyChannelsSeparately; // 0x4a
};
// Aligment: 8
// Size: 96
class CMoverAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "Generate Movement"
bool m_bApplyMovement; // 0x3c
// MPropertyFriendlyName "Orient Movement"
bool m_bOrientMovement; // 0x3d
// MPropertyFriendlyName "Additive"
bool m_bAdditive; // 0x3e
// MPropertyFriendlyName "Turn to Face"
bool m_bTurnToFace; // 0x3f
// MPropertyFriendlyName "Turn to Face Offset"
// MPropertyAttributeRange "-180 180"
float m_flTurnToFaceOffset; // 0x40
// MPropertyFriendlyName "Face Direction"
AnimValueSource m_facingTarget; // 0x44
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x48
};
// Aligment: 8
// Size: 80
class CTurnHelperAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "Turn to Face"
AnimValueSource m_facingTarget; // 0x3c
// MPropertyFriendlyName "Turn Start Time"
float m_turnStartTime; // 0x40
// MPropertyFriendlyName "Turn Duration"
float m_turnDuration; // 0x44
// MPropertyFriendlyName "Match Child Duration"
bool m_bMatchChildDuration; // 0x48
// MPropertyFriendlyName "Clamp Turn to Child Duration"
bool m_bClampDurationToChild; // 0x49
// MPropertyFriendlyName "Use Manual Turn Offset"
bool m_bUseManualTurnOffset; // 0x4a
// MPropertyFriendlyName "Manual Turn Offset"
float m_manualTurnOffset; // 0x4c
};
// Aligment: 11
// Size: 144
class CAimMatrixAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "Sequence"
// MPropertyAttributeChoiceName "Sequence"
CUtlString m_sequenceName; // 0x40
// MPropertyFriendlyName "Angle Increment"
float m_fAngleIncrement; // 0x48
// MPropertyFriendlyName "Target"
AnimVectorSource m_target; // 0x4c
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_param; // 0x50
// MPropertyFriendlyName "Aim Attachment"
// MPropertyAttributeChoiceName "Attachment"
CUtlString m_attachmentName; // 0x58
// MPropertyFriendlyName "Blend Mode"
AimMatrixBlendMode m_blendMode; // 0x60
// MPropertyFriendlyName "Bone Mask"
// MPropertyAttributeChoiceName "BoneMask"
CUtlString m_boneMaskName; // 0x68
// MPropertyFriendlyName "Reset Child"
bool m_bResetBase; // 0x70
// MPropertyFriendlyName "Lock Blend When Waning"
bool m_bLockWhenWaning; // 0x71
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x78
};
// Aligment: 2
// Size: 64
class CSpeedScaleAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_param; // 0x3c
};
// Aligment: 7
// Size: 104
class CDirectionalBlendAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Sequence Names Prefix"
CUtlString m_animNamePrefix; // 0x38
// MPropertyFriendlyName "Blend Source"
AnimValueSource m_blendValueSource; // 0x40
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_param; // 0x44
// MPropertyFriendlyName "Loop"
bool m_bLoop; // 0x48
// MPropertyFriendlyName "Lock Blend on Reset"
bool m_bLockBlendOnReset; // 0x49
// MPropertyFriendlyName "Playback Speed"
float m_playbackSpeed; // 0x4c
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x50
};
// Aligment: 6
// Size: 72
class CWayPointHelperAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "Start Cycle"
// MPropertyAttributeRange "0 1"
float m_flStartCycle; // 0x3c
// MPropertyFriendlyName "End Cycle"
// MPropertyAttributeRange "0 1"
float m_flEndCycle; // 0x40
// MPropertyFriendlyName "Only align to Goals"
bool m_bOnlyGoals; // 0x44
// MPropertyFriendlyName "Prevent Overshoot"
bool m_bPreventOvershoot; // 0x45
// MPropertyFriendlyName "Prevent Undershoot"
bool m_bPreventUndershoot; // 0x46
};
// Aligment: 12
// Size: 104
class CBoneMaskAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Bone Mask"
// MPropertyAttributeChoiceName "BoneMask"
CUtlString m_weightListName; // 0x38
// MPropertyHideField
AnimNodeID m_child1ID; // 0x40
// MPropertyHideField
AnimNodeID m_child2ID; // 0x44
// MPropertyFriendlyName "Blend Space"
BoneMaskBlendSpace m_blendSpace; // 0x48
// MPropertyFriendlyName "Use Blend Source"
bool m_bUseBlendScale; // 0x4c
// MPropertyFriendlyName "Blend Source"
AnimValueSource m_blendValueSource; // 0x50
// MPropertyFriendlyName "Blend Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_blendParameter; // 0x54
// MPropertyFriendlyName "Timing Control"
BinaryNodeTiming m_timingBehavior; // 0x58
// MPropertyFriendlyName "Timing Blend"
// MPropertyAttributeRange "0 1"
float m_flTimingBlend; // 0x5c
// MPropertyFriendlyName "Root Motion Blend"
// MPropertyAttributeRange "0 1"
float m_flRootMotionBlend; // 0x60
// MPropertyFriendlyName "Reset Child1"
bool m_bResetChild1; // 0x64
// MPropertyFriendlyName "Reset Child2"
bool m_bResetChild2; // 0x65
};
// Aligment: 1
// Size: 64
class CChoreoAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
};
// Aligment: 3
// Size: 64
class CDirectPlaybackAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "Finish Early"
bool m_bFinishEarly; // 0x3c
// MPropertyFriendlyName "Reset Child On Finish"
bool m_bResetOnFinish; // 0x3d
};
// Aligment: 7
// Size: 128
class CLeanMatrixAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Sequence"
// MPropertyAttributeChoiceName "Sequence"
CUtlString m_sequenceName; // 0x38
// MPropertyFriendlyName "Max Value"
float m_flMaxValue; // 0x40
// MPropertyFriendlyName "Blend Source"
AnimVectorSource m_blendSource; // 0x44
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_param; // 0x48
// MPropertyFriendlyName "Vertical Axis"
Vector m_verticalAxisDirection; // 0x4c
// MPropertyFriendlyName "Horizontal Axis"
Vector m_horizontalAxisDirection; // 0x58
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x68
};
// Aligment: 4
// Size: 88
class CTwoBoneIKAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "IK Chain"
// MPropertyAttributeChoiceName "IKChain"
CUtlString m_ikChainName; // 0x40
// MPropertyFriendlyName "Target Attachment"
// MPropertyAttributeChoiceName "Attachment"
CUtlString m_attachmentName; // 0x48
// MPropertyFriendlyName "Match Target Orientation"
bool m_bMatchTargetOrientation; // 0x50
};
// Aligment: 13
// Size: 144
class CGroundIKSolveAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "IK Chains"
// MPropertyAttributeChoiceName "IKChain"
CUtlVector< CUtlString > m_IkChains; // 0x40
// MPropertyFriendlyName "Tilt Source"
// MPropertyAttributeChoiceEnumName
GroundIKTiltSource_t m_TiltSource; // 0x58
// MPropertyFriendlyName "Apply Locks"
bool m_bApplyLocks; // 0x5c
// MPropertyFriendlyName "Enabled"
bool m_bEnabled; // 0x5d
// MPropertyFriendlyName "Target Blend Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_TargetBlendParameter; // 0x60
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug Bone Types to Draw"
// MPropertyAttributeChoiceEnumName
CUtlVector< CGroundIKSolveAnimNode::DebugSkeletonBoneType_t > m_DebugDrawBoneTypes; // 0x68
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug Draw Lock Values"
bool m_bDebugDrawLockValues; // 0x80
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug Lock Values Color"
Color m_DebugDrawLockValuesColor; // 0x81
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug Draw Before"
bool m_bDebugDrawBefore; // 0x85
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug Before IK Color"
Color m_DebugDrawBeforeColor; // 0x86
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug Draw After"
bool m_bDebugDrawAfter; // 0x8a
// MPropertyGroupName "Debug"
// MPropertyFriendlyName "Debug After IK Color"
Color m_DebugDrawAfterColor; // 0x8b
};
// Aligment: 2
// Size: 88
class CSolveIKChainAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "IK Chains"
// MPropertyAttributeChoiceName "IKChain"
CUtlVector< CUtlString > m_IkChains; // 0x40
};
// Aligment: 14
// Size: 136
class CLookAtAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "Target"
AnimVectorSource m_target; // 0x3c
// MPropertyFriendlyName "Target Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_param; // 0x40
// MPropertyFriendlyName "Weight Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_weightParam; // 0x44
// MPropertyFriendlyName "LookAt Chain"
// MPropertyAttributeChoiceName "LookAtChain"
CUtlString m_lookatChainName; // 0x48
// MPropertyFriendlyName "Aim Attachment"
// MPropertyAttributeChoiceName "Attachment"
CUtlString m_attachmentName; // 0x50
// MPropertyFriendlyName "Yaw Limit"
// MPropertyAttributeRange "0 180"
float m_flYawLimit; // 0x58
// MPropertyFriendlyName "Pitch Limit"
// MPropertyAttributeRange "0 180"
float m_flPitchLimit; // 0x5c
// MPropertyFriendlyName "Reset Child"
bool m_bResetBase; // 0x60
// MPropertyFriendlyName "Lock Blend When Waning"
bool m_bLockWhenWaning; // 0x61
// MPropertyFriendlyName "Use Hysteresis"
// MPropertyGroupName "Hysteresis"
bool m_bUseHysteresis; // 0x62
// MPropertyFriendlyName "Inner Angle"
// MPropertyGroupName "Hysteresis"
float m_flHysteresisInnerAngle; // 0x64
// MPropertyFriendlyName "Outer Angle"
// MPropertyGroupName "Hysteresis"
float m_flHysteresisOuterAngle; // 0x68
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x70
};
// Aligment: 4
// Size: 112
class CNeuralNetAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Weights File"
CUtlString m_weightsFile; // 0x38
// MPropertyFriendlyName "Test Input File"
CUtlString m_testInputFile; // 0x40
// MPropertyFriendlyName "Bone Map File"
CUtlString m_boneMapFile; // 0x48
// MPropertyFriendlyName "Sensor Range File"
CUtlString m_sensorRangeFile; // 0x50
};
// Aligment: 3
// Size: 72
class CPathHelperAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "Stopping Radius"
float m_flStoppingRadius; // 0x3c
// MPropertyFriendlyName "Stopping Min Speed Scale"
float m_flStoppingSpeedScale; // 0x40
};
// Aligment: 5
// Size: 88
class CFollowAttachmentAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "Bone"
// MPropertyAttributeChoiceName "Bone"
CUtlString m_boneName; // 0x40
// MPropertyFriendlyName "Target Attachment"
// MPropertyAttributeChoiceName "Attachment"
CUtlString m_attachmentName; // 0x48
// MPropertyFriendlyName "Match Translation"
bool m_bMatchTranslation; // 0x50
// MPropertyFriendlyName "Match Rotation"
bool m_bMatchRotation; // 0x51
};
// Aligment: 1
// Size: 64
class CSkeletalInputAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Motion Range"
AnimVRHandMotionRange_t m_motionRange; // 0x38
};
// Aligment: 10
// Size: 152
class CSelectorAnimNode : public CAnimNodeBase
{
public:
// MPropertySuppressField
CUtlVector< AnimNodeID > m_children; // 0x40
// MPropertySuppressField
CUtlVector< AnimTagID > m_tags; // 0x58
// MPropertyFriendlyName "Selection Source"
// MPropertyAttrChangeCallback
SelectionSource_t m_selectionSource; // 0x70
// MPropertyFriendlyName "Bool Parameter"
// MPropertyAttributeChoiceName "BoolParameter"
// MPropertyAttrChangeCallback
AnimParamID m_boolParamID; // 0x74
// MPropertyFriendlyName "Enum Parameter"
// MPropertyAttributeChoiceName "EnumParameter"
// MPropertyAttrChangeCallback
AnimParamID m_enumParamID; // 0x78
// MPropertyFriendlyName "Blend Duration"
float m_blendDuration; // 0x7c
// MPropertyFriendlyName "Tag Behavior"
SelectorTagBehaior_t m_tagBehavior; // 0x80
// MPropertyFriendlyName "Reset On Change"
bool m_bResetOnChange; // 0x84
// MPropertyFriendlyName "Start new option at same cycle"
bool m_bSyncCyclesOnChange; // 0x85
// MPropertySuppressField
CBlendCurve m_blendCurve; // 0x88
};
// Aligment: 23
// Size: 160
class CHitReactAnimNode : public CAnimNodeBase
{
public:
// MPropertyHideField
AnimNodeID m_childID; // 0x38
// MPropertyFriendlyName "Trigger Parameter"
// MPropertyAttributeChoiceName "BoolParameter"
AnimParamID m_triggerParam; // 0x3c
// MPropertyFriendlyName "Hit Bone Parameter"
// MPropertyAttributeChoiceName "IntParameter"
AnimParamID m_hitBoneParam; // 0x40
// MPropertyFriendlyName "Hit Offset Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_hitOffsetParam; // 0x44
// MPropertyFriendlyName "Hit Direction Parameter"
// MPropertyAttributeChoiceName "VectorParameter"
AnimParamID m_hitDirectionParam; // 0x48
// MPropertyFriendlyName "Hit Strength Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
AnimParamID m_hitStrengthParam; // 0x4c
// MPropertyFriendlyName "Bone Weights"
// MPropertyAttributeChoiceName "BoneMask"
CUtlString m_weightListName; // 0x50
// MPropertyFriendlyName "Hip Bone"
// MPropertyAttributeChoiceName "Bone"
CUtlString m_hipBoneName; // 0x58
// MPropertyFriendlyName "Hip Translation Scale"
float m_flHipBoneTranslationScale; // 0x60
// MPropertyFriendlyName "Number of bone effected"
int32_t m_nEffectedBoneCount; // 0x64
// MPropertyFriendlyName "Max Impact Force"
float m_flMaxImpactForce; // 0x68
// MPropertyFriendlyName "Min Impact Force"
float m_flMinImpactForce; // 0x6c
// MPropertyFriendlyName "Whip Impact Scale"
float m_flWhipImpactScale; // 0x70
// MPropertyFriendlyName "Counter Rotation Scale"
float m_flCounterRotationScale; // 0x74
// MPropertyFriendlyName "Distance Fade Scale"
float m_flDistanceFadeScale; // 0x78
// MPropertyFriendlyName "Propagation Scale"
float m_flPropagationScale; // 0x7c
// MPropertyFriendlyName "Whip Delay Time"
float m_flWhipDelay; // 0x80
// MPropertyFriendlyName "Spring Strength"
float m_flSpringStrength; // 0x84
// MPropertyFriendlyName "Whip Spring Strength"
float m_flWhipSpringStrength; // 0x88
// MPropertyFriendlyName "Hip Dip Spring Strength"
float m_flHipDipSpringStrength; // 0x8c
// MPropertyFriendlyName "Hip Dip Scale"
float m_flHipDipImpactScale; // 0x90
// MPropertyFriendlyName "Hip Dip Delay Time"
float m_flHipDipDelay; // 0x94
// MPropertyFriendlyName "Reset Child"
bool m_bResetBase; // 0x98
};
// Aligment: 2
// Size: 16
class CBlend2DItem
{
public:
// MPropertyFriendlyName "Sequence"
// MPropertyAttributeChoiceName "Sequence"
CUtlString m_sequenceName; // 0x0
// MPropertyFriendlyName "Blend Value"
Vector2D m_blendValue; // 0x8
};
// Aligment: 10
// Size: 136
class CBlend2DAnimNode : public CAnimNodeBase
{
public:
// MPropertyFriendlyName "Blend Items"
// MPropertyAutoExpandGroup
CUtlVector< CBlend2DItem > m_items; // 0x38
// MPropertyFriendlyName "Blend Source"
// MPropertyGroupName "Horizontal Axis"
AnimValueSource m_blendSourceX; // 0x50
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
// MPropertyGroupName "Horizontal Axis"
AnimParamID m_paramX; // 0x54
// MPropertyFriendlyName "Blend Source"
// MPropertyGroupName "Vertical Axis"
AnimValueSource m_blendSourceY; // 0x58
// MPropertyFriendlyName "Parameter"
// MPropertyAttributeChoiceName "FloatParameter"
// MPropertyGroupName "Vertical Axis"
AnimParamID m_paramY; // 0x5c
// MPropertyFriendlyName "Blend Mode"
Blend2DMode m_eBlendNode; // 0x60
// MPropertyFriendlyName "Loop"
bool m_bLoop; // 0x64
// MPropertyFriendlyName "Lock Blend on Reset"
bool m_bLockBlendOnReset; // 0x65
// MPropertyFriendlyName "Playback Speed"
float m_playbackSpeed; // 0x68
// MPropertyFriendlyName "Damping"
CAnimInputDamping m_damping; // 0x70
};
// Aligment: 11
// Size: 136
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
AnimNodeID m_childNodeID; // 0x70
// MPropertyHideField
AnimStateID m_stateID; // 0x74
// MPropertyHideField
Vector2D m_position; // 0x78
// MPropertyFriendlyName "Start State"
bool m_bIsStartState; // 0x80
// MPropertyFriendlyName "End State"
bool m_bIsEndtState; // 0x81
// MPropertyFriendlyName "Passthrough"
bool m_bIsPassthrough; // 0x82
// MPropertyFriendlyName "Exclusive Root Motion"
bool m_bIsRootMotionExclusive; // 0x83
};
// Aligment: 7
// 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
};
// Aligment: 1
// Size: 40
class CAnimStateConditionBase
{
public:
uint8_t m_comparisonOp; // 0x20
};
// Aligment: 2
// Size: 64
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"
// MPropertyChoiceProviderFn
AnimTagID m_tagID; // 0x28
// MPropertyFriendlyName "Value"
bool m_comparisonValue; // 0x2c
};
// Aligment: 1
// Size: 48
class CCycleCondition : public CAnimStateConditionBase
{
public:
// MPropertyFriendlyName "Comparison Value"
// MPropertyAttributeRange "0 1"
float m_comparisonValue; // 0x28
};
// Aligment: 1
// Size: 48
class CFinishedCondition : public CAnimStateConditionBase
{
public:
// MPropertyFriendlyName "Is Finished"
bool m_bIsFinished; // 0x28
};
// 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: 200
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: 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: 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: 2
// Size: 16
class CAnimReplayWayPoint
{
public:
Vector m_vPosition; // 0x0
float m_flFacing; // 0xc
};
// Aligment: 5
// Size: 128
class CAnimReplayFrame
{
public:
CUtlBinaryBlock m_instanceData; // 0x10
CUtlBinaryBlock m_poseRecipeInstanceData; // 0x28
CTransform m_localToWorldTransform; // 0x40
CUtlVector< CAnimReplayWayPoint > m_waypoints; // 0x60
float m_timeStamp; // 0x78
};
// 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
};