diff --git a/sdk/!GlobalTypes.hpp b/sdk/!GlobalTypes.hpp index 0ad40204..3b212b62 100644 --- a/sdk/!GlobalTypes.hpp +++ b/sdk/!GlobalTypes.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: !GlobalTypes // Classes count: 1307 // Enums count: 308 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x3 enum class ThreeState_t : uint32_t -{ +{ TRS_FALSE = 0x0, TRS_TRUE = 0x1, TRS_NONE = 0x2, @@ -20,7 +21,7 @@ enum class ThreeState_t : uint32_t // Alignment: 1 // Size: 0x50 enum class fieldtype_t : uint8_t -{ +{ FIELD_VOID = 0x0, FIELD_FLOAT32 = 0x1, FIELD_STRING = 0x2, @@ -106,7 +107,7 @@ enum class fieldtype_t : uint8_t // Alignment: 1 // Size: 0x2 enum class FuseVariableAccess_t : uint8_t -{ +{ WRITABLE = 0x0, READ_ONLY = 0x1, }; @@ -114,7 +115,7 @@ enum class FuseVariableAccess_t : uint8_t // Alignment: 1 // Size: 0x9 enum class FuseVariableType_t : uint8_t -{ +{ INVALID = 0x0, BOOL = 0x1, INT8 = 0x2, @@ -129,7 +130,7 @@ enum class FuseVariableType_t : uint8_t // Alignment: 4 // Size: 0x3 enum class RenderSlotType_t : uint32_t -{ +{ RENDER_SLOT_INVALID = 0xffffffffffffffff, RENDER_SLOT_PER_VERTEX = 0x0, RENDER_SLOT_PER_INSTANCE = 0x1, @@ -138,7 +139,7 @@ enum class RenderSlotType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class InputLayoutVariation_t : uint32_t -{ +{ INPUT_LAYOUT_VARIATION_DEFAULT = 0x0, INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID = 0x1, INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID_MORPH_VERT_ID = 0x2, @@ -148,7 +149,7 @@ enum class InputLayoutVariation_t : uint32_t // Alignment: 4 // Size: 0x8 enum class RenderMultisampleType_t : uint32_t -{ +{ RENDER_MULTISAMPLE_INVALID = 0xffffffffffffffff, RENDER_MULTISAMPLE_NONE = 0x0, RENDER_MULTISAMPLE_2X = 0x1, @@ -162,7 +163,7 @@ enum class RenderMultisampleType_t : uint32_t // Alignment: 4 // Size: 0x9 enum class RenderBufferFlags_t : uint32_t -{ +{ RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1, RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2, RENDER_BUFFER_USAGE_SHADER_RESOURCE = 0x4, @@ -177,7 +178,7 @@ enum class RenderBufferFlags_t : uint32_t // Alignment: 4 // Size: 0x2d enum class RenderPrimitiveType_t : uint32_t -{ +{ RENDER_PRIM_POINTS = 0x0, RENDER_PRIM_LINES = 0x1, RENDER_PRIM_LINES_WITH_ADJACENCY = 0x2, @@ -228,7 +229,7 @@ enum class RenderPrimitiveType_t : uint32_t // Alignment: 4 // Size: 0x5 enum class SpawnDebugRestrictionOverrideState_t : uint32_t -{ +{ SPAWN_DEBUG_RESTRICT_NONE = 0x0, SPAWN_DEBUG_RESTRICT_IGNORE_MANAGER_DISTANCE_REQS = 0x1, SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_DISTANCE_LOS_REQS = 0x2, @@ -239,7 +240,7 @@ enum class SpawnDebugRestrictionOverrideState_t : uint32_t // Alignment: 4 // Size: 0x3 enum class SpawnDebugOverrideState_t : uint32_t -{ +{ SPAWN_DEBUG_OVERRIDE_NONE = 0x0, SPAWN_DEBUG_OVERRIDE_FORCE_ENABLED = 0x1, SPAWN_DEBUG_OVERRIDE_FORCE_DISABLED = 0x2, @@ -248,7 +249,7 @@ enum class SpawnDebugOverrideState_t : uint32_t // Alignment: 4 // Size: 0x4 enum class EntityIOTargetType_t : uint32_t -{ +{ ENTITY_IO_TARGET_INVALID = 0xffffffffffffffff, ENTITY_IO_TARGET_ENTITYNAME = 0x2, ENTITY_IO_TARGET_EHANDLE = 0x6, @@ -258,7 +259,7 @@ enum class EntityIOTargetType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class EntityDormancyType_t : uint32_t -{ +{ ENTITY_NOT_DORMANT = 0x0, ENTITY_DORMANT = 0x1, ENTITY_SUSPENDED = 0x2, @@ -267,7 +268,7 @@ enum class EntityDormancyType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class HorizJustification_e : uint32_t -{ +{ HORIZ_JUSTIFICATION_LEFT = 0x0, HORIZ_JUSTIFICATION_CENTER = 0x1, HORIZ_JUSTIFICATION_RIGHT = 0x2, @@ -277,7 +278,7 @@ enum class HorizJustification_e : uint32_t // Alignment: 4 // Size: 0x3 enum class BloomBlendMode_t : uint32_t -{ +{ BLOOM_BLEND_ADD = 0x0, BLOOM_BLEND_SCREEN = 0x1, BLOOM_BLEND_BLUR = 0x2, @@ -286,7 +287,7 @@ enum class BloomBlendMode_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ViewFadeMode_t : uint32_t -{ +{ VIEW_FADE_CONSTANT_COLOR = 0x0, VIEW_FADE_MODULATE = 0x1, VIEW_FADE_MOD2X = 0x2, @@ -295,7 +296,7 @@ enum class ViewFadeMode_t : uint32_t // Alignment: 4 // Size: 0x3 enum class LayoutPositionType_e : uint32_t -{ +{ LAYOUTPOSITIONTYPE_VIEWPORT_RELATIVE = 0x0, LAYOUTPOSITIONTYPE_FRACTIONAL = 0x1, LAYOUTPOSITIONTYPE_NONE = 0x2, @@ -304,7 +305,7 @@ enum class LayoutPositionType_e : uint32_t // Alignment: 4 // Size: 0x4 enum class VertJustification_e : uint32_t -{ +{ VERT_JUSTIFICATION_TOP = 0x0, VERT_JUSTIFICATION_CENTER = 0x1, VERT_JUSTIFICATION_BOTTOM = 0x2, @@ -314,7 +315,7 @@ enum class VertJustification_e : uint32_t // Alignment: 4 // Size: 0x2 enum class MoodType_t : uint32_t -{ +{ eMoodType_Head = 0x0, eMoodType_Body = 0x1, }; @@ -322,7 +323,7 @@ enum class MoodType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class JumpCorrectionMethod : uint32_t -{ +{ ScaleMotion = 0x0, AddCorrectionDelta = 0x1, }; @@ -330,7 +331,7 @@ enum class JumpCorrectionMethod : uint32_t // Alignment: 4 // Size: 0x2 enum class BinaryNodeChildOption : uint32_t -{ +{ Child1 = 0x0, Child2 = 0x1, }; @@ -338,7 +339,7 @@ enum class BinaryNodeChildOption : uint32_t // Alignment: 4 // Size: 0x5 enum class ModelConfigAttachmentType_t : uint32_t -{ +{ MODEL_CONFIG_ATTACHMENT_INVALID = 0xffffffffffffffff, MODEL_CONFIG_ATTACHMENT_BONE_OR_ATTACHMENT = 0x0, MODEL_CONFIG_ATTACHMENT_ROOT_RELATIVE = 0x1, @@ -349,7 +350,7 @@ enum class ModelConfigAttachmentType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class BoneMaskBlendSpace : uint32_t -{ +{ BlendSpace_Parent = 0x0, BlendSpace_Model = 0x1, BlendSpace_Model_RotationOnly = 0x2, @@ -359,7 +360,7 @@ enum class BoneMaskBlendSpace : uint32_t // Alignment: 4 // Size: 0x2 enum class SelectionSource_t : uint32_t -{ +{ SelectionSource_Bool = 0x0, SelectionSource_Enum = 0x1, }; @@ -367,7 +368,7 @@ enum class SelectionSource_t : uint32_t // Alignment: 4 // Size: 0x4 enum class IkTargetType : uint32_t -{ +{ IkTarget_Attachment = 0x0, IkTarget_Bone = 0x1, IkTarget_Parameter_ModelSpace = 0x2, @@ -377,7 +378,7 @@ enum class IkTargetType : uint32_t // Alignment: 4 // Size: 0xd enum class AnimVectorSource : uint32_t -{ +{ MoveDirection = 0x0, FacingDirection = 0x1, LookDirection = 0x2, @@ -396,7 +397,7 @@ enum class AnimVectorSource : uint32_t // Alignment: 4 // Size: 0x4 enum class ChoiceMethod : uint32_t -{ +{ WeightedRandom = 0x0, WeightedRandomNoRepeat = 0x1, Iterate = 0x2, @@ -406,7 +407,7 @@ enum class ChoiceMethod : uint32_t // Alignment: 4 // Size: 0x8 enum class FootFallTagFoot_t : uint32_t -{ +{ FOOT1 = 0x0, FOOT2 = 0x1, FOOT3 = 0x2, @@ -420,7 +421,7 @@ enum class FootFallTagFoot_t : uint32_t // Alignment: 4 // Size: 0x7 enum class AnimationSnapshotType_t : uint32_t -{ +{ ANIMATION_SNAPSHOT_SERVER_SIMULATION = 0x0, ANIMATION_SNAPSHOT_CLIENT_SIMULATION = 0x1, ANIMATION_SNAPSHOT_CLIENT_PREDICTION = 0x2, @@ -433,7 +434,7 @@ enum class AnimationSnapshotType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class AimMatrixBlendMode : uint32_t -{ +{ AimMatrixBlendMode_None = 0x0, AimMatrixBlendMode_Additive = 0x1, AimMatrixBlendMode_ModelSpaceAdditive = 0x2, @@ -443,7 +444,7 @@ enum class AimMatrixBlendMode : uint32_t // Alignment: 4 // Size: 0x3 enum class FacingMode : uint32_t -{ +{ FacingMode_Manual = 0x0, FacingMode_Path = 0x1, FacingMode_LookTarget = 0x2, @@ -452,7 +453,7 @@ enum class FacingMode : uint32_t // Alignment: 1 // Size: 0x3 enum class VelocityMetricMode : uint8_t -{ +{ DirectionOnly = 0x0, MagnitudeOnly = 0x1, DirectionAndMagnitude = 0x2, @@ -461,7 +462,7 @@ enum class VelocityMetricMode : uint8_t // Alignment: 4 // Size: 0x2 enum class VPhysXJoint_t__Flags_t : uint32_t -{ +{ JOINT_FLAGS_NONE = 0x0, JOINT_FLAGS_BODY1_FIXED = 0x1, }; @@ -469,7 +470,7 @@ enum class VPhysXJoint_t__Flags_t : uint32_t // Alignment: 4 // Size: 0x2 enum class AnimVRHandMotionRange_t : uint32_t -{ +{ MotionRange_WithController = 0x0, MotionRange_WithoutController = 0x1, }; @@ -477,7 +478,7 @@ enum class AnimVRHandMotionRange_t : uint32_t // Alignment: 4 // Size: 0x3 enum class SingleFrameSelection : uint32_t -{ +{ FirstFrame = 0x0, LastFrame = 0x1, SpecificFrame = 0x2, @@ -486,7 +487,7 @@ enum class SingleFrameSelection : uint32_t // Alignment: 4 // Size: 0x2 enum class EAnimValueSource : uint32_t -{ +{ Constant = 0x0, Parameter = 0x1, }; @@ -494,7 +495,7 @@ enum class EAnimValueSource : uint32_t // Alignment: 4 // Size: 0x3 enum class FieldNetworkOption : uint32_t -{ +{ Auto = 0x0, ForceEnable = 0x1, ForceDisable = 0x2, @@ -503,7 +504,7 @@ enum class FieldNetworkOption : uint32_t // Alignment: 4 // Size: 0x12 enum class ParticleAttachment_t : uint32_t -{ +{ PATTACH_INVALID = 0xffffffffffffffff, PATTACH_ABSORIGIN = 0x0, PATTACH_ABSORIGIN_FOLLOW = 0x1, @@ -527,7 +528,7 @@ enum class ParticleAttachment_t : uint32_t // Alignment: 4 // Size: 0x2 enum class SolveIKChainAnimNodeSettingSource : uint32_t -{ +{ SOLVEIKCHAINANIMNODESETTINGSOURCE_Default = 0x0, SOLVEIKCHAINANIMNODESETTINGSOURCE_Override = 0x1, }; @@ -535,7 +536,7 @@ enum class SolveIKChainAnimNodeSettingSource : uint32_t // Alignment: 4 // Size: 0x3 enum class SelectorTagBehavior_t : uint32_t -{ +{ SelectorTagBehavior_OnWhileCurrent = 0x0, SelectorTagBehavior_OffWhenFinished = 0x1, SelectorTagBehavior_OffBeforeFinished = 0x2, @@ -544,7 +545,7 @@ enum class SelectorTagBehavior_t : uint32_t // Alignment: 4 // Size: 0xd enum class AnimParamButton_t : uint32_t -{ +{ ANIMPARAM_BUTTON_NONE = 0x0, ANIMPARAM_BUTTON_DPAD_UP = 0x1, ANIMPARAM_BUTTON_DPAD_RIGHT = 0x2, @@ -563,7 +564,7 @@ enum class AnimParamButton_t : uint32_t // Alignment: 4 // Size: 0x4 enum class SeqPoseSetting_t : uint32_t -{ +{ SEQ_POSE_SETTING_CONSTANT = 0x0, SEQ_POSE_SETTING_ROTATION = 0x1, SEQ_POSE_SETTING_POSITION = 0x2, @@ -573,7 +574,7 @@ enum class SeqPoseSetting_t : uint32_t // Alignment: 2 // Size: 0x4 enum class AnimScriptType : uint16_t -{ +{ ANIMSCRIPT_TYPE_INVALID = 0xffffffffffffffff, ANIMSCRIPT_FUSE_GENERAL = 0x0, ANIMSCRIPT_FUSE_STATEMACHINE = 0x1, @@ -583,7 +584,7 @@ enum class AnimScriptType : uint16_t // Alignment: 4 // Size: 0x2 enum class IkEndEffectorType : uint32_t -{ +{ IkEndEffector_Attachment = 0x0, IkEndEffector_Bone = 0x1, }; @@ -591,7 +592,7 @@ enum class IkEndEffectorType : uint32_t // Alignment: 4 // Size: 0x2 enum class StanceOverrideMode : uint32_t -{ +{ Sequence = 0x0, Node = 0x1, }; @@ -599,7 +600,7 @@ enum class StanceOverrideMode : uint32_t // Alignment: 4 // Size: 0x3 enum class JiggleBoneSimSpace : uint32_t -{ +{ SimSpace_Local = 0x0, SimSpace_Model = 0x1, SimSpace_World = 0x2, @@ -608,7 +609,7 @@ enum class JiggleBoneSimSpace : uint32_t // Alignment: 4 // Size: 0x6 enum class AnimationProcessingType_t : uint32_t -{ +{ ANIMATION_PROCESSING_SERVER_SIMULATION = 0x0, ANIMATION_PROCESSING_CLIENT_SIMULATION = 0x1, ANIMATION_PROCESSING_CLIENT_PREDICTION = 0x2, @@ -620,7 +621,7 @@ enum class AnimationProcessingType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class DampingSpeedFunction : uint32_t -{ +{ NoDamping = 0x0, Constant = 0x1, Spring = 0x2, @@ -629,7 +630,7 @@ enum class DampingSpeedFunction : uint32_t // Alignment: 4 // Size: 0x3 enum class FootPinningTimingSource : uint32_t -{ +{ FootMotion = 0x0, Tag = 0x1, Parameter = 0x2, @@ -638,7 +639,7 @@ enum class FootPinningTimingSource : uint32_t // Alignment: 4 // Size: 0x2 enum class FootLockSubVisualization : uint32_t -{ +{ FOOTLOCKSUBVISUALIZATION_ReachabilityAnalysis = 0x0, FOOTLOCKSUBVISUALIZATION_IKSolve = 0x1, }; @@ -646,7 +647,7 @@ enum class FootLockSubVisualization : uint32_t // Alignment: 4 // Size: 0x3 enum class FootstepLandedFootSoundType_t : uint32_t -{ +{ FOOTSOUND_Left = 0x0, FOOTSOUND_Right = 0x1, FOOTSOUND_UseOverrideSound = 0x2, @@ -655,7 +656,7 @@ enum class FootstepLandedFootSoundType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class AnimVrFingerSplay_t : uint32_t -{ +{ AnimVrFingerSplay_Thumb_Index = 0x0, AnimVrFingerSplay_Index_Middle = 0x1, AnimVrFingerSplay_Middle_Ring = 0x2, @@ -665,7 +666,7 @@ enum class AnimVrFingerSplay_t : uint32_t // Alignment: 4 // Size: 0x2 enum class AnimVrBoneTransformSource_t : uint32_t -{ +{ AnimVrBoneTransformSource_LiveStream = 0x0, AnimVrBoneTransformSource_GripLimit = 0x1, }; @@ -673,7 +674,7 @@ enum class AnimVrBoneTransformSource_t : uint32_t // Alignment: 4 // Size: 0x5 enum class ResetCycleOption : uint32_t -{ +{ Beginning = 0x0, SameCycleAsSource = 0x1, InverseSourceCycle = 0x2, @@ -684,7 +685,7 @@ enum class ResetCycleOption : uint32_t // Alignment: 4 // Size: 0x4 enum class MorphBundleType_t : uint32_t -{ +{ MORPH_BUNDLE_TYPE_NONE = 0x0, MORPH_BUNDLE_TYPE_POSITION_SPEED = 0x1, MORPH_BUNDLE_TYPE_NORMAL_WRINKLE = 0x2, @@ -694,7 +695,7 @@ enum class MorphBundleType_t : uint32_t // Alignment: 4 // Size: 0x16 enum class ModelSkeletonData_t__BoneFlags_t : uint32_t -{ +{ FLAG_NO_BONE_FLAGS = 0x0, FLAG_BONEFLEXDRIVER = 0x4, FLAG_CLOTH = 0x8, @@ -722,7 +723,7 @@ enum class ModelSkeletonData_t__BoneFlags_t : uint32_t // Alignment: 4 // Size: 0x4 enum class StateActionBehavior : uint32_t -{ +{ STATETAGBEHAVIOR_ACTIVE_WHILE_CURRENT = 0x0, STATETAGBEHAVIOR_FIRE_ON_ENTER = 0x1, STATETAGBEHAVIOR_FIRE_ON_EXIT = 0x2, @@ -732,7 +733,7 @@ enum class StateActionBehavior : uint32_t // Alignment: 4 // Size: 0x4 enum class BlendKeyType : uint32_t -{ +{ BlendKey_UserValue = 0x0, BlendKey_Velocity = 0x1, BlendKey_Distance = 0x2, @@ -742,7 +743,7 @@ enum class BlendKeyType : uint32_t // Alignment: 4 // Size: 0x4 enum class VPhysXConstraintParams_t__EnumFlags0_t : uint32_t -{ +{ FLAG0_SHIFT_INTERPENETRATE = 0x0, FLAG0_SHIFT_CONSTRAIN = 0x1, FLAG0_SHIFT_BREAKABLE_FORCE = 0x2, @@ -752,7 +753,7 @@ enum class VPhysXConstraintParams_t__EnumFlags0_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ChoiceBlendMethod : uint32_t -{ +{ SingleBlendTime = 0x0, PerChoiceBlendTimes = 0x1, }; @@ -760,7 +761,7 @@ enum class ChoiceBlendMethod : uint32_t // Alignment: 4 // Size: 0x3 enum class ChoiceChangeMethod : uint32_t -{ +{ OnReset = 0x0, OnCycleEnd = 0x1, OnResetOrCycleEnd = 0x2, @@ -769,7 +770,7 @@ enum class ChoiceChangeMethod : uint32_t // Alignment: 4 // Size: 0x3 enum class StateComparisonValueType : uint32_t -{ +{ StateComparisonValue_FixedValue = 0x0, StateComparisonValue_StateValue = 0x1, StateComparisonValue_Parameter = 0x2, @@ -778,7 +779,7 @@ enum class StateComparisonValueType : uint32_t // Alignment: 4 // Size: 0x2 enum class Blend2DMode : uint32_t -{ +{ Blend2DMode_General = 0x0, Blend2DMode_Directional = 0x1, }; @@ -786,7 +787,7 @@ enum class Blend2DMode : uint32_t // Alignment: 4 // Size: 0x2 enum class AnimVRHand_t : uint32_t -{ +{ AnimVRHand_Left = 0x0, AnimVRHand_Right = 0x1, }; @@ -794,7 +795,7 @@ enum class AnimVRHand_t : uint32_t // Alignment: 4 // Size: 0x6 enum class IKSolverType : uint32_t -{ +{ IKSOLVER_Perlin = 0x0, IKSOLVER_TwoBone = 0x1, IKSOLVER_Fabrik = 0x2, @@ -806,7 +807,7 @@ enum class IKSolverType : uint32_t // Alignment: 4 // Size: 0x2 enum class RagdollPoseControl : uint32_t -{ +{ Absolute = 0x0, Relative = 0x1, }; @@ -814,7 +815,7 @@ enum class RagdollPoseControl : uint32_t // Alignment: 4 // Size: 0x24 enum class AnimValueSource : uint32_t -{ +{ MoveHeading = 0x0, MoveSpeed = 0x1, ForwardSpeed = 0x2, @@ -856,7 +857,7 @@ enum class AnimValueSource : uint32_t // Alignment: 4 // Size: 0x2 enum class FinishedConditionOption : uint32_t -{ +{ FinishedConditionOption_OnFinished = 0x0, FinishedConditionOption_OnAlmostFinished = 0x1, }; @@ -864,7 +865,7 @@ enum class FinishedConditionOption : uint32_t // Alignment: 1 // Size: 0x3 enum class PoseType_t : uint8_t -{ +{ POSETYPE_STATIC = 0x0, POSETYPE_DYNAMIC = 0x1, POSETYPE_INVALID = 0xff, @@ -873,7 +874,7 @@ enum class PoseType_t : uint8_t // Alignment: 4 // Size: 0x28 enum class ControlValue : uint32_t -{ +{ ControlValue_MoveHeading = 0x0, ControlValue_MoveSpeed = 0x1, ControlValue_FacingHeading = 0x2, @@ -919,7 +920,7 @@ enum class ControlValue : uint32_t // Alignment: 4 // Size: 0x4 enum class ModelBoneFlexComponent_t : uint32_t -{ +{ MODEL_BONE_FLEX_INVALID = 0xffffffffffffffff, MODEL_BONE_FLEX_TX = 0x0, MODEL_BONE_FLEX_TY = 0x1, @@ -929,7 +930,7 @@ enum class ModelBoneFlexComponent_t : uint32_t // Alignment: 4 // Size: 0x8 enum class MeshDrawPrimitiveFlags_t : uint32_t -{ +{ MESH_DRAW_FLAGS_NONE = 0x0, MESH_DRAW_FLAGS_USE_SHADOW_FAST_PATH = 0x1, MESH_DRAW_FLAGS_USE_COMPRESSED_NORMAL_TANGENT = 0x2, @@ -943,7 +944,7 @@ enum class MeshDrawPrimitiveFlags_t : uint32_t // Alignment: 4 // Size: 0x4 enum class MorphFlexControllerRemapType_t : uint32_t -{ +{ MORPH_FLEXCONTROLLER_REMAP_PASSTHRU = 0x0, MORPH_FLEXCONTROLLER_REMAP_2WAY = 0x1, MORPH_FLEXCONTROLLER_REMAP_NWAY = 0x2, @@ -953,7 +954,7 @@ enum class MorphFlexControllerRemapType_t : uint32_t // Alignment: 4 // Size: 0x5 enum class StateValue : uint32_t -{ +{ TotalTranslation_SourceState = 0x0, TotalTranslation_TargetState = 0x1, SourceStateBlendWeight = 0x2, @@ -964,7 +965,7 @@ enum class StateValue : uint32_t // Alignment: 4 // Size: 0x2 enum class DampedValueType : uint32_t -{ +{ FloatParameter = 0x0, VectorParameter = 0x1, }; @@ -972,7 +973,7 @@ enum class DampedValueType : uint32_t // Alignment: 4 // Size: 0x3 enum class AnimParamNetworkSetting : uint32_t -{ +{ Auto = 0x0, AlwaysNetwork = 0x1, NeverNetwork = 0x2, @@ -981,7 +982,7 @@ enum class AnimParamNetworkSetting : uint32_t // Alignment: 1 // Size: 0x2 enum class ComparisonValueType : uint8_t -{ +{ COMPARISONVALUETYPE_FIXEDVALUE = 0x0, COMPARISONVALUETYPE_PARAMETER = 0x1, }; @@ -989,7 +990,7 @@ enum class ComparisonValueType : uint8_t // Alignment: 4 // Size: 0xf enum class PermModelInfo_t__FlagEnum : uint32_t -{ +{ FLAG_TRANSLUCENT = 0x1, FLAG_TRANSLUCENT_TWO_PASS = 0x2, FLAG_MODEL_IS_RUNTIME_COMBINED = 0x4, @@ -1010,7 +1011,7 @@ enum class PermModelInfo_t__FlagEnum : uint32_t // Alignment: 4 // Size: 0x3 enum class IKTargetSource : uint32_t -{ +{ IKTARGETSOURCE_Bone = 0x0, IKTARGETSOURCE_AnimgraphParameter = 0x1, IKTARGETSOURCE_COUNT = 0x2, @@ -1019,7 +1020,7 @@ enum class IKTargetSource : uint32_t // Alignment: 1 // Size: 0x9 enum class AnimParamType_t : uint8_t -{ +{ ANIMPARAM_UNKNOWN = 0x0, ANIMPARAM_BOOL = 0x1, ANIMPARAM_ENUM = 0x2, @@ -1034,7 +1035,7 @@ enum class AnimParamType_t : uint8_t // Alignment: 4 // Size: 0x5 enum class VPhysXBodyPart_t__VPhysXFlagEnum_t : uint32_t -{ +{ FLAG_STATIC = 0x1, FLAG_KINEMATIC = 0x2, FLAG_JOINT = 0x4, @@ -1045,7 +1046,7 @@ enum class VPhysXBodyPart_t__VPhysXFlagEnum_t : uint32_t // Alignment: 4 // Size: 0x2 enum class AnimNodeNetworkMode : uint32_t -{ +{ ServerAuthoritative = 0x0, ClientSimulate = 0x1, }; @@ -1053,7 +1054,7 @@ enum class AnimNodeNetworkMode : uint32_t // Alignment: 4 // Size: 0x1a enum class FlexOpCode_t : uint32_t -{ +{ FLEX_OP_CONST = 0x1, FLEX_OP_FETCH1 = 0x2, FLEX_OP_FETCH2 = 0x3, @@ -1085,7 +1086,7 @@ enum class FlexOpCode_t : uint32_t // Alignment: 4 // Size: 0x2 enum class StepPhase : uint32_t -{ +{ StepPhase_OnGround = 0x0, StepPhase_InAir = 0x1, }; @@ -1093,7 +1094,7 @@ enum class StepPhase : uint32_t // Alignment: 4 // Size: 0x3 enum class AnimPoseControl : uint32_t -{ +{ NoPoseControl = 0x0, AbsolutePoseControl = 0x1, RelativePoseControl = 0x2, @@ -1102,7 +1103,7 @@ enum class AnimPoseControl : uint32_t // Alignment: 4 // Size: 0x2 enum class MatterialAttributeTagType_t : uint32_t -{ +{ MATERIAL_ATTRIBUTE_TAG_VALUE = 0x0, MATERIAL_ATTRIBUTE_TAG_COLOR = 0x1, }; @@ -1110,7 +1111,7 @@ enum class MatterialAttributeTagType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class VPhysXAggregateData_t__VPhysXFlagEnum_t : uint32_t -{ +{ FLAG_IS_POLYSOUP_GEOMETRY = 0x1, FLAG_LEVEL_COLLISION = 0x10, FLAG_IGNORE_SCALE_OBSOLETE_DO_NOT_USE = 0x20, @@ -1119,7 +1120,7 @@ enum class VPhysXAggregateData_t__VPhysXFlagEnum_t : uint32_t // Alignment: 4 // Size: 0x3 enum class IKTargetCoordinateSystem : uint32_t -{ +{ IKTARGETCOORDINATESYSTEM_WorldSpace = 0x0, IKTARGETCOORDINATESYSTEM_ModelSpace = 0x1, IKTARGETCOORDINATESYSTEM_COUNT = 0x2, @@ -1128,7 +1129,7 @@ enum class IKTargetCoordinateSystem : uint32_t // Alignment: 4 // Size: 0x7 enum class Comparison_t : uint32_t -{ +{ COMPARISON_EQUALS = 0x0, COMPARISON_NOT_EQUALS = 0x1, COMPARISON_GREATER = 0x2, @@ -1141,7 +1142,7 @@ enum class Comparison_t : uint32_t // Alignment: 4 // Size: 0x5 enum class AnimVRFinger_t : uint32_t -{ +{ AnimVrFinger_Thumb = 0x0, AnimVrFinger_Index = 0x1, AnimVrFinger_Middle = 0x2, @@ -1152,7 +1153,7 @@ enum class AnimVRFinger_t : uint32_t // Alignment: 4 // Size: 0x7 enum class SolveIKChainAnimNodeDebugSetting : uint32_t -{ +{ SOLVEIKCHAINANIMNODEDEBUGSETTING_None = 0x0, SOLVEIKCHAINANIMNODEDEBUGSETTING_X_Axis_Circle = 0x1, SOLVEIKCHAINANIMNODEDEBUGSETTING_Y_Axis_Circle = 0x2, @@ -1165,7 +1166,7 @@ enum class SolveIKChainAnimNodeDebugSetting : uint32_t // Alignment: 4 // Size: 0x3 enum class BinaryNodeTiming : uint32_t -{ +{ UseChild1 = 0x0, UseChild2 = 0x1, SyncChildren = 0x2, @@ -1174,7 +1175,7 @@ enum class BinaryNodeTiming : uint32_t // Alignment: 4 // Size: 0x5 enum class CAnimationGraphVisualizerPrimitiveType : uint32_t -{ +{ ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Text = 0x0, ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Sphere = 0x1, ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Line = 0x2, @@ -1185,7 +1186,7 @@ enum class CAnimationGraphVisualizerPrimitiveType : uint32_t // Alignment: 4 // Size: 0x4 enum class BoneTransformSpace_t : uint32_t -{ +{ BoneTransformSpace_Invalid = 0xffffffffffffffff, BoneTransformSpace_Parent = 0x0, BoneTransformSpace_Model = 0x1, @@ -1195,7 +1196,7 @@ enum class BoneTransformSpace_t : uint32_t // Alignment: 4 // Size: 0x11 enum class SeqCmd_t : uint32_t -{ +{ SeqCmd_Nop = 0x0, SeqCmd_LinearDelta = 0x1, SeqCmd_FetchFrameRange = 0x2, @@ -1218,7 +1219,7 @@ enum class SeqCmd_t : uint32_t // Alignment: 4 // Size: 0x4 enum class JointAxis_t : uint32_t -{ +{ JOINT_AXIS_X = 0x0, JOINT_AXIS_Y = 0x1, JOINT_AXIS_Z = 0x2, @@ -1228,7 +1229,7 @@ enum class JointAxis_t : uint32_t // Alignment: 4 // Size: 0x3 enum class JointMotion_t : uint32_t -{ +{ JOINT_MOTION_FREE = 0x0, JOINT_MOTION_LOCKED = 0x1, JOINT_MOTION_COUNT = 0x2, @@ -1237,7 +1238,7 @@ enum class JointMotion_t : uint32_t // Alignment: 4 // Size: 0x2 enum class SosGroupType_t : uint32_t -{ +{ SOS_GROUPTYPE_DYNAMIC = 0x0, SOS_GROUPTYPE_STATIC = 0x1, }; @@ -1245,7 +1246,7 @@ enum class SosGroupType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class VMixSubgraphSwitchInterpolationType_t : uint32_t -{ +{ SUBGRAPH_INTERPOLATION_TEMPORAL_CROSSFADE = 0x0, SUBGRAPH_INTERPOLATION_TEMPORAL_FADE_OUT = 0x1, SUBGRAPH_INTERPOLATION_KEEP_LAST_SUBGRAPH_RUNNING = 0x2, @@ -1254,7 +1255,7 @@ enum class VMixSubgraphSwitchInterpolationType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ActionType_t : uint32_t -{ +{ SOS_ACTION_NONE = 0x0, SOS_ACTION_LIMITER = 0x1, SOS_ACTION_TIME_LIMIT = 0x2, @@ -1263,7 +1264,7 @@ enum class ActionType_t : uint32_t // Alignment: 1 // Size: 0x9 enum class VMixFilterSlope_t : uint8_t -{ +{ FILTER_SLOPE_1POLE_6dB = 0x0, FILTER_SLOPE_1POLE_12dB = 0x1, FILTER_SLOPE_1POLE_18dB = 0x2, @@ -1278,7 +1279,7 @@ enum class VMixFilterSlope_t : uint8_t // Alignment: 4 // Size: 0x6 enum class VMixChannelOperation_t : uint32_t -{ +{ VMIX_CHAN_STEREO = 0x0, VMIX_CHAN_LEFT = 0x1, VMIX_CHAN_RIGHT = 0x2, @@ -1290,7 +1291,7 @@ enum class VMixChannelOperation_t : uint32_t // Alignment: 4 // Size: 0x2 enum class VMixPannerType_t : uint32_t -{ +{ PANNER_TYPE_LINEAR = 0x0, PANNER_TYPE_EQUAL_POWER = 0x1, }; @@ -1298,7 +1299,7 @@ enum class VMixPannerType_t : uint32_t // Alignment: 4 // Size: 0x1e enum class soundlevel_t : uint32_t -{ +{ SNDLVL_NONE = 0x0, SNDLVL_20dB = 0x14, SNDLVL_25dB = 0x19, @@ -1334,7 +1335,7 @@ enum class soundlevel_t : uint32_t // Alignment: 2 // Size: 0x1e enum class VMixProcessorType_t : uint16_t -{ +{ VPROCESSOR_UNKNOWN = 0x0, VPROCESSOR_STEAMAUDIO_REVERB = 0x1, VPROCESSOR_RT_PITCH = 0x2, @@ -1370,7 +1371,7 @@ enum class VMixProcessorType_t : uint16_t // Alignment: 4 // Size: 0x2 enum class SosActionSortType_t : uint32_t -{ +{ SOS_SORTTYPE_HIGHEST = 0x0, SOS_SORTTYPE_LOWEST = 0x1, }; @@ -1378,7 +1379,7 @@ enum class SosActionSortType_t : uint32_t // Alignment: 4 // Size: 0x6 enum class SosEditItemType_t : uint32_t -{ +{ SOS_EDIT_ITEM_TYPE_SOUNDEVENTS = 0x0, SOS_EDIT_ITEM_TYPE_SOUNDEVENT = 0x1, SOS_EDIT_ITEM_TYPE_LIBRARYSTACKS = 0x2, @@ -1390,7 +1391,7 @@ enum class SosEditItemType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class SosActionStopType_t : uint32_t -{ +{ SOS_STOPTYPE_NONE = 0x0, SOS_STOPTYPE_TIME = 0x1, SOS_STOPTYPE_OPVAR = 0x2, @@ -1399,7 +1400,7 @@ enum class SosActionStopType_t : uint32_t // Alignment: 2 // Size: 0xa enum class VMixFilterType_t : uint16_t -{ +{ FILTER_UNKNOWN = 0xffffffffffffffff, FILTER_LOWPASS = 0x0, FILTER_HIGHPASS = 0x1, @@ -1415,7 +1416,7 @@ enum class VMixFilterType_t : uint16_t // Alignment: 4 // Size: 0x5 enum class VMixLFOShape_t : uint32_t -{ +{ LFO_SHAPE_SINE = 0x0, LFO_SHAPE_SQUARE = 0x1, LFO_SHAPE_TRI = 0x2, @@ -1426,7 +1427,7 @@ enum class VMixLFOShape_t : uint32_t // Alignment: 1 // Size: 0x4 enum class DisableShadows_t : uint8_t -{ +{ kDisableShadows_None = 0x0, kDisableShadows_All = 0x1, kDisableShadows_Baked = 0x2, @@ -1436,7 +1437,7 @@ enum class DisableShadows_t : uint8_t // Alignment: 4 // Size: 0xf enum class ObjectTypeFlags_t : uint32_t -{ +{ OBJECT_TYPE_NONE = 0x0, OBJECT_TYPE_IMAGE_LOD = 0x1, OBJECT_TYPE_GEOMETRY_LOD = 0x2, @@ -1457,7 +1458,7 @@ enum class ObjectTypeFlags_t : uint32_t // Alignment: 4 // Size: 0x2 enum class TextureRepetitionMode_t : uint32_t -{ +{ TEXTURE_REPETITION_PARTICLE = 0x0, TEXTURE_REPETITION_PATH = 0x1, }; @@ -1465,7 +1466,7 @@ enum class TextureRepetitionMode_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ParticleOrientationSetMode_t : uint32_t -{ +{ PARTICLE_ORIENTATION_SET_FROM_VELOCITY = 0x0, PARTICLE_ORIENTATION_SET_FROM_ROTATIONS = 0x1, }; @@ -1473,7 +1474,7 @@ enum class ParticleOrientationSetMode_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ParticleLightTypeChoiceList_t : uint32_t -{ +{ PARTICLE_LIGHT_TYPE_POINT = 0x0, PARTICLE_LIGHT_TYPE_SPOT = 0x1, PARTICLE_LIGHT_TYPE_FX = 0x2, @@ -1483,7 +1484,7 @@ enum class ParticleLightTypeChoiceList_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleLightFogLightingMode_t : uint32_t -{ +{ PARTICLE_LIGHT_FOG_LIGHTING_MODE_NONE = 0x0, PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC = 0x2, PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC_NOSHADOWS = 0x4, @@ -1492,7 +1493,7 @@ enum class ParticleLightFogLightingMode_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ParticleOmni2LightTypeChoiceList_t : uint32_t -{ +{ PARTICLE_OMNI2_LIGHT_TYPE_POINT = 0x0, PARTICLE_OMNI2_LIGHT_TYPE_SPHERE = 0x1, }; @@ -1500,7 +1501,7 @@ enum class ParticleOmni2LightTypeChoiceList_t : uint32_t // Alignment: 4 // Size: 0x2 enum class SpriteCardShaderType_t : uint32_t -{ +{ SPRITECARD_SHADER_BASE = 0x0, SPRITECARD_SHADER_CUSTOM = 0x1, }; @@ -1508,7 +1509,7 @@ enum class SpriteCardShaderType_t : uint32_t // Alignment: 4 // Size: 0x6 enum class ParticleImpulseType_t : uint32_t -{ +{ IMPULSE_TYPE_NONE = 0x0, IMPULSE_TYPE_GENERIC = 0x1, IMPULSE_TYPE_ROPE = 0x2, @@ -1520,7 +1521,7 @@ enum class ParticleImpulseType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ClosestPointTestType_t : uint32_t -{ +{ PARTICLE_CLOSEST_TYPE_BOX = 0x0, PARTICLE_CLOSEST_TYPE_CAPSULE = 0x1, PARTICLE_CLOSEST_TYPE_HYBRID = 0x2, @@ -1529,7 +1530,7 @@ enum class ClosestPointTestType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleEndcapMode_t : uint32_t -{ +{ PARTICLE_ENDCAP_ALWAYS_ON = 0xffffffffffffffff, PARTICLE_ENDCAP_ENDCAP_OFF = 0x0, PARTICLE_ENDCAP_ENDCAP_ON = 0x1, @@ -1538,7 +1539,7 @@ enum class ParticleEndcapMode_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ParticleSortingChoiceList_t : uint32_t -{ +{ PARTICLE_SORTING_NEAREST = 0x0, PARTICLE_SORTING_CREATION_TIME = 0x1, }; @@ -1546,7 +1547,7 @@ enum class ParticleSortingChoiceList_t : uint32_t // Alignment: 4 // Size: 0x5 enum class ParticleCollisionMode_t : uint32_t -{ +{ COLLISION_MODE_PER_PARTICLE_TRACE = 0x3, COLLISION_MODE_USE_NEAREST_TRACE = 0x2, COLLISION_MODE_PER_FRAME_PLANESET = 0x1, @@ -1557,7 +1558,7 @@ enum class ParticleCollisionMode_t : uint32_t // Alignment: 4 // Size: 0x6 enum class ParticleOrientationChoiceList_t : uint32_t -{ +{ PARTICLE_ORIENTATION_SCREEN_ALIGNED = 0x0, PARTICLE_ORIENTATION_SCREEN_Z_ALIGNED = 0x1, PARTICLE_ORIENTATION_WORLD_Z_ALIGNED = 0x2, @@ -1569,7 +1570,7 @@ enum class ParticleOrientationChoiceList_t : uint32_t // Alignment: 4 // Size: 0x5 enum class ParticleTransformType_t : uint32_t -{ +{ PT_TYPE_INVALID = 0x0, PT_TYPE_NAMED_VALUE = 0x1, PT_TYPE_CONTROL_POINT = 0x2, @@ -1580,7 +1581,7 @@ enum class ParticleTransformType_t : uint32_t // Alignment: 4 // Size: 0xf enum class SpriteCardTextureChannel_t : uint32_t -{ +{ SPRITECARD_TEXTURE_CHANNEL_MIX_RGB = 0x0, SPRITECARD_TEXTURE_CHANNEL_MIX_RGBA = 0x1, SPRITECARD_TEXTURE_CHANNEL_MIX_A = 0x2, @@ -1601,7 +1602,7 @@ enum class SpriteCardTextureChannel_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ParticleAlphaReferenceType_t : uint32_t -{ +{ PARTICLE_ALPHA_REFERENCE_ALPHA_ALPHA = 0x0, PARTICLE_ALPHA_REFERENCE_OPAQUE_ALPHA = 0x1, PARTICLE_ALPHA_REFERENCE_ALPHA_OPAQUE = 0x2, @@ -1611,7 +1612,7 @@ enum class ParticleAlphaReferenceType_t : uint32_t // Alignment: 4 // Size: 0xa enum class SpriteCardTextureType_t : uint32_t -{ +{ SPRITECARD_TEXTURE_DIFFUSE = 0x0, SPRITECARD_TEXTURE_ZOOM = 0x1, SPRITECARD_TEXTURE_1D_COLOR_LOOKUP = 0x2, @@ -1627,7 +1628,7 @@ enum class SpriteCardTextureType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ParticleDetailLevel_t : uint32_t -{ +{ PARTICLEDETAIL_LOW = 0x0, PARTICLEDETAIL_MEDIUM = 0x1, PARTICLEDETAIL_HIGH = 0x2, @@ -1637,7 +1638,7 @@ enum class ParticleDetailLevel_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleSequenceCropOverride_t : uint32_t -{ +{ PARTICLE_SEQUENCE_CROP_OVERRIDE_DEFAULT = 0xffffffffffffffff, PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_OFF = 0x0, PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_ON = 0x1, @@ -1646,7 +1647,7 @@ enum class ParticleSequenceCropOverride_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleFalloffFunction_t : uint32_t -{ +{ PARTICLE_FALLOFF_CONSTANT = 0x0, PARTICLE_FALLOFF_LINEAR = 0x1, PARTICLE_FALLOFF_EXPONENTIAL = 0x2, @@ -1655,7 +1656,7 @@ enum class ParticleFalloffFunction_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ParticleLightUnitChoiceList_t : uint32_t -{ +{ PARTICLE_LIGHT_UNIT_CANDELAS = 0x0, PARTICLE_LIGHT_UNIT_LUMENS = 0x1, }; @@ -1663,7 +1664,7 @@ enum class ParticleLightUnitChoiceList_t : uint32_t // Alignment: 4 // Size: 0x11 enum class ParticleVecType_t : uint32_t -{ +{ PVEC_TYPE_INVALID = 0xffffffffffffffff, PVEC_TYPE_LITERAL = 0x0, PVEC_TYPE_LITERAL_COLOR = 0x1, @@ -1686,7 +1687,7 @@ enum class ParticleVecType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class PFNoiseModifier_t : uint32_t -{ +{ PF_NOISE_MODIFIER_NONE = 0x0, PF_NOISE_MODIFIER_LINES = 0x1, PF_NOISE_MODIFIER_CLUMPS = 0x2, @@ -1696,7 +1697,7 @@ enum class PFNoiseModifier_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ParticleFloatRandomMode_t : uint32_t -{ +{ PF_RANDOM_MODE_INVALID = 0xffffffffffffffff, PF_RANDOM_MODE_CONSTANT = 0x0, PF_RANDOM_MODE_VARYING = 0x1, @@ -1706,7 +1707,7 @@ enum class ParticleFloatRandomMode_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleDepthFeatheringMode_t : uint32_t -{ +{ PARTICLE_DEPTH_FEATHERING_OFF = 0x0, PARTICLE_DEPTH_FEATHERING_ON_OPTIONAL = 0x1, PARTICLE_DEPTH_FEATHERING_ON_REQUIRED = 0x2, @@ -1715,7 +1716,7 @@ enum class ParticleDepthFeatheringMode_t : uint32_t // Alignment: 4 // Size: 0x2 enum class MaterialProxyType_t : uint32_t -{ +{ MATERIAL_PROXY_STATUS_EFFECT = 0x0, MATERIAL_PROXY_TINT = 0x1, }; @@ -1723,7 +1724,7 @@ enum class MaterialProxyType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ParticleLightnintBranchBehavior_t : uint32_t -{ +{ PARTICLE_LIGHTNING_BRANCH_CURRENT_DIR = 0x0, PARTICLE_LIGHTNING_BRANCH_ENDPOINT_DIR = 0x1, }; @@ -1731,7 +1732,7 @@ enum class ParticleLightnintBranchBehavior_t : uint32_t // Alignment: 4 // Size: 0x7 enum class ParticleOutputBlendMode_t : uint32_t -{ +{ PARTICLE_OUTPUT_BLEND_MODE_ALPHA = 0x0, PARTICLE_OUTPUT_BLEND_MODE_ADD = 0x1, PARTICLE_OUTPUT_BLEND_MODE_BLEND_ADD = 0x2, @@ -1744,7 +1745,7 @@ enum class ParticleOutputBlendMode_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ParticleFloatInputMode_t : uint32_t -{ +{ PF_INPUT_MODE_INVALID = 0xffffffffffffffff, PF_INPUT_MODE_CLAMPED = 0x0, PF_INPUT_MODE_LOOPED = 0x1, @@ -1754,7 +1755,7 @@ enum class ParticleFloatInputMode_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleSelection_t : uint32_t -{ +{ PARTICLE_SELECTION_FIRST = 0x0, PARTICLE_SELECTION_LAST = 0x1, PARTICLE_SELECTION_NUMBER = 0x2, @@ -1763,7 +1764,7 @@ enum class ParticleSelection_t : uint32_t // Alignment: 4 // Size: 0x7 enum class ParticleTextureLayerBlendType_t : uint32_t -{ +{ SPRITECARD_TEXTURE_BLEND_MULTIPLY = 0x0, SPRITECARD_TEXTURE_BLEND_MOD2X = 0x1, SPRITECARD_TEXTURE_BLEND_REPLACE = 0x2, @@ -1776,7 +1777,7 @@ enum class ParticleTextureLayerBlendType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleTraceSet_t : uint32_t -{ +{ PARTICLE_TRACE_SET_ALL = 0x0, PARTICLE_TRACE_SET_STATIC = 0x1, PARTICLE_TRACE_SET_DYNAMIC = 0x2, @@ -1785,7 +1786,7 @@ enum class ParticleTraceSet_t : uint32_t // Alignment: 4 // Size: 0x8 enum class ParticleFloatMapType_t : uint32_t -{ +{ PF_MAP_TYPE_INVALID = 0xffffffffffffffff, PF_MAP_TYPE_DIRECT = 0x0, PF_MAP_TYPE_MULT = 0x1, @@ -1799,7 +1800,7 @@ enum class ParticleFloatMapType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleLightBehaviorChoiceList_t : uint32_t -{ +{ PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION = 0x0, PARTICLE_LIGHT_BEHAVIOR_ROPE = 0x1, PARTICLE_LIGHT_BEHAVIOR_TRAILS = 0x2, @@ -1808,7 +1809,7 @@ enum class ParticleLightBehaviorChoiceList_t : uint32_t // Alignment: 4 // Size: 0x5 enum class ParticleTopology_t : uint32_t -{ +{ PARTICLE_TOPOLOGY_POINTS = 0x0, PARTICLE_TOPOLOGY_LINES = 0x1, PARTICLE_TOPOLOGY_TRIS = 0x2, @@ -1819,7 +1820,7 @@ enum class ParticleTopology_t : uint32_t // Alignment: 4 // Size: 0x3 enum class AnimationType_t : uint32_t -{ +{ ANIMATION_TYPE_FIXED_RATE = 0x0, ANIMATION_TYPE_FIT_LIFETIME = 0x1, ANIMATION_TYPE_MANUAL_FRAMES = 0x2, @@ -1828,7 +1829,7 @@ enum class AnimationType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class HitboxLerpType_t : uint32_t -{ +{ HITBOX_LERP_LIFETIME = 0x0, HITBOX_LERP_CONSTANT = 0x1, }; @@ -1836,7 +1837,7 @@ enum class HitboxLerpType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleRotationLockType_t : uint32_t -{ +{ PARTICLE_ROTATION_LOCK_NONE = 0x0, PARTICLE_ROTATION_LOCK_ROTATIONS = 0x1, PARTICLE_ROTATION_LOCK_NORMAL = 0x2, @@ -1845,7 +1846,7 @@ enum class ParticleRotationLockType_t : uint32_t // Alignment: 4 // Size: 0x9 enum class VectorExpressionType_t : uint32_t -{ +{ VECTOR_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff, VECTOR_EXPRESSION_ADD = 0x0, VECTOR_EXPRESSION_SUBTRACT = 0x1, @@ -1860,7 +1861,7 @@ enum class VectorExpressionType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleFogType_t : uint32_t -{ +{ PARTICLE_FOG_GAME_DEFAULT = 0x0, PARTICLE_FOG_ENABLED = 0x1, PARTICLE_FOG_DISABLED = 0x2, @@ -1869,7 +1870,7 @@ enum class ParticleFogType_t : uint32_t // Alignment: 4 // Size: 0x7 enum class VectorFloatExpressionType_t : uint32_t -{ +{ VECTOR_FLOAT_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff, VECTOR_FLOAT_EXPRESSION_DOTPRODUCT = 0x0, VECTOR_FLOAT_EXPRESSION_DISTANCE = 0x1, @@ -1882,7 +1883,7 @@ enum class VectorFloatExpressionType_t : uint32_t // Alignment: 4 // Size: 0xb enum class ParticlePinDistance_t : uint32_t -{ +{ PARTICLE_PIN_DISTANCE_NONE = 0xffffffffffffffff, PARTICLE_PIN_DISTANCE_NEIGHBOR = 0x0, PARTICLE_PIN_DISTANCE_FARTHEST = 0x1, @@ -1899,7 +1900,7 @@ enum class ParticlePinDistance_t : uint32_t // Alignment: 4 // Size: 0x6 enum class ParticleControlPointAxis_t : uint32_t -{ +{ PARTICLE_CP_AXIS_X = 0x0, PARTICLE_CP_AXIS_Y = 0x1, PARTICLE_CP_AXIS_Z = 0x2, @@ -1911,7 +1912,7 @@ enum class ParticleControlPointAxis_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ParticleHitboxBiasType_t : uint32_t -{ +{ PARTICLE_HITBOX_BIAS_ENTITY = 0x0, PARTICLE_HITBOX_BIAS_HITBOX = 0x1, }; @@ -1919,7 +1920,7 @@ enum class ParticleHitboxBiasType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleDirectionNoiseType_t : uint32_t -{ +{ PARTICLE_DIR_NOISE_PERLIN = 0x0, PARTICLE_DIR_NOISE_CURL = 0x1, PARTICLE_DIR_NOISE_WORLEY_BASIC = 0x2, @@ -1928,7 +1929,7 @@ enum class ParticleDirectionNoiseType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class PFNoiseType_t : uint32_t -{ +{ PF_NOISE_TYPE_PERLIN = 0x0, PF_NOISE_TYPE_SIMPLEX = 0x1, PF_NOISE_TYPE_WORLEY = 0x2, @@ -1938,7 +1939,7 @@ enum class PFNoiseType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleLightingQuality_t : uint32_t -{ +{ PARTICLE_LIGHTING_PER_PARTICLE = 0x0, PARTICLE_LIGHTING_PER_VERTEX = 0x1, PARTICLE_LIGHTING_PER_PIXEL = 0xffffffffffffffff, @@ -1947,7 +1948,7 @@ enum class ParticleLightingQuality_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleParentSetMode_t : uint32_t -{ +{ PARTICLE_SET_PARENT_NO = 0x0, PARTICLE_SET_PARENT_IMMEDIATE = 0x1, PARTICLE_SET_PARENT_ROOT = 0x1, @@ -1956,7 +1957,7 @@ enum class ParticleParentSetMode_t : uint32_t // Alignment: 4 // Size: 0x2 enum class StandardLightingAttenuationStyle_t : uint32_t -{ +{ LIGHT_STYLE_OLD = 0x0, LIGHT_STYLE_NEW = 0x1, }; @@ -1964,7 +1965,7 @@ enum class StandardLightingAttenuationStyle_t : uint32_t // Alignment: 4 // Size: 0x2 enum class BlurFilterType_t : uint32_t -{ +{ BLURFILTER_GAUSSIAN = 0x0, BLURFILTER_BOX = 0x1, }; @@ -1972,7 +1973,7 @@ enum class BlurFilterType_t : uint32_t // Alignment: 4 // Size: 0xe enum class SpriteCardPerParticleScale_t : uint32_t -{ +{ SPRITECARD_TEXTURE_PP_SCALE_NONE = 0x0, SPRITECARD_TEXTURE_PP_SCALE_PARTICLE_AGE = 0x1, SPRITECARD_TEXTURE_PP_SCALE_ANIMATION_FRAME = 0x2, @@ -1992,7 +1993,7 @@ enum class SpriteCardPerParticleScale_t : uint32_t // Alignment: 4 // Size: 0x9 enum class ScalarExpressionType_t : uint32_t -{ +{ SCALAR_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff, SCALAR_EXPRESSION_ADD = 0x0, SCALAR_EXPRESSION_SUBTRACT = 0x1, @@ -2007,7 +2008,7 @@ enum class ScalarExpressionType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class DetailCombo_t : uint32_t -{ +{ DETAIL_COMBO_OFF = 0x0, DETAIL_COMBO_ADD = 0x1, DETAIL_COMBO_ADD_SELF_ILLUM = 0x2, @@ -2017,7 +2018,7 @@ enum class DetailCombo_t : uint32_t // Alignment: 4 // Size: 0xd enum class ParticleColorBlendType_t : uint32_t -{ +{ PARTICLE_COLOR_BLEND_MULTIPLY = 0x0, PARTICLE_COLOR_BLEND_MULTIPLY2X = 0x1, PARTICLE_COLOR_BLEND_DIVIDE = 0x2, @@ -2036,7 +2037,7 @@ enum class ParticleColorBlendType_t : uint32_t // Alignment: 4 // Size: 0x5 enum class ParticleColorBlendMode_t : uint32_t -{ +{ PARTICLEBLEND_DEFAULT = 0x0, PARTICLEBLEND_OVERLAY = 0x1, PARTICLEBLEND_DARKEN = 0x2, @@ -2047,7 +2048,7 @@ enum class ParticleColorBlendMode_t : uint32_t // Alignment: 4 // Size: 0x6 enum class PFNoiseTurbulence_t : uint32_t -{ +{ PF_NOISE_TURB_NONE = 0x0, PF_NOISE_TURB_HIGHLIGHT = 0x1, PF_NOISE_TURB_FEEDBACK = 0x2, @@ -2059,7 +2060,7 @@ enum class PFNoiseTurbulence_t : uint32_t // Alignment: 4 // Size: 0x6 enum class ParticlePostProcessPriorityGroup_t : uint32_t -{ +{ PARTICLE_POST_PROCESS_PRIORITY_LEVEL_VOLUME = 0x0, PARTICLE_POST_PROCESS_PRIORITY_LEVEL_OVERRIDE = 0x1, PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_EFFECT = 0x2, @@ -2071,7 +2072,7 @@ enum class ParticlePostProcessPriorityGroup_t : uint32_t // Alignment: 4 // Size: 0x14 enum class ParticleFloatType_t : uint32_t -{ +{ PF_TYPE_INVALID = 0xffffffffffffffff, PF_TYPE_LITERAL = 0x0, PF_TYPE_NAMED_VALUE = 0x1, @@ -2097,7 +2098,7 @@ enum class ParticleFloatType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class InheritableBoolType_t : uint32_t -{ +{ INHERITABLE_BOOL_INHERIT = 0x0, INHERITABLE_BOOL_FALSE = 0x1, INHERITABLE_BOOL_TRUE = 0x2, @@ -2106,7 +2107,7 @@ enum class InheritableBoolType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class PetGroundType_t : uint32_t -{ +{ PET_GROUND_NONE = 0x0, PET_GROUND_GRID = 0x1, PET_GROUND_PLANE = 0x2, @@ -2115,7 +2116,7 @@ enum class PetGroundType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ParticleVRHandChoiceList_t : uint32_t -{ +{ PARTICLE_VRHAND_LEFT = 0x0, PARTICLE_VRHAND_RIGHT = 0x1, PARTICLE_VRHAND_CP = 0x2, @@ -2125,7 +2126,7 @@ enum class ParticleVRHandChoiceList_t : uint32_t // Alignment: 4 // Size: 0x7 enum class PFuncVisualizationType_t : uint32_t -{ +{ PFUNC_VISUALIZATION_SPHERE_WIREFRAME = 0x0, PFUNC_VISUALIZATION_SPHERE_SOLID = 0x1, PFUNC_VISUALIZATION_BOX = 0x2, @@ -2138,7 +2139,7 @@ enum class PFuncVisualizationType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleTraceMissBehavior_t : uint32_t -{ +{ PARTICLE_TRACE_MISS_BEHAVIOR_NONE = 0x0, PARTICLE_TRACE_MISS_BEHAVIOR_KILL = 0x1, PARTICLE_TRACE_MISS_BEHAVIOR_TRACE_END = 0x2, @@ -2147,7 +2148,7 @@ enum class ParticleTraceMissBehavior_t : uint32_t // Alignment: 4 // Size: 0x5 enum class ParticleFloatBiasType_t : uint32_t -{ +{ PF_BIAS_TYPE_INVALID = 0xffffffffffffffff, PF_BIAS_TYPE_STANDARD = 0x0, PF_BIAS_TYPE_GAIN = 0x1, @@ -2158,7 +2159,7 @@ enum class ParticleFloatBiasType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class MissingParentInheritBehavior_t : uint32_t -{ +{ MISSING_PARENT_DO_NOTHING = 0xffffffffffffffff, MISSING_PARENT_KILL = 0x0, MISSING_PARENT_FIND_NEW = 0x1, @@ -2168,7 +2169,7 @@ enum class MissingParentInheritBehavior_t : uint32_t // Alignment: 4 // Size: 0x7 enum class Detail2Combo_t : uint32_t -{ +{ DETAIL_2_COMBO_UNINITIALIZED = 0xffffffffffffffff, DETAIL_2_COMBO_OFF = 0x0, DETAIL_2_COMBO_ADD = 0x1, @@ -2181,7 +2182,7 @@ enum class Detail2Combo_t : uint32_t // Alignment: 4 // Size: 0x6 enum class ParticleSetMethod_t : uint32_t -{ +{ PARTICLE_SET_REPLACE_VALUE = 0x0, PARTICLE_SET_SCALE_INITIAL_VALUE = 0x1, PARTICLE_SET_ADD_TO_INITIAL_VALUE = 0x2, @@ -2193,7 +2194,7 @@ enum class ParticleSetMethod_t : uint32_t // Alignment: 4 // Size: 0xf enum class EStyleNodeType : uint32_t -{ +{ ROOT = 0x0, EXPRESSION = 0x1, PROPERTY = 0x2, @@ -2214,7 +2215,7 @@ enum class EStyleNodeType : uint32_t // Alignment: 4 // Size: 0xd enum class ELayoutNodeType : uint32_t -{ +{ ROOT = 0x0, STYLES = 0x1, SCRIPT_BODY = 0x2, @@ -2233,7 +2234,7 @@ enum class ELayoutNodeType : uint32_t // Alignment: 1 // Size: 0xe enum class MoveType_t : uint8_t -{ +{ MOVETYPE_NONE = 0x0, MOVETYPE_OBSOLETE = 0x1, MOVETYPE_WALK = 0x2, @@ -2253,7 +2254,7 @@ enum class MoveType_t : uint8_t // Alignment: 4 // Size: 0x3 enum class EOverrideBlockLOS_t : uint32_t -{ +{ BLOCK_LOS_DEFAULT = 0x0, BLOCK_LOS_FORCE_FALSE = 0x1, BLOCK_LOS_FORCE_TRUE = 0x2, @@ -2262,7 +2263,7 @@ enum class EOverrideBlockLOS_t : uint32_t // Alignment: 4 // Size: 0x2 enum class FuncDoorSpawnPos_t : uint32_t -{ +{ FUNC_DOOR_SPAWN_CLOSED = 0x0, FUNC_DOOR_SPAWN_OPEN = 0x1, }; @@ -2270,7 +2271,7 @@ enum class FuncDoorSpawnPos_t : uint32_t // Alignment: 4 // Size: 0x7 enum class ObserverMode_t : uint32_t -{ +{ OBS_MODE_NONE = 0x0, OBS_MODE_FIXED = 0x1, OBS_MODE_IN_EYE = 0x2, @@ -2283,7 +2284,7 @@ enum class ObserverMode_t : uint32_t // Alignment: 4 // Size: 0x5 enum class MedalRank_t : uint32_t -{ +{ MEDAL_RANK_NONE = 0x0, MEDAL_RANK_BRONZE = 0x1, MEDAL_RANK_SILVER = 0x2, @@ -2294,7 +2295,7 @@ enum class MedalRank_t : uint32_t // Alignment: 4 // Size: 0x3 enum class CanPlaySequence_t : uint32_t -{ +{ CANNOT_PLAY = 0x0, CAN_PLAY_NOW = 0x1, CAN_PLAY_ENQUEUED = 0x2, @@ -2303,7 +2304,7 @@ enum class CanPlaySequence_t : uint32_t // Alignment: 4 // Size: 0xa enum class Disposition_t : uint32_t -{ +{ D_ER = 0x0, D_HT = 0x1, D_FR = 0x2, @@ -2319,7 +2320,7 @@ enum class Disposition_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ValueRemapperHapticsType_t : uint32_t -{ +{ HaticsType_Default = 0x0, HaticsType_None = 0x1, }; @@ -2327,7 +2328,7 @@ enum class ValueRemapperHapticsType_t : uint32_t // Alignment: 4 // Size: 0xe enum class TakeDamageFlags_t : uint32_t -{ +{ DFLAG_NONE = 0x0, DFLAG_SUPPRESS_HEALTH_CHANGES = 0x1, DFLAG_SUPPRESS_PHYSICS_FORCE = 0x2, @@ -2347,7 +2348,7 @@ enum class TakeDamageFlags_t : uint32_t // Alignment: 4 // Size: 0x15 enum class WeaponSound_t : uint32_t -{ +{ WEAPON_SOUND_EMPTY = 0x0, WEAPON_SOUND_SINGLE = 0x1, WEAPON_SOUND_DOUBLE = 0x2, @@ -2374,7 +2375,7 @@ enum class WeaponSound_t : uint32_t // Alignment: 1 // Size: 0x7 enum class EKillTypes_t : uint8_t -{ +{ KILL_NONE = 0x0, KILL_DEFAULT = 0x1, KILL_HEADSHOT = 0x2, @@ -2387,7 +2388,7 @@ enum class EKillTypes_t : uint8_t // Alignment: 4 // Size: 0x2 enum class ValueRemapperInputType_t : uint32_t -{ +{ InputType_PlayerShootPosition = 0x0, InputType_PlayerShootPositionAroundAxis = 0x1, }; @@ -2395,7 +2396,7 @@ enum class ValueRemapperInputType_t : uint32_t // Alignment: 4 // Size: 0x8 enum class GrenadeType_t : uint32_t -{ +{ GRENADE_TYPE_EXPLOSIVE = 0x0, GRENADE_TYPE_FLASH = 0x1, GRENADE_TYPE_FIRE = 0x2, @@ -2409,7 +2410,7 @@ enum class GrenadeType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ShadowType_t : uint32_t -{ +{ SHADOWS_NONE = 0x0, SHADOWS_SIMPLE = 0x1, }; @@ -2417,7 +2418,7 @@ enum class ShadowType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ModifyDamageReturn_t : uint32_t -{ +{ CONTINUE_TO_APPLY_DAMAGE = 0x0, ABORT_DO_NOT_APPLY_DAMAGE = 0x1, }; @@ -2425,7 +2426,7 @@ enum class ModifyDamageReturn_t : uint32_t // Alignment: 4 // Size: 0xd enum class QuestProgress__Reason : uint32_t -{ +{ QUEST_NONINITIALIZED = 0x0, QUEST_OK = 0x1, QUEST_NOT_ENOUGH_PLAYERS = 0x2, @@ -2444,7 +2445,7 @@ enum class QuestProgress__Reason : uint32_t // Alignment: 4 // Size: 0x7 enum class ESurvivalGameRuleDecision_t : uint32_t -{ +{ k_ESurvivalGameRuleDecision_Unknown = 0x0, k_ESurvivalGameRuleDecision_Tablet_Purchase_Pistol_DefIdx = 0x1, k_ESurvivalGameRuleDecision_Tablet_Purchase_SMG_DefIdx = 0x2, @@ -2457,7 +2458,7 @@ enum class ESurvivalGameRuleDecision_t : uint32_t // Alignment: 4 // Size: 0x3 enum class BrushSolidities_e : uint32_t -{ +{ BRUSHSOLID_TOGGLE = 0x0, BRUSHSOLID_NEVER = 0x1, BRUSHSOLID_ALWAYS = 0x2, @@ -2466,7 +2467,7 @@ enum class BrushSolidities_e : uint32_t // Alignment: 4 // Size: 0x3 enum class TRAIN_CODE : uint32_t -{ +{ TRAIN_SAFE = 0x0, TRAIN_BLOCKING = 0x1, TRAIN_FOLLOWING = 0x2, @@ -2475,7 +2476,7 @@ enum class TRAIN_CODE : uint32_t // Alignment: 4 // Size: 0x6 enum class ShakeCommand_t : uint32_t -{ +{ SHAKE_START = 0x0, SHAKE_STOP = 0x1, SHAKE_AMPLITUDE = 0x2, @@ -2487,7 +2488,7 @@ enum class ShakeCommand_t : uint32_t // Alignment: 4 // Size: 0x3 enum class PointWorldTextJustifyHorizontal_t : uint32_t -{ +{ POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_LEFT = 0x0, POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_CENTER = 0x1, POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT = 0x2, @@ -2496,7 +2497,7 @@ enum class PointWorldTextJustifyHorizontal_t : uint32_t // Alignment: 4 // Size: 0x3 enum class WeaponState_t : uint32_t -{ +{ WEAPON_NOT_CARRIED = 0x0, WEAPON_IS_CARRIED_BY_PLAYER = 0x1, WEAPON_IS_ACTIVE = 0x2, @@ -2505,7 +2506,7 @@ enum class WeaponState_t : uint32_t // Alignment: 4 // Size: 0x3 enum class PointTemplateOwnerSpawnGroupType_t : uint32_t -{ +{ INSERT_INTO_POINT_TEMPLATE_SPAWN_GROUP = 0x0, INSERT_INTO_CURRENTLY_ACTIVE_SPAWN_GROUP = 0x1, INSERT_INTO_NEWLY_CREATED_SPAWN_GROUP = 0x2, @@ -2514,7 +2515,7 @@ enum class PointTemplateOwnerSpawnGroupType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ValueRemapperOutputType_t : uint32_t -{ +{ OutputType_AnimationCycle = 0x0, OutputType_RotationX = 0x1, OutputType_RotationY = 0x2, @@ -2524,7 +2525,7 @@ enum class ValueRemapperOutputType_t : uint32_t // Alignment: 4 // Size: 0x8 enum class SpawnStage_t : uint32_t -{ +{ SPAWN_STAGE_NONE = 0x0, SPAWN_STAGE_SELECTION = 0x1, SPAWN_STAGE_LOCKED = 0x3, @@ -2538,7 +2539,7 @@ enum class SpawnStage_t : uint32_t // Alignment: 4 // Size: 0x7 enum class IChoreoServices__ChoreoState_t : uint32_t -{ +{ STATE_PRE_SCRIPT = 0x0, STATE_WAIT_FOR_SCRIPT = 0x1, STATE_WALK_TO_MARK = 0x2, @@ -2551,7 +2552,7 @@ enum class IChoreoServices__ChoreoState_t : uint32_t // Alignment: 4 // Size: 0x6 enum class RelativeDamagedDirection_t : uint32_t -{ +{ DAMAGED_DIR_NONE = 0x0, DAMAGED_DIR_FRONT = 0x1, DAMAGED_DIR_BACK = 0x2, @@ -2563,7 +2564,7 @@ enum class RelativeDamagedDirection_t : uint32_t // Alignment: 1 // Size: 0x6 enum class MoveCollide_t : uint8_t -{ +{ MOVECOLLIDE_DEFAULT = 0x0, MOVECOLLIDE_FLY_BOUNCE = 0x1, MOVECOLLIDE_FLY_CUSTOM = 0x2, @@ -2575,7 +2576,7 @@ enum class MoveCollide_t : uint8_t // Alignment: 4 // Size: 0x2 enum class attributeprovidertypes_t : uint32_t -{ +{ PROVIDER_GENERIC = 0x0, PROVIDER_WEAPON = 0x1, }; @@ -2583,7 +2584,7 @@ enum class attributeprovidertypes_t : uint32_t // Alignment: 4 // Size: 0x3 enum class PointWorldTextJustifyVertical_t : uint32_t -{ +{ POINT_WORLD_TEXT_JUSTIFY_VERTICAL_BOTTOM = 0x0, POINT_WORLD_TEXT_JUSTIFY_VERTICAL_CENTER = 0x1, POINT_WORLD_TEXT_JUSTIFY_VERTICAL_TOP = 0x2, @@ -2592,7 +2593,7 @@ enum class PointWorldTextJustifyVertical_t : uint32_t // Alignment: 4 // Size: 0x18 enum class DamageTypes_t : uint32_t -{ +{ DMG_GENERIC = 0x0, DMG_CRUSH = 0x1, DMG_BULLET = 0x2, @@ -2622,7 +2623,7 @@ enum class DamageTypes_t : uint32_t // Alignment: 1 // Size: 0x9 enum class SolidType_t : uint8_t -{ +{ SOLID_NONE = 0x0, SOLID_BSP = 0x1, SOLID_BBOX = 0x2, @@ -2637,14 +2638,14 @@ enum class SolidType_t : uint8_t // Alignment: 4 // Size: 0x1 enum class navproperties_t : uint32_t -{ +{ NAV_IGNORE = 0x1, }; // Alignment: 4 // Size: 0x3 enum class SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t : uint32_t -{ +{ kMIN_THRESHOLD = 0x0, kMIN_FULL = 0x1, kHIGHWATER = 0x2, @@ -2653,7 +2654,7 @@ enum class SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_ // Alignment: 4 // Size: 0x7 enum class PlayerConnectedState : uint32_t -{ +{ PlayerNeverConnected = 0xffffffffffffffff, PlayerConnected = 0x0, PlayerConnecting = 0x1, @@ -2666,7 +2667,7 @@ enum class PlayerConnectedState : uint32_t // Alignment: 4 // Size: 0x3 enum class ChatIgnoreType_t : uint32_t -{ +{ CHAT_IGNORE_NONE = 0x0, CHAT_IGNORE_ALL = 0x1, CHAT_IGNORE_TEAM = 0x2, @@ -2675,7 +2676,7 @@ enum class ChatIgnoreType_t : uint32_t // Alignment: 4 // Size: 0x5 enum class DoorState_t : uint32_t -{ +{ DOOR_STATE_CLOSED = 0x0, DOOR_STATE_OPENING = 0x1, DOOR_STATE_OPEN = 0x2, @@ -2686,7 +2687,7 @@ enum class DoorState_t : uint32_t // Alignment: 4 // Size: 0x6 enum class LatchDirtyPermission_t : uint32_t -{ +{ LATCH_DIRTY_DISALLOW = 0x0, LATCH_DIRTY_SERVER_CONTROLLED = 0x1, LATCH_DIRTY_CLIENT_SIMULATED = 0x2, @@ -2698,7 +2699,7 @@ enum class LatchDirtyPermission_t : uint32_t // Alignment: 4 // Size: 0x1b enum class RumbleEffect_t : uint32_t -{ +{ RUMBLE_INVALID = 0xffffffffffffffff, RUMBLE_STOP_ALL = 0x0, RUMBLE_PISTOL = 0x1, @@ -2731,7 +2732,7 @@ enum class RumbleEffect_t : uint32_t // Alignment: 4 // Size: 0x23 enum class vote_create_failed_t : uint32_t -{ +{ VOTE_FAILED_GENERIC = 0x0, VOTE_FAILED_TRANSITIONING_PLAYERS = 0x1, VOTE_FAILED_RATE_EXCEEDED = 0x2, @@ -2772,7 +2773,7 @@ enum class vote_create_failed_t : uint32_t // Alignment: 1 // Size: 0x14 enum class RenderFx_t : uint8_t -{ +{ kRenderFxNone = 0x0, kRenderFxPulseSlow = 0x1, kRenderFxPulseFast = 0x2, @@ -2798,7 +2799,7 @@ enum class RenderFx_t : uint8_t // Alignment: 4 // Size: 0x4 enum class MoveMountingAmount_t : uint32_t -{ +{ MOVE_MOUNT_NONE = 0x0, MOVE_MOUNT_LOW = 0x1, MOVE_MOUNT_HIGH = 0x2, @@ -2808,7 +2809,7 @@ enum class MoveMountingAmount_t : uint32_t // Alignment: 4 // Size: 0x2 enum class CRR_Response__ResponseEnum_t : uint32_t -{ +{ MAX_RESPONSE_NAME = 0xc0, MAX_RULE_NAME = 0x80, }; @@ -2816,7 +2817,7 @@ enum class CRR_Response__ResponseEnum_t : uint32_t // Alignment: 4 // Size: 0x5 enum class NavDirType : uint32_t -{ +{ NORTH = 0x0, EAST = 0x1, SOUTH = 0x2, @@ -2827,7 +2828,7 @@ enum class NavDirType : uint32_t // Alignment: 4 // Size: 0x2 enum class ValueRemapperRatchetType_t : uint32_t -{ +{ RatchetType_Absolute = 0x0, RatchetType_EachEngage = 0x1, }; @@ -2835,7 +2836,7 @@ enum class ValueRemapperRatchetType_t : uint32_t // Alignment: 4 // Size: 0x49 enum class loadout_positions_t : uint32_t -{ +{ LOADOUT_POSITION_INVALID = 0xffffffffffffffff, LOADOUT_POSITION_MELEE = 0x0, LOADOUT_POSITION_C4 = 0x1, @@ -2914,7 +2915,7 @@ enum class loadout_positions_t : uint32_t // Alignment: 4 // Size: 0x3 enum class TrackOrientationType_t : uint32_t -{ +{ TrackOrientation_Fixed = 0x0, TrackOrientation_FacePath = 0x1, TrackOrientation_FacePathAngles = 0x2, @@ -2923,7 +2924,7 @@ enum class TrackOrientationType_t : uint32_t // Alignment: 1 // Size: 0x5 enum class ShatterGlassStressType : uint8_t -{ +{ SHATTERGLASS_BLUNT = 0x0, SHATTERGLASS_BALLISTIC = 0x1, SHATTERGLASS_PULSE = 0x2, @@ -2934,7 +2935,7 @@ enum class ShatterGlassStressType : uint8_t // Alignment: 4 // Size: 0x2 enum class PointTemplateClientOnlyEntityBehavior_t : uint32_t -{ +{ CREATE_FOR_CURRENTLY_CONNECTED_CLIENTS_ONLY = 0x0, CREATE_FOR_CLIENTS_WHO_CONNECT_LATER = 0x1, }; @@ -2942,7 +2943,7 @@ enum class PointTemplateClientOnlyEntityBehavior_t : uint32_t // Alignment: 1 // Size: 0x3 enum class tablet_skin_state_t : uint8_t -{ +{ TABLET_SKIN_STATE_BLANK = 0x0, TABLET_SKIN_STATE_RADAR = 0x1, TABLET_SKIN_STATE_BUYMENU = 0x2, @@ -2951,7 +2952,7 @@ enum class tablet_skin_state_t : uint8_t // Alignment: 4 // Size: 0x4 enum class EntitySubclassScope_t : uint32_t -{ +{ SUBCLASS_SCOPE_NONE = 0xffffffffffffffff, SUBCLASS_SCOPE_PRECIPITATION = 0x0, SUBCLASS_SCOPE_PLAYER_WEAPONS = 0x1, @@ -2961,7 +2962,7 @@ enum class EntitySubclassScope_t : uint32_t // Alignment: 4 // Size: 0x7 enum class BeamType_t : uint32_t -{ +{ BEAM_INVALID = 0x0, BEAM_POINTS = 0x1, BEAM_ENTPOINT = 0x2, @@ -2974,7 +2975,7 @@ enum class BeamType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class doorCheck_e : uint32_t -{ +{ DOOR_CHECK_FORWARD = 0x0, DOOR_CHECK_BACKWARD = 0x1, DOOR_CHECK_FULL = 0x2, @@ -2983,7 +2984,7 @@ enum class doorCheck_e : uint32_t // Alignment: 4 // Size: 0x6 enum class HierarchyType_t : uint32_t -{ +{ HIERARCHY_NONE = 0x0, HIERARCHY_BONE_MERGE = 0x1, HIERARCHY_ATTACHMENT = 0x2, @@ -2995,7 +2996,7 @@ enum class HierarchyType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class AmmoFlags_t : uint32_t -{ +{ AMMO_FORCE_DROP_IF_CARRIED = 0x1, AMMO_RESERVE_STAYS_WITH_WEAPON = 0x2, AMMO_FLAG_MAX = 0x2, @@ -3004,7 +3005,7 @@ enum class AmmoFlags_t : uint32_t // Alignment: 8 // Size: 0x28 enum class DebugOverlayBits_t : uint64_t -{ +{ OVERLAY_TEXT_BIT = 0x1, OVERLAY_NAME_BIT = 0x2, OVERLAY_BBOX_BIT = 0x4, @@ -3050,7 +3051,7 @@ enum class DebugOverlayBits_t : uint64_t // Alignment: 4 // Size: 0x2 enum class PointWorldTextReorientMode_t : uint32_t -{ +{ POINT_WORLD_TEXT_REORIENT_NONE = 0x0, POINT_WORLD_TEXT_REORIENT_AROUND_UP = 0x1, }; @@ -3058,7 +3059,7 @@ enum class PointWorldTextReorientMode_t : uint32_t // Alignment: 4 // Size: 0x7 enum class ChickenActivity : uint32_t -{ +{ IDLE = 0x0, WALK = 0x1, RUN = 0x2, @@ -3071,7 +3072,7 @@ enum class ChickenActivity : uint32_t // Alignment: 4 // Size: 0xe enum class HitGroup_t : uint32_t -{ +{ HITGROUP_INVALID = 0xffffffffffffffff, HITGROUP_GENERIC = 0x0, HITGROUP_HEAD = 0x1, @@ -3091,7 +3092,7 @@ enum class HitGroup_t : uint32_t // Alignment: 8 // Size: 0x15 enum class InputBitMask_t : uint64_t -{ +{ IN_NONE = 0x0, IN_ALL = 0xffffffffffffffff, IN_ATTACK = 0x1, @@ -3118,7 +3119,7 @@ enum class InputBitMask_t : uint64_t // Alignment: 4 // Size: 0x5 enum class EntityDisolveType_t : uint32_t -{ +{ ENTITY_DISSOLVE_INVALID = 0xffffffffffffffff, ENTITY_DISSOLVE_NORMAL = 0x0, ENTITY_DISSOLVE_ELECTRICAL = 0x1, @@ -3129,7 +3130,7 @@ enum class EntityDisolveType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class WorldTextPanelVerticalAlign_t : uint32_t -{ +{ WORLDTEXT_VERTICAL_ALIGN_TOP = 0x0, WORLDTEXT_VERTICAL_ALIGN_CENTER = 0x1, WORLDTEXT_VERTICAL_ALIGN_BOTTOM = 0x2, @@ -3138,7 +3139,7 @@ enum class WorldTextPanelVerticalAlign_t : uint32_t // Alignment: 1 // Size: 0x6 enum class WaterLevel_t : uint8_t -{ +{ WL_NotInWater = 0x0, WL_Feet = 0x1, WL_Waist = 0x2, @@ -3150,7 +3151,7 @@ enum class WaterLevel_t : uint8_t // Alignment: 4 // Size: 0x2 enum class ScriptedConflictResponse_t : uint32_t -{ +{ SS_CONFLICT_ENQUEUE = 0x0, SS_CONFLICT_INTERRUPT = 0x1, }; @@ -3158,7 +3159,7 @@ enum class ScriptedConflictResponse_t : uint32_t // Alignment: 4 // Size: 0xa enum class CSPlayerState : uint32_t -{ +{ STATE_ACTIVE = 0x0, STATE_WELCOME = 0x1, STATE_PICKINGTEAM = 0x2, @@ -3174,7 +3175,7 @@ enum class CSPlayerState : uint32_t // Alignment: 4 // Size: 0x11 enum class gear_slot_t : uint32_t -{ +{ GEAR_SLOT_INVALID = 0xffffffffffffffff, GEAR_SLOT_RIFLE = 0x0, GEAR_SLOT_PISTOL = 0x1, @@ -3197,7 +3198,7 @@ enum class gear_slot_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ScriptedMoveType_t : uint32_t -{ +{ SCRIPTED_MOVETYPE_NONE = 0x0, SCRIPTED_MOVETYPE_TO_WITH_DURATION = 0x1, SCRIPTED_MOVETYPE_TO_WITH_MOVESPEED = 0x2, @@ -3207,7 +3208,7 @@ enum class ScriptedMoveType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ScriptedOnDeath_t : uint32_t -{ +{ SS_ONDEATH_NOT_APPLICABLE = 0xffffffffffffffff, SS_ONDEATH_UNDEFINED = 0x0, SS_ONDEATH_RAGDOLL = 0x1, @@ -3217,7 +3218,7 @@ enum class ScriptedOnDeath_t : uint32_t // Alignment: 1 // Size: 0x5 enum class ShatterDamageCause : uint8_t -{ +{ SHATTERDAMAGE_BULLET = 0x0, SHATTERDAMAGE_MELEE = 0x1, SHATTERDAMAGE_THROWN = 0x2, @@ -3228,7 +3229,7 @@ enum class ShatterDamageCause : uint8_t // Alignment: 4 // Size: 0x4 enum class CommandExecMode_t : uint32_t -{ +{ EXEC_MANUAL = 0x0, EXEC_LEVELSTART = 0x1, EXEC_PERIODIC = 0x2, @@ -3238,7 +3239,7 @@ enum class CommandExecMode_t : uint32_t // Alignment: 4 // Size: 0x12 enum class CSPlayerBlockingUseAction_t : uint32_t -{ +{ k_CSPlayerBlockingUseAction_None = 0x0, k_CSPlayerBlockingUseAction_DefusingDefault = 0x1, k_CSPlayerBlockingUseAction_DefusingWithKit = 0x2, @@ -3262,7 +3263,7 @@ enum class CSPlayerBlockingUseAction_t : uint32_t // Alignment: 4 // Size: 0x4 enum class BeamClipStyle_t : uint32_t -{ +{ kNOCLIP = 0x0, kGEOCLIP = 0x1, kMODELCLIP = 0x2, @@ -3272,7 +3273,7 @@ enum class BeamClipStyle_t : uint32_t // Alignment: 4 // Size: 0x9 enum class EInButtonState : uint32_t -{ +{ IN_BUTTON_UP = 0x0, IN_BUTTON_DOWN = 0x1, IN_BUTTON_DOWN_UP = 0x2, @@ -3287,7 +3288,7 @@ enum class EInButtonState : uint32_t // Alignment: 4 // Size: 0xb enum class Hull_t : uint32_t -{ +{ HULL_HUMAN = 0x0, HULL_SMALL_CENTERED = 0x1, HULL_WIDE_HUMAN = 0x2, @@ -3304,7 +3305,7 @@ enum class Hull_t : uint32_t // Alignment: 1 // Size: 0xa enum class ESurvivalSpawnTileState : uint8_t -{ +{ kSurvivalSpawn_Available = 0x0, kSurvivalSpawn_Unused = 0x1, kSurvivalSpawn_Blocked = 0x2, @@ -3320,7 +3321,7 @@ enum class ESurvivalSpawnTileState : uint8_t // Alignment: 4 // Size: 0x4 enum class ValueRemapperMomentumType_t : uint32_t -{ +{ MomentumType_None = 0x0, MomentumType_Friction = 0x1, MomentumType_SpringTowardSnapValue = 0x2, @@ -3330,7 +3331,7 @@ enum class ValueRemapperMomentumType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class MoveLinearAuthoredPos_t : uint32_t -{ +{ MOVELINEAR_AUTHORED_AT_START_POSITION = 0x0, MOVELINEAR_AUTHORED_AT_OPEN_POSITION = 0x1, MOVELINEAR_AUTHORED_AT_CLOSED_POSITION = 0x2, @@ -3339,7 +3340,7 @@ enum class MoveLinearAuthoredPos_t : uint32_t // Alignment: 4 // Size: 0x13 enum class NavAttributeEnum : uint32_t -{ +{ NAV_MESH_AVOID = 0x80, NAV_MESH_STAIRS = 0x1000, NAV_MESH_NON_ZUP = 0x8000, @@ -3364,7 +3365,7 @@ enum class NavAttributeEnum : uint32_t // Alignment: 4 // Size: 0x8 enum class TOGGLE_STATE : uint32_t -{ +{ TS_AT_TOP = 0x0, TS_AT_BOTTOM = 0x1, TS_GOING_UP = 0x2, @@ -3378,7 +3379,7 @@ enum class TOGGLE_STATE : uint32_t // Alignment: 4 // Size: 0x4 enum class PerformanceMode_t : uint32_t -{ +{ PM_NORMAL = 0x0, PM_NO_GIBS = 0x1, PM_FULL_GIBS = 0x2, @@ -3388,7 +3389,7 @@ enum class PerformanceMode_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ForcedCrouchState_t : uint32_t -{ +{ FORCEDCROUCH_NONE = 0x0, FORCEDCROUCH_CROUCHED = 0x1, FORCEDCROUCH_UNCROUCHED = 0x2, @@ -3397,7 +3398,7 @@ enum class ForcedCrouchState_t : uint32_t // Alignment: 1 // Size: 0xd enum class RenderMode_t : uint8_t -{ +{ kRenderNormal = 0x0, kRenderTransColor = 0x1, kRenderTransTexture = 0x2, @@ -3416,7 +3417,7 @@ enum class RenderMode_t : uint8_t // Alignment: 1 // Size: 0x2 enum class ShardSolid_t : uint8_t -{ +{ SHARD_SOLID = 0x0, SHARD_DEBRIS = 0x1, }; @@ -3424,7 +3425,7 @@ enum class ShardSolid_t : uint8_t // Alignment: 4 // Size: 0x4 enum class PropDoorRotatingSpawnPos_t : uint32_t -{ +{ DOOR_SPAWN_CLOSED = 0x0, DOOR_SPAWN_OPEN_FORWARD = 0x1, DOOR_SPAWN_OPEN_BACK = 0x2, @@ -3434,7 +3435,7 @@ enum class PropDoorRotatingSpawnPos_t : uint32_t // Alignment: 4 // Size: 0x3 enum class EntFinderMethod_t : uint32_t -{ +{ ENT_FIND_METHOD_NEAREST = 0x0, ENT_FIND_METHOD_FARTHEST = 0x1, ENT_FIND_METHOD_RANDOM = 0x2, @@ -3443,7 +3444,7 @@ enum class EntFinderMethod_t : uint32_t // Alignment: 4 // Size: 0x14 enum class CSWeaponType : uint32_t -{ +{ WEAPONTYPE_KNIFE = 0x0, WEAPONTYPE_PISTOL = 0x1, WEAPONTYPE_SUBMACHINEGUN = 0x2, @@ -3469,7 +3470,7 @@ enum class CSWeaponType : uint32_t // Alignment: 4 // Size: 0x3 enum class TrainVelocityType_t : uint32_t -{ +{ TrainVelocity_Instantaneous = 0x0, TrainVelocity_LinearBlend = 0x1, TrainVelocity_EaseInEaseOut = 0x2, @@ -3478,7 +3479,7 @@ enum class TrainVelocityType_t : uint32_t // Alignment: 4 // Size: 0x5 enum class Touch_t : uint32_t -{ +{ touch_none = 0x0, touch_player_only = 0x1, touch_npc_only = 0x2, @@ -3489,7 +3490,7 @@ enum class Touch_t : uint32_t // Alignment: 4 // Size: 0x2 enum class CommandEntitySpecType_t : uint32_t -{ +{ SPEC_SEARCH = 0x0, SPEC_TYPES_COUNT = 0x1, }; @@ -3497,7 +3498,7 @@ enum class CommandEntitySpecType_t : uint32_t // Alignment: 4 // Size: 0x7 enum class IChoreoServices__ScriptState_t : uint32_t -{ +{ SCRIPT_PLAYING = 0x0, SCRIPT_WAIT = 0x1, SCRIPT_POST_IDLE = 0x2, @@ -3510,7 +3511,7 @@ enum class IChoreoServices__ScriptState_t : uint32_t // Alignment: 4 // Size: 0x2a enum class GameAnimEventIndex_t : uint32_t -{ +{ AE_EMPTY = 0x0, AE_CL_PLAYSOUND = 0x1, AE_CL_PLAYSOUND_ATTACHMENT = 0x2, @@ -3558,7 +3559,7 @@ enum class GameAnimEventIndex_t : uint32_t // Alignment: 4 // Size: 0x11 enum class BaseExplosionTypes_t : uint32_t -{ +{ EXPLOSION_TYPE_DEFAULT = 0x0, EXPLOSION_TYPE_GRENADE = 0x1, EXPLOSION_TYPE_MOLOTOV = 0x2, @@ -3581,7 +3582,7 @@ enum class BaseExplosionTypes_t : uint32_t // Alignment: 4 // Size: 0x3 enum class CSWeaponSilencerType : uint32_t -{ +{ WEAPONSILENCER_NONE = 0x0, WEAPONSILENCER_DETACHABLE = 0x1, WEAPONSILENCER_INTEGRATED = 0x2, @@ -3590,7 +3591,7 @@ enum class CSWeaponSilencerType : uint32_t // Alignment: 4 // Size: 0x2 enum class filter_t : uint32_t -{ +{ FILTER_AND = 0x0, FILTER_OR = 0x1, }; @@ -3598,7 +3599,7 @@ enum class filter_t : uint32_t // Alignment: 4 // Size: 0x9 enum class Class_T : uint32_t -{ +{ CLASS_NONE = 0x0, CLASS_PLAYER = 0x1, CLASS_PLAYER_ALLY = 0x2, @@ -3613,7 +3614,7 @@ enum class Class_T : uint32_t // Alignment: 4 // Size: 0x17 enum class SoundFlags_t : uint32_t -{ +{ SOUND_NONE = 0x0, SOUND_COMBAT = 0x1, SOUND_WORLD = 0x2, @@ -3642,7 +3643,7 @@ enum class SoundFlags_t : uint32_t // Alignment: 4 // Size: 0x5 enum class AnimLoopMode_t : uint32_t -{ +{ ANIM_LOOP_MODE_INVALID = 0xffffffffffffffff, ANIM_LOOP_MODE_NOT_LOOPING = 0x0, ANIM_LOOP_MODE_LOOPING = 0x1, @@ -3653,7 +3654,7 @@ enum class AnimLoopMode_t : uint32_t // Alignment: 4 // Size: 0x6 enum class ScriptedMoveTo_t : uint32_t -{ +{ CINE_MOVETO_WAIT = 0x0, CINE_MOVETO_WALK = 0x1, CINE_MOVETO_RUN = 0x2, @@ -3665,7 +3666,7 @@ enum class ScriptedMoveTo_t : uint32_t // Alignment: 4 // Size: 0xc enum class Materials : uint32_t -{ +{ matGlass = 0x0, matWood = 0x1, matMetal = 0x2, @@ -3683,7 +3684,7 @@ enum class Materials : uint32_t // Alignment: 1 // Size: 0x3 enum class OnFrame : uint8_t -{ +{ ONFRAME_UNKNOWN = 0x0, ONFRAME_TRUE = 0x1, ONFRAME_FALSE = 0x2, @@ -3692,7 +3693,7 @@ enum class OnFrame : uint8_t // Alignment: 4 // Size: 0x3 enum class CSWeaponMode : uint32_t -{ +{ Primary_Mode = 0x0, Secondary_Mode = 0x1, WeaponMode_MAX = 0x2, @@ -3701,7 +3702,7 @@ enum class CSWeaponMode : uint32_t // Alignment: 4 // Size: 0x4 enum class WorldTextAttachmentType_t : uint32_t -{ +{ ATTACHED_NONE = 0x0, ATTACHED_ENTITY = 0x1, ATTACHED_ENTITY_LARGE = 0x2, @@ -3711,7 +3712,7 @@ enum class WorldTextAttachmentType_t : uint32_t // Alignment: 4 // Size: 0x400 enum class BaseActivity_t : uint32_t -{ +{ ACT_RESET = 0x0, ACT_IDLE = 0x1, ACT_TRANSITION = 0x2, @@ -4741,7 +4742,7 @@ enum class BaseActivity_t : uint32_t // Alignment: 4 // Size: 0x5 enum class LifeState_t : uint32_t -{ +{ LIFE_ALIVE = 0x0, LIFE_DYING = 0x1, LIFE_DEAD = 0x2, @@ -4752,7 +4753,7 @@ enum class LifeState_t : uint32_t // Alignment: 1 // Size: 0x9 enum class SurroundingBoundsType_t : uint8_t -{ +{ USE_OBB_COLLISION_BOUNDS = 0x0, USE_BEST_COLLISION_BOUNDS = 0x1, USE_HITBOXES = 0x2, @@ -4767,7 +4768,7 @@ enum class SurroundingBoundsType_t : uint8_t // Alignment: 1 // Size: 0x2 enum class ShatterPanelMode : uint8_t -{ +{ SHATTER_GLASS = 0x0, SHATTER_DRYWALL = 0x1, }; @@ -4775,7 +4776,7 @@ enum class ShatterPanelMode : uint8_t // Alignment: 1 // Size: 0x9 enum class ItemFlagTypes_t : uint8_t -{ +{ ITEM_FLAG_NONE = 0x0, ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO = 0x1, ITEM_FLAG_NOAUTORELOAD = 0x2, @@ -4790,7 +4791,7 @@ enum class ItemFlagTypes_t : uint8_t // Alignment: 4 // Size: 0x17 enum class PlayerAnimEvent_t : uint32_t -{ +{ PLAYERANIMEVENT_FIRE_GUN_PRIMARY = 0x0, PLAYERANIMEVENT_FIRE_GUN_SECONDARY = 0x1, PLAYERANIMEVENT_GRENADE_PULL_PIN = 0x2, @@ -4819,7 +4820,7 @@ enum class PlayerAnimEvent_t : uint32_t // Alignment: 4 // Size: 0x7 enum class CSWeaponCategory : uint32_t -{ +{ WEAPONCATEGORY_OTHER = 0x0, WEAPONCATEGORY_MELEE = 0x1, WEAPONCATEGORY_SECONDARY = 0x2, @@ -4832,7 +4833,7 @@ enum class CSWeaponCategory : uint32_t // Alignment: 4 // Size: 0x4 enum class TrainOrientationType_t : uint32_t -{ +{ TrainOrientation_Fixed = 0x0, TrainOrientation_AtPathTracks = 0x1, TrainOrientation_LinearBlend = 0x2, @@ -4842,7 +4843,7 @@ enum class TrainOrientationType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class WorldTextPanelHorizontalAlign_t : uint32_t -{ +{ WORLDTEXT_HORIZONTAL_ALIGN_LEFT = 0x0, WORLDTEXT_HORIZONTAL_ALIGN_CENTER = 0x1, WORLDTEXT_HORIZONTAL_ALIGN_RIGHT = 0x2, @@ -4851,7 +4852,7 @@ enum class WorldTextPanelHorizontalAlign_t : uint32_t // Alignment: 4 // Size: 0x3 enum class WorldTextPanelOrientation_t : uint32_t -{ +{ WORLDTEXT_ORIENTATION_DEFAULT = 0x0, WORLDTEXT_ORIENTATION_FACEUSER = 0x1, WORLDTEXT_ORIENTATION_FACEUSER_UPRIGHT = 0x2, @@ -4860,7 +4861,7 @@ enum class WorldTextPanelOrientation_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ObserverInterpState_t : uint32_t -{ +{ OBSERVER_INTERP_NONE = 0x0, OBSERVER_INTERP_TRAVELING = 0x1, OBSERVER_INTERP_SETTLING = 0x2, @@ -4869,7 +4870,7 @@ enum class ObserverInterpState_t : uint32_t // Alignment: 4 // Size: 0x3 enum class Explosions : uint32_t -{ +{ expRandom = 0x0, expDirected = 0x1, expUsePrecise = 0x2, @@ -4878,7 +4879,7 @@ enum class Explosions : uint32_t // Alignment: 4 // Size: 0x4 enum class StanceType_t : uint32_t -{ +{ STANCE_CURRENT = 0xffffffffffffffff, STANCE_DEFAULT = 0x0, STANCE_CROUCHING = 0x1, @@ -4888,7 +4889,7 @@ enum class StanceType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class SubclassVDataChangeType_t : uint32_t -{ +{ SUBCLASS_VDATA_CREATED = 0x0, SUBCLASS_VDATA_SUBCLASS_CHANGED = 0x1, SUBCLASS_VDATA_RELOADED = 0x2, @@ -4897,7 +4898,7 @@ enum class SubclassVDataChangeType_t : uint32_t // Alignment: 4 // Size: 0x5 enum class TimelineCompression_t : uint32_t -{ +{ TIMELINE_COMPRESSION_SUM = 0x0, TIMELINE_COMPRESSION_COUNT_PER_INTERVAL = 0x1, TIMELINE_COMPRESSION_AVERAGE = 0x2, @@ -4908,7 +4909,7 @@ enum class TimelineCompression_t : uint32_t // Alignment: 4 // Size: 0x3 enum class LessonPanelLayoutFileTypes_t : uint32_t -{ +{ LAYOUT_HAND_DEFAULT = 0x0, LAYOUT_WORLD_DEFAULT = 0x1, LAYOUT_CUSTOM = 0x2, @@ -4917,7 +4918,7 @@ enum class LessonPanelLayoutFileTypes_t : uint32_t // Alignment: 4 // Size: 0x3 enum class EGrenadeThrowState : uint32_t -{ +{ NotThrowing = 0x0, Throwing = 0x1, ThrowComplete = 0x2, @@ -4926,7 +4927,7 @@ enum class EGrenadeThrowState : uint32_t // Alignment: 4 // Size: 0x2 enum class SceneOnPlayerDeath_t : uint32_t -{ +{ SCENE_ONPLAYERDEATH_DO_NOTHING = 0x0, SCENE_ONPLAYERDEATH_CANCEL = 0x1, }; @@ -4934,7 +4935,7 @@ enum class SceneOnPlayerDeath_t : uint32_t // Alignment: 4 // Size: 0x3 enum class PropDoorRotatingOpenDirection_e : uint32_t -{ +{ DOOR_ROTATING_OPEN_BOTH_WAYS = 0x0, DOOR_ROTATING_OPEN_FORWARD = 0x1, DOOR_ROTATING_OPEN_BACKWARD = 0x2, @@ -4943,7 +4944,7 @@ enum class PropDoorRotatingOpenDirection_e : uint32_t // Alignment: 4 // Size: 0x3 enum class CompMatPropertyMutatorConditionType_t : uint32_t -{ +{ COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_EXISTS = 0x0, COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_VALUE_EXISTS = 0x1, COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_VALUE_EQUALS = 0x2, @@ -4952,7 +4953,7 @@ enum class CompMatPropertyMutatorConditionType_t : uint32_t // Alignment: 4 // Size: 0x6 enum class CompositeMaterialMatchFilterType_t : uint32_t -{ +{ MATCH_FILTER_MATERIAL_ATTRIBUTE_EXISTS = 0x0, MATCH_FILTER_MATERIAL_SHADER = 0x1, MATCH_FILTER_MATERIAL_NAME_SUBSTR = 0x2, @@ -4964,7 +4965,7 @@ enum class CompositeMaterialMatchFilterType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class CompositeMaterialVarSystemVar_t : uint32_t -{ +{ COMPMATSYSVAR_COMPOSITETIME = 0x0, COMPMATSYSVAR_EMPTY_RESOURCE_SPACER = 0x1, }; @@ -4972,7 +4973,7 @@ enum class CompositeMaterialVarSystemVar_t : uint32_t // Alignment: 4 // Size: 0xa enum class CompMatPropertyMutatorType_t : uint32_t -{ +{ COMP_MAT_PROPERTY_MUTATOR_INIT = 0x0, COMP_MAT_PROPERTY_MUTATOR_COPY_MATCHING_KEYS = 0x1, COMP_MAT_PROPERTY_MUTATOR_COPY_KEYS_WITH_SUFFIX = 0x2, @@ -4988,7 +4989,7 @@ enum class CompMatPropertyMutatorType_t : uint32_t // Alignment: 4 // Size: 0x6 enum class CompositeMaterialInputContainerSourceType_t : uint32_t -{ +{ CONTAINER_SOURCE_TYPE_TARGET_MATERIAL = 0x0, CONTAINER_SOURCE_TYPE_MATERIAL_FROM_TARGET_ATTR = 0x1, CONTAINER_SOURCE_TYPE_SPECIFIC_MATERIAL = 0x2, @@ -5000,7 +5001,7 @@ enum class CompositeMaterialInputContainerSourceType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class CompositeMaterialInputTextureType_t : uint32_t -{ +{ INPUT_TEXTURE_TYPE_DEFAULT = 0x0, INPUT_TEXTURE_TYPE_NORMALMAP = 0x1, }; @@ -5008,7 +5009,7 @@ enum class CompositeMaterialInputTextureType_t : uint32_t // Alignment: 4 // Size: 0xe enum class CompositeMaterialInputLooseVariableType_t : uint32_t -{ +{ LOOSE_VARIABLE_TYPE_BOOLEAN = 0x0, LOOSE_VARIABLE_TYPE_INTEGER1 = 0x1, LOOSE_VARIABLE_TYPE_INTEGER2 = 0x2, @@ -5025,613 +5026,777 @@ enum class CompositeMaterialInputLooseVariableType_t : uint32_t LOOSE_VARIABLE_TYPE_RESOURCE_TEXTURE = 0xd, }; +struct FuseFunctionIndex_t; +struct FuseVariableIndex_t; +struct EngineLoopState_t; +struct CEntityComponentHelper; +struct ChangeAccessorFieldPathIndex_t; +struct EntComponentInfo_t; +struct PostProcessingTonemapParameters_t; +struct PostProcessingBloomParameters_t; +struct PostProcessingVignetteParameters_t; +struct PostProcessingLocalContrastParameters_t; +struct CMotionSearchDB; +struct AnimScriptHandle; +struct CAnimUpdateNodeRef; +struct AnimTagID; +struct IKSolverSettings_t; +struct IKTargetSettings_t; +struct CAnimNodeConnection; +struct CAnimInputDamping; +struct CSeqAutoLayerFlag; +struct AnimParamID; +struct CAnimAttachment; +struct CAnimParamHandle; +struct VPhysics2ShapeDef_t; +struct TwoBoneIKSettings_t; +struct CMotionSearchNode; +struct CProductQuantizer; +struct IKBoneNameAndIndex_t; +struct AnimNodeID; +struct CConditionContainer; +struct CAnimGraphSettingsManager; +struct CAnimNodePath; +struct CSeqSeqDescFlag; +struct CSeqTransition; +struct SolveIKChainPoseOpFixedSettings_t; +struct CMotionParameterManager; +struct AnimStateID; +struct CAnimDesc_Flag; +struct CAnimEncodedFrames; +struct CAnimSequenceParams; +struct CAnimNodeManager; +struct HSequence; +struct SkeletonBoneBounds_t; +struct CRenderSkeleton; +struct CSeqMultiFetch; +struct CMotionDataSet; +struct CBlendCurve; +struct AnimNodeOutputID; +struct AnimComponentID; +struct CAnimKeyData; +struct CSeqMultiFetchFlag; +struct CMotionNodeManager; +struct CAnimComponentManager; +struct PackedAABB_t; +struct CDrawCullingData; +struct CAnimCycle; +struct CFootCycle; +struct CFootCycleDefinition; +struct CFootTrajectories; +struct FollowAttachmentSettings_t; +struct CFloatAnimValue; +struct CRangeFloat; +struct LookAtOpFixedSettings_t; +struct HitReactFixedSettings_t; +struct SkeletalInputOpFixedSettings_t; +struct AimMatrixOpFixedSettings_t; +struct CAnimStateMachineUpdater; +struct PermModelInfo_t; +struct ModelSkeletonData_t; +struct CModelConfigList; +struct JiggleBoneSettingsList_t; +struct FootLockPoseOpFixedSettings; +struct CPhysSurfacePropertiesPhysics; +struct CPhysSurfacePropertiesSoundNames; +struct CPhysSurfacePropertiesAudio; +struct AnimationDecodeDebugDumpElement_t; +struct CParamSpanUpdater; +struct VPhysXConstraintParams_t; +struct CAnimClipDataManager; +struct CRenderBufferBinding; +struct CPoseHandle; +struct PhysFeModelDesc_t; +struct TraceSettings_t; +struct VPhysXRange_t; +struct FootPinningPoseOpFixedData_t; +struct CVectorQuantizer; +struct MotionIndex; +struct CAnimEncodeDifference; +struct FourVectors2D; +struct AABB_t; +struct CRegionSVM; +struct RnPlane_t; +struct RnHull_t; +struct FourQuaternions; +struct CFeJiggleBone; +struct constraint_axislimit_t; +struct constraint_breakableparams_t; +struct RnMesh_t; +struct RnSphere_t; +struct RnCapsule_t; +struct VMixFilterDesc_t; +struct CSosGroupMatchPattern; +struct CSosGroupBranchPattern; +struct SceneViewId_t; +struct VoxelVisBlockOffset_t; +struct WorldBuilderParams_t; +struct BakedLightingInfo_t; +struct ParticleAttributeIndex_t; +struct CParticleCollectionVecInput; +struct CPerParticleFloatInput; +struct CParticleCollectionFloatInput; +struct CParticleTransformInput; +struct CPerParticleVecInput; +struct ParticlePreviewState_t; +struct TextureControls_t; +struct CPathParameters; +struct CParticleRemapFloatInput; +struct CRandomNumberGeneratorParameters; +struct ControlPointReference_t; +struct CParticleVisibilityInputs; +struct CNewParticleEffect; +struct IParticleCollection; +struct PARTICLE_EHANDLE__; +struct CParticleProperty; +struct CParticleFloatInput; +struct CResponseCriteriaSet; +struct CRR_Response; +struct ResponseFollowup; +struct AmmoIndex_t; +struct ResponseParams; +struct CTakeDamageInfo; +struct CTakeDamageResult; +struct CVoteController; +struct GameTime_t; +struct CSoundEnvelope; +struct CCopyRecipientFilter; +struct GameTick_t; +struct CBasePlayerController; +struct CRangeInt; +struct VelocitySampler; +struct SimpleConstraintSoundProfile; +struct CBaseFlex; +struct CSkeletonInstance; +struct CNetworkVarChainer; +struct CSkillFloat; +struct ParticleIndex_t; +struct ragdoll_t; +struct CompositeMaterialInputLooseVariable_t; +struct C_FireSmoke; +struct CDecalInfo; + // Alignment: 2 // Size: 0x8 -class CExampleSchemaVData_Monomorphic : public -{ +class CExampleSchemaVData_Monomorphic +{ public: - int32_t m_nExample1; // 0x0 - int32_t m_nExample2; // 0x4 + int32_t m_nExample1; // 0x0 + int32_t m_nExample2; // 0x4 }; // Alignment: 1 // Size: 0x8 -struct ResourceId_t : public -{ +struct ResourceId_t +{ public: - uint64_t m_Value; // 0x0 + uint64_t m_Value; // 0x0 +}; + +// Alignment: 1 +// Size: 0x10 +class CExampleSchemaVData_PolymorphicBase +{ +public: + int32_t m_nBase; // 0x8 }; // Alignment: 1 // Size: 0x18 class CExampleSchemaVData_PolymorphicDerivedB : public CExampleSchemaVData_PolymorphicBase -{ +{ public: - int32_t m_nDerivedB; // 0x10 -}; - -// Alignment: 1 -// Size: 0x10 -class CExampleSchemaVData_PolymorphicBase : public -{ -public: - int32_t m_nBase; // 0x8 + int32_t m_nDerivedB; // 0x10 }; // Alignment: 1 // Size: 0x18 class CExampleSchemaVData_PolymorphicDerivedA : public CExampleSchemaVData_PolymorphicBase -{ +{ public: - int32_t m_nDerivedA; // 0x10 + int32_t m_nDerivedA; // 0x10 }; // Alignment: 22 // Size: 0x180 -class CSchemaSystemInternalRegistration : public -{ +class CSchemaSystemInternalRegistration +{ public: - Vector2D m_Vector2D; // 0x0 - Vector m_Vector; // 0x8 - VectorAligned m_VectorAligned; // 0x20 - Quaternion m_Quaternion; // 0x30 - QAngle m_QAngle; // 0x40 - RotationVector m_RotationVector; // 0x4c - RadianEuler m_RadianEuler; // 0x58 - DegreeEuler m_DegreeEuler; // 0x64 - QuaternionStorage m_QuaternionStorage; // 0x70 - matrix3x4_t m_matrix3x4_t; // 0x80 - matrix3x4a_t m_matrix3x4a_t; // 0xb0 - Color m_Color; // 0xe0 - Vector4D m_Vector4D; // 0xe4 - CTransform m_CTransform; // 0x100 - KeyValues* m_pKeyValues; // 0x120 - CUtlBinaryBlock m_CUtlBinaryBlock; // 0x128 - CUtlString m_CUtlString; // 0x140 - CUtlSymbol m_CUtlSymbol; // 0x148 - CUtlStringToken m_stringToken; // 0x14c - CUtlStringTokenWithStorage m_stringTokenWithStorage; // 0x150 - CResourceArray< CResourcePointer< CResourceString > > m_ResourceTypes; // 0x168 - KeyValues3 m_KV3; // 0x170 + Vector2D m_Vector2D; // 0x0 + Vector m_Vector; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0014[0xc]; // 0x14 +public: + VectorAligned m_VectorAligned; // 0x20 + Quaternion m_Quaternion; // 0x30 + QAngle m_QAngle; // 0x40 + RotationVector m_RotationVector; // 0x4c + RadianEuler m_RadianEuler; // 0x58 + DegreeEuler m_DegreeEuler; // 0x64 + QuaternionStorage m_QuaternionStorage; // 0x70 + matrix3x4_t m_matrix3x4_t; // 0x80 + matrix3x4a_t m_matrix3x4a_t; // 0xb0 + Color m_Color; // 0xe0 + Vector4D m_Vector4D; // 0xe4 +private: + [[maybe_unused]] uint8_t __pad00f4[0xc]; // 0xf4 +public: + CTransform m_CTransform; // 0x100 + KeyValues* m_pKeyValues; // 0x120 + CUtlBinaryBlock m_CUtlBinaryBlock; // 0x128 + CUtlString m_CUtlString; // 0x140 + CUtlSymbol m_CUtlSymbol; // 0x148 +private: + [[maybe_unused]] uint8_t __pad014a[0x2]; // 0x14a +public: + CUtlStringToken m_stringToken; // 0x14c + CUtlStringTokenWithStorage m_stringTokenWithStorage; // 0x150 + CResourceArray< CResourcePointer< CResourceString > > m_ResourceTypes; // 0x168 + KeyValues3 m_KV3; // 0x170 }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCResourceManifestInternal : public -{ +class InfoForResourceTypeCResourceManifestInternal +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCDOTAPatchNotesList : public -{ +class InfoForResourceTypeCDOTAPatchNotesList +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCEntityLump : public -{ +class InfoForResourceTypeCEntityLump +{ public: // no members available }; // Alignment: 2 // Size: 0x10 -struct ManifestTestResource_t : public -{ +struct ManifestTestResource_t +{ public: // MKV3TransferName "name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 // MKV3TransferName "child" - CStrongHandle< InfoForResourceTypeManifestTestResource_t > m_child; // 0x8 + CStrongHandle< InfoForResourceTypeManifestTestResource_t > m_child; // 0x8 }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCSequenceGroupData : public -{ +class InfoForResourceTypeCSequenceGroupData +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeIParticleSystemDefinition : public -{ +class InfoForResourceTypeIParticleSystemDefinition +{ public: // no members available }; // Alignment: 1 // Size: 0x2 -struct FuseVariableIndex_t : public -{ +struct FuseVariableIndex_t +{ public: - uint16_t m_Value; // 0x0 + uint16_t m_Value; // 0x0 }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCTextureBase : public -{ +class InfoForResourceTypeCTextureBase +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCModel : public -{ +class InfoForResourceTypeCModel +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCVDataResource : public -{ +class InfoForResourceTypeCVDataResource +{ public: // no members available }; -// Alignment: 5 -// Size: 0x20 -struct FunctionInfo_t : public -{ +// Alignment: 1 +// Size: 0x2 +struct FuseFunctionIndex_t +{ public: - CUtlString m_name; // 0x8 - CUtlStringToken m_nameToken; // 0x10 - int32_t m_nParamCount; // 0x14 - FuseFunctionIndex_t m_nIndex; // 0x18 - bool m_bIsPure; // 0x1a + uint16_t m_Value; // 0x0 }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPanoramaDynamicImages : public -{ +class InfoForResourceTypeCPanoramaDynamicImages +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeIVectorGraphic : public -{ +class InfoForResourceTypeIVectorGraphic +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeIMaterial2 : public -{ +class InfoForResourceTypeIMaterial2 +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCAnimData : public -{ +class InfoForResourceTypeCAnimData +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCVMixListResource : public -{ +class InfoForResourceTypeCVMixListResource +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCCompositeMaterialKit : public -{ +class InfoForResourceTypeCCompositeMaterialKit +{ public: // no members available }; // Alignment: 4 // Size: 0x50 -class CFuseProgram : public -{ +class CFuseProgram +{ public: - CUtlVector< uint8 > m_programBuffer; // 0x0 - CUtlVector< FuseVariableIndex_t > m_variablesRead; // 0x18 - CUtlVector< FuseVariableIndex_t > m_variablesWritten; // 0x30 - int32_t m_nMaxTempVarsUsed; // 0x48 + CUtlVector< uint8 > m_programBuffer; // 0x0 + CUtlVector< FuseVariableIndex_t > m_variablesRead; // 0x18 + CUtlVector< FuseVariableIndex_t > m_variablesWritten; // 0x30 + int32_t m_nMaxTempVarsUsed; // 0x48 }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCSmartProp : public -{ +class InfoForResourceTypeCSmartProp +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCCSGOEconItem : public -{ +class InfoForResourceTypeCCSGOEconItem +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCWorldNode : public -{ +class InfoForResourceTypeCWorldNode +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPanoramaStyle : public -{ +class InfoForResourceTypeCPanoramaStyle +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCDACGameDefsData : public -{ +class InfoForResourceTypeCDACGameDefsData +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCVSoundEventScriptList : public -{ +class InfoForResourceTypeCVSoundEventScriptList +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCAnimationGroup : public -{ +class InfoForResourceTypeCAnimationGroup +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -struct InfoForResourceTypeVSound_t : public -{ +struct InfoForResourceTypeVSound_t +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -struct InfoForResourceTypeTestResource_t : public -{ +struct InfoForResourceTypeTestResource_t +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPanoramaLayout : public -{ +class InfoForResourceTypeCPanoramaLayout +{ public: // no members available }; // Alignment: 4 // Size: 0x40 -class FourQuaternions : public -{ +class FourQuaternions +{ public: - fltx4 x; // 0x0 - fltx4 y; // 0x10 - fltx4 z; // 0x20 - fltx4 w; // 0x30 + fltx4 x; // 0x0 + fltx4 y; // 0x10 + fltx4 z; // 0x20 + fltx4 w; // 0x30 }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeIParticleSnapshot : public -{ +class InfoForResourceTypeIParticleSnapshot +{ public: // no members available }; // Alignment: 6 // Size: 0x18 -struct VariableInfo_t : public -{ +struct VariableInfo_t +{ public: - CUtlString m_name; // 0x0 - CUtlStringToken m_nameToken; // 0x8 - FuseVariableIndex_t m_nIndex; // 0xc - uint8_t m_nNumComponents; // 0xe - FuseVariableType_t m_eVarType; // 0xf - FuseVariableAccess_t m_eAccess; // 0x10 + CUtlString m_name; // 0x0 + CUtlStringToken m_nameToken; // 0x8 + FuseVariableIndex_t m_nIndex; // 0xc + uint8_t m_nNumComponents; // 0xe + FuseVariableType_t m_eVarType; // 0xf + FuseVariableAccess_t m_eAccess; // 0x10 }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPostProcessingResource : public -{ +class InfoForResourceTypeCPostProcessingResource +{ public: // no members available }; // Alignment: 2 // Size: 0x18 -struct AABB_t : public -{ +struct AABB_t +{ public: - Vector m_vMinBounds; // 0x0 - Vector m_vMaxBounds; // 0xc + Vector m_vMinBounds; // 0x0 + Vector m_vMaxBounds; // 0xc }; // Alignment: 0 // Size: 0x1 -struct InfoForResourceTypeProceduralTestResource_t : public -{ +struct InfoForResourceTypeProceduralTestResource_t +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -struct InfoForResourceTypeWorld_t : public -{ +struct InfoForResourceTypeWorld_t +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPhysAggregateData : public -{ +class InfoForResourceTypeCPhysAggregateData +{ public: // no members available }; // Alignment: 1 // Size: 0x8 -struct TestResource_t : public -{ +struct TestResource_t +{ public: // MKV3TransferName "name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCVoxelVisibility : public -{ +class InfoForResourceTypeCVoxelVisibility +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCRenderMesh : public -{ +class InfoForResourceTypeCRenderMesh +{ public: // no members available }; // Alignment: 3 // Size: 0x68 -class CFuseSymbolTable : public -{ +class CFuseSymbolTable +{ public: - CUtlHashtable< CUtlStringToken, ConstantInfo_t > m_constants; // 0x8 - CUtlHashtable< CUtlStringToken, VariableInfo_t > m_variables; // 0x28 - CUtlHashtable< CUtlStringToken, FunctionInfo_t > m_functions; // 0x48 + CUtlHashtable< CUtlStringToken, ConstantInfo_t > m_constants; // 0x8 + CUtlHashtable< CUtlStringToken, VariableInfo_t > m_variables; // 0x28 + CUtlHashtable< CUtlStringToken, FunctionInfo_t > m_functions; // 0x48 }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeIAnimGraphModelBinding : public -{ +class InfoForResourceTypeIAnimGraphModelBinding +{ public: // no members available }; -// Alignment: 1 -// Size: 0x2 -struct FuseFunctionIndex_t : public -{ +// Alignment: 5 +// Size: 0x20 +struct FunctionInfo_t +{ public: - uint16_t m_Value; // 0x0 + CUtlString m_name; // 0x8 + CUtlStringToken m_nameToken; // 0x10 + int32_t m_nParamCount; // 0x14 + FuseFunctionIndex_t m_nIndex; // 0x18 + bool m_bIsPure; // 0x1a }; // Alignment: 3 // Size: 0x10 -struct ConstantInfo_t : public -{ +struct ConstantInfo_t +{ public: - CUtlString m_name; // 0x0 - CUtlStringToken m_nameToken; // 0x8 - float m_flValue; // 0xc + CUtlString m_name; // 0x0 + CUtlStringToken m_nameToken; // 0x8 + float m_flValue; // 0xc }; // Alignment: 0 // Size: 0x1 -struct InfoForResourceTypeManifestTestResource_t : public -{ +struct InfoForResourceTypeManifestTestResource_t +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPanoramaTypeScript : public -{ +class InfoForResourceTypeCPanoramaTypeScript +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCVPhysXSurfacePropertiesList : public -{ +class InfoForResourceTypeCVPhysXSurfacePropertiesList +{ public: // no members available }; // Alignment: 2 // Size: 0x8 -struct PackedAABB_t : public -{ +struct PackedAABB_t +{ public: - uint32_t m_nPackedMin; // 0x0 - uint32_t m_nPackedMax; // 0x4 + uint32_t m_nPackedMin; // 0x0 + uint32_t m_nPackedMax; // 0x4 }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCVSoundStackScriptList : public -{ +class InfoForResourceTypeCVSoundStackScriptList +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPanoramaScript : public -{ +class InfoForResourceTypeCPanoramaScript +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCChoreoSceneFileData : public -{ +class InfoForResourceTypeCChoreoSceneFileData +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCMorphSetData : public -{ +class InfoForResourceTypeCMorphSetData +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCDotaItemDefinitionResource : public -{ +class InfoForResourceTypeCDotaItemDefinitionResource +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCResponseRulesList : public -{ +class InfoForResourceTypeCResponseRulesList +{ public: // no members available }; // Alignment: 7 // Size: 0x38 -struct RenderInputLayoutField_t : public -{ +struct RenderInputLayoutField_t +{ public: - uint8[32] m_pSemanticName; // 0x0 - int32_t m_nSemanticIndex; // 0x20 - uint32_t m_Format; // 0x24 - int32_t m_nOffset; // 0x28 - int32_t m_nSlot; // 0x2c - RenderSlotType_t m_nSlotType; // 0x30 - int32_t m_nInstanceStepRate; // 0x34 + uint8_t m_pSemanticName[32]; // 0x0 + int32_t m_nSemanticIndex; // 0x20 + uint32_t m_Format; // 0x24 + int32_t m_nOffset; // 0x28 + int32_t m_nSlot; // 0x2c + RenderSlotType_t m_nSlotType; // 0x30 + int32_t m_nInstanceStepRate; // 0x34 }; // Alignment: 1 // Size: 0x18 -struct VsInputSignature_t : public -{ +struct VsInputSignature_t +{ public: - CUtlVector< VsInputSignatureElement_t > m_elems; // 0x0 + CUtlVector< VsInputSignatureElement_t > m_elems; // 0x0 }; // Alignment: 4 // Size: 0xc4 -struct VsInputSignatureElement_t : public -{ +struct VsInputSignatureElement_t +{ public: - char[64] m_pName; // 0x0 - char[64] m_pSemantic; // 0x40 - char[64] m_pD3DSemanticName; // 0x80 - int32_t m_nD3DSemanticIndex; // 0xc0 -}; - -// Alignment: 0 -// Size: 0x30 -struct EventServerPollNetworking_t : public EventSimulate_t -{ -public: - // no members available -}; - -// Alignment: 2 -// Size: 0x30 -struct EventClientProcessInput_t : public -{ -public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 -}; - -// Alignment: 1 -// Size: 0x4 -struct EventClientPollNetworking_t : public -{ -public: - int32_t m_nTickCount; // 0x0 + char m_pName[64]; // 0x0 + char m_pSemantic[64]; // 0x40 + char m_pD3DSemanticName[64]; // 0x80 + int32_t m_nD3DSemanticIndex; // 0xc0 }; // Alignment: 4 // Size: 0x28 -struct EngineLoopState_t : public -{ +struct EngineLoopState_t +{ public: - int32_t m_nPlatWindowWidth; // 0x18 - int32_t m_nPlatWindowHeight; // 0x1c - int32_t m_nRenderWidth; // 0x20 - int32_t m_nRenderHeight; // 0x24 + int32_t m_nPlatWindowWidth; // 0x18 + int32_t m_nPlatWindowHeight; // 0x1c + int32_t m_nRenderWidth; // 0x20 + int32_t m_nRenderHeight; // 0x24 +}; + +// Alignment: 3 +// Size: 0x30 +struct EventSimulate_t +{ +public: + EngineLoopState_t m_LoopState; // 0x0 + bool m_bFirstTick; // 0x28 + bool m_bLastTick; // 0x29 +}; + +// Alignment: 1 +// Size: 0x4 +struct EventClientPollNetworking_t +{ +public: + int32_t m_nTickCount; // 0x0 +}; + +// Alignment: 2 +// Size: 0x30 +struct EventClientProcessInput_t +{ +public: + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 }; // Alignment: 8 // Size: 0x78 -struct EntComponentInfo_t : public -{ +struct EntComponentInfo_t +{ public: - V_uuid_t m_id; // 0x0 - char* m_pName; // 0x10 - char* m_pCPPClassname; // 0x18 - char* m_pNetworkDataReferencedDescription; // 0x20 - char* m_pNetworkDataReferencedPtrPropDescription; // 0x28 - int32_t m_nRuntimeIndex; // 0x30 - uint32_t m_nFlags; // 0x34 - CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x70 + V_uuid_t m_id; // 0x0 + char* m_pName; // 0x10 + char* m_pCPPClassname; // 0x18 + char* m_pNetworkDataReferencedDescription; // 0x20 + char* m_pNetworkDataReferencedPtrPropDescription; // 0x28 + int32_t m_nRuntimeIndex; // 0x30 + uint32_t m_nFlags; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0038[0x38]; // 0x38 +public: + CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x70 }; // Alignment: 0 // Size: 0x8 -class CEmptyEntityInstance : public -{ +class CEmptyEntityInstance +{ public: // no members available }; @@ -5639,139 +5804,143 @@ public: // Alignment: 0 // Size: 0x30 struct EventServerProcessNetworking_t : public EventSimulate_t -{ +{ public: // no members available }; -// Alignment: 3 +// Alignment: 0 // Size: 0x30 -struct EventSimulate_t : public -{ +struct EventServerPollNetworking_t : public EventSimulate_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - bool m_bFirstTick; // 0x28 - bool m_bLastTick; // 0x29 + // no members available }; // Alignment: 0 // Size: 0x10 -struct EntOutput_t : public -{ +struct EntOutput_t +{ public: // no members available }; // Alignment: 8 // Size: 0x60 -struct EventSetTime_t : public -{ +struct EventSetTime_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - int32_t m_nClientOutputFrames; // 0x28 - double m_flRealTime; // 0x30 - double m_flRenderTime; // 0x38 - double m_flRenderFrameTime; // 0x40 - double m_flRenderFrameTimeUnbounded; // 0x48 - double m_flRenderFrameTimeUnscaled; // 0x50 - double m_flTickRemainder; // 0x58 + EngineLoopState_t m_LoopState; // 0x0 + int32_t m_nClientOutputFrames; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + double m_flRealTime; // 0x30 + double m_flRenderTime; // 0x38 + double m_flRenderFrameTime; // 0x40 + double m_flRenderFrameTimeUnbounded; // 0x48 + double m_flRenderFrameTimeUnscaled; // 0x50 + double m_flTickRemainder; // 0x58 }; -// Alignment: 0 +// Alignment: 4 // Size: 0x40 -struct EventServerAdvanceTick_t : public EventAdvanceTick_t, EventSimulate_t -{ +struct EventAdvanceTick_t : public EventSimulate_t +{ public: - // no members available + int32_t m_nCurrentTick; // 0x30 + int32_t m_nCurrentTickThisFrame; // 0x34 + int32_t m_nTotalTicksThisFrame; // 0x38 + int32_t m_nTotalTicks; // 0x3c }; // Alignment: 2 // Size: 0x8 -struct EventClientSendInput_t : public -{ +struct EventClientSendInput_t +{ public: - bool m_bFinalClientCommandTick; // 0x0 - int32_t m_nAdditionalClientCommandsToCreate; // 0x4 + bool m_bFinalClientCommandTick; // 0x0 + int32_t m_nAdditionalClientCommandsToCreate; // 0x4 }; // Alignment: 3 // Size: 0x30 -struct EventClientFrameSimulate_t : public -{ +struct EventClientFrameSimulate_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 - float m_flFrameTime; // 0x2c + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 + float m_flFrameTime; // 0x2c }; // Alignment: 6 // Size: 0x48 -struct EventClientPreOutput_t : public -{ +struct EventClientPreOutput_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - double m_flRenderTime; // 0x28 - double m_flRenderFrameTime; // 0x30 - double m_flRenderFrameTimeUnbounded; // 0x38 - float m_flRealTime; // 0x40 - bool m_bRenderOnly; // 0x44 + EngineLoopState_t m_LoopState; // 0x0 + double m_flRenderTime; // 0x28 + double m_flRenderFrameTime; // 0x30 + double m_flRenderFrameTimeUnbounded; // 0x38 + float m_flRealTime; // 0x40 + bool m_bRenderOnly; // 0x44 }; // Alignment: 0 // Size: 0x1 -struct EventModInitialized_t : public -{ +struct EventModInitialized_t +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class CVariantDefaultAllocator : public -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x40 -struct EventClientPostAdvanceTick_t : public EventPostAdvanceTick_t, EventSimulate_t -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x1 -struct EventSplitScreenStateChanged_t : public -{ +class CVariantDefaultAllocator +{ public: // no members available }; // Alignment: 4 // Size: 0x40 -struct EventAdvanceTick_t : public EventSimulate_t -{ +struct EventPostAdvanceTick_t : public EventSimulate_t +{ public: - int32_t m_nCurrentTick; // 0x30 - int32_t m_nCurrentTickThisFrame; // 0x34 - int32_t m_nTotalTicksThisFrame; // 0x38 - int32_t m_nTotalTicks; // 0x3c + int32_t m_nCurrentTick; // 0x30 + int32_t m_nCurrentTickThisFrame; // 0x34 + int32_t m_nTotalTicksThisFrame; // 0x38 + int32_t m_nTotalTicks; // 0x3c }; // Alignment: 0 // Size: 0x1 -struct EventClientProcessNetworking_t : public -{ +struct EventSplitScreenStateChanged_t +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x40 +struct EventServerAdvanceTick_t : public EventAdvanceTick_t +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x1 +struct EventClientProcessNetworking_t +{ public: // no members available }; // Alignment: 0 // Size: 0x8 -class IHandleEntity : public -{ +class IHandleEntity +{ public: // no members available }; @@ -5779,7 +5948,7 @@ public: // Alignment: 0 // Size: 0x30 struct EventClientPauseSimulate_t : public EventSimulate_t -{ +{ public: // no members available }; @@ -5787,31 +5956,31 @@ public: // Alignment: 0 // Size: 0x30 struct EventClientPreSimulate_t : public EventSimulate_t -{ +{ public: // no members available }; // Alignment: 1 // Size: 0x10 -struct EventPostDataUpdate_t : public -{ +struct EventPostDataUpdate_t +{ public: - int32_t m_nCount; // 0x0 + int32_t m_nCount; // 0x0 }; // Alignment: 1 // Size: 0x4 -struct EventProfileStorageAvailable_t : public -{ +struct EventProfileStorageAvailable_t +{ public: - CSplitScreenSlot m_nSplitScreenSlot; // 0x0 + CSplitScreenSlot m_nSplitScreenSlot; // 0x0 }; // Alignment: 0 // Size: 0x40 -struct EventServerPostAdvanceTick_t : public EventPostAdvanceTick_t, EventSimulate_t -{ +struct EventServerPostAdvanceTick_t : public EventPostAdvanceTick_t +{ public: // no members available }; @@ -5819,1884 +5988,1860 @@ public: // Alignment: 0 // Size: 0x30 struct EventServerSimulate_t : public EventSimulate_t -{ +{ public: // no members available }; // Alignment: 1 // Size: 0x4 -struct EventAppShutdown_t : public -{ +struct EventAppShutdown_t +{ public: - int32_t m_nDummy0; // 0x0 + int32_t m_nDummy0; // 0x0 }; // Alignment: 1 // Size: 0x4 -struct EventFrameBoundary_t : public -{ +struct EventFrameBoundary_t +{ public: - float m_flFrameTime; // 0x0 + float m_flFrameTime; // 0x0 }; // Alignment: 3 // Size: 0x30 -struct EventClientProcessGameInput_t : public -{ +struct EventClientProcessGameInput_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 - float m_flFrameTime; // 0x2c + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 + float m_flFrameTime; // 0x2c }; // Alignment: 0 // Size: 0x1 -struct EventClientPredictionPostNetupdate_t : public -{ +struct EventClientPredictionPostNetupdate_t +{ public: // no members available }; // Alignment: 1 // Size: 0x10 -struct EventPreDataUpdate_t : public -{ +struct EventPreDataUpdate_t +{ public: - int32_t m_nCount; // 0x0 + int32_t m_nCount; // 0x0 }; // Alignment: 2 // Size: 0x30 -struct EventClientPollInput_t : public -{ +struct EventClientPollInput_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 }; // Alignment: 5 // Size: 0x40 -struct EventClientPostOutput_t : public -{ +struct EventClientPostOutput_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - double m_flRenderTime; // 0x28 - float m_flRenderFrameTime; // 0x30 - float m_flRenderFrameTimeUnbounded; // 0x34 - bool m_bRenderOnly; // 0x38 + EngineLoopState_t m_LoopState; // 0x0 + double m_flRenderTime; // 0x28 + float m_flRenderFrameTime; // 0x30 + float m_flRenderFrameTimeUnbounded; // 0x34 + bool m_bRenderOnly; // 0x38 }; // Alignment: 0 // Size: 0x30 struct EventClientSimulate_t : public EventSimulate_t -{ +{ public: // no members available }; // Alignment: 1 -// Size: 0x28 -class CNetworkVarChainer : public -{ +// Size: 0x2 +struct ChangeAccessorFieldPathIndex_t +{ public: - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x20 + int16_t m_Value; // 0x0 }; // Alignment: 0 // Size: 0x30 -struct EntInput_t : public -{ +struct EntInput_t +{ public: // no members available }; // Alignment: 0 // Size: 0x40 -struct EventClientAdvanceTick_t : public EventAdvanceTick_t, EventSimulate_t -{ +struct EventClientAdvanceTick_t : public EventAdvanceTick_t +{ public: // no members available }; // Alignment: 0 // Size: 0x8 -class CEntityComponent : public -{ +class CEntityComponent +{ public: // no members available }; // Alignment: 4 // Size: 0x28 -class CEntityComponentHelper : public -{ +class CEntityComponentHelper +{ public: - uint32_t m_flags; // 0x8 - EntComponentInfo_t* m_pInfo; // 0x10 - int32_t m_nPriority; // 0x18 - CEntityComponentHelper* m_pNext; // 0x20 + uint32_t m_flags; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + EntComponentInfo_t* m_pInfo; // 0x10 + int32_t m_nPriority; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + CEntityComponentHelper* m_pNext; // 0x20 }; // Alignment: 0 // Size: 0x30 struct EventServerPostSimulate_t : public EventSimulate_t -{ +{ public: // no members available }; // Alignment: 5 // Size: 0x38 -struct EventClientOutput_t : public -{ +struct EventClientOutput_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRenderTime; // 0x28 - float m_flRealTime; // 0x2c - float m_flRenderFrameTimeUnbounded; // 0x30 - bool m_bRenderOnly; // 0x34 + EngineLoopState_t m_LoopState; // 0x0 + float m_flRenderTime; // 0x28 + float m_flRealTime; // 0x2c + float m_flRenderFrameTimeUnbounded; // 0x30 + bool m_bRenderOnly; // 0x34 }; // Alignment: 1 // Size: 0x1 -struct EventClientSceneSystemThreadStateChange_t : public -{ +struct EventClientSceneSystemThreadStateChange_t +{ public: - bool m_bThreadsActive; // 0x0 + bool m_bThreadsActive; // 0x0 }; // Alignment: 1 // Size: 0x28 -class CEntityIOOutput : public -{ +class CEntityIOOutput +{ public: - CVariantBase< CVariantDefaultAllocator > m_Value; // 0x18 + CVariantBase< CVariantDefaultAllocator > m_Value; // 0x18 }; -// Alignment: 4 +// Alignment: 0 // Size: 0x40 -struct EventPostAdvanceTick_t : public EventSimulate_t -{ +struct EventClientPostAdvanceTick_t : public EventPostAdvanceTick_t +{ public: - int32_t m_nCurrentTick; // 0x30 - int32_t m_nCurrentTickThisFrame; // 0x34 - int32_t m_nTotalTicksThisFrame; // 0x38 - int32_t m_nTotalTicks; // 0x3c + // no members available }; // Alignment: 3 // Size: 0x30 -struct EventSimpleLoopFrameUpdate_t : public -{ +struct EventSimpleLoopFrameUpdate_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 - float m_flFrameTime; // 0x2c + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 + float m_flFrameTime; // 0x2c }; // Alignment: 0 // Size: 0x30 struct EventClientPostSimulate_t : public EventSimulate_t -{ +{ public: // no members available }; // Alignment: 1 -// Size: 0x10 -struct MaterialParamTexture_t : public MaterialParam_t -{ +// Size: 0x8 +struct MaterialParam_t +{ public: - CStrongHandle< InfoForResourceTypeCTextureBase > m_pValue; // 0x8 + CUtlString m_name; // 0x0 }; // Alignment: 1 // Size: 0x10 struct MaterialParamFloat_t : public MaterialParam_t -{ +{ public: - float m_flValue; // 0x8 + float m_flValue; // 0x8 }; // Alignment: 10 // Size: 0x70 -struct PostProcessingBloomParameters_t : public -{ +struct PostProcessingBloomParameters_t +{ public: - BloomBlendMode_t m_blendMode; // 0x0 - float m_flBloomStrength; // 0x4 - float m_flScreenBloomStrength; // 0x8 - float m_flBlurBloomStrength; // 0xc - float m_flBloomThreshold; // 0x10 - float m_flBloomThresholdWidth; // 0x14 - float m_flSkyboxBloomStrength; // 0x18 - float m_flBloomStartValue; // 0x1c - float32[5] m_flBlurWeight; // 0x20 - Vector[5] m_vBlurTint; // 0x34 + BloomBlendMode_t m_blendMode; // 0x0 + float m_flBloomStrength; // 0x4 + float m_flScreenBloomStrength; // 0x8 + float m_flBlurBloomStrength; // 0xc + float m_flBloomThreshold; // 0x10 + float m_flBloomThresholdWidth; // 0x14 + float m_flSkyboxBloomStrength; // 0x18 + float m_flBloomStartValue; // 0x1c + float m_flBlurWeight[5]; // 0x20 + Vector m_vBlurTint[5]; // 0x34 }; // Alignment: 14 // Size: 0x130 -struct MaterialResourceData_t : public -{ +struct MaterialResourceData_t +{ public: - CUtlString m_materialName; // 0x0 - CUtlString m_shaderName; // 0x8 - CUtlVector< MaterialParamInt_t > m_intParams; // 0x10 - CUtlVector< MaterialParamFloat_t > m_floatParams; // 0x28 - CUtlVector< MaterialParamVector_t > m_vectorParams; // 0x40 - CUtlVector< MaterialParamTexture_t > m_textureParams; // 0x58 - CUtlVector< MaterialParamBuffer_t > m_dynamicParams; // 0x70 - CUtlVector< MaterialParamBuffer_t > m_dynamicTextureParams; // 0x88 - CUtlVector< MaterialParamInt_t > m_intAttributes; // 0xa0 - CUtlVector< MaterialParamFloat_t > m_floatAttributes; // 0xb8 - CUtlVector< MaterialParamVector_t > m_vectorAttributes; // 0xd0 - CUtlVector< MaterialParamTexture_t > m_textureAttributes; // 0xe8 - CUtlVector< MaterialParamString_t > m_stringAttributes; // 0x100 - CUtlVector< CUtlString > m_renderAttributesUsed; // 0x118 + CUtlString m_materialName; // 0x0 + CUtlString m_shaderName; // 0x8 + CUtlVector< MaterialParamInt_t > m_intParams; // 0x10 + CUtlVector< MaterialParamFloat_t > m_floatParams; // 0x28 + CUtlVector< MaterialParamVector_t > m_vectorParams; // 0x40 + CUtlVector< MaterialParamTexture_t > m_textureParams; // 0x58 + CUtlVector< MaterialParamBuffer_t > m_dynamicParams; // 0x70 + CUtlVector< MaterialParamBuffer_t > m_dynamicTextureParams; // 0x88 + CUtlVector< MaterialParamInt_t > m_intAttributes; // 0xa0 + CUtlVector< MaterialParamFloat_t > m_floatAttributes; // 0xb8 + CUtlVector< MaterialParamVector_t > m_vectorAttributes; // 0xd0 + CUtlVector< MaterialParamTexture_t > m_textureAttributes; // 0xe8 + CUtlVector< MaterialParamString_t > m_stringAttributes; // 0x100 + CUtlVector< CUtlString > m_renderAttributesUsed; // 0x118 }; // Alignment: 1 // Size: 0x20 struct MaterialParamBuffer_t : public MaterialParam_t -{ +{ public: - CUtlBinaryBlock m_value; // 0x8 + CUtlBinaryBlock m_value; // 0x8 }; // Alignment: 15 // Size: 0x3c -struct PostProcessingTonemapParameters_t : public -{ +struct PostProcessingTonemapParameters_t +{ public: - float m_flExposureBias; // 0x0 - float m_flShoulderStrength; // 0x4 - float m_flLinearStrength; // 0x8 - float m_flLinearAngle; // 0xc - float m_flToeStrength; // 0x10 - float m_flToeNum; // 0x14 - float m_flToeDenom; // 0x18 - float m_flWhitePoint; // 0x1c - float m_flLuminanceSource; // 0x20 - float m_flExposureBiasShadows; // 0x24 - float m_flExposureBiasHighlights; // 0x28 - float m_flMinShadowLum; // 0x2c - float m_flMaxShadowLum; // 0x30 - float m_flMinHighlightLum; // 0x34 - float m_flMaxHighlightLum; // 0x38 + float m_flExposureBias; // 0x0 + float m_flShoulderStrength; // 0x4 + float m_flLinearStrength; // 0x8 + float m_flLinearAngle; // 0xc + float m_flToeStrength; // 0x10 + float m_flToeNum; // 0x14 + float m_flToeDenom; // 0x18 + float m_flWhitePoint; // 0x1c + float m_flLuminanceSource; // 0x20 + float m_flExposureBiasShadows; // 0x24 + float m_flExposureBiasHighlights; // 0x28 + float m_flMinShadowLum; // 0x2c + float m_flMaxShadowLum; // 0x30 + float m_flMinHighlightLum; // 0x34 + float m_flMaxHighlightLum; // 0x38 }; // Alignment: 5 // Size: 0x14 -struct PostProcessingLocalContrastParameters_t : public -{ +struct PostProcessingLocalContrastParameters_t +{ public: - float m_flLocalContrastStrength; // 0x0 - float m_flLocalContrastEdgeStrength; // 0x4 - float m_flLocalContrastVignetteStart; // 0x8 - float m_flLocalContrastVignetteEnd; // 0xc - float m_flLocalContrastVignetteBlur; // 0x10 + float m_flLocalContrastStrength; // 0x0 + float m_flLocalContrastEdgeStrength; // 0x4 + float m_flLocalContrastVignetteStart; // 0x8 + float m_flLocalContrastVignetteEnd; // 0xc + float m_flLocalContrastVignetteBlur; // 0x10 }; // Alignment: 6 // Size: 0x24 -struct PostProcessingVignetteParameters_t : public -{ +struct PostProcessingVignetteParameters_t +{ public: - float m_flVignetteStrength; // 0x0 - Vector2D m_vCenter; // 0x4 - float m_flRadius; // 0xc - float m_flRoundness; // 0x10 - float m_flFeather; // 0x14 - Vector m_vColorTint; // 0x18 + float m_flVignetteStrength; // 0x0 + Vector2D m_vCenter; // 0x4 + float m_flRadius; // 0xc + float m_flRoundness; // 0x10 + float m_flFeather; // 0x14 + Vector m_vColorTint; // 0x18 }; // Alignment: 1 // Size: 0x10 struct MaterialParamInt_t : public MaterialParam_t -{ +{ public: - int32_t m_nValue; // 0x8 + int32_t m_nValue; // 0x8 }; // Alignment: 11 // Size: 0x118 -struct PostProcessingResource_t : public -{ +struct PostProcessingResource_t +{ public: - bool m_bHasTonemapParams; // 0x0 - PostProcessingTonemapParameters_t m_toneMapParams; // 0x4 - bool m_bHasBloomParams; // 0x40 - PostProcessingBloomParameters_t m_bloomParams; // 0x44 - bool m_bHasVignetteParams; // 0xb4 - PostProcessingVignetteParameters_t m_vignetteParams; // 0xb8 - bool m_bHasLocalContrastParams; // 0xdc - PostProcessingLocalContrastParameters_t m_localConstrastParams; // 0xe0 - int32_t m_nColorCorrectionVolumeDim; // 0xf4 - CUtlBinaryBlock m_colorCorrectionVolumeData; // 0xf8 - bool m_bHasColorCorrection; // 0x110 + bool m_bHasTonemapParams; // 0x0 + PostProcessingTonemapParameters_t m_toneMapParams; // 0x4 + bool m_bHasBloomParams; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: + PostProcessingBloomParameters_t m_bloomParams; // 0x44 + bool m_bHasVignetteParams; // 0xb4 +private: + [[maybe_unused]] uint8_t __pad00b5[0x3]; // 0xb5 +public: + PostProcessingVignetteParameters_t m_vignetteParams; // 0xb8 + bool m_bHasLocalContrastParams; // 0xdc +private: + [[maybe_unused]] uint8_t __pad00dd[0x3]; // 0xdd +public: + PostProcessingLocalContrastParameters_t m_localConstrastParams; // 0xe0 + int32_t m_nColorCorrectionVolumeDim; // 0xf4 + CUtlBinaryBlock m_colorCorrectionVolumeData; // 0xf8 + bool m_bHasColorCorrection; // 0x110 }; // Alignment: 1 // Size: 0x10 struct MaterialParamString_t : public MaterialParam_t -{ +{ public: - CUtlString m_value; // 0x8 + CUtlString m_value; // 0x8 }; // Alignment: 1 // Size: 0x18 struct MaterialParamVector_t : public MaterialParam_t -{ +{ public: - Vector4D m_value; // 0x8 -}; - -// Alignment: 1 -// Size: 0x8 -struct MaterialParam_t : public -{ -public: - CUtlString m_name; // 0x0 -}; - -// Alignment: 1 -// Size: 0x2 -struct ChangeAccessorFieldPathIndex_t : public -{ -public: - int16_t m_Value; // 0x0 -}; - -// Alignment: 1 -// Size: 0x38 -class CAnimTagManagerUpdater : public -{ -public: - CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 -}; - -// Alignment: 14 -// Size: 0xe8 -class CModelConfigElement_AttachedModel : public CModelConfigElement -{ -public: - CUtlString m_InstanceName; // 0x48 - CUtlString m_EntityClass; // 0x50 - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x58 - Vector m_vOffset; // 0x60 - QAngle m_aAngOffset; // 0x6c - CUtlString m_AttachmentName; // 0x78 - CUtlString m_LocalAttachmentOffsetName; // 0x80 - ModelConfigAttachmentType_t m_AttachmentType; // 0x88 - bool m_bBoneMergeFlex; // 0x8c - bool m_bUserSpecifiedColor; // 0x8d - bool m_bUserSpecifiedMaterialGroup; // 0x8e - bool m_bAcceptParentMaterialDrivenDecals; // 0x8f - CUtlString m_BodygroupOnOtherModels; // 0x90 - CUtlString m_MaterialGroupOnOtherModels; // 0x98 -}; - -// Alignment: 3 -// Size: 0x100 -class CMoodVData : public -{ -public: - // MPropertyDescription "Model to get the animation list from" - // MPropertyAutoRebuildOnChange - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x0 - // MPropertyDescription "Type of mood" - MoodType_t m_nMoodType; // 0xe0 - // MPropertyDescription "Layers for this mood" - CUtlVector< MoodAnimationLayer_t > m_animationLayers; // 0xe8 -}; - -// Alignment: 5 -// Size: 0x78 -class CWayPointHelperUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ -public: - float m_flStartCycle; // 0x6c - float m_flEndCycle; // 0x70 - bool m_bOnlyGoals; // 0x74 - bool m_bPreventOvershoot; // 0x75 - bool m_bPreventUndershoot; // 0x76 -}; - -// Alignment: 2 -// Size: 0x70 -class CSetFacingUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ -public: - FacingMode m_facingMode; // 0x68 - bool m_bResetChild; // 0x6c -}; - -// Alignment: 5 -// Size: 0x108 -class CMotionGraphGroup : public -{ -public: - CMotionSearchDB m_searchDB; // 0x0 - CUtlVector< CSmartPtr< CMotionGraph > > m_motionGraphs; // 0xb8 - CUtlVector< CMotionGraphConfig > m_motionGraphConfigs; // 0xd0 - CUtlVector< int32 > m_sampleToConfig; // 0xe8 - AnimScriptHandle m_hIsActiveScript; // 0x100 -}; - -// Alignment: 11 -// Size: 0x50 -struct FootFixedData_t : public -{ -public: - VectorAligned m_vToeOffset; // 0x0 - VectorAligned m_vHeelOffset; // 0x10 - int32_t m_nTargetBoneIndex; // 0x20 - int32_t m_nAnkleBoneIndex; // 0x24 - int32_t m_nIKAnchorBoneIndex; // 0x28 - int32_t m_ikChainIndex; // 0x2c - float m_flMaxIKLength; // 0x30 - int32_t m_nFootIndex; // 0x34 - int32_t m_nTagIndex; // 0x38 - float m_flMaxRotationLeft; // 0x3c - float m_flMaxRotationRight; // 0x40 + Vector4D m_value; // 0x8 }; // Alignment: 1 // Size: 0x10 -class CAnimMorphDifference : public -{ +struct MaterialParamTexture_t : public MaterialParam_t +{ public: - CBufferString m_name; // 0x0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pValue; // 0x8 +}; + +// Alignment: 1 +// Size: 0x28 +class CNetworkVarChainer +{ +public: + // MNetworkDisable + // MNetworkChangeAccessorFieldPathIndex + ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x20 +}; + +// Alignment: 1 +// Size: 0x38 +class CAnimTagManagerUpdater +{ +public: + CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 +}; + +// Alignment: 2 +// Size: 0x48 +class CModelConfigElement +{ +public: + CUtlString m_ElementName; // 0x8 + CUtlVector< CModelConfigElement* > m_NestedElements; // 0x10 +}; + +// Alignment: 3 +// Size: 0x100 +class CMoodVData +{ +public: + // MPropertyDescription "Model to get the animation list from" + // MPropertyAutoRebuildOnChange + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x0 + // MPropertyDescription "Type of mood" + MoodType_t m_nMoodType; // 0xe0 +private: + [[maybe_unused]] uint8_t __pad00e4[0x4]; // 0xe4 +public: + // MPropertyDescription "Layers for this mood" + CUtlVector< MoodAnimationLayer_t > m_animationLayers; // 0xe8 +}; + +// Alignment: 2 +// Size: 0x30 +class CAnimNodePath +{ +public: + AnimNodeID m_path[11]; // 0x0 + int32_t m_nCount; // 0x2c +}; + +// Alignment: 1 +// Size: 0x10 +class CAnimUpdateNodeRef +{ +public: + int32_t m_nodeIndex; // 0x8 +}; + +// Alignment: 2 +// Size: 0x20 +class CProductQuantizer +{ +public: + CUtlVector< CVectorQuantizer > m_subQuantizers; // 0x0 + int32_t m_nDimensions; // 0x18 +}; + +// Alignment: 11 +// Size: 0x50 +struct FootFixedData_t +{ +public: + VectorAligned m_vToeOffset; // 0x0 + VectorAligned m_vHeelOffset; // 0x10 + int32_t m_nTargetBoneIndex; // 0x20 + int32_t m_nAnkleBoneIndex; // 0x24 + int32_t m_nIKAnchorBoneIndex; // 0x28 + int32_t m_ikChainIndex; // 0x2c + float m_flMaxIKLength; // 0x30 + int32_t m_nFootIndex; // 0x34 + int32_t m_nTagIndex; // 0x38 + float m_flMaxRotationLeft; // 0x3c + float m_flMaxRotationRight; // 0x40 +}; + +// Alignment: 1 +// Size: 0x10 +class CAnimMorphDifference +{ +public: + CBufferString m_name; // 0x0 }; // Alignment: 1 // Size: 0x1 -struct AttachmentHandle_t : public -{ +struct AttachmentHandle_t +{ public: - uint8_t m_Value; // 0x0 + uint8_t m_Value; // 0x0 }; // Alignment: 6 // Size: 0x78 -class CAnimKeyData : public -{ +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 + CBufferString m_name; // 0x0 + CUtlVector< CAnimBone > m_boneArray; // 0x10 + CUtlVector< CAnimUser > m_userArray; // 0x28 + CUtlVector< CBufferString > m_morphArray; // 0x40 + int32_t m_nChannelElements; // 0x58 +private: + [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c +public: + CUtlVector< CAnimDataChannelDesc > m_dataChannelArray; // 0x60 }; -// Alignment: 6 -// Size: 0x88 -class CBinaryUpdateNode : public CAnimUpdateNodeBase -{ +// Alignment: 3 +// Size: 0x58 +class CAnimUpdateNodeBase +{ public: - CAnimUpdateNodeRef m_pChild1; // 0x58 - CAnimUpdateNodeRef m_pChild2; // 0x68 - BinaryNodeTiming m_timingBehavior; // 0x78 - float m_flTimingBlend; // 0x7c - bool m_bResetChild1; // 0x80 - bool m_bResetChild2; // 0x81 + CAnimNodePath m_nodePath; // 0x18 + CUtlString m_name; // 0x48 + AnimNodeNetworkMode m_networkMode; // 0x50 }; // Alignment: 7 // Size: 0x38 -class CFingerBone : public -{ +class CFingerBone +{ public: - CUtlString m_boneName; // 0x0 - Vector m_hingeAxis; // 0x8 - Vector m_vCapsulePos1; // 0x14 - Vector m_vCapsulePos2; // 0x20 - float m_flMinAngle; // 0x2c - float m_flMaxAngle; // 0x30 - float m_flRadius; // 0x34 + CUtlString m_boneName; // 0x0 + Vector m_hingeAxis; // 0x8 + Vector m_vCapsulePos1; // 0x14 + Vector m_vCapsulePos2; // 0x20 + float m_flMinAngle; // 0x2c + float m_flMaxAngle; // 0x30 + float m_flRadius; // 0x34 }; // Alignment: 2 // Size: 0x8 -struct IKSolverSettings_t : public -{ +struct IKSolverSettings_t +{ public: // MPropertyFriendlyName "Solver Type" // MPropertyAttributeChoiceEnumName // MPropertyAttrChangeCallback - IKSolverType m_SolverType; // 0x0 + IKSolverType m_SolverType; // 0x0 // MPropertyFriendlyName "Num Iterations " // MPropertyAttrStateCallback - int32_t m_nNumIterations; // 0x4 + int32_t m_nNumIterations; // 0x4 }; // Alignment: 5 // Size: 0x70 -class CAnimData : public -{ +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 + CBufferString m_name; // 0x10 + CUtlVector< CAnimDesc > m_animArray; // 0x20 + CUtlVector< CAnimDecoder > m_decoderArray; // 0x38 + int32_t m_nMaxUniqueFrameIndex; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 +public: + CUtlVector< CAnimFrameSegment > m_segmentArray; // 0x58 }; // Alignment: 1 -// Size: 0x30 -class CEmitTagAction : public CAnimActionBase -{ +// Size: 0x4 +class AnimTagID +{ public: - // MPropertyFriendlyName "Tag" - // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tag; // 0x28 + uint32_t m_id; // 0x0 }; -// Alignment: 8 -// Size: 0x58 -class CSolveIKChainAnimNodeChainData : public -{ +// Alignment: 1 +// Size: 0x4 +class AnimParamID +{ public: - // MPropertyFriendlyName "IK Chain" - // MPropertyAttributeChoiceName "IKChain" - CUtlString m_IkChain; // 0x8 - // MPropertyFriendlyName "Solver Setting Source" - // MPropertyAttributeChoiceEnumName - // MPropertyAttrChangeCallback - SolveIKChainAnimNodeSettingSource m_SolverSettingSource; // 0x10 - // MPropertyFriendlyName "Override Solver Settings" - // MPropertyAutoExpandSelf - // MPropertyAttrStateCallback - IKSolverSettings_t m_OverrideSolverSettings; // 0x14 - // MPropertyFriendlyName "Target Setting Source" - // MPropertyAttributeChoiceEnumName - // MPropertyAttrChangeCallback - SolveIKChainAnimNodeSettingSource m_TargetSettingSource; // 0x1c - // MPropertyFriendlyName "Override Target Settings" - // MPropertyAutoExpandSelf - // 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 + uint32_t m_id; // 0x0 }; // Alignment: 2 // Size: 0x8 -class CAnimSequenceParams : public -{ +class CAnimSequenceParams +{ public: - float m_flFadeInTime; // 0x0 - float m_flFadeOutTime; // 0x4 + float m_flFadeInTime; // 0x0 + float m_flFadeOutTime; // 0x4 }; -// Alignment: 3 -// Size: 0x48 -class CPathHelperAnimNode : public CAnimNodeBase -{ +// Alignment: 1 +// Size: 0x4 +class AnimNodeID +{ +public: + uint32_t m_id; // 0x0 +}; + +// Alignment: 1 +// Size: 0x28 +class CMotionMetricBase +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Stopping Radius" - float m_flStoppingRadius; // 0x40 - // MPropertyFriendlyName "Stopping Min Speed Scale" - float m_flStoppingSpeedScale; // 0x44 -}; - -// Alignment: 4 -// Size: 0x38 -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 + float m_flWeight; // 0x20 }; // Alignment: 6 // Size: 0x90 -struct PhysSoftbodyDesc_t : public -{ +struct PhysSoftbodyDesc_t +{ public: - CUtlVector< uint32 > m_ParticleBoneHash; // 0x0 - CUtlVector< RnSoftbodyParticle_t > m_Particles; // 0x18 - CUtlVector< RnSoftbodySpring_t > m_Springs; // 0x30 - CUtlVector< RnSoftbodyCapsule_t > m_Capsules; // 0x48 - CUtlVector< CTransform > m_InitPose; // 0x60 - CUtlVector< CUtlString > m_ParticleBoneName; // 0x78 + CUtlVector< uint32 > m_ParticleBoneHash; // 0x0 + CUtlVector< RnSoftbodyParticle_t > m_Particles; // 0x18 + CUtlVector< RnSoftbodySpring_t > m_Springs; // 0x30 + CUtlVector< RnSoftbodyCapsule_t > m_Capsules; // 0x48 + CUtlVector< CTransform > m_InitPose; // 0x60 + CUtlVector< CUtlString > m_ParticleBoneName; // 0x78 }; -// Alignment: 7 -// Size: 0x108 -class CMovementComponent : public CAnimComponentBase -{ +// Alignment: 2 +// Size: 0x10 +class CAnimInputDamping +{ public: - // MPropertyFriendlyName "Movement Modes" - CUtlVector< CMovementMode > m_moveModes; // 0x40 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimMotorBase > > m_motors; // 0x58 - // MPropertyFriendlyName "Network Path" - bool m_bNetworkPath; // 0x70 - // MPropertyGroupName "+Facing" - // MPropertyFriendlyName "Default Mode" - FacingMode m_eDefaultFacingMode; // 0x74 - // MPropertyGroupName "+Facing" - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_facingDamping; // 0x78 - // MPropertyGroupName "+Facing" - // MPropertyFriendlyName "Network Facing" - bool m_bNetworkFacing; // 0x88 - // MPropertyHideField - AnimParamID[30] m_paramIDs; // 0x8c + // MPropertyFriendlyName "Speed Function" + DampingSpeedFunction m_speedFunction; // 0x8 + // MPropertyFriendlyName "Speed Scale" + float m_fSpeedScale; // 0xc }; -// Alignment: 7 -// Size: 0x1c -class CSeqAutoLayer : public -{ +// Alignment: 8 +// Size: 0x8 +class CSeqAutoLayerFlag +{ 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 + 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 }; // Alignment: 8 // Size: 0x20 -class CPhysSurfacePropertiesAudio : public -{ +class CPhysSurfacePropertiesAudio +{ public: // MKV3TransferName "audioreflectivity" - float m_reflectivity; // 0x0 + float m_reflectivity; // 0x0 // MKV3TransferName "audiohardnessfactor" - float m_hardnessFactor; // 0x4 + float m_hardnessFactor; // 0x4 // MKV3TransferName "audioroughnessfactor" - float m_roughnessFactor; // 0x8 + float m_roughnessFactor; // 0x8 // MKV3TransferName "scrapeRoughThreshold" - float m_roughThreshold; // 0xc + float m_roughThreshold; // 0xc // MKV3TransferName "impactHardThreshold" - float m_hardThreshold; // 0x10 + float m_hardThreshold; // 0x10 // MKV3TransferName "audioHardMinVelocity" - float m_hardVelocityThreshold; // 0x14 + float m_hardVelocityThreshold; // 0x14 // MKV3TransferName "staticImpactVolume" - float m_flStaticImpactVolume; // 0x18 + float m_flStaticImpactVolume; // 0x18 // MKV3TransferName "occlusionFactor" - float m_flOcclusionFactor; // 0x1c + float m_flOcclusionFactor; // 0x1c }; // Alignment: 3 // Size: 0x30 -class CBlend2DItemBase : public -{ +class CBlend2DItemBase +{ public: // MPropertyFriendlyName "Blend Value" - Vector2D m_blendValue; // 0x18 + Vector2D m_blendValue; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0020[0x8]; // 0x20 +public: // MPropertyGroupName "+Duration Override" // MPropertyFriendlyName "Use Custom Duration" // MPropertyAttrChangeCallback - bool m_bUseCustomDuration; // 0x28 + bool m_bUseCustomDuration; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 +public: // MPropertyGroupName "+Duration Override" // MPropertyFriendlyName "Custom Duration" // MPropertyAttrStateCallback - float m_flCustomDuration; // 0x2c + float m_flCustomDuration; // 0x2c }; // Alignment: 4 -// Size: 0x58 -class CMaterialAttributeAnimTag : public CAnimTagBase -{ -public: - // MPropertyFriendlyName "Attribute Name" - CUtlString m_AttributeName; // 0x40 - // MPropertyFriendlyName "Attribute Type" - // MPropertyAttrChangeCallback - MatterialAttributeTagType_t m_AttributeType; // 0x48 - // MPropertyFriendlyName "Value" - // MPropertyAttrStateCallback - float m_flValue; // 0x4c - // MPropertyFriendlyName "Color" - // MPropertyAttrStateCallback - Color m_Color; // 0x50 -}; - -// Alignment: 13 -// Size: 0xc8 -class CBlend2DAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CBlend2DItemBase > > m_items; // 0x50 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 - // MPropertyFriendlyName "Horizontal Axis" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_blendSourceX; // 0x98 - // MPropertyFriendlyName "Horizontal Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_paramX; // 0x9c - // MPropertyFriendlyName "Vertical Axis" - // MPropertyAttrChangeCallback - // MPropertyAttrStateCallback - AnimValueSource m_blendSourceY; // 0xa0 - // MPropertyFriendlyName "Vertical Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_paramY; // 0xa4 - // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0xa8 - // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0xa9 - // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0xaa - // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0xac - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0xb0 - // MPropertyFriendlyName "AnimEvents and Tags Exclusive To Most Weighted" - bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xc0 -}; - -// Alignment: 0 -// Size: 0x28 -class CPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase, CAnimMotorUpdaterBase -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x28 -class CBoneConstraintBase : public -{ -public: - // no members available -}; - -// Alignment: 2 -// Size: 0x48 -class CSpeedScaleAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x40 -}; - -// Alignment: 2 -// Size: 0x70 -class CRagdollUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ -public: - int32_t m_nWeightListIndex; // 0x68 - RagdollPoseControl m_poseControlMethod; // 0x6c -}; - -// Alignment: 1 // Size: 0x38 -class CAnimScriptComponentUpdater : public CAnimComponentUpdater -{ -public: - AnimScriptHandle m_hScript; // 0x30 -}; - -// Alignment: 8 -// Size: 0xd0 -struct AimMatrixOpFixedSettings_t : public -{ -public: - CAnimAttachment m_attachment; // 0x0 - CAnimInputDamping m_damping; // 0x80 - CPoseHandle[10] m_poseCacheHandles; // 0x90 - AimMatrixBlendMode m_eBlendMode; // 0xb8 - float m_fAngleIncrement; // 0xbc - int32_t m_nSequenceMaxFrame; // 0xc0 - int32_t m_nBoneMaskIndex; // 0xc4 - bool m_bTargetIsPosition; // 0xc8 -}; - -// Alignment: 13 -// Size: 0xa8 -class CFollowPathUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ -public: - float m_flBlendOutTime; // 0x6c - bool m_bBlockNonPathMovement; // 0x70 - bool m_bStopFeetAtGoal; // 0x71 - bool m_bScaleSpeed; // 0x72 - float m_flScale; // 0x74 - float m_flMinAngle; // 0x78 - float m_flMaxAngle; // 0x7c - float m_flSpeedScaleBlending; // 0x80 - CAnimInputDamping m_turnDamping; // 0x88 - AnimValueSource m_facingTarget; // 0x98 - CAnimParamHandle m_hParam; // 0x9c - float m_flTurnToFaceOffset; // 0xa0 - bool m_bTurnToFace; // 0xa4 -}; - -// Alignment: 1 -// Size: 0x40 -class CChoreoAnimNode : public CAnimNodeBase -{ +class CAnimTagBase +{ public: + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CUtlString m_name; // 0x20 // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CUtlString m_group; // 0x28 + // MPropertyHideField + AnimTagID m_tagID; // 0x30 + // MPropertyHideField + bool m_bIsReferenced; // 0x34 }; -// Alignment: 10 -// Size: 0xa0 -struct VPhysXBodyPart_t : public -{ +// Alignment: 4 +// Size: 0x38 +class CAnimNodeBase +{ public: - uint32_t m_nFlags; // 0x0 - float m_flMass; // 0x4 - VPhysics2ShapeDef_t m_rnShape; // 0x8 - uint16_t m_nCollisionAttributeIndex; // 0x80 - uint16_t m_nReserved; // 0x82 - float m_flInertiaScale; // 0x84 - float m_flLinearDamping; // 0x88 - float m_flAngularDamping; // 0x8c - bool m_bOverrideMassCenter; // 0x90 - Vector m_vMassCenterOverride; // 0x94 -}; - -// Alignment: 1 -// Size: 0x1e0 -class CTwoBoneIKUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ -public: - TwoBoneIKSettings_t m_opFixedData; // 0x70 -}; - -// Alignment: 2 -// Size: 0x18 -struct SkeletonBoneBounds_t : public -{ -public: - Vector m_vecCenter; // 0x0 - Vector m_vecSize; // 0xc + // 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 }; // Alignment: 2 // Size: 0x20 -class CAnimParamSpanSample : public -{ +class CAnimMotorUpdaterBase +{ public: - CAnimVariant m_value; // 0x8 - float m_flCycle; // 0x1c + CUtlString m_name; // 0x10 + bool m_bDefault; // 0x18 +}; + +// Alignment: 0 +// Size: 0x28 +class CBoneConstraintBase +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x4 +class AnimNodeOutputID +{ +public: + uint32_t m_id; // 0x0 +}; + +// Alignment: 1 +// Size: 0x68 +class CUnaryUpdateNode : public CAnimUpdateNodeBase +{ +public: + CAnimUpdateNodeRef m_pChildNode; // 0x58 +}; + +// Alignment: 1 +// Size: 0x4 +class AnimScriptHandle +{ +public: + uint32_t m_id; // 0x0 +}; + +// Alignment: 8 +// Size: 0xd0 +struct AimMatrixOpFixedSettings_t +{ +public: + CAnimAttachment m_attachment; // 0x0 + CAnimInputDamping m_damping; // 0x80 + CPoseHandle m_poseCacheHandles[10]; // 0x90 + AimMatrixBlendMode m_eBlendMode; // 0xb8 + float m_fAngleIncrement; // 0xbc + int32_t m_nSequenceMaxFrame; // 0xc0 + int32_t m_nBoneMaskIndex; // 0xc4 + bool m_bTargetIsPosition; // 0xc8 }; // Alignment: 2 -// Size: 0x48 -class CMotionNodeBlend1D : public CMotionNode -{ +// Size: 0x2 +class CAnimParamHandle +{ public: - CUtlVector< MotionBlendItem > m_blendItems; // 0x28 - int32_t m_nParamIndex; // 0x40 + AnimParamType_t m_type; // 0x0 + uint8_t m_index; // 0x1 +}; + +// Alignment: 2 +// Size: 0x8 +class CAnimNodeConnection +{ +public: + AnimNodeID m_nodeID; // 0x0 + AnimNodeOutputID m_outputID; // 0x4 +}; + +// Alignment: 5 +// Size: 0x78 +struct VPhysics2ShapeDef_t +{ +public: + CUtlVector< RnSphereDesc_t > m_spheres; // 0x0 + CUtlVector< RnCapsuleDesc_t > m_capsules; // 0x18 + CUtlVector< RnHullDesc_t > m_hulls; // 0x30 + CUtlVector< RnMeshDesc_t > m_meshes; // 0x48 + CUtlVector< uint16 > m_CollisionAttributeIndices; // 0x60 +}; + +// Alignment: 15 +// Size: 0x160 +struct TwoBoneIKSettings_t +{ +public: + IkEndEffectorType m_endEffectorType; // 0x0 + CAnimAttachment m_endEffectorAttachment; // 0x10 + IkTargetType m_targetType; // 0x90 +private: + [[maybe_unused]] uint8_t __pad0094[0xc]; // 0x94 +public: + CAnimAttachment m_targetAttachment; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad0094[0x8c]; // 0x94 +public: + int32_t m_targetBoneIndex; // 0x120 + CAnimParamHandle m_hPositionParam; // 0x124 + CAnimParamHandle m_hRotationParam; // 0x126 + bool m_bAlwaysUseFallbackHinge; // 0x128 +private: + [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 +public: + VectorAligned m_vFallbackHingeAxis; // 0x130 + int32_t m_nFixedBoneIndex; // 0x140 + int32_t m_nMiddleBoneIndex; // 0x144 + int32_t m_nEndBoneIndex; // 0x148 + bool m_bMatchTargetOrientation; // 0x14c + bool m_bConstrainTwist; // 0x14d +private: + [[maybe_unused]] uint8_t __pad014e[0x2]; // 0x14e +public: + float m_flMaxTwist; // 0x150 +}; + +// Alignment: 2 +// Size: 0x18 +struct SkeletonBoneBounds_t +{ +public: + Vector m_vecCenter; // 0x0 + Vector m_vecSize; // 0xc +}; + +// Alignment: 2 +// Size: 0x20 +class CAnimParamSpanSample +{ +public: + CAnimVariant m_value; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + float m_flCycle; // 0x1c +}; + +// Alignment: 2 +// Size: 0x28 +class CMotionNode +{ +public: + CUtlString m_name; // 0x18 + AnimNodeID m_id; // 0x20 }; // Alignment: 3 -// Size: 0xb8 -class CMotionSearchDB : public -{ +// Size: 0x20 +class CVectorQuantizer +{ public: - CMotionSearchNode m_rootNode; // 0x0 - CProductQuantizer m_residualQuantizer; // 0x80 - CUtlVector< MotionDBIndex > m_codeIndices; // 0xa0 + CUtlVector< float32 > m_centroidVectors; // 0x0 + int32_t m_nCentroids; // 0x18 + int32_t m_nDimensions; // 0x1c }; // Alignment: 1 // Size: 0x50 class CModelConfigElement_SetRenderColor : public CModelConfigElement -{ +{ public: - Color m_Color; // 0x48 + Color m_Color; // 0x48 }; // Alignment: 7 // Size: 0x34 -struct FingerBone_t : public -{ +struct FingerBone_t +{ public: - int32_t m_boneIndex; // 0x0 - Vector m_hingeAxis; // 0x4 - Vector m_vCapsulePos1; // 0x10 - Vector m_vCapsulePos2; // 0x1c - float m_flMinAngle; // 0x28 - float m_flMaxAngle; // 0x2c - float m_flRadius; // 0x30 + int32_t m_boneIndex; // 0x0 + Vector m_hingeAxis; // 0x4 + Vector m_vCapsulePos1; // 0x10 + Vector m_vCapsulePos2; // 0x1c + float m_flMinAngle; // 0x28 + float m_flMaxAngle; // 0x2c + float m_flRadius; // 0x30 }; // Alignment: 6 // Size: 0x28 -class CDampedValueItem : public -{ +class CDampedValueItem +{ public: // MPropertyFriendlyName "Value Type" // MPropertyAttrChangeCallback - DampedValueType m_valueType; // 0x0 + DampedValueType m_valueType; // 0x0 // MPropertyFriendlyName "Parameter In" // MPropertyAttributeChoiceName "FloatParameter" // MPropertyAttrStateCallback - AnimParamID m_floatParamIn; // 0x4 + AnimParamID m_floatParamIn; // 0x4 // MPropertyFriendlyName "Parameter Out" // MPropertyAttributeChoiceName "PrivateFloatParameter" // MPropertyAttrStateCallback - AnimParamID m_floatParamOut; // 0x8 + AnimParamID m_floatParamOut; // 0x8 // MPropertyFriendlyName "Parameter In" // MPropertyAttributeChoiceName "VectorParameter" // MPropertyAttrStateCallback - AnimParamID m_vectorParamIn; // 0xc + AnimParamID m_vectorParamIn; // 0xc // MPropertyFriendlyName "Parameter Out" // MPropertyAttributeChoiceName "PrivateVectorParameter" // MPropertyAttrStateCallback - AnimParamID m_vectorParamOut; // 0x10 - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x18 -}; - -// Alignment: 4 -// Size: 0x20 -struct IKTargetSettings_t : public -{ + AnimParamID m_vectorParamOut; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 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 + // MPropertyFriendlyName "Damping" + CAnimInputDamping m_damping; // 0x18 }; // Alignment: 1 -// Size: 0x28 -class CMotionMetricBase : public -{ +// Size: 0x10 +struct IKBoneNameAndIndex_t +{ public: - // MPropertyHideField - float m_flWeight; // 0x20 + // MPropertyAttributeChoiceName "Bone" + CUtlString m_Name; // 0x0 +}; + +// Alignment: 4 +// Size: 0x38 +class CTimeRemainingMetric : public CMotionMetricBase +{ +public: + // MPropertyFriendlyName "Match Time Remaining" + // MPropertyGroupName + // MPropertyAttrChangeCallback + bool m_bMatchByTimeRemaining; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 +public: + // MPropertyFriendlyName "Max Time Remaining" + // MPropertyAttrStateCallback + float m_flMaxTimeRemaining; // 0x2c + // MPropertyFriendlyName "Filter By Time Remaining" + // MPropertyAttrChangeCallback + bool m_bFilterByTimeRemaining; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 +public: + // MPropertyFriendlyName "Min Time Remaining" + // MPropertyAttrStateCallback + float m_flMinTimeRemaining; // 0x34 }; // Alignment: 2 // Size: 0x88 -class CFootStepTriggerUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CFootStepTriggerUpdateNode : public CUnaryUpdateNode +{ public: - CUtlVector< FootStepTrigger > m_triggers; // 0x68 - float m_flTolerance; // 0x84 + CUtlVector< FootStepTrigger > m_triggers; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0080[0x4]; // 0x80 +public: + float m_flTolerance; // 0x84 }; // Alignment: 5 // Size: 0x28 -struct ParamSpan_t : public -{ +struct ParamSpan_t +{ public: - CUtlVector< ParamSpanSample_t > m_samples; // 0x0 - CAnimParamHandle m_hParam; // 0x18 - AnimParamType_t m_eParamType; // 0x1a - float m_flStartCycle; // 0x1c - float m_flEndCycle; // 0x20 + CUtlVector< ParamSpanSample_t > m_samples; // 0x0 + CAnimParamHandle m_hParam; // 0x18 + AnimParamType_t m_eParamType; // 0x1a +private: + [[maybe_unused]] uint8_t __pad001b[0x1]; // 0x1b +public: + float m_flStartCycle; // 0x1c + float m_flEndCycle; // 0x20 }; // Alignment: 11 // Size: 0x90 class CAimMatrixAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 + CAnimNodeConnection m_inputConnection; // 0x40 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x48 + CUtlString m_sequenceName; // 0x48 // MPropertyFriendlyName "Angle Increment" - float m_fAngleIncrement; // 0x50 + float m_fAngleIncrement; // 0x50 // MPropertyFriendlyName "Target" - AnimVectorSource m_target; // 0x54 + AnimVectorSource m_target; // 0x54 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_param; // 0x58 + AnimParamID m_param; // 0x58 +private: + [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c +public: // MPropertyFriendlyName "Aim Attachment" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x60 + CUtlString m_attachmentName; // 0x60 // MPropertyFriendlyName "Blend Mode" // MPropertyAttrChangeCallback - AimMatrixBlendMode m_blendMode; // 0x68 + AimMatrixBlendMode m_blendMode; // 0x68 +private: + [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c +public: // MPropertyFriendlyName "Bone Mask" // MPropertyAttributeChoiceName "BoneMask" // MPropertyAttrStateCallback - CUtlString m_boneMaskName; // 0x70 + CUtlString m_boneMaskName; // 0x70 // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0x78 + bool m_bResetBase; // 0x78 // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x79 + bool m_bLockWhenWaning; // 0x79 +private: + [[maybe_unused]] uint8_t __pad007a[0x6]; // 0x7a +public: // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x80 + CAnimInputDamping m_damping; // 0x80 }; // Alignment: 24 // Size: 0xa8 class CHitReactAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Minimum Delay Between Hits" - float m_flMinDelayBetweenHits; // 0x40 + float m_flMinDelayBetweenHits; // 0x40 // MPropertyFriendlyName "Trigger Parameter" // MPropertyAttributeChoiceName "BoolParameter" - AnimParamID m_triggerParam; // 0x44 + AnimParamID m_triggerParam; // 0x44 // MPropertyFriendlyName "Hit Bone Parameter" // MPropertyAttributeChoiceName "IntParameter" - AnimParamID m_hitBoneParam; // 0x48 + AnimParamID m_hitBoneParam; // 0x48 // MPropertyFriendlyName "Hit Offset Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_hitOffsetParam; // 0x4c + AnimParamID m_hitOffsetParam; // 0x4c // MPropertyFriendlyName "Hit Direction Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_hitDirectionParam; // 0x50 + AnimParamID m_hitDirectionParam; // 0x50 // MPropertyFriendlyName "Hit Strength Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_hitStrengthParam; // 0x54 + AnimParamID m_hitStrengthParam; // 0x54 // MPropertyFriendlyName "Bone Weights" // MPropertyAttributeChoiceName "BoneMask" - CUtlString m_weightListName; // 0x58 + CUtlString m_weightListName; // 0x58 // MPropertyFriendlyName "Hip Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_hipBoneName; // 0x60 + CUtlString m_hipBoneName; // 0x60 // MPropertyFriendlyName "Hip Translation Scale" - float m_flHipBoneTranslationScale; // 0x68 + float m_flHipBoneTranslationScale; // 0x68 // MPropertyFriendlyName "Number of bone effected" - int32_t m_nEffectedBoneCount; // 0x6c + int32_t m_nEffectedBoneCount; // 0x6c // MPropertyFriendlyName "Max Impact Force" - float m_flMaxImpactForce; // 0x70 + float m_flMaxImpactForce; // 0x70 // MPropertyFriendlyName "Min Impact Force" - float m_flMinImpactForce; // 0x74 + float m_flMinImpactForce; // 0x74 // MPropertyFriendlyName "Whip Impact Scale" - float m_flWhipImpactScale; // 0x78 + float m_flWhipImpactScale; // 0x78 // MPropertyFriendlyName "Counter Rotation Scale" - float m_flCounterRotationScale; // 0x7c + float m_flCounterRotationScale; // 0x7c // MPropertyFriendlyName "Distance Fade Scale" - float m_flDistanceFadeScale; // 0x80 + float m_flDistanceFadeScale; // 0x80 // MPropertyFriendlyName "Propagation Scale" - float m_flPropagationScale; // 0x84 + float m_flPropagationScale; // 0x84 // MPropertyFriendlyName "Whip Delay Time" - float m_flWhipDelay; // 0x88 + float m_flWhipDelay; // 0x88 // MPropertyFriendlyName "Spring Strength" - float m_flSpringStrength; // 0x8c + float m_flSpringStrength; // 0x8c // MPropertyFriendlyName "Whip Spring Strength" - float m_flWhipSpringStrength; // 0x90 + float m_flWhipSpringStrength; // 0x90 // MPropertyFriendlyName "Hip Dip Spring Strength" - float m_flHipDipSpringStrength; // 0x94 + float m_flHipDipSpringStrength; // 0x94 // MPropertyFriendlyName "Hip Dip Scale" - float m_flHipDipImpactScale; // 0x98 + float m_flHipDipImpactScale; // 0x98 // MPropertyFriendlyName "Hip Dip Delay Time" - float m_flHipDipDelay; // 0x9c + float m_flHipDipDelay; // 0x9c // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0xa0 + bool m_bResetBase; // 0xa0 }; -// Alignment: 8 -// Size: 0xa8 -class CDirectionalBlendUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 2 +// Size: 0x70 +class CSetFacingUpdateNode : public CUnaryUpdateNode +{ public: - HSequence[8] m_hSequences; // 0x5c - CAnimInputDamping m_damping; // 0x80 - AnimValueSource m_blendValueSource; // 0x90 - CAnimParamHandle m_paramIndex; // 0x94 - float m_playbackSpeed; // 0x98 - float m_duration; // 0x9c - bool m_bLoop; // 0xa0 - bool m_bLockBlendOnReset; // 0xa1 + FacingMode m_facingMode; // 0x68 + bool m_bResetChild; // 0x6c }; // Alignment: 3 // Size: 0x40 -class CSeqScaleSet : public -{ +class CSeqScaleSet +{ public: - CBufferString m_sName; // 0x0 - CUtlVector< int16 > m_nLocalBoneArray; // 0x10 - CUtlVector< float32 > m_flBoneScaleArray; // 0x28 + CBufferString m_sName; // 0x0 + CUtlVector< int16 > m_nLocalBoneArray; // 0x10 + CUtlVector< float32 > m_flBoneScaleArray; // 0x28 }; // Alignment: 2 // Size: 0x20 -struct AnimationDecodeDebugDump_t : public -{ +struct AnimationDecodeDebugDump_t +{ public: - AnimationProcessingType_t m_processingType; // 0x0 - CUtlVector< AnimationDecodeDebugDumpElement_t > m_elems; // 0x8 + AnimationProcessingType_t m_processingType; // 0x0 + CUtlVector< AnimationDecodeDebugDumpElement_t > m_elems; // 0x8 }; // Alignment: 7 // Size: 0x48 class CDistanceRemainingMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Maximum Tracked Distance" - float m_flMaxDistance; // 0x28 + float m_flMaxDistance; // 0x28 // MPropertyFriendlyName "Filter By Fixed Distance" // MPropertyAttrChangeCallback - bool m_bFilterFixedMinDistance; // 0x2c + bool m_bFilterFixedMinDistance; // 0x2c +private: + [[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d +public: // MPropertyFriendlyName "Min Distance" // MPropertyAttrStateCallback - float m_flMinDistance; // 0x30 + float m_flMinDistance; // 0x30 // MPropertyFriendlyName "Filter By Goal Distance" // MPropertyAttrChangeCallback - bool m_bFilterGoalDistance; // 0x34 + bool m_bFilterGoalDistance; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0035[0x3]; // 0x35 +public: // MPropertyFriendlyName "Goal Filter Start Distance" // MPropertyAttrStateCallback - float m_flStartGoalFilterDistance; // 0x38 + float m_flStartGoalFilterDistance; // 0x38 // MPropertyFriendlyName "Filter By Goal Overshoot" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - bool m_bFilterGoalOvershoot; // 0x3c + bool m_bFilterGoalOvershoot; // 0x3c +private: + [[maybe_unused]] uint8_t __pad003d[0x3]; // 0x3d +public: // MPropertyFriendlyName "Max Goal Overshoot Scale" // MPropertyAttrStateCallback - float m_flMaxGoalOvershootScale; // 0x40 + float m_flMaxGoalOvershootScale; // 0x40 }; -// Alignment: 1 -// Size: 0x4 -class AnimParamID : public -{ +// Alignment: 4 +// Size: 0x20 +struct IKTargetSettings_t +{ public: - uint32_t m_id; // 0x0 + // 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 }; // Alignment: 1 // Size: 0x30 class CBoneVelocityMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x28 + CUtlString m_boneName; // 0x28 }; // Alignment: 14 // Size: 0x78 class CFollowPathAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Blend Out Time" - float m_flBlendOutTime; // 0x40 + float m_flBlendOutTime; // 0x40 // MPropertyFriendlyName "Block Non-Path Movement" - bool m_bBlockNonPathMovement; // 0x44 + bool m_bBlockNonPathMovement; // 0x44 // MPropertyFriendlyName "Stop Feet at Goal" - bool m_bStopFeetAtGoal; // 0x45 + bool m_bStopFeetAtGoal; // 0x45 // MPropertyFriendlyName "Enable Speed Scaling" // MPropertyGroupName "Speed Scaling" // MPropertyAttrChangeCallback - bool m_bScaleSpeed; // 0x46 + bool m_bScaleSpeed; // 0x46 +private: + [[maybe_unused]] uint8_t __pad0047[0x1]; // 0x47 +public: // MPropertyFriendlyName "Scale" // MPropertyGroupName "Speed Scaling" // MPropertyAttributeRange "0 1" // MPropertyAttrStateCallback - float m_flScale; // 0x48 + float m_flScale; // 0x48 // MPropertyFriendlyName "Min Angle" // MPropertyGroupName "Speed Scaling" // MPropertyAttributeRange "0 180" // MPropertyAttrStateCallback - float m_flMinAngle; // 0x4c + float m_flMinAngle; // 0x4c // MPropertyFriendlyName "Max Angle" // MPropertyGroupName "Speed Scaling" // MPropertyAttributeRange "0 180" // MPropertyAttrStateCallback - float m_flMaxAngle; // 0x50 + float m_flMaxAngle; // 0x50 // MPropertyFriendlyName "Blend Time" // MPropertyGroupName "Speed Scaling" // MPropertyAttrStateCallback - float m_flSpeedScaleBlending; // 0x54 + float m_flSpeedScaleBlending; // 0x54 // MPropertyFriendlyName "Enable Turn to Face" // MPropertyGroupName "Turn to Face" // MPropertyAttrChangeCallback - bool m_bTurnToFace; // 0x58 + bool m_bTurnToFace; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0059[0x3]; // 0x59 +public: // MPropertyFriendlyName "Target" // MPropertyGroupName "Turn to Face" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_facingTarget; // 0x5c + AnimValueSource m_facingTarget; // 0x5c // MPropertyFriendlyName "Parameter" // MPropertyGroupName "Turn to Face" // MPropertyAttributeChoiceName "FloatParameter" // MPropertyAttrStateCallback - AnimParamID m_param; // 0x60 + AnimParamID m_param; // 0x60 // MPropertyFriendlyName "Offset" // MPropertyGroupName "Turn to Face" // MPropertyAttributeRange "-180 180" // MPropertyAttrStateCallback - float m_flTurnToFaceOffset; // 0x64 + float m_flTurnToFaceOffset; // 0x64 // MPropertyFriendlyName "Damping" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - CAnimInputDamping m_damping; // 0x68 + CAnimInputDamping m_damping; // 0x68 }; // Alignment: 1 -// Size: 0xb8 -class CSequenceMotionItem : public CMotionItem -{ +// Size: 0x28 +class CMotionParameterManager +{ public: - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0xb0 + CUtlVector< CSmartPtr< CMotionParameter > > m_params; // 0x10 }; -// Alignment: 2 -// Size: 0x58 -class CActionComponent : public CAnimComponentBase -{ +// Alignment: 1 +// Size: 0x4 +class AnimComponentID +{ public: - CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_sName; // 0x50 + uint32_t m_id; // 0x0 }; // Alignment: 2 // Size: 0x60 class CBodyGroupAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Priority" - int32_t m_nPriority; // 0x40 + int32_t m_nPriority; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: // MPropertyFriendlyName "Body Group Settings" - CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x48 + CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x48 }; // Alignment: 2 -// Size: 0x28 -class CMotionNode : public -{ +// Size: 0x48 +class CMotionNodeBlend1D : public CMotionNode +{ public: - CUtlString m_name; // 0x18 - AnimNodeID m_id; // 0x20 + CUtlVector< MotionBlendItem > m_blendItems; // 0x28 + int32_t m_nParamIndex; // 0x40 }; -// Alignment: 3 -// Size: 0x78 -class CMotionItemGroup : public -{ +// Alignment: 1 +// Size: 0x38 +class CConditionContainer +{ public: - // MPropertyHideField - CUtlVector< CSmartPtr< CMotionItem > > m_motions; // 0x20 - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x38 - CConditionContainer m_conditions; // 0x40 + // MPropertySuppressField + CUtlVector< CSmartPtr< CConditionBase > > m_conditions; // 0x10 }; // Alignment: 6 // Size: 0x58 class CRagdollAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Pose Control" - AnimPoseControl m_nPoseControl; // 0x40 + AnimPoseControl m_nPoseControl; // 0x40 // MPropertyFriendlyName "Frequency" // MPropertyAttributeRange "0 30" - float m_flFrequency; // 0x44 + float m_flFrequency; // 0x44 // MPropertyFriendlyName "Damping Ratio" // MPropertyAttributeRange "0 2" - float m_flDampingRatio; // 0x48 + float m_flDampingRatio; // 0x48 // MPropertyFriendlyName "Decay Duration" // MPropertyAttributeRange "-1 1000" - float m_flDecayDuration; // 0x4c + float m_flDecayDuration; // 0x4c // MPropertyFriendlyName "Decay Bias" // MPropertyAttributeRange "0 1" - float m_flDecayBias; // 0x50 + float m_flDecayBias; // 0x50 // MPropertyFriendlyName "Destroy" - bool m_bDestroy; // 0x54 + bool m_bDestroy; // 0x54 }; -// Alignment: 1 -// Size: 0x80 -class CBoolAnimParameter : public CAnimParameterBase -{ +// Alignment: 12 +// Size: 0x78 +class CAnimParameterBase +{ public: - // MPropertyFriendlyName "Default Value" - bool m_bDefaultValue; // 0x78 + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CAnimGraphSymbolWithStorage m_name; // 0x18 + // MPropertyHideField + CUtlString m_group; // 0x38 + // MPropertyHideField + AnimParamID m_id; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x14]; // 0x44 +public: + // MPropertyHideField + // MPropertyAttrChangeCallback + CUtlString m_componentName; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0060[0x4]; // 0x60 +public: + // MPropertyFriendlyName "Preview Button" + AnimParamButton_t m_previewButton; // 0x64 + // MPropertyFriendlyName "Force Latest Value" + bool m_bUseMostRecentValue; // 0x68 + // MPropertyFriendlyName "Auto Reset" + bool m_bAutoReset; // 0x69 +private: + [[maybe_unused]] uint8_t __pad006a[0x2]; // 0x6a +public: + // MPropertyFriendlyName "Network" + AnimParamNetworkSetting m_eNetworkSetting; // 0x6c + // MPropertyFriendlyName "Game Writable" + // MPropertyGroupName "+Permissions" + // MPropertyAttrStateCallback + bool m_bGameWritable; // 0x70 + // MPropertyFriendlyName "Graph Writable" + // MPropertyGroupName "+Permissions" + // MPropertyAttrStateCallback + bool m_bGraphWritable; // 0x71 + // MPropertyHideField + bool m_bIsReferenced; // 0x72 + // MPropertyHideField + bool m_bNetworkingRequested; // 0x73 }; // Alignment: 3 // Size: 0x20 -class CBlendNodeChild : public -{ +class CBlendNodeChild +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x8 + CAnimNodeConnection m_inputConnection; // 0x8 // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x10 + CUtlString m_name; // 0x10 // MPropertyFriendlyName "Blend Value" - float m_blendValue; // 0x18 + float m_blendValue; // 0x18 }; // Alignment: 0 // Size: 0x40 class CStringAnimTag : public CAnimTagBase -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x58 -class CEditableMotionGraph : public CMotionGraph -{ +{ public: // no members available }; // Alignment: 1 // Size: 0x18 -class CFootTrajectories : public -{ +class CParamSpanUpdater +{ public: - CUtlVector< CFootTrajectory > m_trajectories; // 0x0 + CUtlVector< ParamSpan_t > m_spans; // 0x0 +}; + +// Alignment: 1 +// Size: 0x18 +class CFootTrajectories +{ +public: + CUtlVector< CFootTrajectory > m_trajectories; // 0x0 }; // Alignment: 1 // Size: 0x58 -class CAnimParameterList : public -{ +class CAnimParameterList +{ public: - CUtlVector< CSmartPtr< CAnimParameterBase > > m_Parameters; // 0x20 + CUtlVector< CSmartPtr< CAnimParameterBase > > m_Parameters; // 0x20 }; -// Alignment: 10 -// Size: 0x100 -class CAnimUpdateSharedData : public -{ +// Alignment: 1 +// Size: 0x30 +class CAnimGraphSettingsManager +{ public: - CUtlVector< CSmartPtr< CAnimUpdateNodeBase > > m_nodes; // 0x10 - CUtlHashtable< CAnimNodePath, int32 > m_nodeIndexMap; // 0x28 - CUtlVector< CSmartPtr< CAnimComponentUpdater > > m_components; // 0x48 - CSmartPtr< CAnimParameterListUpdater > m_pParamListUpdater; // 0x60 - CSmartPtr< CAnimTagManagerUpdater > m_pTagManagerUpdater; // 0x68 - CSmartPtr< CAnimScriptManager > m_scriptManager; // 0x70 - CAnimGraphSettingsManager m_settings; // 0x78 - CSmartPtr< CStaticPoseCacheBuilder > m_pStaticPoseCache; // 0xa8 - CSmartPtr< CAnimSkeleton > m_pSkeleton; // 0xb0 - CAnimNodePath m_rootNodePath; // 0xb8 + CUtlVector< CSmartPtr< CAnimGraphSettingsGroup > > m_settingsGroups; // 0x18 }; // Alignment: 9 // Size: 0x80 class CBlendAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Blend Items" // MPropertyAutoExpandSelf - CUtlVector< CBlendNodeChild > m_children; // 0x48 + CUtlVector< CBlendNodeChild > m_children; // 0x48 // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x60 + AnimValueSource m_blendValueSource; // 0x60 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x64 + AnimParamID m_param; // 0x64 // MPropertyFriendlyName "Blend Key Values" - BlendKeyType m_blendKeyType; // 0x68 + BlendKeyType m_blendKeyType; // 0x68 // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0x6c + bool m_bLockBlendOnReset; // 0x6c // MPropertyFriendlyName "Sync Cycles" - bool m_bSyncCycles; // 0x6d + bool m_bSyncCycles; // 0x6d // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x6e + bool m_bLoop; // 0x6e // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x6f + bool m_bLockWhenWaning; // 0x6f // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x70 + CAnimInputDamping m_damping; // 0x70 }; -// Alignment: 15 -// Size: 0x160 -struct TwoBoneIKSettings_t : public -{ +// Alignment: 1 +// Size: 0x1e0 +class CTwoBoneIKUpdateNode : public CUnaryUpdateNode +{ public: - IkEndEffectorType m_endEffectorType; // 0x0 - CAnimAttachment m_endEffectorAttachment; // 0x10 - IkTargetType m_targetType; // 0x90 - CAnimAttachment m_targetAttachment; // 0xa0 - int32_t m_targetBoneIndex; // 0x120 - CAnimParamHandle m_hPositionParam; // 0x124 - CAnimParamHandle m_hRotationParam; // 0x126 - bool m_bAlwaysUseFallbackHinge; // 0x128 - VectorAligned m_vFallbackHingeAxis; // 0x130 - int32_t m_nFixedBoneIndex; // 0x140 - int32_t m_nMiddleBoneIndex; // 0x144 - int32_t m_nEndBoneIndex; // 0x148 - bool m_bMatchTargetOrientation; // 0x14c - bool m_bConstrainTwist; // 0x14d - float m_flMaxTwist; // 0x150 + TwoBoneIKSettings_t m_opFixedData; // 0x70 }; // Alignment: 2 // Size: 0x30 class CFutureFacingMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 + float m_flDistance; // 0x28 // MPropertyFriendlyName "Time" - float m_flTime; // 0x2c + float m_flTime; // 0x2c }; // Alignment: 1 // Size: 0x18 -struct SolveIKChainPoseOpFixedSettings_t : public -{ +struct SolveIKChainPoseOpFixedSettings_t +{ public: - CUtlVector< ChainToSolveData_t > m_ChainsToSolveData; // 0x0 + CUtlVector< ChainToSolveData_t > m_ChainsToSolveData; // 0x0 }; // Alignment: 0 // Size: 0x58 class CLeafUpdateNode : public CAnimUpdateNodeBase -{ +{ public: // no members available }; -// Alignment: 7 -// Size: 0xa8 -class CBoneMaskUpdateNode : public CBinaryUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 2 +// Size: 0x70 +class CRagdollUpdateNode : public CUnaryUpdateNode +{ public: - int32_t m_nWeightListIndex; // 0x8c - float m_flRootMotionBlend; // 0x90 - BoneMaskBlendSpace m_blendSpace; // 0x94 - BinaryNodeChildOption m_footMotionTiming; // 0x98 - bool m_bUseBlendScale; // 0x9c - AnimValueSource m_blendValueSource; // 0xa0 - CAnimParamHandle m_hBlendParameter; // 0xa4 + int32_t m_nWeightListIndex; // 0x68 + RagdollPoseControl m_poseControlMethod; // 0x6c }; -// Alignment: 12 -// Size: 0x90 -class CSeqCmdSeqDesc : public -{ +// Alignment: 2 +// Size: 0x8 +class CSeqTransition +{ 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 + float m_flFadeInTime; // 0x0 + float m_flFadeOutTime; // 0x4 }; // Alignment: 2 // Size: 0xa0 -class CSolveIKChainUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CSolveIKChainUpdateNode : public CUnaryUpdateNode +{ public: - CUtlVector< CAnimParamHandle > m_targetHandles; // 0x68 - SolveIKChainPoseOpFixedSettings_t m_opFixedData; // 0x80 + CUtlVector< CAnimParamHandle > m_targetHandles; // 0x68 + SolveIKChainPoseOpFixedSettings_t m_opFixedData; // 0x80 }; // Alignment: 2 // Size: 0x4 -class CPoseHandle : public -{ +class CPoseHandle +{ public: - uint16_t m_nIndex; // 0x0 - PoseType_t m_eType; // 0x2 + uint16_t m_nIndex; // 0x0 + PoseType_t m_eType; // 0x2 }; -// Alignment: 4 -// Size: 0x98 -class CSubtractUpdateNode : public CBinaryUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 6 +// Size: 0x88 +class CBinaryUpdateNode : public CAnimUpdateNodeBase +{ public: - BinaryNodeChildOption m_footMotionTiming; // 0x8c - bool m_bApplyToFootMotion; // 0x90 - bool m_bApplyChannelsSeparately; // 0x91 - bool m_bUseModelSpace; // 0x92 + CAnimUpdateNodeRef m_pChild1; // 0x58 + CAnimUpdateNodeRef m_pChild2; // 0x68 + BinaryNodeTiming m_timingBehavior; // 0x78 + float m_flTimingBlend; // 0x7c + bool m_bResetChild1; // 0x80 + bool m_bResetChild2; // 0x81 }; // Alignment: 1 // Size: 0x18 -struct JiggleBoneSettingsList_t : public -{ +struct JiggleBoneSettingsList_t +{ public: - CUtlVector< JiggleBoneSettings_t > m_boneSettings; // 0x0 + CUtlVector< JiggleBoneSettings_t > m_boneSettings; // 0x0 }; -// Alignment: 2 -// Size: 0x20 -class CAnimMotorUpdaterBase : public -{ +// Alignment: 1 +// Size: 0x28 +class CPathAnimMotorUpdaterBase : public CAnimMotorUpdaterBase +{ public: - CUtlString m_name; // 0x10 - bool m_bDefault; // 0x18 + bool m_bLockToPath; // 0x20 }; // Alignment: 12 // Size: 0xa0 -class CMoverUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CMoverUpdateNode : public CUnaryUpdateNode +{ public: - CAnimInputDamping m_damping; // 0x70 - AnimValueSource m_facingTarget; // 0x80 - CAnimParamHandle m_hMoveVecParam; // 0x84 - CAnimParamHandle m_hMoveHeadingParam; // 0x86 - CAnimParamHandle m_hTurnToFaceParam; // 0x88 - float m_flTurnToFaceOffset; // 0x8c - float m_flTurnToFaceLimit; // 0x90 - bool m_bAdditive; // 0x94 - bool m_bApplyMovement; // 0x95 - bool m_bOrientMovement; // 0x96 - bool m_bApplyRotation; // 0x97 - bool m_bLimitOnly; // 0x98 + CAnimInputDamping m_damping; // 0x70 + AnimValueSource m_facingTarget; // 0x80 + CAnimParamHandle m_hMoveVecParam; // 0x84 + CAnimParamHandle m_hMoveHeadingParam; // 0x86 + CAnimParamHandle m_hTurnToFaceParam; // 0x88 +private: + [[maybe_unused]] uint8_t __pad008a[0x2]; // 0x8a +public: + float m_flTurnToFaceOffset; // 0x8c + float m_flTurnToFaceLimit; // 0x90 + bool m_bAdditive; // 0x94 + bool m_bApplyMovement; // 0x95 + bool m_bOrientMovement; // 0x96 + bool m_bApplyRotation; // 0x97 + bool m_bLimitOnly; // 0x98 }; // Alignment: 5 // Size: 0xa8 -class CMotionItem : public -{ +class CMotionItem +{ public: // MPropertyHideField - CMotionParameterManager m_paramManager; // 0x28 + CMotionParameterManager m_paramManager; // 0x28 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_blockSpans; // 0x50 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_blockSpans; // 0x50 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 + CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0098[0x8]; // 0x98 +public: // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0xa0 + bool m_bLoop; // 0xa0 }; -// Alignment: 0 +// Alignment: 4 // Size: 0x70 -class COrientConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class CBaseConstraint : public CBoneConstraintBase +{ public: - // no members available + CUtlString m_name; // 0x28 + Vector m_vUpVector; // 0x30 +private: + [[maybe_unused]] uint8_t __pad003c[0x4]; // 0x3c +public: + CUtlVector< CConstraintSlave > m_slaves; // 0x40 + CUtlVector< CConstraintTarget > m_targets; // 0x58 }; // Alignment: 1 // Size: 0x38 -class CAnimClipDataManager : public -{ +class CAnimClipDataManager +{ public: - CUtlHashtable< CUtlString, CSmartPtr< CAnimClipData > > m_itemTable; // 0x18 + CUtlHashtable< CUtlString, CSmartPtr< CAnimClipData > > m_itemTable; // 0x18 }; -// Alignment: 8 -// Size: 0x48 -class CStateUpdateData : public -{ +// Alignment: 1 +// Size: 0x4 +class AnimStateID +{ public: - CUtlString m_name; // 0x0 - AnimScriptHandle m_hScript; // 0x8 - CUtlVector< int32 > m_transitionIndices; // 0x10 - CUtlVector< CStateActionUpdater > m_actions; // 0x28 - AnimStateID m_stateID; // 0x40 - uint8_t m_bIsStartState:1; // 0x0 - uint8_t m_bIsEndState:1; // 0x0 - uint8_t m_bIsPassthrough:1; // 0x0 + uint32_t m_id; // 0x0 }; -// Alignment: 0 -// Size: 0x60 -class CGroupInputAnimNode : public CProxyAnimNodeBase, CAnimNodeBase -{ +// Alignment: 1 +// Size: 0x58 +class CProxyAnimNodeBase : public CAnimNodeBase +{ public: - // no members available + // MPropertyFriendlyName "External Connections" + // MPropertyAutoExpandSelf + // MPropertyAttrChangeCallback + CUtlVector< CConnectionProxyItem > m_proxyItems; // 0x40 }; // Alignment: 2 // Size: 0x30 -struct WristBone_t : public -{ +struct WristBone_t +{ public: - CTransform m_xOffsetTransformMS; // 0x0 - int32_t m_boneIndex; // 0x20 + CTransform m_xOffsetTransformMS; // 0x0 + int32_t m_boneIndex; // 0x20 }; // Alignment: 0 -// Size: 0x60 -class CAndCondition : public CConditionBase -{ +// Size: 0x28 +class CConditionBase +{ public: // no members available }; // Alignment: 46 // Size: 0xf8 -struct VPhysXConstraintParams_t : public -{ +struct VPhysXConstraintParams_t +{ public: - int8_t m_nType; // 0x0 - int8_t m_nTranslateMotion; // 0x1 - int8_t m_nRotateMotion; // 0x2 - int8_t m_nFlags; // 0x3 - Vector[2] m_anchor; // 0x4 - QuaternionStorage[2] m_axes; // 0x1c - float m_maxForce; // 0x3c - float m_maxTorque; // 0x40 - float m_linearLimitValue; // 0x44 - float m_linearLimitRestitution; // 0x48 - float m_linearLimitSpring; // 0x4c - float m_linearLimitDamping; // 0x50 - float m_twistLowLimitValue; // 0x54 - float m_twistLowLimitRestitution; // 0x58 - float m_twistLowLimitSpring; // 0x5c - float m_twistLowLimitDamping; // 0x60 - float m_twistHighLimitValue; // 0x64 - float m_twistHighLimitRestitution; // 0x68 - float m_twistHighLimitSpring; // 0x6c - float m_twistHighLimitDamping; // 0x70 - float m_swing1LimitValue; // 0x74 - float m_swing1LimitRestitution; // 0x78 - float m_swing1LimitSpring; // 0x7c - float m_swing1LimitDamping; // 0x80 - float m_swing2LimitValue; // 0x84 - float m_swing2LimitRestitution; // 0x88 - float m_swing2LimitSpring; // 0x8c - float m_swing2LimitDamping; // 0x90 - Vector m_goalPosition; // 0x94 - QuaternionStorage m_goalOrientation; // 0xa0 - Vector m_goalAngularVelocity; // 0xb0 - float m_driveSpringX; // 0xbc - float m_driveSpringY; // 0xc0 - float m_driveSpringZ; // 0xc4 - float m_driveDampingX; // 0xc8 - float m_driveDampingY; // 0xcc - float m_driveDampingZ; // 0xd0 - float m_driveSpringTwist; // 0xd4 - float m_driveSpringSwing; // 0xd8 - float m_driveSpringSlerp; // 0xdc - float m_driveDampingTwist; // 0xe0 - float m_driveDampingSwing; // 0xe4 - float m_driveDampingSlerp; // 0xe8 - int32_t m_solverIterationCount; // 0xec - float m_projectionLinearTolerance; // 0xf0 - float m_projectionAngularTolerance; // 0xf4 + int8_t m_nType; // 0x0 + int8_t m_nTranslateMotion; // 0x1 + int8_t m_nRotateMotion; // 0x2 + int8_t m_nFlags; // 0x3 + Vector m_anchor[2]; // 0x4 + QuaternionStorage m_axes[2]; // 0x1c + float m_maxForce; // 0x3c + float m_maxTorque; // 0x40 + float m_linearLimitValue; // 0x44 + float m_linearLimitRestitution; // 0x48 + float m_linearLimitSpring; // 0x4c + float m_linearLimitDamping; // 0x50 + float m_twistLowLimitValue; // 0x54 + float m_twistLowLimitRestitution; // 0x58 + float m_twistLowLimitSpring; // 0x5c + float m_twistLowLimitDamping; // 0x60 + float m_twistHighLimitValue; // 0x64 + float m_twistHighLimitRestitution; // 0x68 + float m_twistHighLimitSpring; // 0x6c + float m_twistHighLimitDamping; // 0x70 + float m_swing1LimitValue; // 0x74 + float m_swing1LimitRestitution; // 0x78 + float m_swing1LimitSpring; // 0x7c + float m_swing1LimitDamping; // 0x80 + float m_swing2LimitValue; // 0x84 + float m_swing2LimitRestitution; // 0x88 + float m_swing2LimitSpring; // 0x8c + float m_swing2LimitDamping; // 0x90 + Vector m_goalPosition; // 0x94 + QuaternionStorage m_goalOrientation; // 0xa0 + Vector m_goalAngularVelocity; // 0xb0 + float m_driveSpringX; // 0xbc + float m_driveSpringY; // 0xc0 + float m_driveSpringZ; // 0xc4 + float m_driveDampingX; // 0xc8 + float m_driveDampingY; // 0xcc + float m_driveDampingZ; // 0xd0 + float m_driveSpringTwist; // 0xd4 + float m_driveSpringSwing; // 0xd8 + float m_driveSpringSlerp; // 0xdc + float m_driveDampingTwist; // 0xe0 + float m_driveDampingSwing; // 0xe4 + float m_driveDampingSlerp; // 0xe8 + int32_t m_solverIterationCount; // 0xec + float m_projectionLinearTolerance; // 0xf0 + float m_projectionAngularTolerance; // 0xf4 }; // Alignment: 2 // Size: 0x18 -struct ParamSpanSample_t : public -{ +struct ParamSpanSample_t +{ public: - CAnimVariant m_value; // 0x0 - float m_flCycle; // 0x14 + CAnimVariant m_value; // 0x0 + float m_flCycle; // 0x14 }; // Alignment: 2 // Size: 0x8 -struct TraceSettings_t : public -{ +struct TraceSettings_t +{ public: - float m_flTraceHeight; // 0x0 - float m_flTraceRadius; // 0x4 + float m_flTraceHeight; // 0x0 + float m_flTraceRadius; // 0x4 }; -// Alignment: 0 +// Alignment: 4 // Size: 0x50 -class CCurrentRotationVelocityMetricEvaluator : public CMotionMetricEvaluator -{ +class CMotionMetricEvaluator +{ public: - // no members available + CUtlVector< float32 > m_means; // 0x18 + CUtlVector< float32 > m_standardDeviations; // 0x30 + float m_flWeight; // 0x48 + int32_t m_nDimensionStartIndex; // 0x4c }; // Alignment: 0 // Size: 0x70 -class CPointConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class CPointConstraint : public CBaseConstraint +{ public: // no members available }; -// Alignment: 4 -// Size: 0x50 -class CAnimationGraphVisualizerPie : public CAnimationGraphVisualizerPrimitiveBase -{ +// Alignment: 1 +// Size: 0x10 +class CAnimationGraphVisualizerPrimitiveBase +{ public: - VectorAligned m_vWsCenter; // 0x10 - VectorAligned m_vWsStart; // 0x20 - VectorAligned m_vWsEnd; // 0x30 - Color m_Color; // 0x40 + CAnimationGraphVisualizerPrimitiveType m_Type; // 0x8 }; // Alignment: 7 // Size: 0x1c -class CPhysSurfacePropertiesPhysics : public -{ +class CPhysSurfacePropertiesPhysics +{ public: // MKV3TransferName "friction" - float m_friction; // 0x0 + float m_friction; // 0x0 // MKV3TransferName "elasticity" - float m_elasticity; // 0x4 + float m_elasticity; // 0x4 // MKV3TransferName "density" - float m_density; // 0x8 + float m_density; // 0x8 // MKV3TransferName "thickness" - float m_thickness; // 0xc + float m_thickness; // 0xc // MKV3TransferName "softcontactfrequency" - float m_softContactFrequency; // 0x10 + float m_softContactFrequency; // 0x10 // MKV3TransferName "softcontactdampingratio" - float m_softContactDampingRatio; // 0x14 + float m_softContactDampingRatio; // 0x14 // MKV3TransferName "wheeldrag" - float m_wheelDrag; // 0x18 + float m_wheelDrag; // 0x18 }; // Alignment: 0 // Size: 0x58 -class CGroupOutputAnimNode : public CProxyAnimNodeBase, CAnimNodeBase -{ +class CGroupOutputAnimNode : public CProxyAnimNodeBase +{ public: // no members available }; -// Alignment: 14 -// Size: 0x1b0 -class CAnimDesc : public -{ +// Alignment: 8 +// Size: 0x8 +class CAnimDesc_Flag +{ public: - CBufferString m_name; // 0x0 - CAnimDesc_Flag m_flags; // 0x10 - float fps; // 0x18 - // MKV3TransferName "m_pData" - 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 + bool m_bLooping; // 0x0 + bool m_bAllZeros; // 0x1 + bool m_bHidden; // 0x2 + bool m_bDelta; // 0x3 + bool m_bLegacyWorldspace; // 0x4 + bool m_bModelDoc; // 0x5 + bool m_bImplicitSeqIgnoreDelta; // 0x6 + bool m_bAnimGraphAdditive; // 0x7 }; // Alignment: 1 // Size: 0x20 -class CAnimParamHandleMap : public -{ +class CAnimParamHandleMap +{ public: - CUtlHashtable< uint16, int16 > m_list; // 0x0 + CUtlHashtable< uint16, int16 > m_list; // 0x0 }; // Alignment: 4 // Size: 0xc -class CSeqIKLock : public -{ +class CSeqIKLock +{ public: - float m_flPosWeight; // 0x0 - float m_flAngleWeight; // 0x4 - int16_t m_nLocalBone; // 0x8 - bool m_bBonesOrientedAlongPositiveX; // 0xa + float m_flPosWeight; // 0x0 + float m_flAngleWeight; // 0x4 + int16_t m_nLocalBone; // 0x8 + bool m_bBonesOrientedAlongPositiveX; // 0xa }; // Alignment: 1 -// Size: 0xb8 -class CGroupAnimNode : public CContainerAnimNodeBase, CAnimNodeBase -{ +// Size: 0x48 +class CAnimNodeManager +{ public: // MPropertyHideField - CAnimNodeManager m_nodeMgr; // 0x70 + CUtlHashtable< AnimNodeID, CSmartPtr< CAnimNodeBase > > m_nodes; // 0x8 }; // Alignment: 3 // Size: 0x50 -class CRenderSkeleton : public -{ +class CRenderSkeleton +{ public: - CUtlVector< RenderSkeletonBone_t > m_bones; // 0x0 - CUtlVector< int32 > m_boneParents; // 0x30 - int32_t m_nBoneWeightCount; // 0x48 + CUtlVector< RenderSkeletonBone_t > m_bones; // 0x0 + CUtlVector< int32 > m_boneParents; // 0x30 + int32_t m_nBoneWeightCount; // 0x48 }; // Alignment: 6 // Size: 0x50 class CPlayerInputAnimMotorUpdater : public CAnimMotorUpdaterBase -{ +{ public: - CUtlVector< float32 > m_sampleTimes; // 0x20 - float m_flSpringConstant; // 0x3c - float m_flAnticipationDistance; // 0x40 - CAnimParamHandle m_hAnticipationPosParam; // 0x44 - CAnimParamHandle m_hAnticipationHeadingParam; // 0x46 - bool m_bUseAcceleration; // 0x48 + CUtlVector< float32 > m_sampleTimes; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0038[0x4]; // 0x38 +public: + float m_flSpringConstant; // 0x3c + float m_flAnticipationDistance; // 0x40 + CAnimParamHandle m_hAnticipationPosParam; // 0x44 + CAnimParamHandle m_hAnticipationHeadingParam; // 0x46 + bool m_bUseAcceleration; // 0x48 }; // Alignment: 2 // Size: 0x10 -class CStateActionUpdater : public -{ +class CStateActionUpdater +{ public: - CSmartPtr< CAnimActionUpdater > m_pAction; // 0x0 - StateActionBehavior m_eBehavior; // 0x8 + CSmartPtr< CAnimActionUpdater > m_pAction; // 0x0 + StateActionBehavior m_eBehavior; // 0x8 }; // Alignment: 4 // Size: 0x88 class CFloatAnimParameter : public CAnimParameterBase -{ +{ public: // MPropertyFriendlyName "Default Value" - float m_fDefaultValue; // 0x78 + float m_fDefaultValue; // 0x78 // MPropertyFriendlyName "Min Value" - float m_fMinValue; // 0x7c + float m_fMinValue; // 0x7c // MPropertyFriendlyName "Max Value" - float m_fMaxValue; // 0x80 + float m_fMaxValue; // 0x80 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x84 + bool m_bInterpolate; // 0x84 }; // Alignment: 0 // Size: 0x38 class CZeroPoseAnimNode : public CAnimNodeBase -{ +{ public: // no members available }; @@ -7704,94 +7849,103 @@ public: // Alignment: 5 // Size: 0xa8 class CBoneConstraintPoseSpaceMorph : public CBoneConstraintBase -{ +{ public: - CUtlString m_sBoneName; // 0x28 - CUtlString m_sAttachmentName; // 0x30 - CUtlVector< CUtlString > m_outputMorph; // 0x38 - CUtlVector< CBoneConstraintPoseSpaceMorph::Input_t > m_inputList; // 0x50 - bool m_bClamp; // 0x68 + CUtlString m_sBoneName; // 0x28 + CUtlString m_sAttachmentName; // 0x30 + CUtlVector< CUtlString > m_outputMorph; // 0x38 + CUtlVector< CBoneConstraintPoseSpaceMorph::Input_t > m_inputList; // 0x50 + bool m_bClamp; // 0x68 }; // Alignment: 2 // Size: 0x10 -class MotionBlendItem : public -{ +class MotionBlendItem +{ public: - CSmartPtr< CMotionNode > m_pChild; // 0x0 - float m_flKeyValue; // 0x8 + CSmartPtr< CMotionNode > m_pChild; // 0x0 + float m_flKeyValue; // 0x8 }; // Alignment: 1 // Size: 0x98 -class CBoneConstraintPoseSpaceBone : public CBaseConstraint, CBoneConstraintBase -{ +class CBoneConstraintPoseSpaceBone : public CBaseConstraint +{ public: - CUtlVector< CBoneConstraintPoseSpaceBone::Input_t > m_inputList; // 0x70 + CUtlVector< CBoneConstraintPoseSpaceBone::Input_t > m_inputList; // 0x70 }; // Alignment: 2 // Size: 0x28 -class CAnimGraphModelBinding : public -{ +class CAnimGraphModelBinding +{ public: - CUtlString m_modelName; // 0x8 - CSmartPtr< CAnimUpdateSharedData > m_pSharedData; // 0x10 + CUtlString m_modelName; // 0x8 + CSmartPtr< CAnimUpdateSharedData > m_pSharedData; // 0x10 }; -// Alignment: 1 -// Size: 0x30 -class CAnimGraphSettingsManager : public -{ +// Alignment: 10 +// Size: 0x100 +class CAnimUpdateSharedData +{ public: - CUtlVector< CSmartPtr< CAnimGraphSettingsGroup > > m_settingsGroups; // 0x18 + CUtlVector< CSmartPtr< CAnimUpdateNodeBase > > m_nodes; // 0x10 + CUtlHashtable< CAnimNodePath, int32 > m_nodeIndexMap; // 0x28 + CUtlVector< CSmartPtr< CAnimComponentUpdater > > m_components; // 0x48 + CSmartPtr< CAnimParameterListUpdater > m_pParamListUpdater; // 0x60 + CSmartPtr< CAnimTagManagerUpdater > m_pTagManagerUpdater; // 0x68 + CSmartPtr< CAnimScriptManager > m_scriptManager; // 0x70 + CAnimGraphSettingsManager m_settings; // 0x78 + CSmartPtr< CStaticPoseCacheBuilder > m_pStaticPoseCache; // 0xa8 + CSmartPtr< CAnimSkeleton > m_pSkeleton; // 0xb0 + CAnimNodePath m_rootNodePath; // 0xb8 }; // Alignment: 11 // Size: 0xc0 -struct LookAtOpFixedSettings_t : public -{ +struct LookAtOpFixedSettings_t +{ public: - CAnimAttachment m_attachment; // 0x0 - CAnimInputDamping m_damping; // 0x80 - CUtlVector< LookAtBone_t > m_bones; // 0x90 - float m_flYawLimit; // 0xa8 - float m_flPitchLimit; // 0xac - float m_flHysteresisInnerAngle; // 0xb0 - float m_flHysteresisOuterAngle; // 0xb4 - bool m_bRotateYawForward; // 0xb8 - bool m_bMaintainUpDirection; // 0xb9 - bool m_bTargetIsPosition; // 0xba - bool m_bUseHysteresis; // 0xbb + CAnimAttachment m_attachment; // 0x0 + CAnimInputDamping m_damping; // 0x80 + CUtlVector< LookAtBone_t > m_bones; // 0x90 + float m_flYawLimit; // 0xa8 + float m_flPitchLimit; // 0xac + float m_flHysteresisInnerAngle; // 0xb0 + float m_flHysteresisOuterAngle; // 0xb4 + bool m_bRotateYawForward; // 0xb8 + bool m_bMaintainUpDirection; // 0xb9 + bool m_bTargetIsPosition; // 0xba + bool m_bUseHysteresis; // 0xbb }; // Alignment: 3 // Size: 0x30 -class CStaticPoseCache : public -{ +class CStaticPoseCache +{ public: - CUtlVector< CCachedPose > m_poses; // 0x10 - int32_t m_nBoneCount; // 0x28 - int32_t m_nMorphCount; // 0x2c + CUtlVector< CCachedPose > m_poses; // 0x10 + int32_t m_nBoneCount; // 0x28 + int32_t m_nMorphCount; // 0x2c }; // Alignment: 3 // Size: 0x18 -class CFloatAnimValue : public -{ +class CFloatAnimValue +{ public: // MPropertyHideField - float m_flConstValue; // 0x8 + float m_flConstValue; // 0x8 // MPropertyHideField - AnimParamID m_paramID; // 0xc + AnimParamID m_paramID; // 0xc // MPropertyHideField - EAnimValueSource m_eSource; // 0x10 + EAnimValueSource m_eSource; // 0x10 }; // Alignment: 0 // Size: 0x38 class CBindPoseAnimNode : public CAnimNodeBase -{ +{ public: // no members available }; @@ -7799,1455 +7953,1512 @@ public: // Alignment: 2 // Size: 0x58 class CSequenceBlend2DItem : public CBlend2DItemBase -{ +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x38 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x38 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x50 + CUtlString m_sequenceName; // 0x50 }; -// Alignment: 5 -// Size: 0x90 -class CCycleControlClipUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 1 +// Size: 0x4 +class HSequence +{ public: - CUtlVector< TagSpan_t > m_tags; // 0x60 - HSequence m_hSequence; // 0x7c - float m_duration; // 0x80 - AnimValueSource m_valueSource; // 0x84 - CAnimParamHandle m_paramIndex; // 0x88 + int32_t m_Value; // 0x0 }; // Alignment: 1 // Size: 0x18 -class CVPhysXSurfacePropertiesList : public -{ +class CVPhysXSurfacePropertiesList +{ public: // MKV3TransferName "SurfacePropertiesList" - CUtlVector< CPhysSurfaceProperties* > m_surfacePropertiesList; // 0x0 + CUtlVector< CPhysSurfaceProperties* > m_surfacePropertiesList; // 0x0 }; // Alignment: 2 // Size: 0xa0 -class CTiltTwistConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class CTiltTwistConstraint : public CBaseConstraint +{ public: - int32_t m_nTargetAxis; // 0x70 - int32_t m_nSlaveAxis; // 0x74 + int32_t m_nTargetAxis; // 0x70 + int32_t m_nSlaveAxis; // 0x74 }; // Alignment: 6 // Size: 0x60 class CStanceOverrideAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyHideField - CAnimNodeConnection m_stanceSourceConnection; // 0x40 + CAnimNodeConnection m_stanceSourceConnection; // 0x40 // MPropertyFriendlyName "Blend Parameter (optional)" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_blendParamID; // 0x48 + AnimParamID m_blendParamID; // 0x48 // MPropertyFriendlyName "Stance Source" // MPropertyAttrChangeCallback - StanceOverrideMode m_eMode; // 0x4c + StanceOverrideMode m_eMode; // 0x4c // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" // MPropertyAttrStateCallback - CUtlString m_sequenceName; // 0x50 + CUtlString m_sequenceName; // 0x50 // MPropertyFriendlyName "Frame" // MPropertyAttrStateCallback - int32_t m_nFrameIndex; // 0x58 + int32_t m_nFrameIndex; // 0x58 }; // Alignment: 5 // Size: 0x58 -struct ScriptInfo_t : public -{ +struct ScriptInfo_t +{ public: - CUtlString m_code; // 0x0 - CUtlVector< CAnimParamHandle > m_paramsModified; // 0x8 - CUtlVector< int32 > m_proxyReadParams; // 0x20 - CUtlVector< int32 > m_proxyWriteParams; // 0x38 - AnimScriptType m_eScriptType; // 0x50 + CUtlString m_code; // 0x0 + CUtlVector< CAnimParamHandle > m_paramsModified; // 0x8 + CUtlVector< int32 > m_proxyReadParams; // 0x20 + CUtlVector< int32 > m_proxyWriteParams; // 0x38 + AnimScriptType m_eScriptType; // 0x50 }; // Alignment: 2 // Size: 0x20 -class CFlexRule : public -{ +class CFlexRule +{ public: - int32_t m_nFlex; // 0x0 - CUtlVector< CFlexOp > m_FlexOps; // 0x8 + int32_t m_nFlex; // 0x0 + CUtlVector< CFlexOp > m_FlexOps; // 0x8 }; -// Alignment: 2 -// Size: 0x38 -class CExpressionAction : public CAnimActionBase -{ +// Alignment: 0 +// Size: 0x28 +class CAnimActionBase +{ public: - AnimParamID m_param; // 0x28 - CUtlString m_expression; // 0x30 + // no members available }; // Alignment: 3 // Size: 0x88 -class CDirectPlaybackUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CDirectPlaybackUpdateNode : public CUnaryUpdateNode +{ public: - bool m_bFinishEarly; // 0x6c - bool m_bResetOnFinish; // 0x6d - CUtlVector< CDirectPlaybackTagData > m_allTags; // 0x70 + bool m_bFinishEarly; // 0x6c + bool m_bResetOnFinish; // 0x6d +private: + [[maybe_unused]] uint8_t __pad006e[0x2]; // 0x6e +public: + CUtlVector< CDirectPlaybackTagData > m_allTags; // 0x70 }; // Alignment: 7 // Size: 0x68 class CDistanceRemainingMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - float m_flMaxDistance; // 0x50 - float m_flMinDistance; // 0x54 - float m_flStartGoalFilterDistance; // 0x58 - float m_flMaxGoalOvershootScale; // 0x5c - bool m_bFilterFixedMinDistance; // 0x60 - bool m_bFilterGoalDistance; // 0x61 - bool m_bFilterGoalOvershoot; // 0x62 + float m_flMaxDistance; // 0x50 + float m_flMinDistance; // 0x54 + float m_flStartGoalFilterDistance; // 0x58 + float m_flMaxGoalOvershootScale; // 0x5c + bool m_bFilterFixedMinDistance; // 0x60 + bool m_bFilterGoalDistance; // 0x61 + bool m_bFilterGoalOvershoot; // 0x62 }; // Alignment: 5 // Size: 0x60 -struct RenderSkeletonBone_t : public -{ +struct RenderSkeletonBone_t +{ public: - CUtlString m_boneName; // 0x0 - CUtlString m_parentName; // 0x8 - matrix3x4_t m_invBindPose; // 0x10 - SkeletonBoneBounds_t m_bbox; // 0x40 - float m_flSphereRadius; // 0x58 + CUtlString m_boneName; // 0x0 + CUtlString m_parentName; // 0x8 + matrix3x4_t m_invBindPose; // 0x10 + SkeletonBoneBounds_t m_bbox; // 0x40 + float m_flSphereRadius; // 0x58 }; // Alignment: 7 // Size: 0x30 -struct FootPinningPoseOpFixedData_t : public -{ +struct FootPinningPoseOpFixedData_t +{ public: - CUtlVector< FootFixedData_t > m_footInfo; // 0x0 - float m_flBlendTime; // 0x18 - float m_flLockBreakDistance; // 0x1c - float m_flMaxLegTwist; // 0x20 - int32_t m_nHipBoneIndex; // 0x24 - bool m_bApplyLegTwistLimits; // 0x28 - bool m_bApplyFootRotationLimits; // 0x29 + CUtlVector< FootFixedData_t > m_footInfo; // 0x0 + float m_flBlendTime; // 0x18 + float m_flLockBreakDistance; // 0x1c + float m_flMaxLegTwist; // 0x20 + int32_t m_nHipBoneIndex; // 0x24 + bool m_bApplyLegTwistLimits; // 0x28 + bool m_bApplyFootRotationLimits; // 0x29 }; // Alignment: 9 // Size: 0x18 -class CSeqCmdLayer : public -{ +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 + 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 +private: + [[maybe_unused]] uint8_t __pad000b[0x1]; // 0xb +public: + float m_flVar1; // 0xc + float m_flVar2; // 0x10 + int16_t m_nLineNumber; // 0x14 }; // Alignment: 5 // Size: 0x20 -struct ModelBoneFlexDriverControl_t : public -{ +struct ModelBoneFlexDriverControl_t +{ public: - ModelBoneFlexComponent_t m_nBoneComponent; // 0x0 - CUtlString m_flexController; // 0x8 - uint32_t m_flexControllerToken; // 0x10 - float m_flMin; // 0x14 - float m_flMax; // 0x18 + ModelBoneFlexComponent_t m_nBoneComponent; // 0x0 + CUtlString m_flexController; // 0x8 + uint32_t m_flexControllerToken; // 0x10 + float m_flMin; // 0x14 + float m_flMax; // 0x18 }; // Alignment: 3 // Size: 0xa0 -class CTwistConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class CTwistConstraint : public CBaseConstraint +{ public: - bool m_bInverse; // 0x70 - Quaternion m_qParentBindRotation; // 0x80 - Quaternion m_qChildBindRotation; // 0x90 + bool m_bInverse; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0071[0xf]; // 0x71 +public: + Quaternion m_qParentBindRotation; // 0x80 + Quaternion m_qChildBindRotation; // 0x90 }; // Alignment: 2 // Size: 0x40 class CAnimationGraphVisualizerAxis : public CAnimationGraphVisualizerPrimitiveBase -{ +{ public: - CTransform m_xWsTransform; // 0x10 - float m_flAxisSize; // 0x30 + CTransform m_xWsTransform; // 0x10 + float m_flAxisSize; // 0x30 }; // Alignment: 10 // Size: 0x60 class CSubtractAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_baseInputConnection; // 0x38 + CAnimNodeConnection m_baseInputConnection; // 0x38 // MPropertyHideField - CAnimNodeConnection m_subtractInputConnection; // 0x40 + CAnimNodeConnection m_subtractInputConnection; // 0x40 // MPropertyFriendlyName "Timing Control" // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x48 + BinaryNodeTiming m_timingBehavior; // 0x48 // MPropertyFriendlyName "Timing Blend" // MPropertyAttributeRange "0 1" // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x4c + float m_flTimingBlend; // 0x4c // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x50 + BinaryNodeChildOption m_footMotionTiming; // 0x50 // MPropertyFriendlyName "Subtract Foot Motion" - bool m_bApplyToFootMotion; // 0x54 + bool m_bApplyToFootMotion; // 0x54 // MPropertyFriendlyName "Reset Base Child" - bool m_bResetBase; // 0x55 + bool m_bResetBase; // 0x55 // MPropertyFriendlyName "Reset Subtracted Child" - bool m_bResetSubtract; // 0x56 + bool m_bResetSubtract; // 0x56 // MPropertyFriendlyName "Treat Translation Separately" - bool m_bApplyChannelsSeparately; // 0x57 + bool m_bApplyChannelsSeparately; // 0x57 // MPropertyFriendlyName "Use Model Space" - bool m_bUseModelSpace; // 0x58 + bool m_bUseModelSpace; // 0x58 +}; + +// Alignment: 10 +// Size: 0xa0 +struct VPhysXBodyPart_t +{ +public: + uint32_t m_nFlags; // 0x0 + float m_flMass; // 0x4 + VPhysics2ShapeDef_t m_rnShape; // 0x8 + uint16_t m_nCollisionAttributeIndex; // 0x80 + uint16_t m_nReserved; // 0x82 + float m_flInertiaScale; // 0x84 + float m_flLinearDamping; // 0x88 + float m_flAngularDamping; // 0x8c + bool m_bOverrideMassCenter; // 0x90 +private: + [[maybe_unused]] uint8_t __pad0091[0x3]; // 0x91 +public: + Vector m_vMassCenterOverride; // 0x94 }; // Alignment: 5 -// Size: 0x78 -struct VPhysics2ShapeDef_t : public -{ -public: - CUtlVector< RnSphereDesc_t > m_spheres; // 0x0 - CUtlVector< RnCapsuleDesc_t > m_capsules; // 0x18 - CUtlVector< RnHullDesc_t > m_hulls; // 0x30 - CUtlVector< RnMeshDesc_t > m_meshes; // 0x48 - CUtlVector< uint16 > m_CollisionAttributeIndices; // 0x60 -}; - -// Alignment: 9 -// Size: 0x60 -class CVRInputComponent : public CAnimComponentBase -{ +// Size: 0x38 +class CAnimComponentBase +{ public: // MPropertyHideField - AnimParamID m_FingerCurl_Thumb; // 0x38 + CUtlString m_group; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0020[0x8]; // 0x20 +public: // MPropertyHideField - AnimParamID m_FingerCurl_Index; // 0x3c - // MPropertyHideField - AnimParamID m_FingerCurl_Middle; // 0x40 - // MPropertyHideField - AnimParamID m_FingerCurl_Ring; // 0x44 - // MPropertyHideField - AnimParamID m_FingerCurl_Pinky; // 0x48 - // MPropertyHideField - AnimParamID m_FingerSplay_Thumb_Index; // 0x4c - // MPropertyHideField - AnimParamID m_FingerSplay_Index_Middle; // 0x50 - // MPropertyHideField - AnimParamID m_FingerSplay_Middle_Ring; // 0x54 - // MPropertyHideField - AnimParamID m_FingerSplay_Ring_Pinky; // 0x58 + AnimComponentID m_id; // 0x28 + // MPropertyFriendlyName "Start Enabled" + bool m_bStartEnabled; // 0x2c +private: + [[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d +public: + // MPropertyFriendlyName "Priority" + int32_t m_nPriority; // 0x30 + // MPropertyFriendlyName "Network Mode" + AnimNodeNetworkMode m_networkMode; // 0x34 }; // Alignment: 0 // Size: 0x50 class CMotionNodeManager : public CAnimNodeManager -{ +{ public: // no members available }; -// Alignment: 6 -// Size: 0x58 -class CPlayerInputAnimMotor : public CAnimMotorBase -{ +// Alignment: 2 +// Size: 0x28 +class CAnimMotorBase +{ public: - // MPropertyFriendlyName "Sample Times" - CUtlVector< float32 > m_sampleTimes; // 0x28 - // MPropertyFriendlyName "Use Acceleration" - bool m_bUseAcceleration; // 0x40 - // MPropertyFriendlyName "Spring Constant" - 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 + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CUtlString m_name; // 0x18 + // MPropertyFriendlyName "Is Default" + bool m_bDefault; // 0x20 }; // Alignment: 8 // Size: 0xd0 -class CAnimSkeleton : public -{ +class CAnimSkeleton +{ public: - CUtlVector< CTransform > m_localSpaceTransforms; // 0x10 - CUtlVector< CTransform > m_modelSpaceTransforms; // 0x28 - CUtlVector< CUtlString > m_boneNames; // 0x40 - CUtlVector< CUtlVector< int32 > > m_children; // 0x58 - CUtlVector< int32 > m_parents; // 0x70 - CUtlVector< CAnimFoot > m_feet; // 0x88 - CUtlVector< CUtlString > m_morphNames; // 0xa0 - CUtlVector< int32 > m_lodBoneCounts; // 0xb8 + CUtlVector< CTransform > m_localSpaceTransforms; // 0x10 + CUtlVector< CTransform > m_modelSpaceTransforms; // 0x28 + CUtlVector< CUtlString > m_boneNames; // 0x40 + CUtlVector< CUtlVector< int32 > > m_children; // 0x58 + CUtlVector< int32 > m_parents; // 0x70 + CUtlVector< CAnimFoot > m_feet; // 0x88 + CUtlVector< CUtlString > m_morphNames; // 0xa0 + CUtlVector< int32 > m_lodBoneCounts; // 0xb8 }; // Alignment: 3 // Size: 0x1e0 -class CRenderMesh : public -{ +class CRenderMesh +{ public: - CUtlVectorFixedGrowable< CSceneObjectData > m_sceneObjects; // 0x10 - CUtlVector< CBaseConstraint* > m_constraints; // 0xa0 - CRenderSkeleton m_skeleton; // 0xb8 + CUtlVectorFixedGrowable< CSceneObjectData > m_sceneObjects; // 0x10 + CUtlVector< CBaseConstraint* > m_constraints; // 0xa0 + CRenderSkeleton m_skeleton; // 0xb8 }; // Alignment: 1 // Size: 0x8 -class CFlexDesc : public -{ +class CFlexDesc +{ public: - CUtlString m_szFacs; // 0x0 + CUtlString m_szFacs; // 0x0 }; // Alignment: 4 // Size: 0x30 -class CWristBone : public -{ +class CWristBone +{ public: - CUtlString m_name; // 0x0 - Vector m_vForwardLS; // 0x8 - Vector m_vUpLS; // 0x14 - Vector m_vOffset; // 0x20 + CUtlString m_name; // 0x0 + Vector m_vForwardLS; // 0x8 + Vector m_vUpLS; // 0x14 + Vector m_vOffset; // 0x20 }; // Alignment: 2 // Size: 0x48 -class CAnimClipData : public -{ +class CAnimClipData +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_clipName; // 0x38 + CUtlString m_clipName; // 0x38 }; // Alignment: 3 // Size: 0x48 class CMotionNodeSequence : public CMotionNode -{ +{ public: - CUtlVector< TagSpan_t > m_tags; // 0x28 - HSequence m_hSequence; // 0x40 - float m_flPlaybackSpeed; // 0x44 + CUtlVector< TagSpan_t > m_tags; // 0x28 + HSequence m_hSequence; // 0x40 + float m_flPlaybackSpeed; // 0x44 }; // Alignment: 6 // Size: 0x50 class CWayPointHelperAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Start Cycle" // MPropertyAttributeRange "0 1" - float m_flStartCycle; // 0x40 + float m_flStartCycle; // 0x40 // MPropertyFriendlyName "End Cycle" // MPropertyAttributeRange "0 1" - float m_flEndCycle; // 0x44 + float m_flEndCycle; // 0x44 // MPropertyFriendlyName "Only align to Goals" - bool m_bOnlyGoals; // 0x48 + bool m_bOnlyGoals; // 0x48 // MPropertyFriendlyName "Prevent Overshoot" - bool m_bPreventOvershoot; // 0x49 + bool m_bPreventOvershoot; // 0x49 // MPropertyFriendlyName "Prevent Undershoot" - bool m_bPreventUndershoot; // 0x4a + bool m_bPreventUndershoot; // 0x4a }; // Alignment: 2 // Size: 0x8 -class CFingerSource : public -{ +class CFingerSource +{ public: - AnimVRFinger_t m_nFingerIndex; // 0x0 - float m_flFingerWeight; // 0x4 + AnimVRFinger_t m_nFingerIndex; // 0x0 + float m_flFingerWeight; // 0x4 }; // Alignment: 4 // Size: 0x18 -class CFlexController : public -{ +class CFlexController +{ public: - CUtlString m_szName; // 0x0 - CUtlString m_szType; // 0x8 - float min; // 0x10 - float max; // 0x14 + CUtlString m_szName; // 0x0 + CUtlString m_szType; // 0x8 + float min; // 0x10 + float max; // 0x14 }; -// Alignment: 11 -// Size: 0x118 -class CSeqS1SeqDesc : public -{ +// Alignment: 6 +// Size: 0x6 +class CSeqMultiFetchFlag +{ 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 - // MKV3TransferName "m_keyValueText" - CBufferString m_LegacyKeyValueText; // 0xd8 - CUtlVector< CAnimActivity > m_activityArray; // 0xe8 - CUtlVector< CFootMotion > m_footMotion; // 0x100 + 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 }; -// Alignment: 1 -// Size: 0x58 -class CProxyAnimNodeBase : public CAnimNodeBase -{ +// Alignment: 0 +// Size: 0x60 +class CGroupInputAnimNode : public CProxyAnimNodeBase +{ public: - // MPropertyFriendlyName "External Connections" - // MPropertyAutoExpandSelf - // MPropertyAttrChangeCallback - CUtlVector< CConnectionProxyItem > m_proxyItems; // 0x40 + // no members available }; -// Alignment: 23 -// Size: 0x140 -class CMotionMatchingUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 2 +// Size: 0x8 +class CBlendCurve +{ public: - CMotionDataSet m_dataSet; // 0x58 - CUtlVector< CSmartPtr< CMotionMetricEvaluator > > m_metrics; // 0x78 - CUtlVector< float32 > m_weights; // 0x90 - bool m_bSearchEveryTick; // 0xe0 - float m_flSearchInterval; // 0xe4 - bool m_bSearchWhenClipEnds; // 0xe8 - bool m_bSearchWhenGoalChanges; // 0xe9 - CBlendCurve m_blendCurve; // 0xec - float m_flSampleRate; // 0xf4 - float m_flBlendTime; // 0xf8 - bool m_bLockClipWhenWaning; // 0xfc - float m_flSelectionThreshold; // 0x100 - float m_flReselectionTimeWindow; // 0x104 - bool m_bEnableRotationCorrection; // 0x108 - bool m_bGoalAssist; // 0x109 - float m_flGoalAssistDistance; // 0x10c - float m_flGoalAssistTolerance; // 0x110 - CAnimInputDamping m_distanceScale_Damping; // 0x118 - float m_flDistanceScale_OuterRadius; // 0x128 - float m_flDistanceScale_InnerRadius; // 0x12c - float m_flDistanceScale_MaxScale; // 0x130 - float m_flDistanceScale_MinScale; // 0x134 - bool m_bEnableDistanceScaling; // 0x138 + float m_flControlPoint1; // 0x0 + float m_flControlPoint2; // 0x4 }; // Alignment: 3 // Size: 0x14 -class CFootTrajectory : public -{ +class CFootTrajectory +{ public: - Vector m_vOffset; // 0x0 - float m_flRotationOffset; // 0xc - float m_flProgression; // 0x10 - static CFootTrajectory &Get_Identity(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CFootTrajectory")->m_static_fields[0]->m_instance);}; + Vector m_vOffset; // 0x0 + float m_flRotationOffset; // 0xc + float m_flProgression; // 0x10 + static CFootTrajectory &Get_Identity(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CFootTrajectory")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 // Size: 0x30 class CAnimationGraphVisualizerText : public CAnimationGraphVisualizerPrimitiveBase -{ +{ public: - VectorAligned m_vWsPosition; // 0x10 - Color m_Color; // 0x20 - CUtlString m_Text; // 0x28 + VectorAligned m_vWsPosition; // 0x10 + Color m_Color; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + CUtlString m_Text; // 0x28 }; // Alignment: 3 // Size: 0x18 -class CConnectionProxyItem : public -{ +class CConnectionProxyItem +{ public: // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 // MPropertyHideField - AnimNodeOutputID m_outputID; // 0x8 + AnimNodeOutputID m_outputID; // 0x8 // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0xc + CAnimNodeConnection m_inputConnection; // 0xc }; // Alignment: 0 // Size: 0x60 -class CBindPoseUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CBindPoseUpdateNode : public CLeafUpdateNode +{ public: // no members available }; -// Alignment: 1 -// Size: 0x10 -class CAnimationGraphVisualizerPrimitiveBase : public -{ +// Alignment: 4 +// Size: 0x50 +class CAnimationGraphVisualizerPie : public CAnimationGraphVisualizerPrimitiveBase +{ public: - CAnimationGraphVisualizerPrimitiveType m_Type; // 0x8 + VectorAligned m_vWsCenter; // 0x10 + VectorAligned m_vWsStart; // 0x20 + VectorAligned m_vWsEnd; // 0x30 + Color m_Color; // 0x40 }; // Alignment: 13 // Size: 0x78 class CBoneMaskAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Bone Mask" // MPropertyAttributeChoiceName "BoneMask" - CUtlString m_weightListName; // 0x38 + CUtlString m_weightListName; // 0x38 // MPropertyHideField - CAnimNodeConnection m_inputConnection1; // 0x40 + CAnimNodeConnection m_inputConnection1; // 0x40 // MPropertyHideField - CAnimNodeConnection m_inputConnection2; // 0x48 + CAnimNodeConnection m_inputConnection2; // 0x48 // MPropertyFriendlyName "Blend Space" - BoneMaskBlendSpace m_blendSpace; // 0x50 + BoneMaskBlendSpace m_blendSpace; // 0x50 // MPropertyFriendlyName "Use Blend Source" // MPropertyAttrChangeCallback - bool m_bUseBlendScale; // 0x54 + bool m_bUseBlendScale; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 +public: // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x58 + AnimValueSource m_blendValueSource; // 0x58 // MPropertyFriendlyName "Blend Parameter" // MPropertyAttributeChoiceName "FloatParameter" // MPropertyAttrStateCallback - AnimParamID m_blendParameter; // 0x5c + AnimParamID m_blendParameter; // 0x5c // MPropertyFriendlyName "Timing Control" // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x60 + BinaryNodeTiming m_timingBehavior; // 0x60 // MPropertyFriendlyName "Timing Blend" // MPropertyAttributeRange "0 1" // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x64 + float m_flTimingBlend; // 0x64 // MPropertyFriendlyName "Root Motion Blend" // MPropertyAttributeRange "0 1" - float m_flRootMotionBlend; // 0x68 + float m_flRootMotionBlend; // 0x68 // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x6c + BinaryNodeChildOption m_footMotionTiming; // 0x6c // MPropertyFriendlyName "Reset Child1" - bool m_bResetChild1; // 0x70 + bool m_bResetChild1; // 0x70 // MPropertyFriendlyName "Reset Child2" - bool m_bResetChild2; // 0x71 + bool m_bResetChild2; // 0x71 }; // Alignment: 1 // Size: 0x68 class CStateMachineComponent : public CAnimComponentBase -{ +{ public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_sName; // 0x60 -}; - -// Alignment: 2 -// Size: 0x20 -class CToggleComponentActionUpdater : public CAnimActionUpdater -{ -public: - AnimComponentID m_componentID; // 0x18 - bool m_bSetEnabled; // 0x1c -}; - -// Alignment: 1 -// Size: 0x48 -class CAnimNodeManager : public -{ -public: - // MPropertyHideField - CUtlHashtable< AnimNodeID, CSmartPtr< CAnimNodeBase > > m_nodes; // 0x8 -}; - -// Alignment: 6 -// Size: 0x40 -class CStateStatusCondition : public CConditionBase -{ -public: - StateValue m_sourceValue; // 0x28 - StateComparisonValueType m_comparisonValueType; // 0x2c - float m_comparisonFixedValue; // 0x30 - StateValue m_comparisonStateValue; // 0x34 - AnimParamID m_comparisonParamID; // 0x38 - Comparison_t m_comparisonOp; // 0x3c -}; - -// Alignment: 2 -// Size: 0x68 -class CStateMachineAnimNode : public CAnimNodeBase -{ -public: - // MPropertyFriendlyName "Block Tags from Waning States" - bool m_bBlockWaningTags; // 0x60 - // MPropertyFriendlyName "Lock State when Waning" - bool m_bLockStateWhenWaning; // 0x61 -}; - -// Alignment: 7 -// Size: 0x130 -class CAnimationGroup : public -{ -public: - uint32_t m_nFlags; // 0x10 - CBufferString m_name; // 0x18 - // MKV3TransferName "m_localHAnimArray" - CUtlVector< CStrongHandle< InfoForResourceTypeCAnimData > > m_localHAnimArray_Handle; // 0x60 - // MKV3TransferName "m_includedGroupArray" - CUtlVector< CStrongHandle< InfoForResourceTypeCAnimationGroup > > m_includedGroupArray_Handle; // 0x78 - // MKV3TransferName "m_directHSeqGroup" - CStrongHandle< InfoForResourceTypeCSequenceGroupData > m_directHSeqGroup_Handle; // 0x90 - CAnimKeyData m_decodeKey; // 0x98 - CUtlVector< CBufferString > m_szScripts; // 0x110 -}; - -// Alignment: 6 -// Size: 0x88 -class CTurnHelperUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ -public: - AnimValueSource m_facingTarget; // 0x6c - float m_turnStartTimeOffset; // 0x70 - float m_turnDuration; // 0x74 - bool m_bMatchChildDuration; // 0x78 - float m_manualTurnOffset; // 0x7c - bool m_bUseManualTurnOffset; // 0x80 -}; - -// Alignment: 7 -// Size: 0x58 -class CAudioAnimTag : public CAnimTagBase -{ -public: - // MPropertyFriendlyName "Sound Event" - // MPropertyAttributeEditor "SoundPicker()" - CUtlString m_clipName; // 0x40 - // MPropertyFriendlyName "Attachment" - // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x48 - // MPropertyFriendlyName "Volume" - // MPropertyAttributeRange "0 1" - float m_flVolume; // 0x50 - // MPropertyFriendlyName "Stop on Tag End" - bool m_bStopWhenTagEnds; // 0x54 - // MPropertyFriendlyName "Stop When Graph Destroyed" - bool m_bStopWhenGraphEnds; // 0x55 - // MPropertyFriendlyName "Play on Server" - bool m_bPlayOnServer; // 0x56 - // MPropertyFriendlyName "Play on Client" - bool m_bPlayOnClient; // 0x57 -}; - -// Alignment: 8 -// Size: 0x40 -class CPhysSurfacePropertiesSoundNames : public -{ -public: - // MKV3TransferName "impactsoft" - CUtlString m_impactSoft; // 0x0 - // MKV3TransferName "impacthard" - CUtlString m_impactHard; // 0x8 - // MKV3TransferName "scrapesmooth" - CUtlString m_scrapeSmooth; // 0x10 - // MKV3TransferName "scraperough" - CUtlString m_scrapeRough; // 0x18 - // MKV3TransferName "bulletimpact" - CUtlString m_bulletImpact; // 0x20 - // MKV3TransferName "rolling" - CUtlString m_rolling; // 0x28 - // MKV3TransferName "break" - CUtlString m_break; // 0x30 - // MKV3TransferName "strain" - CUtlString m_strain; // 0x38 -}; - -// Alignment: 8 -// Size: 0x68 -class CSeqMultiFetch : public -{ -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 -}; - -// Alignment: 2 -// Size: 0x28 -struct CBoneConstraintPoseSpaceBone__Input_t : public -{ -public: - Vector m_inputValue; // 0x0 - CUtlVector< CTransform > m_outputTransformList; // 0x10 -}; - -// Alignment: 7 -// Size: 0x50 -class CDampedPathAnimMotor : public CPathAnimMotorBase, CAnimMotorBase -{ -public: - // MPropertyFriendlyName "Anticipation Time" - float m_flAnticipationTime; // 0x30 - // MPropertyFriendlyName "Minimum Speed Percentage" - float m_flMinSpeedScale; // 0x34 - // MPropertyFriendlyName "Anticipation Position Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_anticipationPosParam; // 0x38 - // MPropertyFriendlyName "Anticipation Heading Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_anticipationHeadingParam; // 0x3c - // MPropertyFriendlyName "Spring Constant" - // MPropertyGroupName "+Stopping:Arrival Damping" - float m_flSpringConstant; // 0x40 - // MPropertyFriendlyName "Min Tension" - // MPropertyGroupName "+Stopping:Arrival Damping" - float m_flMinSpringTension; // 0x44 - // MPropertyFriendlyName "Max Tension" - // MPropertyGroupName "+Stopping:Arrival Damping" - float m_flMaxSpringTension; // 0x48 -}; - -// Alignment: 9 -// Size: 0x48 -struct SkeletalInputOpFixedSettings_t : public -{ -public: - CUtlVector< WristBone_t > m_wristBones; // 0x0 - CUtlVector< FingerChain_t > m_fingers; // 0x18 - int32_t m_outerKnuckle1; // 0x30 - int32_t m_outerKnuckle2; // 0x34 - AnimVRHand_t m_eHand; // 0x38 - AnimVRHandMotionRange_t m_eMotionRange; // 0x3c - AnimVrBoneTransformSource_t m_eTransformSource; // 0x40 - bool m_bEnableIK; // 0x44 - bool m_bEnableCollision; // 0x45 -}; - -// Alignment: 10 -// Size: 0x70 -class CFingerChain : public -{ -public: - CUtlVector< CFingerSource > m_targets; // 0x0 - CUtlVector< CFingerBone > m_bones; // 0x18 - CUtlString m_name; // 0x30 - CUtlString m_tipParentBoneName; // 0x38 - Vector m_vTipOffset; // 0x40 - CUtlString m_metacarpalBoneName; // 0x50 - Vector m_vSplayHingeAxis; // 0x58 - float m_flSplayMinAngle; // 0x64 - float m_flSplayMaxAngle; // 0x68 - float m_flFingerScaleRatio; // 0x6c -}; - -// Alignment: 2 -// Size: 0x108 -class CGraphMotionItem : public CMotionItem -{ -public: - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0xb0 - // MPropertyHideField - CMotionNodeManager m_nodeManager; // 0xb8 -}; - -// Alignment: 3 -// Size: 0x3 -class CTransitionUpdateData : public -{ -public: - uint8_t m_srcStateIndex; // 0x0 - uint8_t m_destStateIndex; // 0x1 - uint8_t m_bDisabled:1; // 0x0 -}; - -// Alignment: 2 -// Size: 0x18 -class CAnimUserDifference : public -{ -public: - CBufferString m_name; // 0x0 - int32_t m_nType; // 0x10 -}; - -// Alignment: 2 -// Size: 0x80 -class CAnimNodeState : public CAnimState -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x70 - // MPropertyFriendlyName "Exclusive Root Motion" - // MPropertySortPriority "0" - bool m_bIsRootMotionExclusive; // 0x78 -}; - -// Alignment: 3 -// Size: 0x30 -class CAnimationGraphVisualizerSphere : public CAnimationGraphVisualizerPrimitiveBase -{ -public: - VectorAligned m_vWsPosition; // 0x10 - float m_flRadius; // 0x20 - Color m_Color; // 0x24 -}; - -// Alignment: 2 -// Size: 0x8 -class CBlendCurve : public -{ -public: - float m_flControlPoint1; // 0x0 - float m_flControlPoint2; // 0x4 -}; - -// Alignment: 8 -// Size: 0x8 -class CAnimDesc_Flag : public -{ -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 - bool m_bImplicitSeqIgnoreDelta; // 0x6 - bool m_bAnimGraphAdditive; // 0x7 -}; - -// Alignment: 6 -// Size: 0xe0 -class CAnimationSubGraph : public -{ -public: - CAnimNodeManager m_nodeManager; // 0x8 - CAnimComponentManager m_componentManager; // 0x50 - CUtlVector< CSmartPtr< CAnimParameterBase > > m_localParameters; // 0x78 - CUtlVector< CSmartPtr< CAnimTagBase > > m_localTags; // 0x90 - CUtlVector< CUtlString > m_referencedParamGroups; // 0xa8 - CUtlVector< CUtlString > m_referencedTagGroups; // 0xc0 -}; - -// Alignment: 4 -// Size: 0x58 -class CClothSettingsAnimTag : public CAnimTagBase -{ -public: - // MPropertyFriendlyName "Stiffness" - // MPropertyAttributeRange "0 1" - float m_flStiffness; // 0x40 - // MPropertyFriendlyName "EaseIn" - // MPropertyAttributeRange "0 1" - float m_flEaseIn; // 0x44 - // MPropertyFriendlyName "EaseOut" - // MPropertyAttributeRange "0 1" - float m_flEaseOut; // 0x48 - // MPropertyFriendlyName "VertexSet" - CUtlString m_nVertexSet; // 0x50 -}; - -// Alignment: 2 -// Size: 0x28 -class CRigidBodyWeightList : public -{ -public: - CUtlString m_name; // 0x8 - CUtlVector< CRigidBodyWeight > m_weights; // 0x10 -}; - -// Alignment: 4 -// Size: 0x90 -class CMorphConstraint : public CBaseConstraint, CBoneConstraintBase -{ -public: - CUtlString m_sTargetMorph; // 0x70 - int32_t m_nSlaveChannel; // 0x78 - float m_flMin; // 0x7c - float m_flMax; // 0x80 -}; - -// Alignment: 4 -// Size: 0x18 -class CChoiceNodeChild : public -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x0 - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x8 - // MPropertyFriendlyName "Weight" - float m_weight; // 0x10 - // MPropertyFriendlyName "Blend Time" - float m_blendTime; // 0x14 -}; - -// Alignment: 8 -// Size: 0x98 -class CMorphSetData : public -{ -public: - int32_t m_nWidth; // 0x10 - int32_t m_nHeight; // 0x14 - CUtlVector< MorphBundleType_t > m_bundleTypes; // 0x18 - CUtlVector< CMorphData > m_morphDatas; // 0x30 - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureAtlas; // 0x48 - CUtlVector< CFlexDesc > m_FlexDesc; // 0x50 - CUtlVector< CFlexController > m_FlexControllers; // 0x68 - CUtlVector< CFlexRule > m_FlexRules; // 0x80 -}; - -// Alignment: 2 -// Size: 0x30 -class CFinishedCondition : public CConditionBase -{ -public: - FinishedConditionOption m_option; // 0x28 - bool m_bIsFinished; // 0x2c -}; - -// Alignment: 2 -// Size: 0x18 -class CMeshletDescriptor : public -{ -public: - PackedAABB_t m_PackedAABB; // 0x0 - CDrawCullingData m_CullingData; // 0x8 -}; - -// Alignment: 2 -// Size: 0x18 -class CRenderBufferBinding : public -{ -public: - uint64_t m_hBuffer; // 0x0 - uint32_t m_nBindOffsetBytes; // 0x10 -}; - -// Alignment: 1 -// Size: 0x58 -class CBonePositionMetricEvaluator : public CMotionMetricEvaluator -{ -public: - int32_t m_nBoneIndex; // 0x50 -}; - -// Alignment: 2 -// Size: 0x30 -class CSetParameterActionUpdater : public CAnimActionUpdater -{ -public: - CAnimParamHandle m_hParam; // 0x18 - CAnimVariant m_value; // 0x1a + CUtlString m_sName; // 0x60 }; // Alignment: 0 -// Size: 0x60 -class COrCondition : public CConditionBase -{ +// Size: 0x18 +class CAnimActionUpdater +{ public: // no members available }; // Alignment: 3 -// Size: 0x58 -class CAnimUpdateNodeBase : public -{ +// Size: 0x70 +class CContainerAnimNodeBase : public CAnimNodeBase +{ public: - CAnimNodePath m_nodePath; // 0x18 - CUtlString m_name; // 0x48 - AnimNodeNetworkMode m_networkMode; // 0x50 + // MPropertyHideField + AnimNodeID m_inputNodeID; // 0x48 + // MPropertyHideField + AnimNodeID m_outputNodeID; // 0x4c + // MPropertyHideField + CUtlHashtable< AnimNodeOutputID, CAnimNodeConnection > m_inputConnectionMap; // 0x50 +}; + +// Alignment: 6 +// Size: 0x40 +class CStateStatusCondition : public CConditionBase +{ +public: + StateValue m_sourceValue; // 0x28 + StateComparisonValueType m_comparisonValueType; // 0x2c + float m_comparisonFixedValue; // 0x30 + StateValue m_comparisonStateValue; // 0x34 + AnimParamID m_comparisonParamID; // 0x38 + Comparison_t m_comparisonOp; // 0x3c +}; + +// Alignment: 2 +// Size: 0x68 +class CStateMachineAnimNode : public CAnimNodeBase +{ +public: + // MPropertyFriendlyName "Block Tags from Waning States" + bool m_bBlockWaningTags; // 0x60 + // MPropertyFriendlyName "Lock State when Waning" + bool m_bLockStateWhenWaning; // 0x61 +}; + +// Alignment: 7 +// Size: 0x130 +class CAnimationGroup +{ +public: + uint32_t m_nFlags; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CBufferString m_name; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0028[0x38]; // 0x28 +public: + // MKV3TransferName "m_localHAnimArray" + CUtlVector< CStrongHandle< InfoForResourceTypeCAnimData > > m_localHAnimArray_Handle; // 0x60 + // MKV3TransferName "m_includedGroupArray" + CUtlVector< CStrongHandle< InfoForResourceTypeCAnimationGroup > > m_includedGroupArray_Handle; // 0x78 + // MKV3TransferName "m_directHSeqGroup" + CStrongHandle< InfoForResourceTypeCSequenceGroupData > m_directHSeqGroup_Handle; // 0x90 + CAnimKeyData m_decodeKey; // 0x98 + CUtlVector< CBufferString > m_szScripts; // 0x110 +}; + +// Alignment: 6 +// Size: 0x88 +class CTurnHelperUpdateNode : public CUnaryUpdateNode +{ +public: + AnimValueSource m_facingTarget; // 0x6c + float m_turnStartTimeOffset; // 0x70 + float m_turnDuration; // 0x74 + bool m_bMatchChildDuration; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0079[0x3]; // 0x79 +public: + float m_manualTurnOffset; // 0x7c + bool m_bUseManualTurnOffset; // 0x80 +}; + +// Alignment: 7 +// Size: 0x58 +class CAudioAnimTag : public CAnimTagBase +{ +public: + // MPropertyFriendlyName "Sound Event" + // MPropertyAttributeEditor "SoundPicker()" + CUtlString m_clipName; // 0x40 + // MPropertyFriendlyName "Attachment" + // MPropertyAttributeChoiceName "Attachment" + CUtlString m_attachmentName; // 0x48 + // MPropertyFriendlyName "Volume" + // MPropertyAttributeRange "0 1" + float m_flVolume; // 0x50 + // MPropertyFriendlyName "Stop on Tag End" + bool m_bStopWhenTagEnds; // 0x54 + // MPropertyFriendlyName "Stop When Graph Destroyed" + bool m_bStopWhenGraphEnds; // 0x55 + // MPropertyFriendlyName "Play on Server" + bool m_bPlayOnServer; // 0x56 + // MPropertyFriendlyName "Play on Client" + bool m_bPlayOnClient; // 0x57 +}; + +// Alignment: 8 +// Size: 0x40 +class CPhysSurfacePropertiesSoundNames +{ +public: + // MKV3TransferName "impactsoft" + CUtlString m_impactSoft; // 0x0 + // MKV3TransferName "impacthard" + CUtlString m_impactHard; // 0x8 + // MKV3TransferName "scrapesmooth" + CUtlString m_scrapeSmooth; // 0x10 + // MKV3TransferName "scraperough" + CUtlString m_scrapeRough; // 0x18 + // MKV3TransferName "bulletimpact" + CUtlString m_bulletImpact; // 0x20 + // MKV3TransferName "rolling" + CUtlString m_rolling; // 0x28 + // MKV3TransferName "break" + CUtlString m_break; // 0x30 + // MKV3TransferName "strain" + CUtlString m_strain; // 0x38 +}; + +// Alignment: 8 +// Size: 0x68 +class CSeqMultiFetch +{ +public: + CSeqMultiFetchFlag m_flags; // 0x0 + CUtlVector< int16 > m_localReferenceArray; // 0x8 + int32_t m_nGroupSize[2]; // 0x20 + int32_t m_nLocalPose[2]; // 0x28 + CUtlVector< float32 > m_poseKeyArray0; // 0x30 + CUtlVector< float32 > m_poseKeyArray1; // 0x48 + int32_t m_nLocalCyclePoseParameter; // 0x60 + bool m_bCalculatePoseParameters; // 0x64 +}; + +// Alignment: 2 +// Size: 0x28 +struct CBoneConstraintPoseSpaceBone__Input_t +{ +public: + Vector m_inputValue; // 0x0 + CUtlVector< CTransform > m_outputTransformList; // 0x10 +}; + +// Alignment: 1 +// Size: 0x30 +class CPathAnimMotorBase : public CAnimMotorBase +{ +public: + // MPropertyFriendlyName "Lock To Path" + // MPropertySortPriority "90" + bool m_bLockToPath; // 0x28 +}; + +// Alignment: 9 +// Size: 0x48 +struct SkeletalInputOpFixedSettings_t +{ +public: + CUtlVector< WristBone_t > m_wristBones; // 0x0 + CUtlVector< FingerChain_t > m_fingers; // 0x18 + int32_t m_outerKnuckle1; // 0x30 + int32_t m_outerKnuckle2; // 0x34 + AnimVRHand_t m_eHand; // 0x38 + AnimVRHandMotionRange_t m_eMotionRange; // 0x3c + AnimVrBoneTransformSource_t m_eTransformSource; // 0x40 + bool m_bEnableIK; // 0x44 + bool m_bEnableCollision; // 0x45 +}; + +// Alignment: 10 +// Size: 0x70 +class CFingerChain +{ +public: + CUtlVector< CFingerSource > m_targets; // 0x0 + CUtlVector< CFingerBone > m_bones; // 0x18 + CUtlString m_name; // 0x30 + CUtlString m_tipParentBoneName; // 0x38 + Vector m_vTipOffset; // 0x40 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + CUtlString m_metacarpalBoneName; // 0x50 + Vector m_vSplayHingeAxis; // 0x58 + float m_flSplayMinAngle; // 0x64 + float m_flSplayMaxAngle; // 0x68 + float m_flFingerScaleRatio; // 0x6c +}; + +// Alignment: 2 +// Size: 0x108 +class CGraphMotionItem : public CMotionItem +{ +public: + // MPropertyFriendlyName "Name" + CUtlString m_name; // 0xb0 + // MPropertyHideField + CMotionNodeManager m_nodeManager; // 0xb8 +}; + +// Alignment: 3 +// Size: 0x3 +class CTransitionUpdateData +{ +public: + uint8_t m_srcStateIndex; // 0x0 + uint8_t m_destStateIndex; // 0x1 + struct + { + uint8_t m_bDisabled: 1; + uint8_t __pad0: 1; // @note: autoaligned + }; // 2 bits +}; + +// Alignment: 2 +// Size: 0x18 +class CAnimUserDifference +{ +public: + CBufferString m_name; // 0x0 + int32_t m_nType; // 0x10 +}; + +// Alignment: 8 +// Size: 0x70 +class CAnimState +{ +public: + // MPropertySuppressField + CUtlVector< CSmartPtr< CAnimStateTransition > > m_transitions; // 0x28 + // MPropertyHideField + CUtlVector< CStateAction > m_actions; // 0x40 + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CUtlString m_name; // 0x58 + // MPropertyHideField + AnimStateID m_stateID; // 0x60 + // MPropertyHideField + Vector2D m_position; // 0x64 + // MPropertyFriendlyName "Start State" + bool m_bIsStartState; // 0x6c + // MPropertyFriendlyName "End State" + bool m_bIsEndtState; // 0x6d + // MPropertyFriendlyName "Passthrough" + bool m_bIsPassthrough; // 0x6e +}; + +// Alignment: 3 +// Size: 0x30 +class CAnimationGraphVisualizerSphere : public CAnimationGraphVisualizerPrimitiveBase +{ +public: + VectorAligned m_vWsPosition; // 0x10 + float m_flRadius; // 0x20 + Color m_Color; // 0x24 +}; + +// Alignment: 2 +// Size: 0x20 +class CMotionDataSet +{ +public: + CUtlVector< CMotionGraphGroup > m_groups; // 0x0 + int32_t m_nDimensionCount; // 0x18 +}; + +// Alignment: 7 +// Size: 0xa8 +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 +}; + +// Alignment: 1 +// Size: 0x28 +class CAnimComponentManager +{ +public: + CUtlVector< CSmartPtr< CAnimComponentBase > > m_components; // 0x8 +}; + +// Alignment: 4 +// Size: 0x58 +class CClothSettingsAnimTag : public CAnimTagBase +{ +public: + // MPropertyFriendlyName "Stiffness" + // MPropertyAttributeRange "0 1" + float m_flStiffness; // 0x40 + // MPropertyFriendlyName "EaseIn" + // MPropertyAttributeRange "0 1" + float m_flEaseIn; // 0x44 + // MPropertyFriendlyName "EaseOut" + // MPropertyAttributeRange "0 1" + float m_flEaseOut; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + // MPropertyFriendlyName "VertexSet" + CUtlString m_nVertexSet; // 0x50 +}; + +// Alignment: 2 +// Size: 0x28 +class CRigidBodyWeightList +{ +public: + CUtlString m_name; // 0x8 + CUtlVector< CRigidBodyWeight > m_weights; // 0x10 +}; + +// Alignment: 4 +// Size: 0x90 +class CMorphConstraint : public CBaseConstraint +{ +public: + CUtlString m_sTargetMorph; // 0x70 + int32_t m_nSlaveChannel; // 0x78 + float m_flMin; // 0x7c + float m_flMax; // 0x80 +}; + +// Alignment: 4 +// Size: 0x18 +class CChoiceNodeChild +{ +public: + // MPropertyHideField + CAnimNodeConnection m_inputConnection; // 0x0 + // MPropertyFriendlyName "Name" + CUtlString m_name; // 0x8 + // MPropertyFriendlyName "Weight" + float m_weight; // 0x10 + // MPropertyFriendlyName "Blend Time" + float m_blendTime; // 0x14 +}; + +// Alignment: 8 +// Size: 0x98 +class CMorphSetData +{ +public: + int32_t m_nWidth; // 0x10 + int32_t m_nHeight; // 0x14 + CUtlVector< MorphBundleType_t > m_bundleTypes; // 0x18 + CUtlVector< CMorphData > m_morphDatas; // 0x30 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureAtlas; // 0x48 + CUtlVector< CFlexDesc > m_FlexDesc; // 0x50 + CUtlVector< CFlexController > m_FlexControllers; // 0x68 + CUtlVector< CFlexRule > m_FlexRules; // 0x80 +}; + +// Alignment: 2 +// Size: 0x30 +class CFinishedCondition : public CConditionBase +{ +public: + FinishedConditionOption m_option; // 0x28 + bool m_bIsFinished; // 0x2c +}; + +// Alignment: 3 +// Size: 0x10 +class CDrawCullingData +{ +public: + Vector m_vConeApex; // 0x0 + int8_t m_ConeAxis[3]; // 0xc + int8_t m_ConeCutoff; // 0xf +}; + +// Alignment: 2 +// Size: 0x18 +class CRenderBufferBinding +{ +public: + uint64_t m_hBuffer; // 0x0 + uint32_t m_nBindOffsetBytes; // 0x10 +}; + +// Alignment: 1 +// Size: 0x58 +class CBonePositionMetricEvaluator : public CMotionMetricEvaluator +{ +public: + int32_t m_nBoneIndex; // 0x50 +}; + +// Alignment: 2 +// Size: 0x30 +class CSetParameterActionUpdater : public CAnimActionUpdater +{ +public: + CAnimParamHandle m_hParam; // 0x18 + CAnimVariant m_value; // 0x1a +}; + +// Alignment: 0 +// Size: 0x60 +class COrCondition : public CConditionBase +{ +public: + // no members available +}; + +// Alignment: 7 +// Size: 0xa8 +class CBoneMaskUpdateNode : public CBinaryUpdateNode +{ +public: + int32_t m_nWeightListIndex; // 0x8c + float m_flRootMotionBlend; // 0x90 + BoneMaskBlendSpace m_blendSpace; // 0x94 + BinaryNodeChildOption m_footMotionTiming; // 0x98 + bool m_bUseBlendScale; // 0x9c +private: + [[maybe_unused]] uint8_t __pad009d[0x3]; // 0x9d +public: + AnimValueSource m_blendValueSource; // 0xa0 + CAnimParamHandle m_hBlendParameter; // 0xa4 }; // Alignment: 4 // Size: 0x60 class CFutureVelocityMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - float m_flDistance; // 0x50 - float m_flStoppingDistance; // 0x54 - float m_flTargetSpeed; // 0x58 - VelocityMetricMode m_eMode; // 0x5c + float m_flDistance; // 0x50 + float m_flStoppingDistance; // 0x54 + float m_flTargetSpeed; // 0x58 + VelocityMetricMode m_eMode; // 0x5c }; // Alignment: 2 // Size: 0x10 -class CMovementMode : public -{ +class CMovementMode +{ public: // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 // MPropertyFriendlyName "Top Speed" - float m_flSpeed; // 0x8 + float m_flSpeed; // 0x8 }; -// Alignment: 4 +// Alignment: 0 // Size: 0x50 -class CMotionMetricEvaluator : public -{ +class CCurrentRotationVelocityMetricEvaluator : public CMotionMetricEvaluator +{ public: - CUtlVector< float32 > m_means; // 0x18 - CUtlVector< float32 > m_standardDeviations; // 0x30 - float m_flWeight; // 0x48 - int32_t m_nDimensionStartIndex; // 0x4c + // no members available }; // Alignment: 3 // Size: 0x48 class CDirectPlaybackAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Finish Early" - bool m_bFinishEarly; // 0x40 + bool m_bFinishEarly; // 0x40 // MPropertyFriendlyName "Reset Child On Finish" - bool m_bResetOnFinish; // 0x41 -}; - -// Alignment: 2 -// Size: 0x30 -class CToggleComponentAction : public CAnimActionBase -{ -public: - // MPropertyFriendlyName "Component" - // MPropertyAttributeChoiceName "Component" - AnimComponentID m_componentID; // 0x28 - // MPropertyFriendlyName "Set Enabled" - bool m_bSetEnabled; // 0x2c + bool m_bResetOnFinish; // 0x41 }; // Alignment: 9 -// Size: 0x3c -class CFootCycleDefinition : public -{ +// Size: 0x60 +class CVRInputComponent : public CAnimComponentBase +{ public: - Vector m_vStancePositionMS; // 0x0 - Vector m_vMidpointPositionMS; // 0xc - float m_flStanceDirectionMS; // 0x18 - Vector m_vToStrideStartPos; // 0x1c - CAnimCycle m_stanceCycle; // 0x28 - CFootCycle m_footLiftCycle; // 0x2c - CFootCycle m_footOffCycle; // 0x30 - CFootCycle m_footStrikeCycle; // 0x34 - CFootCycle m_footLandCycle; // 0x38 + // MPropertyHideField + AnimParamID m_FingerCurl_Thumb; // 0x38 + // MPropertyHideField + AnimParamID m_FingerCurl_Index; // 0x3c + // MPropertyHideField + AnimParamID m_FingerCurl_Middle; // 0x40 + // MPropertyHideField + AnimParamID m_FingerCurl_Ring; // 0x44 + // MPropertyHideField + AnimParamID m_FingerCurl_Pinky; // 0x48 + // MPropertyHideField + AnimParamID m_FingerSplay_Thumb_Index; // 0x4c + // MPropertyHideField + AnimParamID m_FingerSplay_Index_Middle; // 0x50 + // MPropertyHideField + AnimParamID m_FingerSplay_Middle_Ring; // 0x54 + // MPropertyHideField + AnimParamID m_FingerSplay_Ring_Pinky; // 0x58 +}; + +// Alignment: 1 +// Size: 0x4 +class CCycleBase +{ +public: + float m_flCycle; // 0x0 }; // Alignment: 3 // Size: 0x60 class CFootStepTriggerAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Tolerance" - float m_flTolerance; // 0x40 + float m_flTolerance; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: // MPropertyFriendlyName "Feet" // MPropertyAutoExpandSelf - CUtlVector< CFootStepTriggerItem > m_items; // 0x48 + CUtlVector< CFootStepTriggerItem > m_items; // 0x48 }; // Alignment: 5 // Size: 0x60 -class CConstraintSlave : public -{ +class CConstraintSlave +{ public: - Quaternion m_qBaseOrientation; // 0x0 - Vector m_vBasePosition; // 0x10 - uint32_t m_nBoneHash; // 0x1c - float m_flWeight; // 0x20 - CUtlString m_sName; // 0x28 + Quaternion m_qBaseOrientation; // 0x0 + Vector m_vBasePosition; // 0x10 + uint32_t m_nBoneHash; // 0x1c + float m_flWeight; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + CUtlString m_sName; // 0x28 }; // Alignment: 1 // Size: 0x40 class CLODComponent : public CAnimComponentBase -{ +{ public: - int32_t m_nServerLOD; // 0x38 + int32_t m_nServerLOD; // 0x38 }; // Alignment: 6 // Size: 0x50 -struct ChainToSolveData_t : public -{ +struct ChainToSolveData_t +{ public: - int32_t m_nChainIndex; // 0x0 - IKSolverSettings_t m_SolverSettings; // 0x4 - IKTargetSettings_t m_TargetSettings; // 0x10 - SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x30 - float m_flDebugNormalizedValue; // 0x34 - VectorAligned m_vDebugOffset; // 0x40 + int32_t m_nChainIndex; // 0x0 + IKSolverSettings_t m_SolverSettings; // 0x4 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + IKTargetSettings_t m_TargetSettings; // 0x10 + SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x30 + float m_flDebugNormalizedValue; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 +public: + VectorAligned m_vDebugOffset; // 0x40 }; // Alignment: 4 // Size: 0x30 -class CHitBoxSet : public -{ +class CHitBoxSet +{ public: - CUtlString m_name; // 0x0 - uint32_t m_nNameHash; // 0x8 - CUtlVector< CHitBox > m_HitBoxes; // 0x10 - CUtlString m_SourceFilename; // 0x28 + CUtlString m_name; // 0x0 + uint32_t m_nNameHash; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< CHitBox > m_HitBoxes; // 0x10 + CUtlString m_SourceFilename; // 0x28 }; // Alignment: 1 -// Size: 0x28 -class CMotionParameterManager : public -{ +// Size: 0xb8 +class CSequenceMotionItem : public CMotionItem +{ public: - CUtlVector< CSmartPtr< CMotionParameter > > m_params; // 0x10 -}; - -// Alignment: 2 -// Size: 0x10 -class CAnimInputDamping : public -{ -public: - // MPropertyFriendlyName "Speed Function" - DampingSpeedFunction m_speedFunction; // 0x8 - // MPropertyFriendlyName "Speed Scale" - float m_fSpeedScale; // 0xc + // MPropertyFriendlyName "Sequence" + // MPropertyAttributeChoiceName "Sequence" + CUtlString m_sequenceName; // 0xb0 }; // Alignment: 7 -// Size: 0x48 -class CSlopeComponentUpdater : public CAnimComponentUpdater -{ +// Size: 0x108 +class CMovementComponent : public CAnimComponentBase +{ public: - float m_flTraceDistance; // 0x34 - CAnimParamHandle m_hSlopeAngle; // 0x38 - CAnimParamHandle m_hSlopeAngleFront; // 0x3a - CAnimParamHandle m_hSlopeAngleSide; // 0x3c - CAnimParamHandle m_hSlopeHeading; // 0x3e - CAnimParamHandle m_hSlopeNormal; // 0x40 - CAnimParamHandle m_hSlopeNormal_WorldSpace; // 0x42 + // MPropertyFriendlyName "Movement Modes" + CUtlVector< CMovementMode > m_moveModes; // 0x40 + // MPropertyHideField + CUtlVector< CSmartPtr< CAnimMotorBase > > m_motors; // 0x58 + // MPropertyFriendlyName "Network Path" + bool m_bNetworkPath; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 +public: + // MPropertyGroupName "+Facing" + // MPropertyFriendlyName "Default Mode" + FacingMode m_eDefaultFacingMode; // 0x74 + // MPropertyGroupName "+Facing" + // MPropertyFriendlyName "Damping" + CAnimInputDamping m_facingDamping; // 0x78 + // MPropertyGroupName "+Facing" + // MPropertyFriendlyName "Network Facing" + bool m_bNetworkFacing; // 0x88 +private: + [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 +public: + // MPropertyHideField + AnimParamID m_paramIDs[30]; // 0x8c }; -// Alignment: 3 -// Size: 0x70 -class CContainerAnimNodeBase : public CAnimNodeBase -{ +// Alignment: 4 +// Size: 0x30 +class CAnimComponentUpdater +{ +public: + CUtlString m_name; // 0x18 + AnimComponentID m_id; // 0x20 + AnimNodeNetworkMode m_networkMode; // 0x24 + bool m_bStartEnabled; // 0x28 +}; + +// Alignment: 1 +// Size: 0xb8 +class CGroupAnimNode : public CContainerAnimNodeBase +{ public: // MPropertyHideField - AnimNodeID m_inputNodeID; // 0x48 - // MPropertyHideField - AnimNodeID m_outputNodeID; // 0x4c - // MPropertyHideField - CUtlHashtable< AnimNodeOutputID, CAnimNodeConnection > m_inputConnectionMap; // 0x50 + CAnimNodeManager m_nodeMgr; // 0x70 }; // Alignment: 4 // Size: 0x28 -class CAnimFrameSegment : public -{ +class CAnimFrameSegment +{ public: - int32_t m_nUniqueFrameIndex; // 0x0 - uint32_t m_nLocalElementMasks; // 0x4 - int32_t m_nLocalChannel; // 0x8 - CUtlBinaryBlock m_container; // 0x10 + int32_t m_nUniqueFrameIndex; // 0x0 + uint32_t m_nLocalElementMasks; // 0x4 + int32_t m_nLocalChannel; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlBinaryBlock m_container; // 0x10 }; // Alignment: 1 -// Size: 0x4 -class AnimTagID : public -{ +// Size: 0x30 +class CEmitTagAction : public CAnimActionBase +{ public: - uint32_t m_id; // 0x0 + // MPropertyFriendlyName "Tag" + // MPropertyAttributeChoiceName "Tag" + AnimTagID m_tag; // 0x28 }; // Alignment: 6 // Size: 0x50 -class CVrSkeletalInputSettings : public -{ +class CVrSkeletalInputSettings +{ public: - CUtlVector< CWristBone > m_wristBones; // 0x0 - CUtlVector< CFingerChain > m_fingers; // 0x18 - CUtlString m_name; // 0x30 - CUtlString m_outerKnuckle1; // 0x38 - CUtlString m_outerKnuckle2; // 0x40 - AnimVRHand_t m_eHand; // 0x48 + CUtlVector< CWristBone > m_wristBones; // 0x0 + CUtlVector< CFingerChain > m_fingers; // 0x18 + CUtlString m_name; // 0x30 + CUtlString m_outerKnuckle1; // 0x38 + CUtlString m_outerKnuckle2; // 0x40 + AnimVRHand_t m_eHand; // 0x48 }; // Alignment: 2 // Size: 0xd0 class CEnumAnimParameter : public CAnimParameterBase -{ +{ public: // MPropertyFriendlyName "Default Value" - uint8_t m_defaultValue; // 0x80 + uint8_t m_defaultValue; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0081[0x7]; // 0x81 +public: // MPropertyFriendlyName "Values" - CUtlVector< CUtlString > m_enumOptions; // 0x88 + CUtlVector< CUtlString > m_enumOptions; // 0x88 }; // Alignment: 4 // Size: 0x60 class CFootstepLandedAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Footstep Type" - FootstepLandedFootSoundType_t m_FootstepType; // 0x40 + FootstepLandedFootSoundType_t m_FootstepType; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: // MPropertyFriendlyName "Override Sound" // MPropertyAttributeChoiceName "Sound" - CUtlString m_OverrideSoundName; // 0x48 + CUtlString m_OverrideSoundName; // 0x48 // MPropertyFriendlyName "Debug Name" - CUtlString m_DebugAnimSourceString; // 0x50 + CUtlString m_DebugAnimSourceString; // 0x50 // MPropertyFriendlyName "Bone Name" // MPropertyAttributeChoiceName "Bone" - CUtlString m_BoneName; // 0x58 + CUtlString m_BoneName; // 0x58 }; // Alignment: 2 // Size: 0x18 -class CStateNodeStateData : public -{ +class CStateNodeStateData +{ public: - CAnimUpdateNodeRef m_pChild; // 0x0 - uint8_t m_bExclusiveRootMotion:1; // 0x0 + CAnimUpdateNodeRef m_pChild; // 0x0 + struct + { + uint8_t m_bExclusiveRootMotion: 1; + uint8_t __pad1: 1; // @note: autoaligned + }; // 2 bits }; // Alignment: 1 // Size: 0x58 class CRootAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x50 + CAnimNodeConnection m_inputConnection; // 0x50 }; -// Alignment: 2 -// Size: 0x58 -class CFootStride : public -{ +// Alignment: 0 +// Size: 0x4 +class CFootCycle : public CCycleBase +{ public: - CFootCycleDefinition m_definition; // 0x0 - CFootTrajectories m_trajectories; // 0x40 + // no members available }; // Alignment: 7 // Size: 0x28 -class CFootPinningItem : public -{ +class CFootPinningItem +{ public: // MPropertyFriendlyName "Foot" // MPropertyAttributeChoiceName "Foot" - CUtlString m_footName; // 0x0 + CUtlString m_footName; // 0x0 // MPropertyFriendlyName "Target Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_targetBoneName; // 0x8 + CUtlString m_targetBoneName; // 0x8 // MPropertyFriendlyName "IK Chain" // MPropertyAttributeChoiceName "IKChain" - CUtlString m_ikChainName; // 0x10 + CUtlString m_ikChainName; // 0x10 // MPropertyFriendlyName "Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tag; // 0x18 + AnimTagID m_tag; // 0x18 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "BoolParameter" - AnimParamID m_param; // 0x1c + AnimParamID m_param; // 0x1c // MPropertyFriendlyName "Max Left Rotation" // MPropertyAttributeRange "0 180" - float m_flMaxRotationLeft; // 0x20 + float m_flMaxRotationLeft; // 0x20 // MPropertyFriendlyName "Max Right Rotation" // MPropertyAttributeRange "0 180" - float m_flMaxRotationRight; // 0x24 + float m_flMaxRotationRight; // 0x24 }; // Alignment: 3 // Size: 0x18 -class CAnimDecoder : public -{ +class CAnimDecoder +{ public: - CBufferString m_szName; // 0x0 - int32_t m_nVersion; // 0x10 - int32_t m_nType; // 0x14 + CBufferString m_szName; // 0x0 + int32_t m_nVersion; // 0x10 + int32_t m_nType; // 0x14 }; // Alignment: 1 // Size: 0x1 -class CAnimEnum : public -{ +class CAnimEnum +{ public: - uint8_t m_value; // 0x0 + uint8_t m_value; // 0x0 }; // Alignment: 4 // Size: 0x98 -class CAddUpdateNode : public CBinaryUpdateNode, CAnimUpdateNodeBase -{ +class CAddUpdateNode : public CBinaryUpdateNode +{ public: - BinaryNodeChildOption m_footMotionTiming; // 0x8c - bool m_bApplyToFootMotion; // 0x90 - bool m_bApplyChannelsSeparately; // 0x91 - bool m_bUseModelSpace; // 0x92 + BinaryNodeChildOption m_footMotionTiming; // 0x8c + bool m_bApplyToFootMotion; // 0x90 + bool m_bApplyChannelsSeparately; // 0x91 + bool m_bUseModelSpace; // 0x92 }; // Alignment: 1 // Size: 0x30 class CBonePositionMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x28 + CUtlString m_boneName; // 0x28 }; // Alignment: 2 // Size: 0x58 class CFutureFacingMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - float m_flDistance; // 0x50 - float m_flTime; // 0x54 + float m_flDistance; // 0x50 + float m_flTime; // 0x54 }; // Alignment: 1 // Size: 0x50 class CModelConfigElement_SetMaterialGroup : public CModelConfigElement -{ +{ public: - CUtlString m_MaterialGroupName; // 0x48 + CUtlString m_MaterialGroupName; // 0x48 }; // Alignment: 10 // Size: 0x60 class CAddAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_baseInput; // 0x38 + CAnimNodeConnection m_baseInput; // 0x38 // MPropertyHideField - CAnimNodeConnection m_additiveInput; // 0x40 + CAnimNodeConnection m_additiveInput; // 0x40 // MPropertyFriendlyName "Timing Control" // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x48 + BinaryNodeTiming m_timingBehavior; // 0x48 // MPropertyFriendlyName "Timing Blend" // MPropertyAttributeRange "0 1" // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x4c + float m_flTimingBlend; // 0x4c // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x50 + BinaryNodeChildOption m_footMotionTiming; // 0x50 // MPropertyFriendlyName "Add Foot Motion" - bool m_bApplyToFootMotion; // 0x54 + bool m_bApplyToFootMotion; // 0x54 // MPropertyFriendlyName "Reset Base Child" - bool m_bResetBase; // 0x55 + bool m_bResetBase; // 0x55 // MPropertyFriendlyName "Reset Additive Child" - bool m_bResetAdditive; // 0x56 + bool m_bResetAdditive; // 0x56 // MPropertyFriendlyName "Treat Translation Separately" - bool m_bApplyChannelsSeparately; // 0x57 + bool m_bApplyChannelsSeparately; // 0x57 // MPropertyFriendlyName "Use Model Space" - bool m_bUseModelSpace; // 0x58 + bool m_bUseModelSpace; // 0x58 }; // Alignment: 9 // Size: 0xc0 class CMovementComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CUtlVector< CMovementMode > m_movementModes; // 0x30 - CUtlVector< CSmartPtr< CAnimMotorUpdaterBase > > m_motors; // 0x48 - CAnimInputDamping m_facingDamping; // 0x60 - FacingMode m_eDefaultFacingMode; // 0x70 - int32_t m_nDefaultMotorIndex; // 0x7c - bool m_bMoveVarsDisabled; // 0x80 - bool m_bNetworkPath; // 0x81 - bool m_bNetworkFacing; // 0x82 - CAnimParamHandle[30] m_paramHandles; // 0x83 + CUtlVector< CMovementMode > m_movementModes; // 0x30 + CUtlVector< CSmartPtr< CAnimMotorUpdaterBase > > m_motors; // 0x48 + CAnimInputDamping m_facingDamping; // 0x60 + FacingMode m_eDefaultFacingMode; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0074[0x8]; // 0x74 +public: + int32_t m_nDefaultMotorIndex; // 0x7c + bool m_bMoveVarsDisabled; // 0x80 + bool m_bNetworkPath; // 0x81 + bool m_bNetworkFacing; // 0x82 + CAnimParamHandle m_paramHandles[30]; // 0x83 }; -// Alignment: 1 -// Size: 0x110 -class CFollowAttachmentUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 4 +// Size: 0x90 +struct FollowAttachmentSettings_t +{ public: - FollowAttachmentSettings_t m_opFixedData; // 0x70 + CAnimAttachment m_attachment; // 0x0 + int32_t m_boneIndex; // 0x80 + bool m_bMatchTranslation; // 0x84 + bool m_bMatchRotation; // 0x85 }; -// Alignment: 1 +// Alignment: 0 // Size: 0x28 -class CPathAnimMotorUpdaterBase : public CAnimMotorUpdaterBase -{ +class CPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase +{ public: - bool m_bLockToPath; // 0x20 + // no members available }; // Alignment: 4 // Size: 0x48 -class CAnimParamSpan : public -{ +class CAnimParamSpan +{ public: - CUtlVector< CAnimParamSpanSample > m_samples; // 0x20 - AnimParamID m_id; // 0x38 - float m_flStartCycle; // 0x3c - float m_flEndCycle; // 0x40 + CUtlVector< CAnimParamSpanSample > m_samples; // 0x20 + AnimParamID m_id; // 0x38 + float m_flStartCycle; // 0x3c + float m_flEndCycle; // 0x40 }; // Alignment: 10 // Size: 0xa8 class CSelectorAnimNode : public CAnimNodeBase -{ +{ public: // MPropertySuppressField - CUtlVector< CAnimNodeConnection > m_children; // 0x40 + CUtlVector< CAnimNodeConnection > m_children; // 0x40 // MPropertyHideField - CUtlVector< AnimTagID > m_tags; // 0x58 + CUtlVector< AnimTagID > m_tags; // 0x58 // MPropertyFriendlyName "Selection Source" // MPropertyAttrChangeCallback - SelectionSource_t m_selectionSource; // 0x70 + SelectionSource_t m_selectionSource; // 0x70 // MPropertyFriendlyName "Bool Parameter" // MPropertyAttributeChoiceName "BoolParameter" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimParamID m_boolParamID; // 0x74 + AnimParamID m_boolParamID; // 0x74 // MPropertyFriendlyName "Enum Parameter" // MPropertyAttributeChoiceName "EnumParameter" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimParamID m_enumParamID; // 0x78 + AnimParamID m_enumParamID; // 0x78 +private: + [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c +public: // MPropertyFriendlyName "Blend Duration" - CFloatAnimValue m_blendDuration; // 0x80 + CFloatAnimValue m_blendDuration; // 0x80 // MPropertyFriendlyName "Tag Behavior" - SelectorTagBehavior_t m_tagBehavior; // 0x98 + SelectorTagBehavior_t m_tagBehavior; // 0x98 // MPropertyFriendlyName "Reset On Change" - bool m_bResetOnChange; // 0x9c + bool m_bResetOnChange; // 0x9c // MPropertyFriendlyName "Start new option at same cycle" - bool m_bSyncCyclesOnChange; // 0x9d + bool m_bSyncCyclesOnChange; // 0x9d +private: + [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e +public: // MPropertyHideField - CBlendCurve m_blendCurve; // 0xa0 + CBlendCurve m_blendCurve; // 0xa0 }; // Alignment: 5 // Size: 0x90 -class CAnimReplayFrame : public -{ +class CAnimReplayFrame +{ public: - CUtlVector< CUtlBinaryBlock > m_inputDataBlocks; // 0x10 - CUtlBinaryBlock m_instanceData; // 0x28 - CTransform m_startingLocalToWorldTransform; // 0x40 - CTransform m_localToWorldTransform; // 0x60 - float m_timeStamp; // 0x80 + CUtlVector< CUtlBinaryBlock > m_inputDataBlocks; // 0x10 + CUtlBinaryBlock m_instanceData; // 0x28 + CTransform m_startingLocalToWorldTransform; // 0x40 + CTransform m_localToWorldTransform; // 0x60 + float m_timeStamp; // 0x80 }; // Alignment: 0 // Size: 0x50 class CCurrentVelocityMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: // no members available }; @@ -9255,1722 +9466,1906 @@ public: // Alignment: 2 // Size: 0x58 class CModelConfigElement_SetBodygroupOnAttachedModels : public CModelConfigElement -{ +{ public: - CUtlString m_GroupName; // 0x48 - int32_t m_nChoice; // 0x50 + CUtlString m_GroupName; // 0x48 + int32_t m_nChoice; // 0x50 }; // Alignment: 1 // Size: 0x70 -class CSpeedScaleUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CSpeedScaleUpdateNode : public CUnaryUpdateNode +{ public: - CAnimParamHandle m_paramIndex; // 0x68 + CAnimParamHandle m_paramIndex; // 0x68 }; -// Alignment: 12 -// Size: 0x60 -struct MoodAnimationLayer_t : public -{ +// Alignment: 1 +// Size: 0x8 +class CRangeFloat +{ public: - // MPropertyFriendlyName "Name" - // MPropertyDescription "Name of the layer" - CUtlString m_sName; // 0x0 - // MPropertyFriendlyName "Active When Listening" - // MPropertyDescription "Sets the mood's animation buckets to be active when the character is listening" - bool m_bActiveListening; // 0x8 - // MPropertyFriendlyName "Active When Talking" - // MPropertyDescription "Sets the mood's animation buckets to be active when the character is talking" - bool m_bActiveTalking; // 0x9 - // MPropertyDescription "List of animations to choose from" - CUtlVector< MoodAnimation_t > m_layerAnimations; // 0x10 - // MPropertyDescription "Intensity of the animation" - // MPropertyAttributeRange "0 1" - CRangeFloat m_flIntensity; // 0x28 - // MPropertyDescription "Multiplier of the animation duration" - CRangeFloat m_flDurationScale; // 0x30 - // MPropertyDescription "When scaling an animation, grab the scale value as in int. Used for gestures/postures to control number of looping sections" - bool m_bScaleWithInts; // 0x38 - // MPropertyDescription "Time before the next animation can start" - CRangeFloat m_flNextStart; // 0x3c - // MPropertyDescription "Time from the start of the mood before an animation can start" - CRangeFloat m_flStartOffset; // 0x44 - // MPropertyDescription "Time from the end of the mood when an animation cannot play" - CRangeFloat m_flEndOffset; // 0x4c - // MPropertyDescription "Fade in time of the animation" - float m_flFadeIn; // 0x54 - // MPropertyDescription "Fade out time of the animation" - float m_flFadeOut; // 0x58 + float m_pValue[2]; // 0x0 }; // Alignment: 2 // Size: 0x28 -struct CBoneConstraintPoseSpaceMorph__Input_t : public -{ +struct CBoneConstraintPoseSpaceMorph__Input_t +{ public: - Vector m_inputValue; // 0x0 - CUtlVector< float32 > m_outputWeightList; // 0x10 + Vector m_inputValue; // 0x0 + CUtlVector< float32 > m_outputWeightList; // 0x10 }; // Alignment: 2 // Size: 0x40 class CSetParameterAction : public CAnimActionBase -{ +{ public: // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "Parameter" - AnimParamID m_param; // 0x28 + AnimParamID m_param; // 0x28 // MPropertyFriendlyName "Value" - CAnimVariant m_value; // 0x2c + CAnimVariant m_value; // 0x2c }; // Alignment: 23 // Size: 0xd0 class CMotionMatchingAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CMotionItemGroup > > m_groups; // 0x48 + CUtlVector< CSmartPtr< CMotionItemGroup > > m_groups; // 0x48 // MPropertyHideField - CUtlVector< CSmartPtr< CMotionMetricBase > > m_metrics; // 0x60 + CUtlVector< CSmartPtr< CMotionMetricBase > > m_metrics; // 0x60 // MPropertyHideField - CBlendCurve m_blendCurve; // 0x78 + CBlendCurve m_blendCurve; // 0x78 // MPropertyHideField - int32_t m_nRandomSeed; // 0x80 + int32_t m_nRandomSeed; // 0x80 // MPropertyFriendlyName "Sample Rate" // MPropertyAttributeRange "0.01 0.2" - float m_flSampleRate; // 0x84 + float m_flSampleRate; // 0x84 // MPropertyFriendlyName "Search Every Update" // MPropertyGroupName "Search Frequency" // MPropertyAttrChangeCallback - bool m_bSearchEveryTick; // 0x88 + bool m_bSearchEveryTick; // 0x88 +private: + [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 +public: // MPropertyFriendlyName "Search Interval" // MPropertyGroupName "Search Frequency" // MPropertyAttrStateCallback - float m_flSearchInterval; // 0x8c + float m_flSearchInterval; // 0x8c // MPropertyFriendlyName "Search when motion ends" // MPropertyGroupName "Search Frequency" // MPropertyAttrStateCallback - bool m_bSearchWhenMotionEnds; // 0x90 + bool m_bSearchWhenMotionEnds; // 0x90 // MPropertyFriendlyName "Search when goal changes" // MPropertyGroupName "Search Frequency" // MPropertyAttrStateCallback - bool m_bSearchWhenGoalChanges; // 0x91 + bool m_bSearchWhenGoalChanges; // 0x91 +private: + [[maybe_unused]] uint8_t __pad0092[0x2]; // 0x92 +public: // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0x94 + float m_flBlendTime; // 0x94 // MPropertyFriendlyName "Selection Threshold" - float m_flSelectionThreshold; // 0x98 + float m_flSelectionThreshold; // 0x98 // MPropertyFriendlyName "Re-Selection Time Window" - float m_flReselectionTimeWindow; // 0x9c + float m_flReselectionTimeWindow; // 0x9c // MPropertyFriendlyName "Lock Selection When Waning" - bool m_bLockSelectionWhenWaning; // 0xa0 + bool m_bLockSelectionWhenWaning; // 0xa0 // MPropertyFriendlyName "Enable Rotation Correction" - bool m_bEnableRotationCorrection; // 0xa1 + bool m_bEnableRotationCorrection; // 0xa1 // MPropertyFriendlyName "Enable Goal Assist" // MPropertyGroupName "Goal Assist" // MPropertyAttrChangeCallback - bool m_bGoalAssist; // 0xa2 + bool m_bGoalAssist; // 0xa2 +private: + [[maybe_unused]] uint8_t __pad00a3[0x1]; // 0xa3 +public: // MPropertyFriendlyName "Goal Assist Distance" // MPropertyGroupName "Goal Assist" // MPropertyAttrStateCallback - float m_flGoalAssistDistance; // 0xa4 + float m_flGoalAssistDistance; // 0xa4 // MPropertyFriendlyName "Goal Assist Tolerance" // MPropertyGroupName "Goal Assist" // MPropertyAttrStateCallback - float m_flGoalAssistTolerance; // 0xa8 + float m_flGoalAssistTolerance; // 0xa8 // MPropertyFriendlyName "Enable Distance Scaling" // MPropertyGroupName "Distance Scaling" // MPropertyAttrChangeCallback - bool m_bEnableDistanceScaling; // 0xac + bool m_bEnableDistanceScaling; // 0xac +private: + [[maybe_unused]] uint8_t __pad00ad[0x3]; // 0xad +public: // MPropertyFriendlyName "Outer Stopping Radius" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_OuterRadius; // 0xb0 + float m_flDistanceScale_OuterRadius; // 0xb0 // MPropertyFriendlyName "Inner Stopping Radius" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_InnerRadius; // 0xb4 + float m_flDistanceScale_InnerRadius; // 0xb4 // MPropertyFriendlyName "Maximum Speed Scale" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_MaxScale; // 0xb8 + float m_flDistanceScale_MaxScale; // 0xb8 // MPropertyFriendlyName "Minimum Speed Scale" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_MinScale; // 0xbc + float m_flDistanceScale_MinScale; // 0xbc // MPropertyFriendlyName "Damping" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - CAnimInputDamping m_distanceScale_Damping; // 0xc0 + CAnimInputDamping m_distanceScale_Damping; // 0xc0 }; // Alignment: 4 // Size: 0x78 class CCycleControlClipAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x50 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x50 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x68 + CUtlString m_sequenceName; // 0x68 // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_valueSource; // 0x70 + AnimValueSource m_valueSource; // 0x70 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x74 + AnimParamID m_param; // 0x74 }; // Alignment: 2 // Size: 0x10 -class CRigidBodyWeight : public -{ +class CRigidBodyWeight +{ public: - CUtlString m_name; // 0x0 - float m_flWeight; // 0x8 + CUtlString m_name; // 0x0 + float m_flWeight; // 0x8 }; // Alignment: 7 // Size: 0x48 -class CAnimBone : public -{ +class CAnimBone +{ public: - CBufferString m_name; // 0x0 - int32_t m_parent; // 0x10 - Vector m_pos; // 0x14 - QuaternionStorage m_quat; // 0x20 - float m_scale; // 0x30 - QuaternionStorage m_qAlignment; // 0x34 - int32_t m_flags; // 0x44 + CBufferString m_name; // 0x0 + int32_t m_parent; // 0x10 + Vector m_pos; // 0x14 + QuaternionStorage m_quat; // 0x20 + float m_scale; // 0x30 + QuaternionStorage m_qAlignment; // 0x34 + int32_t m_flags; // 0x44 }; // Alignment: 6 // Size: 0x150 -class CLookAtUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CLookAtUpdateNode : public CUnaryUpdateNode +{ public: - LookAtOpFixedSettings_t m_opFixedSettings; // 0x70 - AnimVectorSource m_target; // 0x138 - CAnimParamHandle m_paramIndex; // 0x13c - CAnimParamHandle m_weightParamIndex; // 0x13e - bool m_bResetChild; // 0x140 - bool m_bLockWhenWaning; // 0x141 + LookAtOpFixedSettings_t m_opFixedSettings; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0130[0x8]; // 0x130 +public: + AnimVectorSource m_target; // 0x138 + CAnimParamHandle m_paramIndex; // 0x13c + CAnimParamHandle m_weightParamIndex; // 0x13e + bool m_bResetChild; // 0x140 + bool m_bLockWhenWaning; // 0x141 }; -// Alignment: 8 -// Size: 0xc8 -class CHitReactUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 17 +// Size: 0x44 +struct HitReactFixedSettings_t +{ public: - HitReactFixedSettings_t m_opFixedSettings; // 0x68 - CAnimParamHandle m_triggerParam; // 0xb4 - CAnimParamHandle m_hitBoneParam; // 0xb6 - CAnimParamHandle m_hitOffsetParam; // 0xb8 - CAnimParamHandle m_hitDirectionParam; // 0xba - CAnimParamHandle m_hitStrengthParam; // 0xbc - float m_flMinDelayBetweenHits; // 0xc0 - bool m_bResetChild; // 0xc4 + int32_t m_nWeightListIndex; // 0x0 + int32_t m_nEffectedBoneCount; // 0x4 + float m_flMaxImpactForce; // 0x8 + float m_flMinImpactForce; // 0xc + float m_flWhipImpactScale; // 0x10 + float m_flCounterRotationScale; // 0x14 + float m_flDistanceFadeScale; // 0x18 + float m_flPropagationScale; // 0x1c + float m_flWhipDelay; // 0x20 + float m_flSpringStrength; // 0x24 + float m_flWhipSpringStrength; // 0x28 + float m_flMaxAngleRadians; // 0x2c + int32_t m_nHipBoneIndex; // 0x30 + float m_flHipBoneTranslationScale; // 0x34 + float m_flHipDipSpringStrength; // 0x38 + float m_flHipDipImpactScale; // 0x3c + float m_flHipDipDelay; // 0x40 }; // Alignment: 1 // Size: 0xa8 -class CSkeletalInputUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CSkeletalInputUpdateNode : public CLeafUpdateNode +{ public: - SkeletalInputOpFixedSettings_t m_fixedOpData; // 0x58 + SkeletalInputOpFixedSettings_t m_fixedOpData; // 0x58 }; // Alignment: 2 // Size: 0x8 -class CFlexOp : public -{ +class CFlexOp +{ public: - FlexOpCode_t m_OpCode; // 0x0 - int32_t m_Data; // 0x4 + FlexOpCode_t m_OpCode; // 0x0 + int32_t m_Data; // 0x4 }; // Alignment: 1 -// Size: 0x4 -class AnimScriptHandle : public -{ +// Size: 0x38 +class CAnimScriptComponentUpdater : public CAnimComponentUpdater +{ public: - uint32_t m_id; // 0x0 + AnimScriptHandle m_hScript; // 0x30 }; // Alignment: 2 // Size: 0x60 class CModelConfigElement_Command : public CModelConfigElement -{ +{ public: - CUtlString m_Command; // 0x48 - KeyValues3 m_Args; // 0x50 + CUtlString m_Command; // 0x48 + KeyValues3 m_Args; // 0x50 }; // Alignment: 4 // Size: 0x70 -class CAnimStateTransition : public -{ +class CAnimStateTransition +{ public: // MPropertySuppressField - CConditionContainer m_conditionList; // 0x28 + CConditionContainer m_conditionList; // 0x28 // MPropertyHideField - AnimStateID m_srcState; // 0x60 + AnimStateID m_srcState; // 0x60 // MPropertyHideField - AnimStateID m_destState; // 0x64 + AnimStateID m_destState; // 0x64 // MPropertyFriendlyName "Disable" - bool m_bDisabled; // 0x68 + bool m_bDisabled; // 0x68 }; // Alignment: 6 // Size: 0x160 -class CAimMatrixUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CAimMatrixUpdateNode : public CUnaryUpdateNode +{ public: - AimMatrixOpFixedSettings_t m_opFixedSettings; // 0x70 - AnimVectorSource m_target; // 0x148 - CAnimParamHandle m_paramIndex; // 0x14c - HSequence m_hSequence; // 0x150 - bool m_bResetChild; // 0x154 - bool m_bLockWhenWaning; // 0x155 + AimMatrixOpFixedSettings_t m_opFixedSettings; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0140[0x8]; // 0x140 +public: + AnimVectorSource m_target; // 0x148 + CAnimParamHandle m_paramIndex; // 0x14c +private: + [[maybe_unused]] uint8_t __pad014e[0x2]; // 0x14e +public: + HSequence m_hSequence; // 0x150 + bool m_bResetChild; // 0x154 + bool m_bLockWhenWaning; // 0x155 }; -// Alignment: 5 -// Size: 0xf8 -class CStateMachineUpdateNode : public CAnimUpdateNodeBase -{ +// Alignment: 3 +// Size: 0x58 +class CAnimStateMachineUpdater +{ public: - CAnimStateMachineUpdater m_stateMachine; // 0x68 - CUtlVector< CStateNodeStateData > m_stateData; // 0xc0 - CUtlVector< CStateNodeTransitionData > m_transitionData; // 0xd8 - bool m_bBlockWaningTags; // 0xf4 - bool m_bLockStateWhenWaning; // 0xf5 + CUtlVector< CStateUpdateData > m_states; // 0x8 + CUtlVector< CTransitionUpdateData > m_transitions; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 +public: + int32_t m_startStateIndex; // 0x50 }; // Alignment: 14 // Size: 0x138 -class CSequenceGroupData : public -{ +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< CSeqScaleSet > m_localScaleSetArray; // 0xb8 - CUtlVector< CBufferString > m_localBoneNameArray; // 0xd0 - CBufferString m_localNodeName; // 0xe8 - CUtlVector< CSeqPoseParamDesc > m_localPoseParamArray; // 0xf8 - KeyValues3 m_keyValues; // 0x110 - CUtlVector< CSeqIKLock > m_localIKAutoplayLockArray; // 0x120 + CBufferString m_sName; // 0x10 + uint32_t m_nFlags; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + 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< CSeqScaleSet > m_localScaleSetArray; // 0xb8 + CUtlVector< CBufferString > m_localBoneNameArray; // 0xd0 + CBufferString m_localNodeName; // 0xe8 + CUtlVector< CSeqPoseParamDesc > m_localPoseParamArray; // 0xf8 + KeyValues3 m_keyValues; // 0x110 + CUtlVector< CSeqIKLock > m_localIKAutoplayLockArray; // 0x120 }; // Alignment: 2 // Size: 0x48 class CStanceScaleAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x40 + AnimParamID m_param; // 0x40 }; // Alignment: 0 // Size: 0x38 class CStaticPoseCacheBuilder : public CStaticPoseCache -{ +{ public: // no members available }; -// Alignment: 2 -// Size: 0x8 -class CAnimNodeConnection : public -{ +// Alignment: 3 +// Size: 0x48 +class CPathHelperAnimNode : public CAnimNodeBase +{ public: - AnimNodeID m_nodeID; // 0x0 - AnimNodeOutputID m_outputID; // 0x4 + // MPropertyHideField + CAnimNodeConnection m_inputConnection; // 0x38 + // MPropertyFriendlyName "Stopping Radius" + float m_flStoppingRadius; // 0x40 + // MPropertyFriendlyName "Stopping Min Speed Scale" + float m_flStoppingSpeedScale; // 0x44 }; -// Alignment: 23 -// Size: 0x2c8 -struct PermModelData_t : public -{ +// Alignment: 7 +// Size: 0xa8 +struct ModelSkeletonData_t +{ public: - CUtlString m_name; // 0x0 - PermModelInfo_t m_modelInfo; // 0x8 - CUtlVector< PermModelExtPart_t > m_ExtParts; // 0x60 - CUtlVector< CStrongHandle< InfoForResourceTypeCRenderMesh > > m_refMeshes; // 0x78 - CUtlVector< uint64 > m_refMeshGroupMasks; // 0x90 - CUtlVector< uint64 > m_refPhysGroupMasks; // 0xa8 - CUtlVector< uint8 > m_refLODGroupMasks; // 0xc0 - CUtlVector< float32 > m_lodGroupSwitchDistances; // 0xd8 - CUtlVector< CStrongHandle< InfoForResourceTypeCPhysAggregateData > > m_refPhysicsData; // 0xf0 - CUtlVector< CStrongHandle< InfoForResourceTypeCPhysAggregateData > > m_refPhysicsHitboxData; // 0x108 - CUtlVector< CStrongHandle< InfoForResourceTypeCAnimationGroup > > m_refAnimGroups; // 0x120 - CUtlVector< CStrongHandle< InfoForResourceTypeCSequenceGroupData > > m_refSequenceGroups; // 0x138 - CUtlVector< CUtlString > m_meshGroups; // 0x150 - CUtlVector< MaterialGroup_t > m_materialGroups; // 0x168 - uint64_t m_nDefaultMeshGroupMask; // 0x180 - ModelSkeletonData_t m_modelSkeleton; // 0x188 - CUtlVector< int16 > m_remappingTable; // 0x230 - CUtlVector< uint16 > m_remappingTableStarts; // 0x248 - CUtlVector< ModelBoneFlexDriver_t > m_boneFlexDrivers; // 0x260 - CModelConfigList* m_pModelConfigList; // 0x278 - CUtlVector< CUtlString > m_BodyGroupsHiddenInTools; // 0x280 - CUtlVector< CStrongHandle< InfoForResourceTypeCModel > > m_refAnimIncludeModels; // 0x298 - CUtlVector< PermModelDataAnimatedMaterialAttribute_t > m_AnimatedMaterialAttributes; // 0x2b0 + CUtlVector< CUtlString > m_boneName; // 0x0 + CUtlVector< int16 > m_nParent; // 0x18 + CUtlVector< float32 > m_boneSphere; // 0x30 + CUtlVector< uint32 > m_nFlag; // 0x48 + CUtlVector< Vector > m_bonePosParent; // 0x60 + CUtlVector< QuaternionStorage > m_boneRotParent; // 0x78 + CUtlVector< float32 > m_boneScaleParent; // 0x90 }; // Alignment: 2 // Size: 0xa0 class CQuaternionAnimParameter : public CAnimParameterBase -{ +{ public: // MPropertyFriendlyName "Default Value" - Quaternion m_defaultValue; // 0x80 + Quaternion m_defaultValue; // 0x80 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x90 + bool m_bInterpolate; // 0x90 }; // Alignment: 2 // Size: 0x48 class CFootPositionMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Foot" // MPropertyAttributeChoiceName "Foot" // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 + CUtlVector< CUtlString > m_feet; // 0x28 // MPropertyFriendlyName "Ignore Slope" - bool m_bIgnoreSlope; // 0x40 + bool m_bIgnoreSlope; // 0x40 }; // Alignment: 9 // Size: 0x48 class CVRInputComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CAnimParamHandle m_FingerCurl_Thumb; // 0x34 - CAnimParamHandle m_FingerCurl_Index; // 0x36 - CAnimParamHandle m_FingerCurl_Middle; // 0x38 - CAnimParamHandle m_FingerCurl_Ring; // 0x3a - CAnimParamHandle m_FingerCurl_Pinky; // 0x3c - CAnimParamHandle m_FingerSplay_Thumb_Index; // 0x3e - CAnimParamHandle m_FingerSplay_Index_Middle; // 0x40 - CAnimParamHandle m_FingerSplay_Middle_Ring; // 0x42 - CAnimParamHandle m_FingerSplay_Ring_Pinky; // 0x44 + CAnimParamHandle m_FingerCurl_Thumb; // 0x34 + CAnimParamHandle m_FingerCurl_Index; // 0x36 + CAnimParamHandle m_FingerCurl_Middle; // 0x38 + CAnimParamHandle m_FingerCurl_Ring; // 0x3a + CAnimParamHandle m_FingerCurl_Pinky; // 0x3c + CAnimParamHandle m_FingerSplay_Thumb_Index; // 0x3e + CAnimParamHandle m_FingerSplay_Index_Middle; // 0x40 + CAnimParamHandle m_FingerSplay_Middle_Ring; // 0x42 + CAnimParamHandle m_FingerSplay_Ring_Pinky; // 0x44 }; // Alignment: 11 // Size: 0xd0 class CBlendUpdateNode : public CAnimUpdateNodeBase -{ +{ public: - CUtlVector< CAnimUpdateNodeRef > m_children; // 0x60 - CUtlVector< uint8 > m_sortedOrder; // 0x78 - CUtlVector< float32 > m_targetValues; // 0x90 - AnimValueSource m_blendValueSource; // 0xac - CAnimParamHandle m_paramIndex; // 0xb0 - CAnimInputDamping m_damping; // 0xb8 - BlendKeyType m_blendKeyType; // 0xc8 - bool m_bLockBlendOnReset; // 0xcc - bool m_bSyncCycles; // 0xcd - bool m_bLoop; // 0xce - bool m_bLockWhenWaning; // 0xcf + CUtlVector< CAnimUpdateNodeRef > m_children; // 0x60 + CUtlVector< uint8 > m_sortedOrder; // 0x78 + CUtlVector< float32 > m_targetValues; // 0x90 +private: + [[maybe_unused]] uint8_t __pad00a8[0x4]; // 0xa8 +public: + AnimValueSource m_blendValueSource; // 0xac + CAnimParamHandle m_paramIndex; // 0xb0 +private: + [[maybe_unused]] uint8_t __pad00b2[0x6]; // 0xb2 +public: + CAnimInputDamping m_damping; // 0xb8 + BlendKeyType m_blendKeyType; // 0xc8 + bool m_bLockBlendOnReset; // 0xcc + bool m_bSyncCycles; // 0xcd + bool m_bLoop; // 0xce + bool m_bLockWhenWaning; // 0xcf }; // Alignment: 6 // Size: 0x30 -class CAnimLocalHierarchy : public -{ +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 + 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 }; // Alignment: 3 // Size: 0x20 -class CDampedValueUpdateItem : public -{ +class CDampedValueUpdateItem +{ public: - CAnimInputDamping m_damping; // 0x0 - CAnimParamHandle m_hParamIn; // 0x18 - CAnimParamHandle m_hParamOut; // 0x1a + CAnimInputDamping m_damping; // 0x0 + CAnimParamHandle m_hParamIn; // 0x18 + CAnimParamHandle m_hParamOut; // 0x1a }; -// Alignment: 1 -// Size: 0x4 -class HSequence : public -{ +// Alignment: 5 +// Size: 0x90 +class CCycleControlClipUpdateNode : public CLeafUpdateNode +{ public: - int32_t m_Value; // 0x0 + CUtlVector< TagSpan_t > m_tags; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0078[0x4]; // 0x78 +public: + HSequence m_hSequence; // 0x7c + float m_duration; // 0x80 + AnimValueSource m_valueSource; // 0x84 + CAnimParamHandle m_paramIndex; // 0x88 }; // Alignment: 2 // Size: 0x70 class CFootPositionMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - CUtlVector< int32 > m_footIndices; // 0x50 - bool m_bIgnoreSlope; // 0x68 + CUtlVector< int32 > m_footIndices; // 0x50 + bool m_bIgnoreSlope; // 0x68 }; // Alignment: 0 // Size: 0x70 -class CParentConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class CParentConstraint : public CBaseConstraint +{ public: // no members available }; -// Alignment: 0 -// Size: 0x28 -class CAnimActionBase : public -{ +// Alignment: 2 +// Size: 0x38 +class CExpressionAction : public CAnimActionBase +{ public: - // no members available + AnimParamID m_param; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CUtlString m_expression; // 0x30 }; // Alignment: 5 // Size: 0x28 -class CAnimFoot : public -{ +class CAnimFoot +{ public: - CUtlString m_name; // 0x0 - Vector m_vBallOffset; // 0x8 - Vector m_vHeelOffset; // 0x14 - int32_t m_ankleBoneIndex; // 0x20 - int32_t m_toeBoneIndex; // 0x24 + CUtlString m_name; // 0x0 + Vector m_vBallOffset; // 0x8 + Vector m_vHeelOffset; // 0x14 + int32_t m_ankleBoneIndex; // 0x20 + int32_t m_toeBoneIndex; // 0x24 }; // Alignment: 5 // Size: 0x28 -class CMorphRectData : public -{ +class CMorphRectData +{ public: - int16_t m_nXLeftDst; // 0x0 - int16_t m_nYTopDst; // 0x2 - float m_flUWidthSrc; // 0x4 - float m_flVHeightSrc; // 0x8 - CUtlVector< CMorphBundleData > m_bundleDatas; // 0x10 + int16_t m_nXLeftDst; // 0x0 + int16_t m_nYTopDst; // 0x2 + float m_flUWidthSrc; // 0x4 + float m_flVHeightSrc; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< CMorphBundleData > m_bundleDatas; // 0x10 }; // Alignment: 9 // Size: 0x90 -class CAnimDataChannelDesc : public -{ +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 + 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 }; // Alignment: 1 // Size: 0x38 class CLODComponentUpdater : public CAnimComponentUpdater -{ +{ public: - int32_t m_nServerLOD; // 0x30 + int32_t m_nServerLOD; // 0x30 }; // Alignment: 2 // Size: 0x10 -struct MoodAnimation_t : public -{ +struct MoodAnimation_t +{ public: // MPropertyDescription "Name of the animation" // MPropertyAttributeEditor "VDataModelAnim( m_sModelName; include_deltas )" - CUtlString m_sName; // 0x0 + CUtlString m_sName; // 0x0 // MPropertyDescription "Weight of the animation, higher numbers get picked more" - float m_flWeight; // 0x8 + float m_flWeight; // 0x8 }; -// Alignment: 8 -// Size: 0x70 -class CAnimState : public -{ +// Alignment: 2 +// Size: 0x80 +class CAnimNodeState : public CAnimState +{ public: - // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimStateTransition > > m_transitions; // 0x28 // MPropertyHideField - CUtlVector< CStateAction > m_actions; // 0x40 - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_name; // 0x58 - // MPropertyHideField - AnimStateID m_stateID; // 0x60 - // MPropertyHideField - Vector2D m_position; // 0x64 - // MPropertyFriendlyName "Start State" - bool m_bIsStartState; // 0x6c - // MPropertyFriendlyName "End State" - bool m_bIsEndtState; // 0x6d - // MPropertyFriendlyName "Passthrough" - bool m_bIsPassthrough; // 0x6e + CAnimNodeConnection m_inputConnection; // 0x70 + // MPropertyFriendlyName "Exclusive Root Motion" + // MPropertySortPriority "0" + bool m_bIsRootMotionExclusive; // 0x78 }; // Alignment: 1 // Size: 0x88 -class CJiggleBoneUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CJiggleBoneUpdateNode : public CUnaryUpdateNode +{ public: - JiggleBoneSettingsList_t m_opFixedData; // 0x68 + JiggleBoneSettingsList_t m_opFixedData; // 0x68 }; // Alignment: 3 // Size: 0x28 -class CFootMotion : public -{ +class CFootMotion +{ public: - CUtlVector< CFootStride > m_strides; // 0x0 - CUtlString m_name; // 0x18 - bool m_bAdditive; // 0x20 + CUtlVector< CFootStride > m_strides; // 0x0 + CUtlString m_name; // 0x18 + bool m_bAdditive; // 0x20 }; // Alignment: 1 // Size: 0x60 class CModelConfigElement_RandomColor : public CModelConfigElement -{ +{ public: - CColorGradient m_Gradient; // 0x48 + CColorGradient m_Gradient; // 0x48 }; // Alignment: 1 // Size: 0x58 class CBoneVelocityMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - int32_t m_nBoneIndex; // 0x50 + int32_t m_nBoneIndex; // 0x50 }; // Alignment: 18 // Size: 0x60 -class FootLockPoseOpFixedSettings : public -{ +class FootLockPoseOpFixedSettings +{ public: - CUtlVector< FootFixedData_t > m_footInfo; // 0x0 - CAnimInputDamping m_hipDampingSettings; // 0x18 - int32_t m_nHipBoneIndex; // 0x28 - IKSolverType m_ikSolverType; // 0x2c - bool m_bApplyTilt; // 0x30 - bool m_bApplyHipDrop; // 0x31 - bool m_bAlwaysUseFallbackHinge; // 0x32 - bool m_bApplyFootRotationLimits; // 0x33 - bool m_bApplyLegTwistLimits; // 0x34 - float m_flMaxFootHeight; // 0x38 - float m_flExtensionScale; // 0x3c - float m_flMaxLegTwist; // 0x40 - bool m_bEnableLockBreaking; // 0x44 - float m_flLockBreakTolerance; // 0x48 - float m_flLockBlendTime; // 0x4c - bool m_bEnableStretching; // 0x50 - float m_flMaxStretchAmount; // 0x54 - float m_flStretchExtensionScale; // 0x58 + CUtlVector< FootFixedData_t > m_footInfo; // 0x0 + CAnimInputDamping m_hipDampingSettings; // 0x18 + int32_t m_nHipBoneIndex; // 0x28 + IKSolverType m_ikSolverType; // 0x2c + bool m_bApplyTilt; // 0x30 + bool m_bApplyHipDrop; // 0x31 + bool m_bAlwaysUseFallbackHinge; // 0x32 + bool m_bApplyFootRotationLimits; // 0x33 + bool m_bApplyLegTwistLimits; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0035[0x3]; // 0x35 +public: + float m_flMaxFootHeight; // 0x38 + float m_flExtensionScale; // 0x3c + float m_flMaxLegTwist; // 0x40 + bool m_bEnableLockBreaking; // 0x44 +private: + [[maybe_unused]] uint8_t __pad0045[0x3]; // 0x45 +public: + float m_flLockBreakTolerance; // 0x48 + float m_flLockBlendTime; // 0x4c + bool m_bEnableStretching; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + float m_flMaxStretchAmount; // 0x54 + float m_flStretchExtensionScale; // 0x58 }; -// Alignment: 8 -// Size: 0xd0 -class CJumpHelperUpdateNode : public CSequenceUpdateNode, CLeafUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 6 +// Size: 0xa8 +class CSequenceUpdateNode : public CLeafUpdateNode +{ public: - CAnimParamHandle m_hTargetParam; // 0xa8 - Vector m_flOriginalJumpMovement; // 0xac - float m_flOriginalJumpDuration; // 0xb8 - float m_flJumpStartCycle; // 0xbc - float m_flJumpEndCycle; // 0xc0 - JumpCorrectionMethod m_eCorrectionMethod; // 0xc4 - bool[3] m_bTranslationAxis; // 0xc8 - bool m_bScaleSpeed; // 0xcb + CParamSpanUpdater m_paramSpans; // 0x60 + CUtlVector< TagSpan_t > m_tags; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0090[0x4]; // 0x90 +public: + HSequence m_hSequence; // 0x94 + float m_playbackSpeed; // 0x98 + float m_duration; // 0x9c + bool m_bLoop; // 0xa0 }; // Alignment: 2 // Size: 0x8 -struct FingerSource_t : public -{ +struct FingerSource_t +{ public: - AnimVRFinger_t m_nFingerIndex; // 0x0 - float m_flFingerWeight; // 0x4 + AnimVRFinger_t m_nFingerIndex; // 0x0 + float m_flFingerWeight; // 0x4 }; // Alignment: 7 // Size: 0x2c -struct JiggleBoneSettings_t : public -{ +struct JiggleBoneSettings_t +{ public: - int32_t m_nBoneIndex; // 0x0 - float m_flSpringStrength; // 0x4 - float m_flMaxTimeStep; // 0x8 - float m_flDamping; // 0xc - Vector m_vBoundsMaxLS; // 0x10 - Vector m_vBoundsMinLS; // 0x1c - JiggleBoneSimSpace m_eSimSpace; // 0x28 + int32_t m_nBoneIndex; // 0x0 + float m_flSpringStrength; // 0x4 + float m_flMaxTimeStep; // 0x8 + float m_flDamping; // 0xc + Vector m_vBoundsMaxLS; // 0x10 + Vector m_vBoundsMinLS; // 0x1c + JiggleBoneSimSpace m_eSimSpace; // 0x28 }; -// Alignment: 1 -// Size: 0x30 -class CPathAnimMotorBase : public CAnimMotorBase -{ +// Alignment: 7 +// Size: 0x50 +class CDampedPathAnimMotor : public CPathAnimMotorBase +{ public: - // MPropertyFriendlyName "Lock To Path" - // MPropertySortPriority "90" - bool m_bLockToPath; // 0x28 + // MPropertyFriendlyName "Anticipation Time" + float m_flAnticipationTime; // 0x30 + // MPropertyFriendlyName "Minimum Speed Percentage" + float m_flMinSpeedScale; // 0x34 + // MPropertyFriendlyName "Anticipation Position Parameter" + // MPropertyAttributeChoiceName "VectorParameter" + AnimParamID m_anticipationPosParam; // 0x38 + // MPropertyFriendlyName "Anticipation Heading Parameter" + // MPropertyAttributeChoiceName "FloatParameter" + AnimParamID m_anticipationHeadingParam; // 0x3c + // MPropertyFriendlyName "Spring Constant" + // MPropertyGroupName "+Stopping:Arrival Damping" + float m_flSpringConstant; // 0x40 + // MPropertyFriendlyName "Min Tension" + // MPropertyGroupName "+Stopping:Arrival Damping" + float m_flMinSpringTension; // 0x44 + // MPropertyFriendlyName "Max Tension" + // MPropertyGroupName "+Stopping:Arrival Damping" + float m_flMaxSpringTension; // 0x48 }; // Alignment: 20 // Size: 0x138 -class CFootLockUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CFootLockUpdateNode : public CUnaryUpdateNode +{ public: - FootLockPoseOpFixedSettings m_opFixedSettings; // 0x68 - CUtlVector< FootFixedSettings > m_footSettings; // 0xd0 - CAnimInputDamping m_hipShiftDamping; // 0xe8 - CAnimInputDamping m_rootHeightDamping; // 0xf8 - float m_flStrideCurveScale; // 0x108 - float m_flStrideCurveLimitScale; // 0x10c - float m_flStepHeightIncreaseScale; // 0x110 - float m_flStepHeightDecreaseScale; // 0x114 - float m_flHipShiftScale; // 0x118 - float m_flBlendTime; // 0x11c - float m_flMaxRootHeightOffset; // 0x120 - float m_flMinRootHeightOffset; // 0x124 - float m_flTiltPlanePitchSpringStrength; // 0x128 - float m_flTiltPlaneRollSpringStrength; // 0x12c - bool m_bApplyFootRotationLimits; // 0x130 - bool m_bApplyHipShift; // 0x131 - bool m_bModulateStepHeight; // 0x132 - bool m_bResetChild; // 0x133 - bool m_bEnableVerticalCurvedPaths; // 0x134 - bool m_bEnableRootHeightDamping; // 0x135 + FootLockPoseOpFixedSettings m_opFixedSettings; // 0x68 +private: + [[maybe_unused]] uint8_t __pad00c8[0x8]; // 0xc8 +public: + CUtlVector< FootFixedSettings > m_footSettings; // 0xd0 + CAnimInputDamping m_hipShiftDamping; // 0xe8 + CAnimInputDamping m_rootHeightDamping; // 0xf8 + float m_flStrideCurveScale; // 0x108 + float m_flStrideCurveLimitScale; // 0x10c + float m_flStepHeightIncreaseScale; // 0x110 + float m_flStepHeightDecreaseScale; // 0x114 + float m_flHipShiftScale; // 0x118 + float m_flBlendTime; // 0x11c + float m_flMaxRootHeightOffset; // 0x120 + float m_flMinRootHeightOffset; // 0x124 + float m_flTiltPlanePitchSpringStrength; // 0x128 + float m_flTiltPlaneRollSpringStrength; // 0x12c + bool m_bApplyFootRotationLimits; // 0x130 + bool m_bApplyHipShift; // 0x131 + bool m_bModulateStepHeight; // 0x132 + bool m_bResetChild; // 0x133 + bool m_bEnableVerticalCurvedPaths; // 0x134 + bool m_bEnableRootHeightDamping; // 0x135 }; // Alignment: 3 // Size: 0x58 class CCommentAnimNode : public CAnimNodeBase -{ +{ public: // MPropertySuppressField - CUtlString m_commentText; // 0x40 + CUtlString m_commentText; // 0x40 // MPropertySuppressField - Vector2D m_size; // 0x48 + Vector2D m_size; // 0x48 // MPropertyFriendlyName "Color" - Color m_color; // 0x50 + Color m_color; // 0x50 }; // Alignment: 4 // Size: 0x78 class CPathMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - CUtlVector< float32 > m_pathTimeSamples; // 0x50 - float m_flDistance; // 0x68 - bool m_bExtrapolateMovement; // 0x6c - float m_flMinExtrapolationSpeed; // 0x70 + CUtlVector< float32 > m_pathTimeSamples; // 0x50 + float m_flDistance; // 0x68 + bool m_bExtrapolateMovement; // 0x6c +private: + [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d +public: + float m_flMinExtrapolationSpeed; // 0x70 }; // Alignment: 2 // Size: 0x48 class CNodeBlend2DItem : public CBlend2DItemBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x40 + CUtlString m_name; // 0x40 }; // Alignment: 3 // Size: 0x20 -class FootStepTrigger : public -{ +class FootStepTrigger +{ public: - CUtlVector< int32 > m_tags; // 0x0 - int32_t m_nFootIndex; // 0x18 - StepPhase m_triggerPhase; // 0x1c + CUtlVector< int32 > m_tags; // 0x0 + int32_t m_nFootIndex; // 0x18 + StepPhase m_triggerPhase; // 0x1c }; // Alignment: 13 // Size: 0x78 class CMoverAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Generate Movement" // MPropertyGroupName "Generate Movement" // MPropertyAttrChangeCallback - bool m_bApplyMovement; // 0x40 + bool m_bApplyMovement; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: // MPropertyFriendlyName "Movement Velocity Parameter" // MPropertyGroupName "Generate Movement" // MPropertyAttributeChoiceName "VectorParameter" // MPropertyAttrStateCallback - AnimParamID m_moveVectorParam; // 0x44 + AnimParamID m_moveVectorParam; // 0x44 // MPropertyFriendlyName "Orient Movement" // MPropertyGroupName "Orient Movement" // MPropertyAttrChangeCallback - bool m_bOrientMovement; // 0x48 + bool m_bOrientMovement; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 +public: // MPropertyFriendlyName "Movement Heading Parameter" // MPropertyGroupName "Orient Movement" // MPropertyAttributeChoiceName "FloatParameter" // MPropertyAttrStateCallback - AnimParamID m_moveHeadingParam; // 0x4c + AnimParamID m_moveHeadingParam; // 0x4c // MPropertyFriendlyName "Additive" - bool m_bAdditive; // 0x50 + bool m_bAdditive; // 0x50 // MPropertyFriendlyName "Turn to Face" // MPropertyGroupName "Turn to Face" // MPropertyAttrChangeCallback - bool m_bTurnToFace; // 0x51 + bool m_bTurnToFace; // 0x51 +private: + [[maybe_unused]] uint8_t __pad0052[0x2]; // 0x52 +public: // MPropertyFriendlyName "Face Direction" // MPropertyGroupName "Turn to Face" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_facingTarget; // 0x54 + AnimValueSource m_facingTarget; // 0x54 // MPropertyFriendlyName "Facing Parameter" // MPropertyGroupName "Turn to Face" // MPropertyAttributeChoiceName "FloatParameter" // MPropertyAttrStateCallback - AnimParamID m_param; // 0x58 + AnimParamID m_param; // 0x58 // MPropertyFriendlyName "Turn Limit Only" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback // MPropertyAttrChangeCallback - bool m_bLimitOnly; // 0x5c + bool m_bLimitOnly; // 0x5c +private: + [[maybe_unused]] uint8_t __pad005d[0x3]; // 0x5d +public: // MPropertyFriendlyName "Turn to Face Offset" // MPropertyAttributeRange "-180 180" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - float m_flTurnToFaceOffset; // 0x60 + float m_flTurnToFaceOffset; // 0x60 // MPropertyFriendlyName "Turn to Face Limit" // MPropertyAttributeRange "0 180" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - float m_flTurnToFaceLimit; // 0x64 + float m_flTurnToFaceLimit; // 0x64 // MPropertyFriendlyName "Damping" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - CAnimInputDamping m_damping; // 0x68 + CAnimInputDamping m_damping; // 0x68 }; // Alignment: 7 // Size: 0x68 class CDirectionalBlendAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Sequence Names Prefix" - CUtlString m_animNamePrefix; // 0x40 + CUtlString m_animNamePrefix; // 0x40 // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x48 + AnimValueSource m_blendValueSource; // 0x48 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x4c + AnimParamID m_param; // 0x4c // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x50 + bool m_bLoop; // 0x50 // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0x51 + bool m_bLockBlendOnReset; // 0x51 +private: + [[maybe_unused]] uint8_t __pad0052[0x2]; // 0x52 +public: // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0x54 + float m_playbackSpeed; // 0x54 // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x58 + CAnimInputDamping m_damping; // 0x58 }; // Alignment: 7 // Size: 0x2c -class CAnimMovement : public -{ +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 + int32_t endframe; // 0x0 + int32_t motionflags; // 0x4 + float v0; // 0x8 + float v1; // 0xc + float angle; // 0x10 + Vector vector; // 0x14 + Vector position; // 0x20 }; // Alignment: 9 // Size: 0x60 -struct FingerChain_t : public -{ +struct FingerChain_t +{ public: - CUtlVector< FingerSource_t > m_targets; // 0x0 - CUtlVector< FingerBone_t > m_bones; // 0x18 - Vector m_vTipOffset; // 0x30 - Vector m_vSplayHingeAxis; // 0x3c - int32_t m_tipParentBoneIndex; // 0x48 - int32_t m_metacarpalBoneIndex; // 0x4c - float m_flSplayMinAngle; // 0x50 - float m_flSplayMaxAngle; // 0x54 - float m_flFingerScaleRatio; // 0x58 + CUtlVector< FingerSource_t > m_targets; // 0x0 + CUtlVector< FingerBone_t > m_bones; // 0x18 + Vector m_vTipOffset; // 0x30 + Vector m_vSplayHingeAxis; // 0x3c + int32_t m_tipParentBoneIndex; // 0x48 + int32_t m_metacarpalBoneIndex; // 0x4c + float m_flSplayMinAngle; // 0x50 + float m_flSplayMaxAngle; // 0x54 + float m_flFingerScaleRatio; // 0x58 }; // Alignment: 2 // Size: 0x58 class CModelConfigElement_SetBodygroup : public CModelConfigElement -{ +{ public: - CUtlString m_GroupName; // 0x48 - int32_t m_nChoice; // 0x50 + CUtlString m_GroupName; // 0x48 + int32_t m_nChoice; // 0x50 }; // Alignment: 5 // Size: 0x20 -class CSeqPoseParamDesc : public -{ +class CSeqPoseParamDesc +{ public: - CBufferString m_sName; // 0x0 - float m_flStart; // 0x10 - float m_flEnd; // 0x14 - float m_flLoop; // 0x18 - bool m_bLooping; // 0x1c + CBufferString m_sName; // 0x0 + float m_flStart; // 0x10 + float m_flEnd; // 0x14 + float m_flLoop; // 0x18 + bool m_bLooping; // 0x1c }; // Alignment: 8 // Size: 0xa8 -class CPhysSurfaceProperties : public -{ +class CPhysSurfaceProperties +{ public: // MKV3TransferName "surfacePropertyName" - CUtlString m_name; // 0x0 - uint32_t m_nameHash; // 0x8 - uint32_t m_baseNameHash; // 0xc + CUtlString m_name; // 0x0 + uint32_t m_nameHash; // 0x8 + uint32_t m_baseNameHash; // 0xc +private: + [[maybe_unused]] uint8_t __pad0010[0x8]; // 0x10 +public: // MKV3TransferName "hidden" - bool m_bHidden; // 0x18 + bool m_bHidden; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x7]; // 0x19 +public: // MKV3TransferName "description" - CUtlString m_description; // 0x20 + CUtlString m_description; // 0x20 // MKV3TransferName "physics" - CPhysSurfacePropertiesPhysics m_physics; // 0x28 + CPhysSurfacePropertiesPhysics m_physics; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: // MKV3TransferName "audiosounds" - CPhysSurfacePropertiesSoundNames m_audioSounds; // 0x48 + CPhysSurfacePropertiesSoundNames m_audioSounds; // 0x48 // MKV3TransferName "audioparams" - CPhysSurfacePropertiesAudio m_audioParams; // 0x88 + CPhysSurfacePropertiesAudio m_audioParams; // 0x88 }; -// Alignment: 1 -// Size: 0x10 -class CAnimUpdateNodeRef : public -{ +// Alignment: 4 +// Size: 0x98 +class CSubtractUpdateNode : public CBinaryUpdateNode +{ public: - int32_t m_nodeIndex; // 0x8 + BinaryNodeChildOption m_footMotionTiming; // 0x8c + bool m_bApplyToFootMotion; // 0x90 + bool m_bApplyChannelsSeparately; // 0x91 + bool m_bUseModelSpace; // 0x92 }; // Alignment: 1 // Size: 0x88 class CStateMachineComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CAnimStateMachineUpdater m_stateMachine; // 0x30 + CAnimStateMachineUpdater m_stateMachine; // 0x30 }; // Alignment: 11 // Size: 0x88 class CFootPinningAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Feet" // MPropertyAutoExpandSelf - CUtlVector< CFootPinningItem > m_items; // 0x40 + CUtlVector< CFootPinningItem > m_items; // 0x40 // MPropertyFriendlyName "Lock Timing Source" - FootPinningTimingSource m_eTimingSource; // 0x58 + FootPinningTimingSource m_eTimingSource; // 0x58 // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0x5c + float m_flBlendTime; // 0x5c // MPropertyFriendlyName "Lock Break Distance" - float m_flLockBreakDistance; // 0x60 + float m_flLockBreakDistance; // 0x60 // MPropertyFriendlyName "Max Leg Straight Amount" // MPropertyAttributeRange "0 1" - float m_flMaxLegStraightAmount; // 0x64 + float m_flMaxLegStraightAmount; // 0x64 // MPropertyFriendlyName "Limit Foot Rotation" // MPropertyGroupName "Foot Rotation Limits" - bool m_bApplyFootRotationLimits; // 0x68 + bool m_bApplyFootRotationLimits; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0069[0x7]; // 0x69 +public: // MPropertyFriendlyName "Hip Bone" // MPropertyAttributeChoiceName "Bone" // MPropertyGroupName "Foot Rotation Limits" - CUtlString m_hipBoneName; // 0x70 + CUtlString m_hipBoneName; // 0x70 // MPropertyFriendlyName "Limit Leg Twist" // MPropertyGroupName "Knee Twist Limits" - bool m_bApplyLegTwistLimits; // 0x78 + bool m_bApplyLegTwistLimits; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0079[0x3]; // 0x79 +public: // MPropertyFriendlyName "Max Leg Twist Angle" // MPropertyGroupName "Knee Twist Limits" - float m_flMaxLegTwist; // 0x7c + float m_flMaxLegTwist; // 0x7c // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x80 + bool m_bResetChild; // 0x80 }; // Alignment: 8 // Size: 0xa8 class CSelectorUpdateNode : public CAnimUpdateNodeBase -{ +{ public: - CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 - CUtlVector< int8 > m_tags; // 0x70 - CBlendCurve m_blendCurve; // 0x8c - CAnimValue< float32 > m_flBlendTime; // 0x94 - CAnimParamHandle m_hParameter; // 0x9c - SelectorTagBehavior_t m_eTagBehavior; // 0xa0 - bool m_bResetOnChange; // 0xa4 - bool m_bSyncCyclesOnChange; // 0xa5 + CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 + CUtlVector< int8 > m_tags; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0088[0x4]; // 0x88 +public: + CBlendCurve m_blendCurve; // 0x8c + CAnimValue< float32 > m_flBlendTime; // 0x94 + CAnimParamHandle m_hParameter; // 0x9c +private: + [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e +public: + SelectorTagBehavior_t m_eTagBehavior; // 0xa0 + bool m_bResetOnChange; // 0xa4 + bool m_bSyncCyclesOnChange; // 0xa5 }; // Alignment: 17 // Size: 0x1a0 -class CCompressorGroup : public -{ +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< QuaternionStorage >* > 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 + 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 +private: + [[maybe_unused]] uint8_t __pad00e0[0x18]; // 0xe0 +public: + CUtlVector< CCompressor< Vector >* > m_vectorCompressor; // 0xf8 + CUtlVector< CCompressor< QuaternionStorage >* > 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 }; -// Alignment: 1 -// Size: 0x68 -class CUnaryUpdateNode : public CAnimUpdateNodeBase -{ +// Alignment: 5 +// Size: 0x78 +class CWayPointHelperUpdateNode : public CUnaryUpdateNode +{ public: - CAnimUpdateNodeRef m_pChildNode; // 0x58 + float m_flStartCycle; // 0x6c + float m_flEndCycle; // 0x70 + bool m_bOnlyGoals; // 0x74 + bool m_bPreventOvershoot; // 0x75 + bool m_bPreventUndershoot; // 0x76 }; -// Alignment: 3 -// Size: 0x58 -class CAnimStateMachineUpdater : public -{ +// Alignment: 5 +// Size: 0xf8 +class CStateMachineUpdateNode : public CAnimUpdateNodeBase +{ public: - CUtlVector< CStateUpdateData > m_states; // 0x8 - CUtlVector< CTransitionUpdateData > m_transitions; // 0x20 - int32_t m_startStateIndex; // 0x50 + CAnimStateMachineUpdater m_stateMachine; // 0x68 + CUtlVector< CStateNodeStateData > m_stateData; // 0xc0 + CUtlVector< CStateNodeTransitionData > m_transitionData; // 0xd8 +private: + [[maybe_unused]] uint8_t __pad00f0[0x4]; // 0xf0 +public: + bool m_bBlockWaningTags; // 0xf4 + bool m_bLockStateWhenWaning; // 0xf5 }; // Alignment: 2 // Size: 0x20 class CEmitTagActionUpdater : public CAnimActionUpdater -{ +{ public: - int32_t m_nTagIndex; // 0x18 - bool m_bIsZeroDuration; // 0x1c + int32_t m_nTagIndex; // 0x18 + bool m_bIsZeroDuration; // 0x1c }; -// Alignment: 9 -// Size: 0x110 -struct AnimationSnapshotBase_t : public -{ +// Alignment: 6 +// Size: 0x70 +struct AnimationDecodeDebugDumpElement_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 + 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 }; // Alignment: 0 // Size: 0x28 class CCurrentRotationVelocityMetric : public CMotionMetricBase -{ +{ public: // no members available }; // Alignment: 5 // Size: 0x38 -class CAnimAnimEvent : public -{ +class CAnimAnimEvent +{ public: - int32_t m_nFrame; // 0x0 - float m_flCycle; // 0x4 - KeyValues3 m_EventData; // 0x8 + int32_t m_nFrame; // 0x0 + float m_flCycle; // 0x4 + KeyValues3 m_EventData; // 0x8 // MKV3TransferName "m_sOptions" - CBufferString m_sLegacyOptions; // 0x18 - CBufferString m_sEventName; // 0x28 + CBufferString m_sLegacyOptions; // 0x18 + CBufferString m_sEventName; // 0x28 }; -// Alignment: 1 +// Alignment: 0 // Size: 0x4 -class CCycleBase : public -{ +class CAnimCycle : public CCycleBase +{ public: - float m_flCycle; // 0x0 + // no members available }; // Alignment: 10 // Size: 0x80 class CParticleAnimTag : public CAnimTagBase -{ +{ public: // MPropertySuppressField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hParticleSystem; // 0x40 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hParticleSystem; // 0x40 // MPropertyAttributeEditor "AssetBrowse( vpcf )" // MPropertyFriendlyName "Particle System" - CUtlString m_particleSystemName; // 0x48 + CUtlString m_particleSystemName; // 0x48 // MPropertyFriendlyName "Configuration" - CUtlString m_configName; // 0x50 + CUtlString m_configName; // 0x50 // MPropertyFriendlyName "Detach From Owner" - bool m_bDetachFromOwner; // 0x58 + bool m_bDetachFromOwner; // 0x58 // MPropertyFriendlyName "Stop on Tag End" // MPropertyGroupName "Ending" - bool m_bStopWhenTagEnds; // 0x59 + bool m_bStopWhenTagEnds; // 0x59 // MPropertyFriendlyName "Tag End Stop is Instant" // MPropertyGroupName "Ending" - bool m_bTagEndStopIsInstant; // 0x5a + bool m_bTagEndStopIsInstant; // 0x5a +private: + [[maybe_unused]] uint8_t __pad005b[0x5]; // 0x5b +public: // MPropertyFriendlyName "Attachment" // MPropertyGroupName "Attachments" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x60 + CUtlString m_attachmentName; // 0x60 // MPropertyFriendlyName "Attachment Type" // MPropertyGroupName "Attachments" - ParticleAttachment_t m_attachmentType; // 0x68 + ParticleAttachment_t m_attachmentType; // 0x68 +private: + [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c +public: // MPropertyFriendlyName "Attachment (Control Point 1)" // MPropertyGroupName "Attachments" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentCP1Name; // 0x70 + CUtlString m_attachmentCP1Name; // 0x70 // MPropertyFriendlyName "Attachment Type (Control Point 1)" // MPropertyGroupName "Attachments" - ParticleAttachment_t m_attachmentCP1Type; // 0x78 + ParticleAttachment_t m_attachmentCP1Type; // 0x78 }; // Alignment: 5 // Size: 0x48 class CCycleCondition : public CConditionBase -{ +{ public: - Comparison_t m_comparisonOp; // 0x28 - CUtlString m_comparisonString; // 0x30 - float m_comparisonValue; // 0x38 - ComparisonValueType m_comparisonValueType; // 0x3c - AnimParamID m_comparisonParamID; // 0x40 + Comparison_t m_comparisonOp; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CUtlString m_comparisonString; // 0x30 + float m_comparisonValue; // 0x38 + ComparisonValueType m_comparisonValueType; // 0x3c +private: + [[maybe_unused]] uint8_t __pad003d[0x3]; // 0x3d +public: + AnimParamID m_comparisonParamID; // 0x40 }; -// Alignment: 0 -// Size: 0x18 -class CAnimActionUpdater : public -{ +// Alignment: 2 +// Size: 0x20 +class CToggleComponentActionUpdater : public CAnimActionUpdater +{ public: - // no members available + AnimComponentID m_componentID; // 0x18 + bool m_bSetEnabled; // 0x1c }; // Alignment: 2 // Size: 0x48 class CSlowDownOnSlopesAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Slow Down Strength" // MPropertyAttributeRange "0.1 2" - float m_flSlowDownStrength; // 0x40 + float m_flSlowDownStrength; // 0x40 }; -// Alignment: 1 -// Size: 0x18 -class CParamSpanUpdater : public -{ +// Alignment: 7 +// Size: 0x58 +class CMotionGraph +{ public: - CUtlVector< ParamSpan_t > m_spans; // 0x0 + CParamSpanUpdater m_paramSpans; // 0x10 + CUtlVector< TagSpan_t > m_tags; // 0x28 + CSmartPtr< CMotionNode > m_pRootNode; // 0x40 + int32_t m_nParameterCount; // 0x48 + int32_t m_nConfigStartIndex; // 0x4c + int32_t m_nConfigCount; // 0x50 + bool m_bLoop; // 0x54 }; // Alignment: 2 // Size: 0x20 -class CDirectPlaybackTagData : public -{ +class CDirectPlaybackTagData +{ public: - CUtlString m_sequenceName; // 0x0 - CUtlVector< TagSpan_t > m_tags; // 0x8 + CUtlString m_sequenceName; // 0x0 + CUtlVector< TagSpan_t > m_tags; // 0x8 }; // Alignment: 1 // Size: 0x4 -class MotionDBIndex : public -{ +class MotionDBIndex +{ public: - uint32_t m_nIndex; // 0x0 + uint32_t m_nIndex; // 0x0 }; // Alignment: 1 // Size: 0x18 -class CHitBoxSetList : public -{ +class CHitBoxSetList +{ public: - CUtlVector< CHitBoxSet > m_HitBoxSets; // 0x0 + CUtlVector< CHitBoxSet > m_HitBoxSets; // 0x0 }; // Alignment: 2 // Size: 0x48 class CStepsRemainingMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Feet" // MPropertyAttributeChoiceName "Foot" // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 + CUtlVector< CUtlString > m_feet; // 0x28 // MPropertyFriendlyName "Min Steps Remaining" - float m_flMinStepsRemaining; // 0x40 + float m_flMinStepsRemaining; // 0x40 }; // Alignment: 3 // Size: 0x58 class CRagdollComponent : public CAnimComponentBase -{ +{ public: - CUtlVector< CRigidBodyWeightList > m_weightLists; // 0x38 - float m_flSpringFrequencyMin; // 0x50 - float m_flSpringFrequencyMax; // 0x54 + CUtlVector< CRigidBodyWeightList > m_weightLists; // 0x38 + float m_flSpringFrequencyMin; // 0x50 + float m_flSpringFrequencyMax; // 0x54 }; // Alignment: 10 // Size: 0xe8 -class CLeanMatrixUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CLeanMatrixUpdateNode : public CLeafUpdateNode +{ public: - int32[3][3] m_frameCorners; // 0x5c - CPoseHandle[9] m_poses; // 0x80 - CAnimInputDamping m_damping; // 0xa8 - AnimVectorSource m_blendSource; // 0xb8 - CAnimParamHandle m_paramIndex; // 0xbc - Vector m_verticalAxis; // 0xc0 - Vector m_horizontalAxis; // 0xcc - HSequence m_hSequence; // 0xd8 - float m_flMaxValue; // 0xdc - int32_t m_nSequenceMaxFrame; // 0xe0 + int32_t m_frameCorners[3][3]; // 0x5c + CPoseHandle m_poses[9]; // 0x80 +private: + [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 +public: + CAnimInputDamping m_damping; // 0xa8 + AnimVectorSource m_blendSource; // 0xb8 + CAnimParamHandle m_paramIndex; // 0xbc +private: + [[maybe_unused]] uint8_t __pad00be[0x2]; // 0xbe +public: + Vector m_verticalAxis; // 0xc0 + Vector m_horizontalAxis; // 0xcc + HSequence m_hSequence; // 0xd8 + float m_flMaxValue; // 0xdc + int32_t m_nSequenceMaxFrame; // 0xe0 }; // Alignment: 4 // Size: 0x40 -struct PermModelExtPart_t : public -{ +struct PermModelExtPart_t +{ public: - CTransform m_Transform; // 0x0 - CUtlString m_Name; // 0x20 - int32_t m_nParent; // 0x28 - CStrongHandle< InfoForResourceTypeCModel > m_refModel; // 0x30 + CTransform m_Transform; // 0x0 + CUtlString m_Name; // 0x20 + int32_t m_nParent; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CStrongHandle< InfoForResourceTypeCModel > m_refModel; // 0x30 }; // Alignment: 15 // Size: 0xf0 class CBlend2DUpdateNode : public CAnimUpdateNodeBase -{ +{ public: - CUtlVector< BlendItem_t > m_items; // 0x60 - CUtlVector< TagSpan_t > m_tags; // 0x78 - CParamSpanUpdater m_paramSpans; // 0x90 - CUtlVector< int32 > m_nodeItemIndices; // 0xa8 - CAnimInputDamping m_damping; // 0xc0 - AnimValueSource m_blendSourceX; // 0xd0 - CAnimParamHandle m_paramX; // 0xd4 - AnimValueSource m_blendSourceY; // 0xd8 - CAnimParamHandle m_paramY; // 0xdc - Blend2DMode m_eBlendMode; // 0xe0 - float m_playbackSpeed; // 0xe4 - bool m_bLoop; // 0xe8 - bool m_bLockBlendOnReset; // 0xe9 - bool m_bLockWhenWaning; // 0xea - bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xeb + CUtlVector< BlendItem_t > m_items; // 0x60 + CUtlVector< TagSpan_t > m_tags; // 0x78 + CParamSpanUpdater m_paramSpans; // 0x90 + CUtlVector< int32 > m_nodeItemIndices; // 0xa8 + CAnimInputDamping m_damping; // 0xc0 + AnimValueSource m_blendSourceX; // 0xd0 + CAnimParamHandle m_paramX; // 0xd4 +private: + [[maybe_unused]] uint8_t __pad00d6[0x2]; // 0xd6 +public: + AnimValueSource m_blendSourceY; // 0xd8 + CAnimParamHandle m_paramY; // 0xdc +private: + [[maybe_unused]] uint8_t __pad00de[0x2]; // 0xde +public: + Blend2DMode m_eBlendMode; // 0xe0 + float m_playbackSpeed; // 0xe4 + bool m_bLoop; // 0xe8 + bool m_bLockBlendOnReset; // 0xe9 + bool m_bLockWhenWaning; // 0xea + bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xeb }; -// Alignment: 4 -// Size: 0x30 -class CAnimComponentUpdater : public -{ +// Alignment: 7 +// Size: 0x48 +class CSlopeComponentUpdater : public CAnimComponentUpdater +{ public: - CUtlString m_name; // 0x18 - AnimComponentID m_id; // 0x20 - AnimNodeNetworkMode m_networkMode; // 0x24 - bool m_bStartEnabled; // 0x28 + float m_flTraceDistance; // 0x34 + CAnimParamHandle m_hSlopeAngle; // 0x38 + CAnimParamHandle m_hSlopeAngleFront; // 0x3a + CAnimParamHandle m_hSlopeAngleSide; // 0x3c + CAnimParamHandle m_hSlopeHeading; // 0x3e + CAnimParamHandle m_hSlopeNormal; // 0x40 + CAnimParamHandle m_hSlopeNormal_WorldSpace; // 0x42 }; -// Alignment: 6 -// Size: 0x40 -class CSeqSynthAnimDesc : public -{ +// Alignment: 11 +// Size: 0xb +class CSeqSeqDescFlag +{ 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 + 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 }; // Alignment: 9 // Size: 0x40 -class CFootDefinition : public -{ +class CFootDefinition +{ public: - CUtlString m_name; // 0x0 - CUtlString m_ankleBoneName; // 0x8 - CUtlString m_toeBoneName; // 0x10 - Vector m_vBallOffset; // 0x18 - Vector m_vHeelOffset; // 0x24 - float m_flFootLength; // 0x30 - float m_flBindPoseDirectionMS; // 0x34 - float m_flTraceHeight; // 0x38 - float m_flTraceRadius; // 0x3c + CUtlString m_name; // 0x0 + CUtlString m_ankleBoneName; // 0x8 + CUtlString m_toeBoneName; // 0x10 + Vector m_vBallOffset; // 0x18 + Vector m_vHeelOffset; // 0x24 + float m_flFootLength; // 0x30 + float m_flBindPoseDirectionMS; // 0x34 + float m_flTraceHeight; // 0x38 + float m_flTraceRadius; // 0x3c }; // Alignment: 6 // Size: 0xa0 class CRagdollComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CUtlVector< CAnimNodePath > m_ragdollNodePaths; // 0x30 - CUtlVector< int32 > m_boneIndices; // 0x48 - CUtlVector< CUtlString > m_boneNames; // 0x60 - CUtlVector< WeightList > m_weightLists; // 0x78 - float m_flSpringFrequencyMin; // 0x90 - float m_flSpringFrequencyMax; // 0x94 + CUtlVector< CAnimNodePath > m_ragdollNodePaths; // 0x30 + CUtlVector< int32 > m_boneIndices; // 0x48 + CUtlVector< CUtlString > m_boneNames; // 0x60 + CUtlVector< WeightList > m_weightLists; // 0x78 + float m_flSpringFrequencyMin; // 0x90 + float m_flSpringFrequencyMax; // 0x94 }; // Alignment: 2 // Size: 0x18 -class CAnimUser : public -{ +class CAnimUser +{ public: - CBufferString m_name; // 0x0 - int32_t m_nType; // 0x10 + CBufferString m_name; // 0x0 + int32_t m_nType; // 0x10 }; // Alignment: 6 // Size: 0x60 -class CConstraintTarget : public -{ +class CConstraintTarget +{ public: - Quaternion m_qOffset; // 0x20 - Vector m_vOffset; // 0x30 - uint32_t m_nBoneHash; // 0x3c - CUtlString m_sName; // 0x40 - float m_flWeight; // 0x48 - bool m_bIsAttachment; // 0x59 + Quaternion m_qOffset; // 0x20 + Vector m_vOffset; // 0x30 + uint32_t m_nBoneHash; // 0x3c + CUtlString m_sName; // 0x40 + float m_flWeight; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0xd]; // 0x4c +public: + bool m_bIsAttachment; // 0x59 }; // Alignment: 0 // Size: 0x38 class CInputStreamAnimNode : public CAnimNodeBase -{ +{ public: // no members available }; // Alignment: 4 // Size: 0x100 -struct VPhysXConstraint2_t : public -{ +struct VPhysXConstraint2_t +{ public: - uint32_t m_nFlags; // 0x0 - uint16_t m_nParent; // 0x4 - uint16_t m_nChild; // 0x6 - VPhysXConstraintParams_t m_params; // 0x8 + uint32_t m_nFlags; // 0x0 + uint16_t m_nParent; // 0x4 + uint16_t m_nChild; // 0x6 + VPhysXConstraintParams_t m_params; // 0x8 }; // Alignment: 1 // Size: 0x60 class CModelConfigElement_RandomPick : public CModelConfigElement -{ +{ public: - CUtlVector< CUtlString > m_Choices; // 0x48 + CUtlVector< CUtlString > m_Choices; // 0x48 }; // Alignment: 2 // Size: 0xb8 -class CSubGraphAnimNode : public CContainerAnimNodeBase, CAnimNodeBase -{ +class CSubGraphAnimNode : public CContainerAnimNodeBase +{ public: // MPropertyFriendlyName "SubGraph File" // MPropertyAttributeEditor "AssetBrowse( vsubgrph )" // MPropertyAttrChangeCallback - CUtlString m_subGraphFilename; // 0x78 + CUtlString m_subGraphFilename; // 0x78 // MPropertyHideField - CUtlHashtable< CUtlString, CUtlString > m_animNameMap; // 0x80 + CUtlHashtable< CUtlString, CUtlString > m_animNameMap; // 0x80 }; // Alignment: 7 // Size: 0x60 class CSlopeComponent : public CAnimComponentBase -{ +{ public: // MPropertyFriendlyName "Trace Distance" - float m_flTraceDistance; // 0x40 + float m_flTraceDistance; // 0x40 // MPropertyHideField - AnimParamID m_slopeAngleID; // 0x44 + AnimParamID m_slopeAngleID; // 0x44 // MPropertyHideField - AnimParamID m_slopeHeadingID; // 0x48 + AnimParamID m_slopeHeadingID; // 0x48 // MPropertyHideField - AnimParamID m_slopeAngleSideID; // 0x4c + AnimParamID m_slopeAngleSideID; // 0x4c // MPropertyHideField - AnimParamID m_slopeAngleFrontID; // 0x50 + AnimParamID m_slopeAngleFrontID; // 0x50 // MPropertyHideField - AnimParamID m_slopeNormalID; // 0x54 + AnimParamID m_slopeNormalID; // 0x54 // MPropertyHideField - AnimParamID m_slopeNormal_WorldSpaceID; // 0x58 + AnimParamID m_slopeNormal_WorldSpaceID; // 0x58 }; // Alignment: 6 // Size: 0x100 -class CAnimParameterListUpdater : public -{ +class CAnimParameterListUpdater +{ public: - CUtlVector< CSmartPtr< CAnimParameterBase > > m_parameters; // 0x18 - CUtlHashtable< AnimParamID, int32 > m_idToIndexMap; // 0x30 - CUtlHashtable< CUtlString, int32 > m_nameToIndexMap; // 0x50 - CUtlVector< CAnimParamHandle > m_indexToHandle; // 0x70 - CUtlVector< CUtlPair< CAnimParamHandle, CAnimVariant > > m_autoResetParams; // 0x88 - CUtlHashtable< CAnimParamHandle, int16 > m_autoResetMap; // 0xa0 + CUtlVector< CSmartPtr< CAnimParameterBase > > m_parameters; // 0x18 + CUtlHashtable< AnimParamID, int32 > m_idToIndexMap; // 0x30 + CUtlHashtable< CUtlString, int32 > m_nameToIndexMap; // 0x50 + CUtlVector< CAnimParamHandle > m_indexToHandle; // 0x70 + CUtlVector< CUtlPair< CAnimParamHandle, CAnimVariant > > m_autoResetParams; // 0x88 + CUtlHashtable< CAnimParamHandle, int16 > m_autoResetMap; // 0xa0 }; // Alignment: 5 // Size: 0x58 class CFollowAttachmentAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x40 + CUtlString m_boneName; // 0x40 // MPropertyFriendlyName "Target Attachment" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x48 + CUtlString m_attachmentName; // 0x48 // MPropertyFriendlyName "Match Translation" - bool m_bMatchTranslation; // 0x50 + bool m_bMatchTranslation; // 0x50 // MPropertyFriendlyName "Match Rotation" - bool m_bMatchRotation; // 0x51 + bool m_bMatchRotation; // 0x51 }; // Alignment: 6 // Size: 0x40 -struct BlendItem_t : public -{ +struct BlendItem_t +{ public: - CUtlVector< TagSpan_t > m_tags; // 0x0 - CAnimUpdateNodeRef m_pChild; // 0x18 - HSequence m_hSequence; // 0x28 - Vector2D m_vPos; // 0x2c - float m_flDuration; // 0x34 - bool m_bUseCustomDuration; // 0x38 + CUtlVector< TagSpan_t > m_tags; // 0x0 + CAnimUpdateNodeRef m_pChild; // 0x18 + HSequence m_hSequence; // 0x28 + Vector2D m_vPos; // 0x2c + float m_flDuration; // 0x34 + bool m_bUseCustomDuration; // 0x38 }; -// Alignment: 4 +// Alignment: 0 // Size: 0x70 -class CBaseConstraint : public CBoneConstraintBase -{ +class COrientConstraint : public CBaseConstraint +{ public: - CUtlString m_name; // 0x28 - Vector m_vUpVector; // 0x30 - CUtlVector< CConstraintSlave > m_slaves; // 0x40 - CUtlVector< CConstraintTarget > m_targets; // 0x58 + // no members available }; // Alignment: 1 // Size: 0x48 class CDampedValueComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CUtlVector< CDampedValueUpdateItem > m_items; // 0x30 + CUtlVector< CDampedValueUpdateItem > m_items; // 0x30 }; // Alignment: 2 // Size: 0x70 -class CCycleControlUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CCycleControlUpdateNode : public CUnaryUpdateNode +{ public: - AnimValueSource m_valueSource; // 0x68 - CAnimParamHandle m_paramIndex; // 0x6c + AnimValueSource m_valueSource; // 0x68 + CAnimParamHandle m_paramIndex; // 0x6c }; // Alignment: 3 // Size: 0x40 class CAnimationGraphVisualizerLine : public CAnimationGraphVisualizerPrimitiveBase -{ +{ public: - VectorAligned m_vWsPositionStart; // 0x10 - VectorAligned m_vWsPositionEnd; // 0x20 - Color m_Color; // 0x30 + VectorAligned m_vWsPositionStart; // 0x10 + VectorAligned m_vWsPositionEnd; // 0x20 + Color m_Color; // 0x30 }; // Alignment: 3 // Size: 0x20 class CExpressionActionUpdater : public CAnimActionUpdater -{ +{ public: - CAnimParamHandle m_hParam; // 0x18 - AnimParamType_t m_eParamType; // 0x1a - AnimScriptHandle m_hScript; // 0x1c + CAnimParamHandle m_hParam; // 0x18 + AnimParamType_t m_eParamType; // 0x1a +private: + [[maybe_unused]] uint8_t __pad001b[0x1]; // 0x1b +public: + AnimScriptHandle m_hScript; // 0x1c }; -// Alignment: 4 -// Size: 0x150 -class CAnimationGraph : public CAnimationSubGraph -{ +// Alignment: 6 +// Size: 0xe0 +class CAnimationSubGraph +{ public: - CSmartPtr< CAnimGraphSettingsManager > m_pSettingsManager; // 0xe8 - CAnimClipDataManager m_clipDataManager; // 0xf8 - CUtlString m_modelName; // 0x140 - CUtlString m_previewModelName; // 0x148 + CAnimNodeManager m_nodeManager; // 0x8 + CAnimComponentManager m_componentManager; // 0x50 + CUtlVector< CSmartPtr< CAnimParameterBase > > m_localParameters; // 0x78 + CUtlVector< CSmartPtr< CAnimTagBase > > m_localTags; // 0x90 + CUtlVector< CUtlString > m_referencedParamGroups; // 0xa8 + CUtlVector< CUtlString > m_referencedTagGroups; // 0xc0 }; // Alignment: 7 // Size: 0x30 -class CJiggleBoneItem : public -{ +class CJiggleBoneItem +{ public: // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x0 + CUtlString m_boneName; // 0x0 // MPropertyFriendlyName "Spring Strength" - float m_flSpringStrength; // 0x8 + float m_flSpringStrength; // 0x8 // MPropertyFriendlyName "Sim Rate (FPS)" - float m_flSimRateFPS; // 0xc + float m_flSimRateFPS; // 0xc // MPropertyFriendlyName "Damping" // MPropertyAttributeRange "0 1" - float m_flDamping; // 0x10 + float m_flDamping; // 0x10 // MPropertyFriendlyName "Sim Space" - JiggleBoneSimSpace m_eSimSpace; // 0x14 + JiggleBoneSimSpace m_eSimSpace; // 0x14 // MPropertyFriendlyName "Max" // MPropertyGroupName "Movement Limits" - Vector m_vBoundsMaxLS; // 0x18 + Vector m_vBoundsMaxLS; // 0x18 // MPropertyFriendlyName "Min" // MPropertyGroupName "Movement Limits" - Vector m_vBoundsMinLS; // 0x24 + Vector m_vBoundsMinLS; // 0x24 }; // Alignment: 10 // Size: 0xb8 class CChoiceUpdateNode : public CAnimUpdateNodeBase -{ +{ public: - CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 - CUtlVector< float32 > m_weights; // 0x70 - CUtlVector< float32 > m_blendTimes; // 0x88 - ChoiceMethod m_choiceMethod; // 0xa0 - ChoiceChangeMethod m_choiceChangeMethod; // 0xa4 - ChoiceBlendMethod m_blendMethod; // 0xa8 - float m_blendTime; // 0xac - bool m_bCrossFade; // 0xb0 - bool m_bResetChosen; // 0xb1 - bool m_bDontResetSameSelection; // 0xb2 + CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 + CUtlVector< float32 > m_weights; // 0x70 + CUtlVector< float32 > m_blendTimes; // 0x88 + ChoiceMethod m_choiceMethod; // 0xa0 + ChoiceChangeMethod m_choiceChangeMethod; // 0xa4 + ChoiceBlendMethod m_blendMethod; // 0xa8 + float m_blendTime; // 0xac + bool m_bCrossFade; // 0xb0 + bool m_bResetChosen; // 0xb1 + bool m_bDontResetSameSelection; // 0xb2 }; -// Alignment: 2 -// Size: 0x20 -class CProductQuantizer : public -{ +// Alignment: 5 +// Size: 0x80 +class CMotionSearchNode +{ public: - CUtlVector< CVectorQuantizer > m_subQuantizers; // 0x0 - int32_t m_nDimensions; // 0x18 + CUtlVector< CMotionSearchNode* > m_children; // 0x0 + CVectorQuantizer m_quantizer; // 0x18 + CUtlVector< CUtlVector< SampleCode > > m_sampleCodes; // 0x38 + CUtlVector< CUtlVector< int32 > > m_sampleIndices; // 0x50 + CUtlVector< int32 > m_selectableSamples; // 0x68 }; // Alignment: 1 // Size: 0x40 class CFootCycleMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Foot" // MPropertyAttributeChoiceName "Foot" // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 + CUtlVector< CUtlString > m_feet; // 0x28 }; -// Alignment: 2 -// Size: 0x20 -class CMotionDataSet : public -{ +// Alignment: 23 +// Size: 0x140 +class CMotionMatchingUpdateNode : public CLeafUpdateNode +{ public: - CUtlVector< CMotionGraphGroup > m_groups; // 0x0 - int32_t m_nDimensionCount; // 0x18 + CMotionDataSet m_dataSet; // 0x58 + CUtlVector< CSmartPtr< CMotionMetricEvaluator > > m_metrics; // 0x78 + CUtlVector< float32 > m_weights; // 0x90 +private: + [[maybe_unused]] uint8_t __pad00a8[0x38]; // 0xa8 +public: + bool m_bSearchEveryTick; // 0xe0 +private: + [[maybe_unused]] uint8_t __pad00e1[0x3]; // 0xe1 +public: + float m_flSearchInterval; // 0xe4 + bool m_bSearchWhenClipEnds; // 0xe8 + bool m_bSearchWhenGoalChanges; // 0xe9 +private: + [[maybe_unused]] uint8_t __pad00ea[0x2]; // 0xea +public: + CBlendCurve m_blendCurve; // 0xec + float m_flSampleRate; // 0xf4 + float m_flBlendTime; // 0xf8 + bool m_bLockClipWhenWaning; // 0xfc +private: + [[maybe_unused]] uint8_t __pad00fd[0x3]; // 0xfd +public: + float m_flSelectionThreshold; // 0x100 + float m_flReselectionTimeWindow; // 0x104 + bool m_bEnableRotationCorrection; // 0x108 + bool m_bGoalAssist; // 0x109 +private: + [[maybe_unused]] uint8_t __pad010a[0x2]; // 0x10a +public: + float m_flGoalAssistDistance; // 0x10c + float m_flGoalAssistTolerance; // 0x110 +private: + [[maybe_unused]] uint8_t __pad0114[0x4]; // 0x114 +public: + CAnimInputDamping m_distanceScale_Damping; // 0x118 + float m_flDistanceScale_OuterRadius; // 0x128 + float m_flDistanceScale_InnerRadius; // 0x12c + float m_flDistanceScale_MaxScale; // 0x130 + float m_flDistanceScale_MinScale; // 0x134 + bool m_bEnableDistanceScaling; // 0x138 }; // Alignment: 2 // Size: 0x10 -struct PermModelDataAnimatedMaterialAttribute_t : public -{ +struct PermModelDataAnimatedMaterialAttribute_t +{ public: - CUtlString m_AttributeName; // 0x0 - int32_t m_nNumChannels; // 0x8 + CUtlString m_AttributeName; // 0x0 + int32_t m_nNumChannels; // 0x8 }; // Alignment: 4 // Size: 0x48 class CSkeletalInputAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Data Source" // MPropertyAttrChangeCallback - AnimVrBoneTransformSource_t m_transformSource; // 0x38 + AnimVrBoneTransformSource_t m_transformSource; // 0x38 // MPropertyFriendlyName "Motion Range" // MPropertyAttrStateCallback - AnimVRHandMotionRange_t m_motionRange; // 0x3c + AnimVRHandMotionRange_t m_motionRange; // 0x3c // MPropertyFriendlyName "Enable IK" // MPropertyGroupName "+Retargetting" - bool m_bEnableIK; // 0x40 + bool m_bEnableIK; // 0x40 // MPropertyFriendlyName "Enable Collision" // MPropertyGroupName "+Retargetting" - bool m_bEnableCollision; // 0x41 + bool m_bEnableCollision; // 0x41 }; // Alignment: 3 // Size: 0xc -struct TagSpan_t : public -{ +struct TagSpan_t +{ public: - int32_t m_tagIndex; // 0x0 - float m_startCycle; // 0x4 - float m_endCycle; // 0x8 + int32_t m_tagIndex; // 0x0 + float m_startCycle; // 0x4 + float m_endCycle; // 0x8 }; // Alignment: 2 // Size: 0x60 class CSolveIKChainAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 + CAnimNodeConnection m_inputConnection; // 0x40 // MPropertyFriendlyName "IK Chains" // MPropertyAutoExpandSelf - CUtlVector< CSolveIKChainAnimNodeChainData > m_IkChains; // 0x48 + CUtlVector< CSolveIKChainAnimNodeChainData > m_IkChains; // 0x48 }; // Alignment: 17 // Size: 0x88 class CLookAtAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Target" // MPropertyAttrChangeCallback - AnimVectorSource m_target; // 0x40 + AnimVectorSource m_target; // 0x40 // MPropertyFriendlyName "Target Parameter" // MPropertyAttributeChoiceName "VectorParameter" // MPropertyAttrStateCallback - AnimParamID m_param; // 0x44 + AnimParamID m_param; // 0x44 // MPropertyFriendlyName "Parameter is a Position" // MPropertyAttrStateCallback - bool m_bIsPosition; // 0x48 + bool m_bIsPosition; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 +public: // MPropertyFriendlyName "Weight Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_weightParam; // 0x4c + AnimParamID m_weightParam; // 0x4c // MPropertyFriendlyName "LookAt Chain" // MPropertyAttributeChoiceName "LookAtChain" - CUtlString m_lookatChainName; // 0x50 + CUtlString m_lookatChainName; // 0x50 // MPropertyFriendlyName "Aim Attachment" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x58 + CUtlString m_attachmentName; // 0x58 // MPropertyFriendlyName "Rotate Through Forward" // MPropertyGroupName "Rotation Limits" // MPropertyAttrChangeCallback - bool m_bRotateYawForward; // 0x60 + bool m_bRotateYawForward; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0061[0x3]; // 0x61 +public: // MPropertyFriendlyName "Yaw Limit" // MPropertyAttributeRange "0 180" // MPropertyGroupName "Rotation Limits" // MPropertyAttrStateCallback - float m_flYawLimit; // 0x64 + float m_flYawLimit; // 0x64 // MPropertyFriendlyName "Pitch Limit" // MPropertyAttributeRange "0 90" // MPropertyGroupName "Rotation Limits" - float m_flPitchLimit; // 0x68 + float m_flPitchLimit; // 0x68 // MPropertyFriendlyName "Maintain Up Direction" - bool m_bMaintainUpDirection; // 0x6c + bool m_bMaintainUpDirection; // 0x6c // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0x6d + bool m_bResetBase; // 0x6d // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x6e + bool m_bLockWhenWaning; // 0x6e // MPropertyFriendlyName "Use Hysteresis" // MPropertyGroupName "Hysteresis" - bool m_bUseHysteresis; // 0x6f + bool m_bUseHysteresis; // 0x6f // MPropertyFriendlyName "Inner Angle" // MPropertyGroupName "Hysteresis" - float m_flHysteresisInnerAngle; // 0x70 + float m_flHysteresisInnerAngle; // 0x70 // MPropertyFriendlyName "Outer Angle" // MPropertyGroupName "Hysteresis" - float m_flHysteresisOuterAngle; // 0x74 + float m_flHysteresisOuterAngle; // 0x74 // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x78 + CAnimInputDamping m_damping; // 0x78 }; // Alignment: 2 // Size: 0x30 class CTagCondition : public CConditionBase -{ +{ public: // MPropertyFriendlyName "Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tagID; // 0x28 + AnimTagID m_tagID; // 0x28 // MPropertyFriendlyName "Value" - bool m_comparisonValue; // 0x2c + bool m_comparisonValue; // 0x2c }; -// Alignment: 7 -// Size: 0xa8 -struct ModelSkeletonData_t : public -{ +// Alignment: 10 +// Size: 0x58 +struct PermModelInfo_t +{ public: - CUtlVector< CUtlString > m_boneName; // 0x0 - CUtlVector< int16 > m_nParent; // 0x18 - CUtlVector< float32 > m_boneSphere; // 0x30 - CUtlVector< uint32 > m_nFlag; // 0x48 - CUtlVector< Vector > m_bonePosParent; // 0x60 - CUtlVector< QuaternionStorage > m_boneRotParent; // 0x78 - CUtlVector< float32 > m_boneScaleParent; // 0x90 + uint32_t m_nFlags; // 0x0 + Vector m_vHullMin; // 0x4 + Vector m_vHullMax; // 0x10 + Vector m_vViewMin; // 0x1c + Vector m_vViewMax; // 0x28 + float m_flMass; // 0x34 + Vector m_vEyePosition; // 0x38 + float m_flMaxEyeDeflection; // 0x44 + CUtlString m_sSurfaceProperty; // 0x48 + CUtlString m_keyValueText; // 0x50 }; // Alignment: 14 // Size: 0x70 -class CHitBox : public -{ +class CHitBox +{ public: - Vector m_vMinBounds; // 0x20 - Vector m_vMaxBounds; // 0x2c - CUtlString m_name; // 0x38 - CUtlString m_sSurfaceProperty; // 0x40 - CUtlString m_sBoneName; // 0x48 - float m_flShapeRadius; // 0x50 - uint32_t m_nBoneNameHash; // 0x54 - int32_t m_nGroupId; // 0x58 - Color m_cRenderColor; // 0x5c - uint16_t m_nHitBoxIndex; // 0x60 - uint8_t m_nShapeType; // 0x62 - bool m_bTranslationOnly; // 0x64 - bool m_bVisible; // 0x65 - bool m_bSelected; // 0x66 + Vector m_vMinBounds; // 0x20 + Vector m_vMaxBounds; // 0x2c + CUtlString m_name; // 0x38 + CUtlString m_sSurfaceProperty; // 0x40 + CUtlString m_sBoneName; // 0x48 + float m_flShapeRadius; // 0x50 + uint32_t m_nBoneNameHash; // 0x54 + int32_t m_nGroupId; // 0x58 + Color m_cRenderColor; // 0x5c + uint16_t m_nHitBoxIndex; // 0x60 + uint8_t m_nShapeType; // 0x62 +private: + [[maybe_unused]] uint8_t __pad0063[0x1]; // 0x63 +public: + bool m_bTranslationOnly; // 0x64 + bool m_bVisible; // 0x65 + bool m_bSelected; // 0x66 }; // Alignment: 0 // Size: 0x70 class CAnimComponentStateTransition : public CAnimStateTransition -{ +{ public: // no members available }; @@ -10978,9263 +11373,10175 @@ public: // Alignment: 1 // Size: 0x68 class CFootCycleMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - CUtlVector< int32 > m_footIndices; // 0x50 + CUtlVector< int32 > m_footIndices; // 0x50 }; // Alignment: 0 // Size: 0x70 class CAnimComponentState : public CAnimState -{ +{ public: // no members available }; // Alignment: 3 -// Size: 0x20 -class CVectorQuantizer : public -{ +// Size: 0xb8 +class CMotionSearchDB +{ public: - CUtlVector< float32 > m_centroidVectors; // 0x0 - int32_t m_nCentroids; // 0x18 - int32_t m_nDimensions; // 0x1c + CMotionSearchNode m_rootNode; // 0x0 + CProductQuantizer m_residualQuantizer; // 0x80 + CUtlVector< MotionDBIndex > m_codeIndices; // 0xa0 }; // Alignment: 2 // Size: 0x10 -class CBodyGroupSetting : public -{ +class CBodyGroupSetting +{ public: // MPropertyFriendlyName "BodyGroup" // MPropertyAttributeChoiceName "BodyGroup" // MPropertyAutoRebuildOnChange - CUtlString m_BodyGroupName; // 0x0 + CUtlString m_BodyGroupName; // 0x0 // MPropertyFriendlyName "BodyGroup Option" // MPropertyAttributeChoiceName "BodyGroupOption" // MPropertyAttrExtraInfoFn - int32_t m_nBodyGroupOption; // 0x8 + int32_t m_nBodyGroupOption; // 0x8 }; // Alignment: 2 // Size: 0x58 class CJiggleBoneAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Jiggle Bones" // MPropertyAutoExpandSelf - CUtlVector< CJiggleBoneItem > m_items; // 0x40 + CUtlVector< CJiggleBoneItem > m_items; // 0x40 }; // Alignment: 3 // Size: 0x50 class CRagdollAnimNode : public CAnimNodeBase -{ +{ public: - CUtlString m_weightListName; // 0x38 - RagdollPoseControl m_poseControlMethod; // 0x40 + CUtlString m_weightListName; // 0x38 + RagdollPoseControl m_poseControlMethod; // 0x40 // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x44 + CAnimNodeConnection m_inputConnection; // 0x44 }; // Alignment: 5 // Size: 0xb8 class CAnimNodeStateTransition : public CAnimStateTransition -{ +{ public: // MPropertyFriendlyName "Blend Duration" - CFloatAnimValue m_blendDuration; // 0x78 + CFloatAnimValue m_blendDuration; // 0x78 // MPropertyFriendlyName "Reset Destination" - bool m_bReset; // 0x90 + bool m_bReset; // 0x90 +private: + [[maybe_unused]] uint8_t __pad0091[0x3]; // 0x91 +public: // MPropertyFriendlyName "Start Cycle At" - ResetCycleOption m_resetCycleOption; // 0x94 + ResetCycleOption m_resetCycleOption; // 0x94 // MPropertyFriendlyName "Fixed Start Cycle Value" - CFloatAnimValue m_flFixedCycleValue; // 0x98 + CFloatAnimValue m_flFixedCycleValue; // 0x98 // MPropertyHideField - CBlendCurve m_blendCurve; // 0xb0 + CBlendCurve m_blendCurve; // 0xb0 }; // Alignment: 2 // Size: 0x70 class CStepsRemainingMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - CUtlVector< int32 > m_footIndices; // 0x50 - float m_flMinStepsRemaining; // 0x68 + CUtlVector< int32 > m_footIndices; // 0x50 + float m_flMinStepsRemaining; // 0x68 }; // Alignment: 3 // Size: 0x28 -class CFootStepTriggerItem : public -{ +class CFootStepTriggerItem +{ public: // MPropertyFriendlyName "Foot" // MPropertyAttributeChoiceName "Foot" - CUtlString m_footName; // 0x0 + CUtlString m_footName; // 0x0 // MPropertyFriendlyName "Trigger Phase" - StepPhase m_triggerPhase; // 0x8 + StepPhase m_triggerPhase; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: // MPropertyFriendlyName "Tags" // MPropertyAttributeChoiceName "Tag" - CUtlVector< AnimTagID > m_tags; // 0x10 + CUtlVector< AnimTagID > m_tags; // 0x10 }; // Alignment: 12 // Size: 0xe8 -class CMaterialDrawDescriptor : public -{ +class CMaterialDrawDescriptor +{ public: - RenderPrimitiveType_t m_nPrimitiveType; // 0x0 - int32_t m_nBaseVertex; // 0x4 - int32_t m_nVertexCount; // 0x8 - int32_t m_nStartIndex; // 0xc - int32_t m_nIndexCount; // 0x10 - float m_flUvDensity; // 0x14 - Vector m_vTintColor; // 0x18 - float m_flAlpha; // 0x24 - uint32_t m_nFirstMeshlet; // 0x2c - uint16_t m_nNumMeshlets; // 0x30 - CRenderBufferBinding m_indexBuffer; // 0xb8 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_material; // 0xe0 + RenderPrimitiveType_t m_nPrimitiveType; // 0x0 + int32_t m_nBaseVertex; // 0x4 + int32_t m_nVertexCount; // 0x8 + int32_t m_nStartIndex; // 0xc + int32_t m_nIndexCount; // 0x10 + float m_flUvDensity; // 0x14 + Vector m_vTintColor; // 0x18 + float m_flAlpha; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0028[0x4]; // 0x28 +public: + uint32_t m_nFirstMeshlet; // 0x2c + uint16_t m_nNumMeshlets; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0032[0x86]; // 0x32 +public: + CRenderBufferBinding m_indexBuffer; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00d0[0x10]; // 0xd0 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_material; // 0xe0 }; // Alignment: 1 // Size: 0x48 class CFootFallAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Foot" - FootFallTagFoot_t m_foot; // 0x40 + FootFallTagFoot_t m_foot; // 0x40 }; // Alignment: 2 // Size: 0x90 -class CAimConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class CAimConstraint : public CBaseConstraint +{ public: - Quaternion m_qAimOffset; // 0x70 - uint32_t m_nUpType; // 0x80 + Quaternion m_qAimOffset; // 0x70 + uint32_t m_nUpType; // 0x80 }; -// Alignment: 1 -// Size: 0x28 -class CAnimComponentManager : public -{ +// Alignment: 4 +// Size: 0x150 +class CAnimationGraph : public CAnimationSubGraph +{ public: - CUtlVector< CSmartPtr< CAnimComponentBase > > m_components; // 0x8 + CSmartPtr< CAnimGraphSettingsManager > m_pSettingsManager; // 0xe8 +private: + [[maybe_unused]] uint8_t __pad00f0[0x8]; // 0xf0 +public: + CAnimClipDataManager m_clipDataManager; // 0xf8 +private: + [[maybe_unused]] uint8_t __pad0130[0x10]; // 0x130 +public: + CUtlString m_modelName; // 0x140 + CUtlString m_previewModelName; // 0x148 }; // Alignment: 0 // Size: 0x70 -class CChoreoUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CChoreoUpdateNode : public CUnaryUpdateNode +{ public: // no members available }; // Alignment: 9 // Size: 0xa8 -class CFootAdjustmentUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CFootAdjustmentUpdateNode : public CUnaryUpdateNode +{ public: - CUtlVector< HSequence > m_clips; // 0x70 - CPoseHandle m_hBasePoseCacheHandle; // 0x88 - CAnimParamHandle m_facingTarget; // 0x8c - float m_flTurnTimeMin; // 0x90 - float m_flTurnTimeMax; // 0x94 - float m_flStepHeightMax; // 0x98 - float m_flStepHeightMaxAngle; // 0x9c - bool m_bResetChild; // 0xa0 - bool m_bAnimationDriven; // 0xa1 + CUtlVector< HSequence > m_clips; // 0x70 + CPoseHandle m_hBasePoseCacheHandle; // 0x88 + CAnimParamHandle m_facingTarget; // 0x8c +private: + [[maybe_unused]] uint8_t __pad008e[0x2]; // 0x8e +public: + float m_flTurnTimeMin; // 0x90 + float m_flTurnTimeMax; // 0x94 + float m_flStepHeightMax; // 0x98 + float m_flStepHeightMaxAngle; // 0x9c + bool m_bResetChild; // 0xa0 + bool m_bAnimationDriven; // 0xa1 }; // Alignment: 7 // Size: 0x60 class CLookComponent : public CAnimComponentBase -{ +{ public: // MPropertyFriendlyName "Network Look Target" - bool m_bNetworkLookTarget; // 0x40 + bool m_bNetworkLookTarget; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: // MPropertyHideField - AnimParamID m_lookHeadingID; // 0x44 + AnimParamID m_lookHeadingID; // 0x44 // MPropertyHideField - AnimParamID m_lookHeadingVelocityID; // 0x48 + AnimParamID m_lookHeadingVelocityID; // 0x48 // MPropertyHideField - AnimParamID m_lookPitchID; // 0x4c + AnimParamID m_lookPitchID; // 0x4c // MPropertyHideField - AnimParamID m_lookDirectionID; // 0x50 + AnimParamID m_lookDirectionID; // 0x50 // MPropertyHideField - AnimParamID m_lookTargetID; // 0x54 + AnimParamID m_lookTargetID; // 0x54 // MPropertyHideField - AnimParamID m_lookTargetWorldSpaceID; // 0x58 + AnimParamID m_lookTargetWorldSpaceID; // 0x58 }; // Alignment: 1 // Size: 0x60 class CModelConfigElement_UserPick : public CModelConfigElement -{ +{ public: - CUtlVector< CUtlString > m_Choices; // 0x48 + CUtlVector< CUtlString > m_Choices; // 0x48 }; // Alignment: 4 // Size: 0x38 -class CMorphBundleData : public -{ +class CMorphBundleData +{ public: - float m_flULeftSrc; // 0x0 - float m_flVTopSrc; // 0x4 - CUtlVector< float32 > m_offsets; // 0x8 - CUtlVector< float32 > m_ranges; // 0x20 + float m_flULeftSrc; // 0x0 + float m_flVTopSrc; // 0x4 + CUtlVector< float32 > m_offsets; // 0x8 + CUtlVector< float32 > m_ranges; // 0x20 }; // Alignment: 2 // Size: 0x20 -struct MaterialGroup_t : public -{ +struct MaterialGroup_t +{ public: - CUtlString m_name; // 0x0 - CUtlVector< CStrongHandle< InfoForResourceTypeIMaterial2 > > m_materials; // 0x8 + CUtlString m_name; // 0x0 + CUtlVector< CStrongHandle< InfoForResourceTypeIMaterial2 > > m_materials; // 0x8 }; -// Alignment: 2 -// Size: 0x28 -class CAnimMotorBase : public -{ +// Alignment: 6 +// Size: 0x58 +class CPlayerInputAnimMotor : public CAnimMotorBase +{ public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_name; // 0x18 - // MPropertyFriendlyName "Is Default" - bool m_bDefault; // 0x20 + // MPropertyFriendlyName "Sample Times" + CUtlVector< float32 > m_sampleTimes; // 0x28 + // MPropertyFriendlyName "Use Acceleration" + bool m_bUseAcceleration; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: + // MPropertyFriendlyName "Spring Constant" + 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 }; // Alignment: 2 // Size: 0x70 -class CPathHelperUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CPathHelperUpdateNode : public CUnaryUpdateNode +{ public: - float m_flStoppingRadius; // 0x68 - float m_flStoppingSpeedScale; // 0x6c + float m_flStoppingRadius; // 0x68 + float m_flStoppingSpeedScale; // 0x6c }; // Alignment: 1 // Size: 0x58 -class CAnimTagManager : public -{ +class CAnimTagManager +{ public: - CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 + CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 }; // Alignment: 1 // Size: 0x50 class CModelConfigElement_SetMaterialGroupOnAttachedModels : public CModelConfigElement -{ +{ public: - CUtlString m_MaterialGroupName; // 0x48 + CUtlString m_MaterialGroupName; // 0x48 }; // Alignment: 7 // Size: 0x48 -class CDampedPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase, CAnimMotorUpdaterBase -{ +class CDampedPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase +{ public: - float m_flAnticipationTime; // 0x2c - float m_flMinSpeedScale; // 0x30 - CAnimParamHandle m_hAnticipationPosParam; // 0x34 - CAnimParamHandle m_hAnticipationHeadingParam; // 0x36 - float m_flSpringConstant; // 0x38 - float m_flMinSpringTension; // 0x3c - float m_flMaxSpringTension; // 0x40 + float m_flAnticipationTime; // 0x2c + float m_flMinSpeedScale; // 0x30 + CAnimParamHandle m_hAnticipationPosParam; // 0x34 + CAnimParamHandle m_hAnticipationHeadingParam; // 0x36 + float m_flSpringConstant; // 0x38 + float m_flMinSpringTension; // 0x3c + float m_flMaxSpringTension; // 0x40 }; // Alignment: 1 // Size: 0x48 class CActionComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x30 + CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x30 }; -// Alignment: 0 -// Size: 0x4 -class CAnimCycle : public CCycleBase -{ +// Alignment: 9 +// Size: 0x3c +class CFootCycleDefinition +{ public: - // no members available + Vector m_vStancePositionMS; // 0x0 + Vector m_vMidpointPositionMS; // 0xc + float m_flStanceDirectionMS; // 0x18 + Vector m_vToStrideStartPos; // 0x1c + CAnimCycle m_stanceCycle; // 0x28 + CFootCycle m_footLiftCycle; // 0x2c + CFootCycle m_footOffCycle; // 0x30 + CFootCycle m_footStrikeCycle; // 0x34 + CFootCycle m_footLandCycle; // 0x38 }; // Alignment: 5 // Size: 0x30 -class CAnimBoneDifference : public -{ +class CAnimBoneDifference +{ public: - CBufferString m_name; // 0x0 - CBufferString m_parent; // 0x10 - Vector m_posError; // 0x20 - bool m_bHasRotation; // 0x2c - bool m_bHasMovement; // 0x2d + CBufferString m_name; // 0x0 + CBufferString m_parent; // 0x10 + Vector m_posError; // 0x20 + bool m_bHasRotation; // 0x2c + bool m_bHasMovement; // 0x2d }; // Alignment: 1 // Size: 0x28 -class CAnimStateMachine : public -{ +class CAnimStateMachine +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CAnimState > > m_states; // 0x8 + CUtlVector< CSmartPtr< CAnimState > > m_states; // 0x8 }; // Alignment: 6 // Size: 0x60 class CStopAtGoalAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Outer Stopping Radius" - float m_flOuterRadius; // 0x40 + float m_flOuterRadius; // 0x40 // MPropertyFriendlyName "Inner Stopping Radius" - float m_flInnerRadius; // 0x44 + float m_flInnerRadius; // 0x44 // MPropertyFriendlyName "Maximum Speed Scale" - float m_flMaxScale; // 0x48 + float m_flMaxScale; // 0x48 // MPropertyFriendlyName "Minimum Speed Scale" - float m_flMinScale; // 0x4c + float m_flMinScale; // 0x4c // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x50 + CAnimInputDamping m_damping; // 0x50 }; // Alignment: 5 // Size: 0x90 -class CStopAtGoalUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CStopAtGoalUpdateNode : public CUnaryUpdateNode +{ public: - float m_flOuterRadius; // 0x6c - float m_flInnerRadius; // 0x70 - float m_flMaxScale; // 0x74 - float m_flMinScale; // 0x78 - CAnimInputDamping m_damping; // 0x80 + float m_flOuterRadius; // 0x6c + float m_flInnerRadius; // 0x70 + float m_flMaxScale; // 0x74 + float m_flMinScale; // 0x78 +private: + [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c +public: + CAnimInputDamping m_damping; // 0x80 }; // Alignment: 2 // Size: 0x8 -struct VPhysXRange_t : public -{ +struct VPhysXRange_t +{ public: - float m_flMin; // 0x0 - float m_flMax; // 0x4 + float m_flMin; // 0x0 + float m_flMax; // 0x4 }; -// Alignment: 6 -// Size: 0x6 -class CSeqMultiFetchFlag : public -{ +// Alignment: 11 +// Size: 0x118 +class CSeqS1SeqDesc +{ 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 + CBufferString m_sName; // 0x0 + CSeqSeqDescFlag m_flags; // 0x10 +private: + [[maybe_unused]] uint8_t __pad001b[0x5]; // 0x1b +public: + CSeqMultiFetch m_fetch; // 0x20 + int32_t m_nLocalWeightlist; // 0x88 +private: + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c +public: + CUtlVector< CSeqAutoLayer > m_autoLayerArray; // 0x90 + CUtlVector< CSeqIKLock > m_IKLockArray; // 0xa8 + CSeqTransition m_transition; // 0xc0 + KeyValues3 m_SequenceKeys; // 0xc8 + // MKV3TransferName "m_keyValueText" + CBufferString m_LegacyKeyValueText; // 0xd8 + CUtlVector< CAnimActivity > m_activityArray; // 0xe8 + CUtlVector< CFootMotion > m_footMotion; // 0x100 }; // Alignment: 16 // Size: 0x138 -struct VPhysXAggregateData_t : public -{ +struct VPhysXAggregateData_t +{ public: - uint16_t m_nFlags; // 0x0 - uint16_t m_nRefCounter; // 0x2 - CUtlVector< uint32 > m_bonesHash; // 0x8 - CUtlVector< CUtlString > m_boneNames; // 0x20 - CUtlVector< uint16 > m_indexNames; // 0x38 - CUtlVector< uint16 > m_indexHash; // 0x50 - CUtlVector< matrix3x4a_t > m_bindPose; // 0x68 - CUtlVector< VPhysXBodyPart_t > m_parts; // 0x80 - CUtlVector< VPhysXConstraint2_t > m_constraints2; // 0x98 - CUtlVector< VPhysXJoint_t > m_joints; // 0xb0 - PhysFeModelDesc_t* m_pFeModel; // 0xc8 - CUtlVector< uint16 > m_boneParents; // 0xd0 - CUtlVector< uint32 > m_surfacePropertyHashes; // 0xe8 - CUtlVector< VPhysXCollisionAttributes_t > m_collisionAttributes; // 0x100 - CUtlVector< CUtlString > m_debugPartNames; // 0x118 - CUtlString m_embeddedKeyvalues; // 0x130 + uint16_t m_nFlags; // 0x0 + uint16_t m_nRefCounter; // 0x2 +private: + [[maybe_unused]] uint8_t __pad0004[0x4]; // 0x4 +public: + CUtlVector< uint32 > m_bonesHash; // 0x8 + CUtlVector< CUtlString > m_boneNames; // 0x20 + CUtlVector< uint16 > m_indexNames; // 0x38 + CUtlVector< uint16 > m_indexHash; // 0x50 + CUtlVector< matrix3x4a_t > m_bindPose; // 0x68 + CUtlVector< VPhysXBodyPart_t > m_parts; // 0x80 + CUtlVector< VPhysXConstraint2_t > m_constraints2; // 0x98 + CUtlVector< VPhysXJoint_t > m_joints; // 0xb0 + PhysFeModelDesc_t* m_pFeModel; // 0xc8 + CUtlVector< uint16 > m_boneParents; // 0xd0 + CUtlVector< uint32 > m_surfacePropertyHashes; // 0xe8 + CUtlVector< VPhysXCollisionAttributes_t > m_collisionAttributes; // 0x100 + CUtlVector< CUtlString > m_debugPartNames; // 0x118 + CUtlString m_embeddedKeyvalues; // 0x130 }; -// Alignment: 1 -// Size: 0x4 -class AnimComponentID : public -{ +// Alignment: 2 +// Size: 0x30 +class CToggleComponentAction : public CAnimActionBase +{ public: - uint32_t m_id; // 0x0 + // MPropertyFriendlyName "Component" + // MPropertyAttributeChoiceName "Component" + AnimComponentID m_componentID; // 0x28 + // MPropertyFriendlyName "Set Enabled" + bool m_bSetEnabled; // 0x2c }; // Alignment: 3 // Size: 0x28 -class CModelConfig : public -{ +class CModelConfig +{ public: - CUtlString m_ConfigName; // 0x0 - CUtlVector< CModelConfigElement* > m_Elements; // 0x8 - bool m_bTopLevel; // 0x20 + CUtlString m_ConfigName; // 0x0 + CUtlVector< CModelConfigElement* > m_Elements; // 0x8 + bool m_bTopLevel; // 0x20 }; -// Alignment: 1 -// Size: 0x38 -class CConditionContainer : public -{ +// Alignment: 3 +// Size: 0x78 +class CMotionItemGroup +{ public: - // MPropertySuppressField - CUtlVector< CSmartPtr< CConditionBase > > m_conditions; // 0x10 + // MPropertyHideField + CUtlVector< CSmartPtr< CMotionItem > > m_motions; // 0x20 + // MPropertyFriendlyName "Name" + CUtlString m_name; // 0x38 + CConditionContainer m_conditions; // 0x40 }; // Alignment: 10 // Size: 0x40 -class FootFixedSettings : public -{ +class FootFixedSettings +{ public: - TraceSettings_t m_traceSettings; // 0x0 - VectorAligned m_vFootBaseBindPosePositionMS; // 0x10 - float m_flFootBaseLength; // 0x20 - float m_flMaxRotationLeft; // 0x24 - float m_flMaxRotationRight; // 0x28 - int32_t m_footstepLandedTagIndex; // 0x2c - bool m_bEnableTracing; // 0x30 - float m_flTraceAngleBlend; // 0x34 - int32_t m_nDisableTagIndex; // 0x38 - int32_t m_nFootIndex; // 0x3c + TraceSettings_t m_traceSettings; // 0x0 + VectorAligned m_vFootBaseBindPosePositionMS; // 0x10 + float m_flFootBaseLength; // 0x20 + float m_flMaxRotationLeft; // 0x24 + float m_flMaxRotationRight; // 0x28 + int32_t m_footstepLandedTagIndex; // 0x2c + bool m_bEnableTracing; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 +public: + float m_flTraceAngleBlend; // 0x34 + int32_t m_nDisableTagIndex; // 0x38 + int32_t m_nFootIndex; // 0x3c }; // Alignment: 3 // Size: 0x30 -class CAnimTagSpan : public -{ +class CAnimTagSpan +{ public: - AnimTagID m_id; // 0x20 - float m_fStartCycle; // 0x24 - float m_fDuration; // 0x28 + AnimTagID m_id; // 0x20 + float m_fStartCycle; // 0x24 + float m_fDuration; // 0x28 }; // Alignment: 0 // Size: 0x30 -class CPathAnimMotor : public CPathAnimMotorBase, CAnimMotorBase -{ +class CPathAnimMotor : public CPathAnimMotorBase +{ public: // no members available }; // Alignment: 1 // Size: 0x28 -class CAnimNodeList : public -{ +class CAnimNodeList +{ public: - CUtlVector< CAnimNodeBase* > m_nodes; // 0x10 + CUtlVector< CAnimNodeBase* > m_nodes; // 0x10 }; // Alignment: 5 // Size: 0xa8 class CSequenceAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 + CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x98 + CUtlString m_sequenceName; // 0x98 // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0xa0 + float m_playbackSpeed; // 0xa0 // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0xa4 + bool m_bLoop; // 0xa4 }; -// Alignment: 2 -// Size: 0x48 -class CModelConfigElement : public -{ +// Alignment: 14 +// Size: 0xe8 +class CModelConfigElement_AttachedModel : public CModelConfigElement +{ public: - CUtlString m_ElementName; // 0x8 - CUtlVector< CModelConfigElement* > m_NestedElements; // 0x10 + CUtlString m_InstanceName; // 0x48 + CUtlString m_EntityClass; // 0x50 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x58 + Vector m_vOffset; // 0x60 + QAngle m_aAngOffset; // 0x6c + CUtlString m_AttachmentName; // 0x78 + CUtlString m_LocalAttachmentOffsetName; // 0x80 + ModelConfigAttachmentType_t m_AttachmentType; // 0x88 + bool m_bBoneMergeFlex; // 0x8c + bool m_bUserSpecifiedColor; // 0x8d + bool m_bUserSpecifiedMaterialGroup; // 0x8e + bool m_bAcceptParentMaterialDrivenDecals; // 0x8f + CUtlString m_BodygroupOnOtherModels; // 0x90 + CUtlString m_MaterialGroupOnOtherModels; // 0x98 }; // Alignment: 38 // Size: 0x108 class CFootLockAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Feet" // MPropertyAutoExpandSelf - CUtlVector< CFootLockItem > m_items; // 0x40 + CUtlVector< CFootLockItem > m_items; // 0x40 // MPropertyFriendlyName "Hip Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_hipBoneName; // 0x58 + CUtlString m_hipBoneName; // 0x58 // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0x60 + float m_flBlendTime; // 0x60 // MPropertyFriendlyName "Apply Foot Rotation Limits" - bool m_bApplyFootRotationLimits; // 0x64 + bool m_bApplyFootRotationLimits; // 0x64 // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x65 + bool m_bResetChild; // 0x65 +private: + [[maybe_unused]] uint8_t __pad0066[0x2]; // 0x66 +public: // MPropertyFriendlyName "IK Solver Type" // MPropertyGroupName "IK" // MPropertyAttrChangeCallback - IKSolverType m_ikSolverType; // 0x68 + IKSolverType m_ikSolverType; // 0x68 // MPropertyFriendlyName "Always use fallback hinge" // MPropertyGroupName "IK" // MPropertyAttrStateCallback - bool m_bAlwaysUseFallbackHinge; // 0x6c + bool m_bAlwaysUseFallbackHinge; // 0x6c // MPropertyFriendlyName "Limit Leg Twist" // MPropertyGroupName "IK" // MPropertyAttrStateCallback - bool m_bApplyLegTwistLimits; // 0x6d + bool m_bApplyLegTwistLimits; // 0x6d +private: + [[maybe_unused]] uint8_t __pad006e[0x2]; // 0x6e +public: // MPropertyFriendlyName "Max Leg Twist Angle" // MPropertyGroupName "IK" // MPropertyAttrStateCallback - float m_flMaxLegTwist; // 0x70 + float m_flMaxLegTwist; // 0x70 // MPropertyFriendlyName "Curve Foot Paths" // MPropertyGroupName "Curve Paths" // MPropertyAttributeRange "0 1" - float m_flStrideCurveScale; // 0x74 + float m_flStrideCurveScale; // 0x74 // MPropertyFriendlyName "Curve Paths Limit" // MPropertyGroupName "Curve Paths" // MPropertyAttributeRange "0 1" - float m_flStrideCurveLimitScale; // 0x78 + float m_flStrideCurveLimitScale; // 0x78 // MPropertyFriendlyName "Enable Vertical Curved Paths" // MPropertyGroupName "Curve Paths" - bool m_bEnableVerticalCurvedPaths; // 0x7c + bool m_bEnableVerticalCurvedPaths; // 0x7c // MPropertyFriendlyName "Modulate Step Height" // MPropertyGroupName "Step Height" // MPropertyAttrChangeCallback - bool m_bModulateStepHeight; // 0x7d + bool m_bModulateStepHeight; // 0x7d +private: + [[maybe_unused]] uint8_t __pad007e[0x2]; // 0x7e +public: // MPropertyFriendlyName "Height Increase Scale" // MPropertyGroupName "Step Height" // MPropertyAttrStateCallback - float m_flStepHeightIncreaseScale; // 0x80 + float m_flStepHeightIncreaseScale; // 0x80 // MPropertyFriendlyName "Height Decrease Scale" // MPropertyGroupName "Step Height" // MPropertyAttrStateCallback - float m_flStepHeightDecreaseScale; // 0x84 + float m_flStepHeightDecreaseScale; // 0x84 // MPropertyFriendlyName "Enable Hip Shift" // MPropertyGroupName "Hip Shift" - bool m_bEnableHipShift; // 0x88 + bool m_bEnableHipShift; // 0x88 +private: + [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 +public: // MPropertyFriendlyName "Hip Shift Scale" // MPropertyGroupName "Hip Shift" // MPropertyAttributeRange "0 1" - float m_flHipShiftScale; // 0x8c + float m_flHipShiftScale; // 0x8c // MPropertyFriendlyName "Damping" // MPropertyGroupName "Hip Shift" - CAnimInputDamping m_hipShiftDamping; // 0x90 + CAnimInputDamping m_hipShiftDamping; // 0x90 // MPropertyFriendlyName "Apply Tilt" // MPropertyGroupName "Tilt" - bool m_bApplyTilt; // 0xa0 + bool m_bApplyTilt; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad00a1[0x3]; // 0xa1 +public: // MPropertyFriendlyName "Tilt Plane Pitch Spring Strength" // MPropertyGroupName "Tilt" - float m_flTiltPlanePitchSpringStrength; // 0xa4 + float m_flTiltPlanePitchSpringStrength; // 0xa4 // MPropertyFriendlyName "Tilt Plane Roll Spring Strength" // MPropertyGroupName "Tilt" - float m_flTiltPlaneRollSpringStrength; // 0xa8 + float m_flTiltPlaneRollSpringStrength; // 0xa8 // MPropertyFriendlyName "Enable Lock Breaking" // MPropertyGroupName "Lock Breaking" - bool m_bEnableLockBreaking; // 0xac + bool m_bEnableLockBreaking; // 0xac +private: + [[maybe_unused]] uint8_t __pad00ad[0x3]; // 0xad +public: // MPropertyFriendlyName "Tolerance" // MPropertyGroupName "Lock Breaking" - float m_flLockBreakTolerance; // 0xb0 + float m_flLockBreakTolerance; // 0xb0 // MPropertyFriendlyName "Blend Time" // MPropertyGroupName "Lock Breaking" - float m_flLockBreakBlendTime; // 0xb4 + float m_flLockBreakBlendTime; // 0xb4 // MPropertyFriendlyName "Enable Stretching" // MPropertyGroupName "Stretch" - bool m_bEnableStretching; // 0xb8 + bool m_bEnableStretching; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 +public: // MPropertyFriendlyName "Max Stretch Amount" // MPropertyGroupName "Stretch" - float m_flMaxStretchAmount; // 0xbc + float m_flMaxStretchAmount; // 0xbc // MPropertyFriendlyName "Extension Scale" // MPropertyGroupName "Stretch" // MPropertyAttributeRange "0 1" - float m_flStretchExtensionScale; // 0xc0 + float m_flStretchExtensionScale; // 0xc0 // MPropertyFriendlyName "Enable Ground Tracing" // MPropertyGroupName "Ground IK" // MPropertyAttrChangeCallback - bool m_bEnableGroundTracing; // 0xc4 + bool m_bEnableGroundTracing; // 0xc4 +private: + [[maybe_unused]] uint8_t __pad00c5[0x3]; // 0xc5 +public: // MPropertyFriendlyName "Angle Traces with Slope" // MPropertyGroupName "Ground IK" // MPropertyAttributeRange "0 1" // MPropertyAttrStateCallback - float m_flTraceAngleBlend; // 0xc8 + float m_flTraceAngleBlend; // 0xc8 // MPropertyFriendlyName "Apply Hip Drop" // MPropertyGroupName "Ground IK" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - bool m_bApplyHipDrop; // 0xcc + bool m_bApplyHipDrop; // 0xcc +private: + [[maybe_unused]] uint8_t __pad00cd[0x3]; // 0xcd +public: // MPropertyFriendlyName "Max Foot Lift" // MPropertyGroupName "Ground IK" // MPropertyAttrStateCallback - float m_flMaxFootHeight; // 0xd0 + float m_flMaxFootHeight; // 0xd0 // MPropertyFriendlyName "Leg Extension Scale" // MPropertyGroupName "Ground IK" // MPropertyAttrStateCallback - float m_flExtensionScale; // 0xd4 + float m_flExtensionScale; // 0xd4 // MPropertyFriendlyName "Hip Damping" // MPropertyGroupName "Ground IK" // MPropertyAttrStateCallback - CAnimInputDamping m_hipDampingSettings; // 0xd8 + CAnimInputDamping m_hipDampingSettings; // 0xd8 // MPropertyFriendlyName "Enable Root Height Damping" // MPropertyGroupName "Root Height Damping" // MPropertyAttrChangeCallback - bool m_bEnableRootHeightDamping; // 0xe8 + bool m_bEnableRootHeightDamping; // 0xe8 +private: + [[maybe_unused]] uint8_t __pad00e9[0x7]; // 0xe9 +public: // MPropertyFriendlyName "Damping Settings" // MPropertyGroupName "Root Height Damping" // MPropertyAttrStateCallback - CAnimInputDamping m_rootHeightDamping; // 0xf0 + CAnimInputDamping m_rootHeightDamping; // 0xf0 // MPropertyFriendlyName "Max Offset" // MPropertyGroupName "Root Height Damping" // MPropertyAttrStateCallback - float m_flMaxRootHeightOffset; // 0x100 + float m_flMaxRootHeightOffset; // 0x100 // MPropertyFriendlyName "Min Offset" // MPropertyGroupName "Root Height Damping" // MPropertyAttrStateCallback - float m_flMinRootHeightOffset; // 0x104 + float m_flMinRootHeightOffset; // 0x104 }; // Alignment: 2 // Size: 0x38 class CTimeCondition : public CConditionBase -{ +{ public: - Comparison_t m_comparisonOp; // 0x28 - CUtlString m_comparisonString; // 0x30 + Comparison_t m_comparisonOp; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CUtlString m_comparisonString; // 0x30 }; // Alignment: 4 // Size: 0x60 class CTimeRemainingMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - bool m_bMatchByTimeRemaining; // 0x50 - float m_flMaxTimeRemaining; // 0x54 - bool m_bFilterByTimeRemaining; // 0x58 - float m_flMinTimeRemaining; // 0x5c + bool m_bMatchByTimeRemaining; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + float m_flMaxTimeRemaining; // 0x54 + bool m_bFilterByTimeRemaining; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0059[0x3]; // 0x59 +public: + float m_flMinTimeRemaining; // 0x5c }; // Alignment: 4 // Size: 0x78 class CSingleFrameAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x50 + CUtlString m_sequenceName; // 0x50 // MPropertyFriendlyName "Frame Selection" // MPropertyAttrChangeCallback - SingleFrameSelection m_eFrameSelection; // 0x58 + SingleFrameSelection m_eFrameSelection; // 0x58 // MPropertyFriendlyName "Frame Index" // MPropertyAttrStateCallback - int32_t m_nFrameIndex; // 0x5c - CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x60 + int32_t m_nFrameIndex; // 0x5c + CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x60 }; // Alignment: 5 // Size: 0x1c -class CStateNodeTransitionData : public -{ +class CStateNodeTransitionData +{ public: - CBlendCurve m_curve; // 0x0 - CAnimValue< float32 > m_blendDuration; // 0x8 - CAnimValue< float32 > m_resetCycleValue; // 0x10 - uint8_t m_bReset:1; // 0x0 - uint8_t m_resetCycleOption:3; // 0x0 + CBlendCurve m_curve; // 0x0 + CAnimValue< float32 > m_blendDuration; // 0x8 + CAnimValue< float32 > m_resetCycleValue; // 0x10 + struct + { + uint8_t m_bReset: 1; + uint8_t m_resetCycleOption: 3; + uint8_t __pad2: 4; // @note: autoaligned + }; // 8 bits }; // Alignment: 13 // Size: 0x88 class CTwoBoneIKAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "IK Chain" // MPropertyAttributeChoiceName "IKChain" - CUtlString m_ikChainName; // 0x40 + CUtlString m_ikChainName; // 0x40 // MPropertyFriendlyName "Auto-Detect Hinge Axis" - bool m_bAutoDetectHingeAxis; // 0x48 + bool m_bAutoDetectHingeAxis; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 +public: // MPropertyGroupName "End Effector" // MPropertyFriendlyName "End Effector Type" // MPropertyAttrChangeCallback - IkEndEffectorType m_endEffectorType; // 0x4c + IkEndEffectorType m_endEffectorType; // 0x4c // MPropertyGroupName "End Effector" // MPropertyFriendlyName "Attachment" // MPropertyAttributeChoiceName "Attachment" // MPropertyAttrStateCallback - CUtlString m_endEffectorAttachmentName; // 0x50 + CUtlString m_endEffectorAttachmentName; // 0x50 // MPropertyGroupName "Target" // MPropertyFriendlyName "Target Type" // MPropertyAttrChangeCallback - IkTargetType m_targetType; // 0x58 + IkTargetType m_targetType; // 0x58 +private: + [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c +public: // MPropertyGroupName "Target" // MPropertyFriendlyName "Attachment" // MPropertyAttributeChoiceName "Attachment" // MPropertyAttrStateCallback - CUtlString m_attachmentName; // 0x60 + CUtlString m_attachmentName; // 0x60 // MPropertyGroupName "Target" // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" // MPropertyAttrStateCallback - CUtlString m_targetBoneName; // 0x68 + CUtlString m_targetBoneName; // 0x68 // MPropertyGroupName "Target" // MPropertyFriendlyName "Position Parameter" // MPropertyAttributeChoiceName "VectorParameter" // MPropertyAttrStateCallback - AnimParamID m_targetParam; // 0x70 + AnimParamID m_targetParam; // 0x70 // MPropertyGroupName "Target" // MPropertyFriendlyName "Match Target Orientation" // MPropertyAttrChangeCallback - bool m_bMatchTargetOrientation; // 0x74 + bool m_bMatchTargetOrientation; // 0x74 +private: + [[maybe_unused]] uint8_t __pad0075[0x3]; // 0x75 +public: // MPropertyGroupName "Target" // MPropertyFriendlyName "Rotation Parameter" // MPropertyAttributeChoiceName "QuaternionParameter" // MPropertyAttrStateCallback - AnimParamID m_rotationParam; // 0x78 + AnimParamID m_rotationParam; // 0x78 // MPropertyGroupName "Target" // MPropertyFriendlyName "Constrain Twist" // MPropertyAttrStateCallback - bool m_bConstrainTwist; // 0x7c + bool m_bConstrainTwist; // 0x7c +private: + [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d +public: // MPropertyGroupName "Target" // MPropertyFriendlyName "Max Twist" // MPropertyAttrStateCallback - float m_flMaxTwist; // 0x80 + float m_flMaxTwist; // 0x80 }; // Alignment: 9 // Size: 0x68 class CChoiceAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Options" // MPropertyAutoExpandSelf - CUtlVector< CChoiceNodeChild > m_children; // 0x38 + CUtlVector< CChoiceNodeChild > m_children; // 0x38 // MPropertyHideField - int32_t m_seed; // 0x50 + int32_t m_seed; // 0x50 // MPropertyFriendlyName "Method" - ChoiceMethod m_choiceMethod; // 0x54 + ChoiceMethod m_choiceMethod; // 0x54 // MPropertyFriendlyName "Change Selection" - ChoiceChangeMethod m_choiceChangeMethod; // 0x58 + ChoiceChangeMethod m_choiceChangeMethod; // 0x58 // MPropertyGroupName "Blending" // MPropertyFriendlyName "Blend Method" // MPropertyAttrChangeCallback - ChoiceBlendMethod m_blendMethod; // 0x5c + ChoiceBlendMethod m_blendMethod; // 0x5c // MPropertyGroupName "Blending" // MPropertyFriendlyName "Blend Duration" // MPropertyAttrStateCallback - float m_blendTime; // 0x60 + float m_blendTime; // 0x60 // MPropertyGroupName "Blending" // MPropertyFriendlyName "Cross Fade" - bool m_bCrossFade; // 0x64 + bool m_bCrossFade; // 0x64 // MPropertyFriendlyName "Reset On Selection" // MPropertyAttrChangeCallback - bool m_bResetChosen; // 0x65 + bool m_bResetChosen; // 0x65 // MPropertyFriendlyName "Don't Reset Same Selection" // MPropertyAttrStateCallback - bool m_bDontResetSameSelection; // 0x66 + bool m_bDontResetSameSelection; // 0x66 }; // Alignment: 24 // Size: 0xb0 -struct VPhysXJoint_t : public -{ +struct VPhysXJoint_t +{ public: - uint16_t m_nType; // 0x0 - uint16_t m_nBody1; // 0x2 - uint16_t m_nBody2; // 0x4 - uint16_t m_nFlags; // 0x6 - CTransform m_Frame1; // 0x10 - CTransform m_Frame2; // 0x30 - bool m_bEnableCollision; // 0x50 - bool m_bEnableLinearLimit; // 0x51 - VPhysXRange_t m_LinearLimit; // 0x54 - bool m_bEnableLinearMotor; // 0x5c - Vector m_vLinearTargetVelocity; // 0x60 - float m_flMaxForce; // 0x6c - bool m_bEnableSwingLimit; // 0x70 - VPhysXRange_t m_SwingLimit; // 0x74 - bool m_bEnableTwistLimit; // 0x7c - VPhysXRange_t m_TwistLimit; // 0x80 - bool m_bEnableAngularMotor; // 0x88 - Vector m_vAngularTargetVelocity; // 0x8c - float m_flMaxTorque; // 0x98 - float m_flLinearFrequency; // 0x9c - float m_flLinearDampingRatio; // 0xa0 - float m_flAngularFrequency; // 0xa4 - float m_flAngularDampingRatio; // 0xa8 - float m_flFriction; // 0xac + uint16_t m_nType; // 0x0 + uint16_t m_nBody1; // 0x2 + uint16_t m_nBody2; // 0x4 + uint16_t m_nFlags; // 0x6 +private: + [[maybe_unused]] uint8_t __pad0008[0x8]; // 0x8 +public: + CTransform m_Frame1; // 0x10 + CTransform m_Frame2; // 0x30 + bool m_bEnableCollision; // 0x50 + bool m_bEnableLinearLimit; // 0x51 +private: + [[maybe_unused]] uint8_t __pad0052[0x2]; // 0x52 +public: + VPhysXRange_t m_LinearLimit; // 0x54 + bool m_bEnableLinearMotor; // 0x5c +private: + [[maybe_unused]] uint8_t __pad005d[0x3]; // 0x5d +public: + Vector m_vLinearTargetVelocity; // 0x60 + float m_flMaxForce; // 0x6c + bool m_bEnableSwingLimit; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 +public: + VPhysXRange_t m_SwingLimit; // 0x74 + bool m_bEnableTwistLimit; // 0x7c +private: + [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d +public: + VPhysXRange_t m_TwistLimit; // 0x80 + bool m_bEnableAngularMotor; // 0x88 +private: + [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 +public: + Vector m_vAngularTargetVelocity; // 0x8c + float m_flMaxTorque; // 0x98 + float m_flLinearFrequency; // 0x9c + float m_flLinearDampingRatio; // 0xa0 + float m_flAngularFrequency; // 0xa4 + float m_flAngularDampingRatio; // 0xa8 + float m_flFriction; // 0xac }; -// Alignment: 3 -// Size: 0x10 -class CDrawCullingData : public -{ +// Alignment: 2 +// Size: 0x18 +class CMeshletDescriptor +{ public: - Vector m_vConeApex; // 0x0 - int8[3] m_ConeAxis; // 0xc - int8_t m_ConeCutoff; // 0xf + PackedAABB_t m_PackedAABB; // 0x0 + CDrawCullingData m_CullingData; // 0x8 }; // Alignment: 5 // Size: 0x38 class CFutureVelocityMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 + float m_flDistance; // 0x28 // MPropertyFriendlyName "Stopping Distance" - float m_flStoppingDistance; // 0x2c + float m_flStoppingDistance; // 0x2c // MPropertyFriendlyName "Mode" // MPropertyAttrChangeCallback - VelocityMetricMode m_eMode; // 0x30 + VelocityMetricMode m_eMode; // 0x30 // MPropertyFriendlyName "Auto-Calculate target speed" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - bool m_bAutoTargetSpeed; // 0x31 + bool m_bAutoTargetSpeed; // 0x31 +private: + [[maybe_unused]] uint8_t __pad0032[0x2]; // 0x32 +public: // MPropertyFriendlyName "Target Speed" // MPropertyAttrStateCallback - float m_flManualTargetSpeed; // 0x34 + float m_flManualTargetSpeed; // 0x34 }; // Alignment: 10 // Size: 0x78 class CFootAdjustmentAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Turn to Face" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_facingTarget; // 0x40 + AnimParamID m_facingTarget; // 0x40 // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x44 + bool m_bResetChild; // 0x44 // MPropertyFriendlyName "Animation Driven" // MPropertyAttrChangeCallback - bool m_bAnimationDriven; // 0x45 + bool m_bAnimationDriven; // 0x45 +private: + [[maybe_unused]] uint8_t __pad0046[0x2]; // 0x46 +public: // MPropertyFriendlyName "Base Anim Clips" // MPropertyGroupName "Anim Driven Settings" // MPropertyAttributeChoiceName "Sequence" // MPropertyAttrStateCallback - CUtlString m_baseClipName; // 0x48 + CUtlString m_baseClipName; // 0x48 // MPropertyFriendlyName "Clips" // MPropertyGroupName "Anim Driven Settings" // MPropertyAttributeChoiceName "Sequence" // MPropertyAttrStateCallback - CUtlVector< CUtlString > m_clips; // 0x50 + CUtlVector< CUtlString > m_clips; // 0x50 // MPropertyFriendlyName "Turn Time Min" // MPropertyGroupName "Procedural Settings" // MPropertyAttrStateCallback - float m_flTurnTimeMin; // 0x68 + float m_flTurnTimeMin; // 0x68 // MPropertyFriendlyName "Turn Time Max" // MPropertyGroupName "Procedural Settings" // MPropertyAttrStateCallback - float m_flTurnTimeMax; // 0x6c + float m_flTurnTimeMax; // 0x6c // MPropertyFriendlyName "Step Height Max" // MPropertyGroupName "Procedural Settings" // MPropertyAttrStateCallback - float m_flStepHeightMax; // 0x70 + float m_flStepHeightMax; // 0x70 // MPropertyFriendlyName "Step Height Max Angle" // MPropertyGroupName "Procedural Settings" // MPropertyAttrStateCallback - float m_flStepHeightMaxAngle; // 0x74 + float m_flStepHeightMaxAngle; // 0x74 }; // Alignment: 8 // Size: 0x90 -class CAttachment : public -{ +class CAttachment +{ public: - CUtlString m_name; // 0x0 - CUtlString[3] m_influenceNames; // 0x8 - Quaternion[3] m_vInfluenceRotations; // 0x20 - Vector[3] m_vInfluenceOffsets; // 0x50 - float32[3] m_influenceWeights; // 0x74 - bool[3] m_bInfluenceRootTransform; // 0x80 - uint8_t m_nInfluences; // 0x83 - bool m_bIgnoreRotation; // 0x84 + CUtlString m_name; // 0x0 + CUtlString m_influenceNames[3]; // 0x8 + Quaternion m_vInfluenceRotations[3]; // 0x20 + Vector m_vInfluenceOffsets[3]; // 0x50 + float m_influenceWeights[3]; // 0x74 + bool m_bInfluenceRootTransform[3]; // 0x80 + uint8_t m_nInfluences; // 0x83 + bool m_bIgnoreRotation; // 0x84 }; // Alignment: 8 // Size: 0x40 -class CSeqPoseSetting : public -{ +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 + 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 +private: + [[maybe_unused]] uint8_t __pad0037[0x1]; // 0x37 +public: + int32_t m_eType; // 0x38 }; // Alignment: 4 // Size: 0xc8 -class CFootPinningUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CFootPinningUpdateNode : public CUnaryUpdateNode +{ public: - FootPinningPoseOpFixedData_t m_poseOpFixedData; // 0x70 - FootPinningTimingSource m_eTimingSource; // 0xa0 - CUtlVector< CAnimParamHandle > m_params; // 0xa8 - bool m_bResetChild; // 0xc0 + FootPinningPoseOpFixedData_t m_poseOpFixedData; // 0x70 + FootPinningTimingSource m_eTimingSource; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 +public: + CUtlVector< CAnimParamHandle > m_params; // 0xa8 + bool m_bResetChild; // 0xc0 }; // Alignment: 2 // Size: 0x20 -class CMorphData : public -{ +class CMorphData +{ public: - CUtlString m_name; // 0x0 - CUtlVector< CMorphRectData > m_morphRectDatas; // 0x8 + CUtlString m_name; // 0x0 + CUtlVector< CMorphRectData > m_morphRectDatas; // 0x8 }; // Alignment: 3 // Size: 0x28 -struct ModelBoneFlexDriver_t : public -{ +struct ModelBoneFlexDriver_t +{ public: - CUtlString m_boneName; // 0x0 - uint32_t m_boneNameToken; // 0x8 - CUtlVector< ModelBoneFlexDriverControl_t > m_controls; // 0x10 + CUtlString m_boneName; // 0x0 + uint32_t m_boneNameToken; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< ModelBoneFlexDriverControl_t > m_controls; // 0x10 }; // Alignment: 4 // Size: 0x50 class CPathMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 + float m_flDistance; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: // MPropertyFriendlyName "Samples Times" - CUtlVector< float32 > m_pathSamples; // 0x30 + CUtlVector< float32 > m_pathSamples; // 0x30 // MPropertyFriendlyName "Extrapolate Movement" // MPropertyAttrChangeCallback - bool m_bExtrapolateMovement; // 0x48 + bool m_bExtrapolateMovement; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 +public: // MPropertyFriendlyName "Min Extrapolation Speed" // MPropertyAttrStateCallback - float m_flMinExtrapolationSpeed; // 0x4c -}; - -// Alignment: 1 -// Size: 0x4 -class AnimStateID : public -{ -public: - uint32_t m_id; // 0x0 + float m_flMinExtrapolationSpeed; // 0x4c }; // Alignment: 8 -// Size: 0x8 -class CSeqAutoLayerFlag : public -{ +// Size: 0x48 +class CStateUpdateData +{ 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 + CUtlString m_name; // 0x0 + AnimScriptHandle m_hScript; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< int32 > m_transitionIndices; // 0x10 + CUtlVector< CStateActionUpdater > m_actions; // 0x28 + AnimStateID m_stateID; // 0x40 + struct + { + uint8_t m_bIsStartState: 1; + uint8_t m_bIsEndState: 1; + uint8_t m_bIsPassthrough: 1; + uint8_t __pad3: 3; // @note: autoaligned + }; // 6 bits +}; + +// Alignment: 7 +// Size: 0x1c +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 }; // Alignment: 5 // Size: 0x30 -class CMotionParameter : public -{ +class CMotionParameter +{ public: - CUtlString m_name; // 0x18 - AnimParamID m_id; // 0x20 - float m_flMinValue; // 0x24 - float m_flMaxValue; // 0x28 - int32_t m_nSamples; // 0x2c + CUtlString m_name; // 0x18 + AnimParamID m_id; // 0x20 + float m_flMinValue; // 0x24 + float m_flMaxValue; // 0x28 + int32_t m_nSamples; // 0x2c }; // Alignment: 3 // Size: 0x20 -class CModelConfigList : public -{ +class CModelConfigList +{ public: - bool m_bHideMaterialGroupInTools; // 0x0 - bool m_bHideRenderColorInTools; // 0x1 - CUtlVector< CModelConfig* > m_Configs; // 0x8 + bool m_bHideMaterialGroupInTools; // 0x0 + bool m_bHideRenderColorInTools; // 0x1 +private: + [[maybe_unused]] uint8_t __pad0002[0x6]; // 0x2 +public: + CUtlVector< CModelConfig* > m_Configs; // 0x8 }; // Alignment: 0 // Size: 0x50 class CBlockSelectionMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: // no members available }; // Alignment: 4 // Size: 0x80 -class CSingleFrameUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CSingleFrameUpdateNode : public CLeafUpdateNode +{ public: - CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x58 - CPoseHandle m_hPoseCacheHandle; // 0x70 - HSequence m_hSequence; // 0x74 - float m_flCycle; // 0x78 + CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x58 + CPoseHandle m_hPoseCacheHandle; // 0x70 + HSequence m_hSequence; // 0x74 + float m_flCycle; // 0x78 }; -// Alignment: 1 -// Size: 0x28 -class CAnimGraphNetworkSettings : public CAnimGraphSettingsGroup -{ +// Alignment: 0 +// Size: 0x20 +class CAnimGraphSettingsGroup +{ public: - // MPropertyFriendlyName "Enable Networking" - bool m_bNetworkingEnabled; // 0x20 + // no members available }; // Alignment: 7 // Size: 0x48 class CLookComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CAnimParamHandle m_hLookHeading; // 0x34 - CAnimParamHandle m_hLookHeadingVelocity; // 0x36 - CAnimParamHandle m_hLookPitch; // 0x38 - CAnimParamHandle m_hLookDirection; // 0x3a - CAnimParamHandle m_hLookTarget; // 0x3c - CAnimParamHandle m_hLookTargetWorldSpace; // 0x3e - bool m_bNetworkLookTarget; // 0x40 + CAnimParamHandle m_hLookHeading; // 0x34 + CAnimParamHandle m_hLookHeadingVelocity; // 0x36 + CAnimParamHandle m_hLookPitch; // 0x38 + CAnimParamHandle m_hLookDirection; // 0x3a + CAnimParamHandle m_hLookTarget; // 0x3c + CAnimParamHandle m_hLookTargetWorldSpace; // 0x3e + bool m_bNetworkLookTarget; // 0x40 }; // Alignment: 2 // Size: 0x58 class CDampedValueComponent : public CAnimComponentBase -{ +{ public: // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x38 + CUtlString m_name; // 0x38 // MPropertyFriendlyName "Items" // MPropertyAutoExpandSelf - CUtlVector< CDampedValueItem > m_items; // 0x40 + CUtlVector< CDampedValueItem > m_items; // 0x40 }; // Alignment: 0 // Size: 0x28 class CBlockSelectionMetric : public CMotionMetricBase -{ +{ public: // no members available }; -// Alignment: 1 -// Size: 0x4 -class AnimNodeID : public -{ +// Alignment: 2 +// Size: 0x48 +class CSpeedScaleAnimNode : public CAnimNodeBase +{ public: - uint32_t m_id; // 0x0 + // MPropertyHideField + CAnimNodeConnection m_inputConnection; // 0x38 + // MPropertyFriendlyName "Parameter" + // MPropertyAttributeChoiceName "FloatParameter" + AnimParamID m_param; // 0x40 }; -// Alignment: 4 -// Size: 0x90 -struct FollowAttachmentSettings_t : public -{ +// Alignment: 1 +// Size: 0x110 +class CFollowAttachmentUpdateNode : public CUnaryUpdateNode +{ public: - CAnimAttachment m_attachment; // 0x0 - int32_t m_boneIndex; // 0x80 - bool m_bMatchTranslation; // 0x84 - bool m_bMatchRotation; // 0x85 + FollowAttachmentSettings_t m_opFixedData; // 0x70 }; // Alignment: 2 // Size: 0x4 -class MotionIndex : public -{ +class MotionIndex +{ public: - uint16_t m_nGroup; // 0x0 - uint16_t m_nMotion; // 0x2 + uint16_t m_nGroup; // 0x0 + uint16_t m_nMotion; // 0x2 }; // Alignment: 2 // Size: 0x20 -class WeightList : public -{ +class WeightList +{ public: - CUtlString m_name; // 0x0 - CUtlVector< float32 > m_weights; // 0x8 + CUtlString m_name; // 0x0 + CUtlVector< float32 > m_weights; // 0x8 }; -// Alignment: 2 -// Size: 0x2 -class CAnimParamHandle : public -{ +// Alignment: 13 +// Size: 0xa8 +class CFollowPathUpdateNode : public CUnaryUpdateNode +{ public: - AnimParamType_t m_type; // 0x0 - uint8_t m_index; // 0x1 + float m_flBlendOutTime; // 0x6c + bool m_bBlockNonPathMovement; // 0x70 + bool m_bStopFeetAtGoal; // 0x71 + bool m_bScaleSpeed; // 0x72 +private: + [[maybe_unused]] uint8_t __pad0073[0x1]; // 0x73 +public: + float m_flScale; // 0x74 + float m_flMinAngle; // 0x78 + float m_flMaxAngle; // 0x7c + float m_flSpeedScaleBlending; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0084[0x4]; // 0x84 +public: + CAnimInputDamping m_turnDamping; // 0x88 + AnimValueSource m_facingTarget; // 0x98 + CAnimParamHandle m_hParam; // 0x9c +private: + [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e +public: + float m_flTurnToFaceOffset; // 0xa0 + bool m_bTurnToFace; // 0xa4 }; // Alignment: 0 // Size: 0x68 -class CRootUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CRootUpdateNode : public CUnaryUpdateNode +{ public: // no members available }; -// Alignment: 7 -// Size: 0xa8 -class CAnimEncodeDifference : public -{ +// Alignment: 5 +// Size: 0xd8 +class CAnimEncodedFrames +{ 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 + CBufferString m_fileName; // 0x0 + int32_t m_nFrames; // 0x10 + int32_t m_nFramesPerBlock; // 0x14 + CUtlVector< CAnimFrameBlockAnim > m_frameblockArray; // 0x18 + CAnimEncodeDifference m_usageDifferences; // 0x30 }; // Alignment: 1 // Size: 0x28 -class CAnimStateList : public -{ +class CAnimStateList +{ public: - CUtlVector< CAnimState* > m_states; // 0x10 + CUtlVector< CAnimState* > m_states; // 0x10 }; // Alignment: 2 // Size: 0x8 -struct LookAtBone_t : public -{ +struct LookAtBone_t +{ public: - int32_t m_index; // 0x0 - float m_weight; // 0x4 + int32_t m_index; // 0x0 + float m_weight; // 0x4 }; // Alignment: 4 // Size: 0x98 -class CStanceOverrideUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CStanceOverrideUpdateNode : public CUnaryUpdateNode +{ public: - CUtlVector< StanceInfo_t > m_footStanceInfo; // 0x68 - CAnimUpdateNodeRef m_pStanceSourceNode; // 0x80 - CAnimParamHandle m_hParameter; // 0x90 - StanceOverrideMode m_eMode; // 0x94 + CUtlVector< StanceInfo_t > m_footStanceInfo; // 0x68 + CAnimUpdateNodeRef m_pStanceSourceNode; // 0x80 + CAnimParamHandle m_hParameter; // 0x90 +private: + [[maybe_unused]] uint8_t __pad0092[0x2]; // 0x92 +public: + StanceOverrideMode m_eMode; // 0x94 }; // Alignment: 2 // Size: 0x88 class CVectorAnimParameter : public CAnimParameterBase -{ +{ public: // MPropertyFriendlyName "Default Value" - Vector m_defaultValue; // 0x78 + Vector m_defaultValue; // 0x78 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x84 + bool m_bInterpolate; // 0x84 }; // Alignment: 5 // Size: 0x70 -class CAnimGraphDebugReplay : public -{ +class CAnimGraphDebugReplay +{ public: - CUtlString m_animGraphFileName; // 0x40 - CUtlVector< CSmartPtr< CAnimReplayFrame > > m_frameList; // 0x48 - int32_t m_startIndex; // 0x60 - int32_t m_writeIndex; // 0x64 - int32_t m_frameCount; // 0x68 + CUtlString m_animGraphFileName; // 0x40 + CUtlVector< CSmartPtr< CAnimReplayFrame > > m_frameList; // 0x48 + int32_t m_startIndex; // 0x60 + int32_t m_writeIndex; // 0x64 + int32_t m_frameCount; // 0x68 }; -// Alignment: 0 -// Size: 0x20 -class CAnimGraphSettingsGroup : public -{ +// Alignment: 1 +// Size: 0x28 +class CAnimGraphNetworkSettings : public CAnimGraphSettingsGroup +{ public: - // no members available + // MPropertyFriendlyName "Enable Networking" + bool m_bNetworkingEnabled; // 0x20 }; -// Alignment: 2 -// Size: 0x8 -class CSeqTransition : public -{ +// Alignment: 12 +// Size: 0x90 +class CSeqCmdSeqDesc +{ public: - float m_flFadeInTime; // 0x0 - float m_flFadeOutTime; // 0x4 + CBufferString m_sName; // 0x0 + CSeqSeqDescFlag m_flags; // 0x10 +private: + [[maybe_unused]] uint8_t __pad001b[0x1]; // 0x1b +public: + 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 }; // Alignment: 4 // Size: 0x50 class CParameterCondition : public CConditionBase -{ +{ public: - AnimParamID m_paramID; // 0x28 - Comparison_t m_comparisonOp; // 0x2c - CAnimVariant m_comparisonValue; // 0x30 - CUtlString m_comparisonString; // 0x48 + AnimParamID m_paramID; // 0x28 + Comparison_t m_comparisonOp; // 0x2c + CAnimVariant m_comparisonValue; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0041[0x7]; // 0x41 +public: + CUtlString m_comparisonString; // 0x48 +}; + +// Alignment: 9 +// Size: 0x110 +struct AnimationSnapshotBase_t +{ +public: + float m_flRealTime; // 0x0 + matrix3x4a_t m_rootToWorld; // 0x10 + bool m_bBonesInWorldSpace; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x7]; // 0x41 +public: + 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 +private: + [[maybe_unused]] uint8_t __pad0095[0x3]; // 0x95 +public: + AnimationDecodeDebugDumpElement_t m_DecodeDump; // 0x98 +}; + +// Alignment: 0 +// Size: 0x58 +class CEditableMotionGraph : public CMotionGraph +{ +public: + // no members available +}; + +// Alignment: 4 +// Size: 0x58 +class CMaterialAttributeAnimTag : public CAnimTagBase +{ +public: + // MPropertyFriendlyName "Attribute Name" + CUtlString m_AttributeName; // 0x40 + // MPropertyFriendlyName "Attribute Type" + // MPropertyAttrChangeCallback + MatterialAttributeTagType_t m_AttributeType; // 0x48 + // MPropertyFriendlyName "Value" + // MPropertyAttrStateCallback + float m_flValue; // 0x4c + // MPropertyFriendlyName "Color" + // MPropertyAttrStateCallback + Color m_Color; // 0x50 +}; + +// Alignment: 2 +// Size: 0x58 +class CActionComponent : public CAnimComponentBase +{ +public: + CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CUtlString m_sName; // 0x50 +}; + +// Alignment: 8 +// Size: 0xc8 +class CHitReactUpdateNode : public CUnaryUpdateNode +{ +public: + HitReactFixedSettings_t m_opFixedSettings; // 0x68 +private: + [[maybe_unused]] uint8_t __pad00ac[0x8]; // 0xac +public: + CAnimParamHandle m_triggerParam; // 0xb4 + CAnimParamHandle m_hitBoneParam; // 0xb6 + CAnimParamHandle m_hitOffsetParam; // 0xb8 + CAnimParamHandle m_hitDirectionParam; // 0xba + CAnimParamHandle m_hitStrengthParam; // 0xbc +private: + [[maybe_unused]] uint8_t __pad00be[0x2]; // 0xbe +public: + float m_flMinDelayBetweenHits; // 0xc0 + bool m_bResetChild; // 0xc4 +}; + +// Alignment: 1 +// Size: 0x70 +class CStanceScaleUpdateNode : public CUnaryUpdateNode +{ +public: + CAnimParamHandle m_hParam; // 0x68 +}; + +// Alignment: 8 +// Size: 0x58 +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" + // MPropertyAutoExpandSelf + // MPropertyAttrStateCallback + IKSolverSettings_t m_OverrideSolverSettings; // 0x14 + // MPropertyFriendlyName "Target Setting Source" + // MPropertyAttributeChoiceEnumName + // MPropertyAttrChangeCallback + SolveIKChainAnimNodeSettingSource m_TargetSettingSource; // 0x1c + // MPropertyFriendlyName "Override Target Settings" + // MPropertyAutoExpandSelf + // 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 +}; + +// Alignment: 2 +// Size: 0x10 +struct StanceInfo_t +{ +public: + Vector m_vPosition; // 0x0 + float m_flDirection; // 0xc +}; + +// Alignment: 23 +// Size: 0x2c8 +struct PermModelData_t +{ +public: + CUtlString m_name; // 0x0 + PermModelInfo_t m_modelInfo; // 0x8 + CUtlVector< PermModelExtPart_t > m_ExtParts; // 0x60 + CUtlVector< CStrongHandle< InfoForResourceTypeCRenderMesh > > m_refMeshes; // 0x78 + CUtlVector< uint64 > m_refMeshGroupMasks; // 0x90 + CUtlVector< uint64 > m_refPhysGroupMasks; // 0xa8 + CUtlVector< uint8 > m_refLODGroupMasks; // 0xc0 + CUtlVector< float32 > m_lodGroupSwitchDistances; // 0xd8 + CUtlVector< CStrongHandle< InfoForResourceTypeCPhysAggregateData > > m_refPhysicsData; // 0xf0 + CUtlVector< CStrongHandle< InfoForResourceTypeCPhysAggregateData > > m_refPhysicsHitboxData; // 0x108 + CUtlVector< CStrongHandle< InfoForResourceTypeCAnimationGroup > > m_refAnimGroups; // 0x120 + CUtlVector< CStrongHandle< InfoForResourceTypeCSequenceGroupData > > m_refSequenceGroups; // 0x138 + CUtlVector< CUtlString > m_meshGroups; // 0x150 + CUtlVector< MaterialGroup_t > m_materialGroups; // 0x168 + uint64_t m_nDefaultMeshGroupMask; // 0x180 + ModelSkeletonData_t m_modelSkeleton; // 0x188 + CUtlVector< int16 > m_remappingTable; // 0x230 + CUtlVector< uint16 > m_remappingTableStarts; // 0x248 + CUtlVector< ModelBoneFlexDriver_t > m_boneFlexDrivers; // 0x260 + CModelConfigList* m_pModelConfigList; // 0x278 + CUtlVector< CUtlString > m_BodyGroupsHiddenInTools; // 0x280 + CUtlVector< CStrongHandle< InfoForResourceTypeCModel > > m_refAnimIncludeModels; // 0x298 + CUtlVector< PermModelDataAnimatedMaterialAttribute_t > m_AnimatedMaterialAttributes; // 0x2b0 +}; + +// Alignment: 6 +// Size: 0x40 +class CSeqSynthAnimDesc +{ +public: + CBufferString m_sName; // 0x0 + CSeqSeqDescFlag m_flags; // 0x10 +private: + [[maybe_unused]] uint8_t __pad001b[0x1]; // 0x1b +public: + CSeqTransition m_transition; // 0x1c + int16_t m_nLocalBaseReference; // 0x24 + int16_t m_nLocalBoneMask; // 0x26 + CUtlVector< CAnimActivity > m_activityArray; // 0x28 +}; + +// Alignment: 0 +// Size: 0x60 +class CAndCondition : public CConditionBase +{ +public: + // no members available +}; + +// Alignment: 8 +// Size: 0xd0 +class CJumpHelperUpdateNode : public CSequenceUpdateNode +{ +public: + CAnimParamHandle m_hTargetParam; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00aa[0x2]; // 0xaa +public: + Vector m_flOriginalJumpMovement; // 0xac + float m_flOriginalJumpDuration; // 0xb8 + float m_flJumpStartCycle; // 0xbc + float m_flJumpEndCycle; // 0xc0 + JumpCorrectionMethod m_eCorrectionMethod; // 0xc4 + bool m_bTranslationAxis[3]; // 0xc8 + bool m_bScaleSpeed; // 0xcb +}; + +// Alignment: 8 +// Size: 0xa0 +struct VPhysXCollisionAttributes_t +{ +public: + uint32_t m_CollisionGroup; // 0x0 + CUtlVector< uint32 > m_InteractAs; // 0x8 + CUtlVector< uint32 > m_InteractWith; // 0x20 + CUtlVector< uint32 > m_InteractExclude; // 0x38 + CUtlString m_CollisionGroupString; // 0x50 + CUtlVector< CUtlString > m_InteractAsStrings; // 0x58 + CUtlVector< CUtlString > m_InteractWithStrings; // 0x70 + CUtlVector< CUtlString > m_InteractExcludeStrings; // 0x88 +}; + +// Alignment: 2 +// Size: 0x4 +class ConfigIndex +{ +public: + uint16_t m_nGroup; // 0x0 + uint16_t m_nConfig; // 0x2 +}; + +// Alignment: 8 +// Size: 0xc8 +class CJumpHelperAnimNode : public CSequenceAnimNode +{ +public: + // MPropertyFriendlyName "Target Parameter" + // MPropertyAttributeChoiceName "VectorParameter" + AnimParamID m_targetParamID; // 0xb0 + // MPropertySuppressField + float m_flJumpStartCycle; // 0xb4 + // MPropertySuppressField + float m_flJumpDuration; // 0xb8 + // MPropertyFriendlyName "Translate X" + bool m_bTranslateX; // 0xbc + // MPropertyFriendlyName "Translate Y" + bool m_bTranslateY; // 0xbd + // MPropertyFriendlyName "Translate Z" + bool m_bTranslateZ; // 0xbe + // MPropertyFriendlyName "Apply Speed Scale" + bool m_bScaleSpeed; // 0xbf + // MPropertyFriendlyName "Correction Method" + JumpCorrectionMethod m_eCorrectionMethod; // 0xc0 }; // Alignment: 2 // Size: 0x120 struct AnimationSnapshot_t : public AnimationSnapshotBase_t -{ +{ public: - int32_t m_nEntIndex; // 0x110 - CUtlString m_modelName; // 0x118 -}; - -// Alignment: 7 -// Size: 0x58 -class CMotionGraph : public -{ + int32_t m_nEntIndex; // 0x110 +private: + [[maybe_unused]] uint8_t __pad0114[0x4]; // 0x114 public: - CParamSpanUpdater m_paramSpans; // 0x10 - CUtlVector< TagSpan_t > m_tags; // 0x28 - CSmartPtr< CMotionNode > m_pRootNode; // 0x40 - int32_t m_nParameterCount; // 0x48 - int32_t m_nConfigStartIndex; // 0x4c - int32_t m_nConfigCount; // 0x50 - bool m_bLoop; // 0x54 -}; - -// Alignment: 4 -// Size: 0x38 -class CAnimTagBase : public -{ -public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_name; // 0x20 - // MPropertyHideField - CUtlString m_group; // 0x28 - // MPropertyHideField - AnimTagID m_tagID; // 0x30 - // MPropertyHideField - bool m_bIsReferenced; // 0x34 -}; - -// Alignment: 5 -// Size: 0x38 -class CAnimComponentBase : public -{ -public: - // MPropertyHideField - CUtlString m_group; // 0x18 - // MPropertyHideField - AnimComponentID m_id; // 0x28 - // MPropertyFriendlyName "Start Enabled" - bool m_bStartEnabled; // 0x2c - // MPropertyFriendlyName "Priority" - int32_t m_nPriority; // 0x30 - // MPropertyFriendlyName "Network Mode" - AnimNodeNetworkMode m_networkMode; // 0x34 -}; - -// Alignment: 17 -// Size: 0x44 -struct HitReactFixedSettings_t : public -{ -public: - int32_t m_nWeightListIndex; // 0x0 - int32_t m_nEffectedBoneCount; // 0x4 - float m_flMaxImpactForce; // 0x8 - float m_flMinImpactForce; // 0xc - float m_flWhipImpactScale; // 0x10 - float m_flCounterRotationScale; // 0x14 - float m_flDistanceFadeScale; // 0x18 - float m_flPropagationScale; // 0x1c - float m_flWhipDelay; // 0x20 - float m_flSpringStrength; // 0x24 - float m_flWhipSpringStrength; // 0x28 - float m_flMaxAngleRadians; // 0x2c - int32_t m_nHipBoneIndex; // 0x30 - float m_flHipBoneTranslationScale; // 0x34 - float m_flHipDipSpringStrength; // 0x38 - float m_flHipDipImpactScale; // 0x3c - float m_flHipDipDelay; // 0x40 -}; - -// Alignment: 1 -// Size: 0x70 -class CStanceScaleUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ -public: - CAnimParamHandle m_hParam; // 0x68 -}; - -// Alignment: 1 -// Size: 0x10 -struct IKBoneNameAndIndex_t : public -{ -public: - // MPropertyAttributeChoiceName "Bone" - CUtlString m_Name; // 0x0 -}; - -// Alignment: 2 -// Size: 0x10 -struct StanceInfo_t : public -{ -public: - Vector m_vPosition; // 0x0 - float m_flDirection; // 0xc -}; - -// Alignment: 10 -// Size: 0x58 -struct PermModelInfo_t : public -{ -public: - uint32_t m_nFlags; // 0x0 - Vector m_vHullMin; // 0x4 - Vector m_vHullMax; // 0x10 - Vector m_vViewMin; // 0x1c - Vector m_vViewMax; // 0x28 - float m_flMass; // 0x34 - Vector m_vEyePosition; // 0x38 - float m_flMaxEyeDeflection; // 0x44 - CUtlString m_sSurfaceProperty; // 0x48 - CUtlString m_keyValueText; // 0x50 -}; - -// Alignment: 11 -// Size: 0xb -class CSeqSeqDescFlag : public -{ -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 -}; - -// Alignment: 0 -// Size: 0x28 -class CConditionBase : public -{ -public: - // no members available -}; - -// Alignment: 6 -// Size: 0xa8 -class CSequenceUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ -public: - CParamSpanUpdater m_paramSpans; // 0x60 - CUtlVector< TagSpan_t > m_tags; // 0x78 - HSequence m_hSequence; // 0x94 - float m_playbackSpeed; // 0x98 - float m_duration; // 0x9c - bool m_bLoop; // 0xa0 -}; - -// Alignment: 8 -// Size: 0xa0 -struct VPhysXCollisionAttributes_t : public -{ -public: - uint32_t m_CollisionGroup; // 0x0 - CUtlVector< uint32 > m_InteractAs; // 0x8 - CUtlVector< uint32 > m_InteractWith; // 0x20 - CUtlVector< uint32 > m_InteractExclude; // 0x38 - CUtlString m_CollisionGroupString; // 0x50 - CUtlVector< CUtlString > m_InteractAsStrings; // 0x58 - CUtlVector< CUtlString > m_InteractWithStrings; // 0x70 - CUtlVector< CUtlString > m_InteractExcludeStrings; // 0x88 -}; - -// Alignment: 2 -// Size: 0x4 -class ConfigIndex : public -{ -public: - uint16_t m_nGroup; // 0x0 - uint16_t m_nConfig; // 0x2 -}; - -// Alignment: 8 -// Size: 0xc8 -class CJumpHelperAnimNode : public CSequenceAnimNode, CAnimNodeBase -{ -public: - // MPropertyFriendlyName "Target Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_targetParamID; // 0xb0 - // MPropertySuppressField - float m_flJumpStartCycle; // 0xb4 - // MPropertySuppressField - float m_flJumpDuration; // 0xb8 - // MPropertyFriendlyName "Translate X" - bool m_bTranslateX; // 0xbc - // MPropertyFriendlyName "Translate Y" - bool m_bTranslateY; // 0xbd - // MPropertyFriendlyName "Translate Z" - bool m_bTranslateZ; // 0xbe - // MPropertyFriendlyName "Apply Speed Scale" - bool m_bScaleSpeed; // 0xbf - // MPropertyFriendlyName "Correction Method" - JumpCorrectionMethod m_eCorrectionMethod; // 0xc0 -}; - -// Alignment: 6 -// Size: 0x70 -struct AnimationDecodeDebugDumpElement_t : public -{ -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 + CUtlString m_modelName; // 0x118 }; // Alignment: 1 // Size: 0x110 -class CAnimScriptManager : public -{ +class CAnimScriptManager +{ public: - CUtlVector< ScriptInfo_t > m_scriptInfo; // 0x10 + CUtlVector< ScriptInfo_t > m_scriptInfo; // 0x10 }; // Alignment: 0 // Size: 0x28 class CCurrentVelocityMetric : public CMotionMetricBase -{ +{ public: // no members available }; // Alignment: 4 // Size: 0x20 -class CAnimActivity : public -{ +class CAnimActivity +{ public: - CBufferString m_name; // 0x0 - int32_t m_nActivity; // 0x10 - int32_t m_nFlags; // 0x14 - int32_t m_nWeight; // 0x18 + CBufferString m_name; // 0x0 + int32_t m_nActivity; // 0x10 + int32_t m_nFlags; // 0x14 + int32_t m_nWeight; // 0x18 }; // Alignment: 5 -// Size: 0x80 -class CMotionSearchNode : public -{ +// Size: 0x108 +class CMotionGraphGroup +{ public: - CUtlVector< CMotionSearchNode* > m_children; // 0x0 - CVectorQuantizer m_quantizer; // 0x18 - CUtlVector< CUtlVector< SampleCode > > m_sampleCodes; // 0x38 - CUtlVector< CUtlVector< int32 > > m_sampleIndices; // 0x50 - CUtlVector< int32 > m_selectableSamples; // 0x68 + CMotionSearchDB m_searchDB; // 0x0 + CUtlVector< CSmartPtr< CMotionGraph > > m_motionGraphs; // 0xb8 + CUtlVector< CMotionGraphConfig > m_motionGraphConfigs; // 0xd0 + CUtlVector< int32 > m_sampleToConfig; // 0xe8 + AnimScriptHandle m_hIsActiveScript; // 0x100 }; // Alignment: 5 // Size: 0x20 -class CMotionGraphConfig : public -{ +class CMotionGraphConfig +{ public: - float32[4] m_paramValues; // 0x0 - float m_flDuration; // 0x10 - MotionIndex m_nMotionIndex; // 0x14 - int32_t m_nSampleStart; // 0x18 - int32_t m_nSampleCount; // 0x1c + float m_paramValues[4]; // 0x0 + float m_flDuration; // 0x10 + MotionIndex m_nMotionIndex; // 0x14 + int32_t m_nSampleStart; // 0x18 + int32_t m_nSampleCount; // 0x1c }; // Alignment: 1 // Size: 0x50 class CTaskStatusAnimTag : public CAnimTagBase -{ +{ public: // MPropertyHideField - CUtlString m_identifierString; // 0x40 + CUtlString m_identifierString; // 0x40 }; // Alignment: 4 // Size: 0x40 -class CCachedPose : public -{ +class CCachedPose +{ public: - CUtlVector< CTransform > m_transforms; // 0x8 - CUtlVector< float32 > m_morphWeights; // 0x20 - HSequence m_hSequence; // 0x38 - float m_flCycle; // 0x3c + CUtlVector< CTransform > m_transforms; // 0x8 + CUtlVector< float32 > m_morphWeights; // 0x20 + HSequence m_hSequence; // 0x38 + float m_flCycle; // 0x3c }; // Alignment: 1 // Size: 0x8 -class SampleCode : public -{ +class SampleCode +{ public: - uint8[8] m_subCode; // 0x0 + uint8_t m_subCode[8]; // 0x0 }; -// Alignment: 5 -// Size: 0xd8 -class CAnimEncodedFrames : public -{ +// Alignment: 14 +// Size: 0x1b0 +class CAnimDesc +{ public: - CBufferString m_fileName; // 0x0 - int32_t m_nFrames; // 0x10 - int32_t m_nFramesPerBlock; // 0x14 - CUtlVector< CAnimFrameBlockAnim > m_frameblockArray; // 0x18 - CAnimEncodeDifference m_usageDifferences; // 0x30 + CBufferString m_name; // 0x0 + CAnimDesc_Flag m_flags; // 0x10 + float fps; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + // MKV3TransferName "m_pData" + 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 +private: + [[maybe_unused]] uint8_t __pad0174[0x4]; // 0x174 +public: + CUtlVector< Vector > m_vecBoneWorldMin; // 0x178 + CUtlVector< Vector > m_vecBoneWorldMax; // 0x190 + CAnimSequenceParams m_sequenceParams; // 0x1a8 }; // Alignment: 5 // Size: 0x60 -class CSeqBoneMaskList : public -{ +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 + CBufferString m_sName; // 0x0 + CUtlVector< int16 > m_nLocalBoneArray; // 0x10 + CUtlVector< float32 > m_flBoneWeightArray; // 0x28 + float m_flDefaultMorphCtrlWeight; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + CUtlVector< CUtlPair< CBufferString, float32 > > m_morphCtrlWeightArray; // 0x48 }; // Alignment: 1 -// Size: 0x4 -class AnimNodeOutputID : public -{ +// Size: 0x40 +class CChoreoAnimNode : public CAnimNodeBase +{ public: - uint32_t m_id; // 0x0 + // MPropertyHideField + CAnimNodeConnection m_inputConnection; // 0x38 }; -// Alignment: 2 -// Size: 0x30 -class CAnimNodePath : public -{ +// Alignment: 8 +// Size: 0xa8 +class CDirectionalBlendUpdateNode : public CLeafUpdateNode +{ public: - AnimNodeID[11] m_path; // 0x0 - int32_t m_nCount; // 0x2c + HSequence m_hSequences[8]; // 0x5c +private: + [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c +public: + CAnimInputDamping m_damping; // 0x80 + AnimValueSource m_blendValueSource; // 0x90 + CAnimParamHandle m_paramIndex; // 0x94 +private: + [[maybe_unused]] uint8_t __pad0096[0x2]; // 0x96 +public: + float m_playbackSpeed; // 0x98 + float m_duration; // 0x9c + bool m_bLoop; // 0xa0 + bool m_bLockBlendOnReset; // 0xa1 }; // Alignment: 2 // Size: 0x18 -class CStateAction : public -{ +class CStateAction +{ public: - CSmartPtr< CAnimActionBase > m_pAction; // 0x8 - StateActionBehavior m_eBehavior; // 0x10 + CSmartPtr< CAnimActionBase > m_pAction; // 0x8 + StateActionBehavior m_eBehavior; // 0x10 }; // Alignment: 7 // Size: 0x80 class CLeanMatrixAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x40 + CUtlString m_sequenceName; // 0x40 // MPropertyFriendlyName "Max Value" - float m_flMaxValue; // 0x48 + float m_flMaxValue; // 0x48 // MPropertyFriendlyName "Blend Source" - AnimVectorSource m_blendSource; // 0x4c + AnimVectorSource m_blendSource; // 0x4c // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_param; // 0x50 + AnimParamID m_param; // 0x50 // MPropertyFriendlyName "Vertical Axis" - Vector m_verticalAxisDirection; // 0x54 + Vector m_verticalAxisDirection; // 0x54 // MPropertyFriendlyName "Horizontal Axis" - Vector m_horizontalAxisDirection; // 0x60 + Vector m_horizontalAxisDirection; // 0x60 +private: + [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c +public: // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x70 + CAnimInputDamping m_damping; // 0x70 }; // Alignment: 7 // Size: 0x28 -class CFootLockItem : public -{ +class CFootLockItem +{ public: // MPropertyFriendlyName "Foot" // MPropertyAttributeChoiceName "Foot" - CUtlString m_footName; // 0x0 + CUtlString m_footName; // 0x0 // MPropertyFriendlyName "Target Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_targetBoneName; // 0x8 + CUtlString m_targetBoneName; // 0x8 // MPropertyFriendlyName "IK Chain" // MPropertyAttributeChoiceName "IKChain" - CUtlString m_ikChainName; // 0x10 + CUtlString m_ikChainName; // 0x10 // MPropertyFriendlyName "Disable Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_disableTagID; // 0x18 + AnimTagID m_disableTagID; // 0x18 // MPropertyFriendlyName "Max Left Rotation" // MPropertyAttributeRange "0 180" - float m_flMaxRotationLeft; // 0x1c + float m_flMaxRotationLeft; // 0x1c // MPropertyFriendlyName "Max Right Rotation" // MPropertyAttributeRange "0 180" - float m_flMaxRotationRight; // 0x20 + float m_flMaxRotationRight; // 0x20 // MPropertyFriendlyName "Footstep Landed Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_footstepLandedTag; // 0x24 + AnimTagID m_footstepLandedTag; // 0x24 }; // Alignment: 3 // Size: 0x88 class CIntAnimParameter : public CAnimParameterBase -{ +{ public: // MPropertyFriendlyName "Default Value" - int32_t m_defaultValue; // 0x78 + int32_t m_defaultValue; // 0x78 // MPropertyFriendlyName "Min Value" - int32_t m_minValue; // 0x7c + int32_t m_minValue; // 0x7c // MPropertyFriendlyName "Max Value" - int32_t m_maxValue; // 0x80 + int32_t m_maxValue; // 0x80 }; // Alignment: 0 // Size: 0x60 -class CInputStreamUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CInputStreamUpdateNode : public CLeafUpdateNode +{ public: // no members available }; -// Alignment: 4 -// Size: 0x38 -class CAnimNodeBase : public -{ +// Alignment: 13 +// Size: 0xc8 +class CBlend2DAnimNode : public CAnimNodeBase +{ public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_sName; // 0x20 // MPropertyHideField - Vector2D m_vecPosition; // 0x28 + CUtlVector< CSmartPtr< CBlend2DItemBase > > m_items; // 0x50 // MPropertyHideField - AnimNodeID m_nNodeID; // 0x30 - // MPropertyFriendlyName "Network Mode" - AnimNodeNetworkMode m_networkMode; // 0x34 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 + // MPropertyHideField + CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 + // MPropertyFriendlyName "Horizontal Axis" + // MPropertyAttrChangeCallback + // MPropertyAttrStateCallback + AnimValueSource m_blendSourceX; // 0x98 + // MPropertyFriendlyName "Horizontal Parameter" + // MPropertyAttributeChoiceName "FloatParameter" + AnimParamID m_paramX; // 0x9c + // MPropertyFriendlyName "Vertical Axis" + // MPropertyAttrChangeCallback + // MPropertyAttrStateCallback + AnimValueSource m_blendSourceY; // 0xa0 + // MPropertyFriendlyName "Vertical Parameter" + // MPropertyAttributeChoiceName "FloatParameter" + AnimParamID m_paramY; // 0xa4 + // MPropertyFriendlyName "Loop" + bool m_bLoop; // 0xa8 + // MPropertyFriendlyName "Lock Blend on Reset" + bool m_bLockBlendOnReset; // 0xa9 + // MPropertyFriendlyName "Lock Blend When Waning" + bool m_bLockWhenWaning; // 0xaa +private: + [[maybe_unused]] uint8_t __pad00ab[0x1]; // 0xab +public: + // MPropertyFriendlyName "Playback Speed" + float m_playbackSpeed; // 0xac + // MPropertyFriendlyName "Damping" + CAnimInputDamping m_damping; // 0xb0 + // MPropertyFriendlyName "AnimEvents and Tags Exclusive To Most Weighted" + bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xc0 }; -// Alignment: 0 -// Size: 0x4 -class CFootCycle : public CCycleBase -{ +// Alignment: 2 +// Size: 0x58 +class CFootStride +{ public: - // no members available + CFootCycleDefinition m_definition; // 0x0 + CFootTrajectories m_trajectories; // 0x40 }; // Alignment: 7 // Size: 0x58 class CTurnHelperAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Turn to Face" - AnimValueSource m_facingTarget; // 0x40 + AnimValueSource m_facingTarget; // 0x40 // MPropertyFriendlyName "Turn Start Time" - float m_turnStartTime; // 0x44 + float m_turnStartTime; // 0x44 // MPropertyFriendlyName "Turn Duration" - float m_turnDuration; // 0x48 + float m_turnDuration; // 0x48 // MPropertyFriendlyName "Match Child Duration" - bool m_bMatchChildDuration; // 0x4c + bool m_bMatchChildDuration; // 0x4c // MPropertyFriendlyName "Use Manual Turn Offset" - bool m_bUseManualTurnOffset; // 0x4d + bool m_bUseManualTurnOffset; // 0x4d +private: + [[maybe_unused]] uint8_t __pad004e[0x2]; // 0x4e +public: // MPropertyFriendlyName "Manual Turn Offset" - float m_manualTurnOffset; // 0x50 + float m_manualTurnOffset; // 0x50 }; // Alignment: 2 // Size: 0x58 class CAnimScriptComponent : public CAnimComponentBase -{ +{ public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_sName; // 0x40 + CUtlString m_sName; // 0x40 // MPropertyFriendlyName "Script File" // MPropertyAttributeEditor "AssetBrowse( as )" // MPropertyAttrChangeCallback - CUtlString m_scriptFilename; // 0x48 + CUtlString m_scriptFilename; // 0x48 }; // Alignment: 3 // Size: 0x48 class CCycleControlAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_valueSource; // 0x40 + AnimValueSource m_valueSource; // 0x40 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x44 + AnimParamID m_param; // 0x44 }; // Alignment: 6 // Size: 0x78 -class CSceneObjectData : public -{ +class CSceneObjectData +{ public: - Vector m_vMinBounds; // 0x0 - Vector m_vMaxBounds; // 0xc - CUtlVector< CMaterialDrawDescriptor > m_drawCalls; // 0x18 - CUtlVector< AABB_t > m_drawBounds; // 0x30 - CUtlVector< CMeshletDescriptor > m_meshlets; // 0x48 - Vector4D m_vTintColor; // 0x60 + Vector m_vMinBounds; // 0x0 + Vector m_vMaxBounds; // 0xc + CUtlVector< CMaterialDrawDescriptor > m_drawCalls; // 0x18 + CUtlVector< AABB_t > m_drawBounds; // 0x30 + CUtlVector< CMeshletDescriptor > m_meshlets; // 0x48 + Vector4D m_vTintColor; // 0x60 }; // Alignment: 1 // Size: 0x48 class CSequenceFinishedAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x40 + CUtlString m_sequenceName; // 0x40 }; -// Alignment: 12 -// Size: 0x78 -class CAnimParameterBase : public -{ +// Alignment: 1 +// Size: 0x80 +class CBoolAnimParameter : public CAnimParameterBase +{ public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CAnimGraphSymbolWithStorage m_name; // 0x18 - // MPropertyHideField - CUtlString m_group; // 0x38 - // MPropertyHideField - AnimParamID m_id; // 0x40 - // MPropertyHideField - // MPropertyAttrChangeCallback - CUtlString m_componentName; // 0x58 - // MPropertyFriendlyName "Preview Button" - AnimParamButton_t m_previewButton; // 0x64 - // MPropertyFriendlyName "Force Latest Value" - bool m_bUseMostRecentValue; // 0x68 - // MPropertyFriendlyName "Auto Reset" - bool m_bAutoReset; // 0x69 - // MPropertyFriendlyName "Network" - AnimParamNetworkSetting m_eNetworkSetting; // 0x6c - // MPropertyFriendlyName "Game Writable" - // MPropertyGroupName "+Permissions" - // MPropertyAttrStateCallback - bool m_bGameWritable; // 0x70 - // MPropertyFriendlyName "Graph Writable" - // MPropertyGroupName "+Permissions" - // MPropertyAttrStateCallback - bool m_bGraphWritable; // 0x71 - // MPropertyHideField - bool m_bIsReferenced; // 0x72 - // MPropertyHideField - bool m_bNetworkingRequested; // 0x73 + // MPropertyFriendlyName "Default Value" + bool m_bDefaultValue; // 0x78 }; // Alignment: 3 // Size: 0x48 class CSetFacingAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Facing Mode" - FacingMode m_facingMode; // 0x40 + FacingMode m_facingMode; // 0x40 // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x44 + bool m_bResetChild; // 0x44 }; // Alignment: 1 // Size: 0x70 -class CSlowDownOnSlopesUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CSlowDownOnSlopesUpdateNode : public CUnaryUpdateNode +{ public: - float m_flSlowDownStrength; // 0x68 + float m_flSlowDownStrength; // 0x68 }; // Alignment: 0 // Size: 0x60 -class CZeroPoseUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CZeroPoseUpdateNode : public CLeafUpdateNode +{ public: // no members available }; // Alignment: 3 // Size: 0x20 -class CAnimFrameBlockAnim : public -{ +class CAnimFrameBlockAnim +{ public: - int32_t m_nStartFrame; // 0x0 - int32_t m_nEndFrame; // 0x4 - CUtlVector< int32 > m_segmentIndexArray; // 0x8 + int32_t m_nStartFrame; // 0x0 + int32_t m_nEndFrame; // 0x4 + CUtlVector< int32 > m_segmentIndexArray; // 0x8 }; // Alignment: 3 // Size: 0xc -struct FeFitInfluence_t : public -{ +struct FeFitInfluence_t +{ public: - uint32_t nVertexNode; // 0x0 - float flWeight; // 0x4 - uint32_t nMatrixNode; // 0x8 + uint32_t nVertexNode; // 0x0 + float flWeight; // 0x4 + uint32_t nMatrixNode; // 0x8 }; // Alignment: 1 // Size: 0x10 -struct VertexPositionColor_t : public -{ +struct VertexPositionColor_t +{ public: - Vector m_vPosition; // 0x0 + Vector m_vPosition; // 0x0 }; -// Alignment: 5 -// Size: 0x80 -struct FeSimdTri_t : public -{ +// Alignment: 2 +// Size: 0x20 +class FourVectors2D +{ public: - uint32[4][3] nNode; // 0x0 - fltx4 w1; // 0x30 - fltx4 w2; // 0x40 - fltx4 v1x; // 0x50 - FourVectors2D v2; // 0x60 + fltx4 x; // 0x0 + fltx4 y; // 0x10 }; // Alignment: 4 // Size: 0x4 -struct RnHalfEdge_t : public -{ +struct RnHalfEdge_t +{ public: - uint8_t m_nNext; // 0x0 - uint8_t m_nTwin; // 0x1 - uint8_t m_nOrigin; // 0x2 - uint8_t m_nFace; // 0x3 + uint8_t m_nNext; // 0x0 + uint8_t m_nTwin; // 0x1 + uint8_t m_nOrigin; // 0x2 + uint8_t m_nFace; // 0x3 }; // Alignment: 3 // Size: 0x8 -struct FeFitWeight_t : public -{ +struct FeFitWeight_t +{ public: - float flWeight; // 0x0 - uint16_t nNode; // 0x4 - uint16_t nDummy; // 0x6 + float flWeight; // 0x0 + uint16_t nNode; // 0x4 + uint16_t nDummy; // 0x6 }; // Alignment: 5 // Size: 0x14 -struct FeRodConstraint_t : public -{ +struct FeRodConstraint_t +{ public: - uint16[2] nNode; // 0x0 - float flMaxDist; // 0x4 - float flMinDist; // 0x8 - float flWeight0; // 0xc - float flRelaxationFactor; // 0x10 + uint16_t nNode[2]; // 0x0 + float flMaxDist; // 0x4 + float flMinDist; // 0x8 + float flWeight0; // 0xc + float flRelaxationFactor; // 0x10 }; // Alignment: 1 // Size: 0x4 -struct FeTreeChildren_t : public -{ +struct FeTreeChildren_t +{ public: - uint16[2] nChild; // 0x0 + uint16_t nChild[2]; // 0x0 }; // Alignment: 3 // Size: 0x10 -struct RnShapeDesc_t : public -{ +struct RnShapeDesc_t +{ public: - uint32_t m_nCollisionAttributeIndex; // 0x0 - uint32_t m_nSurfacePropertyIndex; // 0x4 - CUtlString m_UserFriendlyName; // 0x8 + uint32_t m_nCollisionAttributeIndex; // 0x0 + uint32_t m_nSurfacePropertyIndex; // 0x4 + CUtlString m_UserFriendlyName; // 0x8 }; // Alignment: 2 // Size: 0x8 -struct FeSoftParent_t : public -{ +struct FeSoftParent_t +{ public: - int32_t nParent; // 0x0 - float flAlpha; // 0x4 + int32_t nParent; // 0x0 + float flAlpha; // 0x4 +}; + +// Alignment: 6 +// Size: 0x30 +struct FeTaperedCapsuleRigid_t +{ +public: + fltx4 vSphere[2]; // 0x0 + float flStickiness; // 0x20 + uint16_t nNode; // 0x24 + uint16_t nCollisionMask; // 0x26 + uint16_t nVertexMapIndex; // 0x28 + uint16_t nFlags; // 0x2a +}; + +// Alignment: 6 +// Size: 0x20 +struct FeSphereRigid_t +{ +public: + fltx4 vSphere; // 0x0 + float flStickiness; // 0x10 + uint16_t nNode; // 0x14 + uint16_t nCollisionMask; // 0x16 + uint16_t nVertexMapIndex; // 0x18 + uint16_t nFlags; // 0x1a +}; + +// Alignment: 5 +// Size: 0x18 +struct constraint_breakableparams_t +{ +public: + float strength; // 0x0 + float forceLimit; // 0x4 + float torqueLimit; // 0x8 + float bodyMassScale[2]; // 0xc + bool isActive; // 0x14 +}; + +// Alignment: 4 +// Size: 0x60 +class FourCovMatrices3 +{ +public: + FourVectors m_vDiag; // 0x0 + fltx4 m_flXY; // 0x30 + fltx4 m_flXZ; // 0x40 + fltx4 m_flYZ; // 0x50 +}; + +// Alignment: 5 +// Size: 0x28 +struct FeAxialEdgeBend_t +{ +public: + float te; // 0x0 + float tv; // 0x4 + float flDist; // 0x8 + float flWeight[4]; // 0xc + uint16_t nNode[6]; // 0x1c +}; + +// Alignment: 4 +// Size: 0x8 +struct FeNodeWindBase_t +{ +public: + uint16_t nNodeX0; // 0x0 + uint16_t nNodeX1; // 0x2 + uint16_t nNodeY0; // 0x4 + uint16_t nNodeY1; // 0x6 +}; + +// Alignment: 4 +// Size: 0xc +struct FeTwistConstraint_t +{ +public: + uint16_t nNodeOrient; // 0x0 + uint16_t nNodeEnd; // 0x2 + float flTwistRelax; // 0x4 + float flSwingRelax; // 0x8 +}; + +// Alignment: 1 +// Size: 0x4 +struct FeSourceEdge_t +{ +public: + uint16_t nNode[2]; // 0x0 +}; + +// Alignment: 2 +// Size: 0x4 +struct FeCtrlOsOffset_t +{ +public: + uint16_t nCtrlParent; // 0x0 + uint16_t nCtrlChild; // 0x2 +}; + +// Alignment: 1 +// Size: 0x1 +struct RnFace_t +{ +public: + uint8_t m_nEdge; // 0x0 +}; + +// Alignment: 1 +// Size: 0x68 +struct Dop26_t +{ +public: + float m_flSupport[26]; // 0x0 +}; + +// Alignment: 4 +// Size: 0x18 +class CovMatrix3 +{ +public: + Vector m_vDiag; // 0x0 + float m_flXY; // 0xc + float m_flXZ; // 0x10 + float m_flYZ; // 0x14 +}; + +// Alignment: 12 +// Size: 0xd8 +struct RnHull_t +{ +public: + Vector m_vCentroid; // 0x0 + float m_flMaxAngularRadius; // 0xc + AABB_t m_Bounds; // 0x10 + Vector m_vOrthographicAreas; // 0x28 + matrix3x4_t m_MassProperties; // 0x34 + float m_flVolume; // 0x64 + CUtlVector< Vector > m_Vertices; // 0x68 + CUtlVector< RnHalfEdge_t > m_Edges; // 0x80 + CUtlVector< RnFace_t > m_Faces; // 0x98 + CUtlVector< RnPlane_t > m_Planes; // 0xb0 + uint32_t m_nFlags; // 0xc8 +private: + [[maybe_unused]] uint8_t __pad00cc[0x4]; // 0xcc +public: + CRegionSVM* m_pRegionSVM; // 0xd0 +}; + +// Alignment: 5 +// Size: 0x18 +struct FeCollisionSphere_t +{ +public: + uint16_t nCtrlParent; // 0x0 + uint16_t nChildNode; // 0x2 + float m_flRFactor; // 0x4 + Vector m_vOrigin; // 0x8 + float flStickiness; // 0x14 +}; + +// Alignment: 5 +// Size: 0x1c +struct FeTri_t +{ +public: + uint16_t nNode[3]; // 0x0 + float w1; // 0x8 + float w2; // 0xc + float v1x; // 0x10 + Vector2D v2; // 0x14 +}; + +// Alignment: 1 +// Size: 0x18 +class CFeVertexMapBuildArray +{ +public: + CUtlVector< FeVertexMapBuild_t* > m_Array; // 0x0 +}; + +// Alignment: 6 +// Size: 0x30 +struct FeVertexMapBuild_t +{ +public: + CUtlString m_VertexMapName; // 0x0 + uint32_t m_nNameHash; // 0x8 + Color m_Color; // 0xc + float m_flVolumetricSolveStrength; // 0x10 + int32_t m_nScaleSourceNode; // 0x14 + CUtlVector< float32 > m_Weights; // 0x18 +}; + +// Alignment: 7 +// Size: 0x20 +struct FeNodeBase_t +{ +public: + uint16_t nNode; // 0x0 + uint16_t nDummy[3]; // 0x2 + uint16_t nNodeX0; // 0x8 + uint16_t nNodeX1; // 0xa + uint16_t nNodeY0; // 0xc + uint16_t nNodeY1; // 0xe + QuaternionStorage qAdjust; // 0x10 +}; + +// Alignment: 0 +// Size: 0x8 +class IPhysicsPlayerController +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x10 +struct FeCtrlOffset_t +{ +public: + Vector vOffset; // 0x0 + uint16_t nCtrlParent; // 0xc + uint16_t nCtrlChild; // 0xe +}; + +// Alignment: 8 +// Size: 0x90 +struct FeMorphLayerDepr_t +{ +public: + CUtlString m_Name; // 0x0 + uint32_t m_nNameHash; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< uint16 > m_Nodes; // 0x10 + CUtlVector< Vector > m_InitPos; // 0x28 + CUtlVector< float32 > m_Gravity; // 0x40 + CUtlVector< float32 > m_GoalStrength; // 0x58 + CUtlVector< float32 > m_GoalDamping; // 0x70 + uint32_t m_nFlags; // 0x88 +}; + +// Alignment: 8 +// Size: 0x40 +struct FeBoxRigid_t +{ +public: + CTransform tmFrame2; // 0x0 + uint16_t nNode; // 0x20 + uint16_t nCollisionMask; // 0x22 + Vector vSize; // 0x24 + float flStickiness; // 0x30 + uint16_t nVertexMapIndex; // 0x34 + uint16_t nFlags; // 0x36 + float flReserved[2]; // 0x38 +}; + +// Alignment: 4 +// Size: 0x1c +struct FeStiffHingeBuild_t +{ +public: + float flMaxAngle; // 0x0 + float flStrength; // 0x4 + float flMotionBias[3]; // 0x8 + uint16_t nNode[3]; // 0x14 +}; + +// Alignment: 2 +// Size: 0x10 +struct RnPlane_t +{ +public: + Vector m_vNormal; // 0x0 + float m_flOffset; // 0xc +}; + +// Alignment: 5 +// Size: 0xc +struct FeRigidColliderIndices_t +{ +public: + uint16_t m_nTaperedCapsuleRigidIndex; // 0x0 + uint16_t m_nSphereRigidIndex; // 0x2 + uint16_t m_nBoxRigidIndex; // 0x4 + uint16_t m_nCollisionSphereIndex[2]; // 0x6 + uint16_t m_nCollisionPlaneIndex; // 0xa +}; + +// Alignment: 6 +// Size: 0x30 +struct CastSphereSATParams_t +{ +public: + Vector m_vRayStart; // 0x0 + Vector m_vRayDelta; // 0xc + float m_flRadius; // 0x18 + float m_flMaxFraction; // 0x1c + float m_flScale; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + RnHull_t* m_pHull; // 0x28 +}; + +// Alignment: 4 +// Size: 0x18 +struct FeKelagerBend2_t +{ +public: + float flWeight[3]; // 0x0 + float flHeight0; // 0xc + uint16_t nNode[3]; // 0x10 + uint16_t nReserved; // 0x16 +}; + +// Alignment: 5 +// Size: 0x80 +struct FeSimdTri_t +{ +public: + uint32_t nNode[3][4]; // 0x0 + fltx4 w1; // 0x30 + fltx4 w2; // 0x40 + fltx4 v1x; // 0x50 + FourVectors2D v2; // 0x60 +}; + +// Alignment: 5 +// Size: 0x14 +struct FeSpringIntegrator_t +{ +public: + uint16_t nNode[2]; // 0x0 + float flSpringRestLength; // 0x4 + float flSpringConstant; // 0x8 + float flSpringDamping; // 0xc + float flNodeWeight0; // 0x10 +}; + +// Alignment: 4 +// Size: 0x20 +struct FeEffectDesc_t +{ +public: + CUtlString sName; // 0x0 + uint32_t nNameHash; // 0x8 + int32_t nType; // 0xc + KeyValues3 m_Params; // 0x10 +}; + +// Alignment: 2 +// Size: 0x4 +struct FeWeightedNode_t +{ +public: + uint16_t nNode; // 0x0 + uint16_t nWeight; // 0x2 +}; + +// Alignment: 1 +// Size: 0xc +struct RnWing_t +{ +public: + int32_t m_nIndex[3]; // 0x0 +}; + +// Alignment: 3 +// Size: 0x4c +struct FeQuad_t +{ +public: + uint16_t nNode[4]; // 0x0 + float flSlack; // 0x8 + Vector4D vShape[4]; // 0xc +}; + +// Alignment: 7 +// Size: 0x70 +struct FeSimdNodeBase_t +{ +public: + uint16_t nNode[4]; // 0x0 + uint16_t nNodeX0[4]; // 0x8 + uint16_t nNodeX1[4]; // 0x10 + uint16_t nNodeY0[4]; // 0x18 + uint16_t nNodeY1[4]; // 0x20 + uint16_t nDummy[4]; // 0x28 + FourQuaternions qAdjust; // 0x30 +}; + +// Alignment: 5 +// Size: 0x50 +struct FeSimdSpringIntegrator_t +{ +public: + uint16_t nNode[2][4]; // 0x0 + fltx4 flSpringRestLength; // 0x10 + fltx4 flSpringConstant; // 0x20 + fltx4 flSpringDamping; // 0x30 + fltx4 flNodeWeight0; // 0x40 +}; + +// Alignment: 4 +// Size: 0x130 +struct FeSimdQuad_t +{ +public: + uint16_t nNode[4][4]; // 0x0 + fltx4 f4Slack; // 0x20 + FourVectors vShape[4]; // 0x30 + fltx4 f4Weights[4]; // 0xf0 +}; + +// Alignment: 5 +// Size: 0x40 +struct FeFitMatrix_t +{ +public: + CTransform bone; // 0x0 + Vector vCenter; // 0x20 + uint16_t nEnd; // 0x2c + uint16_t nNode; // 0x2e + uint16_t nBeginDynamic; // 0x30 +}; + +// Alignment: 4 +// Size: 0x20 +struct RnNode_t +{ +public: + Vector m_vMin; // 0x0 + uint32_t m_nChildren; // 0xc + Vector m_vMax; // 0x10 + uint32_t m_nTriangleOffset; // 0x1c +}; + +// Alignment: 4 +// Size: 0xc +struct FeWorldCollisionParams_t +{ +public: + float flWorldFriction; // 0x0 + float flGroundFriction; // 0x4 + uint16_t nListBegin; // 0x8 + uint16_t nListEnd; // 0xa +}; + +// Alignment: 2 +// Size: 0x30 +class CRegionSVM +{ +public: + CUtlVector< RnPlane_t > m_Planes; // 0x0 + CUtlVector< uint32 > m_Nodes; // 0x18 +}; + +// Alignment: 35 +// Size: 0x9c +class CFeJiggleBone +{ +public: + uint32_t m_nFlags; // 0x0 + float m_flLength; // 0x4 + float m_flTipMass; // 0x8 + float m_flYawStiffness; // 0xc + float m_flYawDamping; // 0x10 + float m_flPitchStiffness; // 0x14 + float m_flPitchDamping; // 0x18 + float m_flAlongStiffness; // 0x1c + float m_flAlongDamping; // 0x20 + float m_flAngleLimit; // 0x24 + float m_flMinYaw; // 0x28 + float m_flMaxYaw; // 0x2c + float m_flYawFriction; // 0x30 + float m_flYawBounce; // 0x34 + float m_flMinPitch; // 0x38 + float m_flMaxPitch; // 0x3c + float m_flPitchFriction; // 0x40 + float m_flPitchBounce; // 0x44 + float m_flBaseMass; // 0x48 + float m_flBaseStiffness; // 0x4c + float m_flBaseDamping; // 0x50 + float m_flBaseMinLeft; // 0x54 + float m_flBaseMaxLeft; // 0x58 + float m_flBaseLeftFriction; // 0x5c + float m_flBaseMinUp; // 0x60 + float m_flBaseMaxUp; // 0x64 + float m_flBaseUpFriction; // 0x68 + float m_flBaseMinForward; // 0x6c + float m_flBaseMaxForward; // 0x70 + float m_flBaseForwardFriction; // 0x74 + float m_flRadius0; // 0x78 + float m_flRadius1; // 0x7c + Vector m_vPoint0; // 0x80 + Vector m_vPoint1; // 0x8c + uint16_t m_nCollisionMask; // 0x98 +}; + +// Alignment: 5 +// Size: 0x1c +struct FeCollisionPlane_t +{ +public: + uint16_t nCtrlParent; // 0x0 + uint16_t nChildNode; // 0x2 + RnPlane_t m_Plane; // 0x4 + float flStickiness; // 0x14 + float flStrength; // 0x18 +}; + +// Alignment: 3 +// Size: 0x10 +struct FeNodeReverseOffset_t +{ +public: + Vector vOffset; // 0x0 + uint16_t nBoneCtrl; // 0xc + uint16_t nTargetNode; // 0xe +}; + +// Alignment: 3 +// Size: 0x10 +struct FeEdgeDesc_t +{ +public: + uint16_t nEdge[2]; // 0x0 + uint16_t nSide[2][2]; // 0x4 + uint16_t nVirtElem[2]; // 0xc +}; + +// Alignment: 3 +// Size: 0xc +struct FeAnimStrayRadius_t +{ +public: + uint16_t nNode[2]; // 0x0 + float flMaxDist; // 0x4 + float flRelaxationFactor; // 0x8 }; // Alignment: 2 // Size: 0x40 struct FeBuildTaperedCapsuleRigid_t : public FeTaperedCapsuleRigid_t -{ +{ public: - int32_t m_nPriority; // 0x30 - uint32_t m_nVertexMapHash; // 0x34 -}; - -// Alignment: 6 -// Size: 0x20 -struct FeSphereRigid_t : public -{ -public: - fltx4 vSphere; // 0x0 - float flStickiness; // 0x10 - uint16_t nNode; // 0x14 - uint16_t nCollisionMask; // 0x16 - uint16_t nVertexMapIndex; // 0x18 - uint16_t nFlags; // 0x1a -}; - -// Alignment: 5 -// Size: 0x18 -struct constraint_breakableparams_t : public -{ -public: - float strength; // 0x0 - float forceLimit; // 0x4 - float torqueLimit; // 0x8 - float32[2] bodyMassScale; // 0xc - bool isActive; // 0x14 -}; - -// Alignment: 4 -// Size: 0x60 -class FourCovMatrices3 : public -{ -public: - FourVectors m_vDiag; // 0x0 - fltx4 m_flXY; // 0x30 - fltx4 m_flXZ; // 0x40 - fltx4 m_flYZ; // 0x50 -}; - -// Alignment: 5 -// Size: 0x28 -struct FeAxialEdgeBend_t : public -{ -public: - float te; // 0x0 - float tv; // 0x4 - float flDist; // 0x8 - float32[4] flWeight; // 0xc - uint16[6] nNode; // 0x1c -}; - -// Alignment: 4 -// Size: 0x8 -struct FeNodeWindBase_t : public -{ -public: - uint16_t nNodeX0; // 0x0 - uint16_t nNodeX1; // 0x2 - uint16_t nNodeY0; // 0x4 - uint16_t nNodeY1; // 0x6 -}; - -// Alignment: 4 -// Size: 0xc -struct FeTwistConstraint_t : public -{ -public: - uint16_t nNodeOrient; // 0x0 - uint16_t nNodeEnd; // 0x2 - float flTwistRelax; // 0x4 - float flSwingRelax; // 0x8 -}; - -// Alignment: 1 -// Size: 0x4 -struct FeSourceEdge_t : public -{ -public: - uint16[2] nNode; // 0x0 -}; - -// Alignment: 2 -// Size: 0x4 -struct FeCtrlOsOffset_t : public -{ -public: - uint16_t nCtrlParent; // 0x0 - uint16_t nCtrlChild; // 0x2 -}; - -// Alignment: 1 -// Size: 0x1 -struct RnFace_t : public -{ -public: - uint8_t m_nEdge; // 0x0 -}; - -// Alignment: 1 -// Size: 0x68 -struct Dop26_t : public -{ -public: - float32[26] m_flSupport; // 0x0 -}; - -// Alignment: 4 -// Size: 0x18 -class CovMatrix3 : public -{ -public: - Vector m_vDiag; // 0x0 - float m_flXY; // 0xc - float m_flXZ; // 0x10 - float m_flYZ; // 0x14 -}; - -// Alignment: 12 -// Size: 0xd8 -struct RnHull_t : public -{ -public: - Vector m_vCentroid; // 0x0 - float m_flMaxAngularRadius; // 0xc - AABB_t m_Bounds; // 0x10 - Vector m_vOrthographicAreas; // 0x28 - matrix3x4_t m_MassProperties; // 0x34 - float m_flVolume; // 0x64 - CUtlVector< Vector > m_Vertices; // 0x68 - CUtlVector< RnHalfEdge_t > m_Edges; // 0x80 - CUtlVector< RnFace_t > m_Faces; // 0x98 - CUtlVector< RnPlane_t > m_Planes; // 0xb0 - uint32_t m_nFlags; // 0xc8 - CRegionSVM* m_pRegionSVM; // 0xd0 -}; - -// Alignment: 5 -// Size: 0x18 -struct FeCollisionSphere_t : public -{ -public: - uint16_t nCtrlParent; // 0x0 - uint16_t nChildNode; // 0x2 - float m_flRFactor; // 0x4 - Vector m_vOrigin; // 0x8 - float flStickiness; // 0x14 -}; - -// Alignment: 5 -// Size: 0x1c -struct FeTri_t : public -{ -public: - uint16[3] nNode; // 0x0 - float w1; // 0x8 - float w2; // 0xc - float v1x; // 0x10 - Vector2D v2; // 0x14 -}; - -// Alignment: 1 -// Size: 0x18 -class CFeVertexMapBuildArray : public -{ -public: - CUtlVector< FeVertexMapBuild_t* > m_Array; // 0x0 -}; - -// Alignment: 6 -// Size: 0x30 -struct FeVertexMapBuild_t : public -{ -public: - CUtlString m_VertexMapName; // 0x0 - uint32_t m_nNameHash; // 0x8 - Color m_Color; // 0xc - float m_flVolumetricSolveStrength; // 0x10 - int32_t m_nScaleSourceNode; // 0x14 - CUtlVector< float32 > m_Weights; // 0x18 -}; - -// Alignment: 7 -// Size: 0x20 -struct FeNodeBase_t : public -{ -public: - uint16_t nNode; // 0x0 - uint16[3] nDummy; // 0x2 - uint16_t nNodeX0; // 0x8 - uint16_t nNodeX1; // 0xa - uint16_t nNodeY0; // 0xc - uint16_t nNodeY1; // 0xe - QuaternionStorage qAdjust; // 0x10 -}; - -// Alignment: 0 -// Size: 0x8 -class IPhysicsPlayerController : public -{ -public: - // no members available -}; - -// Alignment: 3 -// Size: 0x10 -struct FeCtrlOffset_t : public -{ -public: - Vector vOffset; // 0x0 - uint16_t nCtrlParent; // 0xc - uint16_t nCtrlChild; // 0xe -}; - -// Alignment: 8 -// Size: 0x90 -struct FeMorphLayerDepr_t : public -{ -public: - CUtlString m_Name; // 0x0 - uint32_t m_nNameHash; // 0x8 - CUtlVector< uint16 > m_Nodes; // 0x10 - CUtlVector< Vector > m_InitPos; // 0x28 - CUtlVector< float32 > m_Gravity; // 0x40 - CUtlVector< float32 > m_GoalStrength; // 0x58 - CUtlVector< float32 > m_GoalDamping; // 0x70 - uint32_t m_nFlags; // 0x88 -}; - -// Alignment: 8 -// Size: 0x40 -struct FeBoxRigid_t : public -{ -public: - CTransform tmFrame2; // 0x0 - uint16_t nNode; // 0x20 - uint16_t nCollisionMask; // 0x22 - Vector vSize; // 0x24 - float flStickiness; // 0x30 - uint16_t nVertexMapIndex; // 0x34 - uint16_t nFlags; // 0x36 - float32[2] flReserved; // 0x38 -}; - -// Alignment: 4 -// Size: 0x1c -struct FeStiffHingeBuild_t : public -{ -public: - float flMaxAngle; // 0x0 - float flStrength; // 0x4 - float32[3] flMotionBias; // 0x8 - uint16[3] nNode; // 0x14 -}; - -// Alignment: 5 -// Size: 0x1c -struct FeCollisionPlane_t : public -{ -public: - uint16_t nCtrlParent; // 0x0 - uint16_t nChildNode; // 0x2 - RnPlane_t m_Plane; // 0x4 - float flStickiness; // 0x14 - float flStrength; // 0x18 -}; - -// Alignment: 5 -// Size: 0xc -struct FeRigidColliderIndices_t : public -{ -public: - uint16_t m_nTaperedCapsuleRigidIndex; // 0x0 - uint16_t m_nSphereRigidIndex; // 0x2 - uint16_t m_nBoxRigidIndex; // 0x4 - uint16[2] m_nCollisionSphereIndex; // 0x6 - uint16_t m_nCollisionPlaneIndex; // 0xa -}; - -// Alignment: 6 -// Size: 0x30 -struct CastSphereSATParams_t : public -{ -public: - Vector m_vRayStart; // 0x0 - Vector m_vRayDelta; // 0xc - float m_flRadius; // 0x18 - float m_flMaxFraction; // 0x1c - float m_flScale; // 0x20 - RnHull_t* m_pHull; // 0x28 -}; - -// Alignment: 4 -// Size: 0x18 -struct FeKelagerBend2_t : public -{ -public: - float32[3] flWeight; // 0x0 - float flHeight0; // 0xc - uint16[3] nNode; // 0x10 - uint16_t nReserved; // 0x16 -}; - -// Alignment: 2 -// Size: 0x20 -class FourVectors2D : public -{ -public: - fltx4 x; // 0x0 - fltx4 y; // 0x10 -}; - -// Alignment: 5 -// Size: 0x14 -struct FeSpringIntegrator_t : public -{ -public: - uint16[2] nNode; // 0x0 - float flSpringRestLength; // 0x4 - float flSpringConstant; // 0x8 - float flSpringDamping; // 0xc - float flNodeWeight0; // 0x10 -}; - -// Alignment: 4 -// Size: 0x20 -struct FeEffectDesc_t : public -{ -public: - CUtlString sName; // 0x0 - uint32_t nNameHash; // 0x8 - int32_t nType; // 0xc - KeyValues3 m_Params; // 0x10 -}; - -// Alignment: 2 -// Size: 0x4 -struct FeWeightedNode_t : public -{ -public: - uint16_t nNode; // 0x0 - uint16_t nWeight; // 0x2 -}; - -// Alignment: 1 -// Size: 0xc -struct RnWing_t : public -{ -public: - int32[3] m_nIndex; // 0x0 -}; - -// Alignment: 3 -// Size: 0x4c -struct FeQuad_t : public -{ -public: - uint16[4] nNode; // 0x0 - float flSlack; // 0x8 - Vector4D[4] vShape; // 0xc -}; - -// Alignment: 7 -// Size: 0x70 -struct FeSimdNodeBase_t : public -{ -public: - uint16[4] nNode; // 0x0 - uint16[4] nNodeX0; // 0x8 - uint16[4] nNodeX1; // 0x10 - uint16[4] nNodeY0; // 0x18 - uint16[4] nNodeY1; // 0x20 - uint16[4] nDummy; // 0x28 - FourQuaternions qAdjust; // 0x30 -}; - -// Alignment: 5 -// Size: 0x50 -struct FeSimdSpringIntegrator_t : public -{ -public: - uint16[4][2] nNode; // 0x0 - fltx4 flSpringRestLength; // 0x10 - fltx4 flSpringConstant; // 0x20 - fltx4 flSpringDamping; // 0x30 - fltx4 flNodeWeight0; // 0x40 -}; - -// Alignment: 4 -// Size: 0x130 -struct FeSimdQuad_t : public -{ -public: - uint16[4][4] nNode; // 0x0 - fltx4 f4Slack; // 0x20 - FourVectors[4] vShape; // 0x30 - fltx4[4] f4Weights; // 0xf0 -}; - -// Alignment: 5 -// Size: 0x40 -struct FeFitMatrix_t : public -{ -public: - CTransform bone; // 0x0 - Vector vCenter; // 0x20 - uint16_t nEnd; // 0x2c - uint16_t nNode; // 0x2e - uint16_t nBeginDynamic; // 0x30 -}; - -// Alignment: 4 -// Size: 0x20 -struct RnNode_t : public -{ -public: - Vector m_vMin; // 0x0 - uint32_t m_nChildren; // 0xc - Vector m_vMax; // 0x10 - uint32_t m_nTriangleOffset; // 0x1c -}; - -// Alignment: 4 -// Size: 0xc -struct FeWorldCollisionParams_t : public -{ -public: - float flWorldFriction; // 0x0 - float flGroundFriction; // 0x4 - uint16_t nListBegin; // 0x8 - uint16_t nListEnd; // 0xa -}; - -// Alignment: 2 -// Size: 0x30 -class CRegionSVM : public -{ -public: - CUtlVector< RnPlane_t > m_Planes; // 0x0 - CUtlVector< uint32 > m_Nodes; // 0x18 -}; - -// Alignment: 35 -// Size: 0x9c -class CFeJiggleBone : public -{ -public: - uint32_t m_nFlags; // 0x0 - float m_flLength; // 0x4 - float m_flTipMass; // 0x8 - float m_flYawStiffness; // 0xc - float m_flYawDamping; // 0x10 - float m_flPitchStiffness; // 0x14 - float m_flPitchDamping; // 0x18 - float m_flAlongStiffness; // 0x1c - float m_flAlongDamping; // 0x20 - float m_flAngleLimit; // 0x24 - float m_flMinYaw; // 0x28 - float m_flMaxYaw; // 0x2c - float m_flYawFriction; // 0x30 - float m_flYawBounce; // 0x34 - float m_flMinPitch; // 0x38 - float m_flMaxPitch; // 0x3c - float m_flPitchFriction; // 0x40 - float m_flPitchBounce; // 0x44 - float m_flBaseMass; // 0x48 - float m_flBaseStiffness; // 0x4c - float m_flBaseDamping; // 0x50 - float m_flBaseMinLeft; // 0x54 - float m_flBaseMaxLeft; // 0x58 - float m_flBaseLeftFriction; // 0x5c - float m_flBaseMinUp; // 0x60 - float m_flBaseMaxUp; // 0x64 - float m_flBaseUpFriction; // 0x68 - float m_flBaseMinForward; // 0x6c - float m_flBaseMaxForward; // 0x70 - float m_flBaseForwardFriction; // 0x74 - float m_flRadius0; // 0x78 - float m_flRadius1; // 0x7c - Vector m_vPoint0; // 0x80 - Vector m_vPoint1; // 0x8c - uint16_t m_nCollisionMask; // 0x98 -}; - -// Alignment: 2 -// Size: 0x10 -struct RnPlane_t : public -{ -public: - Vector m_vNormal; // 0x0 - float m_flOffset; // 0xc -}; - -// Alignment: 3 -// Size: 0x10 -struct FeNodeReverseOffset_t : public -{ -public: - Vector vOffset; // 0x0 - uint16_t nBoneCtrl; // 0xc - uint16_t nTargetNode; // 0xe -}; - -// Alignment: 3 -// Size: 0x10 -struct FeEdgeDesc_t : public -{ -public: - uint16[2] nEdge; // 0x0 - uint16[2][2] nSide; // 0x4 - uint16[2] nVirtElem; // 0xc -}; - -// Alignment: 3 -// Size: 0xc -struct FeAnimStrayRadius_t : public -{ -public: - uint16[2] nNode; // 0x0 - float flMaxDist; // 0x4 - float flRelaxationFactor; // 0x8 -}; - -// Alignment: 6 -// Size: 0x30 -struct FeTaperedCapsuleRigid_t : public -{ -public: - fltx4[2] vSphere; // 0x0 - float flStickiness; // 0x20 - uint16_t nNode; // 0x24 - uint16_t nCollisionMask; // 0x26 - uint16_t nVertexMapIndex; // 0x28 - uint16_t nFlags; // 0x2a + int32_t m_nPriority; // 0x30 + uint32_t m_nVertexMapHash; // 0x34 }; // Alignment: 12 // Size: 0x38 -struct FeVertexMapDesc_t : public -{ +struct FeVertexMapDesc_t +{ public: - CUtlString sName; // 0x0 - uint32_t nNameHash; // 0x8 - uint32_t nColor; // 0xc - uint32_t nFlags; // 0x10 - uint16_t nVertexBase; // 0x14 - uint16_t nVertexCount; // 0x16 - uint32_t nMapOffset; // 0x18 - uint32_t nNodeListOffset; // 0x1c - Vector vCenterOfMass; // 0x20 - float flVolumetricSolveStrength; // 0x2c - int16_t nScaleSourceNode; // 0x30 - uint16_t nNodeListCount; // 0x32 + CUtlString sName; // 0x0 + uint32_t nNameHash; // 0x8 + uint32_t nColor; // 0xc + uint32_t nFlags; // 0x10 + uint16_t nVertexBase; // 0x14 + uint16_t nVertexCount; // 0x16 + uint32_t nMapOffset; // 0x18 + uint32_t nNodeListOffset; // 0x1c + Vector vCenterOfMass; // 0x20 + float flVolumetricSolveStrength; // 0x2c + int16_t nScaleSourceNode; // 0x30 + uint16_t nNodeListCount; // 0x32 }; // Alignment: 4 // Size: 0x14 -struct FeCtrlSoftOffset_t : public -{ +struct FeCtrlSoftOffset_t +{ public: - uint16_t nCtrlParent; // 0x0 - uint16_t nCtrlChild; // 0x2 - Vector vOffset; // 0x4 - float flAlpha; // 0x10 + uint16_t nCtrlParent; // 0x0 + uint16_t nCtrlChild; // 0x2 + Vector vOffset; // 0x4 + float flAlpha; // 0x10 }; // Alignment: 7 // Size: 0x88 -class CFeMorphLayer : public -{ +class CFeMorphLayer +{ public: - CUtlString m_Name; // 0x0 - uint32_t m_nNameHash; // 0x8 - CUtlVector< uint16 > m_Nodes; // 0x10 - CUtlVector< Vector > m_InitPos; // 0x28 - CUtlVector< float32 > m_Gravity; // 0x40 - CUtlVector< float32 > m_GoalStrength; // 0x58 - CUtlVector< float32 > m_GoalDamping; // 0x70 + CUtlString m_Name; // 0x0 + uint32_t m_nNameHash; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< uint16 > m_Nodes; // 0x10 + CUtlVector< Vector > m_InitPos; // 0x28 + CUtlVector< float32 > m_Gravity; // 0x40 + CUtlVector< float32 > m_GoalStrength; // 0x58 + CUtlVector< float32 > m_GoalDamping; // 0x70 }; // Alignment: 8 // Size: 0x10 -struct RnBlendVertex_t : public -{ +struct RnBlendVertex_t +{ public: - uint16_t m_nWeight0; // 0x0 - uint16_t m_nIndex0; // 0x2 - uint16_t m_nWeight1; // 0x4 - uint16_t m_nIndex1; // 0x6 - uint16_t m_nWeight2; // 0x8 - uint16_t m_nIndex2; // 0xa - uint16_t m_nFlags; // 0xc - uint16_t m_nTargetIndex; // 0xe + uint16_t m_nWeight0; // 0x0 + uint16_t m_nIndex0; // 0x2 + uint16_t m_nWeight1; // 0x4 + uint16_t m_nIndex1; // 0x6 + uint16_t m_nWeight2; // 0x8 + uint16_t m_nIndex2; // 0xa + uint16_t m_nFlags; // 0xc + uint16_t m_nTargetIndex; // 0xe }; // Alignment: 2 // Size: 0x18 -struct VertexPositionNormal_t : public -{ +struct VertexPositionNormal_t +{ public: - Vector m_vPosition; // 0x0 - Vector m_vNormal; // 0xc + Vector m_vPosition; // 0x0 + Vector m_vNormal; // 0xc }; // Alignment: 8 // Size: 0xa0 -struct RnMesh_t : public -{ +struct RnMesh_t +{ public: - Vector m_vMin; // 0x0 - Vector m_vMax; // 0xc - CUtlVector< RnNode_t > m_Nodes; // 0x18 - CUtlVectorSIMDPaddedVector m_Vertices; // 0x30 - CUtlVector< RnTriangle_t > m_Triangles; // 0x48 - CUtlVector< RnWing_t > m_Wings; // 0x60 - CUtlVector< uint8 > m_Materials; // 0x78 - Vector m_vOrthographicAreas; // 0x90 + Vector m_vMin; // 0x0 + Vector m_vMax; // 0xc + CUtlVector< RnNode_t > m_Nodes; // 0x18 + CUtlVectorSIMDPaddedVector m_Vertices; // 0x30 + CUtlVector< RnTriangle_t > m_Triangles; // 0x48 + CUtlVector< RnWing_t > m_Wings; // 0x60 + CUtlVector< uint8 > m_Materials; // 0x78 + Vector m_vOrthographicAreas; // 0x90 }; // Alignment: 3 // Size: 0x8 -struct FeFollowNode_t : public -{ +struct FeFollowNode_t +{ public: - uint16_t nParentNode; // 0x0 - uint16_t nChildNode; // 0x2 - float flWeight; // 0x4 + uint16_t nParentNode; // 0x0 + uint16_t nChildNode; // 0x2 + float flWeight; // 0x4 }; // Alignment: 12 // Size: 0x48 -struct OldFeEdge_t : public -{ +struct OldFeEdge_t +{ public: - float32[3] m_flK; // 0x0 - float invA; // 0xc - float t; // 0x10 - float flThetaRelaxed; // 0x14 - float flThetaFactor; // 0x18 - float c01; // 0x1c - float c02; // 0x20 - float c03; // 0x24 - float c04; // 0x28 - float flAxialModelDist; // 0x2c - float32[4] flAxialModelWeights; // 0x30 - uint16[4] m_nNode; // 0x40 + float m_flK[3]; // 0x0 + float invA; // 0xc + float t; // 0x10 + float flThetaRelaxed; // 0x14 + float flThetaFactor; // 0x18 + float c01; // 0x1c + float c02; // 0x20 + float c03; // 0x24 + float c04; // 0x28 + float flAxialModelDist; // 0x2c + float flAxialModelWeights[4]; // 0x30 + uint16_t m_nNode[4]; // 0x40 }; // Alignment: 4 // Size: 0xd0 -class CFeNamedJiggleBone : public -{ +class CFeNamedJiggleBone +{ public: - CUtlString m_strParentBone; // 0x0 - CTransform m_transform; // 0x10 - uint32_t m_nJiggleParent; // 0x30 - CFeJiggleBone m_jiggleBone; // 0x34 + CUtlString m_strParentBone; // 0x0 + CTransform m_transform; // 0x10 + uint32_t m_nJiggleParent; // 0x30 + CFeJiggleBone m_jiggleBone; // 0x34 }; // Alignment: 2 // Size: 0x1c -struct RnCapsule_t : public -{ +struct RnCapsule_t +{ public: - Vector[2] m_vCenter; // 0x0 - float m_flRadius; // 0x18 + Vector m_vCenter[2]; // 0x0 + float m_flRadius; // 0x18 }; // Alignment: 4 // Size: 0x10 -struct FeNodeIntegrator_t : public -{ +struct FeNodeIntegrator_t +{ public: - float flPointDamping; // 0x0 - float flAnimationForceAttraction; // 0x4 - float flAnimationVertexAttraction; // 0x8 - float flGravity; // 0xc + float flPointDamping; // 0x0 + float flAnimationForceAttraction; // 0x4 + float flAnimationVertexAttraction; // 0x8 + float flGravity; // 0xc }; // Alignment: 2 // Size: 0x10 -struct FeProxyVertexMap_t : public -{ +struct FeProxyVertexMap_t +{ public: - CUtlString m_Name; // 0x0 - float m_flWeight; // 0x8 + CUtlString m_Name; // 0x0 + float m_flWeight; // 0x8 }; // Alignment: 1 // Size: 0xc -struct RnTriangle_t : public -{ +struct RnTriangle_t +{ public: - int32[3] m_nIndex; // 0x0 + int32_t m_nIndex[3]; // 0x0 }; // Alignment: 3 // Size: 0x30 -struct FeSimdAnimStrayRadius_t : public -{ +struct FeSimdAnimStrayRadius_t +{ public: - uint16[4][2] nNode; // 0x0 - fltx4 flMaxDist; // 0x10 - fltx4 flRelaxationFactor; // 0x20 + uint16_t nNode[2][4]; // 0x0 + fltx4 flMaxDist; // 0x10 + fltx4 flRelaxationFactor; // 0x20 }; // Alignment: 2 // Size: 0x30 struct FeBuildSphereRigid_t : public FeSphereRigid_t -{ +{ public: - int32_t m_nPriority; // 0x20 - uint32_t m_nVertexMapHash; // 0x24 + int32_t m_nPriority; // 0x20 + uint32_t m_nVertexMapHash; // 0x24 }; // Alignment: 2 // Size: 0x10 -struct RnSphere_t : public -{ +struct RnSphere_t +{ public: - Vector m_vCenter; // 0x0 - float m_flRadius; // 0xc -}; - -// Alignment: 4 -// Size: 0x40 -struct constraint_hingeparams_t : public -{ -public: - Vector worldPosition; // 0x0 - Vector worldAxisDirection; // 0xc - constraint_axislimit_t hingeAxis; // 0x18 - constraint_breakableparams_t constraint; // 0x28 -}; - -// Alignment: 5 -// Size: 0x50 -struct FeSimdRodConstraint_t : public -{ -public: - uint16[4][2] nNode; // 0x0 - fltx4 f4MaxDist; // 0x10 - fltx4 f4MinDist; // 0x20 - fltx4 f4Weight0; // 0x30 - fltx4 f4RelaxationFactor; // 0x40 + Vector m_vCenter; // 0x0 + float m_flRadius; // 0xc }; // Alignment: 4 // Size: 0x10 -struct constraint_axislimit_t : public -{ +struct constraint_axislimit_t +{ public: - float flMinRotation; // 0x0 - float flMaxRotation; // 0x4 - float flMotorTargetAngSpeed; // 0x8 - float flMotorMaxTorque; // 0xc + float flMinRotation; // 0x0 + float flMaxRotation; // 0x4 + float flMotorTargetAngSpeed; // 0x8 + float flMotorMaxTorque; // 0xc +}; + +// Alignment: 5 +// Size: 0x50 +struct FeSimdRodConstraint_t +{ +public: + uint16_t nNode[2][4]; // 0x0 + fltx4 f4MaxDist; // 0x10 + fltx4 f4MinDist; // 0x20 + fltx4 f4Weight0; // 0x30 + fltx4 f4RelaxationFactor; // 0x40 +}; + +// Alignment: 4 +// Size: 0x40 +struct constraint_hingeparams_t +{ +public: + Vector worldPosition; // 0x0 + Vector worldAxisDirection; // 0xc + constraint_axislimit_t hingeAxis; // 0x18 + constraint_breakableparams_t constraint; // 0x28 }; // Alignment: 5 // Size: 0x14 -struct FeTaperedCapsuleStretch_t : public -{ +struct FeTaperedCapsuleStretch_t +{ public: - uint16[2] nNode; // 0x0 - uint16_t nCollisionMask; // 0x4 + uint16_t nNode[2]; // 0x0 + uint16_t nCollisionMask; // 0x4 // MPropertySuppressField - uint16_t nDummy; // 0x6 - float32[2] flRadius; // 0x8 - float flStickiness; // 0x10 + uint16_t nDummy; // 0x6 + float flRadius[2]; // 0x8 + float flStickiness; // 0x10 }; // Alignment: 3 // Size: 0x14 -struct FeBandBendLimit_t : public -{ +struct FeBandBendLimit_t +{ public: - float flDistMin; // 0x0 - float flDistMax; // 0x4 - uint16[6] nNode; // 0x8 + float flDistMin; // 0x0 + float flDistMax; // 0x4 + uint16_t nNode[6]; // 0x8 }; // Alignment: 3 // Size: 0xa4 -class CFeIndexedJiggleBone : public -{ +class CFeIndexedJiggleBone +{ public: - uint32_t m_nNode; // 0x0 - uint32_t m_nJiggleParent; // 0x4 - CFeJiggleBone m_jiggleBone; // 0x8 + uint32_t m_nNode; // 0x0 + uint32_t m_nJiggleParent; // 0x4 + CFeJiggleBone m_jiggleBone; // 0x8 }; // Alignment: 2 // Size: 0x50 struct FeBuildBoxRigid_t : public FeBoxRigid_t -{ +{ public: - int32_t m_nPriority; // 0x40 - uint32_t m_nVertexMapHash; // 0x44 + int32_t m_nPriority; // 0x40 + uint32_t m_nVertexMapHash; // 0x44 }; // Alignment: 100 // Size: 0x600 -struct PhysFeModelDesc_t : public -{ +struct PhysFeModelDesc_t +{ public: - CUtlVector< uint32 > m_CtrlHash; // 0x0 - CUtlVector< CUtlString > m_CtrlName; // 0x18 - uint32_t m_nStaticNodeFlags; // 0x30 - uint32_t m_nDynamicNodeFlags; // 0x34 - float m_flLocalForce; // 0x38 - float m_flLocalRotation; // 0x3c - uint16_t m_nNodeCount; // 0x40 - uint16_t m_nStaticNodes; // 0x42 - uint16_t m_nRotLockStaticNodes; // 0x44 - uint16_t m_nFirstPositionDrivenNode; // 0x46 - uint16_t m_nSimdTriCount1; // 0x48 - uint16_t m_nSimdTriCount2; // 0x4a - uint16_t m_nSimdQuadCount1; // 0x4c - uint16_t m_nSimdQuadCount2; // 0x4e - uint16_t m_nQuadCount1; // 0x50 - uint16_t m_nQuadCount2; // 0x52 - uint16_t m_nCollisionSphereInclusiveCount; // 0x54 - uint16_t m_nTreeDepth; // 0x56 - uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x58 - uint16_t m_nRopeCount; // 0x5a - CUtlVector< uint16 > m_Ropes; // 0x60 - CUtlVector< FeNodeBase_t > m_NodeBases; // 0x78 - CUtlVector< FeSimdNodeBase_t > m_SimdNodeBases; // 0x90 - CUtlVector< FeQuad_t > m_Quads; // 0xa8 - CUtlVector< FeSimdQuad_t > m_SimdQuads; // 0xc0 - CUtlVector< FeSimdTri_t > m_SimdTris; // 0xd8 - CUtlVector< FeSimdRodConstraint_t > m_SimdRods; // 0xf0 - CUtlVector< CTransform > m_InitPose; // 0x108 - CUtlVector< FeRodConstraint_t > m_Rods; // 0x120 - CUtlVector< FeTwistConstraint_t > m_Twists; // 0x138 - CUtlVector< FeAxialEdgeBend_t > m_AxialEdges; // 0x150 - CUtlVector< float32 > m_NodeInvMasses; // 0x168 - CUtlVector< FeCtrlOffset_t > m_CtrlOffsets; // 0x180 - CUtlVector< FeCtrlOsOffset_t > m_CtrlOsOffsets; // 0x198 - CUtlVector< FeFollowNode_t > m_FollowNodes; // 0x1b0 - CUtlVector< FeCollisionSphere_t > m_CollisionSpheres; // 0x1c8 - CUtlVector< FeCollisionPlane_t > m_CollisionPlanes; // 0x1e0 - CUtlVector< FeNodeIntegrator_t > m_NodeIntegrator; // 0x1f8 - CUtlVector< FeSpringIntegrator_t > m_SpringIntegrator; // 0x210 - CUtlVector< FeSimdSpringIntegrator_t > m_SimdSpringIntegrator; // 0x228 - CUtlVector< FeWorldCollisionParams_t > m_WorldCollisionParams; // 0x240 - CUtlVector< float32 > m_LegacyStretchForce; // 0x258 - CUtlVector< float32 > m_NodeCollisionRadii; // 0x270 - CUtlVector< float32 > m_DynNodeFriction; // 0x288 - CUtlVector< float32 > m_LocalRotation; // 0x2a0 - CUtlVector< float32 > m_LocalForce; // 0x2b8 - CUtlVector< FeTaperedCapsuleStretch_t > m_TaperedCapsuleStretches; // 0x2d0 - CUtlVector< FeTaperedCapsuleRigid_t > m_TaperedCapsuleRigids; // 0x2e8 - CUtlVector< FeSphereRigid_t > m_SphereRigids; // 0x300 - CUtlVector< uint16 > m_WorldCollisionNodes; // 0x318 - CUtlVector< uint16 > m_TreeParents; // 0x330 - CUtlVector< uint16 > m_TreeCollisionMasks; // 0x348 - CUtlVector< FeTreeChildren_t > m_TreeChildren; // 0x360 - CUtlVector< uint16 > m_FreeNodes; // 0x378 - CUtlVector< FeFitMatrix_t > m_FitMatrices; // 0x390 - CUtlVector< FeFitWeight_t > m_FitWeights; // 0x3a8 - CUtlVector< FeNodeReverseOffset_t > m_ReverseOffsets; // 0x3c0 - CUtlVector< FeAnimStrayRadius_t > m_AnimStrayRadii; // 0x3d8 - CUtlVector< FeSimdAnimStrayRadius_t > m_SimdAnimStrayRadii; // 0x3f0 - CUtlVector< FeKelagerBend2_t > m_KelagerBends; // 0x408 - CUtlVector< FeCtrlSoftOffset_t > m_CtrlSoftOffsets; // 0x420 - CUtlVector< CFeIndexedJiggleBone > m_JiggleBones; // 0x438 - CUtlVector< uint16 > m_SourceElems; // 0x450 - CUtlVector< uint32 > m_GoalDampedSpringIntegrators; // 0x468 - CUtlVector< FeTri_t > m_Tris; // 0x480 - uint16_t m_nTriCount1; // 0x498 - uint16_t m_nTriCount2; // 0x49a - uint8_t m_nReservedUint8; // 0x49c - uint8_t m_nExtraPressureIterations; // 0x49d - uint8_t m_nExtraGoalIterations; // 0x49e - uint8_t m_nExtraIterations; // 0x49f - CUtlVector< FeBoxRigid_t > m_BoxRigids; // 0x4a0 - CUtlVector< uint8 > m_DynNodeVertexSet; // 0x4b8 - CUtlVector< uint32 > m_VertexSetNames; // 0x4d0 - CUtlVector< FeRigidColliderIndices_t > m_RigidColliderPriorities; // 0x4e8 - CUtlVector< FeMorphLayerDepr_t > m_MorphLayers; // 0x500 - CUtlVector< uint8 > m_MorphSetData; // 0x518 - CUtlVector< FeVertexMapDesc_t > m_VertexMaps; // 0x530 - CUtlVector< uint8 > m_VertexMapValues; // 0x548 - CUtlVector< FeEffectDesc_t > m_Effects; // 0x560 - CUtlVector< FeCtrlOffset_t > m_LockToParent; // 0x578 - CUtlVector< uint16 > m_LockToGoal; // 0x590 - CUtlVector< FeNodeWindBase_t > m_DynNodeWindBases; // 0x5a8 - float m_flInternalPressure; // 0x5c0 - float m_flDefaultTimeDilation; // 0x5c4 - float m_flWindage; // 0x5c8 - float m_flWindDrag; // 0x5cc - float m_flDefaultSurfaceStretch; // 0x5d0 - float m_flDefaultThreadStretch; // 0x5d4 - float m_flDefaultGravityScale; // 0x5d8 - float m_flDefaultVelAirDrag; // 0x5dc - float m_flDefaultExpAirDrag; // 0x5e0 - float m_flDefaultVelQuadAirDrag; // 0x5e4 - float m_flDefaultExpQuadAirDrag; // 0x5e8 - float m_flRodVelocitySmoothRate; // 0x5ec - float m_flQuadVelocitySmoothRate; // 0x5f0 - float m_flAddWorldCollisionRadius; // 0x5f4 - float m_flDefaultVolumetricSolveAmount; // 0x5f8 - uint16_t m_nRodVelocitySmoothIterations; // 0x5fc - uint16_t m_nQuadVelocitySmoothIterations; // 0x5fe + CUtlVector< uint32 > m_CtrlHash; // 0x0 + CUtlVector< CUtlString > m_CtrlName; // 0x18 + uint32_t m_nStaticNodeFlags; // 0x30 + uint32_t m_nDynamicNodeFlags; // 0x34 + float m_flLocalForce; // 0x38 + float m_flLocalRotation; // 0x3c + uint16_t m_nNodeCount; // 0x40 + uint16_t m_nStaticNodes; // 0x42 + uint16_t m_nRotLockStaticNodes; // 0x44 + uint16_t m_nFirstPositionDrivenNode; // 0x46 + uint16_t m_nSimdTriCount1; // 0x48 + uint16_t m_nSimdTriCount2; // 0x4a + uint16_t m_nSimdQuadCount1; // 0x4c + uint16_t m_nSimdQuadCount2; // 0x4e + uint16_t m_nQuadCount1; // 0x50 + uint16_t m_nQuadCount2; // 0x52 + uint16_t m_nCollisionSphereInclusiveCount; // 0x54 + uint16_t m_nTreeDepth; // 0x56 + uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x58 + uint16_t m_nRopeCount; // 0x5a +private: + [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c +public: + CUtlVector< uint16 > m_Ropes; // 0x60 + CUtlVector< FeNodeBase_t > m_NodeBases; // 0x78 + CUtlVector< FeSimdNodeBase_t > m_SimdNodeBases; // 0x90 + CUtlVector< FeQuad_t > m_Quads; // 0xa8 + CUtlVector< FeSimdQuad_t > m_SimdQuads; // 0xc0 + CUtlVector< FeSimdTri_t > m_SimdTris; // 0xd8 + CUtlVector< FeSimdRodConstraint_t > m_SimdRods; // 0xf0 + CUtlVector< CTransform > m_InitPose; // 0x108 + CUtlVector< FeRodConstraint_t > m_Rods; // 0x120 + CUtlVector< FeTwistConstraint_t > m_Twists; // 0x138 + CUtlVector< FeAxialEdgeBend_t > m_AxialEdges; // 0x150 + CUtlVector< float32 > m_NodeInvMasses; // 0x168 + CUtlVector< FeCtrlOffset_t > m_CtrlOffsets; // 0x180 + CUtlVector< FeCtrlOsOffset_t > m_CtrlOsOffsets; // 0x198 + CUtlVector< FeFollowNode_t > m_FollowNodes; // 0x1b0 + CUtlVector< FeCollisionSphere_t > m_CollisionSpheres; // 0x1c8 + CUtlVector< FeCollisionPlane_t > m_CollisionPlanes; // 0x1e0 + CUtlVector< FeNodeIntegrator_t > m_NodeIntegrator; // 0x1f8 + CUtlVector< FeSpringIntegrator_t > m_SpringIntegrator; // 0x210 + CUtlVector< FeSimdSpringIntegrator_t > m_SimdSpringIntegrator; // 0x228 + CUtlVector< FeWorldCollisionParams_t > m_WorldCollisionParams; // 0x240 + CUtlVector< float32 > m_LegacyStretchForce; // 0x258 + CUtlVector< float32 > m_NodeCollisionRadii; // 0x270 + CUtlVector< float32 > m_DynNodeFriction; // 0x288 + CUtlVector< float32 > m_LocalRotation; // 0x2a0 + CUtlVector< float32 > m_LocalForce; // 0x2b8 + CUtlVector< FeTaperedCapsuleStretch_t > m_TaperedCapsuleStretches; // 0x2d0 + CUtlVector< FeTaperedCapsuleRigid_t > m_TaperedCapsuleRigids; // 0x2e8 + CUtlVector< FeSphereRigid_t > m_SphereRigids; // 0x300 + CUtlVector< uint16 > m_WorldCollisionNodes; // 0x318 + CUtlVector< uint16 > m_TreeParents; // 0x330 + CUtlVector< uint16 > m_TreeCollisionMasks; // 0x348 + CUtlVector< FeTreeChildren_t > m_TreeChildren; // 0x360 + CUtlVector< uint16 > m_FreeNodes; // 0x378 + CUtlVector< FeFitMatrix_t > m_FitMatrices; // 0x390 + CUtlVector< FeFitWeight_t > m_FitWeights; // 0x3a8 + CUtlVector< FeNodeReverseOffset_t > m_ReverseOffsets; // 0x3c0 + CUtlVector< FeAnimStrayRadius_t > m_AnimStrayRadii; // 0x3d8 + CUtlVector< FeSimdAnimStrayRadius_t > m_SimdAnimStrayRadii; // 0x3f0 + CUtlVector< FeKelagerBend2_t > m_KelagerBends; // 0x408 + CUtlVector< FeCtrlSoftOffset_t > m_CtrlSoftOffsets; // 0x420 + CUtlVector< CFeIndexedJiggleBone > m_JiggleBones; // 0x438 + CUtlVector< uint16 > m_SourceElems; // 0x450 + CUtlVector< uint32 > m_GoalDampedSpringIntegrators; // 0x468 + CUtlVector< FeTri_t > m_Tris; // 0x480 + uint16_t m_nTriCount1; // 0x498 + uint16_t m_nTriCount2; // 0x49a + uint8_t m_nReservedUint8; // 0x49c + uint8_t m_nExtraPressureIterations; // 0x49d + uint8_t m_nExtraGoalIterations; // 0x49e + uint8_t m_nExtraIterations; // 0x49f + CUtlVector< FeBoxRigid_t > m_BoxRigids; // 0x4a0 + CUtlVector< uint8 > m_DynNodeVertexSet; // 0x4b8 + CUtlVector< uint32 > m_VertexSetNames; // 0x4d0 + CUtlVector< FeRigidColliderIndices_t > m_RigidColliderPriorities; // 0x4e8 + CUtlVector< FeMorphLayerDepr_t > m_MorphLayers; // 0x500 + CUtlVector< uint8 > m_MorphSetData; // 0x518 + CUtlVector< FeVertexMapDesc_t > m_VertexMaps; // 0x530 + CUtlVector< uint8 > m_VertexMapValues; // 0x548 + CUtlVector< FeEffectDesc_t > m_Effects; // 0x560 + CUtlVector< FeCtrlOffset_t > m_LockToParent; // 0x578 + CUtlVector< uint16 > m_LockToGoal; // 0x590 + CUtlVector< FeNodeWindBase_t > m_DynNodeWindBases; // 0x5a8 + float m_flInternalPressure; // 0x5c0 + float m_flDefaultTimeDilation; // 0x5c4 + float m_flWindage; // 0x5c8 + float m_flWindDrag; // 0x5cc + float m_flDefaultSurfaceStretch; // 0x5d0 + float m_flDefaultThreadStretch; // 0x5d4 + float m_flDefaultGravityScale; // 0x5d8 + float m_flDefaultVelAirDrag; // 0x5dc + float m_flDefaultExpAirDrag; // 0x5e0 + float m_flDefaultVelQuadAirDrag; // 0x5e4 + float m_flDefaultExpQuadAirDrag; // 0x5e8 + float m_flRodVelocitySmoothRate; // 0x5ec + float m_flQuadVelocitySmoothRate; // 0x5f0 + float m_flAddWorldCollisionRadius; // 0x5f4 + float m_flDefaultVolumetricSolveAmount; // 0x5f8 + uint16_t m_nRodVelocitySmoothIterations; // 0x5fc + uint16_t m_nQuadVelocitySmoothIterations; // 0x5fe }; // Alignment: 1 // Size: 0xb0 struct RnMeshDesc_t : public RnShapeDesc_t -{ +{ public: - RnMesh_t m_Mesh; // 0x10 + RnMesh_t m_Mesh; // 0x10 }; // Alignment: 1 // Size: 0x20 struct RnSphereDesc_t : public RnShapeDesc_t -{ +{ public: - RnSphere_t m_Sphere; // 0x10 + RnSphere_t m_Sphere; // 0x10 }; // Alignment: 1 // Size: 0x30 struct RnCapsuleDesc_t : public RnShapeDesc_t -{ +{ public: - RnCapsule_t m_Capsule; // 0x10 + RnCapsule_t m_Capsule; // 0x10 }; // Alignment: 3 // Size: 0x20 -struct RnSoftbodyCapsule_t : public -{ +struct RnSoftbodyCapsule_t +{ public: - Vector[2] m_vCenter; // 0x0 - float m_flRadius; // 0x18 - uint16[2] m_nParticle; // 0x1c + Vector m_vCenter[2]; // 0x0 + float m_flRadius; // 0x18 + uint16_t m_nParticle[2]; // 0x1c }; // Alignment: 1 // Size: 0xe8 struct RnHullDesc_t : public RnShapeDesc_t -{ +{ public: - RnHull_t m_Hull; // 0x10 + RnHull_t m_Hull; // 0x10 }; // Alignment: 1 // Size: 0x4 -struct RnSoftbodyParticle_t : public -{ +struct RnSoftbodyParticle_t +{ public: - float m_flMassInv; // 0x0 + float m_flMassInv; // 0x0 }; // Alignment: 2 // Size: 0x8 -struct RnSoftbodySpring_t : public -{ +struct RnSoftbodySpring_t +{ public: - uint16[2] m_nParticle; // 0x0 - float m_flLength; // 0x4 + uint16_t m_nParticle[2]; // 0x0 + float m_flLength; // 0x4 }; // Alignment: 12 // Size: 0x30 -struct VMixDynamicsDesc_t : public -{ +struct VMixDynamicsDesc_t +{ public: - float m_fldbGain; // 0x0 - float m_fldbNoiseGateThreshold; // 0x4 - float m_fldbCompressionThreshold; // 0x8 - float m_fldbLimiterThreshold; // 0xc - float m_fldbKneeWidth; // 0x10 - float m_flRatio; // 0x14 - float m_flLimiterRatio; // 0x18 - float m_flAttackTimeMS; // 0x1c - float m_flReleaseTimeMS; // 0x20 - float m_flRMSTimeMS; // 0x24 - float m_flWetMix; // 0x28 - bool m_bPeakMode; // 0x2c + float m_fldbGain; // 0x0 + float m_fldbNoiseGateThreshold; // 0x4 + float m_fldbCompressionThreshold; // 0x8 + float m_fldbLimiterThreshold; // 0xc + float m_fldbKneeWidth; // 0x10 + float m_flRatio; // 0x14 + float m_flLimiterRatio; // 0x18 + float m_flAttackTimeMS; // 0x1c + float m_flReleaseTimeMS; // 0x20 + float m_flRMSTimeMS; // 0x24 + float m_flWetMix; // 0x28 + bool m_bPeakMode; // 0x2c }; // Alignment: 3 // Size: 0xc -struct VMixOscDesc_t : public -{ +struct VMixOscDesc_t +{ public: // MPropertyFriendlyName "Type" - VMixLFOShape_t oscType; // 0x0 + VMixLFOShape_t oscType; // 0x0 // MPropertyFriendlyName "Frequency (Hz)" // MPropertyAttributeRange "0.1 16000" - float m_freq; // 0x4 + float m_freq; // 0x4 // MPropertyFriendlyName "Phase (degrees)" // MPropertyAttributeRange "0 360" - float m_flPhase; // 0x8 + float m_flPhase; // 0x8 }; // Alignment: 6 // Size: 0x10 -struct VMixFilterDesc_t : public -{ +struct VMixFilterDesc_t +{ public: - VMixFilterType_t m_nFilterType; // 0x0 - VMixFilterSlope_t m_nFilterSlope; // 0x2 - bool m_bEnabled; // 0x3 - float m_fldbGain; // 0x4 - float m_flCutoffFreq; // 0x8 - float m_flQ; // 0xc + VMixFilterType_t m_nFilterType; // 0x0 + VMixFilterSlope_t m_nFilterSlope; // 0x2 + bool m_bEnabled; // 0x3 + float m_fldbGain; // 0x4 + float m_flCutoffFreq; // 0x8 + float m_flQ; // 0xc }; // Alignment: 6 // Size: 0x18 -struct VMixUtilityDesc_t : public -{ +struct VMixUtilityDesc_t +{ public: // MPropertyFriendlyName "Channels" - VMixChannelOperation_t m_nOp; // 0x0 + VMixChannelOperation_t m_nOp; // 0x0 // MPropertyFriendlyName "Input Pan" // MPropertyAttributeRange "-1 1" - float m_flInputPan; // 0x4 + float m_flInputPan; // 0x4 // MPropertyFriendlyName "Output Balance" // MPropertyAttributeRange "-1 1" - float m_flOutputBalance; // 0x8 + float m_flOutputBalance; // 0x8 // MPropertyFriendlyName "Output Gain (dB)" // MPropertyAttributeRange "-36 0" - float m_fldbOutputGain; // 0xc - bool m_bBassMono; // 0x10 - float m_flBassFreq; // 0x14 + float m_fldbOutputGain; // 0xc + bool m_bBassMono; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 +public: + float m_flBassFreq; // 0x14 }; // Alignment: 10 // Size: 0x28 -struct VMixVocoderDesc_t : public -{ +struct VMixVocoderDesc_t +{ public: - int32_t m_nBandCount; // 0x0 - float m_flBandwidth; // 0x4 - float m_fldBModGain; // 0x8 - float m_flFreqRangeStart; // 0xc - float m_flFreqRangeEnd; // 0x10 - float m_fldBUnvoicedGain; // 0x14 - float m_flAttackTimeMS; // 0x18 - float m_flReleaseTimeMS; // 0x1c - int32_t m_nDebugBand; // 0x20 - bool m_bPeakMode; // 0x24 + int32_t m_nBandCount; // 0x0 + float m_flBandwidth; // 0x4 + float m_fldBModGain; // 0x8 + float m_flFreqRangeStart; // 0xc + float m_flFreqRangeEnd; // 0x10 + float m_fldBUnvoicedGain; // 0x14 + float m_flAttackTimeMS; // 0x18 + float m_flReleaseTimeMS; // 0x1c + int32_t m_nDebugBand; // 0x20 + bool m_bPeakMode; // 0x24 }; -// Alignment: 1 -// Size: 0x20 -class CSosGroupActionTimeLimitSchema : public CSosGroupActionSchema -{ +// Alignment: 3 +// Size: 0x18 +class CSosGroupActionSchema +{ public: - // MPropertyFriendlyName "Max Time" - float m_flMaxDuration; // 0x18 + // MPropertyFriendlyName "Name" + CUtlString m_name; // 0x8 + // MPropertyFriendlyName "Action Type" + ActionType_t m_actionType; // 0x10 + // MPropertySuppressField + ActionType_t m_actionInstanceType; // 0x14 }; // Alignment: 1 // Size: 0x4 -struct VMixEffectChainDesc_t : public -{ +struct VMixEffectChainDesc_t +{ public: // MPropertyFriendlyName "Crossfade Time (s)" // MPropertyAttributeRange "0.1 10" - float m_flCrossfadeTime; // 0x0 + float m_flCrossfadeTime; // 0x0 }; // Alignment: 10 // Size: 0x24 -struct VMixDynamicsBand_t : public -{ +struct VMixDynamicsBand_t +{ public: // MPropertyFriendlyName "Input Gain (dB)" - float m_fldbGainInput; // 0x0 + float m_fldbGainInput; // 0x0 // MPropertyFriendlyName "Output Gain (dB)" - float m_fldbGainOutput; // 0x4 + float m_fldbGainOutput; // 0x4 // MPropertyFriendlyName "Below Threshold(dB)" - float m_fldbThresholdBelow; // 0x8 + float m_fldbThresholdBelow; // 0x8 // MPropertyFriendlyName "Above Threshold(dB)" - float m_fldbThresholdAbove; // 0xc + float m_fldbThresholdAbove; // 0xc // MPropertyFriendlyName "Upward Ratio" - float m_flRatioBelow; // 0x10 + float m_flRatioBelow; // 0x10 // MPropertyFriendlyName "Downward Ratio" - float m_flRatioAbove; // 0x14 + float m_flRatioAbove; // 0x14 // MPropertyFriendlyName "Attack time (ms)" - float m_flAttackTimeMS; // 0x18 + float m_flAttackTimeMS; // 0x18 // MPropertyFriendlyName "Release time (ms)" - float m_flReleaseTimeMS; // 0x1c + float m_flReleaseTimeMS; // 0x1c // MPropertyFriendlyName "Enabled" - bool m_bEnable; // 0x20 + bool m_bEnable; // 0x20 // MPropertyFriendlyName "Solo" - bool m_bSolo; // 0x21 + bool m_bSolo; // 0x21 }; // Alignment: 8 // Size: 0x2c -struct VMixAutoFilterDesc_t : public -{ +struct VMixAutoFilterDesc_t +{ public: - float m_flEnvelopeAmount; // 0x0 - float m_flAttackTimeMS; // 0x4 - float m_flReleaseTimeMS; // 0x8 - VMixFilterDesc_t m_filter; // 0xc - float m_flLFOAmount; // 0x1c - float m_flLFORate; // 0x20 - float m_flPhase; // 0x24 - VMixLFOShape_t m_nLFOShape; // 0x28 + float m_flEnvelopeAmount; // 0x0 + float m_flAttackTimeMS; // 0x4 + float m_flReleaseTimeMS; // 0x8 + VMixFilterDesc_t m_filter; // 0xc + float m_flLFOAmount; // 0x1c + float m_flLFORate; // 0x20 + float m_flPhase; // 0x24 + VMixLFOShape_t m_nLFOShape; // 0x28 }; // Alignment: 3 // Size: 0x28 class CSosGroupActionLimitSchema : public CSosGroupActionSchema -{ +{ public: // MPropertyFriendlyName "Max Count" - int32_t m_nMaxCount; // 0x18 + int32_t m_nMaxCount; // 0x18 // MPropertyAttributeChoiceEnumName // MPropertyFriendlyName "Stop Type" - SosActionStopType_t m_nStopType; // 0x1c + SosActionStopType_t m_nStopType; // 0x1c // MPropertyAttributeChoiceEnumName // MPropertyFriendlyName "Sort Type" - SosActionSortType_t m_nSortType; // 0x20 + SosActionSortType_t m_nSortType; // 0x20 }; // Alignment: 3 // Size: 0xc -struct VMixEnvelopeDesc_t : public -{ +struct VMixEnvelopeDesc_t +{ public: - float m_flAttackTimeMS; // 0x0 - float m_flHoldTimeMS; // 0x4 - float m_flReleaseTimeMS; // 0x8 + float m_flAttackTimeMS; // 0x0 + float m_flHoldTimeMS; // 0x4 + float m_flReleaseTimeMS; // 0x8 }; // Alignment: 5 // Size: 0x14 -struct VMixShaperDesc_t : public -{ +struct VMixShaperDesc_t +{ public: // MPropertyFriendlyName "Shape" // MPropertyAttributeRange "0 14" - int32_t m_nShape; // 0x0 + int32_t m_nShape; // 0x0 // MPropertyFriendlyName "Drive (dB)" // MPropertyAttributeRange "0 36" - float m_fldbDrive; // 0x4 + float m_fldbDrive; // 0x4 // MPropertyFriendlyName "Output Gain (dB)" // MPropertyAttributeRange "-36 0" - float m_fldbOutputGain; // 0x8 + float m_fldbOutputGain; // 0x8 // MPropertyFriendlyName "Dry/Wet" - float m_flWetMix; // 0xc + float m_flWetMix; // 0xc // MPropertyFriendlyName "Oversampling" - int32_t m_nOversampleFactor; // 0x10 + int32_t m_nOversampleFactor; // 0x10 }; // Alignment: 9 // Size: 0x24 -struct VMixDynamicsCompressorDesc_t : public -{ +struct VMixDynamicsCompressorDesc_t +{ public: // MPropertyFriendlyName "Output Gain (dB)" - float m_fldbOutputGain; // 0x0 + float m_fldbOutputGain; // 0x0 // MPropertyFriendlyName "Threshold (dB)" - float m_fldbCompressionThreshold; // 0x4 + float m_fldbCompressionThreshold; // 0x4 // MPropertyFriendlyName "Knee Width (dB)" - float m_fldbKneeWidth; // 0x8 + float m_fldbKneeWidth; // 0x8 // MPropertyFriendlyName "Compression Ratio" - float m_flCompressionRatio; // 0xc + float m_flCompressionRatio; // 0xc // MPropertyFriendlyName "Attack time (ms)" - float m_flAttackTimeMS; // 0x10 + float m_flAttackTimeMS; // 0x10 // MPropertyFriendlyName "Release time (ms)" - float m_flReleaseTimeMS; // 0x14 + float m_flReleaseTimeMS; // 0x14 // MPropertyFriendlyName "Threshold detection time (ms)" - float m_flRMSTimeMS; // 0x18 + float m_flRMSTimeMS; // 0x18 // MPropertyFriendlyName "Dry/Wet" - float m_flWetMix; // 0x1c + float m_flWetMix; // 0x1c // MPropertyFriendlyName "Peak mode" - bool m_bPeakMode; // 0x20 + bool m_bPeakMode; // 0x20 }; // Alignment: 4 // Size: 0x10 -struct VMixDiffusorDesc_t : public -{ +struct VMixDiffusorDesc_t +{ public: - float m_flSize; // 0x0 - float m_flComplexity; // 0x4 - float m_flFeedback; // 0x8 - float m_flOutputGain; // 0xc + float m_flSize; // 0x0 + float m_flComplexity; // 0x4 + float m_flFeedback; // 0x8 + float m_flOutputGain; // 0xc }; // Alignment: 7 // Size: 0x1c -struct VMixPlateverbDesc_t : public -{ +struct VMixPlateverbDesc_t +{ public: - float m_flPrefilter; // 0x0 - float m_flInputDiffusion1; // 0x4 - float m_flInputDiffusion2; // 0x8 - float m_flDecay; // 0xc - float m_flDamp; // 0x10 - float m_flFeedbackDiffusion1; // 0x14 - float m_flFeedbackDiffusion2; // 0x18 + float m_flPrefilter; // 0x0 + float m_flInputDiffusion1; // 0x4 + float m_flInputDiffusion2; // 0x8 + float m_flDecay; // 0xc + float m_flDamp; // 0x10 + float m_flFeedbackDiffusion1; // 0x14 + float m_flFeedbackDiffusion2; // 0x18 }; // Alignment: 5 // Size: 0x30 -struct SosEditItemInfo_t : public -{ +struct SosEditItemInfo_t +{ public: - SosEditItemType_t itemType; // 0x0 - CUtlString itemName; // 0x8 - CUtlString itemTypeName; // 0x10 - CUtlString itemKVString; // 0x20 - Vector2D itemPos; // 0x28 + SosEditItemType_t itemType; // 0x0 + CUtlString itemName; // 0x8 + CUtlString itemTypeName; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0018[0x8]; // 0x18 +public: + CUtlString itemKVString; // 0x20 + Vector2D itemPos; // 0x28 +}; + +// Alignment: 4 +// Size: 0x10 +class CSosGroupBranchPattern +{ +public: + // MPropertyFriendlyName "Event Name" + bool m_bMatchEventName; // 0x8 + // MPropertyFriendlyName "Sub-String" + bool m_bMatchEventSubString; // 0x9 + // MPropertyFriendlyName "Source Entity Index" + bool m_bMatchEntIndex; // 0xa + // MPropertyFriendlyName "Operator Variable" + bool m_bMatchOpvar; // 0xb +}; + +// Alignment: 1 +// Size: 0x18 +class CSosSoundEventGroupListSchema +{ +public: + // MPropertyAutoExpandSelf + // MPropertyFriendlyName "Groups" + CUtlVector< CSosSoundEventGroupSchema > m_groupList; // 0x0 +}; + +// Alignment: 8 +// Size: 0x20 +struct VMixConvolutionDesc_t +{ +public: + // MPropertyFriendlyName "gain of wet signal (dB)" + // MPropertyAttributeRange "-36 3" + float m_fldbGain; // 0x0 + // MPropertyFriendlyName "Pre-delay (ms)" + float m_flPreDelayMS; // 0x4 + // MPropertyFriendlyName "Dry/Wet" + float m_flWetMix; // 0x8 + // MPropertyFriendlyName "Low EQ gain (dB)" + // MPropertyAttributeRange "-24 24" + float m_fldbLow; // 0xc + // MPropertyFriendlyName "Mid EQ gain (dB)" + // MPropertyAttributeRange "-24 24" + float m_fldbMid; // 0x10 + // MPropertyFriendlyName "High EQ gain (dB)" + // MPropertyAttributeRange "-24 24" + float m_fldbHigh; // 0x14 + // MPropertyFriendlyName "Low Cutoff Freq (Hz)" + float m_flLowCutoffFreq; // 0x18 + // MPropertyFriendlyName "High Cutoff Freq (Hz)" + float m_flHighCutoffFreq; // 0x1c +}; + +// Alignment: 4 +// Size: 0x10 +struct VMixPitchShiftDesc_t +{ +public: + int32_t m_nGrainSampleCount; // 0x0 + float m_flPitchShift; // 0x4 + int32_t m_nQuality; // 0x8 + int32_t m_nProcType; // 0xc +}; + +// Alignment: 1 +// Size: 0x8 +class CSoundEventMetaData +{ +public: + CStrongHandle< InfoForResourceTypeCVMixListResource > m_soundEventVMix; // 0x0 +}; + +// Alignment: 1 +// Size: 0x80 +struct VMixEQ8Desc_t +{ +public: + VMixFilterDesc_t m_stages[8]; // 0x0 +}; + +// Alignment: 7 +// Size: 0x28 +struct VMixDelayDesc_t +{ +public: + VMixFilterDesc_t m_feedbackFilter; // 0x0 + bool m_bEnableFilter; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 +public: + float m_flDelay; // 0x14 + float m_flDirectGain; // 0x18 + float m_flDelayGain; // 0x1c + float m_flFeedbackGain; // 0x20 + float m_flWidth; // 0x24 +}; + +// Alignment: 2 +// Size: 0x20 +class CDspPresetModifierList +{ +public: + // MPropertyDescription "Name of the DSP effect / subgraph used." + // MPropertyFriendlyName "DSP Effect Name" + CUtlString m_dspName; // 0x0 + // MPropertyDescription "Set of modifiers for individual mix groups" + // MPropertyFriendlyName "Mixgroup Modifiers" + CUtlVector< CDSPMixgroupModifier > m_modifiers; // 0x8 +}; + +// Alignment: 6 +// Size: 0x20 +class CDSPMixgroupModifier +{ +public: + // MPropertyDescription "Name of the mixgroup. TODO: needs to be autopopulated with mixgroups." + // MPropertyFriendlyName "Mixgroup Name" + CUtlString m_mixgroup; // 0x0 + // MPropertyDescription "The amount to multiply the volume of the non-spatialized reverb/dsp by when at the max reverb blend distance. 1.0 leaves the volume unchanged." + // MPropertyFriendlyName "Max reverb gain amount for listener DSP." + float m_flModifier; // 0x8 + // MPropertyDescription "The amount to multiply the volume of the non-spatialized reverb/dsp by when at the min reverb blend distance. 1.0 leaves the volume unchanged." + // MPropertyFriendlyName "Min reverb gain amount amount for listener DSP." + float m_flModifierMin; // 0xc + // MPropertyDescription "If set to >= 0, we will use this mix modifier for source-specific DSP effects. Otherwise we will use the listener DSP value." + // MPropertyFriendlyName "Max reverb gain amount for source-specific DSP." + float m_flSourceModifier; // 0x10 + // MPropertyDescription "If set to >= 0, we will use this mix modifier for source-specific DSP effects. Otherwise we will use the listener DSP value." + // MPropertyFriendlyName "Min reverb gain amount for source-specific DSP." + float m_flSourceModifierMin; // 0x14 + // MPropertyDescription "When a source has source-specific DSP, this can be used as an additional mix stage for the listener reverb amount." + // MPropertyFriendlyName "Modification amount for listener DSP when source DSP is used." + float m_flListenerReverbModifierWhenSourceReverbIsActive; // 0x18 +}; + +// Alignment: 10 +// Size: 0x90 +struct VMixDynamics3BandDesc_t +{ +public: + float m_fldbGainOutput; // 0x0 + float m_flRMSTimeMS; // 0x4 + float m_fldbKneeWidth; // 0x8 + float m_flDepth; // 0xc + float m_flWetMix; // 0x10 + float m_flTimeScale; // 0x14 + float m_flLowCutoffFreq; // 0x18 + float m_flHighCutoffFreq; // 0x1c + bool m_bPeakMode; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0021[0x3]; // 0x21 +public: + VMixDynamicsBand_t m_bandDesc[3]; // 0x24 }; // Alignment: 4 // Size: 0x28 class CSosGroupMatchPattern : public CSosGroupBranchPattern -{ +{ public: // MPropertyFriendlyName "Event Name" - CUtlString m_matchSoundEventName; // 0x10 + CUtlString m_matchSoundEventName; // 0x10 // MPropertyFriendlyName "Sub-String" - CUtlString m_matchSoundEventSubString; // 0x18 + CUtlString m_matchSoundEventSubString; // 0x18 // MPropertyFriendlyName "Entity Index" - float m_flEntIndex; // 0x20 + float m_flEntIndex; // 0x20 // MPropertyFriendlyName "Operator Variable Value" - float m_flOpvar; // 0x24 -}; - -// Alignment: 1 -// Size: 0x18 -class CSosSoundEventGroupListSchema : public -{ -public: - // MPropertyAutoExpandSelf - // MPropertyFriendlyName "Groups" - CUtlVector< CSosSoundEventGroupSchema > m_groupList; // 0x0 -}; - -// Alignment: 8 -// Size: 0x20 -struct VMixConvolutionDesc_t : public -{ -public: - // MPropertyFriendlyName "gain of wet signal (dB)" - // MPropertyAttributeRange "-36 3" - float m_fldbGain; // 0x0 - // MPropertyFriendlyName "Pre-delay (ms)" - float m_flPreDelayMS; // 0x4 - // MPropertyFriendlyName "Dry/Wet" - float m_flWetMix; // 0x8 - // MPropertyFriendlyName "Low EQ gain (dB)" - // MPropertyAttributeRange "-24 24" - float m_fldbLow; // 0xc - // MPropertyFriendlyName "Mid EQ gain (dB)" - // MPropertyAttributeRange "-24 24" - float m_fldbMid; // 0x10 - // MPropertyFriendlyName "High EQ gain (dB)" - // MPropertyAttributeRange "-24 24" - float m_fldbHigh; // 0x14 - // MPropertyFriendlyName "Low Cutoff Freq (Hz)" - float m_flLowCutoffFreq; // 0x18 - // MPropertyFriendlyName "High Cutoff Freq (Hz)" - float m_flHighCutoffFreq; // 0x1c -}; - -// Alignment: 4 -// Size: 0x10 -struct VMixPitchShiftDesc_t : public -{ -public: - int32_t m_nGrainSampleCount; // 0x0 - float m_flPitchShift; // 0x4 - int32_t m_nQuality; // 0x8 - int32_t m_nProcType; // 0xc -}; - -// Alignment: 1 -// Size: 0x8 -class CSoundEventMetaData : public -{ -public: - CStrongHandle< InfoForResourceTypeCVMixListResource > m_soundEventVMix; // 0x0 -}; - -// Alignment: 1 -// Size: 0x80 -struct VMixEQ8Desc_t : public -{ -public: - VMixFilterDesc_t[8] m_stages; // 0x0 -}; - -// Alignment: 7 -// Size: 0x28 -struct VMixDelayDesc_t : public -{ -public: - VMixFilterDesc_t m_feedbackFilter; // 0x0 - bool m_bEnableFilter; // 0x10 - float m_flDelay; // 0x14 - float m_flDirectGain; // 0x18 - float m_flDelayGain; // 0x1c - float m_flFeedbackGain; // 0x20 - float m_flWidth; // 0x24 -}; - -// Alignment: 2 -// Size: 0x20 -class CDspPresetModifierList : public -{ -public: - // MPropertyDescription "Name of the DSP effect / subgraph used." - // MPropertyFriendlyName "DSP Effect Name" - CUtlString m_dspName; // 0x0 - // MPropertyDescription "Set of modifiers for individual mix groups" - // MPropertyFriendlyName "Mixgroup Modifiers" - CUtlVector< CDSPMixgroupModifier > m_modifiers; // 0x8 -}; - -// Alignment: 6 -// Size: 0x20 -class CDSPMixgroupModifier : public -{ -public: - // MPropertyDescription "Name of the mixgroup. TODO: needs to be autopopulated with mixgroups." - // MPropertyFriendlyName "Mixgroup Name" - CUtlString m_mixgroup; // 0x0 - // MPropertyDescription "The amount to multiply the volume of the non-spatialized reverb/dsp by when at the max reverb blend distance. 1.0 leaves the volume unchanged." - // MPropertyFriendlyName "Max reverb gain amount for listener DSP." - float m_flModifier; // 0x8 - // MPropertyDescription "The amount to multiply the volume of the non-spatialized reverb/dsp by when at the min reverb blend distance. 1.0 leaves the volume unchanged." - // MPropertyFriendlyName "Min reverb gain amount amount for listener DSP." - float m_flModifierMin; // 0xc - // MPropertyDescription "If set to >= 0, we will use this mix modifier for source-specific DSP effects. Otherwise we will use the listener DSP value." - // MPropertyFriendlyName "Max reverb gain amount for source-specific DSP." - float m_flSourceModifier; // 0x10 - // MPropertyDescription "If set to >= 0, we will use this mix modifier for source-specific DSP effects. Otherwise we will use the listener DSP value." - // MPropertyFriendlyName "Min reverb gain amount for source-specific DSP." - float m_flSourceModifierMin; // 0x14 - // MPropertyDescription "When a source has source-specific DSP, this can be used as an additional mix stage for the listener reverb amount." - // MPropertyFriendlyName "Modification amount for listener DSP when source DSP is used." - float m_flListenerReverbModifierWhenSourceReverbIsActive; // 0x18 -}; - -// Alignment: 10 -// Size: 0x90 -struct VMixDynamics3BandDesc_t : public -{ -public: - float m_fldbGainOutput; // 0x0 - float m_flRMSTimeMS; // 0x4 - float m_fldbKneeWidth; // 0x8 - float m_flDepth; // 0xc - float m_flWetMix; // 0x10 - float m_flTimeScale; // 0x14 - float m_flLowCutoffFreq; // 0x18 - float m_flHighCutoffFreq; // 0x1c - bool m_bPeakMode; // 0x20 - VMixDynamicsBand_t[3] m_bandDesc; // 0x24 -}; - -// Alignment: 4 -// Size: 0x10 -class CSosGroupBranchPattern : public -{ -public: - // MPropertyFriendlyName "Event Name" - bool m_bMatchEventName; // 0x8 - // MPropertyFriendlyName "Sub-String" - bool m_bMatchEventSubString; // 0x9 - // MPropertyFriendlyName "Source Entity Index" - bool m_bMatchEntIndex; // 0xa - // MPropertyFriendlyName "Operator Variable" - bool m_bMatchOpvar; // 0xb + float m_flOpvar; // 0x24 }; // Alignment: 8 // Size: 0xd0 -class CSosSoundEventGroupSchema : public -{ +class CSosSoundEventGroupSchema +{ public: // MPropertyFriendlyName "Group Name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 // MPropertyAttributeChoiceEnumName // MPropertyFriendlyName "Group Type" - SosGroupType_t m_nType; // 0x8 + SosGroupType_t m_nType; // 0x8 // MPropertyFriendlyName "Blocks Events" - bool m_bIsBlocking; // 0xc + bool m_bIsBlocking; // 0xc +private: + [[maybe_unused]] uint8_t __pad000d[0x3]; // 0xd +public: // MPropertyFriendlyName "Block Max Count" - int32_t m_nBlockMaxCount; // 0x10 + int32_t m_nBlockMaxCount; // 0x10 // MPropertyFriendlyName "Invert Match" - bool m_bInvertMatch; // 0x14 + bool m_bInvertMatch; // 0x14 +private: + [[maybe_unused]] uint8_t __pad0015[0x3]; // 0x15 +public: // MPropertyFriendlyName "Match Rules" - CSosGroupMatchPattern m_matchPattern; // 0x18 + CSosGroupMatchPattern m_matchPattern; // 0x18 // MPropertyFriendlyName "Branch Rules" - CSosGroupBranchPattern m_branchPattern; // 0x40 + CSosGroupBranchPattern m_branchPattern; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0050[0x60]; // 0x50 +public: // MPropertyFriendlyName "Actions" - CSosGroupActionSchema*[4] m_vActions; // 0xb0 + CSosGroupActionSchema* m_vActions[4]; // 0xb0 }; -// Alignment: 3 -// Size: 0x18 -class CSosGroupActionSchema : public -{ +// Alignment: 1 +// Size: 0x20 +class CSosGroupActionTimeLimitSchema : public CSosGroupActionSchema +{ public: - // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x8 - // MPropertyFriendlyName "Action Type" - ActionType_t m_actionType; // 0x10 - // MPropertySuppressField - ActionType_t m_actionInstanceType; // 0x14 + // MPropertyFriendlyName "Max Time" + float m_flMaxDuration; // 0x18 }; // Alignment: 17 // Size: 0x50 -struct VMixBoxverbDesc_t : public -{ +struct VMixBoxverbDesc_t +{ public: - float m_flSizeMax; // 0x0 - float m_flSizeMin; // 0x4 - float m_flComplexity; // 0x8 - float m_flDiffusion; // 0xc - float m_flModDepth; // 0x10 - float m_flModRate; // 0x14 - bool m_bParallel; // 0x18 - VMixFilterDesc_t m_filterType; // 0x1c - float m_flWidth; // 0x2c - float m_flHeight; // 0x30 - float m_flDepth; // 0x34 - float m_flFeedbackScale; // 0x38 - float m_flFeedbackWidth; // 0x3c - float m_flFeedbackHeight; // 0x40 - float m_flFeedbackDepth; // 0x44 - float m_flOutputGain; // 0x48 - float m_flTaps; // 0x4c + float m_flSizeMax; // 0x0 + float m_flSizeMin; // 0x4 + float m_flComplexity; // 0x8 + float m_flDiffusion; // 0xc + float m_flModDepth; // 0x10 + float m_flModRate; // 0x14 + bool m_bParallel; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + VMixFilterDesc_t m_filterType; // 0x1c + float m_flWidth; // 0x2c + float m_flHeight; // 0x30 + float m_flDepth; // 0x34 + float m_flFeedbackScale; // 0x38 + float m_flFeedbackWidth; // 0x3c + float m_flFeedbackHeight; // 0x40 + float m_flFeedbackDepth; // 0x44 + float m_flOutputGain; // 0x48 + float m_flTaps; // 0x4c }; // Alignment: 9 // Size: 0x30 -struct VMixModDelayDesc_t : public -{ +struct VMixModDelayDesc_t +{ public: - VMixFilterDesc_t m_feedbackFilter; // 0x0 - bool m_bPhaseInvert; // 0x10 - float m_flGlideTime; // 0x14 - float m_flDelay; // 0x18 - float m_flOutputGain; // 0x1c - float m_flFeedbackGain; // 0x20 - float m_flModRate; // 0x24 - float m_flModDepth; // 0x28 - bool m_bApplyAntialiasing; // 0x2c + VMixFilterDesc_t m_feedbackFilter; // 0x0 + bool m_bPhaseInvert; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 +public: + float m_flGlideTime; // 0x14 + float m_flDelay; // 0x18 + float m_flOutputGain; // 0x1c + float m_flFeedbackGain; // 0x20 + float m_flModRate; // 0x24 + float m_flModDepth; // 0x28 + bool m_bApplyAntialiasing; // 0x2c }; // Alignment: 1 // Size: 0x18 -struct SelectedEditItemInfo_t : public -{ +struct SelectedEditItemInfo_t +{ public: - CUtlVector< SosEditItemInfo_t > m_EditItems; // 0x0 + CUtlVector< SosEditItemInfo_t > m_EditItems; // 0x0 }; // Alignment: 2 // Size: 0x8 -struct VMixPannerDesc_t : public -{ +struct VMixPannerDesc_t +{ public: - VMixPannerType_t m_type; // 0x0 - float m_flStrength; // 0x4 + VMixPannerType_t m_type; // 0x0 + float m_flStrength; // 0x4 }; // Alignment: 3 // Size: 0xc -struct VMixSubgraphSwitchDesc_t : public -{ +struct VMixSubgraphSwitchDesc_t +{ public: - VMixSubgraphSwitchInterpolationType_t m_interpolationMode; // 0x0 - bool m_bOnlyTailsOnFadeOut; // 0x4 - float m_flInterpolationTime; // 0x8 + VMixSubgraphSwitchInterpolationType_t m_interpolationMode; // 0x0 + bool m_bOnlyTailsOnFadeOut; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + float m_flInterpolationTime; // 0x8 }; // Alignment: 1 // Size: 0x18 -class CDSPPresetMixgroupModifierTable : public -{ +class CDSPPresetMixgroupModifierTable +{ public: // MPropertyDescription "Table of mixgroup modifiers for effect names." // MPropertyFriendlyName "Modifier Table" - CUtlVector< CDspPresetModifierList > m_table; // 0x0 + CUtlVector< CDspPresetModifierList > m_table; // 0x0 }; // Alignment: 4 // Size: 0x10 -struct VMixFreeverbDesc_t : public -{ +struct VMixFreeverbDesc_t +{ public: - float m_flRoomSize; // 0x0 - float m_flDamp; // 0x4 - float m_flWidth; // 0x8 - float m_flLateReflections; // 0xc + float m_flRoomSize; // 0x0 + float m_flDamp; // 0x4 + float m_flWidth; // 0x8 + float m_flLateReflections; // 0xc }; // Alignment: 1 // Size: 0x18 -class CSSDSMsg_EndFrame : public -{ +class CSSDSMsg_EndFrame +{ public: - CUtlVector< CSSDSEndFrameViewInfo > m_Views; // 0x0 + CUtlVector< CSSDSEndFrameViewInfo > m_Views; // 0x0 }; // Alignment: 2 -// Size: 0x18 -class CSSDSMsg_ViewRender : public -{ +// Size: 0x10 +struct SceneViewId_t +{ public: - SceneViewId_t m_viewId; // 0x0 - CUtlString m_ViewName; // 0x10 + uint64_t m_nViewId; // 0x0 + uint64_t m_nFrameCount; // 0x8 }; // Alignment: 3 // Size: 0x30 -class CSSDSMsg_ViewTargetList : public -{ +class CSSDSMsg_ViewTargetList +{ public: - SceneViewId_t m_viewId; // 0x0 - CUtlString m_ViewName; // 0x10 - CUtlVector< CSSDSMsg_ViewTarget > m_Targets; // 0x18 + SceneViewId_t m_viewId; // 0x0 + CUtlString m_ViewName; // 0x10 + CUtlVector< CSSDSMsg_ViewTarget > m_Targets; // 0x18 +}; + +// Alignment: 6 +// Size: 0x38 +class CSSDSMsg_LayerBase +{ +public: + SceneViewId_t m_viewId; // 0x0 + CUtlString m_ViewName; // 0x10 + int32_t m_nLayerIndex; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + uint64_t m_nLayerId; // 0x20 + CUtlString m_LayerName; // 0x28 + CUtlString m_displayText; // 0x30 }; // Alignment: 0 // Size: 0x38 class CSSDSMsg_PreLayer : public CSSDSMsg_LayerBase -{ +{ public: // no members available }; -// Alignment: 6 -// Size: 0x38 -class CSSDSMsg_LayerBase : public -{ -public: - SceneViewId_t m_viewId; // 0x0 - CUtlString m_ViewName; // 0x10 - int32_t m_nLayerIndex; // 0x18 - uint64_t m_nLayerId; // 0x20 - CUtlString m_LayerName; // 0x28 - CUtlString m_displayText; // 0x30 -}; - // Alignment: 0 // Size: 0x38 class CSSDSMsg_PostLayer : public CSSDSMsg_LayerBase -{ +{ public: // no members available }; // Alignment: 2 // Size: 0x10 -class CSSDSEndFrameViewInfo : public -{ +class CSSDSEndFrameViewInfo +{ public: - uint64_t m_nViewId; // 0x0 - CUtlString m_ViewName; // 0x8 + uint64_t m_nViewId; // 0x0 + CUtlString m_ViewName; // 0x8 }; // Alignment: 2 -// Size: 0x10 -struct SceneViewId_t : public -{ +// Size: 0x18 +class CSSDSMsg_ViewRender +{ public: - uint64_t m_nViewId; // 0x0 - uint64_t m_nFrameCount; // 0x8 + SceneViewId_t m_viewId; // 0x0 + CUtlString m_ViewName; // 0x10 }; // Alignment: 10 // Size: 0x30 -class CSSDSMsg_ViewTarget : public -{ +class CSSDSMsg_ViewTarget +{ public: - CUtlString m_Name; // 0x0 - uint64_t m_TextureId; // 0x8 - int32_t m_nWidth; // 0x10 - int32_t m_nHeight; // 0x14 - int32_t m_nRequestedWidth; // 0x18 - int32_t m_nRequestedHeight; // 0x1c - int32_t m_nNumMipLevels; // 0x20 - int32_t m_nDepth; // 0x24 - int32_t m_nMultisampleNumSamples; // 0x28 - int32_t m_nFormat; // 0x2c + CUtlString m_Name; // 0x0 + uint64_t m_TextureId; // 0x8 + int32_t m_nWidth; // 0x10 + int32_t m_nHeight; // 0x14 + int32_t m_nRequestedWidth; // 0x18 + int32_t m_nRequestedHeight; // 0x1c + int32_t m_nNumMipLevels; // 0x20 + int32_t m_nDepth; // 0x24 + int32_t m_nMultisampleNumSamples; // 0x28 + int32_t m_nFormat; // 0x2c }; -// Alignment: 13 -// Size: 0xa0 -class CVoxelVisibility : public -{ +// Alignment: 2 +// Size: 0x8 +struct VoxelVisBlockOffset_t +{ public: - uint32_t m_nBaseClusterCount; // 0x40 - uint32_t m_nPVSBytesPerCluster; // 0x44 - Vector m_vMinBounds; // 0x48 - Vector m_vMaxBounds; // 0x54 - float m_flGridSize; // 0x60 - uint32_t m_nSkyVisibilityCluster; // 0x64 - uint32_t m_nSunVisibilityCluster; // 0x68 - VoxelVisBlockOffset_t m_NodeBlock; // 0x6c - VoxelVisBlockOffset_t m_RegionBlock; // 0x74 - VoxelVisBlockOffset_t m_EnclosedClusterListBlock; // 0x7c - VoxelVisBlockOffset_t m_EnclosedClustersBlock; // 0x84 - VoxelVisBlockOffset_t m_MasksBlock; // 0x8c - VoxelVisBlockOffset_t m_nVisBlocks; // 0x94 + uint32_t m_nOffset; // 0x0 + uint32_t m_nElementCount; // 0x4 }; // Alignment: 2 // Size: 0x30 -struct EntityKeyValueData_t : public -{ +struct EntityKeyValueData_t +{ public: - CUtlBinaryBlock m_keyValuesData; // 0x0 - CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18 + CUtlBinaryBlock m_keyValuesData; // 0x0 + CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18 +}; + +// Alignment: 1 +// Size: 0x4 +struct BaseSceneObjectOverride_t +{ +public: + uint32_t m_nSceneObjectIndex; // 0x0 +}; + +// Alignment: 10 +// Size: 0x70 +struct InfoOverlayData_t +{ +public: + matrix3x4_t m_transform; // 0x0 + float m_flWidth; // 0x30 + float m_flHeight; // 0x34 + float m_flDepth; // 0x38 + Vector2D m_vUVStart; // 0x3c + Vector2D m_vUVEnd; // 0x44 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x50 + int32_t m_nRenderOrder; // 0x58 + Vector4D m_vTintColor; // 0x5c + int32_t m_nSequenceOverride; // 0x6c +}; + +// Alignment: 5 +// Size: 0x30 +struct BakedLightingInfo_t +{ +public: + uint32_t m_nLightmapVersionNumber; // 0x0 + uint32_t m_nLightmapGameVersionNumber; // 0x4 + Vector2D m_vLightmapUvScale; // 0x8 + bool m_bHasLightmaps; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x7]; // 0x11 +public: + CUtlVector< CStrongHandle< InfoForResourceTypeCTextureBase > > m_lightMaps; // 0x18 +}; + +// Alignment: 12 +// Size: 0x30 +struct AggregateMeshInfo_t +{ +public: + uint32_t m_nVisClusterMemberOffset; // 0x0 + uint8_t m_nVisClusterMemberCount; // 0x4 + bool m_bHasTransform; // 0x5 + int16_t m_nDrawCallIndex; // 0x6 + Color m_vTintColor; // 0x8 + uint8_t m_nLODGroupMask; // 0xc +private: + [[maybe_unused]] uint8_t __pad000d[0x3]; // 0xd +public: + ObjectTypeFlags_t m_objectFlags; // 0x10 + Vector m_vLODOrigin; // 0x14 + float m_fLODStartDrawDistance; // 0x20 + float m_fLODEndDrawDistance; // 0x24 + float m_fMaxObjectScale; // 0x28 + int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x2c +}; + +// Alignment: 4 +// Size: 0x38 +struct WorldNodeOnDiskBufferData_t +{ +public: + int32_t m_nElementCount; // 0x0 + int32_t m_nElementSizeInBytes; // 0x4 + CUtlVector< RenderInputLayoutField_t > m_inputLayoutFields; // 0x8 + CUtlVector< uint8 > m_pData; // 0x20 +}; + +// Alignment: 0 +// Size: 0x1 +struct InfoForResourceTypeVMapResourceData_t +{ +public: + // no members available +}; + +// Alignment: 13 +// Size: 0xa0 +class CVoxelVisibility +{ +public: + uint32_t m_nBaseClusterCount; // 0x40 + uint32_t m_nPVSBytesPerCluster; // 0x44 + Vector m_vMinBounds; // 0x48 + Vector m_vMaxBounds; // 0x54 + float m_flGridSize; // 0x60 + uint32_t m_nSkyVisibilityCluster; // 0x64 + uint32_t m_nSunVisibilityCluster; // 0x68 + VoxelVisBlockOffset_t m_NodeBlock; // 0x6c + VoxelVisBlockOffset_t m_RegionBlock; // 0x74 + VoxelVisBlockOffset_t m_EnclosedClusterListBlock; // 0x7c + VoxelVisBlockOffset_t m_EnclosedClustersBlock; // 0x84 + VoxelVisBlockOffset_t m_MasksBlock; // 0x8c + VoxelVisBlockOffset_t m_nVisBlocks; // 0x94 +}; + +// Alignment: 5 +// Size: 0x20 +struct WorldBuilderParams_t +{ +public: + float m_flMinDrawVolumeSize; // 0x0 + bool m_bBuildBakedLighting; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + Vector2D m_vLightmapUvScale; // 0x8 + uint64_t m_nCompileTimestamp; // 0x10 + uint64_t m_nCompileFingerprint; // 0x18 +}; + +// Alignment: 7 +// Size: 0x30 +struct EntityIOConnectionData_t +{ +public: + CUtlString m_outputName; // 0x0 + uint32_t m_targetType; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlString m_targetName; // 0x10 + CUtlString m_inputName; // 0x18 + CUtlString m_overrideParam; // 0x20 + float m_flDelay; // 0x28 + int32_t m_nTimesToFire; // 0x2c }; // Alignment: 3 // Size: 0x18 struct MaterialOverride_t : public BaseSceneObjectOverride_t -{ +{ public: - uint32_t m_nSubSceneObject; // 0x4 - uint32_t m_nDrawCallIndex; // 0x8 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x10 -}; - -// Alignment: 10 -// Size: 0x70 -struct InfoOverlayData_t : public -{ + uint32_t m_nSubSceneObject; // 0x4 + uint32_t m_nDrawCallIndex; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc public: - matrix3x4_t m_transform; // 0x0 - float m_flWidth; // 0x30 - float m_flHeight; // 0x34 - float m_flDepth; // 0x38 - Vector2D m_vUVStart; // 0x3c - Vector2D m_vUVEnd; // 0x44 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x50 - int32_t m_nRenderOrder; // 0x58 - Vector4D m_vTintColor; // 0x5c - int32_t m_nSequenceOverride; // 0x6c -}; - -// Alignment: 4 -// Size: 0x80 -struct World_t : public -{ -public: - WorldBuilderParams_t m_builderParams; // 0x0 - CUtlVector< NodeData_t > m_worldNodes; // 0x20 - BakedLightingInfo_t m_worldLightingInfo; // 0x38 - CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0x68 -}; - -// Alignment: 12 -// Size: 0x30 -struct AggregateMeshInfo_t : public -{ -public: - uint32_t m_nVisClusterMemberOffset; // 0x0 - uint8_t m_nVisClusterMemberCount; // 0x4 - bool m_bHasTransform; // 0x5 - int16_t m_nDrawCallIndex; // 0x6 - Color m_vTintColor; // 0x8 - uint8_t m_nLODGroupMask; // 0xc - ObjectTypeFlags_t m_objectFlags; // 0x10 - Vector m_vLODOrigin; // 0x14 - float m_fLODStartDrawDistance; // 0x20 - float m_fLODEndDrawDistance; // 0x24 - float m_fMaxObjectScale; // 0x28 - int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x2c -}; - -// Alignment: 4 -// Size: 0x38 -struct WorldNodeOnDiskBufferData_t : public -{ -public: - int32_t m_nElementCount; // 0x0 - int32_t m_nElementSizeInBytes; // 0x4 - CUtlVector< RenderInputLayoutField_t > m_inputLayoutFields; // 0x8 - CUtlVector< uint8 > m_pData; // 0x20 -}; - -// Alignment: 0 -// Size: 0x1 -struct InfoForResourceTypeVMapResourceData_t : public -{ -public: - // no members available -}; - -// Alignment: 2 -// Size: 0x8 -struct VoxelVisBlockOffset_t : public -{ -public: - uint32_t m_nOffset; // 0x0 - uint32_t m_nElementCount; // 0x4 -}; - -// Alignment: 5 -// Size: 0x30 -struct BakedLightingInfo_t : public -{ -public: - uint32_t m_nLightmapVersionNumber; // 0x0 - uint32_t m_nLightmapGameVersionNumber; // 0x4 - Vector2D m_vLightmapUvScale; // 0x8 - bool m_bHasLightmaps; // 0x10 - CUtlVector< CStrongHandle< InfoForResourceTypeCTextureBase > > m_lightMaps; // 0x18 -}; - -// Alignment: 7 -// Size: 0x30 -struct EntityIOConnectionData_t : public -{ -public: - CUtlString m_outputName; // 0x0 - uint32_t m_targetType; // 0x8 - CUtlString m_targetName; // 0x10 - CUtlString m_inputName; // 0x18 - CUtlString m_overrideParam; // 0x20 - float m_flDelay; // 0x28 - int32_t m_nTimesToFire; // 0x2c -}; - -// Alignment: 1 -// Size: 0x4 -struct BaseSceneObjectOverride_t : public -{ -public: - uint32_t m_nSceneObjectIndex; // 0x0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x10 }; // Alignment: 12 // Size: 0x128 -struct WorldNode_t : public -{ +struct WorldNode_t +{ public: - CUtlVector< SceneObject_t > m_sceneObjects; // 0x0 - CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18 - CUtlVector< uint16 > m_visClusterMembership; // 0x30 - CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x48 - CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x60 - CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x78 - CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0x90 - CUtlVector< CUtlString > m_layerNames; // 0xa8 - CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xc0 - CUtlVector< uint8 > m_overlayLayerIndices; // 0xd8 - CUtlString m_grassFileName; // 0xf0 - BakedLightingInfo_t m_nodeLightingInfo; // 0xf8 + CUtlVector< SceneObject_t > m_sceneObjects; // 0x0 + CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18 + CUtlVector< uint16 > m_visClusterMembership; // 0x30 + CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x48 + CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x60 + CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x78 + CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0x90 + CUtlVector< CUtlString > m_layerNames; // 0xa8 + CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xc0 + CUtlVector< uint8 > m_overlayLayerIndices; // 0xd8 + CUtlString m_grassFileName; // 0xf0 + BakedLightingInfo_t m_nodeLightingInfo; // 0xf8 }; // Alignment: 4 // Size: 0x40 -struct PermEntityLumpData_t : public -{ +struct PermEntityLumpData_t +{ public: - CUtlString m_name; // 0x0 - CUtlString m_hammerUniqueId; // 0x8 - CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_childLumps; // 0x10 - CUtlVector< EntityKeyValueData_t > m_entityKeyValues; // 0x28 + CUtlString m_name; // 0x0 + CUtlString m_hammerUniqueId; // 0x8 + CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_childLumps; // 0x10 + CUtlVector< EntityKeyValueData_t > m_entityKeyValues; // 0x28 }; -// Alignment: 5 -// Size: 0x20 -struct WorldBuilderParams_t : public -{ +// Alignment: 4 +// Size: 0x80 +struct World_t +{ public: - float m_flMinDrawVolumeSize; // 0x0 - bool m_bBuildBakedLighting; // 0x4 - Vector2D m_vLightmapUvScale; // 0x8 - uint64_t m_nCompileTimestamp; // 0x10 - uint64_t m_nCompileFingerprint; // 0x18 + WorldBuilderParams_t m_builderParams; // 0x0 + CUtlVector< NodeData_t > m_worldNodes; // 0x20 + BakedLightingInfo_t m_worldLightingInfo; // 0x38 + CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0x68 }; // Alignment: 0 // Size: 0x1 -struct VMapResourceData_t : public -{ +struct VMapResourceData_t +{ public: // no members available }; // Alignment: 7 // Size: 0x50 -struct NodeData_t : public -{ +struct NodeData_t +{ public: - int32_t m_nParent; // 0x0 - Vector m_vOrigin; // 0x4 - Vector m_vMinBounds; // 0x10 - Vector m_vMaxBounds; // 0x1c - float m_flMinimumDistance; // 0x28 - CUtlVector< int32 > m_ChildNodeIndices; // 0x30 - CUtlString m_worldNodePrefix; // 0x48 + int32_t m_nParent; // 0x0 + Vector m_vOrigin; // 0x4 + Vector m_vMinBounds; // 0x10 + Vector m_vMaxBounds; // 0x1c + float m_flMinimumDistance; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CUtlVector< int32 > m_ChildNodeIndices; // 0x30 + CUtlString m_worldNodePrefix; // 0x48 }; // Alignment: 7 // Size: 0x60 -struct AggregateSceneObject_t : public -{ +struct AggregateSceneObject_t +{ public: - ObjectTypeFlags_t m_allFlags; // 0x0 - ObjectTypeFlags_t m_anyFlags; // 0x4 - int16_t m_nLayer; // 0x8 - CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x10 - CUtlVector< uint16 > m_visClusterMembership; // 0x28 - CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x40 - CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58 + ObjectTypeFlags_t m_allFlags; // 0x0 + ObjectTypeFlags_t m_anyFlags; // 0x4 + int16_t m_nLayer; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000a[0x6]; // 0xa +public: + CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x10 + CUtlVector< uint16 > m_visClusterMembership; // 0x28 + CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x40 + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58 }; // Alignment: 4 // Size: 0x28 struct ExtraVertexStreamOverride_t : public BaseSceneObjectOverride_t -{ +{ public: - uint32_t m_nSubSceneObject; // 0x4 - uint32_t m_nDrawCallIndex; // 0x8 - MeshDrawPrimitiveFlags_t m_nAdditionalMeshDrawPrimitiveFlags; // 0xc - CRenderBufferBinding m_extraBufferBinding; // 0x10 + uint32_t m_nSubSceneObject; // 0x4 + uint32_t m_nDrawCallIndex; // 0x8 + MeshDrawPrimitiveFlags_t m_nAdditionalMeshDrawPrimitiveFlags; // 0xc + CRenderBufferBinding m_extraBufferBinding; // 0x10 }; // Alignment: 15 // Size: 0x90 -struct SceneObject_t : public -{ +struct SceneObject_t +{ public: - uint32_t m_nObjectID; // 0x0 - Vector4D[3] m_vTransform; // 0x4 - float m_flFadeStartDistance; // 0x34 - float m_flFadeEndDistance; // 0x38 - Vector4D m_vTintColor; // 0x3c - CUtlString m_skin; // 0x50 - ObjectTypeFlags_t m_nObjectTypeFlags; // 0x58 - Vector m_vLightingOrigin; // 0x5c - uint32_t m_nLightGroup; // 0x68 - int16_t m_nOverlayRenderOrder; // 0x6c - int16_t m_nLODOverride; // 0x6e - int32_t m_nCubeMapPrecomputedHandshake; // 0x70 - int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x74 - CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x80 - CStrongHandle< InfoForResourceTypeCRenderMesh > m_renderable; // 0x88 + uint32_t m_nObjectID; // 0x0 + Vector4D m_vTransform[3]; // 0x4 + float m_flFadeStartDistance; // 0x34 + float m_flFadeEndDistance; // 0x38 + Vector4D m_vTintColor; // 0x3c +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + CUtlString m_skin; // 0x50 + ObjectTypeFlags_t m_nObjectTypeFlags; // 0x58 + Vector m_vLightingOrigin; // 0x5c + uint32_t m_nLightGroup; // 0x68 + int16_t m_nOverlayRenderOrder; // 0x6c + int16_t m_nLODOverride; // 0x6e + int32_t m_nCubeMapPrecomputedHandshake; // 0x70 + int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x74 +private: + [[maybe_unused]] uint8_t __pad0078[0x8]; // 0x78 +public: + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x80 + CStrongHandle< InfoForResourceTypeCRenderMesh > m_renderable; // 0x88 }; // Alignment: 0 // Size: 0x28 -class CParticleProperty : public -{ +class CParticleProperty +{ public: // no members available }; -// Alignment: 3 -// Size: 0x200 -class C_OP_LerpEndCapScalar : public CParticleFunctionOperator, CParticleFunction -{ +// Alignment: 1 +// Size: 0x4 +struct ParticleAttributeIndex_t +{ public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "value to lerp to" - float m_flOutput; // 0x1f4 - // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x1f8 + int32_t m_Value; // 0x0 }; -// Alignment: 11 -// Size: 0x220 -class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator, CParticleFunction -{ +// Alignment: 43 +// Size: 0x138 +class CParticleFloatInput +{ public: - // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f0 - // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f4 - // MPropertyFriendlyName "percentage bias" - float m_flInputBias; // 0x1f8 - // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x1fc - // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x200 - // MPropertyFriendlyName "offset control point" - int32_t m_nOffsetCP; // 0x204 - // MPropertyFriendlyName "output control point" - int32_t m_nOuputCP; // 0x208 - // MPropertyFriendlyName "input control point" - int32_t m_nInputCP; // 0x20c - // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x210 - // MPropertyFriendlyName "treat offset as scale of total distance" - bool m_bScaleOffset; // 0x211 - // MPropertyFriendlyName "offset amount" - // MVectorIsCoordinate - Vector m_vecOffset; // 0x214 -}; - -// Alignment: 4 -// Size: 0x210 -class C_INIT_SequenceFromCP : public CParticleFunctionInitializer, CParticleFunction -{ + ParticleFloatType_t m_nType; // 0x0 + ParticleFloatMapType_t m_nMapType; // 0x4 + float m_flLiteralValue; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc public: - // MPropertyFriendlyName "kill unused" - bool m_bKillUnused; // 0x1f0 - // MPropertyFriendlyName "offset propotional to radius" - bool m_bRadiusScale; // 0x1f1 - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f4 - // MPropertyFriendlyName "per particle spatial offset" - // MVectorIsCoordinate - Vector m_vecOffset; // 0x1f8 + CKV3MemberNameWithStorage m_NamedValue; // 0x10 + int32_t m_nControlPoint; // 0x48 + ParticleAttributeIndex_t m_nScalarAttribute; // 0x4c + ParticleAttributeIndex_t m_nVectorAttribute; // 0x50 + int32_t m_nVectorComponent; // 0x54 + float m_flRandomMin; // 0x58 + float m_flRandomMax; // 0x5c + bool m_bHasRandomSignFlip; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0061[0x3]; // 0x61 +public: + ParticleFloatRandomMode_t m_nRandomMode; // 0x64 +private: + [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 +public: + float m_flLOD0; // 0x6c + float m_flLOD1; // 0x70 + float m_flLOD2; // 0x74 + float m_flLOD3; // 0x78 + ParticleAttributeIndex_t m_nNoiseInputVectorAttribute; // 0x7c + float m_flNoiseOutputMin; // 0x80 + float m_flNoiseOutputMax; // 0x84 + float m_flNoiseScale; // 0x88 + Vector m_vecNoiseOffsetRate; // 0x8c + float m_flNoiseOffset; // 0x98 + int32_t m_nNoiseOctaves; // 0x9c + PFNoiseTurbulence_t m_nNoiseTurbulence; // 0xa0 + PFNoiseType_t m_nNoiseType; // 0xa4 + PFNoiseModifier_t m_nNoiseModifier; // 0xa8 + float m_flNoiseTurbulenceScale; // 0xac + float m_flNoiseTurbulenceMix; // 0xb0 + float m_flNoiseImgPreviewScale; // 0xb4 + bool m_bNoiseImgPreviewLive; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00b9[0x7]; // 0xb9 +public: + ParticleFloatInputMode_t m_nInputMode; // 0xc0 + float m_flMultFactor; // 0xc4 + float m_flInput0; // 0xc8 + float m_flInput1; // 0xcc + float m_flOutput0; // 0xd0 + float m_flOutput1; // 0xd4 + float m_flNotchedRangeMin; // 0xd8 + float m_flNotchedRangeMax; // 0xdc + float m_flNotchedOutputOutside; // 0xe0 + float m_flNotchedOutputInside; // 0xe4 + ParticleFloatBiasType_t m_nBiasType; // 0xe8 + float m_flBiasParameter; // 0xec + CPiecewiseCurve m_Curve; // 0xf0 }; // Alignment: 0 -// Size: 0x240 -class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar, C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction -{ +// Size: 0x138 +class CParticleCollectionFloatInput : public CParticleFloatInput +{ public: // no members available }; -// Alignment: 2 -// Size: 0x7c0 -class C_INIT_InitVecCollection : public CParticleFunctionInitializer, CParticleFunction -{ +// Alignment: 16 +// Size: 0x1f0 +class CParticleFunction +{ public: - // MPropertyFriendlyName "value" - CParticleCollectionVecInput m_InputValue; // 0x1f0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + // MPropertyFriendlyName "operator strength" + // MPropertySortPriority "-100" + CParticleCollectionFloatInput m_flOpStrength; // 0x8 + // MPropertyFriendlyName "operator end cap state" + // MPropertySortPriority "-100" + ParticleEndcapMode_t m_nOpEndCapState; // 0x140 + // MPropertyStartGroup "Operator Fade" + // MPropertyFriendlyName "operator start fadein" + // MParticleAdvancedField + // MPropertySortPriority "-100" + float m_flOpStartFadeInTime; // 0x144 + // MPropertyFriendlyName "operator end fadein" + // MParticleAdvancedField + // MPropertySortPriority "-100" + float m_flOpEndFadeInTime; // 0x148 + // MPropertyFriendlyName "operator start fadeout" + // MParticleAdvancedField + // MPropertySortPriority "-100" + float m_flOpStartFadeOutTime; // 0x14c + // MPropertyFriendlyName "operator end fadeout" + // MParticleAdvancedField + // MPropertySortPriority "-100" + float m_flOpEndFadeOutTime; // 0x150 + // MPropertyFriendlyName "operator fade oscillate" + // MParticleAdvancedField + // MPropertySortPriority "-100" + float m_flOpFadeOscillatePeriod; // 0x154 + // MPropertyFriendlyName "normalize fade times to endcap" + // MParticleAdvancedField + // MPropertySortPriority "-100" + bool m_bNormalizeToStopTime; // 0x158 +private: + [[maybe_unused]] uint8_t __pad0159[0x3]; // 0x159 +public: + // MPropertyStartGroup "Operator Fade Time Offset" + // MPropertyFriendlyName "operator fade time offset min" + // MParticleAdvancedField + // MPropertySortPriority "-100" + float m_flOpTimeOffsetMin; // 0x15c + // MPropertyFriendlyName "operator fade time offset max" + // MParticleAdvancedField + // MPropertySortPriority "-100" + float m_flOpTimeOffsetMax; // 0x160 + // MPropertyFriendlyName "operator fade time offset seed" + // MParticleAdvancedField + // MPropertySortPriority "-100" + int32_t m_nOpTimeOffsetSeed; // 0x164 + // MPropertyStartGroup "Operator Fade Timescale Modifiers" + // MPropertyFriendlyName "operator fade time scale seed" + // MParticleAdvancedField + // MPropertySortPriority "-100" + int32_t m_nOpTimeScaleSeed; // 0x168 + // MPropertyFriendlyName "operator fade time scale min" + // MParticleAdvancedField + // MPropertySortPriority "-100" + float m_flOpTimeScaleMin; // 0x16c + // MPropertyFriendlyName "operator fade time scale max" + // MParticleAdvancedField + // MPropertySortPriority "-100" + float m_flOpTimeScaleMax; // 0x170 +private: + [[maybe_unused]] uint8_t __pad0174[0x1]; // 0x174 +public: + // MPropertyStartGroup + // MPropertySuppressField + bool m_bDisableOperator; // 0x175 +private: + [[maybe_unused]] uint8_t __pad0176[0x2]; // 0x176 +public: + // MPropertyFriendlyName "operator help and notes" + // MParticleHelpField + // MParticleAdvancedField + // MPropertySortPriority "-100" + CUtlString m_Notes; // 0x178 }; -// Alignment: 7 -// Size: 0x350 -class C_OP_RotateVector : public CParticleFunctionOperator, CParticleFunction -{ +// Alignment: 1 +// Size: 0x1f0 +class CParticleFunctionInitializer : public CParticleFunction +{ public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "rotation axis min" - // MVectorIsCoordinate - Vector m_vecRotAxisMin; // 0x1f4 - // MPropertyFriendlyName "rotation axis max" - // MVectorIsCoordinate - Vector m_vecRotAxisMax; // 0x200 - // MPropertyFriendlyName "rotation rate min" - float m_flRotRateMin; // 0x20c - // MPropertyFriendlyName "rotation rate max" - float m_flRotRateMax; // 0x210 - // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x214 - // MPropertyFriendlyName "per particle scale" - CPerParticleFloatInput m_flScale; // 0x218 + // MPropertyFriendlyName "Associated emitter Index" + int32_t m_nAssociatedEmitterIndex; // 0x1e8 }; -// Alignment: 8 -// Size: 0x240 -class C_OP_RampScalarLinear : public CParticleFunctionOperator, CParticleFunction -{ +// Alignment: 0 +// Size: 0x138 +class CPerParticleFloatInput : public CParticleFloatInput +{ public: - // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1f0 - // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1f4 - // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1f8 - // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1fc - // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x200 - // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x204 - // MPropertyFriendlyName "ramp field" + // no members available +}; + +// Alignment: 12 +// Size: 0x220 +class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x230 - // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x234 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + // MPropertyFriendlyName "input minimum" + int32_t m_nInputMin; // 0x1f4 + // MPropertyFriendlyName "input maximum" + int32_t m_nInputMax; // 0x1f8 + // MPropertyFriendlyName "input scale control point" + int32_t m_nScaleControlPoint; // 0x1fc + // MPropertyFriendlyName "input scale control point field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nScaleControlPointField; // 0x200 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x204 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x208 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x20c + // MPropertyFriendlyName "only active within specified input range" + bool m_bActiveRange; // 0x210 + // MPropertyFriendlyName "invert input from total particle count" + bool m_bInvert; // 0x211 + // MPropertyFriendlyName "wrap input" + bool m_bWrap; // 0x212 +private: + [[maybe_unused]] uint8_t __pad0213[0x1]; // 0x213 +public: + // MPropertyFriendlyName "remap bias" + float m_flRemapBias; // 0x214 }; -// Alignment: 2 -// Size: 0x140 -struct FloatInputMaterialVariable_t : public -{ +// Alignment: 0 +// Size: 0x1f0 +class CParticleFunctionOperator : public CParticleFunction +{ public: - // MPropertyFriendlyName "material variable" - CUtlString m_strVariable; // 0x0 - // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInput; // 0x8 + // no members available }; -// Alignment: 8 -// Size: 0xab0 -class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer, CParticleFunction -{ +// Alignment: 18 +// Size: 0x44 +class CParticleVisibilityInputs +{ public: - // MPropertyFriendlyName "Control Point for Model" - int32_t m_nMaterialControlPoint; // 0x230 - // MPropertyFriendlyName "proxy type" - MaterialProxyType_t m_nProxyType; // 0x234 - // MPropertyFriendlyName "material variables" - // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x238 - // MPropertyFriendlyName "material override" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x250 - // MPropertyFriendlyName "material override enable" - CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x258 - // MPropertyFriendlyName "model tint" - CParticleCollectionVecInput m_vecColorScale; // 0x390 - // MPropertyFriendlyName "model alpha" - CPerParticleFloatInput m_flAlpha; // 0x958 - // MPropertyFriendlyName "model tint blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0xa90 + // MPropertyFriendlyName "camera depth bias" + float m_flCameraBias; // 0x0 + // MPropertyFriendlyName "input control point number" + int32_t m_nCPin; // 0x4 + // MPropertyFriendlyName "input proxy radius" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flProxyRadius; // 0x8 + // MPropertyFriendlyName "input proxy visibility minimum" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flInputMin; // 0xc + // MPropertyFriendlyName "input proxy visibility maximum" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flInputMax; // 0x10 + // MPropertyFriendlyName "input proxy unsupported hardware fallback value" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flNoPixelVisibilityFallback; // 0x14 + // MPropertyFriendlyName "input distance minimum" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flDistanceInputMin; // 0x18 + // MPropertyFriendlyName "input distance maximum" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flDistanceInputMax; // 0x1c + // MPropertyFriendlyName "input dot minimum" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flDotInputMin; // 0x20 + // MPropertyFriendlyName "input dot maximum" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flDotInputMax; // 0x24 + // MPropertyFriendlyName "input dot use CP angles" + // MPropertySuppressExpr "m_nCPin == -1" + bool m_bDotCPAngles; // 0x28 + // MPropertyFriendlyName "input dot use Camera angles" + // MPropertySuppressExpr "m_nCPin == -1" + bool m_bDotCameraAngles; // 0x29 +private: + [[maybe_unused]] uint8_t __pad002a[0x2]; // 0x2a +public: + // MPropertyFriendlyName "output alpha scale minimum" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flAlphaScaleMin; // 0x2c + // MPropertyFriendlyName "output alpha scale maximum" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flAlphaScaleMax; // 0x30 + // MPropertyFriendlyName "output radius scale minimum" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flRadiusScaleMin; // 0x34 + // MPropertyFriendlyName "output radius scale maximum" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flRadiusScaleMax; // 0x38 + // MPropertyFriendlyName "output radius FOV scale base" + // MPropertySuppressExpr "m_nCPin == -1" + float m_flRadiusScaleFOVBase; // 0x3c + // MPropertyFriendlyName "vr camera right eye" + // MParticleAdvancedField + bool m_bRightEye; // 0x40 }; // Alignment: 10 // Size: 0x220 -class C_OP_CycleScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_CycleScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "destination scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDestField; // 0x1f0 + ParticleAttributeIndex_t m_nDestField; // 0x1f0 // MPropertyFriendlyName "Value at start of cycle" - float m_flStartValue; // 0x1f4 + float m_flStartValue; // 0x1f4 // MPropertyFriendlyName "Value at end of cycle" - float m_flEndValue; // 0x1f8 + float m_flEndValue; // 0x1f8 // MPropertyFriendlyName "Cycle time" - float m_flCycleTime; // 0x1fc + float m_flCycleTime; // 0x1fc // MPropertyFriendlyName "Do not repeat cycle" - bool m_bDoNotRepeatCycle; // 0x200 + bool m_bDoNotRepeatCycle; // 0x200 // MPropertyFriendlyName "Synchronize particles" - bool m_bSynchronizeParticles; // 0x201 + bool m_bSynchronizeParticles; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 +public: // MPropertyFriendlyName "Scale Start/End Control Point" - int32_t m_nCPScale; // 0x204 + int32_t m_nCPScale; // 0x204 // MPropertyFriendlyName "start scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMin; // 0x208 + int32_t m_nCPFieldMin; // 0x208 // MPropertyFriendlyName "end scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMax; // 0x20c + int32_t m_nCPFieldMax; // 0x20c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x210 }; // Alignment: 5 // Size: 0x490 -class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x1f0 + ScalarExpressionType_t m_nExpression; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "input 1" - CPerParticleFloatInput m_flInput1; // 0x1f8 + CPerParticleFloatInput m_flInput1; // 0x1f8 // MPropertyFriendlyName "input 2" - CPerParticleFloatInput m_flInput2; // 0x330 + CPerParticleFloatInput m_flInput2; // 0x330 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x468 + ParticleAttributeIndex_t m_nOutputField; // 0x468 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x46c -}; - -// Alignment: 0 -// Size: 0x1f0 -class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // no members available -}; - -// Alignment: 10 -// Size: 0x260 -class C_OP_RenderTreeShake : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "peak strength" - float m_flPeakStrength; // 0x230 - // MPropertyFriendlyName "peak strength field override" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x234 - // MPropertyFriendlyName "radius" - float m_flRadius; // 0x238 - // MPropertyFriendlyName "strength field override" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x23c - // MPropertyFriendlyName "shake duration after end" - float m_flShakeDuration; // 0x240 - // MPropertyFriendlyName "amount of time taken to smooth between different shake parameters" - float m_flTransitionTime; // 0x244 - // MPropertyFriendlyName "Twist amount (-1..1)" - float m_flTwistAmount; // 0x248 - // MPropertyFriendlyName "Radial Amount (-1..1)" - float m_flRadialAmount; // 0x24c - // MPropertyFriendlyName "Control Point Orientation Amount (-1..1)" - float m_flControlPointOrientationAmount; // 0x250 - // MPropertyFriendlyName "Control Point for Orientation Amount" - int32_t m_nControlPointForLinearDirection; // 0x254 -}; - -// Alignment: 8 -// Size: 0x480 -class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 - // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 - // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1f8 - // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_nParticleIncrement; // 0x200 - // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x338 - // MPropertyFriendlyName "set orientation from velocity" - bool m_bSetOrientation; // 0x470 - // MPropertyFriendlyName "orientation vector" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOrientationField; // 0x474 - // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x478 -}; - -// Alignment: 12 -// Size: 0x2c0 -class C_OP_PercentageBetweenTransformLerpCPs : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 - // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 - // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x200 - // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x250 - // MPropertyFriendlyName "output starting control point number" - int32_t m_nOutputStartCP; // 0x2a0 - // MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z" - int32_t m_nOutputStartField; // 0x2a4 - // MPropertyFriendlyName "output ending control point number" - int32_t m_nOutputEndCP; // 0x2a8 - // MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z" - int32_t m_nOutputEndField; // 0x2ac - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2b0 - // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2b4 - // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2b5 -}; - -// Alignment: 27 -// Size: 0x26c0 -class C_OP_RenderSprites : public CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "sequence id override" - // MPropertySortPriority "500" - CParticleCollectionFloatInput m_nSequenceOverride; // 0x2050 - // MPropertyStartGroup "Orientation" - // MPropertyFriendlyName "orientation type" - // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2188 - // MPropertyFriendlyName "orientation control point" - // MPropertySortPriority "750" - // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - int32_t m_nOrientationControlPoint; // 0x218c - // MPropertyFriendlyName "enable yaw for particles aligned to normals" - // MPropertySortPriority "750" - // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - bool m_bUseYawWithNormalAligned; // 0x2190 - // MPropertyStartGroup "Fading and culling" - // MPropertyFriendlyName "minimum visual screen size" - // MPropertySortPriority "1000" - float m_flMinSize; // 0x2194 - // MPropertyFriendlyName "maximum visual screen size" - // MPropertySortPriority "1000" - float m_flMaxSize; // 0x2198 - // MPropertyFriendlyName "Factor to map size adjustment to alpha" - // MPropertySortPriority "1000" - float m_flAlphaAdjustWithSizeAdjust; // 0x219c - // MPropertyFriendlyName "screen size to start fading" - // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x21a0 - // MPropertyFriendlyName "screen size to fade away" - // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x22d8 - // MPropertyFriendlyName "start fade dot product of normal vs view" - // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2410 - // MPropertyFriendlyName "end fade dot product of normal vs view" - // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2414 - // MPropertyStartGroup "Distance to alpha coding" - // MPropertyFriendlyName "distance alpha" - // MPropertySortPriority "0" - bool m_bDistanceAlpha; // 0x2418 - // MPropertyFriendlyName "use soft edges for distance alpha" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bDistanceAlpha" - bool m_bSoftEdges; // 0x2419 - // MPropertyFriendlyName "start value for soft edges for distance alpha" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessStart; // 0x241c - // MPropertyFriendlyName "end value for soft edges for distance alpha" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessEnd; // 0x2420 - // MPropertyStartGroup "Outlining" - // MPropertyFriendlyName "enable particle outlining" - // MPropertySortPriority "0" - bool m_bOutline; // 0x2424 - // MPropertyFriendlyName "outline color" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - Color m_OutlineColor; // 0x2425 - // MPropertyFriendlyName "outline alpha" - // MPropertyAttributeRange "0 255" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - int32_t m_nOutlineAlpha; // 0x242c - // MPropertyFriendlyName "outline start 0" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart0; // 0x2430 - // MPropertyFriendlyName "outline start 1" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart1; // 0x2434 - // MPropertyFriendlyName "outline end 0" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd0; // 0x2438 - // MPropertyFriendlyName "outline end 1" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd1; // 0x243c - // MPropertyStartGroup "Lighting and Shadows" - // MPropertyFriendlyName "lighting mode" - // MPropertySortPriority "400" - // MPropertySuppressExpr "mod != hlx" - ParticleLightingQuality_t m_nLightingMode; // 0x2440 - // MPropertyFriendlyName "vertex lighting tessellation (0-5)" - // MPropertyAttributeRange "0 5" - // MPropertySortPriority "400" - // MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX" - CParticleCollectionFloatInput m_flLightingTessellation; // 0x2448 - // MPropertyFriendlyName "lighting directionality" - // MPropertySortPriority "400" - // MPropertySuppressExpr "mod != hlx" - CParticleCollectionFloatInput m_flLightingDirectionality; // 0x2580 - // MPropertyFriendlyName "Particle Shadows" - // MPropertySortPriority "400" - bool m_bParticleShadows; // 0x26b8 - // MPropertyFriendlyName "Shadow Density" - // MPropertySortPriority "400" - // MPropertySuppressExpr "!m_bParticleShadows" - float m_flShadowDensity; // 0x26bc -}; - -// Alignment: 5 -// Size: 0x280 -class C_INIT_ModelCull : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 - // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 - // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1f5 - // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x1f7 -}; - -// Alignment: 4 -// Size: 0xd90 -class C_OP_ExternalWindForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "sample position" - CPerParticleVecInput m_vecSamplePosition; // 0x1f0 - // MPropertyFriendlyName "force scale" - CPerParticleVecInput m_vecScale; // 0x7b8 - // MPropertyFriendlyName "sample wind" - bool m_bSampleWind; // 0xd80 - // MPropertyFriendlyName "sample water current" - bool m_bSampleWater; // 0xd81 -}; - -// Alignment: 1 -// Size: 0x18 -struct PointDefinitionWithTimeValues_t : public PointDefinition_t -{ -public: - // MPropertyFriendlyName "Duration value for path point" - float m_flTimeDuration; // 0x14 -}; - -// Alignment: 0 -// Size: 0x210 -class C_OP_SpinYaw : public CGeneralSpin, CParticleFunctionOperator, CParticleFunction -{ -public: - // no members available -}; - -// Alignment: 6 -// Size: 0x7e0 -class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point input" - int32_t m_nCPInput; // 0x200 - // MPropertyFriendlyName "control point number to set velocity" - int32_t m_nCPOutputVel; // 0x204 - // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x208 - // MPropertyFriendlyName "control point number to set magnitude" - int32_t m_nCPOutputMag; // 0x20c - // MPropertyFriendlyName "control point field for magnitude" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x210 - // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x218 -}; - -// Alignment: 3 -// Size: 0x210 -class C_OP_ParentVortices : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "amount of force" - float m_flForceScale; // 0x1f0 - // MPropertyFriendlyName "twist axis" - // MVectorIsCoordinate - Vector m_vecTwistAxis; // 0x1f4 - // MPropertyFriendlyName "flip twist axis with yaw" - bool m_bFlipBasedOnYaw; // 0x200 -}; - -// Alignment: 6 -// Size: 0x30 -struct ParticleControlPointDriver_t : public -{ -public: - int32_t m_iControlPoint; // 0x0 - ParticleAttachment_t m_iAttachType; // 0x4 - CUtlString m_attachmentName; // 0x8 - Vector m_vecOffset; // 0x10 - QAngle m_angOffset; // 0x1c - CUtlString m_entityName; // 0x28 -}; - -// Alignment: 3 -// Size: 0x210 -class C_OP_SetToCP : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 - // MPropertyFriendlyName "offset" - Vector m_vecOffset; // 0x1f4 - // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x200 -}; - -// Alignment: 7 -// Size: 0x220 -class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 - // MPropertyFriendlyName "output CP component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 - // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x20c - // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x210 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 -}; - -// Alignment: 2 -// Size: 0x330 -class C_INIT_QuantizeFloat : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "interval to snap to" - CPerParticleFloatInput m_InputValue; // 0x1f0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 -}; - -// Alignment: 7 -// Size: 0x6e0 -class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_nInputMin; // 0x1f8 - // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_nInputMax; // 0x330 - // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x468 - // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5a0 - // MPropertyFriendlyName - bool m_bActiveRange; // 0x6d8 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x6dc -}; - -// Alignment: 0 -// Size: 0x10 -class IParticleCollection : public -{ -public: - // no members available -}; - -// Alignment: 7 -// Size: 0x220 -class C_OP_VectorNoise : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1f4 - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x200 - // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x20c - // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x210 - // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x211 - // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x214 -}; - -// Alignment: 1 -// Size: 0x210 -class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_ControlPoint; // 0x200 -}; - -// Alignment: 6 -// Size: 0x350 -class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "warp min" - // MVectorIsCoordinate - Vector m_vecWarpMin; // 0x1f0 - // MPropertyFriendlyName "warp max" - // MVectorIsCoordinate - Vector m_vecWarpMax; // 0x1fc - // MPropertyFriendlyName "warp amount" - CPerParticleFloatInput m_InputValue; // 0x208 - // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x340 - // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0x344 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x348 -}; - -// Alignment: 5 -// Size: 0x6e0 -class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // MPropertyFriendlyName "slack" - CParticleCollectionFloatInput m_flRestLength; // 0x1f0 - // MPropertyFriendlyName "minimum segment length %" - CParticleCollectionFloatInput m_flMinDistance; // 0x328 - // MPropertyFriendlyName "maximum segment length %" - CParticleCollectionFloatInput m_flMaxDistance; // 0x460 - // MPropertyFriendlyName "scale factor for spring correction" - float m_flAdjustmentScale; // 0x598 - // MPropertyFriendlyName "manual resting spacing" - CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5a0 -}; - -// Alignment: 2 -// Size: 0x210 -class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point input for velocity" - int32_t m_nCPInput; // 0x200 - // MPropertyFriendlyName "control point output for orientation" - int32_t m_nCPOutput; // 0x204 -}; - -// Alignment: 0 -// Size: 0x240 -class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar, CParticleFunctionInitializer, CParticleFunction -{ -public: - // no members available -}; - -// Alignment: 1 -// Size: 0x1f0 -class CParticleFunctionEmitter : public CParticleFunction -{ -public: - // MPropertyFriendlyName "Emitter Index" - int32_t m_nEmitterIndex; // 0x1e8 -}; - -// Alignment: 48 -// Size: 0x21d0 -class C_OP_RenderModels : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "Only Render in effects bloom pass" - // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x230 - // MPropertyFriendlyName "Only Render in effects water pass" - // MPropertySortPriority "1050" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x231 - // MPropertyFriendlyName "Use Mixed Resolution Rendering" - // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x232 - // MPropertyFriendlyName "Only Render in effects game overlay pass" - // MPropertySortPriority "1210" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x233 - // MPropertyFriendlyName "models" - // MParticleRequireDefaultArrayEntry - // MPropertyAutoExpandSelf - // MPropertySortPriority "775" - CUtlVector< ModelReference_t > m_ModelList; // 0x238 - // MPropertyFriendlyName "bodygroup field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nBodyGroupField; // 0x254 - // MPropertyFriendlyName "submodel field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSubModelField; // 0x258 - // MPropertyStartGroup "Orientation" - // MPropertyFriendlyName "ignore normal" - // MPropertySortPriority "750" - bool m_bIgnoreNormal; // 0x25c - // MPropertyFriendlyName "orient model z to normal" - // MPropertySortPriority "750" - // MPropertySuppressExpr "m_bIgnoreNormal" - bool m_bOrientZ; // 0x25d - // MPropertyFriendlyName "center mesh" - // MPropertySortPriority "750" - bool m_bCenterOffset; // 0x25e - // MPropertyFriendlyName "model local offset" - // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalOffset; // 0x260 - // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" - // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalRotation; // 0x828 - // MPropertyStartGroup "Model Scale" - // MPropertyFriendlyName "ignore radius" - // MPropertySortPriority "700" - bool m_bIgnoreRadius; // 0xdf0 - // MPropertyFriendlyName "model scale CP" - // MPropertySortPriority "700" - int32_t m_nModelScaleCP; // 0xdf4 - // MPropertyFriendlyName "model component scale" - // MPropertySortPriority "700" - CPerParticleVecInput m_vecComponentScale; // 0xdf8 - // MPropertyFriendlyName "apply scales in local model space" - // MPropertySortPriority "700" - bool m_bLocalScale; // 0x13c0 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animated" - // MPropertySortPriority "500" - bool m_bAnimated; // 0x13c1 - // MPropertyFriendlyName "animation rate" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - float m_flAnimationRate; // 0x13c4 - // MPropertyFriendlyName "scale animation rate" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bScaleAnimationRate; // 0x13c8 - // MPropertyFriendlyName "force looping animations" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bForceLoopingAnimation; // 0x13c9 - // MPropertyFriendlyName "reset animation frame on stop" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bResetAnimOnStop; // 0x13ca - // MPropertyFriendlyName "set animation frame manually" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bManualAnimFrame; // 0x13cb - // MPropertyFriendlyName "animation rate scale field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - ParticleAttributeIndex_t m_nAnimationScaleField; // 0x13cc - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animation sequence field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "500" - ParticleAttributeIndex_t m_nAnimationField; // 0x13d0 - // MPropertyFriendlyName "manual animation frame field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" - ParticleAttributeIndex_t m_nManualFrameField; // 0x13d4 - // MPropertyFriendlyName "activity override" - // MPropertySuppressExpr "mod != dota" - // MPropertySortPriority "500" - char[256] m_ActivityName; // 0x13d8 - // MPropertyFriendlyName "sequence override" - // MPropertySuppressExpr "mod == dota" - // MPropertySortPriority "500" - char[256] m_SequenceName; // 0x14d8 - // MPropertyFriendlyName "Enable Cloth Simulation" - bool m_bEnableClothSimulation; // 0x15d8 - // MPropertyStartGroup "Material" - // MPropertyFriendlyName "material override" - // MPropertySortPriority "600" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x15e0 - // MPropertyFriendlyName "override translucent materials" - // MPropertySortPriority "600" - bool m_bOverrideTranslucentMaterials; // 0x15e8 - // MPropertyFriendlyName "skin number" - // MPropertySortPriority "600" - int32_t m_nSkin; // 0x15ec - // MPropertyFriendlyName "skin override CP" - // MPropertySortPriority "600" - int32_t m_nSkinCP; // 0x15f0 - // MPropertyFriendlyName "material variables" - // MPropertyAutoExpandSelf - // MPropertySortPriority "600" - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x15f8 - // MPropertyStartGroup "Model Overrides" - // MPropertyFriendlyName "model LOD" - int32_t m_nLOD; // 0x1610 - // MPropertyFriendlyName "model override CP" - int32_t m_nModelCP; // 0x1614 - // MPropertyFriendlyName "model override economy loadout slot type" - char[256] m_EconSlotName; // 0x1618 - // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" - bool m_bOriginalModel; // 0x1718 - // MPropertyFriendlyName "suppress tinting of the model" - bool m_bSuppressTint; // 0x1719 - // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" - bool m_bUseRawMeshGroup; // 0x171a - // MPropertyFriendlyName "disable shadows" - bool m_bDisableShadows; // 0x171b - // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" - bool m_bForceDrawInterlevedWithSiblings; // 0x171c - // MPropertyFriendlyName "render attribute" - char[260] m_szRenderAttribute; // 0x171d - // MPropertyStartGroup "+Renderer Modifiers" - // MPropertyFriendlyName "Radius Scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1828 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x1960 - // MPropertyFriendlyName "rotation roll scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x1a98 - // MPropertyFriendlyName "per-particle alpha scale attribute" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x1bd0 - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x1bd8 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x21a0 -}; - -// Alignment: 7 -// Size: 0x210 -class C_OP_RemapSpeed : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f4 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1f8 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x204 - // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x46c }; // Alignment: 0 // Size: 0x1f0 class CParticleFunctionConstraint : public CParticleFunction -{ +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x230 +class CParticleFunctionRenderer : public CParticleFunction +{ +public: + // MPropertySortPriority "-1" + CParticleVisibilityInputs VisibilityInputs; // 0x1e8 + // MPropertyStartGroup "Rendering filter" + // MPropertyFriendlyName "I cannot be refracted through refracting objects like water" + // MPropertySortPriority "-1" + bool m_bCannotBeRefracted; // 0x22c + // MPropertyFriendlyName "Skip rendering on mobile" + // MPropertySortPriority "-1" + bool m_bSkipRenderingOnMobile; // 0x22d +}; + +// Alignment: 8 +// Size: 0x480 +class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "group ID to affect" + int32_t m_nChildGroupID; // 0x1f0 + // MPropertyFriendlyName "control point to set" + int32_t m_nFirstControlPoint; // 0x1f4 + // MPropertyFriendlyName "# of children to set" + int32_t m_nNumControlPoints; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: + // MPropertyFriendlyName "particle increment amount" + CParticleCollectionFloatInput m_nParticleIncrement; // 0x200 + // MPropertyFriendlyName "first particle to copy" + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x338 + // MPropertyFriendlyName "set orientation from velocity" + bool m_bSetOrientation; // 0x470 +private: + [[maybe_unused]] uint8_t __pad0471[0x3]; // 0x471 +public: + // MPropertyFriendlyName "orientation vector" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nOrientationField; // 0x474 + // MPropertyFriendlyName "set number of children based on particle count" + bool m_bNumBasedOnParticleCount; // 0x478 +}; + +// Alignment: 8 +// Size: 0x50 +class CParticleTransformInput +{ +public: + ParticleTransformType_t m_nType; // 0x4 + CKV3MemberNameWithStorage m_NamedValue; // 0x8 + bool m_bFollowNamedValue; // 0x40 + bool m_bSupportsDisabled; // 0x41 + bool m_bUseOrientation; // 0x42 +private: + [[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43 +public: + int32_t m_nControlPoint; // 0x44 + int32_t m_nControlPointRangeMax; // 0x48 + float m_flEndCPGrowthTime; // 0x4c +}; + +// Alignment: 22 +// Size: 0x5c8 +class CParticleVecInput +{ +public: + ParticleVecType_t m_nType; // 0x0 + Vector m_vLiteralValue; // 0x4 + Color m_LiteralColor; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CKV3MemberNameWithStorage m_NamedValue; // 0x18 + bool m_bFollowNamedValue; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + ParticleAttributeIndex_t m_nVectorAttribute; // 0x54 + Vector m_vVectorAttributeScale; // 0x58 + int32_t m_nControlPoint; // 0x64 + Vector m_vCPValueScale; // 0x68 + Vector m_vCPRelativePosition; // 0x74 + Vector m_vCPRelativeDir; // 0x80 +private: + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c +public: + CParticleFloatInput m_FloatComponentX; // 0x90 + CParticleFloatInput m_FloatComponentY; // 0x1c8 + CParticleFloatInput m_FloatComponentZ; // 0x300 + CParticleFloatInput m_FloatInterp; // 0x438 + float m_flInterpInput0; // 0x570 + float m_flInterpInput1; // 0x574 + Vector m_vInterpOutput0; // 0x578 + Vector m_vInterpOutput1; // 0x584 + CColorGradient m_Gradient; // 0x590 + Vector m_vRandomMin; // 0x5a8 + Vector m_vRandomMax; // 0x5b4 +}; + +// Alignment: 5 +// Size: 0x280 +class C_INIT_ModelCull : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1f0 + // MPropertyFriendlyName "use only bounding box" + bool m_bBoundBox; // 0x1f4 + // MPropertyFriendlyName "cull outside instead of inside" + bool m_bCullOutside; // 0x1f5 + // MPropertyFriendlyName "use bones instead of hitboxes" + bool m_bUseBones; // 0x1f6 + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0x1f7 +}; + +// Alignment: 0 +// Size: 0x1f0 +class CParticleFunctionForce : public CParticleFunction +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x14 +struct PointDefinition_t +{ +public: + // MPropertyFriendlyName "Control point" + int32_t m_nControlPoint; // 0x0 + // MPropertyFriendlyName "Use local coordinates for offset" + bool m_bLocalCoords; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + // MPropertyFriendlyName "Offset from control point" + Vector m_vOffset; // 0x8 +}; + +// Alignment: 3 +// Size: 0x210 +class CGeneralSpin : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "spin rate degrees" + int32_t m_nSpinRateDegrees; // 0x1f0 + // MPropertyFriendlyName "spin rate min" + int32_t m_nSpinRateMinDegrees; // 0x1f4 +private: + [[maybe_unused]] uint8_t __pad01f8[0x4]; // 0x1f8 +public: + // MPropertyFriendlyName "spin stop time" + float m_fSpinRateStopTime; // 0x1fc +}; + +// Alignment: 0 +// Size: 0x5c8 +class CParticleCollectionVecInput : public CParticleVecInput +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x210 +class C_OP_ParentVortices : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "amount of force" + float m_flForceScale; // 0x1f0 + // MPropertyFriendlyName "twist axis" + // MVectorIsCoordinate + Vector m_vecTwistAxis; // 0x1f4 + // MPropertyFriendlyName "flip twist axis with yaw" + bool m_bFlipBasedOnYaw; // 0x200 +}; + +// Alignment: 6 +// Size: 0x30 +struct ParticleControlPointDriver_t +{ +public: + int32_t m_iControlPoint; // 0x0 + ParticleAttachment_t m_iAttachType; // 0x4 + CUtlString m_attachmentName; // 0x8 + Vector m_vecOffset; // 0x10 + QAngle m_angOffset; // 0x1c + CUtlString m_entityName; // 0x28 +}; + +// Alignment: 3 +// Size: 0x210 +class C_OP_SetToCP : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1f0 + // MPropertyFriendlyName "offset" + Vector m_vecOffset; // 0x1f4 + // MPropertyFriendlyName "offset in local space" + bool m_bOffsetLocal; // 0x200 +}; + +// Alignment: 1 +// Size: 0x200 +class CParticleFunctionPreEmission : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Run Only Once" + bool m_bRunOnce; // 0x1f0 +}; + +// Alignment: 2 +// Size: 0x330 +class C_INIT_QuantizeFloat : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "interval to snap to" + CPerParticleFloatInput m_InputValue; // 0x1f0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nOutputField; // 0x328 +}; + +// Alignment: 7 +// Size: 0x6e0 +class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: + // MPropertyFriendlyName "input minimum" + CParticleCollectionFloatInput m_nInputMin; // 0x1f8 + // MPropertyFriendlyName "input maximum" + CParticleCollectionFloatInput m_nInputMax; // 0x330 + // MPropertyFriendlyName "output minimum" + CParticleCollectionFloatInput m_flOutputMin; // 0x468 + // MPropertyFriendlyName "output maximum" + CParticleCollectionFloatInput m_flOutputMax; // 0x5a0 + // MPropertyFriendlyName + bool m_bActiveRange; // 0x6d8 +private: + [[maybe_unused]] uint8_t __pad06d9[0x3]; // 0x6d9 +public: + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x6dc +}; + +// Alignment: 0 +// Size: 0x10 +class IParticleCollection +{ +public: + // no members available +}; + +// Alignment: 7 +// Size: 0x220 +class C_OP_VectorNoise : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMin; // 0x1f4 + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMax; // 0x200 + // MPropertyFriendlyName "noise coordinate scale" + float m_fl4NoiseScale; // 0x20c + // MPropertyFriendlyName "additive" + bool m_bAdditive; // 0x210 + // MPropertyFriendlyName "offset instead of accelerate position" + bool m_bOffset; // 0x211 +private: + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 +public: + // MPropertyFriendlyName "Noise animation time scale" + float m_flNoiseAnimationTimeScale; // 0x214 +}; + +// Alignment: 1 +// Size: 0x210 +class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_ControlPoint; // 0x200 +}; + +// Alignment: 6 +// Size: 0x350 +class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "warp min" + // MVectorIsCoordinate + Vector m_vecWarpMin; // 0x1f0 + // MPropertyFriendlyName "warp max" + // MVectorIsCoordinate + Vector m_vecWarpMax; // 0x1fc + // MPropertyFriendlyName "warp amount" + CPerParticleFloatInput m_InputValue; // 0x208 + // MPropertyFriendlyName "previous position scale" + float m_flPrevPosScale; // 0x340 + // MPropertyFriendlyName "warp scale control point number" + int32_t m_nScaleControlPointNumber; // 0x344 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x348 +}; + +// Alignment: 5 +// Size: 0x6e0 +class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "slack" + CParticleCollectionFloatInput m_flRestLength; // 0x1f0 + // MPropertyFriendlyName "minimum segment length %" + CParticleCollectionFloatInput m_flMinDistance; // 0x328 + // MPropertyFriendlyName "maximum segment length %" + CParticleCollectionFloatInput m_flMaxDistance; // 0x460 + // MPropertyFriendlyName "scale factor for spring correction" + float m_flAdjustmentScale; // 0x598 +private: + [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c +public: + // MPropertyFriendlyName "manual resting spacing" + CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5a0 +}; + +// Alignment: 2 +// Size: 0x210 +class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point input for velocity" + int32_t m_nCPInput; // 0x200 + // MPropertyFriendlyName "control point output for orientation" + int32_t m_nCPOutput; // 0x204 +}; + +// Alignment: 7 +// Size: 0x240 +class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer +{ +public: + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + // MPropertyFriendlyName "names" + CUtlVector< CUtlString > m_names; // 0x1f8 + // MPropertyFriendlyName "remap values for names" + CUtlVector< float32 > m_values; // 0x210 + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x228 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x22c + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x230 + // MPropertyFriendlyName "model from renderer" + bool m_bModelFromRenderer; // 0x234 +}; + +// Alignment: 1 +// Size: 0x1f0 +class CParticleFunctionEmitter : public CParticleFunction +{ +public: + // MPropertyFriendlyName "Emitter Index" + int32_t m_nEmitterIndex; // 0x1e8 +}; + +// Alignment: 0 +// Size: 0x5c8 +class CPerParticleVecInput : public CParticleVecInput +{ +public: + // no members available +}; + +// Alignment: 7 +// Size: 0x210 +class C_OP_RemapSpeed : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x1f4 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x1f8 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1fc + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x200 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x204 + // MPropertyFriendlyName "ignore delta time" + bool m_bIgnoreDelta; // 0x208 +}; + +// Alignment: 0 +// Size: 0x1f0 +class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint +{ public: // no members available }; // Alignment: 3 // Size: 0x10 -struct MaterialVariable_t : public -{ +struct MaterialVariable_t +{ public: // MPropertyFriendlyName "material variable" - CUtlString m_strVariable; // 0x0 + CUtlString m_strVariable; // 0x0 // MPropertyFriendlyName "particle field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nVariableField; // 0x8 + ParticleAttributeIndex_t m_nVariableField; // 0x8 // MPropertyFriendlyName "scale" - float m_flScale; // 0xc + float m_flScale; // 0xc }; // Alignment: 4 // Size: 0x200 -class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 // MPropertyFriendlyName "attribute to cache to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 // MPropertyFriendlyName "local space" - bool m_bLocalSpace; // 0x1fc + bool m_bLocalSpace; // 0x1fc }; -// Alignment: 3 -// Size: 0x78 -struct ParticleControlPointConfiguration_t : public -{ +// Alignment: 15 +// Size: 0x58 +struct ParticlePreviewState_t +{ public: - CUtlString m_name; // 0x0 - CUtlVector< ParticleControlPointDriver_t > m_drivers; // 0x8 - ParticlePreviewState_t m_previewState; // 0x20 + CUtlString m_previewModel; // 0x0 + uint32_t m_nModSpecificData; // 0x8 + PetGroundType_t m_groundType; // 0xc + CUtlString m_sequenceName; // 0x10 + int32_t m_nFireParticleOnSequenceFrame; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + CUtlString m_hitboxSetName; // 0x20 + CUtlString m_materialGroupName; // 0x28 + CUtlVector< ParticlePreviewBodyGroup_t > m_vecBodyGroups; // 0x30 + float m_flPlaybackSpeed; // 0x48 + float m_flParticleSimulationRate; // 0x4c + bool m_bShouldDrawHitboxes; // 0x50 + bool m_bShouldDrawAttachments; // 0x51 + bool m_bShouldDrawAttachmentNames; // 0x52 + bool m_bShouldDrawControlPointAxes; // 0x53 + bool m_bAnimationNonLooping; // 0x54 }; // Alignment: 6 // Size: 0x220 -class C_OP_RemapDensityToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapDensityToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x1f0 // MPropertyFriendlyName "Output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "Density value to map to min value" - float m_flDensityMin; // 0x1f8 + float m_flDensityMin; // 0x1f8 // MPropertyFriendlyName "Density value to map to max value" - float m_flDensityMax; // 0x1fc + float m_flDensityMax; // 0x1fc // MPropertyFriendlyName "Output minimum" - Vector m_vecOutputMin; // 0x200 + Vector m_vecOutputMin; // 0x200 // MPropertyFriendlyName "Output maximum" - Vector m_vecOutputMax; // 0x20c + Vector m_vecOutputMax; // 0x20c }; // Alignment: 7 // Size: 0x230 -class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "min distance from plane" - float m_flMinDist; // 0x1f0 + float m_flMinDist; // 0x1f0 // MPropertyFriendlyName "force at min distance" // MVectorIsCoordinate - Vector m_vecForceAtMinDist; // 0x1f4 + Vector m_vecForceAtMinDist; // 0x1f4 // MPropertyFriendlyName "max distance from plane" - float m_flMaxDist; // 0x200 + float m_flMaxDist; // 0x200 // MPropertyFriendlyName "force at max distance" // MVectorIsCoordinate - Vector m_vecForceAtMaxDist; // 0x204 + Vector m_vecForceAtMaxDist; // 0x204 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneNormal; // 0x210 + Vector m_vecPlaneNormal; // 0x210 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x21c + int32_t m_nControlPointNumber; // 0x21c // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x220 + float m_flExponent; // 0x220 }; // Alignment: 0 // Size: 0x1f0 -class C_OP_EndCapDecay : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_EndCapDecay : public CParticleFunctionOperator +{ public: // no members available }; // Alignment: 15 // Size: 0x8c0 -class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x1f8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x330 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x468 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5a0 // MPropertyFriendlyName "control point" - int32_t m_nStartCP; // 0x6d8 + int32_t m_nStartCP; // 0x6d8 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x6dc + bool m_bLOS; // 0x6dc // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x6dd + char m_CollisionGroupName[128]; // 0x6dd +private: + [[maybe_unused]] uint8_t __pad075d[0x3]; // 0x75d +public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x760 + ParticleTraceSet_t m_nTraceSet; // 0x760 +private: + [[maybe_unused]] uint8_t __pad0764[0x4]; // 0x764 +public: // MPropertyFriendlyName "Maximum Trace Length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x768 + CPerParticleFloatInput m_flMaxTraceLength; // 0x768 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x8a0 + float m_flLOSScale; // 0x8a0 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x8a4 + ParticleSetMethod_t m_nSetMethod; // 0x8a4 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x8a8 + bool m_bActiveRange; // 0x8a8 +private: + [[maybe_unused]] uint8_t __pad08a9[0x3]; // 0x8a9 +public: // MPropertyFriendlyName "distance component scale" - Vector m_vecDistanceScale; // 0x8ac + Vector m_vecDistanceScale; // 0x8ac // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x8b8 + float m_flRemapBias; // 0x8b8 }; // Alignment: 3 // Size: 0x340 -class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x200 // MPropertyFriendlyName "first child to enable" - int32_t m_nFirstChild; // 0x204 + int32_t m_nFirstChild; // 0x204 // MPropertyFriendlyName "max # of children to enable (-1 for max particle count)" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x208 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x208 }; // Alignment: 3 // Size: 0x240 -class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "flattening strength" - float m_flFlattenStrength; // 0x230 + float m_flFlattenStrength; // 0x230 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x234 + ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x234 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x238 + float m_flRadiusScale; // 0x238 }; // Alignment: 6 // Size: 0x210 -class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPoint; // 0x1f4 + int32_t m_nScaleControlPoint; // 0x1f4 // MPropertyFriendlyName "scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleCPField; // 0x1f8 + int32_t m_nScaleCPField; // 0x1f8 // MPropertyFriendlyName "cache attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1fc + ParticleAttributeIndex_t m_nFieldInput; // 0x1fc // MPropertyFriendlyName "attribute to write to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x200 + ParticleAttributeIndex_t m_nFieldOutput; // 0x200 // MPropertyFriendlyName "local space" - bool m_bOffsetLocal; // 0x204 + bool m_bOffsetLocal; // 0x204 }; // Alignment: 9 // Size: 0x220 -class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "pickover A parameter" - float m_flAParm; // 0x1f0 + float m_flAParm; // 0x1f0 // MPropertyFriendlyName "pickover B parameter" - float m_flBParm; // 0x1f4 + float m_flBParm; // 0x1f4 // MPropertyFriendlyName "pickover C parameter" - float m_flCParm; // 0x1f8 + float m_flCParm; // 0x1f8 // MPropertyFriendlyName "pickover D parameter" - float m_flDParm; // 0x1fc + float m_flDParm; // 0x1fc // MPropertyFriendlyName "scale" - float m_flScale; // 0x200 + float m_flScale; // 0x200 // MPropertyFriendlyName "speed min" - float m_flSpeedMin; // 0x204 + float m_flSpeedMin; // 0x204 // MPropertyFriendlyName "speed max" - float m_flSpeedMax; // 0x208 + float m_flSpeedMax; // 0x208 // MPropertyFriendlyName "relative control point number" - int32_t m_nBaseCP; // 0x20c + int32_t m_nBaseCP; // 0x20c // MPropertyFriendlyName "uniform speed" - bool m_bUniformSpeed; // 0x210 + bool m_bUniformSpeed; // 0x210 }; // Alignment: 4 // Size: 0x230 -class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x1f0 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x1f4 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f8 + float m_flEndTime; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x24]; // 0x1fc +public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x220 }; // Alignment: 5 // Size: 0x210 -class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x1f0 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x1f8 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x200 + int32_t m_nRandomSeed; // 0x200 }; -// Alignment: 12 -// Size: 0x220 -class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer, CParticleFunction -{ +// Alignment: 4 +// Size: 0x240 +class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar +{ public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1f4 - // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1f8 - // MPropertyFriendlyName "input scale control point" - int32_t m_nScaleControlPoint; // 0x1fc - // MPropertyFriendlyName "input scale control point field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x200 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c - // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x210 - // MPropertyFriendlyName "invert input from total particle count" - bool m_bInvert; // 0x211 - // MPropertyFriendlyName "wrap input" - bool m_bWrap; // 0x212 - // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x214 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 + // MPropertyFriendlyName "output min name" + CUtlString m_outputMinName; // 0x228 + // MPropertyFriendlyName "output max name" + CUtlString m_outputMaxName; // 0x230 + bool m_bModelFromRenderer; // 0x238 }; // Alignment: 10 // Size: 0x240 -class C_INIT_RandomColor : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomColor : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x20c + Color m_ColorMin; // 0x20c // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x210 + Color m_ColorMax; // 0x210 // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x214 + Color m_TintMin; // 0x214 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x218 + Color m_TintMax; // 0x218 // MPropertyFriendlyName "tint perc" - float m_flTintPerc; // 0x21c + float m_flTintPerc; // 0x21c // MPropertyFriendlyName "tint update movement threshold" - float m_flUpdateThreshold; // 0x220 + float m_flUpdateThreshold; // 0x220 // MPropertyFriendlyName "tint control point" - int32_t m_nTintCP; // 0x224 + int32_t m_nTintCP; // 0x224 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x228 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x22c + ParticleColorBlendMode_t m_nTintBlendMode; // 0x22c // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x230 + float m_flLightAmplification; // 0x230 }; // Alignment: 4 // Size: 0x360 -class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f0 + CPerParticleFloatInput m_flInterpolation; // 0x1f0 // MPropertyFriendlyName "input attribute from" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInputFrom; // 0x328 + ParticleAttributeIndex_t m_nFieldInputFrom; // 0x328 // MPropertyFriendlyName "input attribute to" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x32c + ParticleAttributeIndex_t m_nFieldInput; // 0x32c // MPropertyFriendlyName "output attribute" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x330 + ParticleAttributeIndex_t m_nFieldOutput; // 0x330 }; // Alignment: 5 // Size: 0x220 -class C_INIT_PointList : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_PointList : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 + CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x210 + bool m_bPlaceAlongPath; // 0x210 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x211 + bool m_bClosedLoop; // 0x211 +private: + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 +public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x214 + int32_t m_nNumPointsAlongPath; // 0x214 }; -// Alignment: 43 -// Size: 0x138 -class CParticleFloatInput : public -{ +// Alignment: 60 +// Size: 0x2050 +class CBaseRendererSource2 : public CParticleFunctionRenderer +{ public: - ParticleFloatType_t m_nType; // 0x0 - ParticleFloatMapType_t m_nMapType; // 0x4 - float m_flLiteralValue; // 0x8 - CKV3MemberNameWithStorage m_NamedValue; // 0x10 - int32_t m_nControlPoint; // 0x48 - ParticleAttributeIndex_t m_nScalarAttribute; // 0x4c - ParticleAttributeIndex_t m_nVectorAttribute; // 0x50 - int32_t m_nVectorComponent; // 0x54 - float m_flRandomMin; // 0x58 - float m_flRandomMax; // 0x5c - bool m_bHasRandomSignFlip; // 0x60 - ParticleFloatRandomMode_t m_nRandomMode; // 0x64 - float m_flLOD0; // 0x6c - float m_flLOD1; // 0x70 - float m_flLOD2; // 0x74 - float m_flLOD3; // 0x78 - ParticleAttributeIndex_t m_nNoiseInputVectorAttribute; // 0x7c - float m_flNoiseOutputMin; // 0x80 - float m_flNoiseOutputMax; // 0x84 - float m_flNoiseScale; // 0x88 - Vector m_vecNoiseOffsetRate; // 0x8c - float m_flNoiseOffset; // 0x98 - int32_t m_nNoiseOctaves; // 0x9c - PFNoiseTurbulence_t m_nNoiseTurbulence; // 0xa0 - PFNoiseType_t m_nNoiseType; // 0xa4 - PFNoiseModifier_t m_nNoiseModifier; // 0xa8 - float m_flNoiseTurbulenceScale; // 0xac - float m_flNoiseTurbulenceMix; // 0xb0 - float m_flNoiseImgPreviewScale; // 0xb4 - bool m_bNoiseImgPreviewLive; // 0xb8 - ParticleFloatInputMode_t m_nInputMode; // 0xc0 - float m_flMultFactor; // 0xc4 - float m_flInput0; // 0xc8 - float m_flInput1; // 0xcc - float m_flOutput0; // 0xd0 - float m_flOutput1; // 0xd4 - float m_flNotchedRangeMin; // 0xd8 - float m_flNotchedRangeMax; // 0xdc - float m_flNotchedOutputOutside; // 0xe0 - float m_flNotchedOutputInside; // 0xe4 - ParticleFloatBiasType_t m_nBiasType; // 0xe8 - float m_flBiasParameter; // 0xec - CPiecewiseCurve m_Curve; // 0xf0 + // MPropertyStartGroup "+Renderer Modifiers" + // MPropertyFriendlyName "radius scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRadiusScale; // 0x230 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flAlphaScale; // 0x368 + // MPropertyFriendlyName "rotation roll scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRollScale; // 0x4a0 + // MPropertyFriendlyName "per-particle alpha scale attribute" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "700" + ParticleAttributeIndex_t m_nAlpha2Field; // 0x5d8 +private: + [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc +public: + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionVecInput m_vecColorScale; // 0x5e0 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0xba8 + // MPropertyStartGroup "+Material" + // MPropertyFriendlyName "Shader" + // MPropertySortPriority "600" + SpriteCardShaderType_t m_nShaderType; // 0xbac + // MPropertyFriendlyName "Custom Shader" + // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" + // MPropertySortPriority "600" + CUtlString m_strShaderOverride; // 0xbb0 + // MPropertyFriendlyName "X offset of center point" + // MPropertySortPriority "600" + CParticleCollectionFloatInput m_flCenterXOffset; // 0xbb8 + // MPropertyFriendlyName "Y offset of center point" + // MPropertySortPriority "600" + CParticleCollectionFloatInput m_flCenterYOffset; // 0xcf0 + // MPropertyFriendlyName "Bump Strength" + // MPropertySortPriority "600" + float m_flBumpStrength; // 0xe28 + // MPropertyFriendlyName "Sheet Crop Behavior" + // MPropertySortPriority "600" + ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xe2c + // MPropertyFriendlyName "Textures" + // MParticleRequireDefaultArrayEntry + // MPropertyAutoExpandSelf + // MPropertySortPriority "600" + CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xe30 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animation rate" + // MPropertyAttributeRange "0 5" + // MPropertySortPriority "500" + float m_flAnimationRate; // 0xe48 + // MPropertyFriendlyName "animation type" + // MPropertySortPriority "500" + AnimationType_t m_nAnimationType; // 0xe4c + // MPropertyFriendlyName "set animation value in FPS" + // MPropertySortPriority "500" + bool m_bAnimateInFPS; // 0xe50 +private: + [[maybe_unused]] uint8_t __pad0e51[0x7]; // 0xe51 +public: + // MPropertyStartGroup "Lighting and Shadows" + // MPropertyFriendlyName "self illum amount" + // MPropertyAttributeRange "0 2" + // MPropertySortPriority "400" + CParticleCollectionFloatInput m_flSelfIllumAmount; // 0xe58 + // MPropertyFriendlyName "diffuse lighting amount" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "400" + CParticleCollectionFloatInput m_flDiffuseAmount; // 0xf90 + // MPropertyFriendlyName "diffuse lighting origin Control Point" + // MPropertySortPriority "400" + int32_t m_nLightingControlPoint; // 0x10c8 + // MPropertyFriendlyName "self illum per-particle" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "400" + ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x10cc + // MPropertyStartGroup "+Color and alpha adjustments" + // MPropertyFriendlyName "output blend mode" + // MPropertySortPriority "300" + ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x10d0 + // MPropertyFriendlyName "Gamma-correct vertex colors" + // MPropertySortPriority "300" + bool m_bGammaCorrectVertexColors; // 0x10d4 + // MPropertyFriendlyName "Saturate color pre alphablend" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod!=dota" + bool m_bSaturateColorPreAlphaBlend; // 0x10d5 +private: + [[maybe_unused]] uint8_t __pad10d6[0x2]; // 0x10d6 +public: + // MPropertyFriendlyName "add self amount over alphablend" + // MPropertySortPriority "300" + CParticleCollectionFloatInput m_flAddSelfAmount; // 0x10d8 + // MPropertyFriendlyName "desaturation amount" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionFloatInput m_flDesaturation; // 0x1210 + // MPropertyFriendlyName "overbright factor" + // MPropertySortPriority "300" + CParticleCollectionFloatInput m_flOverbrightFactor; // 0x1348 + // MPropertyFriendlyName "HSV Shift Control Point" + // MPropertySortPriority "300" + int32_t m_nHSVShiftControlPoint; // 0x1480 + // MPropertyFriendlyName "Apply fog to particle" + // MPropertySortPriority "300" + ParticleFogType_t m_nFogType; // 0x1484 + // MPropertyFriendlyName "Apply fog of war to color" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != dota" + bool m_bTintByFOW; // 0x1488 + // MPropertyFriendlyName "Apply global light to color" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != dota" + bool m_bTintByGlobalLight; // 0x1489 +private: + [[maybe_unused]] uint8_t __pad148a[0x2]; // 0x148a +public: + // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" + // MPropertyFriendlyName "alpha reference" + // MPropertySortPriority "300" + SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x148c + // MPropertyFriendlyName "alpha reference window size" + // MPropertySortPriority "300" + SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1490 + // MPropertyFriendlyName "alpha reference type" + // MPropertySortPriority "300" + ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1494 + // MPropertyFriendlyName "alpha reference softness" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0x1498 + // MPropertyFriendlyName "source alpha value to map to alpha of zero" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0x15d0 + // MPropertyFriendlyName "source alpha value to map to alpha of 1" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1708 + // MPropertyStartGroup "Refraction" + // MPropertyFriendlyName "refract background" + // MPropertySortPriority "200" + bool m_bRefract; // 0x1840 + // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + bool m_bRefractSolid; // 0x1841 +private: + [[maybe_unused]] uint8_t __pad1842[0x6]; // 0x1842 +public: + // MPropertyFriendlyName "refract amount" + // MPropertyAttributeRange "-2 2" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + CParticleCollectionFloatInput m_flRefractAmount; // 0x1848 + // MPropertyFriendlyName "refract blur radius" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + int32_t m_nRefractBlurRadius; // 0x1980 + // MPropertyFriendlyName "refract blur type" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + BlurFilterType_t m_nRefractBlurType; // 0x1984 + // MPropertyStartGroup + // MPropertyFriendlyName "Only Render in effects bloom pass" + // MPropertySortPriority "1100" + bool m_bOnlyRenderInEffectsBloomPass; // 0x1988 + // MPropertyFriendlyName "Only Render in effects water pass" + // MPropertySortPriority "1050" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffectsWaterPass; // 0x1989 + // MPropertyFriendlyName "Use Mixed Resolution Rendering" + // MPropertySortPriority "1200" + bool m_bUseMixedResolutionRendering; // 0x198a + // MPropertyFriendlyName "Only Render in effects game overlay pass" + // MPropertySortPriority "1210" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffecsGameOverlay; // 0x198b + // MPropertyStartGroup "Stencil" + // MPropertyFriendlyName "stencil test ID" + // MPropertySortPriority "0" + char m_stencilTestID[128]; // 0x198c + // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" + // MPropertySortPriority "0" + bool m_bStencilTestExclude; // 0x1a0c + // MPropertyFriendlyName "stencil write ID" + // MPropertySortPriority "0" + char m_stencilWriteID[128]; // 0x1a0d + // MPropertyFriendlyName "write stencil on z-buffer test success" + // MPropertySortPriority "0" + bool m_bWriteStencilOnDepthPass; // 0x1a8d + // MPropertyFriendlyName "write stencil on z-buffer test failure" + // MPropertySortPriority "0" + bool m_bWriteStencilOnDepthFail; // 0x1a8e + // MPropertyStartGroup "Depth buffer control and effects" + // MPropertyFriendlyName "reverse z-buffer test" + // MPropertySortPriority "900" + bool m_bReverseZBuffering; // 0x1a8f + // MPropertyFriendlyName "disable z-buffer test" + // MPropertySortPriority "900" + bool m_bDisableZBuffering; // 0x1a90 +private: + [[maybe_unused]] uint8_t __pad1a91[0x3]; // 0x1a91 +public: + // MPropertyFriendlyName "Depth feathering mode" + // MPropertySortPriority "900" + ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1a94 + // MPropertyFriendlyName "particle feathering closest distance to surface" + // MPropertySortPriority "900" + CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1a98 + // MPropertyFriendlyName "particle feathering farthest distance to surface" + // MPropertySortPriority "900" + CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1bd0 + // MPropertyFriendlyName "particle feathering filter" + // MPropertySortPriority "900" + CParticleCollectionFloatInput m_flFeatheringFilter; // 0x1d08 + // MPropertyFriendlyName "depth comparison bias" + // MPropertySortPriority "900" + float m_flDepthBias; // 0x1e40 + // MPropertyFriendlyName "Sort Method" + // MPropertySortPriority "900" + ParticleSortingChoiceList_t m_nSortMethod; // 0x1e44 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "blend sequence animation frames" + // MPropertySortPriority "500" + bool m_bBlendFramesSeq0; // 0x1e48 + // MPropertyFriendlyName "use max-luminance blending for sequence" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bBlendFramesSeq0" + bool m_bMaxLuminanceBlendingSequence0; // 0x1e49 }; // Alignment: 8 // Size: 0x3d0 -class C_OP_MoveToHitbox : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MoveToHitbox : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "lifetime lerp start" - float m_flLifeTimeLerpStart; // 0x1f8 + float m_flLifeTimeLerpStart; // 0x1f8 // MPropertyFriendlyName "lifetime lerp end" - float m_flLifeTimeLerpEnd; // 0x1fc + float m_flLifeTimeLerpEnd; // 0x1fc // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x200 + float m_flPrevPosScale; // 0x200 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x204 + char m_HitboxSetName[128]; // 0x204 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x284 + bool m_bUseBones; // 0x284 +private: + [[maybe_unused]] uint8_t __pad0285[0x3]; // 0x285 +public: // MPropertyFriendlyName "lerp type" - HitboxLerpType_t m_nLerpType; // 0x288 + HitboxLerpType_t m_nLerpType; // 0x288 +private: + [[maybe_unused]] uint8_t __pad028c[0x4]; // 0x28c +public: // MPropertyFriendlyName "Constant Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x290 + CPerParticleFloatInput m_flInterpolation; // 0x290 }; // Alignment: 1 // Size: 0x7c0 -class C_INIT_ScaleVelocity : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_ScaleVelocity : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "velocity scale" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecScale; // 0x1f0 + CParticleCollectionVecInput m_vecScale; // 0x1f0 }; // Alignment: 7 // Size: 0x250 -class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator +{ public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1f8 + CUtlVector< CUtlString > m_inNames; // 0x1f8 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x210 + CUtlVector< CUtlString > m_outNames; // 0x210 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x228 + CUtlVector< CUtlString > m_fallbackNames; // 0x228 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x240 + bool m_bModelFromRenderer; // 0x240 +private: + [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 +public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x244 + ParticleAttributeIndex_t m_nFieldInput; // 0x244 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x248 }; // Alignment: 2 // Size: 0x330 -class C_OP_CPVelocityForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_CPVelocityForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "velocity scale" - CPerParticleFloatInput m_flScale; // 0x1f8 + CPerParticleFloatInput m_flScale; // 0x1f8 }; // Alignment: 7 // Size: 0x210 -class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "override CP (X/Y/Z *= radius/density/speed)" - int32_t m_nOverrideCP; // 0x1f4 + int32_t m_nOverrideCP; // 0x1f4 // MPropertyFriendlyName "density" - int32_t m_nDensity; // 0x1f8 + int32_t m_nDensity; // 0x1f8 // MPropertyFriendlyName "initial radius" - float m_flInitialRadius; // 0x1fc + float m_flInitialRadius; // 0x1fc // MPropertyFriendlyName "min initial speed" - float m_flInitialSpeedMin; // 0x200 + float m_flInitialSpeedMin; // 0x200 // MPropertyFriendlyName "max initial speed" - float m_flInitialSpeedMax; // 0x204 + float m_flInitialSpeedMax; // 0x204 // MPropertyFriendlyName "use particle count as density scale" - bool m_bUseParticleCount; // 0x208 + bool m_bUseParticleCount; // 0x208 }; // Alignment: 6 // Size: 0x210 -class C_OP_LockPoints : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LockPoints : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "min column/particle index to affect" - int32_t m_nMinCol; // 0x1f0 + int32_t m_nMinCol; // 0x1f0 // MPropertyFriendlyName "max column/particle index to affect" - int32_t m_nMaxCol; // 0x1f4 + int32_t m_nMaxCol; // 0x1f4 // MPropertyFriendlyName "min row/particle index to affect" - int32_t m_nMinRow; // 0x1f8 + int32_t m_nMinRow; // 0x1f8 // MPropertyFriendlyName "max row/particle index to affect" - int32_t m_nMaxRow; // 0x1fc + int32_t m_nMaxRow; // 0x1fc // MPropertyFriendlyName "control point to lock to" - int32_t m_nControlPoint; // 0x200 + int32_t m_nControlPoint; // 0x200 // MPropertyFriendlyName "amount of current position to preserve" - float m_flBlendValue; // 0x204 + float m_flBlendValue; // 0x204 }; // Alignment: 4 // Size: 0x340 -class C_INIT_CreateFromCPs : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateFromCPs : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point increment amount" - int32_t m_nIncrement; // 0x1f0 + int32_t m_nIncrement; // 0x1f0 // MPropertyFriendlyName "starting control point" - int32_t m_nMinCP; // 0x1f4 + int32_t m_nMinCP; // 0x1f4 // MPropertyFriendlyName "ending control point" // MParticleMinVersion - int32_t m_nMaxCP; // 0x1f8 + int32_t m_nMaxCP; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "dynamic control point count" - CParticleCollectionFloatInput m_nDynamicCPCount; // 0x200 + CParticleCollectionFloatInput m_nDynamicCPCount; // 0x200 }; // Alignment: 7 // Size: 0x480 -class C_OP_PlanarConstraint : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_PlanarConstraint : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "plane point" // MVectorIsCoordinate - Vector m_PointOnPlane; // 0x1f0 + Vector m_PointOnPlane; // 0x1f0 // MPropertyFriendlyName "plane normal" - Vector m_PlaneNormal; // 0x1fc + Vector m_PlaneNormal; // 0x1fc // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x208 + int32_t m_nControlPointNumber; // 0x208 // MPropertyFriendlyName "global origin" - bool m_bGlobalOrigin; // 0x20c + bool m_bGlobalOrigin; // 0x20c // MPropertyFriendlyName "global normal" - bool m_bGlobalNormal; // 0x20d + bool m_bGlobalNormal; // 0x20d +private: + [[maybe_unused]] uint8_t __pad020e[0x2]; // 0x20e +public: // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x210 + CPerParticleFloatInput m_flRadiusScale; // 0x210 // MPropertyFriendlyName "falloff distance from control point" - CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x348 + CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x348 }; // Alignment: 2 // Size: 0x10 -struct ModelReference_t : public -{ +struct ModelReference_t +{ public: // MPropertyFriendlyName "model" - CStrongHandle< InfoForResourceTypeCModel > m_model; // 0x0 + CStrongHandle< InfoForResourceTypeCModel > m_model; // 0x0 // MPropertyFriendlyName "Relative probability" - float m_flRelativeProbabilityOfSpawn; // 0x8 + float m_flRelativeProbabilityOfSpawn; // 0x8 }; // Alignment: 5 // Size: 0x5b0 -class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "group ID to affect" - CParticleCollectionFloatInput m_nChildGroupID; // 0x200 + CParticleCollectionFloatInput m_nChildGroupID; // 0x200 // MPropertyFriendlyName "first child to enable" - CParticleCollectionFloatInput m_nFirstChild; // 0x338 + CParticleCollectionFloatInput m_nFirstChild; // 0x338 // MPropertyFriendlyName "# of children to enable" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x470 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x470 // MPropertyFriendlyName "play endcap when children are removed" - bool m_bPlayEndcapOnStop; // 0x5a8 + bool m_bPlayEndcapOnStop; // 0x5a8 // MPropertyFriendlyName "destroy particles immediately when child is removed" - bool m_bDestroyImmediately; // 0x5a9 + bool m_bDestroyImmediately; // 0x5a9 }; -// Alignment: 1 -// Size: 0x1f0 -class CParticleFunctionInitializer : public CParticleFunction -{ +// Alignment: 4 +// Size: 0x210 +class C_INIT_SequenceFromCP : public CParticleFunctionInitializer +{ public: - // MPropertyFriendlyName "Associated emitter Index" - int32_t m_nAssociatedEmitterIndex; // 0x1e8 + // MPropertyFriendlyName "kill unused" + bool m_bKillUnused; // 0x1f0 + // MPropertyFriendlyName "offset propotional to radius" + bool m_bRadiusScale; // 0x1f1 +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x1f4 + // MPropertyFriendlyName "per particle spatial offset" + // MVectorIsCoordinate + Vector m_vecOffset; // 0x1f8 }; // Alignment: 15 // Size: 0x230 -class C_OP_NoiseEmitter : public CParticleFunctionEmitter, CParticleFunction -{ +class C_OP_NoiseEmitter : public CParticleFunctionEmitter +{ public: // MPropertyFriendlyName "emission duration" - float m_flEmissionDuration; // 0x1f0 + float m_flEmissionDuration; // 0x1f0 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x1f4 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x1f8 + float m_flEmissionScale; // 0x1f8 // MPropertyFriendlyName "emission count scale control point" - int32_t m_nScaleControlPoint; // 0x1fc + int32_t m_nScaleControlPoint; // 0x1fc // MPropertyFriendlyName "emission count scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x200 + int32_t m_nScaleControlPointField; // 0x200 // MPropertyFriendlyName "world noise scale control point" - int32_t m_nWorldNoisePoint; // 0x204 + int32_t m_nWorldNoisePoint; // 0x204 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x208 + bool m_bAbsVal; // 0x208 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x209 + bool m_bAbsValInv; // 0x209 +private: + [[maybe_unused]] uint8_t __pad020a[0x2]; // 0x20a +public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x20c + float m_flOffset; // 0x20c // MPropertyFriendlyName "emission minimum" - float m_flOutputMin; // 0x210 + float m_flOutputMin; // 0x210 // MPropertyFriendlyName "emission maximum" - float m_flOutputMax; // 0x214 + float m_flOutputMax; // 0x214 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x218 + float m_flNoiseScale; // 0x218 // MPropertyFriendlyName "world spatial noise coordinate scale" - float m_flWorldNoiseScale; // 0x21c + float m_flWorldNoiseScale; // 0x21c // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x220 + Vector m_vecOffsetLoc; // 0x220 // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x22c + float m_flWorldTimeScale; // 0x22c }; // Alignment: 8 // Size: 0x210 -class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x1fc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x200 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x204 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x208 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x20c }; // Alignment: 12 // Size: 0x240 -class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x200 + Vector m_vecOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x20c + Vector m_vecOutputMax; // 0x20c // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x218 + float m_flStartTime; // 0x218 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x21c + float m_flEndTime; // 0x21c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x220 + ParticleSetMethod_t m_nSetMethod; // 0x220 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x224 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "use local system" - bool m_bLocalCoords; // 0x228 + bool m_bLocalCoords; // 0x228 +private: + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 +public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x22c + float m_flRemapBias; // 0x22c }; // Alignment: 0 // Size: 0x240 -class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar +{ public: // no members available }; // Alignment: 1 // Size: 0x200 -class C_OP_RadiusDecay : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RadiusDecay : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "minimum radius" - float m_flMinRadius; // 0x1f0 + float m_flMinRadius; // 0x1f0 }; // Alignment: 14 // Size: 0x18a0 -class C_INIT_CreateWithinSphereTransform : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateWithinSphereTransform : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "distance min" - CPerParticleFloatInput m_fRadiusMin; // 0x1f0 + CPerParticleFloatInput m_fRadiusMin; // 0x1f0 // MPropertyFriendlyName "distance max" - CPerParticleFloatInput m_fRadiusMax; // 0x328 + CPerParticleFloatInput m_fRadiusMax; // 0x328 // MPropertyFriendlyName "distance bias" // MVectorIsCoordinate - CPerParticleVecInput m_vecDistanceBias; // 0x460 + CPerParticleVecInput m_vecDistanceBias; // 0x460 // MPropertyFriendlyName "distance bias absolute value" // MVectorIsCoordinate - Vector m_vecDistanceBiasAbs; // 0xa28 + Vector m_vecDistanceBiasAbs; // 0xa28 +private: + [[maybe_unused]] uint8_t __pad0a34[0x4]; // 0xa34 +public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0xa38 + CParticleTransformInput m_TransformInput; // 0xa38 // MPropertyFriendlyName "speed min" - CPerParticleFloatInput m_fSpeedMin; // 0xa88 + CPerParticleFloatInput m_fSpeedMin; // 0xa88 // MPropertyFriendlyName "speed max" - CPerParticleFloatInput m_fSpeedMax; // 0xbc0 + CPerParticleFloatInput m_fSpeedMax; // 0xbc0 // MPropertyFriendlyName "speed random exponent" - float m_fSpeedRandExp; // 0xcf8 + float m_fSpeedRandExp; // 0xcf8 // MPropertyFriendlyName "bias in local system" - bool m_bLocalCoords; // 0xcfc + bool m_bLocalCoords; // 0xcfc +private: + [[maybe_unused]] uint8_t __pad0cfd[0x3]; // 0xcfd +public: // MPropertyFriendlyName "randomly distribution growth time" - float m_flEndCPGrowthTime; // 0xd00 + float m_flEndCPGrowthTime; // 0xd00 +private: + [[maybe_unused]] uint8_t __pad0d04[0x4]; // 0xd04 +public: // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xd08 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xd08 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x12d0 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x12d0 // MPropertyFriendlyName "Output vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1898 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1898 // MPropertyFriendlyName "Velocity vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldVelocity; // 0x189c + ParticleAttributeIndex_t m_nFieldVelocity; // 0x189c }; // Alignment: 7 // Size: 0x210 -class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1f0 + bool m_bTransformNormals; // 0x1f0 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1f1 + bool m_bTransformRadii; // 0x1f1 +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x1f4 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1f8 + float m_flLifeTimeFadeStart; // 0x1f8 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1fc + float m_flLifeTimeFadeEnd; // 0x1fc // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x200 + float m_flJumpThreshold; // 0x200 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x204 + float m_flPrevPosScale; // 0x204 }; // Alignment: 9 // Size: 0x2a0 -class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "interpolation rate" - float m_flInterpRate; // 0x1f0 + float m_flInterpRate; // 0x1f0 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x1f4 + float m_flMaxTraceLength; // 0x1f4 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x1f8 + float m_flTolerance; // 0x1f8 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1fc + float m_flTraceOffset; // 0x1fc // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x200 + char m_CollisionGroupName[128]; // 0x200 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x280 + ParticleTraceSet_t m_nTraceSet; // 0x280 // MPropertyFriendlyName "CP to trace from" - int32_t m_nInputCP; // 0x284 + int32_t m_nInputCP; // 0x284 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x288 + int32_t m_nOutputCP; // 0x288 +private: + [[maybe_unused]] uint8_t __pad028c[0xc]; // 0x28c +public: // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x298 + bool m_bIncludeWater; // 0x298 }; // Alignment: 4 // Size: 0x210 -class C_OP_TimeVaryingForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_TimeVaryingForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "time to start transition" - float m_flStartLerpTime; // 0x1f0 + float m_flStartLerpTime; // 0x1f0 // MPropertyFriendlyName "starting force" // MVectorIsCoordinate - Vector m_StartingForce; // 0x1f4 + Vector m_StartingForce; // 0x1f4 // MPropertyFriendlyName "time to end transition" - float m_flEndLerpTime; // 0x200 + float m_flEndLerpTime; // 0x200 // MPropertyFriendlyName "ending force" // MVectorIsCoordinate - Vector m_EndingForce; // 0x204 + Vector m_EndingForce; // 0x204 }; -// Alignment: 9 -// Size: 0xa18 -struct TextureGroup_t : public -{ +// Alignment: 16 +// Size: 0x8a8 +struct TextureControls_t +{ public: - // MPropertyFriendlyName "Enabled" - bool m_bEnabled; // 0x0 - // MPropertyFriendlyName "Author Texture As Gradient" - // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - bool m_bReplaceTextureWithGradient; // 0x1 - // MPropertyFriendlyName "Texture" - // MPropertySuppressExpr "m_bReplaceTextureWithGradient" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x8 - // MPropertyFriendlyName "Gradient" - // MPropertySuppressExpr "!m_bReplaceTextureWithGradient" - CColorGradient m_Gradient; // 0x10 - // MPropertyFriendlyName "Texture Type" - SpriteCardTextureType_t m_nTextureType; // 0x28 - // MPropertyFriendlyName "Channel Mix" - // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - SpriteCardTextureChannel_t m_nTextureChannels; // 0x2c - // MPropertyFriendlyName "Mix Blend Mode" - // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - ParticleTextureLayerBlendType_t m_nTextureBlendMode; // 0x30 - // MPropertyFriendlyName "Blend Amount" - // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - CParticleCollectionFloatInput m_flTextureBlend; // 0x38 - // MPropertyFriendlyName "Texture Controls" - // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - TextureControls_t m_TextureControls; // 0x170 + // MPropertyFriendlyName "horizontal texture scale" + CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0 + // MPropertyFriendlyName "vertical texture scale" + CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0x138 + // MPropertyFriendlyName "horizontal texture offset" + CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x270 + // MPropertyFriendlyName "vertical texture offset" + CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x3a8 + // MPropertyFriendlyName "texture rotation / animation rate scale" + CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x4e0 + // MPropertyFriendlyName "Infinite Zoom Scale" + CParticleCollectionFloatInput m_flZoomScale; // 0x618 + // MPropertyFriendlyName "Distortion Amount" + CParticleCollectionFloatInput m_flDistortion; // 0x750 + // MPropertyFriendlyName "Randomize Initial Offset" + bool m_bRandomizeOffsets; // 0x888 + // MPropertyFriendlyName "Clamp UVs" + bool m_bClampUVs; // 0x889 +private: + [[maybe_unused]] uint8_t __pad088a[0x2]; // 0x88a +public: + // MPropertyFriendlyName "per-particle scalar for blend" + SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x88c + // MPropertyFriendlyName "per-particle scalar for scale" + SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x890 + // MPropertyFriendlyName "per-particle scalar for horizontal offset" + SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x894 + // MPropertyFriendlyName "per-particle scalar for vertical offset" + SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x898 + // MPropertyFriendlyName "per-particle scalar for rotation" + SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x89c + // MPropertyFriendlyName "per-particle scalar for zoom" + SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x8a0 + // MPropertyFriendlyName "per-particle scalar for distortion" + SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x8a4 }; // Alignment: 3 // Size: 0x210 -class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x200 + int32_t m_nSourceCP; // 0x200 // MPropertyFriendlyName "dest CP" - int32_t m_nDestCP; // 0x204 + int32_t m_nDestCP; // 0x204 // MPropertyFriendlyName "dest control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x208 + int32_t m_nCPField; // 0x208 }; // Alignment: 5 // Size: 0x210 -class C_OP_LerpVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LerpVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1f4 + Vector m_vecOutput; // 0x1f4 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x200 + float m_flStartTime; // 0x200 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x204 + float m_flEndTime; // 0x204 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x208 }; // Alignment: 5 // Size: 0x280 -class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "velocity minimum" - float m_flVelocityMin; // 0x1f0 + float m_flVelocityMin; // 0x1f0 // MPropertyFriendlyName "velocity maximum" - float m_flVelocityMax; // 0x1f4 + float m_flVelocityMax; // 0x1f4 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x1f8 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x1fc + char m_HitboxSetName[128]; // 0x1fc // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x27c + bool m_bUseBones; // 0x27c }; // Alignment: 1 // Size: 0x200 -class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x1f0 }; // Alignment: 6 // Size: 0x200 -class C_INIT_GlobalScale : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_GlobalScale : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "scale amount" - float m_flScale; // 0x1f0 + float m_flScale; // 0x1f0 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPointNumber; // 0x1f4 + int32_t m_nScaleControlPointNumber; // 0x1f4 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x1f8 // MPropertyFriendlyName "scale radius" - bool m_bScaleRadius; // 0x1fc + bool m_bScaleRadius; // 0x1fc // MPropertyFriendlyName "scale position" - bool m_bScalePosition; // 0x1fd + bool m_bScalePosition; // 0x1fd // MPropertyFriendlyName "scale velocity" - bool m_bScaleVelocity; // 0x1fe + bool m_bScaleVelocity; // 0x1fe }; // Alignment: 4 // Size: 0x220 -class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "Target color control point number" - int32_t m_nColorCP; // 0x200 + int32_t m_nColorCP; // 0x200 // MPropertyFriendlyName "Color Gem Enable control point number" - int32_t m_nColorGemEnableCP; // 0x204 + int32_t m_nColorGemEnableCP; // 0x204 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x208 // MPropertyFriendlyName "Default HSV Color" - Color m_DefaultHSVColor; // 0x20c + Color m_DefaultHSVColor; // 0x20c }; // Alignment: 5 // Size: 0x220 -class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x200 // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x204 + float m_flInputMin; // 0x204 // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x208 + float m_flInputMax; // 0x208 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x20c + float m_flOutputMin; // 0x20c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x210 + float m_flOutputMax; // 0x210 }; // Alignment: 9 // Size: 0x260 -class C_OP_RenderScreenShake : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderScreenShake : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x230 + float m_flDurationScale; // 0x230 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x234 + float m_flRadiusScale; // 0x234 // MPropertyFriendlyName "frequence scale" - float m_flFrequencyScale; // 0x238 + float m_flFrequencyScale; // 0x238 // MPropertyFriendlyName "amplitude scale" - float m_flAmplitudeScale; // 0x23c + float m_flAmplitudeScale; // 0x23c // MPropertyFriendlyName "radius field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusField; // 0x240 + ParticleAttributeIndex_t m_nRadiusField; // 0x240 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x244 + ParticleAttributeIndex_t m_nDurationField; // 0x244 // MPropertyFriendlyName "frequency field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFrequencyField; // 0x248 + ParticleAttributeIndex_t m_nFrequencyField; // 0x248 // MPropertyFriendlyName "amplitude field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nAmplitudeField; // 0x24c + ParticleAttributeIndex_t m_nAmplitudeField; // 0x24c // MPropertyFriendlyName "control point of shake recipient (-1 = global)" - int32_t m_nFilterCP; // 0x250 + int32_t m_nFilterCP; // 0x250 }; // Alignment: 4 // Size: 0x200 -class C_OP_FadeIn : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_FadeIn : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "fade in time min" - float m_flFadeInTimeMin; // 0x1f0 + float m_flFadeInTimeMin; // 0x1f0 // MPropertyFriendlyName "fade in time max" - float m_flFadeInTimeMax; // 0x1f4 + float m_flFadeInTimeMax; // 0x1f4 // MPropertyFriendlyName "fade in time exponent" - float m_flFadeInTimeExp; // 0x1f8 + float m_flFadeInTimeExp; // 0x1f8 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1fc + bool m_bProportional; // 0x1fc }; // Alignment: 1 // Size: 0x340 -class C_OP_SetSimulationRate : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetSimulationRate : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "simulation timescale" - CParticleCollectionFloatInput m_flSimulationScale; // 0x200 + CParticleCollectionFloatInput m_flSimulationScale; // 0x200 }; // Alignment: 3 // Size: 0x200 -class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x1f0 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f8 + float m_flRotOffset; // 0x1f8 }; // Alignment: 6 // Size: 0x15c0 -class C_OP_CurlNoiseForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_CurlNoiseForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "noise type" - ParticleDirectionNoiseType_t m_nNoiseType; // 0x1f0 + ParticleDirectionNoiseType_t m_nNoiseType; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "noise frequency" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseFreq; // 0x1f8 + CPerParticleVecInput m_vecNoiseFreq; // 0x1f8 // MPropertyFriendlyName "noise amplitude" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseScale; // 0x7c0 + CPerParticleVecInput m_vecNoiseScale; // 0x7c0 // MPropertyFriendlyName "offset rate" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetRate; // 0xd88 + CPerParticleVecInput m_vecOffsetRate; // 0xd88 // MPropertyFriendlyName "worley seed" - CPerParticleFloatInput m_flWorleySeed; // 0x1350 + CPerParticleFloatInput m_flWorleySeed; // 0x1350 // MPropertyFriendlyName "worley jitter" - CPerParticleFloatInput m_flWorleyJitter; // 0x1488 + CPerParticleFloatInput m_flWorleyJitter; // 0x1488 }; // Alignment: 0 // Size: 0x8 -class IControlPointEditorData : public -{ +class IControlPointEditorData +{ public: // no members available }; // Alignment: 4 // Size: 0x910 -class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x200 + CParticleCollectionVecInput m_vecRotAxis; // 0x200 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7c8 + CParticleCollectionFloatInput m_flRotRate; // 0x7c8 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x900 + int32_t m_nCP; // 0x900 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalCP; // 0x904 + int32_t m_nLocalCP; // 0x904 }; // Alignment: 10 // Size: 0x230 -class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "input control point number" - int32_t m_nInputControlPoint; // 0x200 + int32_t m_nInputControlPoint; // 0x200 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputControlPoint; // 0x204 + int32_t m_nOutputControlPoint; // 0x204 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nInputField; // 0x208 + int32_t m_nInputField; // 0x208 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x20c + int32_t m_nOutputField; // 0x20c // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x210 + float m_flInputMin; // 0x210 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x214 + float m_flInputMax; // 0x214 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x218 + float m_flOutputMin; // 0x218 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x21c + float m_flOutputMax; // 0x21c // MPropertyFriendlyName "use the derivative" - bool m_bDerivative; // 0x220 + bool m_bDerivative; // 0x220 +private: + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 +public: // MPropertyFriendlyName "interpolation" - float m_flInterpRate; // 0x224 + float m_flInterpRate; // 0x224 }; // Alignment: 11 // Size: 0x220 -class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x1f0 + int32_t m_nInputCP1; // 0x1f0 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x1f4 + int32_t m_nInputCP2; // 0x1f4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 // MPropertyFriendlyName "input minimum (-1 to 1)" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x1fc // MPropertyFriendlyName "input maximum (-1 to 1)" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x200 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x204 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x208 // MPropertyFriendlyName "use particle velocity for first input" - bool m_bUseParticleVelocity; // 0x20c + bool m_bUseParticleVelocity; // 0x20c +private: + [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x210 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x214 + bool m_bActiveRange; // 0x214 // MPropertyFriendlyName "use particle normal for first input" - bool m_bUseParticleNormal; // 0x215 + bool m_bUseParticleNormal; // 0x215 }; // Alignment: 7 // Size: 0x220 -class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x200 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x204 + int32_t m_nOutVectorField; // 0x204 // MPropertyFriendlyName "scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x208 + ParticleAttributeIndex_t m_nField; // 0x208 // MPropertyFriendlyName "input volume minimum" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x20c // MPropertyFriendlyName "input volume maximum" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x210 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x218 }; // Alignment: 2 // Size: 0x210 -class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point number to set" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x200 // MPropertyFriendlyName "center offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x204 }; // Alignment: 4 // Size: 0x200 -class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x1f0 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1f8 + float m_flOffsetRot; // 0x1f8 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1fc + int32_t m_nComponent; // 0x1fc }; // Alignment: 15 // Size: 0xd90 -class C_OP_DistanceToTransform : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DistanceToTransform : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x1f8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x330 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x468 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5a0 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformStart; // 0x6d8 + CParticleTransformInput m_TransformStart; // 0x6d8 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x728 + bool m_bLOS; // 0x728 // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x729 + char m_CollisionGroupName[128]; // 0x729 +private: + [[maybe_unused]] uint8_t __pad07a9[0x3]; // 0x7a9 +public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x7ac + ParticleTraceSet_t m_nTraceSet; // 0x7ac // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x7b0 + float m_flMaxTraceLength; // 0x7b0 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x7b4 + float m_flLOSScale; // 0x7b4 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7b8 + ParticleSetMethod_t m_nSetMethod; // 0x7b8 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x7bc + bool m_bActiveRange; // 0x7bc // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x7bd + bool m_bAdditive; // 0x7bd +private: + [[maybe_unused]] uint8_t __pad07be[0x2]; // 0x7be +public: // MPropertyFriendlyName "component scale" - CPerParticleVecInput m_vecComponentScale; // 0x7c0 + CPerParticleVecInput m_vecComponentScale; // 0x7c0 }; // Alignment: 29 // Size: 0x1220 -class C_OP_RenderStandardLight : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderStandardLight : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "light type" - ParticleLightTypeChoiceList_t m_nLightType; // 0x230 + ParticleLightTypeChoiceList_t m_nLightType; // 0x230 +private: + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 +public: // MPropertyFriendlyName "color blend" - CParticleCollectionVecInput m_vecColorScale; // 0x238 + CParticleCollectionVecInput m_vecColorScale; // 0x238 // MPropertyFriendlyName "color blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0x800 + ParticleColorBlendType_t m_nColorBlendType; // 0x800 +private: + [[maybe_unused]] uint8_t __pad0804[0x4]; // 0x804 +public: // MPropertyFriendlyName "intensity" - CParticleCollectionFloatInput m_flIntensity; // 0x808 + CParticleCollectionFloatInput m_flIntensity; // 0x808 // MPropertyFriendlyName "cast shadows" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bCastShadows; // 0x940 + bool m_bCastShadows; // 0x940 +private: + [[maybe_unused]] uint8_t __pad0941[0x7]; // 0x941 +public: // MPropertyFriendlyName "inner cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flTheta; // 0x948 + CParticleCollectionFloatInput m_flTheta; // 0x948 // MPropertyFriendlyName "outer cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flPhi; // 0xa80 + CParticleCollectionFloatInput m_flPhi; // 0xa80 // MPropertyFriendlyName "light radius multiplier" - CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xbb8 + CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xbb8 // MPropertyFriendlyName "attenuation type" - StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xcf0 + StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xcf0 +private: + [[maybe_unused]] uint8_t __pad0cf4[0x4]; // 0xcf4 +public: // MPropertyFriendlyName "falloff linearity" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )" - CParticleCollectionFloatInput m_flFalloffLinearity; // 0xcf8 + CParticleCollectionFloatInput m_flFalloffLinearity; // 0xcf8 // MPropertyFriendlyName "falloff fifty percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xe30 + CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xe30 // MPropertyFriendlyName "falloff zero percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xf68 + CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xf68 // MPropertyFriendlyName "render diffuse" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderDiffuse; // 0x10a0 + bool m_bRenderDiffuse; // 0x10a0 // MPropertyFriendlyName "render specular" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderSpecular; // 0x10a1 + bool m_bRenderSpecular; // 0x10a1 +private: + [[maybe_unused]] uint8_t __pad10a2[0x6]; // 0x10a2 +public: // MPropertyFriendlyName "light cookie string" - CUtlString m_lightCookie; // 0x10a8 + CUtlString m_lightCookie; // 0x10a8 // MPropertyFriendlyName "light priority" - int32_t m_nPriority; // 0x10b0 + int32_t m_nPriority; // 0x10b0 // MPropertyFriendlyName "fog lighting mode" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x10b4 + ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x10b4 // MPropertyFriendlyName "fog contribution" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - CParticleCollectionFloatInput m_flFogContribution; // 0x10b8 + CParticleCollectionFloatInput m_flFogContribution; // 0x10b8 // MPropertyFriendlyName "capsule behavior" - ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x11f0 + ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x11f0 // MPropertyStartGroup "Capsule Light Controls" // MPropertyFriendlyName "capsule length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - float m_flCapsuleLength; // 0x11f4 + float m_flCapsuleLength; // 0x11f4 // MPropertyFriendlyName "reverse point order" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bReverseOrder; // 0x11f8 + bool m_bReverseOrder; // 0x11f8 // MPropertyFriendlyName "Closed loop" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bClosedLoop; // 0x11f9 + bool m_bClosedLoop; // 0x11f9 +private: + [[maybe_unused]] uint8_t __pad11fa[0x2]; // 0x11fa +public: // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x11fc + ParticleAttributeIndex_t m_nPrevPntSource; // 0x11fc // MPropertyFriendlyName "max length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMaxLength; // 0x1200 + float m_flMaxLength; // 0x1200 // MPropertyFriendlyName "min length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMinLength; // 0x1204 + float m_flMinLength; // 0x1204 // MPropertyFriendlyName "ignore delta time" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - bool m_bIgnoreDT; // 0x1208 + bool m_bIgnoreDT; // 0x1208 +private: + [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 +public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flConstrainRadiusToLengthRatio; // 0x120c + float m_flConstrainRadiusToLengthRatio; // 0x120c // MPropertyFriendlyName "amount to scale trail length by" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthScale; // 0x1210 + float m_flLengthScale; // 0x1210 // MPropertyFriendlyName "how long before a trail grows to its full length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthFadeInTime; // 0x1214 + float m_flLengthFadeInTime; // 0x1214 }; // Alignment: 1 // Size: 0x200 -class C_OP_WindForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_WindForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - Vector m_vForce; // 0x1f0 + Vector m_vForce; // 0x1f0 }; -// Alignment: 0 -// Size: 0x138 -class CParticleCollectionFloatInput : public CParticleFloatInput -{ +// Alignment: 2 +// Size: 0x140 +struct FloatInputMaterialVariable_t +{ public: - // no members available + // MPropertyFriendlyName "material variable" + CUtlString m_strVariable; // 0x0 + // MPropertyFriendlyName "input" + CParticleCollectionFloatInput m_flInput; // 0x8 }; // Alignment: 0 // Size: 0x8 -class IParticleSystemDefinition : public -{ +class IParticleSystemDefinition +{ public: // no members available }; // Alignment: 11 // Size: 0x220 -class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1f8 + int32_t m_nField; // 0x1f8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x1fc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x200 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x204 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x208 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x20c + float m_flStartTime; // 0x20c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x210 + float m_flEndTime; // 0x210 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x214 + ParticleSetMethod_t m_nSetMethod; // 0x214 // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x218 + float m_flRemapBias; // 0x218 }; // Alignment: 6 // Size: 0x260 -class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 // MPropertyFriendlyName "normal texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x238 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x238 // MPropertyFriendlyName "metalness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x240 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x240 // MPropertyFriendlyName "roughness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x248 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x248 // MPropertyFriendlyName "self illum texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x250 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x250 // MPropertyFriendlyName "detail texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x258 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x258 }; // Alignment: 3 // Size: 0xd90 -class C_OP_ClampVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ClampVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMin; // 0x1f8 + CPerParticleVecInput m_vecOutputMin; // 0x1f8 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMax; // 0x7c0 + CPerParticleVecInput m_vecOutputMax; // 0x7c0 }; -// Alignment: 7 +// Alignment: 0 // Size: 0x240 -class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar +{ public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 - // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x1f8 - // MPropertyFriendlyName "remap values for names" - CUtlVector< float32 > m_values; // 0x210 - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x228 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x22c - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x230 - // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x234 + // no members available }; -// Alignment: 4 -// Size: 0x240 -class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator, CParticleFunction -{ +// Alignment: 8 +// Size: 0x40 +class CPathParameters +{ public: - // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1f4 - // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1f8 - // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1fc - CPathParameters m_PathParams; // 0x200 + // MPropertyFriendlyName "start control point number" + int32_t m_nStartControlPointNumber; // 0x0 + // MPropertyFriendlyName "end control point number" + int32_t m_nEndControlPointNumber; // 0x4 + // MPropertyFriendlyName "bulge control 0=random 1=orientation of start pnt 2=orientation of end point" + int32_t m_nBulgeControl; // 0x8 + // MPropertyFriendlyName "random bulge" + float m_flBulge; // 0xc + // MPropertyFriendlyName "mid point position" + float m_flMidPoint; // 0x10 + // MPropertyFriendlyName "Offset from curve start point for path start" + // MVectorIsCoordinate + Vector m_vStartPointOffset; // 0x14 + // MPropertyFriendlyName "Offset from curve midpoint for curve center" + // MVectorIsCoordinate + Vector m_vMidPointOffset; // 0x20 + // MPropertyFriendlyName "Offset from control point for path end" + // MVectorIsCoordinate + Vector m_vEndOffset; // 0x2c }; -// Alignment: 3 +// Alignment: 0 // Size: 0x210 -class CGeneralSpin : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SpinYaw : public CGeneralSpin +{ public: - // MPropertyFriendlyName "spin rate degrees" - int32_t m_nSpinRateDegrees; // 0x1f0 - // MPropertyFriendlyName "spin rate min" - int32_t m_nSpinRateMinDegrees; // 0x1f4 - // MPropertyFriendlyName "spin stop time" - float m_fSpinRateStopTime; // 0x1fc + // no members available }; // Alignment: 3 // Size: 0x340 -class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "duration at which to stop" - CParticleCollectionFloatInput m_flDuration; // 0x200 + CParticleCollectionFloatInput m_flDuration; // 0x200 // MPropertyFriendlyName "destroy all particles immediately" - bool m_bDestroyImmediately; // 0x338 + bool m_bDestroyImmediately; // 0x338 // MPropertyFriendlyName "play end cap effect" - bool m_bPlayEndCap; // 0x339 + bool m_bPlayEndCap; // 0x339 }; // Alignment: 0 // Size: 0x250 -class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap +{ public: // no members available }; // Alignment: 7 // Size: 0x250 -class C_OP_MaintainSequentialPath : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MaintainSequentialPath : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x1f0 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1f4 + float m_flNumToAssign; // 0x1f4 // MPropertyFriendlyName "cohesion strength" - float m_flCohesionStrength; // 0x1f8 + float m_flCohesionStrength; // 0x1f8 // MPropertyFriendlyName "control point movement tolerance" - float m_flTolerance; // 0x1fc + float m_flTolerance; // 0x1fc // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x200 + bool m_bLoop; // 0x200 // MPropertyFriendlyName "use existing particle count" - bool m_bUseParticleCount; // 0x201 - CPathParameters m_PathParams; // 0x210 + bool m_bUseParticleCount; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0xe]; // 0x202 +public: + CPathParameters m_PathParams; // 0x210 }; // Alignment: 2 // Size: 0x210 -class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x200 // MPropertyFriendlyName "output control point number" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x204 }; // Alignment: 5 // Size: 0x210 -class C_OP_ExternalGenericForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_ExternalGenericForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "strength" - float m_flStrength; // 0x1f0 + float m_flStrength; // 0x1f0 // MPropertyFriendlyName "curl strength" - float m_flCurlStrength; // 0x1f4 + float m_flCurlStrength; // 0x1f4 // MPropertyFriendlyName "linear strength" - float m_flLinearStrength; // 0x1f8 + float m_flLinearStrength; // 0x1f8 // MPropertyFriendlyName "radial strength" - float m_flRadialStrength; // 0x1fc + float m_flRadialStrength; // 0x1fc // MPropertyFriendlyName "rotation strength" - float m_flRotationStrength; // 0x200 + float m_flRotationStrength; // 0x200 }; -// Alignment: 0 +// Alignment: 9 // Size: 0x250 -class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator +{ public: - // no members available + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + // MPropertyFriendlyName "input names" + CUtlVector< CUtlString > m_inNames; // 0x1f8 + // MPropertyFriendlyName "output names" + CUtlVector< CUtlString > m_outNames; // 0x210 + // MPropertyFriendlyName "fallback names when the input doesn't match" + CUtlVector< CUtlString > m_fallbackNames; // 0x228 + // MPropertyFriendlyName "model from renderer" + bool m_bModelFromRenderer; // 0x240 + // MPropertyFriendlyName "remap time proportional" + bool m_bProportional; // 0x241 +private: + [[maybe_unused]] uint8_t __pad0242[0x2]; // 0x242 +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x244 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + // MPropertyFriendlyName "remap time" + float m_flRemapTime; // 0x24c }; // Alignment: 1 // Size: 0x200 -class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "Acceleration" - float m_flAccel; // 0x1f0 + float m_flAccel; // 0x1f0 }; // Alignment: 10 // Size: 0x240 -class C_OP_RampScalarSpline : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RampScalarSpline : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x1f0 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x1f4 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1f8 + float m_flStartTime_min; // 0x1f8 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1fc + float m_flStartTime_max; // 0x1fc // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x200 + float m_flEndTime_min; // 0x200 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x204 + float m_flEndTime_max; // 0x204 // MPropertyFriendlyName "bias" - float m_flBias; // 0x208 + float m_flBias; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x24]; // 0x20c +public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x230 + ParticleAttributeIndex_t m_nField; // 0x230 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x234 + bool m_bProportionalOp; // 0x234 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x235 + bool m_bEaseOut; // 0x235 }; // Alignment: 5 // Size: 0x210 -class C_OP_ColorInterpolate : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ColorInterpolate : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "color fade" - Color m_ColorFade; // 0x1f0 + Color m_ColorFade; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0xc]; // 0x1f4 +public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x200 + float m_flFadeStartTime; // 0x200 // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x204 + float m_flFadeEndTime; // 0x204 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x208 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x20c + bool m_bEaseInOut; // 0x20c }; // Alignment: 1 // Size: 0x4 -class PARTICLE_WORLD_HANDLE__ : public -{ +class PARTICLE_WORLD_HANDLE__ +{ public: - int32_t unused; // 0x0 + int32_t unused; // 0x0 }; // Alignment: 7 // Size: 0x210 -class C_OP_FadeAndKill : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_FadeAndKill : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1f0 + float m_flStartFadeInTime; // 0x1f0 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1f4 + float m_flEndFadeInTime; // 0x1f4 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1f8 + float m_flStartFadeOutTime; // 0x1f8 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1fc + float m_flEndFadeOutTime; // 0x1fc // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x200 + float m_flStartAlpha; // 0x200 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x204 + float m_flEndAlpha; // 0x204 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x208 + bool m_bForcePreserveParticleOrder; // 0x208 }; // Alignment: 4 // Size: 0x250 -class C_INIT_RemapInitialTransformDirectionToRotation : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapInitialTransformDirectionToRotation : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x240 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x244 + float m_flOffsetRot; // 0x244 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x248 + int32_t m_nComponent; // 0x248 }; // Alignment: 3 // Size: 0x200 -class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "creation control point number" - int32_t m_nControlPointNumberStart; // 0x1f0 + int32_t m_nControlPointNumberStart; // 0x1f0 // MPropertyFriendlyName "offset control point number" - int32_t m_nControlPointNumberEnd; // 0x1f4 + int32_t m_nControlPointNumberEnd; // 0x1f4 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x1f8 + bool m_bLocalCoords; // 0x1f8 }; // Alignment: 8 // Size: 0x480 -class C_OP_MaintainEmitter : public CParticleFunctionEmitter, CParticleFunction -{ +class C_OP_MaintainEmitter : public CParticleFunctionEmitter +{ public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1f0 + int32_t m_nParticlesToMaintain; // 0x1f0 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x1f4 // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f8 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f8 // MPropertyFriendlyName "emission rate" - float m_flEmissionRate; // 0x330 + float m_flEmissionRate; // 0x330 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x334 + int32_t m_nSnapshotControlPoint; // 0x334 // MPropertyFriendlyName "group emission times for new particles" - bool m_bEmitInstantaneously; // 0x338 + bool m_bEmitInstantaneously; // 0x338 // MPropertyFriendlyName "perform final emit on stop" - bool m_bFinalEmitOnStop; // 0x339 + bool m_bFinalEmitOnStop; // 0x339 +private: + [[maybe_unused]] uint8_t __pad033a[0x6]; // 0x33a +public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x340 + CParticleCollectionFloatInput m_flScale; // 0x340 }; // Alignment: 3 // Size: 0x200 -class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x1f0 + float m_fSpeedMin; // 0x1f0 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x1f4 + float m_fSpeedMax; // 0x1f4 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x1f8 + bool m_bIgnoreDt; // 0x1f8 }; // Alignment: 3 // Size: 0x200 -class C_OP_MaxVelocity : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MaxVelocity : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "maximum velocity" - float m_flMaxVelocity; // 0x1f0 + float m_flMaxVelocity; // 0x1f0 // MPropertyFriendlyName "override max velocity from this CP" - int32_t m_nOverrideCP; // 0x1f4 + int32_t m_nOverrideCP; // 0x1f4 // MPropertyFriendlyName "override CP field" - int32_t m_nOverrideCPField; // 0x1f8 + int32_t m_nOverrideCPField; // 0x1f8 }; // Alignment: 11 // Size: 0x280 -class C_OP_RenderProjected : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderProjected : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "project on characters" - bool m_bProjectCharacter; // 0x230 + bool m_bProjectCharacter; // 0x230 // MPropertyFriendlyName "project on world" - bool m_bProjectWorld; // 0x231 + bool m_bProjectWorld; // 0x231 // MPropertyFriendlyName "project on water" - bool m_bProjectWater; // 0x232 + bool m_bProjectWater; // 0x232 // MPropertyFriendlyName "flip horizontal" - bool m_bFlipHorizontal; // 0x233 + bool m_bFlipHorizontal; // 0x233 // MPropertyFriendlyName "enable projected depth controls" - bool m_bEnableProjectedDepthControls; // 0x234 + bool m_bEnableProjectedDepthControls; // 0x234 +private: + [[maybe_unused]] uint8_t __pad0235[0x3]; // 0x235 +public: // MPropertyFriendlyName "min projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMinProjectionDepth; // 0x238 + float m_flMinProjectionDepth; // 0x238 // MPropertyFriendlyName "max projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMaxProjectionDepth; // 0x23c + float m_flMaxProjectionDepth; // 0x23c // MPropertyFriendlyName "material" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x240 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x240 // MPropertyFriendlyName "sheet animation time scale" - float m_flAnimationTimeScale; // 0x248 + float m_flAnimationTimeScale; // 0x248 // MPropertyFriendlyName "orient to normal" - bool m_bOrientToNormal; // 0x24c + bool m_bOrientToNormal; // 0x24c +private: + [[maybe_unused]] uint8_t __pad024d[0x3]; // 0x24d +public: // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x250 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x250 }; -// Alignment: 0 +// Alignment: 6 // Size: 0x220 -class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer +{ public: - // no members available + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + // MPropertyFriendlyName "names" + CUtlVector< CUtlString > m_names; // 0x1f8 + // MPropertyFriendlyName "shuffle" + bool m_bShuffle; // 0x210 + // MPropertyFriendlyName "linear" + bool m_bLinear; // 0x211 + // MPropertyFriendlyName "model from renderer" + bool m_bModelFromRenderer; // 0x212 +private: + [[maybe_unused]] uint8_t __pad0213[0x1]; // 0x213 +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 3 // Size: 0x900 -class C_OP_PerParticleForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_PerParticleForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1f0 + CPerParticleFloatInput m_flForceScale; // 0x1f0 // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - CPerParticleVecInput m_vForce; // 0x328 + CPerParticleVecInput m_vForce; // 0x328 // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x8f0 + int32_t m_nCP; // 0x8f0 }; // Alignment: 4 // Size: 0x200 -class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 // MPropertyFriendlyName "particle neighbor increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x1f8 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1fc + int32_t m_nGroupID; // 0x1fc }; // Alignment: 12 // Size: 0xf60 -class C_INIT_CreateOnModel : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateOnModel : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x1f4 + int32_t m_nForceInModel; // 0x1f4 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f8 + int32_t m_nDesiredHitbox; // 0x1f8 // MPropertyFriendlyName "Control Point Providing Hitbox index" - int32_t m_nHitboxValueFromControlPointIndex; // 0x1fc + int32_t m_nHitboxValueFromControlPointIndex; // 0x1fc // MPropertyFriendlyName "hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 // MPropertyFriendlyName "inherited velocity scale" - float m_flBoneVelocity; // 0x7c8 + float m_flBoneVelocity; // 0x7c8 // MPropertyFriendlyName "maximum inherited velocity" - float m_flMaxBoneVelocity; // 0x7cc + float m_flMaxBoneVelocity; // 0x7cc // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x7d0 + CParticleCollectionVecInput m_vecDirectionBias; // 0x7d0 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0xd98 + char m_HitboxSetName[128]; // 0xd98 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xe18 + bool m_bLocalCoords; // 0xe18 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0xe19 + bool m_bUseBones; // 0xe19 +private: + [[maybe_unused]] uint8_t __pad0e1a[0x6]; // 0xe1a +public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0xe20 + CParticleCollectionFloatInput m_flShellSize; // 0xe20 }; // Alignment: 4 // Size: 0x470 -class C_INIT_InitFloat : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitFloat : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x328 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x32c // MPropertyFriendlyName "per-particle strength" - CPerParticleFloatInput m_InputStrength; // 0x330 + CPerParticleFloatInput m_InputStrength; // 0x330 }; // Alignment: 4 // Size: 0x950 -class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x1f0 + CParticleCollectionVecInput m_vecRotAxis; // 0x1f0 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7b8 + CParticleCollectionFloatInput m_flRotRate; // 0x7b8 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x8f0 + CParticleTransformInput m_TransformInput; // 0x8f0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x940 -}; - -// Alignment: 6 -// Size: 0xed0 -class C_OP_SetFloatAttributeToVectorExpression : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x1f0 - // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 - // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 - // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xd88 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0xec0 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xec4 -}; - -// Alignment: 12 -// Size: 0x250 -class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 - // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x201 - // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x202 - // MPropertyFriendlyName "first control point number" - int32_t m_nCP1; // 0x204 - // MPropertyFriendlyName "second control point number" - int32_t m_nCP2; // 0x208 - // MPropertyFriendlyName "third control point number" - int32_t m_nCP3; // 0x20c - // MPropertyFriendlyName "fourth control point number" - int32_t m_nCP4; // 0x210 - // MPropertyFriendlyName "first control point location" - // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x214 - // MPropertyFriendlyName "second control point location" - // MVectorIsCoordinate - Vector m_vecCP2Pos; // 0x220 - // MPropertyFriendlyName "third control point location" - // MVectorIsCoordinate - Vector m_vecCP3Pos; // 0x22c - // MPropertyFriendlyName "fourth control point location" - // MVectorIsCoordinate - Vector m_vecCP4Pos; // 0x238 - // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x244 -}; - -// Alignment: 5 -// Size: 0x220 -class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1f0 - // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance; // 0x1f4 - // MPropertyFriendlyName "Time scale" - float m_flTimeScale; // 0x1f8 - // MPropertyFriendlyName "Treat path as a loop" - bool m_bLoopedPath; // 0x1fc - // MPropertyFriendlyName "path points" - CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x200 -}; - -// Alignment: 10 -// Size: 0x6f0 -class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "first dimension 0-2 (-1 disables)" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent1; // 0x1f0 - // MPropertyFriendlyName "second dimension 0-2 (-1 disables)" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent2; // 0x1f4 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 - // MPropertyFriendlyName "particle density" - CPerParticleFloatInput m_flParticleDensity; // 0x200 - // MPropertyFriendlyName "point offset" - CPerParticleFloatInput m_flOffset; // 0x338 - // MPropertyFriendlyName "radius 1" - CPerParticleFloatInput m_flRadius1; // 0x470 - // MPropertyFriendlyName "radius 2" - CPerParticleFloatInput m_flRadius2; // 0x5a8 - // MPropertyFriendlyName "use particle count instead of creation time" - bool m_bUseCount; // 0x6e0 - // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x6e1 - // MPropertyFriendlyName "offset from existing position" - bool m_bOffsetExistingPos; // 0x6e2 -}; - -// Alignment: 2 -// Size: 0x200 -class C_OP_DensityForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 - // MPropertyFriendlyName "Scale of force" - float m_flForceScale; // 0x1f4 -}; - -// Alignment: 5 -// Size: 0x5b0 -class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "radius" - CPerParticleFloatInput m_InputRadius; // 0x1f0 - // MPropertyFriendlyName "magnitude" - CPerParticleFloatInput m_InputMagnitude; // 0x328 - // MPropertyFriendlyName "force falloff function" - ParticleFalloffFunction_t m_nFalloffFunction; // 0x460 - // MPropertyFriendlyName "exponential falloff exponent" - CPerParticleFloatInput m_InputFalloffExp; // 0x468 - // MPropertyFriendlyName "impulse type" - ParticleImpulseType_t m_nImpulseType; // 0x5a0 -}; - -// Alignment: 13 -// Size: 0x240 -class C_OP_RemapCPtoVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 - // MPropertyFriendlyName "local space CP" - int32_t m_nLocalSpaceCP; // 0x1f8 - // MPropertyFriendlyName "input minimum" - // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1fc - // MPropertyFriendlyName "input maximum" - // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x208 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x214 - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x220 - // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x22c - // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x230 - // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x234 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x238 - // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x23c - // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x23d -}; - -// Alignment: 12 -// Size: 0xdf0 -class C_OP_PinParticleToCP : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 - // MPropertyFriendlyName "offset" - CParticleCollectionVecInput m_vecOffset; // 0x1f8 - // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x7c0 - // MPropertyFriendlyName "particle to use" - ParticleSelection_t m_nParticleSelection; // 0x7c4 - // MPropertyFriendlyName "particle number" - CParticleCollectionFloatInput m_nParticleNumber; // 0x7c8 - // MPropertyFriendlyName "pin break type" - ParticlePinDistance_t m_nPinBreakType; // 0x900 - // MPropertyFriendlyName "break length %" - CParticleCollectionFloatInput m_flBreakDistance; // 0x908 - // MPropertyFriendlyName "break speed" - CParticleCollectionFloatInput m_flBreakSpeed; // 0xa40 - // MPropertyFriendlyName "break age" - CParticleCollectionFloatInput m_flAge; // 0xb78 - // MPropertyFriendlyName "break comparison control point 1" - int32_t m_nBreakControlPointNumber; // 0xcb0 - // MPropertyFriendlyName "break comparison control point 2" - int32_t m_nBreakControlPointNumber2; // 0xcb4 - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0xcb8 -}; - -// Alignment: 7 -// Size: 0x2a0 -class C_OP_RtEnvCull : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "test direction" - // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1f0 - // MPropertyFriendlyName "cull normal" - // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1fc - // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x208 - // MPropertyFriendlyName "stick instead of cull" - bool m_bStickInsteadOfCull; // 0x209 - // MPropertyFriendlyName "ray trace environment name" - char[128] m_RtEnvName; // 0x20a - // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x28c - // MPropertyFriendlyName "rt env control point component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x290 -}; - -// Alignment: 9 -// Size: 0x240 -class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x200 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x204 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x208 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x20c - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x210 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x214 - // MPropertyFriendlyName "sound stack name" - CUtlString m_StackName; // 0x218 - // MPropertyFriendlyName "sound operator name" - CUtlString m_OperatorName; // 0x220 - // MPropertyFriendlyName "sound field name" - CUtlString m_FieldName; // 0x228 -}; - -// Alignment: 7 -// Size: 0x220 -class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 - // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f8 - // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1fc - // MPropertyFriendlyName "offset axis" - // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x200 - // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x20c - // MPropertyFriendlyName "strength field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldStrength; // 0x210 -}; - -// Alignment: 10 -// Size: 0x1280 -class C_OP_ChladniWave : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "wave minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 - // MPropertyFriendlyName "wave maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 - // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 - // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 - // MPropertyFriendlyName "wave length" - CPerParticleVecInput m_vecWaveLength; // 0x6d8 - // MPropertyFriendlyName "harmonics" - CPerParticleVecInput m_vecHarmonics; // 0xca0 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1268 - // MPropertyFriendlyName "local space control point" - int32_t m_nLocalSpaceControlPoint; // 0x126c - // MPropertyFriendlyName "3D" - bool m_b3D; // 0x1270 -}; - -// Alignment: 5 -// Size: 0x340 -class C_OP_SetChildControlPoints : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 - // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 - // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1f8 - // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x200 - // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x338 -}; - -// Alignment: 2 -// Size: 0x200 -class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 - // MPropertyFriendlyName "control point axis" - ParticleControlPointAxis_t m_nControlPointAxis; // 0x1f4 -}; - -// Alignment: 6 -// Size: 0xde0 -class C_INIT_PositionOffset : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "offset min" - // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMin; // 0x1f0 - // MPropertyFriendlyName "offset max" - // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMax; // 0x7b8 - // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0xd80 - // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0xdd0 - // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0xdd1 - // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xdd4 -}; - -// Alignment: 7 -// Size: 0x360 -class C_OP_SetControlPointToWaterSurface : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x200 - // MPropertyFriendlyName "CP to set to surface" - int32_t m_nDestCP; // 0x204 - // MPropertyFriendlyName "CP to set to surface current flow velocity" - // MPropertySuppressExpr "mod != hlx" - int32_t m_nFlowCP; // 0x208 - // MPropertyFriendlyName "CP to set component of if water" - int32_t m_nActiveCP; // 0x20c - // MPropertyFriendlyName "CP component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nActiveCPField; // 0x210 - // MPropertyFriendlyName "retest rate" - CParticleCollectionFloatInput m_flRetestRate; // 0x218 - // MPropertyFriendlyName "adaptive retest on moving surface" - bool m_bAdaptiveThreshold; // 0x350 -}; - -// Alignment: 2 -// Size: 0x200 -class C_INIT_InheritVelocity : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 - // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x1f4 -}; - -// Alignment: 22 -// Size: 0x12a0 -class C_OP_RenderCables : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyStartGroup "Renderer Modifiers" - // MPropertyFriendlyName "Radius Scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x230 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x368 - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x4a0 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xa68 - // MPropertyStartGroup - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xa70 - // MPropertyFriendlyName "texture repetition mode" - TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xa78 - // MPropertyFriendlyName "texture repetitions" - CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xa80 - // MPropertyFriendlyName "texture repetitions around cable" - CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xbb8 - // MPropertyFriendlyName "color map offset along path" - CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xcf0 - // MPropertyFriendlyName "color map offset around cable" - CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xe28 - // MPropertyFriendlyName "normal map offset along path" - CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xf60 - // MPropertyFriendlyName "normal map offset around cable" - CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1098 - // MPropertyFriendlyName "draw caps at each end of the cable" - bool m_bDrawCableCaps; // 0x11d0 - // MPropertyFriendlyName "cable end cap shape factor" - // MPropertyAttributeRange "0 2" - float m_flCapRoundness; // 0x11d4 - // MPropertyFriendlyName "cable end cap offset amount" - // MPropertyAttributeRange "0 2" - float m_flCapOffsetAmount; // 0x11d8 - // MPropertyFriendlyName "tessellation scale factor" - float m_flTessScale; // 0x11dc - // MPropertyFriendlyName "minimum steps between particles" - int32_t m_nMinTesselation; // 0x11e0 - // MPropertyFriendlyName "maximum steps between particles" - int32_t m_nMaxTesselation; // 0x11e4 - // MPropertyFriendlyName "roundness factor" - int32_t m_nRoundness; // 0x11e8 - // MPropertyFriendlyName "diffuse lighting origin" - // MParticleTransformInputOptional - CParticleTransformInput m_LightingTransform; // 0x11f0 - // MPropertyFriendlyName "material float variables" - CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x1240 - // MPropertyFriendlyName "material vector variables" - CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1270 -}; - -// Alignment: 9 -// Size: 0x350 -class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 - // MPropertyFriendlyName "field to read" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 - // MPropertyFriendlyName "field to write" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 - // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1fc - // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x200 - // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x201 - // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x208 - // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x340 - // MPropertyFriendlyName "local space angles" - bool m_bLocalSpaceAngles; // 0x344 -}; - -// Alignment: 0 -// Size: 0x250 -class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap, CParticleFunctionOperator, CParticleFunction -{ -public: - // no members available -}; - -// Alignment: 3 -// Size: 0x340 -class C_INIT_PlaneCull : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point of plane" - int32_t m_nControlPoint; // 0x1f0 - // MPropertyFriendlyName "cull offset" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 - // MPropertyFriendlyName "flip cull normal" - bool m_bCullInside; // 0x330 -}; - -// Alignment: 10 -// Size: 0x2b0 -class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 - // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 - // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x208 - // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x258 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2a8 - // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2ac - // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2ad -}; - -// Alignment: 6 -// Size: 0xee0 -class C_OP_SetControlPointFieldFromVectorExpression : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x200 - // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vecInput1; // 0x208 - // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vecInput2; // 0x7d0 - // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xd98 - // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0xed0 - // MPropertyFriendlyName "output component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0xed4 -}; - -// Alignment: 9 -// Size: 0x210 -class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 - // MPropertyFriendlyName "difference minimum" - float m_flInputMin; // 0x1f8 - // MPropertyFriendlyName "difference maximum" - float m_flInputMax; // 0x1fc - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 - // MPropertyFriendlyName "only active within specified difference" - bool m_bActiveRange; // 0x20c - // MPropertyFriendlyName "also set ouput to previous particle" - bool m_bSetPreviousParticle; // 0x20d -}; - -// Alignment: 3 -// Size: 0x220 -class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 - // MPropertyFriendlyName "control point offset" - // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 - // MPropertyFriendlyName "use hmd orientation" - bool m_bOrientToHMD; // 0x210 -}; - -// Alignment: 3 -// Size: 0x470 -class C_OP_ClampScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x1f8 - // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x330 -}; - -// Alignment: 13 -// Size: 0x2b0 -class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x1f0 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x270 - // MPropertyFriendlyName "minimum velocity" - // MVectorIsCoordinate - Vector m_vecOutputMin; // 0x274 - // MPropertyFriendlyName "maximum velocity" - // MVectorIsCoordinate - Vector m_vecOutputMax; // 0x280 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x28c - // MPropertyFriendlyName "per particle world collision tests" - bool m_bPerParticle; // 0x290 - // MPropertyFriendlyName "offset instead of accelerate" - bool m_bTranslate; // 0x291 - // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0x292 - // MPropertyFriendlyName "trace length" - float m_flTraceLength; // 0x294 - // MPropertyFriendlyName "use radius for per particle trace length" - bool m_bPerParticleTR; // 0x298 - // MPropertyFriendlyName "inherit from parent" - bool m_bInherit; // 0x299 - // MPropertyFriendlyName "control points to broadcast to children (n + 1)" - int32_t m_nChildCP; // 0x29c - // MPropertyFriendlyName "child group ID to affect" - int32_t m_nChildGroupID; // 0x2a0 -}; - -// Alignment: 4 -// Size: 0x340 -class C_OP_LerpScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "value to lerp to" - CPerParticleFloatInput m_flOutput; // 0x1f8 - // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x330 - // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x334 -}; - -// Alignment: 6 -// Size: 0x470 -class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f4 - // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x1f8 - // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x1f9 - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x200 - // MPropertyFriendlyName "Snapshot Index T Value" - CPerParticleFloatInput m_flTValue; // 0x338 -}; - -// Alignment: 9 -// Size: 0x990 -class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 - // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x1f4 - // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f8 - // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 - // MPropertyFriendlyName "direction bias" - // MVectorIsCoordinate - Vector m_vecDirectionBias; // 0x7c8 - // MPropertyFriendlyName "maintain existing hitbox" - bool m_bMaintainHitbox; // 0x7d4 - // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x7d5 - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x7d6 - // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0x858 -}; - -// Alignment: 5 -// Size: 0x7d0 -class C_INIT_InitVec : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1f0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7bc - // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x7c0 - // MPropertyFriendlyName "set previous position" - // MPropertySuppressExpr "m_nOutputField != PARTICLE_ATTRIBUTE_XYZ" - bool m_bWritePreviousPosition; // 0x7c1 -}; - -// Alignment: 2 -// Size: 0x200 -class C_OP_RemapDensityGradientToVectorAttribute : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 -}; - -// Alignment: 1 -// Size: 0x200 -class C_OP_AlphaDecay : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "minimum alpha" - float m_flMinAlpha; // 0x1f0 -}; - -// Alignment: 8 -// Size: 0x210 -class C_OP_SequenceFromModel : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 - // MPropertyFriendlyName "current anim time output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c -}; - -// Alignment: 3 -// Size: 0x5a0 -class C_OP_ColorAdjustHSL : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "hue adjust" - CPerParticleFloatInput m_flHueAdjust; // 0x1f0 - // MPropertyFriendlyName "saturation adjust" - CPerParticleFloatInput m_flSaturationAdjust; // 0x328 - // MPropertyFriendlyName "lightness adjust" - CPerParticleFloatInput m_flLightnessAdjust; // 0x460 -}; - -// Alignment: 6 -// Size: 0x210 -class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1f0 - // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1f4 - // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1f8 - // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1fc - // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x200 - // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x204 -}; - -// Alignment: 6 -// Size: 0x210 -class C_OP_Noise : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1f4 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1f8 - // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x1fc - // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x200 - // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x204 -}; - -// Alignment: 2 -// Size: 0x460 -class C_OP_CollideWithSelf : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x1f0 - // MPropertyFriendlyName "minimum speed for check" - CPerParticleFloatInput m_flMinimumSpeed; // 0x328 -}; - -// Alignment: 4 -// Size: 0x200 -class C_OP_LagCompensation : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "desired velocity CP" - int32_t m_nDesiredVelocityCP; // 0x1f0 - // MPropertyFriendlyName "latency CP" - int32_t m_nLatencyCP; // 0x1f4 - // MPropertyFriendlyName "latency CP field" - int32_t m_nLatencyCPField; // 0x1f8 - // MPropertyFriendlyName "desired velocity CP field override(for speed only)" - int32_t m_nDesiredVelocityCPField; // 0x1fc -}; - -// Alignment: 17 -// Size: 0x230 -class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f0 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 - // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1f8 - // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc - // MPropertyFriendlyName "prepare for rigid lock" - bool m_bRigid; // 0x200 - // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x201 - // MPropertyFriendlyName "normal velocity ignore delta time" - bool m_bIgnoreDt; // 0x202 - // MPropertyFriendlyName "normal velocity min" - float m_flMinNormalVelocity; // 0x204 - // MPropertyFriendlyName "normal velocity max" - float m_flMaxNormalVelocity; // 0x208 - // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x20c - // MPropertyFriendlyName "Full Loop Increment Amount" - int32_t m_nFullLoopIncrement; // 0x210 - // MPropertyFriendlyName "Snapshot start point" - int32_t m_nSnapShotStartPoint; // 0x214 - // MPropertyFriendlyName "inherited bone velocity" - float m_flBoneVelocity; // 0x218 - // MPropertyFriendlyName "max inherited bone velocity" - float m_flBoneVelocityMax; // 0x21c - // MPropertyFriendlyName "Set Color" - bool m_bCopyColor; // 0x220 - // MPropertyFriendlyName "Set Alpha" - bool m_bCopyAlpha; // 0x221 - // MPropertyFriendlyName "Set Radius" - bool m_bSetRadius; // 0x222 -}; - -// Alignment: 0 -// Size: 0x240 -class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar, C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction -{ -public: - // no members available + bool m_bLocalSpace; // 0x940 }; // Alignment: 0 // Size: 0x138 -class CPerParticleFloatInput : public CParticleFloatInput -{ +class CParticleRemapFloatInput : public CParticleFloatInput +{ public: // no members available }; +// Alignment: 12 +// Size: 0x250 +class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "set positions in world space" + bool m_bUseWorldLocation; // 0x200 + // MPropertyFriendlyName "inherit CP orientation" + bool m_bOrient; // 0x201 + // MPropertyFriendlyName "only set position once" + bool m_bSetOnce; // 0x202 +private: + [[maybe_unused]] uint8_t __pad0203[0x1]; // 0x203 +public: + // MPropertyFriendlyName "first control point number" + int32_t m_nCP1; // 0x204 + // MPropertyFriendlyName "second control point number" + int32_t m_nCP2; // 0x208 + // MPropertyFriendlyName "third control point number" + int32_t m_nCP3; // 0x20c + // MPropertyFriendlyName "fourth control point number" + int32_t m_nCP4; // 0x210 + // MPropertyFriendlyName "first control point location" + // MVectorIsCoordinate + Vector m_vecCP1Pos; // 0x214 + // MPropertyFriendlyName "second control point location" + // MVectorIsCoordinate + Vector m_vecCP2Pos; // 0x220 + // MPropertyFriendlyName "third control point location" + // MVectorIsCoordinate + Vector m_vecCP3Pos; // 0x22c + // MPropertyFriendlyName "fourth control point location" + // MVectorIsCoordinate + Vector m_vecCP4Pos; // 0x238 + // MPropertyFriendlyName "control point to offset positions from" + int32_t m_nHeadLocation; // 0x244 +}; + +// Alignment: 5 +// Size: 0x220 +class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "minimum distance" + float m_fMinDistance; // 0x1f0 + // MPropertyFriendlyName "maximum distance" + float m_flMaxDistance; // 0x1f4 + // MPropertyFriendlyName "Time scale" + float m_flTimeScale; // 0x1f8 + // MPropertyFriendlyName "Treat path as a loop" + bool m_bLoopedPath; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: + // MPropertyFriendlyName "path points" + CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x200 +}; + +// Alignment: 10 +// Size: 0x6f0 +class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "first dimension 0-2 (-1 disables)" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nComponent1; // 0x1f0 + // MPropertyFriendlyName "second dimension 0-2 (-1 disables)" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nComponent2; // 0x1f4 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: + // MPropertyFriendlyName "particle density" + CPerParticleFloatInput m_flParticleDensity; // 0x200 + // MPropertyFriendlyName "point offset" + CPerParticleFloatInput m_flOffset; // 0x338 + // MPropertyFriendlyName "radius 1" + CPerParticleFloatInput m_flRadius1; // 0x470 + // MPropertyFriendlyName "radius 2" + CPerParticleFloatInput m_flRadius2; // 0x5a8 + // MPropertyFriendlyName "use particle count instead of creation time" + bool m_bUseCount; // 0x6e0 + // MPropertyFriendlyName "local space" + bool m_bUseLocalCoords; // 0x6e1 + // MPropertyFriendlyName "offset from existing position" + bool m_bOffsetExistingPos; // 0x6e2 +}; + // Alignment: 2 // Size: 0x200 -class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DensityForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "Radius scale for particle influence" + float m_flRadiusScale; // 0x1f0 + // MPropertyFriendlyName "Scale of force" + float m_flForceScale; // 0x1f4 +}; + +// Alignment: 5 +// Size: 0x5b0 +class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "radius" + CPerParticleFloatInput m_InputRadius; // 0x1f0 + // MPropertyFriendlyName "magnitude" + CPerParticleFloatInput m_InputMagnitude; // 0x328 + // MPropertyFriendlyName "force falloff function" + ParticleFalloffFunction_t m_nFalloffFunction; // 0x460 +private: + [[maybe_unused]] uint8_t __pad0464[0x4]; // 0x464 +public: + // MPropertyFriendlyName "exponential falloff exponent" + CPerParticleFloatInput m_InputFalloffExp; // 0x468 + // MPropertyFriendlyName "impulse type" + ParticleImpulseType_t m_nImpulseType; // 0x5a0 +}; + +// Alignment: 13 +// Size: 0x240 +class C_OP_RemapCPtoVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x1f0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + // MPropertyFriendlyName "local space CP" + int32_t m_nLocalSpaceCP; // 0x1f8 + // MPropertyFriendlyName "input minimum" + // MVectorIsSometimesCoordinate + Vector m_vInputMin; // 0x1fc + // MPropertyFriendlyName "input maximum" + // MVectorIsSometimesCoordinate + Vector m_vInputMax; // 0x208 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vOutputMin; // 0x214 + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vOutputMax; // 0x220 + // MPropertyFriendlyName "emitter lifetime start time (seconds)" + float m_flStartTime; // 0x22c + // MPropertyFriendlyName "emitter lifetime end time (seconds)" + float m_flEndTime; // 0x230 + // MPropertyFriendlyName "interpolation scale" + float m_flInterpRate; // 0x234 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x238 + // MPropertyFriendlyName "offset position" + bool m_bOffset; // 0x23c + // MPropertyFriendlyName "accelerate position" + bool m_bAccelerate; // 0x23d +}; + +// Alignment: 12 +// Size: 0xdf0 +class C_OP_PinParticleToCP : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: + // MPropertyFriendlyName "offset" + CParticleCollectionVecInput m_vecOffset; // 0x1f8 + // MPropertyFriendlyName "offset in local space" + bool m_bOffsetLocal; // 0x7c0 +private: + [[maybe_unused]] uint8_t __pad07c1[0x3]; // 0x7c1 +public: + // MPropertyFriendlyName "particle to use" + ParticleSelection_t m_nParticleSelection; // 0x7c4 + // MPropertyFriendlyName "particle number" + CParticleCollectionFloatInput m_nParticleNumber; // 0x7c8 + // MPropertyFriendlyName "pin break type" + ParticlePinDistance_t m_nPinBreakType; // 0x900 +private: + [[maybe_unused]] uint8_t __pad0904[0x4]; // 0x904 +public: + // MPropertyFriendlyName "break length %" + CParticleCollectionFloatInput m_flBreakDistance; // 0x908 + // MPropertyFriendlyName "break speed" + CParticleCollectionFloatInput m_flBreakSpeed; // 0xa40 + // MPropertyFriendlyName "break age" + CParticleCollectionFloatInput m_flAge; // 0xb78 + // MPropertyFriendlyName "break comparison control point 1" + int32_t m_nBreakControlPointNumber; // 0xcb0 + // MPropertyFriendlyName "break comparison control point 2" + int32_t m_nBreakControlPointNumber2; // 0xcb4 + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0xcb8 +}; + +// Alignment: 7 +// Size: 0x2a0 +class C_OP_RtEnvCull : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "test direction" + // MVectorIsCoordinate + Vector m_vecTestDir; // 0x1f0 + // MPropertyFriendlyName "cull normal" + // MVectorIsCoordinate + Vector m_vecTestNormal; // 0x1fc + // MPropertyFriendlyName "cull on miss" + bool m_bCullOnMiss; // 0x208 + // MPropertyFriendlyName "stick instead of cull" + bool m_bStickInsteadOfCull; // 0x209 + // MPropertyFriendlyName "ray trace environment name" + char m_RtEnvName[128]; // 0x20a +private: + [[maybe_unused]] uint8_t __pad028a[0x2]; // 0x28a +public: + // MPropertyFriendlyName "ray trace environment cp" + int32_t m_nRTEnvCP; // 0x28c + // MPropertyFriendlyName "rt env control point component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nComponent; // 0x290 +}; + +// Alignment: 9 +// Size: 0x240 +class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "output control point" + int32_t m_nOutputControlPoint; // 0x200 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutputField; // 0x204 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x208 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x20c + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x210 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x214 + // MPropertyFriendlyName "sound stack name" + CUtlString m_StackName; // 0x218 + // MPropertyFriendlyName "sound operator name" + CUtlString m_OperatorName; // 0x220 + // MPropertyFriendlyName "sound field name" + CUtlString m_FieldName; // 0x228 +}; + +// Alignment: 7 +// Size: 0x220 +class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x1f0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + // MPropertyFriendlyName "scale factor" + float m_flScale; // 0x1f8 + // MPropertyFriendlyName "offset rotation" + float m_flOffsetRot; // 0x1fc + // MPropertyFriendlyName "offset axis" + // MVectorIsCoordinate + Vector m_vecOffsetAxis; // 0x200 + // MPropertyFriendlyName "normalize" + bool m_bNormalize; // 0x20c +private: + [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d +public: + // MPropertyFriendlyName "strength field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldStrength; // 0x210 +}; + +// Alignment: 10 +// Size: 0x1280 +class C_OP_ChladniWave : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: + // MPropertyFriendlyName "wave minimum" + CPerParticleFloatInput m_flInputMin; // 0x1f8 + // MPropertyFriendlyName "wave maximum" + CPerParticleFloatInput m_flInputMax; // 0x330 + // MPropertyFriendlyName "output minimum" + CPerParticleFloatInput m_flOutputMin; // 0x468 + // MPropertyFriendlyName "output maximum" + CPerParticleFloatInput m_flOutputMax; // 0x5a0 + // MPropertyFriendlyName "wave length" + CPerParticleVecInput m_vecWaveLength; // 0x6d8 + // MPropertyFriendlyName "harmonics" + CPerParticleVecInput m_vecHarmonics; // 0xca0 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1268 + // MPropertyFriendlyName "local space control point" + int32_t m_nLocalSpaceControlPoint; // 0x126c + // MPropertyFriendlyName "3D" + bool m_b3D; // 0x1270 +}; + +// Alignment: 5 +// Size: 0x340 +class C_OP_SetChildControlPoints : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "group ID to affect" + int32_t m_nChildGroupID; // 0x1f0 + // MPropertyFriendlyName "first control point to set" + int32_t m_nFirstControlPoint; // 0x1f4 + // MPropertyFriendlyName "# of control points to set" + int32_t m_nNumControlPoints; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: + // MPropertyFriendlyName "first particle to copy" + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x200 + // MPropertyFriendlyName "set orientation" + bool m_bSetOrientation; // 0x338 +}; + +// Alignment: 2 +// Size: 0x200 +class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1f0 + // MPropertyFriendlyName "control point axis" + ParticleControlPointAxis_t m_nControlPointAxis; // 0x1f4 +}; + +// Alignment: 2 +// Size: 0x8 +class CRandomNumberGeneratorParameters +{ +public: + // MPropertyFriendlyName "Distribute evenly" + bool m_bDistributeEvenly; // 0x0 + // MPropertyFriendlyName "Seed (negative values=randomize)" + // MPropertySuppressExpr "!m_bDistributeEvenly" + int32_t m_nSeed; // 0x4 +}; + +// Alignment: 7 +// Size: 0x360 +class C_OP_SetControlPointToWaterSurface : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "source CP" + int32_t m_nSourceCP; // 0x200 + // MPropertyFriendlyName "CP to set to surface" + int32_t m_nDestCP; // 0x204 + // MPropertyFriendlyName "CP to set to surface current flow velocity" + // MPropertySuppressExpr "mod != hlx" + int32_t m_nFlowCP; // 0x208 + // MPropertyFriendlyName "CP to set component of if water" + int32_t m_nActiveCP; // 0x20c + // MPropertyFriendlyName "CP component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nActiveCPField; // 0x210 +private: + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 +public: + // MPropertyFriendlyName "retest rate" + CParticleCollectionFloatInput m_flRetestRate; // 0x218 + // MPropertyFriendlyName "adaptive retest on moving surface" + bool m_bAdaptiveThreshold; // 0x350 +}; + +// Alignment: 2 +// Size: 0x200 +class C_INIT_InheritVelocity : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1f0 + // MPropertyFriendlyName "velocity scale" + float m_flVelocityScale; // 0x1f4 +}; + +// Alignment: 22 +// Size: 0x12a0 +class C_OP_RenderCables : public CParticleFunctionRenderer +{ +public: + // MPropertyStartGroup "Renderer Modifiers" + // MPropertyFriendlyName "Radius Scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRadiusScale; // 0x230 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flAlphaScale; // 0x368 + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionVecInput m_vecColorScale; // 0x4a0 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0xa68 +private: + [[maybe_unused]] uint8_t __pad0a6c[0x4]; // 0xa6c +public: + // MPropertyStartGroup + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xa70 + // MPropertyFriendlyName "texture repetition mode" + TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xa78 +private: + [[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c +public: + // MPropertyFriendlyName "texture repetitions" + CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xa80 + // MPropertyFriendlyName "texture repetitions around cable" + CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xbb8 + // MPropertyFriendlyName "color map offset along path" + CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xcf0 + // MPropertyFriendlyName "color map offset around cable" + CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xe28 + // MPropertyFriendlyName "normal map offset along path" + CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xf60 + // MPropertyFriendlyName "normal map offset around cable" + CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1098 + // MPropertyFriendlyName "draw caps at each end of the cable" + bool m_bDrawCableCaps; // 0x11d0 +private: + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 +public: + // MPropertyFriendlyName "cable end cap shape factor" + // MPropertyAttributeRange "0 2" + float m_flCapRoundness; // 0x11d4 + // MPropertyFriendlyName "cable end cap offset amount" + // MPropertyAttributeRange "0 2" + float m_flCapOffsetAmount; // 0x11d8 + // MPropertyFriendlyName "tessellation scale factor" + float m_flTessScale; // 0x11dc + // MPropertyFriendlyName "minimum steps between particles" + int32_t m_nMinTesselation; // 0x11e0 + // MPropertyFriendlyName "maximum steps between particles" + int32_t m_nMaxTesselation; // 0x11e4 + // MPropertyFriendlyName "roundness factor" + int32_t m_nRoundness; // 0x11e8 +private: + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec +public: + // MPropertyFriendlyName "diffuse lighting origin" + // MParticleTransformInputOptional + CParticleTransformInput m_LightingTransform; // 0x11f0 + // MPropertyFriendlyName "material float variables" + CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x1240 +private: + [[maybe_unused]] uint8_t __pad1258[0x18]; // 0x1258 +public: + // MPropertyFriendlyName "material vector variables" + CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1270 +}; + +// Alignment: 9 +// Size: 0x350 +class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nControlPointNumber; // 0x1f0 + // MPropertyFriendlyName "field to read" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 + // MPropertyFriendlyName "field to write" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 + // MPropertyFriendlyName "local space control point number" + int32_t m_nLocalSpaceCP; // 0x1fc + // MPropertyFriendlyName "random order" + bool m_bRandom; // 0x200 + // MPropertyFriendlyName "reverse order" + bool m_bReverse; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0x6]; // 0x202 +public: + // MPropertyFriendlyName "Snapshot increment amount" + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x208 + // MPropertyFriendlyName "random seed" + int32_t m_nRandomSeed; // 0x340 + // MPropertyFriendlyName "local space angles" + bool m_bLocalSpaceAngles; // 0x344 +}; + +// Alignment: 0 +// Size: 0x250 +class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x340 +class C_INIT_PlaneCull : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point of plane" + int32_t m_nControlPoint; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: + // MPropertyFriendlyName "cull offset" + CParticleCollectionFloatInput m_flDistance; // 0x1f8 + // MPropertyFriendlyName "flip cull normal" + bool m_bCullInside; // 0x330 +}; + +// Alignment: 10 +// Size: 0x2b0 +class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + // MPropertyFriendlyName "percentage minimum" + float m_flInputMin; // 0x1f4 + // MPropertyFriendlyName "percentage maximum" + float m_flInputMax; // 0x1f8 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1fc + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 +public: + // MPropertyFriendlyName "strarting transform" + CParticleTransformInput m_TransformStart; // 0x208 + // MPropertyFriendlyName "end transform" + CParticleTransformInput m_TransformEnd; // 0x258 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x2a8 + // MPropertyFriendlyName "only active within input range" + bool m_bActiveRange; // 0x2ac + // MPropertyFriendlyName "treat distance between points as radius" + bool m_bRadialCheck; // 0x2ad +}; + +// Alignment: 6 +// Size: 0xee0 +class C_OP_SetControlPointFieldFromVectorExpression : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "expression" + VectorFloatExpressionType_t m_nExpression; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 +public: + // MPropertyFriendlyName "input 1" + CParticleCollectionVecInput m_vecInput1; // 0x208 + // MPropertyFriendlyName "input 2" + CParticleCollectionVecInput m_vecInput2; // 0x7d0 + // MPropertyFriendlyName "output" + CParticleRemapFloatInput m_flOutputRemap; // 0xd98 + // MPropertyFriendlyName "output control point" + int32_t m_nOutputCP; // 0xed0 + // MPropertyFriendlyName "output component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutVectorField; // 0xed4 +}; + +// Alignment: 9 +// Size: 0x210 +class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + // MPropertyFriendlyName "difference minimum" + float m_flInputMin; // 0x1f8 + // MPropertyFriendlyName "difference maximum" + float m_flInputMax; // 0x1fc + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x200 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x204 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x208 + // MPropertyFriendlyName "only active within specified difference" + bool m_bActiveRange; // 0x20c + // MPropertyFriendlyName "also set ouput to previous particle" + bool m_bSetPreviousParticle; // 0x20d +}; + +// Alignment: 3 +// Size: 0x220 +class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nCP1; // 0x200 + // MPropertyFriendlyName "control point offset" + // MVectorIsCoordinate + Vector m_vecCP1Pos; // 0x204 + // MPropertyFriendlyName "use hmd orientation" + bool m_bOrientToHMD; // 0x210 +}; + +// Alignment: 3 +// Size: 0x470 +class C_OP_ClampScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: + // MPropertyFriendlyName "output minimum" + CPerParticleFloatInput m_flOutputMin; // 0x1f8 + // MPropertyFriendlyName "output maximum" + CPerParticleFloatInput m_flOutputMax; // 0x330 +}; + +// Alignment: 13 +// Size: 0x2b0 +class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "collision group" + char m_CollisionGroupName[128]; // 0x1f0 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x270 + // MPropertyFriendlyName "minimum velocity" + // MVectorIsCoordinate + Vector m_vecOutputMin; // 0x274 + // MPropertyFriendlyName "maximum velocity" + // MVectorIsCoordinate + Vector m_vecOutputMax; // 0x280 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x28c + // MPropertyFriendlyName "per particle world collision tests" + bool m_bPerParticle; // 0x290 + // MPropertyFriendlyName "offset instead of accelerate" + bool m_bTranslate; // 0x291 + // MPropertyFriendlyName "offset proportional to radius 0/1" + bool m_bProportional; // 0x292 +private: + [[maybe_unused]] uint8_t __pad0293[0x1]; // 0x293 +public: + // MPropertyFriendlyName "trace length" + float m_flTraceLength; // 0x294 + // MPropertyFriendlyName "use radius for per particle trace length" + bool m_bPerParticleTR; // 0x298 + // MPropertyFriendlyName "inherit from parent" + bool m_bInherit; // 0x299 +private: + [[maybe_unused]] uint8_t __pad029a[0x2]; // 0x29a +public: + // MPropertyFriendlyName "control points to broadcast to children (n + 1)" + int32_t m_nChildCP; // 0x29c + // MPropertyFriendlyName "child group ID to affect" + int32_t m_nChildGroupID; // 0x2a0 +}; + +// Alignment: 4 +// Size: 0x340 +class C_OP_LerpScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: + // MPropertyFriendlyName "value to lerp to" + CPerParticleFloatInput m_flOutput; // 0x1f8 + // MPropertyFriendlyName "start time" + float m_flStartTime; // 0x330 + // MPropertyFriendlyName "end time" + float m_flEndTime; // 0x334 +}; + +// Alignment: 6 +// Size: 0x470 +class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1f0 + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nSnapshotControlPointNumber; // 0x1f4 + // MPropertyFriendlyName "set normal" + bool m_bSetNormal; // 0x1f8 + // MPropertyFriendlyName "set radius" + bool m_bSetRadius; // 0x1f9 +private: + [[maybe_unused]] uint8_t __pad01fa[0x6]; // 0x1fa +public: + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x200 + // MPropertyFriendlyName "Snapshot Index T Value" + CPerParticleFloatInput m_flTValue; // 0x338 +}; + +// Alignment: 9 +// Size: 0x990 +class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1f0 + // MPropertyFriendlyName "force to be inside model" + int32_t m_nForceInModel; // 0x1f4 + // MPropertyFriendlyName "desired hitbox" + int32_t m_nDesiredHitbox; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: + // MPropertyFriendlyName "model hitbox scale" + CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 + // MPropertyFriendlyName "direction bias" + // MVectorIsCoordinate + Vector m_vecDirectionBias; // 0x7c8 + // MPropertyFriendlyName "maintain existing hitbox" + bool m_bMaintainHitbox; // 0x7d4 + // MPropertyFriendlyName "use bones instead of hitboxes" + bool m_bUseBones; // 0x7d5 + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0x7d6 +private: + [[maybe_unused]] uint8_t __pad0856[0x2]; // 0x856 +public: + // MPropertyFriendlyName "hitbox shell thickness" + CParticleCollectionFloatInput m_flShellSize; // 0x858 +}; + +// Alignment: 5 +// Size: 0x7d0 +class C_INIT_InitVec : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "value" + CPerParticleVecInput m_InputValue; // 0x1f0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x7bc + // MPropertyFriendlyName "normalize result" + bool m_bNormalizedOutput; // 0x7c0 + // MPropertyFriendlyName "set previous position" + // MPropertySuppressExpr "m_nOutputField != PARTICLE_ATTRIBUTE_XYZ" + bool m_bWritePreviousPosition; // 0x7c1 +}; + +// Alignment: 2 +// Size: 0x200 +class C_OP_RemapDensityGradientToVectorAttribute : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Radius scale for particle influence" + float m_flRadiusScale; // 0x1f0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 +}; + +// Alignment: 1 +// Size: 0x200 +class C_OP_AlphaDecay : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "minimum alpha" + float m_flMinAlpha; // 0x1f0 +}; + +// Alignment: 8 +// Size: 0x210 +class C_OP_SequenceFromModel : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1f0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + // MPropertyFriendlyName "current anim time output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x1fc + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x200 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x204 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x208 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x20c +}; + +// Alignment: 3 +// Size: 0x5a0 +class C_OP_ColorAdjustHSL : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "hue adjust" + CPerParticleFloatInput m_flHueAdjust; // 0x1f0 + // MPropertyFriendlyName "saturation adjust" + CPerParticleFloatInput m_flSaturationAdjust; // 0x328 + // MPropertyFriendlyName "lightness adjust" + CPerParticleFloatInput m_flLightnessAdjust; // 0x460 +}; + +// Alignment: 6 +// Size: 0x210 +class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "start fade in time" + float m_flStartFadeInTime; // 0x1f0 + // MPropertyFriendlyName "end fade in time" + float m_flEndFadeInTime; // 0x1f4 + // MPropertyFriendlyName "start fade out time" + float m_flStartFadeOutTime; // 0x1f8 + // MPropertyFriendlyName "end fade out time" + float m_flEndFadeOutTime; // 0x1fc + // MPropertyFriendlyName "start alpha" + float m_flStartAlpha; // 0x200 + // MPropertyFriendlyName "end alpha" + float m_flEndAlpha; // 0x204 +}; + +// Alignment: 6 +// Size: 0x210 +class C_OP_Noise : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1f4 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1f8 + // MPropertyFriendlyName "noise coordinate scale" + float m_fl4NoiseScale; // 0x1fc + // MPropertyFriendlyName "additive" + bool m_bAdditive; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 +public: + // MPropertyFriendlyName "Noise animation time scale" + float m_flNoiseAnimationTimeScale; // 0x204 +}; + +// Alignment: 2 +// Size: 0x460 +class C_OP_CollideWithSelf : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "particle radius scale" + CPerParticleFloatInput m_flRadiusScale; // 0x1f0 + // MPropertyFriendlyName "minimum speed for check" + CPerParticleFloatInput m_flMinimumSpeed; // 0x328 +}; + +// Alignment: 4 +// Size: 0x200 +class C_OP_LagCompensation : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "desired velocity CP" + int32_t m_nDesiredVelocityCP; // 0x1f0 + // MPropertyFriendlyName "latency CP" + int32_t m_nLatencyCP; // 0x1f4 + // MPropertyFriendlyName "latency CP field" + int32_t m_nLatencyCPField; // 0x1f8 + // MPropertyFriendlyName "desired velocity CP field override(for speed only)" + int32_t m_nDesiredVelocityCPField; // 0x1fc +}; + +// Alignment: 17 +// Size: 0x230 +class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nSnapshotControlPointNumber; // 0x1f0 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1f4 + // MPropertyFriendlyName "random order" + bool m_bRandom; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 +public: + // MPropertyFriendlyName "random seed" + int32_t m_nRandomSeed; // 0x1fc + // MPropertyFriendlyName "prepare for rigid lock" + bool m_bRigid; // 0x200 + // MPropertyFriendlyName "set normal" + bool m_bSetNormal; // 0x201 + // MPropertyFriendlyName "normal velocity ignore delta time" + bool m_bIgnoreDt; // 0x202 +private: + [[maybe_unused]] uint8_t __pad0203[0x1]; // 0x203 +public: + // MPropertyFriendlyName "normal velocity min" + float m_flMinNormalVelocity; // 0x204 + // MPropertyFriendlyName "normal velocity max" + float m_flMaxNormalVelocity; // 0x208 + // MPropertyFriendlyName "particle increment amount" + float m_flIncrement; // 0x20c + // MPropertyFriendlyName "Full Loop Increment Amount" + int32_t m_nFullLoopIncrement; // 0x210 + // MPropertyFriendlyName "Snapshot start point" + int32_t m_nSnapShotStartPoint; // 0x214 + // MPropertyFriendlyName "inherited bone velocity" + float m_flBoneVelocity; // 0x218 + // MPropertyFriendlyName "max inherited bone velocity" + float m_flBoneVelocityMax; // 0x21c + // MPropertyFriendlyName "Set Color" + bool m_bCopyColor; // 0x220 + // MPropertyFriendlyName "Set Alpha" + bool m_bCopyAlpha; // 0x221 + // MPropertyFriendlyName "Set Radius" + bool m_bSetRadius; // 0x222 +}; + +// Alignment: 0 +// Size: 0x240 +class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar +{ +public: + // no members available +}; + +// Alignment: 7 +// Size: 0x350 +class C_OP_RotateVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + // MPropertyFriendlyName "rotation axis min" + // MVectorIsCoordinate + Vector m_vecRotAxisMin; // 0x1f4 + // MPropertyFriendlyName "rotation axis max" + // MVectorIsCoordinate + Vector m_vecRotAxisMax; // 0x200 + // MPropertyFriendlyName "rotation rate min" + float m_flRotRateMin; // 0x20c + // MPropertyFriendlyName "rotation rate max" + float m_flRotRateMax; // 0x210 + // MPropertyFriendlyName "normalize output" + bool m_bNormalize; // 0x214 +private: + [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 +public: + // MPropertyFriendlyName "per particle scale" + CPerParticleFloatInput m_flScale; // 0x218 +}; + +// Alignment: 2 +// Size: 0x200 +class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f0 + int32_t m_nFirstControlPoint; // 0x1f0 // MPropertyFriendlyName "Second Control point to set" - int32_t m_nSecondControlPoint; // 0x1f4 + int32_t m_nSecondControlPoint; // 0x1f4 }; // Alignment: 13 // Size: 0x10b0 -class C_OP_RenderOmni2Light : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderOmni2Light : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "Type" - ParticleOmni2LightTypeChoiceList_t m_nLightType; // 0x230 + ParticleOmni2LightTypeChoiceList_t m_nLightType; // 0x230 +private: + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 +public: // MPropertyFriendlyName "Color Blend" - CParticleCollectionVecInput m_vColorBlend; // 0x238 + CParticleCollectionVecInput m_vColorBlend; // 0x238 // MPropertyFriendlyName "Color Blend Type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x800 - ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x804 + ParticleColorBlendType_t m_nColorBlendType; // 0x800 + ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x804 // MPropertyFriendlyName "Lumens" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_LUMENS" - CPerParticleFloatInput m_flBrightnessLumens; // 0x808 + CPerParticleFloatInput m_flBrightnessLumens; // 0x808 // MPropertyFriendlyName "Candelas" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_CANDELAS" - CPerParticleFloatInput m_flBrightnessCandelas; // 0x940 + CPerParticleFloatInput m_flBrightnessCandelas; // 0x940 // MPropertyFriendlyName "Shadows" // MPropertySuppressExpr "mod == csgo" - bool m_bCastShadows; // 0xa78 + bool m_bCastShadows; // 0xa78 +private: + [[maybe_unused]] uint8_t __pad0a79[0x7]; // 0xa79 +public: // MPropertyFriendlyName "Light Radius" // MPropertySuppressExpr "!m_bAreaLight" - CPerParticleFloatInput m_flLuminaireRadius; // 0xa80 + CPerParticleFloatInput m_flLuminaireRadius; // 0xa80 // MPropertyFriendlyName "Skirt" - CPerParticleFloatInput m_flSkirt; // 0xbb8 + CPerParticleFloatInput m_flSkirt; // 0xbb8 // MPropertyFriendlyName "Range" - CPerParticleFloatInput m_flRange; // 0xcf0 + CPerParticleFloatInput m_flRange; // 0xcf0 // MPropertyFriendlyName "Inner Cone Angle" - CPerParticleFloatInput m_flInnerConeAngle; // 0xe28 + CPerParticleFloatInput m_flInnerConeAngle; // 0xe28 // MPropertyFriendlyName "Outer Cone Angle" - CPerParticleFloatInput m_flOuterConeAngle; // 0xf60 + CPerParticleFloatInput m_flOuterConeAngle; // 0xf60 // MPropertyFriendlyName "Cookie" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1098 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1098 }; // Alignment: 1 // Size: 0x4 -class PARTICLE_EHANDLE__ : public -{ +class PARTICLE_EHANDLE__ +{ public: - int32_t unused; // 0x0 + int32_t unused; // 0x0 }; // Alignment: 0 // Size: 0x220 -class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement +{ public: // no members available }; // Alignment: 0 // Size: 0x8 -class IParticleEffect : public -{ +class IParticleEffect +{ public: // no members available }; // Alignment: 5 // Size: 0x210 -class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "inherited velocity scale" - float m_flVelocityScale; // 0x1f0 + float m_flVelocityScale; // 0x1f0 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x1f4 + float m_flIncrement; // 0x1f4 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1f8 + bool m_bRandomDistribution; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x1fc // MPropertyFriendlyName "sub frame interpolation" - bool m_bSubFrame; // 0x200 + bool m_bSubFrame; // 0x200 }; // Alignment: 5 // Size: 0x900 -class C_OP_SetVec : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetVec : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1f0 + CPerParticleVecInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x7b8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7bc + ParticleSetMethod_t m_nSetMethod; // 0x7bc // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x7c0 + CPerParticleFloatInput m_Lerp; // 0x7c0 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x8f8 + bool m_bNormalizedOutput; // 0x8f8 }; // Alignment: 3 // Size: 0x210 -class C_OP_MovementMaintainOffset : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementMaintainOffset : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "desired offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1f0 + Vector m_vecOffset; // 0x1f0 // MPropertyFriendlyName "local space CP" - int32_t m_nCP; // 0x1fc + int32_t m_nCP; // 0x1fc // MPropertyFriendlyName "scale by radius" - bool m_bRadiusScale; // 0x200 + bool m_bRadiusScale; // 0x200 }; // Alignment: 0 // Size: 0x250 -class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed +{ public: // no members available }; // Alignment: 14 // Size: 0x9a0 -class C_OP_LockToBone : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LockToBone : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control_point_number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1f4 + float m_flLifeTimeFadeStart; // 0x1f4 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1f8 + float m_flLifeTimeFadeEnd; // 0x1f8 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x1fc + float m_flJumpThreshold; // 0x1fc // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x200 + float m_flPrevPosScale; // 0x200 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x204 + char m_HitboxSetName[128]; // 0x204 // MPropertyFriendlyName "rigid lock" - bool m_bRigid; // 0x284 + bool m_bRigid; // 0x284 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x285 + bool m_bUseBones; // 0x285 +private: + [[maybe_unused]] uint8_t __pad0286[0x2]; // 0x286 +public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x288 + ParticleAttributeIndex_t m_nFieldOutput; // 0x288 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x28c + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x28c // MPropertyStartGroup "Set Rotations to Bones" // MPropertyFriendlyName "lock rotations to bone orientation" - ParticleRotationLockType_t m_nRotationSetType; // 0x290 + ParticleRotationLockType_t m_nRotationSetType; // 0x290 // MPropertyFriendlyName "rigid set rotation from bones" - bool m_bRigidRotationLock; // 0x294 + bool m_bRigidRotationLock; // 0x294 +private: + [[maybe_unused]] uint8_t __pad0295[0x3]; // 0x295 +public: // MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll" - CPerParticleVecInput m_vecRotation; // 0x298 + CPerParticleVecInput m_vecRotation; // 0x298 // MPropertyFriendlyName "rigid rotation interpolation" - CPerParticleFloatInput m_flRotLerp; // 0x860 + CPerParticleFloatInput m_flRotLerp; // 0x860 }; -// Alignment: 8 -// Size: 0x50 -class CParticleTransformInput : public -{ -public: - ParticleTransformType_t m_nType; // 0x4 - CKV3MemberNameWithStorage m_NamedValue; // 0x8 - bool m_bFollowNamedValue; // 0x40 - bool m_bSupportsDisabled; // 0x41 - bool m_bUseOrientation; // 0x42 - int32_t m_nControlPoint; // 0x44 - int32_t m_nControlPointRangeMax; // 0x48 - float m_flEndCPGrowthTime; // 0x4c -}; - -// Alignment: 11 -// Size: 0x250 -class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "start value" - Vector m_vStartValue; // 0x1f0 - // MPropertyFriendlyName "input field 1" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput1; // 0x1fc - // MPropertyFriendlyName "input scale 1" - float m_flInputScale1; // 0x200 - // MPropertyFriendlyName "input field 2" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput2; // 0x204 - // MPropertyFriendlyName "input scale 2" - float m_flInputScale2; // 0x208 - // MPropertyFriendlyName "control point input 1" - ControlPointReference_t m_nControlPointInput1; // 0x20c - // MPropertyFriendlyName "control point scale 1" - float m_flControlPointScale1; // 0x220 - // MPropertyFriendlyName "control point input 2" - ControlPointReference_t m_nControlPointInput2; // 0x224 - // MPropertyFriendlyName "control point scale 2" - float m_flControlPointScale2; // 0x238 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x23c - // MPropertyFriendlyName "final per component scale" - Vector m_vFinalOutputScale; // 0x240 -}; - -// Alignment: 3 -// Size: 0x200 -class C_OP_DampenToCP : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 - // MPropertyFriendlyName "falloff range" - float m_flRange; // 0x1f4 - // MPropertyFriendlyName "dampen scale" - float m_flScale; // 0x1f8 -}; - -// Alignment: 9 -// Size: 0x1270 -class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator, CParticleFunction -{ +// Alignment: 12 +// Size: 0x2c0 +class C_OP_PercentageBetweenTransformLerpCPs : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1f8 - // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7c0 - // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0xd88 - // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0xec0 - // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0xff8 - // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x1130 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + // MPropertyFriendlyName "percentage minimum" + float m_flInputMin; // 0x1f4 + // MPropertyFriendlyName "percentage maximum" + float m_flInputMax; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: + // MPropertyFriendlyName "strarting transform" + CParticleTransformInput m_TransformStart; // 0x200 + // MPropertyFriendlyName "end transform" + CParticleTransformInput m_TransformEnd; // 0x250 + // MPropertyFriendlyName "output starting control point number" + int32_t m_nOutputStartCP; // 0x2a0 + // MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z" + int32_t m_nOutputStartField; // 0x2a4 + // MPropertyFriendlyName "output ending control point number" + int32_t m_nOutputEndCP; // 0x2a8 + // MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z" + int32_t m_nOutputEndField; // 0x2ac // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1268 - // MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)" - bool m_bDeltaTime; // 0x126c -}; - -// Alignment: 6 -// Size: 0x210 -class CGeneralRandomRotation : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "rotation field" - // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "rotation initial" - float m_flDegrees; // 0x1f4 - // MPropertyFriendlyName "rotation offset from initial min" - float m_flDegreesMin; // 0x1f8 - // MPropertyFriendlyName "rotation offset from initial max" - float m_flDegreesMax; // 0x1fc - // MPropertyFriendlyName "rotation offset exponent" - float m_flRotationRandExponent; // 0x200 - // MPropertyFriendlyName "randomly flip direction" - bool m_bRandomlyFlipDirection; // 0x204 -}; - -// Alignment: 3 -// Size: 0x200 -class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "Input Vector" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 - // MPropertyFriendlyName "Output Scalar" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 - // MPropertyFriendlyName "Vector Component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1f8 -}; - -// Alignment: 8 -// Size: 0x220 -class C_INIT_AgeNoise : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x1f0 - // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x1f1 - // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x1f4 - // MPropertyFriendlyName "start age minimum" - float m_flAgeMin; // 0x1f8 - // MPropertyFriendlyName "start age maximum" - float m_flAgeMax; // 0x1fc - // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x200 - // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x204 - // MPropertyFriendlyName "spatial coordinate offset" - // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x208 -}; - -// Alignment: 4 -// Size: 0x350 -class C_OP_SetControlPointPositionToRandomActiveCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 - // MPropertyFriendlyName "min active CP" - int32_t m_nHeadLocationMin; // 0x204 - // MPropertyFriendlyName "max active CP" - int32_t m_nHeadLocationMax; // 0x208 - // MPropertyFriendlyName "reset rate" - CParticleCollectionFloatInput m_flResetRate; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x2b0 + // MPropertyFriendlyName "only active within input range" + bool m_bActiveRange; // 0x2b4 + // MPropertyFriendlyName "treat distance between points as radius" + bool m_bRadialCheck; // 0x2b5 }; // Alignment: 3 // Size: 0x14 -struct PointDefinition_t : public -{ +struct ControlPointReference_t +{ public: // MPropertyFriendlyName "Control point" - int32_t m_nControlPoint; // 0x0 - // MPropertyFriendlyName "Use local coordinates for offset" - bool m_bLocalCoords; // 0x4 + int32_t m_controlPointNameString; // 0x0 // MPropertyFriendlyName "Offset from control point" - Vector m_vOffset; // 0x8 + Vector m_vOffsetFromControlPoint; // 0x4 + // MPropertyFriendlyName "Use local space offset" + bool m_bOffsetInLocalSpace; // 0x10 +}; + +// Alignment: 3 +// Size: 0x200 +class C_OP_DampenToCP : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1f0 + // MPropertyFriendlyName "falloff range" + float m_flRange; // 0x1f4 + // MPropertyFriendlyName "dampen scale" + float m_flScale; // 0x1f8 +}; + +// Alignment: 9 +// Size: 0x1270 +class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: + // MPropertyFriendlyName "first vector" + CPerParticleVecInput m_vecPoint1; // 0x1f8 + // MPropertyFriendlyName "second vector" + CPerParticleVecInput m_vecPoint2; // 0x7c0 + // MPropertyFriendlyName "distance minimum" + CPerParticleFloatInput m_flInputMin; // 0xd88 + // MPropertyFriendlyName "distance maximum" + CPerParticleFloatInput m_flInputMax; // 0xec0 + // MPropertyFriendlyName "output minimum" + CPerParticleFloatInput m_flOutputMin; // 0xff8 + // MPropertyFriendlyName "output maximum" + CPerParticleFloatInput m_flOutputMax; // 0x1130 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1268 + // MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)" + bool m_bDeltaTime; // 0x126c +}; + +// Alignment: 6 +// Size: 0x210 +class CGeneralRandomRotation : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "rotation field" + // MPropertyAttributeChoiceName "particlefield_rotation" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + // MPropertyFriendlyName "rotation initial" + float m_flDegrees; // 0x1f4 + // MPropertyFriendlyName "rotation offset from initial min" + float m_flDegreesMin; // 0x1f8 + // MPropertyFriendlyName "rotation offset from initial max" + float m_flDegreesMax; // 0x1fc + // MPropertyFriendlyName "rotation offset exponent" + float m_flRotationRandExponent; // 0x200 + // MPropertyFriendlyName "randomly flip direction" + bool m_bRandomlyFlipDirection; // 0x204 +}; + +// Alignment: 3 +// Size: 0x200 +class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Input Vector" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + // MPropertyFriendlyName "Output Scalar" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + // MPropertyFriendlyName "Vector Component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nComponent; // 0x1f8 +}; + +// Alignment: 8 +// Size: 0x220 +class C_INIT_AgeNoise : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "absolute value" + bool m_bAbsVal; // 0x1f0 + // MPropertyFriendlyName "invert absolute value" + bool m_bAbsValInv; // 0x1f1 +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: + // MPropertyFriendlyName "time coordinate offset" + float m_flOffset; // 0x1f4 + // MPropertyFriendlyName "start age minimum" + float m_flAgeMin; // 0x1f8 + // MPropertyFriendlyName "start age maximum" + float m_flAgeMax; // 0x1fc + // MPropertyFriendlyName "time noise coordinate scale" + float m_flNoiseScale; // 0x200 + // MPropertyFriendlyName "spatial noise coordinate scale" + float m_flNoiseScaleLoc; // 0x204 + // MPropertyFriendlyName "spatial coordinate offset" + // MVectorIsCoordinate + Vector m_vecOffsetLoc; // 0x208 +}; + +// Alignment: 4 +// Size: 0x350 +class C_OP_SetControlPointPositionToRandomActiveCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nCP1; // 0x200 + // MPropertyFriendlyName "min active CP" + int32_t m_nHeadLocationMin; // 0x204 + // MPropertyFriendlyName "max active CP" + int32_t m_nHeadLocationMax; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c +public: + // MPropertyFriendlyName "reset rate" + CParticleCollectionFloatInput m_flResetRate; // 0x210 +}; + +// Alignment: 1 +// Size: 0x18 +struct PointDefinitionWithTimeValues_t : public PointDefinition_t +{ +public: + // MPropertyFriendlyName "Duration value for path point" + float m_flTimeDuration; // 0x14 }; // Alignment: 4 // Size: 0x490 -class C_OP_SetFloatCollection : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetFloatCollection : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1f0 + CParticleCollectionFloatInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x328 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x32c // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_Lerp; // 0x330 + CParticleCollectionFloatInput m_Lerp; // 0x330 }; // Alignment: 2 // Size: 0x200 -class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMin; // 0x1f0 + int32_t m_nSequenceMin; // 0x1f0 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMax; // 0x1f4 + int32_t m_nSequenceMax; // 0x1f4 }; // Alignment: 5 // Size: 0x210 -class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x1f0 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x1f8 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: // MPropertyFriendlyName "behavior if parent particle dies" - MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x200 + MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x200 }; // Alignment: 0 // Size: 0x210 -class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation +{ public: // no members available }; // Alignment: 4 // Size: 0x250 -class C_OP_RemapTransformOrientationToRotations : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapTransformOrientationToRotations : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x240 + Vector m_vecRotation; // 0x240 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x24c + bool m_bUseQuat; // 0x24c // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x24d + bool m_bWriteNormal; // 0x24d }; // Alignment: 4 // Size: 0xd90 -class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input vector 1" - CPerParticleVecInput m_InputVec1; // 0x1f0 + CPerParticleVecInput m_InputVec1; // 0x1f0 // MPropertyFriendlyName "input vector 2" - CPerParticleVecInput m_InputVec2; // 0x7b8 + CPerParticleVecInput m_InputVec2; // 0x7b8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0xd80 + ParticleAttributeIndex_t m_nFieldOutput; // 0xd80 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0xd84 + bool m_bNormalize; // 0xd84 }; // Alignment: 2 // Size: 0x200 -class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input control point" - int32_t m_nInputControlPoint; // 0x1f0 + int32_t m_nInputControlPoint; // 0x1f0 // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x1f4 + int32_t m_nOutputControlPoint; // 0x1f4 }; // Alignment: 17 // Size: 0x3f0 -class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1f0 + CPerParticleFloatInput m_flOffset; // 0x1f0 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x328 + float m_flMaxTraceLength; // 0x328 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x32c + float m_flTolerance; // 0x32c // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x330 + float m_flTraceOffset; // 0x330 // MPropertyFriendlyName "interpolation rate" - float m_flLerpRate; // 0x334 + float m_flLerpRate; // 0x334 // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x338 + char m_CollisionGroupName[128]; // 0x338 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3b8 + ParticleTraceSet_t m_nTraceSet; // 0x3b8 // MPropertyFriendlyName "reference CP 1" - int32_t m_nRefCP1; // 0x3bc + int32_t m_nRefCP1; // 0x3bc // MPropertyFriendlyName "reference CP 2" - int32_t m_nRefCP2; // 0x3c0 + int32_t m_nRefCP2; // 0x3c0 // MPropertyFriendlyName "interploation distance tolerance cp" - int32_t m_nLerpCP; // 0x3c4 + int32_t m_nLerpCP; // 0x3c4 +private: + [[maybe_unused]] uint8_t __pad03c8[0x8]; // 0x3c8 +public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3d0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3d0 // MPropertyFriendlyName "include default contents trace hulls" - bool m_bIncludeShotHull; // 0x3d4 + bool m_bIncludeShotHull; // 0x3d4 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x3d5 + bool m_bIncludeWater; // 0x3d5 +private: + [[maybe_unused]] uint8_t __pad03d6[0x2]; // 0x3d6 +public: // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x3d8 + bool m_bSetNormal; // 0x3d8 // MPropertyFriendlyName "treat offset as scalar of particle radius" - bool m_bScaleOffset; // 0x3d9 + bool m_bScaleOffset; // 0x3d9 +private: + [[maybe_unused]] uint8_t __pad03da[0x2]; // 0x3da +public: // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x3dc + int32_t m_nPreserveOffsetCP; // 0x3dc // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x3e0 + int32_t m_nIgnoreCP; // 0x3e0 }; // Alignment: 5 // Size: 0x220 -class C_OP_LockToPointList : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LockToPointList : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 + CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x210 + bool m_bPlaceAlongPath; // 0x210 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x211 + bool m_bClosedLoop; // 0x211 +private: + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 +public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x214 + int32_t m_nNumPointsAlongPath; // 0x214 }; // Alignment: 6 // Size: 0x350 -class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "CP to point towards" - int32_t m_nInputCP; // 0x200 + int32_t m_nInputCP; // 0x200 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x204 + int32_t m_nOutputCP; // 0x204 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x208 + CParticleCollectionFloatInput m_flInterpolation; // 0x208 // MPropertyFriendlyName "2D Orient" - bool m_b2DOrientation; // 0x340 + bool m_b2DOrientation; // 0x340 // MPropertyFriendlyName "Avoid Vertical Axis Singularity" - bool m_bAvoidSingularity; // 0x341 + bool m_bAvoidSingularity; // 0x341 // MPropertyFriendlyName "Point Away" - bool m_bPointAway; // 0x342 + bool m_bPointAway; // 0x342 }; // Alignment: 1 // Size: 0x200 -class C_OP_VelocityDecay : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_VelocityDecay : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "minimum velocity" - float m_flMinVelocity; // 0x1f0 + float m_flMinVelocity; // 0x1f0 }; // Alignment: 3 // Size: 0x210 -class C_OP_LerpEndCapVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LerpEndCapVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1f4 + Vector m_vecOutput; // 0x1f4 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x200 + float m_flLerpTime; // 0x200 }; // Alignment: 0 // Size: 0x210 -class C_INIT_RandomRotation : public CGeneralRandomRotation, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomRotation : public CGeneralRandomRotation +{ public: // no members available }; // Alignment: 5 // Size: 0xa40 -class C_OP_LerpToInitialPosition : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LerpToInitialPosition : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f8 + CPerParticleFloatInput m_flInterpolation; // 0x1f8 // MPropertyFriendlyName "position cache attribute" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nCacheField; // 0x330 + ParticleAttributeIndex_t m_nCacheField; // 0x330 +private: + [[maybe_unused]] uint8_t __pad0334[0x4]; // 0x334 +public: // MPropertyFriendlyName "scale" - CParticleCollectionFloatInput m_flScale; // 0x338 + CParticleCollectionFloatInput m_flScale; // 0x338 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x470 + CParticleCollectionVecInput m_vecScale; // 0x470 }; // Alignment: 2 // Size: 0x240 -class C_OP_RenderText : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderText : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "outline color" - Color m_OutlineColor; // 0x230 + Color m_OutlineColor; // 0x230 +private: + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 +public: // MPropertyFriendlyName "default text" - CUtlString m_DefaultText; // 0x238 + CUtlString m_DefaultText; // 0x238 }; // Alignment: 5 // Size: 0x470 -class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_DistanceCheck; // 0x200 + CPerParticleFloatInput m_DistanceCheck; // 0x200 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x338 + CPerParticleFloatInput m_flInterpolation; // 0x338 }; // Alignment: 2 // Size: 0x8 -struct SequenceWeightedList_t : public -{ +struct SequenceWeightedList_t +{ public: // MPropertyFriendlyName "sequence" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequence; // 0x0 + int32_t m_nSequence; // 0x0 // MPropertyFriendlyName "weight" - float m_flRelativeWeight; // 0x4 + float m_flRelativeWeight; // 0x4 }; // Alignment: 1 // Size: 0x200 -class C_INIT_RandomYawFlip : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomYawFlip : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "flip percentage" - float m_flPercent; // 0x1f0 + float m_flPercent; // 0x1f0 }; // Alignment: 4 // Size: 0x200 -class C_OP_Cull : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_Cull : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "cull percentage" - float m_flCullPerc; // 0x1f0 + float m_flCullPerc; // 0x1f0 // MPropertyFriendlyName "cull start time" - float m_flCullStart; // 0x1f4 + float m_flCullStart; // 0x1f4 // MPropertyFriendlyName "cull end time" - float m_flCullEnd; // 0x1f8 + float m_flCullEnd; // 0x1f8 // MPropertyFriendlyName "cull time exponent" - float m_flCullExp; // 0x1fc + float m_flCullExp; // 0x1fc }; // Alignment: 4 // Size: 0x250 -class C_INIT_RemapTransformOrientationToRotations : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapTransformOrientationToRotations : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x240 + Vector m_vecRotation; // 0x240 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x24c + bool m_bUseQuat; // 0x24c // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x24d + bool m_bWriteNormal; // 0x24d }; // Alignment: 1 // Size: 0x200 -class C_OP_NormalLock : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_NormalLock : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 }; // Alignment: 4 // Size: 0x240 -class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1f0 + float m_flFadeStart; // 0x1f0 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1f4 + float m_flFadeEnd; // 0x1f4 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1f8 - CPathParameters m_PathParams; // 0x200 + bool m_bCPPairs; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01f9[0x7]; // 0x1f9 +public: + CPathParameters m_PathParams; // 0x200 }; // Alignment: 6 // Size: 0x260 -class C_INIT_RemapInitialDirectionToTransformToVector : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapInitialDirectionToTransformToVector : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x240 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x244 + float m_flScale; // 0x244 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x248 + float m_flOffsetRot; // 0x248 // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x24c + Vector m_vecOffsetAxis; // 0x24c // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x258 + bool m_bNormalize; // 0x258 }; // Alignment: 2 // Size: 0x5d0 -struct VecInputMaterialVariable_t : public -{ +struct VecInputMaterialVariable_t +{ public: // MPropertyFriendlyName "material variable" - CUtlString m_strVariable; // 0x0 + CUtlString m_strVariable; // 0x0 // MPropertyFriendlyName "input" - CParticleCollectionVecInput m_vecInput; // 0x8 + CParticleCollectionVecInput m_vecInput; // 0x8 }; // Alignment: 6 // Size: 0x4c0 -class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_fMaxDistance; // 0x1f0 + CPerParticleFloatInput m_fMaxDistance; // 0x1f0 // MPropertyFriendlyName "particles to map from start to end" - CParticleCollectionFloatInput m_flNumToAssign; // 0x328 + CParticleCollectionFloatInput m_flNumToAssign; // 0x328 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x460 + bool m_bLoop; // 0x460 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x461 + bool m_bCPPairs; // 0x461 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x462 - CPathParameters m_PathParams; // 0x470 + bool m_bSaveOffset; // 0x462 +private: + [[maybe_unused]] uint8_t __pad0463[0xd]; // 0x463 +public: + CPathParameters m_PathParams; // 0x470 }; // Alignment: 7 // Size: 0x210 -class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x204 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x208 + float m_flRadiusScale; // 0x208 }; // Alignment: 0 // Size: 0x230 -class C_OP_RenderClothForce : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderClothForce : public CParticleFunctionRenderer +{ public: // no members available }; // Alignment: 6 // Size: 0x210 -class C_OP_RestartAfterDuration : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RestartAfterDuration : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "minimum restart time" - float m_flDurationMin; // 0x1f0 + float m_flDurationMin; // 0x1f0 // MPropertyFriendlyName "maximum restart time" - float m_flDurationMax; // 0x1f4 + float m_flDurationMax; // 0x1f4 // MPropertyFriendlyName "control point to scale duration" - int32_t m_nCP; // 0x1f8 + int32_t m_nCP; // 0x1f8 // MPropertyFriendlyName "control point field X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1fc + int32_t m_nCPField; // 0x1fc // MPropertyFriendlyName "child group ID" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x200 // MPropertyFriendlyName "only restart children" - bool m_bOnlyChildren; // 0x204 + bool m_bOnlyChildren; // 0x204 }; // Alignment: 14 // Size: 0x11c0 -class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f0 + bool m_bUseBones; // 0x1f0 // MPropertyFriendlyName "force creation height to desired height" - bool m_bForceZ; // 0x1f1 + bool m_bForceZ; // 0x1f1 +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x1f4 // MPropertyFriendlyName "height override control point number" - int32_t m_nHeightCP; // 0x1f8 + int32_t m_nHeightCP; // 0x1f8 // MPropertyFriendlyName "desired height is relative to water" - bool m_bUseWaterHeight; // 0x1fc + bool m_bUseWaterHeight; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: // MPropertyFriendlyName "relative desired height" - CParticleCollectionFloatInput m_flDesiredHeight; // 0x200 + CParticleCollectionFloatInput m_flDesiredHeight; // 0x200 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x338 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x338 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x900 + CParticleCollectionVecInput m_vecDirectionBias; // 0x900 // MPropertyFriendlyName "bias type" - ParticleHitboxBiasType_t m_nBiasType; // 0xec8 + ParticleHitboxBiasType_t m_nBiasType; // 0xec8 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xecc + bool m_bLocalCoords; // 0xecc // MPropertyFriendlyName "bias prefers moving hitboxes" - bool m_bPreferMovingBoxes; // 0xecd + bool m_bPreferMovingBoxes; // 0xecd // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0xece + char m_HitboxSetName[128]; // 0xece +private: + [[maybe_unused]] uint8_t __pad0f4e[0x2]; // 0xf4e +public: // MPropertyFriendlyName "hitbox velocity inherited scale" - CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xf50 + CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xf50 // MPropertyFriendlyName "max hitbox velocity" - CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1088 + CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1088 }; // Alignment: 3 // Size: 0x200 -class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x1f0 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x1f4 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1f8 + float m_flExponent; // 0x1f8 }; // Alignment: 3 // Size: 0x200 -class C_OP_VelocityMatchingForce : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_VelocityMatchingForce : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "direction matching strength" - float m_flDirScale; // 0x1f0 + float m_flDirScale; // 0x1f0 // MPropertyFriendlyName "speed matching strength" - float m_flSpdScale; // 0x1f4 + float m_flSpdScale; // 0x1f4 // MPropertyFriendlyName "control point to broadcast speed and direction to" - int32_t m_nCPBroadcast; // 0x1f8 + int32_t m_nCPBroadcast; // 0x1f8 }; // Alignment: 3 // Size: 0x220 -class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x200 // MPropertyFriendlyName "ramp rate min" - Vector m_vecRateMin; // 0x204 + Vector m_vecRateMin; // 0x204 // MPropertyFriendlyName "ramp rate max" - Vector m_vecRateMax; // 0x210 + Vector m_vecRateMax; // 0x210 }; // Alignment: 10 // Size: 0x950 -class C_INIT_CreateOnGrid : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateOnGrid : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "X Dimension Count" - CParticleCollectionFloatInput m_nXCount; // 0x1f0 + CParticleCollectionFloatInput m_nXCount; // 0x1f0 // MPropertyFriendlyName "Y Dimension Count" - CParticleCollectionFloatInput m_nYCount; // 0x328 + CParticleCollectionFloatInput m_nYCount; // 0x328 // MPropertyFriendlyName "Z Dimension Count" - CParticleCollectionFloatInput m_nZCount; // 0x460 + CParticleCollectionFloatInput m_nZCount; // 0x460 // MPropertyFriendlyName "X Dimension Spacing" - CParticleCollectionFloatInput m_nXSpacing; // 0x598 + CParticleCollectionFloatInput m_nXSpacing; // 0x598 // MPropertyFriendlyName "Y Dimension Spacing" - CParticleCollectionFloatInput m_nYSpacing; // 0x6d0 + CParticleCollectionFloatInput m_nYSpacing; // 0x6d0 // MPropertyFriendlyName "Z Dimension Spacing" - CParticleCollectionFloatInput m_nZSpacing; // 0x808 + CParticleCollectionFloatInput m_nZSpacing; // 0x808 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x940 + int32_t m_nControlPointNumber; // 0x940 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x944 + bool m_bLocalSpace; // 0x944 // MPropertyFriendlyName "center around control point" - bool m_bCenter; // 0x945 + bool m_bCenter; // 0x945 // MPropertyFriendlyName "hollow" - bool m_bHollow; // 0x946 + bool m_bHollow; // 0x946 }; // Alignment: 1 // Size: 0x240 -class C_OP_RenderPoints : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderPoints : public CParticleFunctionRenderer +{ public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x230 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x230 }; // Alignment: 7 // Size: 0x230 -class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x208 + Color m_ColorMin; // 0x208 // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x20c + Color m_ColorMax; // 0x20c // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x210 + Color m_TintMin; // 0x210 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x214 + Color m_TintMax; // 0x214 // MPropertyFriendlyName "light bias" - float m_flTintPerc; // 0x218 + float m_flTintPerc; // 0x218 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x21c + ParticleColorBlendMode_t m_nTintBlendMode; // 0x21c // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x220 + float m_flLightAmplification; // 0x220 }; -// Alignment: 2 -// Size: 0x8 -class CRandomNumberGeneratorParameters : public -{ +// Alignment: 6 +// Size: 0xde0 +class C_INIT_PositionOffset : public CParticleFunctionInitializer +{ public: - // MPropertyFriendlyName "Distribute evenly" - bool m_bDistributeEvenly; // 0x0 - // MPropertyFriendlyName "Seed (negative values=randomize)" - // MPropertySuppressExpr "!m_bDistributeEvenly" - int32_t m_nSeed; // 0x4 + // MPropertyFriendlyName "offset min" + // MVectorIsCoordinate + CPerParticleVecInput m_OffsetMin; // 0x1f0 + // MPropertyFriendlyName "offset max" + // MVectorIsCoordinate + CPerParticleVecInput m_OffsetMax; // 0x7b8 + // MPropertyFriendlyName "transform input" + CParticleTransformInput m_TransformInput; // 0xd80 + // MPropertyFriendlyName "offset in local space 0/1" + bool m_bLocalCoords; // 0xdd0 + // MPropertyFriendlyName "offset proportional to radius 0/1" + bool m_bProportional; // 0xdd1 +private: + [[maybe_unused]] uint8_t __pad0dd2[0x2]; // 0xdd2 +public: + // MPropertyFriendlyName "Random number generator controls" + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xdd4 }; // Alignment: 1 // Size: 0x330 -class C_OP_DecayClampCount : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DecayClampCount : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Maximum Count" - CParticleCollectionFloatInput m_nCount; // 0x1f0 + CParticleCollectionFloatInput m_nCount; // 0x1f0 }; // Alignment: 7 // Size: 0x260 -class C_OP_RenderLights : public C_OP_RenderPoints, CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderLights : public C_OP_RenderPoints +{ public: // MPropertyFriendlyName "animation rate" - float m_flAnimationRate; // 0x240 + float m_flAnimationRate; // 0x240 // MPropertyFriendlyName "animation type" - AnimationType_t m_nAnimationType; // 0x244 + AnimationType_t m_nAnimationType; // 0x244 // MPropertyFriendlyName "set animation value in FPS" - bool m_bAnimateInFPS; // 0x248 + bool m_bAnimateInFPS; // 0x248 +private: + [[maybe_unused]] uint8_t __pad0249[0x3]; // 0x249 +public: // MPropertyFriendlyName "minimum visual size" - float m_flMinSize; // 0x24c + float m_flMinSize; // 0x24c // MPropertyFriendlyName "maximum visual size" - float m_flMaxSize; // 0x250 + float m_flMaxSize; // 0x250 // MPropertyFriendlyName "size at which to start fading" - float m_flStartFadeSize; // 0x254 + float m_flStartFadeSize; // 0x254 // MPropertyFriendlyName "size at which to fade away" - float m_flEndFadeSize; // 0x258 + float m_flEndFadeSize; // 0x258 }; // Alignment: 0 // Size: 0x240 -class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar +{ public: // no members available }; // Alignment: 6 // Size: 0x230 -class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "color fade min" - Color m_ColorFadeMin; // 0x1f0 + Color m_ColorFadeMin; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x18]; // 0x1f4 +public: // MPropertyFriendlyName "color fade max" - Color m_ColorFadeMax; // 0x20c + Color m_ColorFadeMax; // 0x20c +private: + [[maybe_unused]] uint8_t __pad0210[0xc]; // 0x210 +public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x21c + float m_flFadeStartTime; // 0x21c // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x220 + float m_flFadeEndTime; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x224 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x228 + bool m_bEaseInOut; // 0x228 }; // Alignment: 7 // Size: 0x300 -class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x1f0 + char m_HitboxSetName[128]; // 0x1f0 // MPropertyFriendlyName "attachment to follow" - char[128] m_AttachmentName; // 0x270 + char m_AttachmentName[128]; // 0x270 // MPropertyFriendlyName "First control point to set" - int32_t m_nFirstControlPoint; // 0x2f0 + int32_t m_nFirstControlPoint; // 0x2f0 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x2f4 + int32_t m_nNumControlPoints; // 0x2f4 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x2f8 + int32_t m_nFirstSourcePoint; // 0x2f8 // MPropertyFriendlyName "use skinning instead of hitboxes" - bool m_bSkin; // 0x2fc + bool m_bSkin; // 0x2fc // MPropertyFriendlyName "follow attachment" - bool m_bAttachment; // 0x2fd + bool m_bAttachment; // 0x2fd }; // Alignment: 5 // Size: 0x260 -class C_INIT_CreateAlongPath : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateAlongPath : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 - CPathParameters m_PathParams; // 0x200 + float m_fMaxDistance; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0xc]; // 0x1f4 +public: + CPathParameters m_PathParams; // 0x200 // MPropertyFriendlyName "randomly select sequential CP pairs between start and end points" - bool m_bUseRandomCPs; // 0x240 + bool m_bUseRandomCPs; // 0x240 +private: + [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 +public: // MPropertyFriendlyName "Offset from control point for path end" // MVectorIsCoordinate - Vector m_vEndOffset; // 0x244 + Vector m_vEndOffset; // 0x244 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x250 + bool m_bSaveOffset; // 0x250 }; // Alignment: 4 // Size: 0x210 -class C_OP_DistanceCull : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DistanceCull : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x1f0 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecPointOffset; // 0x1f4 + Vector m_vecPointOffset; // 0x1f4 // MPropertyFriendlyName "cull distance" - float m_flDistance; // 0x200 + float m_flDistance; // 0x200 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x204 + bool m_bCullInside; // 0x204 }; // Alignment: 8 // Size: 0x250 -class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1f0 + float m_fMinDistance; // 0x1f0 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance0; // 0x1f4 + float m_flMaxDistance0; // 0x1f4 // MPropertyFriendlyName "maximum distance middle" - float m_flMaxDistanceMid; // 0x1f8 + float m_flMaxDistanceMid; // 0x1f8 // MPropertyFriendlyName "maximum distance end" - float m_flMaxDistance1; // 0x1fc - CPathParameters m_PathParameters; // 0x200 + float m_flMaxDistance1; // 0x1fc + CPathParameters m_PathParameters; // 0x200 // MPropertyFriendlyName "travel time" - float m_flTravelTime; // 0x240 + float m_flTravelTime; // 0x240 // MPropertyFriendlyName "travel time scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldScale; // 0x244 + ParticleAttributeIndex_t m_nFieldScale; // 0x244 // MPropertyFriendlyName "manual time placement field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nManualTField; // 0x248 + ParticleAttributeIndex_t m_nManualTField; // 0x248 }; // Alignment: 4 // Size: 0x220 -class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x200 // MPropertyFriendlyName "hand" - int32_t m_nHand; // 0x204 + int32_t m_nHand; // 0x204 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x208 + Vector m_vecCP1Pos; // 0x208 // MPropertyFriendlyName "use hand orientation" - bool m_bOrientToHand; // 0x214 + bool m_bOrientToHand; // 0x214 }; // Alignment: 15 // Size: 0x2c0 -class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x200 + int32_t m_nStartCP; // 0x200 // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x204 + int32_t m_nEndCP; // 0x204 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x208 // MPropertyFriendlyName "output control point field" - int32_t m_nOutputCPField; // 0x20c + int32_t m_nOutputCPField; // 0x20c // MPropertyFriendlyName "only set distance once" - bool m_bSetOnce; // 0x210 + bool m_bSetOnce; // 0x210 +private: + [[maybe_unused]] uint8_t __pad0211[0x3]; // 0x211 +public: // MPropertyFriendlyName "distance minimum" - float m_flInputMin; // 0x214 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "distance maximum" - float m_flInputMax; // 0x218 + float m_flInputMax; // 0x218 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x21c + float m_flOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x220 + float m_flOutputMax; // 0x220 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x224 + float m_flMaxTraceLength; // 0x224 // MPropertyFriendlyName "LOS Failure Scale" - float m_flLOSScale; // 0x228 + float m_flLOSScale; // 0x228 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x22c + bool m_bLOS; // 0x22c // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x22d + char m_CollisionGroupName[128]; // 0x22d +private: + [[maybe_unused]] uint8_t __pad02ad[0x3]; // 0x2ad +public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x2b0 + ParticleTraceSet_t m_nTraceSet; // 0x2b0 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x2b4 + ParticleParentSetMode_t m_nSetParent; // 0x2b4 }; // Alignment: 11 // Size: 0x5c0 -class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1fc + int32_t m_nLocalSpaceCP; // 0x1fc // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x200 + bool m_bRandom; // 0x200 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x201 + bool m_bReverse; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x204 + int32_t m_nRandomSeed; // 0x204 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x208 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x208 // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x340 + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x340 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x478 + CPerParticleFloatInput m_flInterpolation; // 0x478 // MPropertyFriendlyName "Sub-Sample Between Input Points" - bool m_bSubSample; // 0x5b0 + bool m_bSubSample; // 0x5b0 }; // Alignment: 3 // Size: 0x200 -class C_OP_RemapVectortoCP : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapVectortoCP : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1f0 + int32_t m_nOutControlPointNumber; // 0x1f0 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 // MPropertyFriendlyName "particle number to read" - int32_t m_nParticleNumber; // 0x1f8 + int32_t m_nParticleNumber; // 0x1f8 }; -// Alignment: 0 -// Size: 0x138 -class CParticleRemapFloatInput : public CParticleFloatInput -{ +// Alignment: 6 +// Size: 0xed0 +class C_OP_SetFloatAttributeToVectorExpression : public CParticleFunctionOperator +{ public: - // no members available -}; - -// Alignment: 3 -// Size: 0x220 -class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase, CParticleFunctionOperator, CParticleFunction -{ + // MPropertyFriendlyName "expression" + VectorFloatExpressionType_t m_nExpression; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 public: + // MPropertyFriendlyName "input 1" + CPerParticleVecInput m_vInput1; // 0x1f8 + // MPropertyFriendlyName "input 2" + CPerParticleVecInput m_vInput2; // 0x7c0 + // MPropertyFriendlyName "output" + CParticleRemapFloatInput m_flOutputRemap; // 0xd88 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x210 - // MPropertyFriendlyName "output value at min distance" - float m_flMinOutputValue; // 0x214 - // MPropertyFriendlyName "output value at max distance" - float m_flMaxOutputValue; // 0x218 + ParticleAttributeIndex_t m_nOutputField; // 0xec0 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0xec4 +}; + +// Alignment: 5 +// Size: 0x210 +class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point 0" + int32_t m_nCP0; // 0x1f0 + // MPropertyFriendlyName "control point 1" + int32_t m_nCP1; // 0x1f4 + // MPropertyFriendlyName "min distance value" + float m_flMinInputValue; // 0x1f8 + // MPropertyFriendlyName "max distance value" + float m_flMaxInputValue; // 0x1fc + // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" + bool m_bInfiniteLine; // 0x200 }; // Alignment: 13 // Size: 0x2e0 -class C_INIT_RemapTransformToVector : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapTransformToVector : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "input minimum" // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1f4 + Vector m_vInputMin; // 0x1f4 // MPropertyFriendlyName "input maximum" // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x200 + Vector m_vInputMax; // 0x200 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x20c + Vector m_vOutputMin; // 0x20c // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x218 + Vector m_vOutputMax; // 0x218 +private: + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 +public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x228 + CParticleTransformInput m_TransformInput; // 0x228 // MPropertyFriendlyName "local space transform" // MParticleTransformInputOptional - CParticleTransformInput m_LocalSpaceTransform; // 0x278 + CParticleTransformInput m_LocalSpaceTransform; // 0x278 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x2c8 + float m_flStartTime; // 0x2c8 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x2cc + float m_flEndTime; // 0x2cc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2d0 + ParticleSetMethod_t m_nSetMethod; // 0x2d0 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x2d4 + bool m_bOffset; // 0x2d4 // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x2d5 + bool m_bAccelerate; // 0x2d5 +private: + [[maybe_unused]] uint8_t __pad02d6[0x2]; // 0x2d6 +public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x2d8 + float m_flRemapBias; // 0x2d8 }; // Alignment: 4 // Size: 0x490 -class C_OP_SetFloat : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetFloat : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x328 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x32c // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x330 + CPerParticleFloatInput m_Lerp; // 0x330 }; // Alignment: 5 // Size: 0x280 -class C_OP_ModelCull : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ModelCull : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x1f4 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1f5 + bool m_bCullOutside; // 0x1f5 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x1f6 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x1f7 + char m_HitboxSetName[128]; // 0x1f7 }; // Alignment: 3 // Size: 0x7c0 -class C_OP_LocalAccelerationForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_LocalAccelerationForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x1f0 // MPropertyFriendlyName "scale control point" - int32_t m_nScaleCP; // 0x1f4 + int32_t m_nScaleCP; // 0x1f4 // MPropertyFriendlyName "local space acceleration" - CParticleCollectionVecInput m_vecAccel; // 0x1f8 + CParticleCollectionVecInput m_vecAccel; // 0x1f8 }; -// Alignment: 15 -// Size: 0x58 -struct ParticlePreviewState_t : public -{ +// Alignment: 3 +// Size: 0x78 +struct ParticleControlPointConfiguration_t +{ public: - CUtlString m_previewModel; // 0x0 - uint32_t m_nModSpecificData; // 0x8 - PetGroundType_t m_groundType; // 0xc - CUtlString m_sequenceName; // 0x10 - int32_t m_nFireParticleOnSequenceFrame; // 0x18 - CUtlString m_hitboxSetName; // 0x20 - CUtlString m_materialGroupName; // 0x28 - CUtlVector< ParticlePreviewBodyGroup_t > m_vecBodyGroups; // 0x30 - float m_flPlaybackSpeed; // 0x48 - float m_flParticleSimulationRate; // 0x4c - bool m_bShouldDrawHitboxes; // 0x50 - bool m_bShouldDrawAttachments; // 0x51 - bool m_bShouldDrawAttachmentNames; // 0x52 - bool m_bShouldDrawControlPointAxes; // 0x53 - bool m_bAnimationNonLooping; // 0x54 + CUtlString m_name; // 0x0 + CUtlVector< ParticleControlPointDriver_t > m_drivers; // 0x8 + ParticlePreviewState_t m_previewState; // 0x20 }; // Alignment: 7 // Size: 0x210 -class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1f4 + int32_t m_nInputMin; // 0x1f4 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1f8 + int32_t m_nInputMax; // 0x1f8 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x1fc // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x200 // MPropertyFriendlyName "count back from last particle" - bool m_bBackwards; // 0x204 + bool m_bBackwards; // 0x204 +private: + [[maybe_unused]] uint8_t __pad0205[0x3]; // 0x205 +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x208 }; // Alignment: 2 // Size: 0x210 -class C_OP_RandomForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_RandomForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "min force" // MVectorIsCoordinate - Vector m_MinForce; // 0x1f0 + Vector m_MinForce; // 0x1f0 // MPropertyFriendlyName "max force" // MVectorIsCoordinate - Vector m_MaxForce; // 0x1fc + Vector m_MaxForce; // 0x1fc }; // Alignment: 7 // Size: 0x270 -class C_OP_RenderStatusEffect : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderStatusEffect : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 // MPropertyFriendlyName "detail 2 texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x238 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x238 // MPropertyFriendlyName "diffuse warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x240 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x240 // MPropertyFriendlyName "fresnel color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x248 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x248 // MPropertyFriendlyName "fresnel warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x250 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x250 // MPropertyFriendlyName "specular warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x258 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x258 // MPropertyFriendlyName "environment map texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x260 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x260 }; // Alignment: 4 // Size: 0x250 -class C_OP_RemapTransformOrientationToYaw : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapTransformOrientationToYaw : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x240 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x244 + float m_flRotOffset; // 0x244 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x248 + float m_flSpinStrength; // 0x248 }; // Alignment: 5 // Size: 0x210 -class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x204 }; // Alignment: 6 // Size: 0x230 -class C_INIT_AddVectorToVector : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_AddVectorToVector : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "component scale factor" - Vector m_vecScale; // 0x1f0 + Vector m_vecScale; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x200 + ParticleAttributeIndex_t m_nFieldInput; // 0x200 // MPropertyFriendlyName "random offset min" - Vector m_vOffsetMin; // 0x204 + Vector m_vOffsetMin; // 0x204 // MPropertyFriendlyName "random offset max" - Vector m_vOffsetMax; // 0x210 + Vector m_vOffsetMax; // 0x210 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x21c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x21c }; // Alignment: 6 // Size: 0xe00 -class C_OP_SetVectorAttributeToVectorExpression : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetVectorAttributeToVectorExpression : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1f0 + VectorExpressionType_t m_nExpression; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x1f8 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x7c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xd88 + ParticleAttributeIndex_t m_nOutputField; // 0xd88 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd8c + ParticleSetMethod_t m_nSetMethod; // 0xd8c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd90 + bool m_bNormalizedOutput; // 0xd90 }; // Alignment: 5 // Size: 0x7d0 -class C_INIT_InitFromVectorFieldSnapshot : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitFromVectorFieldSnapshot : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1f4 + int32_t m_nLocalSpaceCP; // 0x1f4 // MPropertyFriendlyName "weight update control point" - int32_t m_nWeightUpdateCP; // 0x1f8 + int32_t m_nWeightUpdateCP; // 0x1f8 // MPropertyFriendlyName "use vertical velocity for weighting" - bool m_bUseVerticalVelocity; // 0x1fc + bool m_bUseVerticalVelocity; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x200 + CPerParticleVecInput m_vecScale; // 0x200 }; // Alignment: 2 // Size: 0x460 -class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "parent particle radius scale" - CPerParticleFloatInput m_flParentRadiusScale; // 0x1f0 + CPerParticleFloatInput m_flParentRadiusScale; // 0x1f0 // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x328 + CPerParticleFloatInput m_flRadiusScale; // 0x328 }; // Alignment: 3 // Size: 0x340 -class C_INIT_DistanceCull : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_DistanceCull : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "cull distance" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x1f8 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x330 + bool m_bCullInside; // 0x330 }; // Alignment: 5 // Size: 0x230 -class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x1f0 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x1f4 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f8 + float m_flEndTime; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x24]; // 0x1fc +public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x220 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x224 + bool m_bEaseOut; // 0x224 }; // Alignment: 5 // Size: 0x220 -class C_INIT_RandomSequence : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomSequence : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMin; // 0x1f0 + int32_t m_nSequenceMin; // 0x1f0 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMax; // 0x1f4 + int32_t m_nSequenceMax; // 0x1f4 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x1f8 + bool m_bShuffle; // 0x1f8 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x1f9 + bool m_bLinear; // 0x1f9 +private: + [[maybe_unused]] uint8_t __pad01fa[0x6]; // 0x1fa +public: // MPropertyFriendlyName "weighted list" - CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x200 + CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x200 }; // Alignment: 6 // Size: 0x240 -class C_OP_FadeOut : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_FadeOut : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "fade out time min" - float m_flFadeOutTimeMin; // 0x1f0 + float m_flFadeOutTimeMin; // 0x1f0 // MPropertyFriendlyName "fade out time max" - float m_flFadeOutTimeMax; // 0x1f4 + float m_flFadeOutTimeMax; // 0x1f4 // MPropertyFriendlyName "fade out time exponent" - float m_flFadeOutTimeExp; // 0x1f8 + float m_flFadeOutTimeExp; // 0x1f8 // MPropertyFriendlyName "fade bias" - float m_flFadeBias; // 0x1fc + float m_flFadeBias; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad0200[0x30]; // 0x200 +public: // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x230 + bool m_bProportional; // 0x230 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x231 + bool m_bEaseInAndOut; // 0x231 }; // Alignment: 13 // Size: 0x220 -class C_OP_OscillateScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_OscillateScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "oscillation rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x1f0 // MPropertyFriendlyName "oscillation rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x1f4 // MPropertyFriendlyName "oscillation frequency min" - float m_FrequencyMin; // 0x1f8 + float m_FrequencyMin; // 0x1f8 // MPropertyFriendlyName "oscillation frequency max" - float m_FrequencyMax; // 0x1fc + float m_FrequencyMax; // 0x1fc // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x200 + ParticleAttributeIndex_t m_nField; // 0x200 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x204 + bool m_bProportional; // 0x204 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x205 + bool m_bProportionalOp; // 0x205 +private: + [[maybe_unused]] uint8_t __pad0206[0x2]; // 0x206 +public: // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x208 + float m_flStartTime_min; // 0x208 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x20c + float m_flStartTime_max; // 0x20c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x210 + float m_flEndTime_min; // 0x210 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x214 + float m_flEndTime_max; // 0x214 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x218 + float m_flOscMult; // 0x218 // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x21c + float m_flOscAdd; // 0x21c }; // Alignment: 5 // Size: 0x5f0 -class C_OP_RenderBlobs : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderBlobs : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "cube width" - CParticleCollectionFloatInput m_cubeWidth; // 0x230 + CParticleCollectionFloatInput m_cubeWidth; // 0x230 // MPropertyFriendlyName "cutoff radius" - CParticleCollectionFloatInput m_cutoffRadius; // 0x368 + CParticleCollectionFloatInput m_cutoffRadius; // 0x368 // MPropertyFriendlyName "render radius" - CParticleCollectionFloatInput m_renderRadius; // 0x4a0 + CParticleCollectionFloatInput m_renderRadius; // 0x4a0 // MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)" - int32_t m_nScaleCP; // 0x5d8 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x5e0 + int32_t m_nScaleCP; // 0x5d8 +private: + [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x5e0 }; -// Alignment: 0 -// Size: 0x5c8 -class CParticleCollectionVecInput : public CParticleVecInput -{ +// Alignment: 2 +// Size: 0x7c0 +class C_INIT_InitVecCollection : public CParticleFunctionInitializer +{ public: - // no members available + // MPropertyFriendlyName "value" + CParticleCollectionVecInput m_InputValue; // 0x1f0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nOutputField; // 0x7b8 }; // Alignment: 26 // Size: 0x8e0 -class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "control point for fast collision tests" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x1f0 // MPropertyFriendlyName "control point offset for fast collisions" // MVectorIsCoordinate - Vector m_vecCpOffset; // 0x1f4 + Vector m_vecCpOffset; // 0x1f4 // MPropertyFriendlyName "collision mode" - ParticleCollisionMode_t m_nCollisionMode; // 0x200 + ParticleCollisionMode_t m_nCollisionMode; // 0x200 // MPropertyFriendlyName "minimum detail collision mode" - ParticleCollisionMode_t m_nCollisionModeMin; // 0x204 + ParticleCollisionMode_t m_nCollisionModeMin; // 0x204 // MPropertyStartGroup "Collision Options" // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x208 + ParticleTraceSet_t m_nTraceSet; // 0x208 // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x20c + char m_CollisionGroupName[128]; // 0x20c // MPropertyFriendlyName "World Only" - bool m_bWorldOnly; // 0x28c + bool m_bWorldOnly; // 0x28c // MPropertyFriendlyName "brush only" - bool m_bBrushOnly; // 0x28d + bool m_bBrushOnly; // 0x28d // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x28e + bool m_bIncludeWater; // 0x28e +private: + [[maybe_unused]] uint8_t __pad028f[0x1]; // 0x28f +public: // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x290 + int32_t m_nIgnoreCP; // 0x290 // MPropertyFriendlyName "control point movement distance tolerance" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCpMovementTolerance; // 0x294 + float m_flCpMovementTolerance; // 0x294 // MPropertyFriendlyName "plane cache retest rate" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_PER_FRAME_PLANESET" - float m_flRetestRate; // 0x298 + float m_flRetestRate; // 0x298 // MPropertyFriendlyName "trace accuracy tolerance" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_USE_NEAREST_TRACE" - float m_flTraceTolerance; // 0x29c + float m_flTraceTolerance; // 0x29c // MPropertyFriendlyName "Confirm Collision Speed Threshold" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCollisionConfirmationSpeed; // 0x2a0 + float m_flCollisionConfirmationSpeed; // 0x2a0 // MPropertyFriendlyName "Max Confirmation Traces Per Fame" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_nMaxTracesPerFrame; // 0x2a4 + float m_nMaxTracesPerFrame; // 0x2a4 // MPropertyStartGroup "Impact Options" // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x2a8 + CPerParticleFloatInput m_flRadiusScale; // 0x2a8 // MPropertyFriendlyName "amount of bounce" - CPerParticleFloatInput m_flBounceAmount; // 0x3e0 + CPerParticleFloatInput m_flBounceAmount; // 0x3e0 // MPropertyFriendlyName "amount of slide" - CPerParticleFloatInput m_flSlideAmount; // 0x518 + CPerParticleFloatInput m_flSlideAmount; // 0x518 // MPropertyFriendlyName "Random Direction scale" - CPerParticleFloatInput m_flRandomDirScale; // 0x650 + CPerParticleFloatInput m_flRandomDirScale; // 0x650 // MPropertyFriendlyName "Add Decay to Bounce" - bool m_bDecayBounce; // 0x788 + bool m_bDecayBounce; // 0x788 // MPropertyFriendlyName "kill particle on collision" - bool m_bKillonContact; // 0x789 + bool m_bKillonContact; // 0x789 +private: + [[maybe_unused]] uint8_t __pad078a[0x2]; // 0x78a +public: // MPropertyFriendlyName "minimum speed to kill on collision" - float m_flMinSpeed; // 0x78c + float m_flMinSpeed; // 0x78c // MPropertyFriendlyName "Set Normal" - bool m_bSetNormal; // 0x790 + bool m_bSetNormal; // 0x790 +private: + [[maybe_unused]] uint8_t __pad0791[0x3]; // 0x791 +public: // MPropertyFriendlyName "Stick On Collision Cache Field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x794 + ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x794 // MPropertyFriendlyName "Speed to stop when sticking" - CPerParticleFloatInput m_flStopSpeed; // 0x798 + CPerParticleFloatInput m_flStopSpeed; // 0x798 // MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nEntityStickDataField; // 0x8d0 + ParticleAttributeIndex_t m_nEntityStickDataField; // 0x8d0 }; // Alignment: 3 // Size: 0x380 -class C_OP_RenderPostProcessing : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderPostProcessing : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "Post Processing Strength" - CPerParticleFloatInput m_flPostProcessStrength; // 0x230 + CPerParticleFloatInput m_flPostProcessStrength; // 0x230 // MPropertyFriendlyName "Post Processing File" // MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x368 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x368 // MPropertyFriendlyName "Post Processing Priority Group" - ParticlePostProcessPriorityGroup_t m_nPriority; // 0x370 + ParticlePostProcessPriorityGroup_t m_nPriority; // 0x370 }; // Alignment: 4 // Size: 0x200 -class C_INIT_RandomScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomScalar : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x1f0 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x1f4 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1f8 + float m_flExponent; // 0x1f8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc }; // Alignment: 13 // Size: 0x510 -class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1f0 + CPerParticleFloatInput m_flOffset; // 0x1f0 // MPropertyFriendlyName "max trace length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x328 + CPerParticleFloatInput m_flMaxTraceLength; // 0x328 // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x460 + char m_CollisionGroupName[128]; // 0x460 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x4e0 + ParticleTraceSet_t m_nTraceSet; // 0x4e0 +private: + [[maybe_unused]] uint8_t __pad04e4[0xc]; // 0x4e4 +public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x4f0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x4f0 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x4f4 + bool m_bIncludeWater; // 0x4f4 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x4f5 + bool m_bSetNormal; // 0x4f5 // MPropertyFriendlyName "set Previous XYZ only" - bool m_bSetPXYZOnly; // 0x4f6 + bool m_bSetPXYZOnly; // 0x4f6 // MPropertyFriendlyName "Trace along particle normal" - bool m_bTraceAlongNormal; // 0x4f7 + bool m_bTraceAlongNormal; // 0x4f7 // MPropertyFriendlyName "Offset only if trace hit" - bool m_bOffsetonColOnly; // 0x4f8 + bool m_bOffsetonColOnly; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 +public: // MPropertyFriendlyName "offset final position by this fraction of the particle radius" - float m_flOffsetByRadiusFactor; // 0x4fc + float m_flOffsetByRadiusFactor; // 0x4fc // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x500 + int32_t m_nPreserveOffsetCP; // 0x500 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x504 + int32_t m_nIgnoreCP; // 0x504 }; // Alignment: 11 // Size: 0x780 -class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "cylinder inner radius" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x1f8 // MPropertyFriendlyName "cylinder outer radius" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x330 // MPropertyFriendlyName "cylinder inner output" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x468 // MPropertyFriendlyName "cylinder outer output" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5a0 // MPropertyFriendlyName "cylindrical top transform" - CParticleTransformInput m_TransformStart; // 0x6d8 + CParticleTransformInput m_TransformStart; // 0x6d8 // MPropertyFriendlyName "cylindrical bottom transform" - CParticleTransformInput m_TransformEnd; // 0x728 + CParticleTransformInput m_TransformEnd; // 0x728 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x778 + ParticleSetMethod_t m_nSetMethod; // 0x778 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x77c + bool m_bActiveRange; // 0x77c // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x77d + bool m_bAdditive; // 0x77d // MPropertyFriendlyName "apply radius to ends (capsule)" - bool m_bCapsule; // 0x77e + bool m_bCapsule; // 0x77e }; // Alignment: 9 // Size: 0x910 -class C_OP_VectorFieldSnapshot : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_VectorFieldSnapshot : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "extra velocity field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f4 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1f8 + int32_t m_nLocalSpaceCP; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x200 + CPerParticleFloatInput m_flInterpolation; // 0x200 // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x338 + CPerParticleVecInput m_vecScale; // 0x338 // MPropertyFriendlyName "Boundary Dampening" - float m_flBoundaryDampening; // 0x900 + float m_flBoundaryDampening; // 0x900 // MPropertyFriendlyName "Set Velocity" - bool m_bSetVelocity; // 0x904 + bool m_bSetVelocity; // 0x904 // MPropertyFriendlyName "Lock to Surface" - bool m_bLockToSurface; // 0x905 + bool m_bLockToSurface; // 0x905 +private: + [[maybe_unused]] uint8_t __pad0906[0x2]; // 0x906 +public: // MPropertyFriendlyName "Vector Field Grid Spacing Override" - float m_flGridSpacing; // 0x908 + float m_flGridSpacing; // 0x908 }; // Alignment: 33 // Size: 0x740 -class C_OP_ControlpointLight : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ControlpointLight : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1f0 + float m_flScale; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4cc]; // 0x1f4 +public: // MPropertyFriendlyName "light 1 control point" - int32_t m_nControlPoint1; // 0x6c0 + int32_t m_nControlPoint1; // 0x6c0 // MPropertyFriendlyName "light 2 control point" - int32_t m_nControlPoint2; // 0x6c4 + int32_t m_nControlPoint2; // 0x6c4 // MPropertyFriendlyName "light 3 control point" - int32_t m_nControlPoint3; // 0x6c8 + int32_t m_nControlPoint3; // 0x6c8 // MPropertyFriendlyName "light 4 control point" - int32_t m_nControlPoint4; // 0x6cc + int32_t m_nControlPoint4; // 0x6cc // MPropertyFriendlyName "light 1 control point offset" - Vector m_vecCPOffset1; // 0x6d0 + Vector m_vecCPOffset1; // 0x6d0 // MPropertyFriendlyName "light 2 control point offset" - Vector m_vecCPOffset2; // 0x6dc + Vector m_vecCPOffset2; // 0x6dc // MPropertyFriendlyName "light 3 control point offset" - Vector m_vecCPOffset3; // 0x6e8 + Vector m_vecCPOffset3; // 0x6e8 // MPropertyFriendlyName "light 4 control point offset" - Vector m_vecCPOffset4; // 0x6f4 + Vector m_vecCPOffset4; // 0x6f4 // MPropertyFriendlyName "light 1 50% distance" - float m_LightFiftyDist1; // 0x700 + float m_LightFiftyDist1; // 0x700 // MPropertyFriendlyName "light 1 0% distance" - float m_LightZeroDist1; // 0x704 + float m_LightZeroDist1; // 0x704 // MPropertyFriendlyName "light 2 50% distance" - float m_LightFiftyDist2; // 0x708 + float m_LightFiftyDist2; // 0x708 // MPropertyFriendlyName "light 2 0% distance" - float m_LightZeroDist2; // 0x70c + float m_LightZeroDist2; // 0x70c // MPropertyFriendlyName "light 3 50% distance" - float m_LightFiftyDist3; // 0x710 + float m_LightFiftyDist3; // 0x710 // MPropertyFriendlyName "light 3 0% distance" - float m_LightZeroDist3; // 0x714 + float m_LightZeroDist3; // 0x714 // MPropertyFriendlyName "light 4 50% distance" - float m_LightFiftyDist4; // 0x718 + float m_LightFiftyDist4; // 0x718 // MPropertyFriendlyName "light 4 0% distance" - float m_LightZeroDist4; // 0x71c + float m_LightZeroDist4; // 0x71c // MPropertyFriendlyName "light 1 color" - Color m_LightColor1; // 0x720 + Color m_LightColor1; // 0x720 // MPropertyFriendlyName "light 2 color" - Color m_LightColor2; // 0x724 + Color m_LightColor2; // 0x724 // MPropertyFriendlyName "light 3 color" - Color m_LightColor3; // 0x728 + Color m_LightColor3; // 0x728 // MPropertyFriendlyName "light 4 color" - Color m_LightColor4; // 0x72c + Color m_LightColor4; // 0x72c // MPropertyFriendlyName "light 1 type 0=point 1=spot" - bool m_bLightType1; // 0x730 + bool m_bLightType1; // 0x730 // MPropertyFriendlyName "light 2 type 0=point 1=spot" - bool m_bLightType2; // 0x731 + bool m_bLightType2; // 0x731 // MPropertyFriendlyName "light 3 type 0=point 1=spot" - bool m_bLightType3; // 0x732 + bool m_bLightType3; // 0x732 // MPropertyFriendlyName "light 4 type 0=point 1=spot" - bool m_bLightType4; // 0x733 + bool m_bLightType4; // 0x733 // MPropertyFriendlyName "light 1 dynamic light" - bool m_bLightDynamic1; // 0x734 + bool m_bLightDynamic1; // 0x734 // MPropertyFriendlyName "light 2 dynamic light" - bool m_bLightDynamic2; // 0x735 + bool m_bLightDynamic2; // 0x735 // MPropertyFriendlyName "light 3 dynamic light" - bool m_bLightDynamic3; // 0x736 + bool m_bLightDynamic3; // 0x736 // MPropertyFriendlyName "light 4 dynamic light" - bool m_bLightDynamic4; // 0x737 + bool m_bLightDynamic4; // 0x737 // MPropertyFriendlyName "compute normals from control points" - bool m_bUseNormal; // 0x738 + bool m_bUseNormal; // 0x738 // MPropertyFriendlyName "half-lambert normals" - bool m_bUseHLambert; // 0x739 + bool m_bUseHLambert; // 0x739 +private: + [[maybe_unused]] uint8_t __pad073a[0x4]; // 0x73a +public: // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x73e + bool m_bClampLowerRange; // 0x73e // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x73f + bool m_bClampUpperRange; // 0x73f }; // Alignment: 2 // Size: 0x340 -class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 +public: // MPropertyFriendlyName "Number of Children to Use" - CParticleCollectionFloatInput m_flNumberOfChildren; // 0x208 + CParticleCollectionFloatInput m_flNumberOfChildren; // 0x208 }; // Alignment: 5 // Size: 0xd90 -class C_INIT_CreateWithinBox : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateWithinBox : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "min" // MVectorIsCoordinate - CPerParticleVecInput m_vecMin; // 0x1f0 + CPerParticleVecInput m_vecMin; // 0x1f0 // MPropertyFriendlyName "max" // MVectorIsCoordinate - CPerParticleVecInput m_vecMax; // 0x7b8 + CPerParticleVecInput m_vecMax; // 0x7b8 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xd80 + int32_t m_nControlPointNumber; // 0xd80 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0xd84 + bool m_bLocalSpace; // 0xd84 +private: + [[maybe_unused]] uint8_t __pad0d85[0x3]; // 0xd85 +public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xd88 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xd88 }; // Alignment: 6 // Size: 0x210 -class C_OP_UpdateLightSource : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_UpdateLightSource : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "color tint" - Color m_vColorTint; // 0x1f0 + Color m_vColorTint; // 0x1f0 // MPropertyFriendlyName "amount to multiply light brightness by" - float m_flBrightnessScale; // 0x1f4 + float m_flBrightnessScale; // 0x1f4 // MPropertyFriendlyName "amount to multiply particle system radius by to get light radius" - float m_flRadiusScale; // 0x1f8 + float m_flRadiusScale; // 0x1f8 // MPropertyFriendlyName "minimum radius for created lights" - float m_flMinimumLightingRadius; // 0x1fc + float m_flMinimumLightingRadius; // 0x1fc // MPropertyFriendlyName "maximum radius for created lights" - float m_flMaximumLightingRadius; // 0x200 + float m_flMaximumLightingRadius; // 0x200 // MPropertyFriendlyName "amount of damping of changes" - float m_flPositionDampingConstant; // 0x204 + float m_flPositionDampingConstant; // 0x204 }; // Alignment: 2 // Size: 0x240 -class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "rotate rate(dps)" - float m_flRotateRateDegrees; // 0x230 + float m_flRotateRateDegrees; // 0x230 // MPropertyFriendlyName "forward angle" - float m_flForwardDegrees; // 0x234 + float m_flForwardDegrees; // 0x234 }; // Alignment: 10 // Size: 0x2c0 -class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x1f4 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x1f8 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1fc + Vector m_vecOutputMin; // 0x1fc // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x208 + Vector m_vecOutputMax; // 0x208 +private: + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 +public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x218 + CParticleTransformInput m_TransformStart; // 0x218 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x268 + CParticleTransformInput m_TransformEnd; // 0x268 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2b8 + ParticleSetMethod_t m_nSetMethod; // 0x2b8 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2bc + bool m_bActiveRange; // 0x2bc // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2bd + bool m_bRadialCheck; // 0x2bd }; // Alignment: 0 // Size: 0x250 -class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap +{ public: // no members available }; @@ -20242,4161 +21549,3561 @@ public: // Alignment: 60 // Size: 0x3a0 class CParticleSystemDefinition : public IParticleSystemDefinition -{ +{ public: // MPropertyFriendlyName "version" // MPropertySuppressField - int32_t m_nBehaviorVersion; // 0x8 + int32_t m_nBehaviorVersion; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: // MPropertySuppressField - CUtlVector< CParticleFunctionPreEmission* > m_PreEmissionOperators; // 0x10 + CUtlVector< CParticleFunctionPreEmission* > m_PreEmissionOperators; // 0x10 // MPropertySuppressField - CUtlVector< CParticleFunctionEmitter* > m_Emitters; // 0x28 + CUtlVector< CParticleFunctionEmitter* > m_Emitters; // 0x28 // MPropertySuppressField - CUtlVector< CParticleFunctionInitializer* > m_Initializers; // 0x40 + CUtlVector< CParticleFunctionInitializer* > m_Initializers; // 0x40 // MPropertySuppressField - CUtlVector< CParticleFunctionOperator* > m_Operators; // 0x58 + CUtlVector< CParticleFunctionOperator* > m_Operators; // 0x58 // MPropertySuppressField - CUtlVector< CParticleFunctionForce* > m_ForceGenerators; // 0x70 + CUtlVector< CParticleFunctionForce* > m_ForceGenerators; // 0x70 // MPropertySuppressField - CUtlVector< CParticleFunctionConstraint* > m_Constraints; // 0x88 + CUtlVector< CParticleFunctionConstraint* > m_Constraints; // 0x88 // MPropertySuppressField - CUtlVector< CParticleFunctionRenderer* > m_Renderers; // 0xa0 + CUtlVector< CParticleFunctionRenderer* > m_Renderers; // 0xa0 // MPropertySuppressField - CUtlVector< ParticleChildrenInfo_t > m_Children; // 0xb8 + CUtlVector< ParticleChildrenInfo_t > m_Children; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00d0[0xa8]; // 0xd0 +public: // MPropertySuppressField - int32_t m_nFirstMultipleOverride_BackwardCompat; // 0x178 + int32_t m_nFirstMultipleOverride_BackwardCompat; // 0x178 +private: + [[maybe_unused]] uint8_t __pad017c[0x74]; // 0x17c +public: // MPropertyStartGroup "+Collection Options" // MPropertyFriendlyName "initial particles" - int32_t m_nInitialParticles; // 0x1f0 + int32_t m_nInitialParticles; // 0x1f0 // MPropertyFriendlyName "max particles" - int32_t m_nMaxParticles; // 0x1f4 + int32_t m_nMaxParticles; // 0x1f4 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1f8 + int32_t m_nGroupID; // 0x1f8 // MPropertyStartGroup "Bounding Box" // MPropertyFriendlyName "bounding box bloat min" // MVectorIsCoordinate - Vector m_BoundingBoxMin; // 0x1fc + Vector m_BoundingBoxMin; // 0x1fc // MPropertyFriendlyName "bounding box bloat max" // MVectorIsCoordinate - Vector m_BoundingBoxMax; // 0x208 + Vector m_BoundingBoxMax; // 0x208 // MPropertyFriendlyName "bounding box depth sort bias" - float m_flDepthSortBias; // 0x214 + float m_flDepthSortBias; // 0x214 // MPropertyFriendlyName "sort override position CP" - int32_t m_nSortOverridePositionCP; // 0x218 + int32_t m_nSortOverridePositionCP; // 0x218 // MPropertyFriendlyName "infinite bounds - don't cull" - bool m_bInfiniteBounds; // 0x21c + bool m_bInfiniteBounds; // 0x21c // MPropertyStartGroup "+Base Properties" // MPropertyFriendlyName "color" // MPropertyColorPlusAlpha - Color m_ConstantColor; // 0x21d + Color m_ConstantColor; // 0x21d +private: + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 +public: // MPropertyFriendlyName "normal" // MVectorIsCoordinate - Vector m_ConstantNormal; // 0x224 + Vector m_ConstantNormal; // 0x224 // MPropertyFriendlyName "radius" // MPropertyAttributeRange "biased 0 500" - float m_flConstantRadius; // 0x230 + float m_flConstantRadius; // 0x230 // MPropertyFriendlyName "rotation" - float m_flConstantRotation; // 0x234 + float m_flConstantRotation; // 0x234 // MPropertyFriendlyName "rotation speed" - float m_flConstantRotationSpeed; // 0x238 + float m_flConstantRotationSpeed; // 0x238 // MPropertyFriendlyName "lifetime" - float m_flConstantLifespan; // 0x23c + float m_flConstantLifespan; // 0x23c // MPropertyFriendlyName "sequence number" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nConstantSequenceNumber; // 0x240 + int32_t m_nConstantSequenceNumber; // 0x240 // MPropertyFriendlyName "sequence number 1" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nConstantSequenceNumber1; // 0x244 + int32_t m_nConstantSequenceNumber1; // 0x244 // MPropertyStartGroup "Snapshot Options" - int32_t m_nSnapshotControlPoint; // 0x248 - CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x250 + int32_t m_nSnapshotControlPoint; // 0x248 +private: + [[maybe_unused]] uint8_t __pad024c[0x4]; // 0x24c +public: + CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x250 // MPropertyStartGroup "Replacement Options" // MPropertyFriendlyName "cull replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x258 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x258 // MPropertyFriendlyName "cull radius" - float m_flCullRadius; // 0x260 + float m_flCullRadius; // 0x260 // MPropertyFriendlyName "cull cost" - float m_flCullFillCost; // 0x264 + float m_flCullFillCost; // 0x264 // MPropertyFriendlyName "cull control point" - int32_t m_nCullControlPoint; // 0x268 + int32_t m_nCullControlPoint; // 0x268 +private: + [[maybe_unused]] uint8_t __pad026c[0x4]; // 0x26c +public: // MPropertyFriendlyName "fallback replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x270 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x270 // MPropertyFriendlyName "fallback max count" - int32_t m_nFallbackMaxCount; // 0x278 + int32_t m_nFallbackMaxCount; // 0x278 +private: + [[maybe_unused]] uint8_t __pad027c[0x4]; // 0x27c +public: // MPropertyFriendlyName "low violence definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x280 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x280 // MPropertyFriendlyName "reference replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x288 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x288 // MPropertyStartGroup "Simulation Options" // MPropertyFriendlyName "pre-simulation time" - float m_flPreSimulationTime; // 0x290 + float m_flPreSimulationTime; // 0x290 // MPropertyFriendlyName "freeze simulation after time" - float m_flStopSimulationAfterTime; // 0x294 + float m_flStopSimulationAfterTime; // 0x294 // MPropertyFriendlyName "maximum time step" - float m_flMaximumTimeStep; // 0x298 + float m_flMaximumTimeStep; // 0x298 // MPropertyFriendlyName "maximum sim tick rate" - float m_flMaximumSimTime; // 0x29c + float m_flMaximumSimTime; // 0x29c // MPropertyFriendlyName "minimum sim tick rate" - float m_flMinimumSimTime; // 0x2a0 + float m_flMinimumSimTime; // 0x2a0 // MPropertyFriendlyName "minimum simulation time step" - float m_flMinimumTimeStep; // 0x2a4 + float m_flMinimumTimeStep; // 0x2a4 // MPropertyFriendlyName "minimum required rendered frames" - int32_t m_nMinimumFrames; // 0x2a8 + int32_t m_nMinimumFrames; // 0x2a8 // MPropertyStartGroup "Performance Options" // MPropertyFriendlyName "minimum CPU level" - int32_t m_nMinCPULevel; // 0x2ac + int32_t m_nMinCPULevel; // 0x2ac // MPropertyFriendlyName "minimum GPU level" - int32_t m_nMinGPULevel; // 0x2b0 + int32_t m_nMinGPULevel; // 0x2b0 // MPropertyFriendlyName "time to sleep when not drawn" - float m_flNoDrawTimeToGoToSleep; // 0x2b4 + float m_flNoDrawTimeToGoToSleep; // 0x2b4 // MPropertyFriendlyName "maximum draw distance" - float m_flMaxDrawDistance; // 0x2b8 + float m_flMaxDrawDistance; // 0x2b8 // MPropertyFriendlyName "start fade distance" - float m_flStartFadeDistance; // 0x2bc + float m_flStartFadeDistance; // 0x2bc // MPropertyFriendlyName "maximum creation distance" - float m_flMaxCreationDistance; // 0x2c0 + float m_flMaxCreationDistance; // 0x2c0 // MPropertyFriendlyName "minimum free particles to aggregate" - int32_t m_nAggregationMinAvailableParticles; // 0x2c4 + int32_t m_nAggregationMinAvailableParticles; // 0x2c4 // MPropertyFriendlyName "aggregation radius" - float m_flAggregateRadius; // 0x2c8 + float m_flAggregateRadius; // 0x2c8 // MPropertyFriendlyName "batch particle systems" - bool m_bShouldBatch; // 0x2cc + bool m_bShouldBatch; // 0x2cc // MPropertyFriendlyName "Hitboxes fall back to render bounds" - bool m_bShouldHitboxesFallbackToRenderBounds; // 0x2cd + bool m_bShouldHitboxesFallbackToRenderBounds; // 0x2cd +private: + [[maybe_unused]] uint8_t __pad02ce[0x2]; // 0x2ce +public: // MPropertyStartGroup "Rendering Options" // MPropertyFriendlyName "view model effect" // MPropertySuppressExpr "m_bScreenSpaceEffect" - InheritableBoolType_t m_nViewModelEffect; // 0x2d0 + InheritableBoolType_t m_nViewModelEffect; // 0x2d0 // MPropertyFriendlyName "screen space effect" // MPropertySuppressExpr "m_nViewModelEffect == INHERITABLE_BOOL_TRUE" - bool m_bScreenSpaceEffect; // 0x2d4 + bool m_bScreenSpaceEffect; // 0x2d4 +private: + [[maybe_unused]] uint8_t __pad02d5[0x3]; // 0x2d5 +public: // MPropertyFriendlyName "target layer ID for rendering" - CUtlSymbolLarge m_pszTargetLayerID; // 0x2d8 + CUtlSymbolLarge m_pszTargetLayerID; // 0x2d8 // MPropertyFriendlyName "control point to disable rendering if it is the camera" - int32_t m_nSkipRenderControlPoint; // 0x2e0 + int32_t m_nSkipRenderControlPoint; // 0x2e0 // MPropertyFriendlyName "control point to only enable rendering if it is the camera" - int32_t m_nAllowRenderControlPoint; // 0x2e4 + int32_t m_nAllowRenderControlPoint; // 0x2e4 // MPropertyFriendlyName "sort particles (DEPRECATED - USE RENDERER OPTION)" // MParticleAdvancedField - bool m_bShouldSort; // 0x2e8 + bool m_bShouldSort; // 0x2e8 +private: + [[maybe_unused]] uint8_t __pad02e9[0x3f]; // 0x2e9 +public: // MPropertySuppressField - CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x328 + CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x328 }; -// Alignment: 3 -// Size: 0x230 -class CParticleFunctionRenderer : public CParticleFunction -{ +// Alignment: 8 +// Size: 0xab0 +class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer +{ public: - // MPropertySortPriority "-1" - CParticleVisibilityInputs VisibilityInputs; // 0x1e8 - // MPropertyStartGroup "Rendering filter" - // MPropertyFriendlyName "I cannot be refracted through refracting objects like water" - // MPropertySortPriority "-1" - bool m_bCannotBeRefracted; // 0x22c - // MPropertyFriendlyName "Skip rendering on mobile" - // MPropertySortPriority "-1" - bool m_bSkipRenderingOnMobile; // 0x22d + // MPropertyFriendlyName "Control Point for Model" + int32_t m_nMaterialControlPoint; // 0x230 + // MPropertyFriendlyName "proxy type" + MaterialProxyType_t m_nProxyType; // 0x234 + // MPropertyFriendlyName "material variables" + // MPropertyAutoExpandSelf + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x238 + // MPropertyFriendlyName "material override" + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x250 + // MPropertyFriendlyName "material override enable" + CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x258 + // MPropertyFriendlyName "model tint" + CParticleCollectionVecInput m_vecColorScale; // 0x390 + // MPropertyFriendlyName "model alpha" + CPerParticleFloatInput m_flAlpha; // 0x958 + // MPropertyFriendlyName "model tint blend type" + ParticleColorBlendType_t m_nColorBlendType; // 0xa90 }; // Alignment: 11 // Size: 0x220 -class C_OP_RemapCPtoScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapCPtoScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1f8 + int32_t m_nField; // 0x1f8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x1fc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x200 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x204 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x208 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x20c + float m_flStartTime; // 0x20c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x210 + float m_flEndTime; // 0x210 // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x214 + float m_flInterpRate; // 0x214 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x218 + ParticleSetMethod_t m_nSetMethod; // 0x218 }; // Alignment: 1 // Size: 0x330 -class C_INIT_DistanceToNeighborCull : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_DistanceToNeighborCull : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "cull distance" - CPerParticleFloatInput m_flDistance; // 0x1f0 + CPerParticleFloatInput m_flDistance; // 0x1f0 }; // Alignment: 5 // Size: 0x7e0 -class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x200 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x201 + bool m_bSetOnce; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 +public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x204 // MPropertyFriendlyName "control point location" - CParticleCollectionVecInput m_vecCP1Pos; // 0x208 + CParticleCollectionVecInput m_vecCP1Pos; // 0x208 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x7d0 + int32_t m_nHeadLocation; // 0x7d0 }; // Alignment: 3 // Size: 0x200 -class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1f0 + bool m_bTransformNormals; // 0x1f0 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1f1 + bool m_bTransformRadii; // 0x1f1 +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x1f4 }; // Alignment: 0 // Size: 0x210 -class C_INIT_RandomYaw : public CGeneralRandomRotation, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomYaw : public CGeneralRandomRotation +{ public: // no members available }; // Alignment: 2 // Size: 0x200 -class C_OP_SetCPtoVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetCPtoVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 -}; - -// Alignment: 0 -// Size: 0x1f0 -class CParticleFunctionOperator : public CParticleFunction -{ -public: - // no members available + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 }; // Alignment: 3 // Size: 0x200 -class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LerpEndCapScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + // MPropertyFriendlyName "value to lerp to" + float m_flOutput; // 0x1f4 + // MPropertyFriendlyName "lerp time" + float m_flLerpTime; // 0x1f8 +}; + +// Alignment: 3 +// Size: 0x200 +class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x1f4 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x1f8 }; // Alignment: 8 // Size: 0x260 -class C_OP_RemapTransformVisibilityToScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapTransformVisibilityToScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f0 + ParticleSetMethod_t m_nSetMethod; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f8 + CParticleTransformInput m_TransformInput; // 0x1f8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x248 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x24c + float m_flInputMin; // 0x24c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x250 + float m_flInputMax; // 0x250 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x254 + float m_flOutputMin; // 0x254 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x258 + float m_flOutputMax; // 0x258 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x25c + float m_flRadius; // 0x25c }; // Alignment: 8 // Size: 0x4a0 -class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x200 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x201 + bool m_bOrient; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 +public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x204 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x208 + int32_t m_nHeadLocation; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c +public: // MPropertyFriendlyName "re-randomize rate (-1 for once only)" - CParticleCollectionFloatInput m_flReRandomRate; // 0x210 + CParticleCollectionFloatInput m_flReRandomRate; // 0x210 // MPropertyFriendlyName "control point min" - Vector m_vecCPMinPos; // 0x348 + Vector m_vecCPMinPos; // 0x348 // MPropertyFriendlyName "control point max" - Vector m_vecCPMaxPos; // 0x354 + Vector m_vecCPMaxPos; // 0x354 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x360 + CParticleCollectionFloatInput m_flInterpolation; // 0x360 }; // Alignment: 32 // Size: 0xc8 class CNewParticleEffect : public IParticleEffect -{ +{ public: - CNewParticleEffect* m_pNext; // 0x10 - CNewParticleEffect* m_pPrev; // 0x18 - IParticleCollection* m_pParticles; // 0x20 - char* m_pDebugName; // 0x28 - uint8_t m_bDontRemove:1; // 0x0 - uint8_t m_bRemove:1; // 0x0 - uint8_t m_bNeedsBBoxUpdate:1; // 0x0 - uint8_t m_bIsFirstFrame:1; // 0x0 - uint8_t m_bAutoUpdateBBox:1; // 0x0 - uint8_t m_bAllocated:1; // 0x0 - uint8_t m_bSimulate:1; // 0x0 - uint8_t m_bShouldPerformCullCheck:1; // 0x0 - uint8_t m_bForceNoDraw:1; // 0x0 - uint8_t m_bShouldSave:1; // 0x0 - uint8_t m_bDisableAggregation:1; // 0x0 - uint8_t m_bShouldSimulateDuringGamePaused:1; // 0x0 - uint8_t m_bShouldCheckFoW:1; // 0x0 - Vector m_vSortOrigin; // 0x40 - float m_flScale; // 0x4c - PARTICLE_EHANDLE__* m_hOwner; // 0x50 - CParticleProperty* m_pOwningParticleProperty; // 0x58 - float m_flFreezeTransitionStart; // 0x70 - float m_flFreezeTransitionDuration; // 0x74 - float m_flFreezeTransitionOverride; // 0x78 - bool m_bFreezeTransitionActive; // 0x7c - bool m_bFreezeTargetState; // 0x7d - bool m_bCanFreeze; // 0x7e - Vector m_LastMin; // 0x80 - Vector m_LastMax; // 0x8c - CSplitScreenSlot m_nSplitScreenUser; // 0x98 - Vector m_vecAggregationCenter; // 0x9c - int32_t m_RefCount; // 0xc0 + CNewParticleEffect* m_pNext; // 0x10 + CNewParticleEffect* m_pPrev; // 0x18 + IParticleCollection* m_pParticles; // 0x20 + char* m_pDebugName; // 0x28 + struct + { + uint8_t m_bDontRemove: 1; + uint8_t m_bRemove: 1; + uint8_t m_bNeedsBBoxUpdate: 1; + uint8_t m_bIsFirstFrame: 1; + uint8_t m_bAutoUpdateBBox: 1; + uint8_t m_bAllocated: 1; + uint8_t m_bSimulate: 1; + uint8_t m_bShouldPerformCullCheck: 1; + uint8_t m_bForceNoDraw: 1; + uint8_t m_bShouldSave: 1; + uint8_t m_bDisableAggregation: 1; + uint8_t m_bShouldSimulateDuringGamePaused: 1; + uint8_t m_bShouldCheckFoW: 1; + uint256_t __pad4: 179; + }; // 192 bits + Vector m_vSortOrigin; // 0x40 + float m_flScale; // 0x4c + PARTICLE_EHANDLE__* m_hOwner; // 0x50 + CParticleProperty* m_pOwningParticleProperty; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0060[0x10]; // 0x60 +public: + float m_flFreezeTransitionStart; // 0x70 + float m_flFreezeTransitionDuration; // 0x74 + float m_flFreezeTransitionOverride; // 0x78 + bool m_bFreezeTransitionActive; // 0x7c + bool m_bFreezeTargetState; // 0x7d + bool m_bCanFreeze; // 0x7e +private: + [[maybe_unused]] uint8_t __pad007f[0x1]; // 0x7f +public: + Vector m_LastMin; // 0x80 + Vector m_LastMax; // 0x8c + CSplitScreenSlot m_nSplitScreenUser; // 0x98 + Vector m_vecAggregationCenter; // 0x9c +private: + [[maybe_unused]] uint8_t __pad00a8[0x18]; // 0xa8 +public: + int32_t m_RefCount; // 0xc0 }; // Alignment: 1 // Size: 0x330 -class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "freeze time" - CParticleCollectionFloatInput m_flFreezeTime; // 0x1f0 + CParticleCollectionFloatInput m_flFreezeTime; // 0x1f0 }; // Alignment: 3 // Size: 0x220 -class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x200 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x204 // MPropertyFriendlyName "use eye orientation" - bool m_bOrientToEyes; // 0x210 + bool m_bOrientToEyes; // 0x210 }; -// Alignment: 9 +// Alignment: 0 // Size: 0x250 -class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed +{ public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 - // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1f8 - // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x210 - // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x228 - // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x240 - // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x241 - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x244 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 - // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x24c + // no members available }; // Alignment: 8 // Size: 0x230 -class C_OP_TurbulenceForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_TurbulenceForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "noise scale 0" - float m_flNoiseCoordScale0; // 0x1f0 + float m_flNoiseCoordScale0; // 0x1f0 // MPropertyFriendlyName "noise scale 1" - float m_flNoiseCoordScale1; // 0x1f4 + float m_flNoiseCoordScale1; // 0x1f4 // MPropertyFriendlyName "noise scale 2" - float m_flNoiseCoordScale2; // 0x1f8 + float m_flNoiseCoordScale2; // 0x1f8 // MPropertyFriendlyName "noise scale 3" - float m_flNoiseCoordScale3; // 0x1fc + float m_flNoiseCoordScale3; // 0x1fc // MPropertyFriendlyName "noise amount 0" // MVectorIsCoordinate - Vector m_vecNoiseAmount0; // 0x200 + Vector m_vecNoiseAmount0; // 0x200 // MPropertyFriendlyName "noise amount 1" // MVectorIsCoordinate - Vector m_vecNoiseAmount1; // 0x20c + Vector m_vecNoiseAmount1; // 0x20c // MPropertyFriendlyName "noise amount 2" // MVectorIsCoordinate - Vector m_vecNoiseAmount2; // 0x218 + Vector m_vecNoiseAmount2; // 0x218 // MPropertyFriendlyName "noise amount 3" // MVectorIsCoordinate - Vector m_vecNoiseAmount3; // 0x224 + Vector m_vecNoiseAmount3; // 0x224 }; // Alignment: 3 // Size: 0x200 -class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "minimum" - float m_flOutputMin; // 0x1f4 + float m_flOutputMin; // 0x1f4 // MPropertyFriendlyName "maximum" - float m_flOutputMax; // 0x1f8 + float m_flOutputMax; // 0x1f8 }; -// Alignment: 1 -// Size: 0x4 -struct ParticleAttributeIndex_t : public -{ +// Alignment: 8 +// Size: 0x240 +class C_OP_RampScalarLinear : public CParticleFunctionOperator +{ public: - int32_t m_Value; // 0x0 + // MPropertyFriendlyName "ramp rate min" + float m_RateMin; // 0x1f0 + // MPropertyFriendlyName "ramp rate max" + float m_RateMax; // 0x1f4 + // MPropertyFriendlyName "start time min" + float m_flStartTime_min; // 0x1f8 + // MPropertyFriendlyName "start time max" + float m_flStartTime_max; // 0x1fc + // MPropertyFriendlyName "end time min" + float m_flEndTime_min; // 0x200 + // MPropertyFriendlyName "end time max" + float m_flEndTime_max; // 0x204 +private: + [[maybe_unused]] uint8_t __pad0208[0x28]; // 0x208 +public: + // MPropertyFriendlyName "ramp field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x230 + // MPropertyFriendlyName "start/end proportional" + bool m_bProportionalOp; // 0x234 }; // Alignment: 6 // Size: 0x240 -class C_OP_InterpolateRadius : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_InterpolateRadius : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f0 + float m_flStartTime; // 0x1f0 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f4 + float m_flEndTime; // 0x1f4 // MPropertyFriendlyName "radius start scale" - float m_flStartScale; // 0x1f8 + float m_flStartScale; // 0x1f8 // MPropertyFriendlyName "radius end scale" - float m_flEndScale; // 0x1fc + float m_flEndScale; // 0x1fc // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x200 + bool m_bEaseInAndOut; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 +public: // MPropertyFriendlyName "scale bias" - float m_flBias; // 0x204 + float m_flBias; // 0x204 }; // Alignment: 11 // Size: 0x3f0 -class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point to set" - int32_t m_nCPOut; // 0x200 + int32_t m_nCPOut; // 0x200 // MPropertyFriendlyName "control point to trace from" - int32_t m_nCPIn; // 0x204 + int32_t m_nCPIn; // 0x204 // MPropertyFriendlyName "trace update rate" - float m_flUpdateRate; // 0x208 + float m_flUpdateRate; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c +public: // MPropertyFriendlyName "max trace length" - CParticleCollectionFloatInput m_flTraceLength; // 0x210 + CParticleCollectionFloatInput m_flTraceLength; // 0x210 // MPropertyFriendlyName "offset start point amount" - float m_flStartOffset; // 0x348 + float m_flStartOffset; // 0x348 // MPropertyFriendlyName "offset end point amount" - float m_flOffset; // 0x34c + float m_flOffset; // 0x34c // MPropertyFriendlyName "trace direction override" // MVectorIsCoordinate - Vector m_vecTraceDir; // 0x350 + Vector m_vecTraceDir; // 0x350 // MPropertyFriendlyName "trace collision group" - char[128] m_CollisionGroupName; // 0x35c + char m_CollisionGroupName[128]; // 0x35c // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3dc + ParticleTraceSet_t m_nTraceSet; // 0x3dc // MPropertyFriendlyName "set to trace endpoint if no collision" - bool m_bSetToEndpoint; // 0x3e0 + bool m_bSetToEndpoint; // 0x3e0 // MPropertyFriendlyName "trace to closest surface along all cardinal directions" - bool m_bTraceToClosestSurface; // 0x3e1 + bool m_bTraceToClosestSurface; // 0x3e1 }; // Alignment: 4 // Size: 0x380 -class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "haptic hand" - ParticleVRHandChoiceList_t m_nHand; // 0x230 + ParticleVRHandChoiceList_t m_nHand; // 0x230 // MPropertyFriendlyName "hand control point number" - int32_t m_nOutputHandCP; // 0x234 + int32_t m_nOutputHandCP; // 0x234 // MPropertyFriendlyName "cp field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x238 + int32_t m_nOutputField; // 0x238 +private: + [[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c +public: // MPropertyFriendlyName "amplitude" - CPerParticleFloatInput m_flAmplitude; // 0x240 + CPerParticleFloatInput m_flAmplitude; // 0x240 }; // Alignment: 15 // Size: 0x980 -class C_OP_PositionLock : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PositionLock : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "start fadeout min" - float m_flStartTime_min; // 0x240 + float m_flStartTime_min; // 0x240 // MPropertyFriendlyName "start fadeout max" - float m_flStartTime_max; // 0x244 + float m_flStartTime_max; // 0x244 // MPropertyFriendlyName "start fadeout exponent" - float m_flStartTime_exp; // 0x248 + float m_flStartTime_exp; // 0x248 // MPropertyFriendlyName "end fadeout min" - float m_flEndTime_min; // 0x24c + float m_flEndTime_min; // 0x24c // MPropertyFriendlyName "end fadeout max" - float m_flEndTime_max; // 0x250 + float m_flEndTime_max; // 0x250 // MPropertyFriendlyName "end fadeout exponent" - float m_flEndTime_exp; // 0x254 + float m_flEndTime_exp; // 0x254 // MPropertyFriendlyName "distance fade range" - float m_flRange; // 0x258 + float m_flRange; // 0x258 +private: + [[maybe_unused]] uint8_t __pad025c[0x4]; // 0x25c +public: // MPropertyFriendlyName "distance fade bias" - CParticleCollectionFloatInput m_flRangeBias; // 0x260 + CParticleCollectionFloatInput m_flRangeBias; // 0x260 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x398 + float m_flJumpThreshold; // 0x398 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x39c + float m_flPrevPosScale; // 0x39c // MPropertyFriendlyName "lock rotation" - bool m_bLockRot; // 0x3a0 + bool m_bLockRot; // 0x3a0 +private: + [[maybe_unused]] uint8_t __pad03a1[0x7]; // 0x3a1 +public: // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x3a8 + CParticleCollectionVecInput m_vecScale; // 0x3a8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x970 + ParticleAttributeIndex_t m_nFieldOutput; // 0x970 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x974 + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x974 }; // Alignment: 15 // Size: 0x5e0 -class C_OP_OscillateVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_OscillateVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "oscillation rate min" // MVectorIsSometimesCoordinate - Vector m_RateMin; // 0x1f0 + Vector m_RateMin; // 0x1f0 // MPropertyFriendlyName "oscillation rate max" // MVectorIsSometimesCoordinate - Vector m_RateMax; // 0x1fc + Vector m_RateMax; // 0x1fc // MPropertyFriendlyName "oscillation frequency min" // MVectorIsSometimesCoordinate - Vector m_FrequencyMin; // 0x208 + Vector m_FrequencyMin; // 0x208 // MPropertyFriendlyName "oscillation frequency max" // MVectorIsSometimesCoordinate - Vector m_FrequencyMax; // 0x214 + Vector m_FrequencyMax; // 0x214 // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x220 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x224 + bool m_bProportional; // 0x224 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x225 + bool m_bProportionalOp; // 0x225 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x226 + bool m_bOffset; // 0x226 +private: + [[maybe_unused]] uint8_t __pad0227[0x1]; // 0x227 +public: // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x228 + float m_flStartTime_min; // 0x228 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x22c + float m_flStartTime_max; // 0x22c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x230 + float m_flEndTime_min; // 0x230 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x234 + float m_flEndTime_max; // 0x234 // MPropertyFriendlyName "oscillation multiplier" - CPerParticleFloatInput m_flOscMult; // 0x238 + CPerParticleFloatInput m_flOscMult; // 0x238 // MPropertyFriendlyName "oscillation start phase" - CPerParticleFloatInput m_flOscAdd; // 0x370 + CPerParticleFloatInput m_flOscAdd; // 0x370 // MPropertyFriendlyName "rate scale" - CPerParticleFloatInput m_flRateScale; // 0x4a8 + CPerParticleFloatInput m_flRateScale; // 0x4a8 }; // Alignment: 10 // Size: 0x6f0 -class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f0 + int32_t m_nSnapshotControlPointNumber; // 0x1f0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x1f4 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1f8 + bool m_bRandom; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x1fc // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x200 + bool m_bSetNormal; // 0x200 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x201 + bool m_bSetRadius; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0x6]; // 0x202 +public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_flIncrement; // 0x208 + CParticleCollectionFloatInput m_flIncrement; // 0x208 // MPropertyFriendlyName "Full Loop Increment Amount" - CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x340 + CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x340 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x478 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x478 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x5b0 + CPerParticleFloatInput m_flInterpolation; // 0x5b0 }; // Alignment: 8 // Size: 0x360 -class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "set orientation in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x1]; // 0x201 +public: // MPropertyFriendlyName "randomize" - bool m_bRandomize; // 0x202 + bool m_bRandomize; // 0x202 // MPropertyFriendlyName "only set orientation once" - bool m_bSetOnce; // 0x203 + bool m_bSetOnce; // 0x203 // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x204 + int32_t m_nCP; // 0x204 // MPropertyFriendlyName "control point to offset orientation from" - int32_t m_nHeadLocation; // 0x208 + int32_t m_nHeadLocation; // 0x208 // MPropertyFriendlyName "pitch yaw roll" - QAngle m_vecRotation; // 0x20c + QAngle m_vecRotation; // 0x20c // MPropertyFriendlyName "pitch yaw roll max" - QAngle m_vecRotationB; // 0x218 + QAngle m_vecRotationB; // 0x218 +private: + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 +public: // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x228 + CParticleCollectionFloatInput m_flInterpolation; // 0x228 }; // Alignment: 5 // Size: 0x210 -class C_INIT_VelocityFromCP : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_VelocityFromCP : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x1f0 // MPropertyFriendlyName "comparison control point number" - int32_t m_nControlPointCompare; // 0x1f4 + int32_t m_nControlPointCompare; // 0x1f4 // MPropertyFriendlyName "local space control point number" - int32_t m_nControlPointLocal; // 0x1f8 + int32_t m_nControlPointLocal; // 0x1f8 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x1fc + float m_flVelocityScale; // 0x1fc // MPropertyFriendlyName "direction only" - bool m_bDirectionOnly; // 0x200 + bool m_bDirectionOnly; // 0x200 }; // Alignment: 7 // Size: 0x22e0 -class CBaseTrailRenderer : public CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction -{ +class CBaseTrailRenderer : public CBaseRendererSource2 +{ public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2050 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x2050 // MPropertyFriendlyName "orientation control point" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - int32_t m_nOrientationControlPoint; // 0x2054 + int32_t m_nOrientationControlPoint; // 0x2054 // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "minimum visual screen-size" // MPropertySortPriority "900" - float m_flMinSize; // 0x2058 + float m_flMinSize; // 0x2058 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySortPriority "900" - float m_flMaxSize; // 0x205c + float m_flMaxSize; // 0x205c // MPropertyFriendlyName "start fade screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x2060 + CParticleCollectionFloatInput m_flStartFadeSize; // 0x2060 // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x2198 + CParticleCollectionFloatInput m_flEndFadeSize; // 0x2198 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" // MPropertySortPriority "800" - bool m_bClampV; // 0x22d0 + bool m_bClampV; // 0x22d0 }; // Alignment: 8 // Size: 0x2b0 -class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "bias distance" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1f0 + Vector m_vecComponentScale; // 0x1f0 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1fc + float m_flTraceOffset; // 0x1fc // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x200 + float m_flMaxTraceLength; // 0x200 // MPropertyFriendlyName "trace recycle tolerance" - float m_flTraceTolerance; // 0x204 + float m_flTraceTolerance; // 0x204 // MPropertyFriendlyName "maximum points to cache" - int32_t m_nMaxPlanes; // 0x208 + int32_t m_nMaxPlanes; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c +public: // MPropertyFriendlyName "trace collision group" - char[128] m_CollisionGroupName; // 0x210 + char m_CollisionGroupName[128]; // 0x210 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x290 + ParticleTraceSet_t m_nTraceSet; // 0x290 +private: + [[maybe_unused]] uint8_t __pad0294[0xc]; // 0x294 +public: // MPropertyFriendlyName "collide with water" - bool m_bIncludeWater; // 0x2a0 + bool m_bIncludeWater; // 0x2a0 }; // Alignment: 2 // Size: 0x200 -class C_OP_ConstrainLineLength : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_ConstrainLineLength : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "minimum length" - float m_flMinDistance; // 0x1f0 + float m_flMinDistance; // 0x1f0 // MPropertyFriendlyName "maximum length" - float m_flMaxDistance; // 0x1f4 + float m_flMaxDistance; // 0x1f4 }; // Alignment: 5 // Size: 0x470 -class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter, CParticleFunction -{ +class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter +{ public: // MPropertyFriendlyName "num to emit" // MPropertyAttributeRange "1 1000" - CParticleCollectionFloatInput m_nParticlesToEmit; // 0x1f0 + CParticleCollectionFloatInput m_nParticlesToEmit; // 0x1f0 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x328 + CParticleCollectionFloatInput m_flStartTime; // 0x328 // MPropertyFriendlyName "emission scale from killed parent particles" - float m_flInitFromKilledParentParticles; // 0x460 + float m_flInitFromKilledParentParticles; // 0x460 // MPropertyFriendlyName "maximum emission per frame" - int32_t m_nMaxEmittedPerFrame; // 0x464 + int32_t m_nMaxEmittedPerFrame; // 0x464 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x468 + int32_t m_nSnapshotControlPoint; // 0x468 }; -// Alignment: 22 -// Size: 0x5c8 -class CParticleVecInput : public -{ +// Alignment: 6 +// Size: 0x7e0 +class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission +{ public: - ParticleVecType_t m_nType; // 0x0 - Vector m_vLiteralValue; // 0x4 - Color m_LiteralColor; // 0x10 - CKV3MemberNameWithStorage m_NamedValue; // 0x18 - bool m_bFollowNamedValue; // 0x50 - ParticleAttributeIndex_t m_nVectorAttribute; // 0x54 - Vector m_vVectorAttributeScale; // 0x58 - int32_t m_nControlPoint; // 0x64 - Vector m_vCPValueScale; // 0x68 - Vector m_vCPRelativePosition; // 0x74 - Vector m_vCPRelativeDir; // 0x80 - CParticleFloatInput m_FloatComponentX; // 0x90 - CParticleFloatInput m_FloatComponentY; // 0x1c8 - CParticleFloatInput m_FloatComponentZ; // 0x300 - CParticleFloatInput m_FloatInterp; // 0x438 - float m_flInterpInput0; // 0x570 - float m_flInterpInput1; // 0x574 - Vector m_vInterpOutput0; // 0x578 - Vector m_vInterpOutput1; // 0x584 - CColorGradient m_Gradient; // 0x590 - Vector m_vRandomMin; // 0x5a8 - Vector m_vRandomMax; // 0x5b4 + // MPropertyFriendlyName "control point input" + int32_t m_nCPInput; // 0x200 + // MPropertyFriendlyName "control point number to set velocity" + int32_t m_nCPOutputVel; // 0x204 + // MPropertyFriendlyName "normalize output" + bool m_bNormalize; // 0x208 +private: + [[maybe_unused]] uint8_t __pad0209[0x3]; // 0x209 +public: + // MPropertyFriendlyName "control point number to set magnitude" + int32_t m_nCPOutputMag; // 0x20c + // MPropertyFriendlyName "control point field for magnitude" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nCPField; // 0x210 +private: + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 +public: + // MPropertyFriendlyName "comparison velocity" + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x218 }; // Alignment: 0 // Size: 0x210 -class C_OP_Spin : public CGeneralSpin, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_Spin : public CGeneralSpin +{ public: // no members available }; // Alignment: 10 // Size: 0x220 -class C_INIT_CreationNoise : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreationNoise : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x1f4 + bool m_bAbsVal; // 0x1f4 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x1f5 + bool m_bAbsValInv; // 0x1f5 +private: + [[maybe_unused]] uint8_t __pad01f6[0x2]; // 0x1f6 +public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x1f8 + float m_flOffset; // 0x1f8 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x1fc // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x200 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x204 + float m_flNoiseScale; // 0x204 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x208 + float m_flNoiseScaleLoc; // 0x208 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x20c + Vector m_vecOffsetLoc; // 0x20c // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x218 + float m_flWorldTimeScale; // 0x218 }; // Alignment: 8 // Size: 0x270 -class C_OP_RenderAsModels : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderAsModels : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "models" // MParticleRequireDefaultArrayEntry - CUtlVector< ModelReference_t > m_ModelList; // 0x230 + CUtlVector< ModelReference_t > m_ModelList; // 0x230 +private: + [[maybe_unused]] uint8_t __pad0248[0x4]; // 0x248 +public: // MPropertyFriendlyName "scale factor for radius" - float m_flModelScale; // 0x24c + float m_flModelScale; // 0x24c // MPropertyFriendlyName "scale model to match particle size" - bool m_bFitToModelSize; // 0x250 + bool m_bFitToModelSize; // 0x250 // MPropertyFriendlyName "non-uniform scaling" - bool m_bNonUniformScaling; // 0x251 + bool m_bNonUniformScaling; // 0x251 +private: + [[maybe_unused]] uint8_t __pad0252[0x2]; // 0x252 +public: // MPropertyFriendlyName "X axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x254 + ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x254 // MPropertyFriendlyName "Y axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x258 + ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x258 // MPropertyFriendlyName "Z axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x25c + ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x25c // MPropertyFriendlyName "model size cull bloat" // MPropertyAttributeChoiceName "particlefield_size_cull_bloat" - int32_t m_nSizeCullBloat; // 0x260 + int32_t m_nSizeCullBloat; // 0x260 }; // Alignment: 3 // Size: 0x230 -class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "output value at min distance" - Vector m_vMinOutputValue; // 0x214 + Vector m_vMinOutputValue; // 0x214 // MPropertyFriendlyName "output value at max distance" - Vector m_vMaxOutputValue; // 0x220 + Vector m_vMaxOutputValue; // 0x220 }; // Alignment: 5 // Size: 0x210 -class C_INIT_NormalOffset : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_NormalOffset : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - Vector m_OffsetMin; // 0x1f0 + Vector m_OffsetMin; // 0x1f0 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - Vector m_OffsetMax; // 0x1fc + Vector m_OffsetMax; // 0x1fc // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x208 + int32_t m_nControlPointNumber; // 0x208 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x20c + bool m_bLocalCoords; // 0x20c // MPropertyFriendlyName "normalize output 0/1" - bool m_bNormalize; // 0x20d + bool m_bNormalize; // 0x20d }; // Alignment: 0 // Size: 0x1f0 -class C_OP_SpinUpdate : public CSpinUpdateBase, CParticleFunctionOperator, CParticleFunction -{ +class CSpinUpdateBase : public CParticleFunctionOperator +{ public: // no members available }; // Alignment: 5 // Size: 0x220 -class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "source Control Point in World" - int32_t m_nCPIn; // 0x200 + int32_t m_nCPIn; // 0x200 // MPropertyFriendlyName "Source Control Point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x204 // MPropertyFriendlyName "Set control point number" - int32_t m_nCPOut; // 0x210 + int32_t m_nCPOut; // 0x210 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPOutField; // 0x214 + int32_t m_nCPOutField; // 0x214 // MPropertyFriendlyName "Ss Pos and Dot OUT CP" - int32_t m_nCPSSPosOut; // 0x218 + int32_t m_nCPSSPosOut; // 0x218 }; // Alignment: 3 // Size: 0x210 -class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "local offset min" // MVectorIsCoordinate - Vector m_vecOffsetMin; // 0x1f0 + Vector m_vecOffsetMin; // 0x1f0 // MPropertyFriendlyName "local offset max" // MVectorIsCoordinate - Vector m_vecOffsetMax; // 0x1fc + Vector m_vecOffsetMax; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad0208[0x1]; // 0x208 +public: // MPropertyFriendlyName "set normal" - bool m_bUseNormal; // 0x209 + bool m_bUseNormal; // 0x209 }; // Alignment: 6 // Size: 0x210 -class C_OP_RemapScalarEndCap : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapScalarEndCap : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x204 }; -// Alignment: 8 -// Size: 0x40 -class CPathParameters : public -{ +// Alignment: 4 +// Size: 0x240 +class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator +{ public: - // MPropertyFriendlyName "start control point number" - int32_t m_nStartControlPointNumber; // 0x0 - // MPropertyFriendlyName "end control point number" - int32_t m_nEndControlPointNumber; // 0x4 - // MPropertyFriendlyName "bulge control 0=random 1=orientation of start pnt 2=orientation of end point" - int32_t m_nBulgeControl; // 0x8 - // MPropertyFriendlyName "random bulge" - float m_flBulge; // 0xc - // MPropertyFriendlyName "mid point position" - float m_flMidPoint; // 0x10 - // MPropertyFriendlyName "Offset from curve start point for path start" - // MVectorIsCoordinate - Vector m_vStartPointOffset; // 0x14 - // MPropertyFriendlyName "Offset from curve midpoint for curve center" - // MVectorIsCoordinate - Vector m_vMidPointOffset; // 0x20 - // MPropertyFriendlyName "Offset from control point for path end" - // MVectorIsCoordinate - Vector m_vEndOffset; // 0x2c + // MPropertyFriendlyName "start fade time" + float m_flFadeStart; // 0x1f4 + // MPropertyFriendlyName "end fade time" + float m_flFadeEnd; // 0x1f8 + // MPropertyFriendlyName "Use sequential CP pairs between start and end point" + bool m_bCPPairs; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: + CPathParameters m_PathParams; // 0x200 }; // Alignment: 2 // Size: 0x330 -class C_INIT_InitFloatCollection : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitFloatCollection : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1f0 + CParticleCollectionFloatInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x328 }; // Alignment: 2 // Size: 0x210 -class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "play when emission ends" - bool m_bFireOnEmissionEnd; // 0x200 + bool m_bFireOnEmissionEnd; // 0x200 // MPropertyFriendlyName "wait for children to finish" - bool m_bIncludeChildren; // 0x201 + bool m_bIncludeChildren; // 0x201 }; // Alignment: 4 // Size: 0x480 -class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInputValue; // 0x200 + CParticleCollectionFloatInput m_flInputValue; // 0x200 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x338 + int32_t m_nCPOutput; // 0x338 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x33c + int32_t m_nOutVectorField; // 0x33c // MPropertyFriendlyName "interval to snap to" - CParticleCollectionFloatInput m_flQuantizeValue; // 0x340 + CParticleCollectionFloatInput m_flQuantizeValue; // 0x340 }; // Alignment: 4 // Size: 0x900 -class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "distance maximum" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x1f8 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x330 + CParticleCollectionVecInput m_vecScale; // 0x330 // MPropertyFriendlyName "distance squared output attribute" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDistSqrAttr; // 0x8f8 + ParticleAttributeIndex_t m_nDistSqrAttr; // 0x8f8 }; // Alignment: 3 // Size: 0xd90 -class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1f8 + CPerParticleVecInput m_vecPoint1; // 0x1f8 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7c0 + CPerParticleVecInput m_vecPoint2; // 0x7c0 }; // Alignment: 8 // Size: 0x270 -class C_OP_RemapTransformVisibilityToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapTransformVisibilityToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f0 + ParticleSetMethod_t m_nSetMethod; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f8 + CParticleTransformInput m_TransformInput; // 0x1f8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x248 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x24c + float m_flInputMin; // 0x24c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x250 + float m_flInputMax; // 0x250 // MPropertyFriendlyName "output minimum" - Vector m_vecOutputMin; // 0x254 + Vector m_vecOutputMin; // 0x254 // MPropertyFriendlyName "output maximum" - Vector m_vecOutputMax; // 0x260 + Vector m_vecOutputMax; // 0x260 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x26c + float m_flRadius; // 0x26c }; // Alignment: 6 // Size: 0xe00 -class C_INIT_SetVectorAttributeToVectorExpression : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_SetVectorAttributeToVectorExpression : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1f0 + VectorExpressionType_t m_nExpression; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x1f8 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x7c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xd88 + ParticleAttributeIndex_t m_nOutputField; // 0xd88 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd8c + ParticleSetMethod_t m_nSetMethod; // 0xd8c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd90 + bool m_bNormalizedOutput; // 0xd90 }; // Alignment: 4 // Size: 0x200 -class C_OP_InheritFromParentParticles : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_InheritFromParentParticles : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x1f0 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x1f8 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x1fc }; // Alignment: 4 // Size: 0x200 -class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x1f0 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x1f4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 // MPropertyFriendlyName "component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1fc + int32_t m_nComponent; // 0x1fc }; -// Alignment: 0 -// Size: 0x1f0 -class CParticleFunctionForce : public CParticleFunction -{ +// Alignment: 4 +// Size: 0xd90 +class C_OP_ExternalWindForce : public CParticleFunctionForce +{ public: - // no members available + // MPropertyFriendlyName "sample position" + CPerParticleVecInput m_vecSamplePosition; // 0x1f0 + // MPropertyFriendlyName "force scale" + CPerParticleVecInput m_vecScale; // 0x7b8 + // MPropertyFriendlyName "sample wind" + bool m_bSampleWind; // 0xd80 + // MPropertyFriendlyName "sample water current" + bool m_bSampleWater; // 0xd81 }; // Alignment: 6 // Size: 0x5c0 -class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x200 + ScalarExpressionType_t m_nExpression; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 +public: // MPropertyFriendlyName "input 1" - CParticleCollectionFloatInput m_flInput1; // 0x208 + CParticleCollectionFloatInput m_flInput1; // 0x208 // MPropertyFriendlyName "input 2" - CParticleCollectionFloatInput m_flInput2; // 0x340 + CParticleCollectionFloatInput m_flInput2; // 0x340 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0x478 + CParticleRemapFloatInput m_flOutputRemap; // 0x478 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x5b0 + int32_t m_nOutputCP; // 0x5b0 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x5b4 + int32_t m_nOutVectorField; // 0x5b4 }; // Alignment: 10 // Size: 0xda0 -class C_INIT_PositionWarp : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_PositionWarp : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMin; // 0x1f0 + CParticleCollectionVecInput m_vecWarpMin; // 0x1f0 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMax; // 0x7b8 + CParticleCollectionVecInput m_vecWarpMax; // 0x7b8 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0xd80 + int32_t m_nScaleControlPointNumber; // 0xd80 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xd84 + int32_t m_nControlPointNumber; // 0xd84 // MPropertyFriendlyName "radius scale component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nRadiusComponent; // 0xd88 + int32_t m_nRadiusComponent; // 0xd88 // MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)" - float m_flWarpTime; // 0xd8c + float m_flWarpTime; // 0xd8c // MPropertyFriendlyName "warp transition start time" - float m_flWarpStartTime; // 0xd90 + float m_flWarpStartTime; // 0xd90 // MPropertyFriendlyName "previous position sacale" - float m_flPrevPosScale; // 0xd94 + float m_flPrevPosScale; // 0xd94 // MPropertyFriendlyName "reverse warp (0/1)" - bool m_bInvertWarp; // 0xd98 + bool m_bInvertWarp; // 0xd98 // MPropertyFriendlyName "use particle count instead of time" - bool m_bUseCount; // 0xd99 + bool m_bUseCount; // 0xd99 }; // Alignment: 1 // Size: 0x240 -class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 }; // Alignment: 10 // Size: 0x220 -class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "control point number (ignored if per particle)" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x1f4 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1f8 + float m_flStartTime; // 0x1f8 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1fc + float m_flEndTime; // 0x1fc // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x200 + float m_flInputMin; // 0x200 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x204 + float m_flInputMax; // 0x204 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x208 + float m_flOutputMin; // 0x208 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x20c + float m_flOutputMax; // 0x20c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x210 // MPropertyFriendlyName "per particle" - bool m_bPerParticle; // 0x214 + bool m_bPerParticle; // 0x214 }; // Alignment: 0 // Size: 0x250 -class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed +{ public: // no members available }; // Alignment: 15 // Size: 0xf80 -class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nCPSnapshot; // 0x200 + int32_t m_nCPSnapshot; // 0x200 // MPropertyFriendlyName "start control point number" - int32_t m_nCPStartPnt; // 0x204 + int32_t m_nCPStartPnt; // 0x204 // MPropertyFriendlyName "end control point number" - int32_t m_nCPEndPnt; // 0x208 + int32_t m_nCPEndPnt; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c +public: // MPropertyFriendlyName "Recursion Depth" - CParticleCollectionFloatInput m_flSegments; // 0x210 + CParticleCollectionFloatInput m_flSegments; // 0x210 // MPropertyFriendlyName "Offset" - CParticleCollectionFloatInput m_flOffset; // 0x348 + CParticleCollectionFloatInput m_flOffset; // 0x348 // MPropertyFriendlyName "Offset Decay" - CParticleCollectionFloatInput m_flOffsetDecay; // 0x480 + CParticleCollectionFloatInput m_flOffsetDecay; // 0x480 // MPropertyFriendlyName "Recalculation Rate" - CParticleCollectionFloatInput m_flRecalcRate; // 0x5b8 + CParticleCollectionFloatInput m_flRecalcRate; // 0x5b8 // MPropertyFriendlyName "UV Scale" - CParticleCollectionFloatInput m_flUVScale; // 0x6f0 + CParticleCollectionFloatInput m_flUVScale; // 0x6f0 // MPropertyFriendlyName "UV Offset" - CParticleCollectionFloatInput m_flUVOffset; // 0x828 + CParticleCollectionFloatInput m_flUVOffset; // 0x828 // MPropertyFriendlyName "Branch Split Rate" - CParticleCollectionFloatInput m_flSplitRate; // 0x960 + CParticleCollectionFloatInput m_flSplitRate; // 0x960 // MPropertyFriendlyName "Branch Twist" - CParticleCollectionFloatInput m_flBranchTwist; // 0xa98 + CParticleCollectionFloatInput m_flBranchTwist; // 0xa98 // MPropertyFriendlyName "Branch Behavior" - ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xbd0 + ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xbd0 +private: + [[maybe_unused]] uint8_t __pad0bd4[0x4]; // 0xbd4 +public: // MPropertyFriendlyName "Start Radius" - CParticleCollectionFloatInput m_flRadiusStart; // 0xbd8 + CParticleCollectionFloatInput m_flRadiusStart; // 0xbd8 // MPropertyFriendlyName "End Radius" - CParticleCollectionFloatInput m_flRadiusEnd; // 0xd10 + CParticleCollectionFloatInput m_flRadiusEnd; // 0xd10 // MPropertyFriendlyName "Dedicated Particle Pool Count" - CParticleCollectionFloatInput m_flDedicatedPool; // 0xe48 + CParticleCollectionFloatInput m_flDedicatedPool; // 0xe48 }; // Alignment: 5 // Size: 0xda0 -class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x200 + VectorExpressionType_t m_nExpression; // 0x200 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x204 + int32_t m_nOutputCP; // 0x204 // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vInput1; // 0x208 + CParticleCollectionVecInput m_vInput1; // 0x208 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vInput2; // 0x7d0 + CParticleCollectionVecInput m_vInput2; // 0x7d0 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd98 + bool m_bNormalizedOutput; // 0xd98 }; -// Alignment: 3 -// Size: 0x14 -struct ControlPointReference_t : public -{ +// Alignment: 11 +// Size: 0x250 +class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator +{ public: - // MPropertyFriendlyName "Control point" - int32_t m_controlPointNameString; // 0x0 - // MPropertyFriendlyName "Offset from control point" - Vector m_vOffsetFromControlPoint; // 0x4 - // MPropertyFriendlyName "Use local space offset" - bool m_bOffsetInLocalSpace; // 0x10 + // MPropertyFriendlyName "start value" + Vector m_vStartValue; // 0x1f0 + // MPropertyFriendlyName "input field 1" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput1; // 0x1fc + // MPropertyFriendlyName "input scale 1" + float m_flInputScale1; // 0x200 + // MPropertyFriendlyName "input field 2" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput2; // 0x204 + // MPropertyFriendlyName "input scale 2" + float m_flInputScale2; // 0x208 + // MPropertyFriendlyName "control point input 1" + ControlPointReference_t m_nControlPointInput1; // 0x20c + // MPropertyFriendlyName "control point scale 1" + float m_flControlPointScale1; // 0x220 + // MPropertyFriendlyName "control point input 2" + ControlPointReference_t m_nControlPointInput2; // 0x224 + // MPropertyFriendlyName "control point scale 2" + float m_flControlPointScale2; // 0x238 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x23c + // MPropertyFriendlyName "final per component scale" + Vector m_vFinalOutputScale; // 0x240 }; -// Alignment: 16 -// Size: 0x8a8 -struct TextureControls_t : public -{ +// Alignment: 9 +// Size: 0xa18 +struct TextureGroup_t +{ public: - // MPropertyFriendlyName "horizontal texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0 - // MPropertyFriendlyName "vertical texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0x138 - // MPropertyFriendlyName "horizontal texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x270 - // MPropertyFriendlyName "vertical texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x3a8 - // MPropertyFriendlyName "texture rotation / animation rate scale" - CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x4e0 - // MPropertyFriendlyName "Infinite Zoom Scale" - CParticleCollectionFloatInput m_flZoomScale; // 0x618 - // MPropertyFriendlyName "Distortion Amount" - CParticleCollectionFloatInput m_flDistortion; // 0x750 - // MPropertyFriendlyName "Randomize Initial Offset" - bool m_bRandomizeOffsets; // 0x888 - // MPropertyFriendlyName "Clamp UVs" - bool m_bClampUVs; // 0x889 - // MPropertyFriendlyName "per-particle scalar for blend" - SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x88c - // MPropertyFriendlyName "per-particle scalar for scale" - SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x890 - // MPropertyFriendlyName "per-particle scalar for horizontal offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x894 - // MPropertyFriendlyName "per-particle scalar for vertical offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x898 - // MPropertyFriendlyName "per-particle scalar for rotation" - SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x89c - // MPropertyFriendlyName "per-particle scalar for zoom" - SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x8a0 - // MPropertyFriendlyName "per-particle scalar for distortion" - SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x8a4 + // MPropertyFriendlyName "Enabled" + bool m_bEnabled; // 0x0 + // MPropertyFriendlyName "Author Texture As Gradient" + // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" + bool m_bReplaceTextureWithGradient; // 0x1 +private: + [[maybe_unused]] uint8_t __pad0002[0x6]; // 0x2 +public: + // MPropertyFriendlyName "Texture" + // MPropertySuppressExpr "m_bReplaceTextureWithGradient" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x8 + // MPropertyFriendlyName "Gradient" + // MPropertySuppressExpr "!m_bReplaceTextureWithGradient" + CColorGradient m_Gradient; // 0x10 + // MPropertyFriendlyName "Texture Type" + SpriteCardTextureType_t m_nTextureType; // 0x28 + // MPropertyFriendlyName "Channel Mix" + // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" + SpriteCardTextureChannel_t m_nTextureChannels; // 0x2c + // MPropertyFriendlyName "Mix Blend Mode" + // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" + ParticleTextureLayerBlendType_t m_nTextureBlendMode; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: + // MPropertyFriendlyName "Blend Amount" + // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" + CParticleCollectionFloatInput m_flTextureBlend; // 0x38 + // MPropertyFriendlyName "Texture Controls" + // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" + TextureControls_t m_TextureControls; // 0x170 }; // Alignment: 4 // Size: 0x200 -class C_OP_Orient2DRelToCP : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_Orient2DRelToCP : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f0 + float m_flRotOffset; // 0x1f0 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1f4 + float m_flSpinStrength; // 0x1f4 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f8 + int32_t m_nCP; // 0x1f8 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc }; // Alignment: 3 // Size: 0x200 -class C_INIT_RandomRadius : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomRadius : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "radius min" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMin; // 0x1f0 + float m_flRadiusMin; // 0x1f0 // MPropertyFriendlyName "radius max" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMax; // 0x1f4 + float m_flRadiusMax; // 0x1f4 // MPropertyFriendlyName "radius random exponent" // MPropertyAttributeRange "-2 2" - float m_flRadiusRandExponent; // 0x1f8 + float m_flRadiusRandExponent; // 0x1f8 }; // Alignment: 5 // Size: 0x210 -class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x1f4 + float m_fSpeedMin; // 0x1f4 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x1f8 + float m_fSpeedMax; // 0x1f8 // MPropertyFriendlyName "local space scale" - Vector m_vecLocalCoordinateSystemSpeedScale; // 0x1fc + Vector m_vecLocalCoordinateSystemSpeedScale; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad0208[0x1]; // 0x208 +public: // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x209 + bool m_bIgnoreDelta; // 0x209 }; // Alignment: 0 // Size: 0x240 -class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar, C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar +{ public: // no members available }; // Alignment: 3 // Size: 0x200 -class C_INIT_RandomLifeTime : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomLifeTime : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "lifetime min" // MPropertyAttributeRange "0 20" - float m_fLifetimeMin; // 0x1f0 + float m_fLifetimeMin; // 0x1f0 // MPropertyFriendlyName "lifetime max" // MPropertyAttributeRange "0 20" - float m_fLifetimeMax; // 0x1f4 + float m_fLifetimeMax; // 0x1f4 // MPropertyFriendlyName "lifetime random exponent" - float m_fLifetimeRandExponent; // 0x1f8 + float m_fLifetimeRandExponent; // 0x1f8 }; // Alignment: 6 // Size: 0x4d0 -class C_OP_AttractToControlPoint : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_AttractToControlPoint : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "component scale" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1f0 + Vector m_vecComponentScale; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "amount of force (or Max Force)" - CPerParticleFloatInput m_fForceAmount; // 0x200 + CPerParticleFloatInput m_fForceAmount; // 0x200 // MPropertyFriendlyName "falloff power" - float m_fFalloffPower; // 0x338 + float m_fFalloffPower; // 0x338 +private: + [[maybe_unused]] uint8_t __pad033c[0x4]; // 0x33c +public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0x340 + CParticleTransformInput m_TransformInput; // 0x340 // MPropertyFriendlyName "Min Pullforce" - CPerParticleFloatInput m_fForceAmountMin; // 0x390 + CPerParticleFloatInput m_fForceAmountMin; // 0x390 // MPropertyFriendlyName "Apply Min Pullforce" - bool m_bApplyMinForce; // 0x4c8 + bool m_bApplyMinForce; // 0x4c8 }; // Alignment: 14 // Size: 0x220 -class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "scale size multiplier from CP" - int32_t m_nScaleCP; // 0x1f4 + int32_t m_nScaleCP; // 0x1f4 // MPropertyFriendlyName "scale CP component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1f8 + int32_t m_nComponent; // 0x1f8 // MPropertyFriendlyName "center core radius" - float m_fRadCentCore; // 0x1fc + float m_fRadCentCore; // 0x1fc // MPropertyFriendlyName "radius multiplier" - float m_fRadPerPoint; // 0x200 + float m_fRadPerPoint; // 0x200 // MPropertyFriendlyName "radius max (-1 procedural growth)" - float m_fRadPerPointTo; // 0x204 + float m_fRadPerPointTo; // 0x204 // MPropertyFriendlyName "golden angle (is 137.508)" - float m_fpointAngle; // 0x208 + float m_fpointAngle; // 0x208 // MPropertyFriendlyName "overall size multiplier (-1 count based distribution)" - float m_fsizeOverall; // 0x20c + float m_fsizeOverall; // 0x20c // MPropertyFriendlyName "radius bias" - float m_fRadBias; // 0x210 + float m_fRadBias; // 0x210 // MPropertyFriendlyName "radius min " - float m_fMinRad; // 0x214 + float m_fMinRad; // 0x214 // MPropertyFriendlyName "distribution bias" - float m_fDistBias; // 0x218 + float m_fDistBias; // 0x218 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x21c + bool m_bUseLocalCoords; // 0x21c // MPropertyFriendlyName "use continuous emission" - bool m_bUseWithContEmit; // 0x21d + bool m_bUseWithContEmit; // 0x21d // MPropertyFriendlyName "scale radius from initial value" - bool m_bUseOrigRadius; // 0x21e + bool m_bUseOrigRadius; // 0x21e }; // Alignment: 4 // Size: 0x210 -class C_OP_BoxConstraint : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_BoxConstraint : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "min coords" - Vector m_vecMin; // 0x1f0 + Vector m_vecMin; // 0x1f0 // MPropertyFriendlyName "max coords" - Vector m_vecMax; // 0x1fc + Vector m_vecMax; // 0x1fc // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x208 + int32_t m_nCP; // 0x208 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x20c + bool m_bLocalSpace; // 0x20c }; // Alignment: 5 // Size: 0x220 -class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x200 // MPropertyFriendlyName "control point to set" - int32_t m_nChildControlPoint; // 0x204 + int32_t m_nChildControlPoint; // 0x204 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x208 + int32_t m_nNumControlPoints; // 0x208 // MPropertyFriendlyName "first parent control point to set from" - int32_t m_nFirstSourcePoint; // 0x20c + int32_t m_nFirstSourcePoint; // 0x20c // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x210 + bool m_bSetOrientation; // 0x210 }; // Alignment: 8 // Size: 0x210 -class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x1f0 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x1f4 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x1f8 // MPropertyFriendlyName "particle increment amount" - int32_t m_nParticleIncrement; // 0x1fc + int32_t m_nParticleIncrement; // 0x1fc // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x200 + int32_t m_nFirstSourcePoint; // 0x200 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x204 + bool m_bNumBasedOnParticleCount; // 0x204 +private: + [[maybe_unused]] uint8_t __pad0205[0x3]; // 0x205 +public: // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x208 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x208 // MPropertyFriendlyName "control point field for scalars" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x20c + int32_t m_nCPField; // 0x20c }; // Alignment: 5 // Size: 0x220 -class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "output offset minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1f8 + Vector m_vecOutputMin; // 0x1f8 // MPropertyFriendlyName "output offset maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x204 + Vector m_vecOutputMax; // 0x204 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x210 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x210 }; // Alignment: 3 // Size: 0x200 -class C_OP_GlobalLight : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_GlobalLight : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1f0 + float m_flScale; // 0x1f0 // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x1f4 + bool m_bClampLowerRange; // 0x1f4 // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x1f5 + bool m_bClampUpperRange; // 0x1f5 }; -// Alignment: 16 -// Size: 0x1f0 -class CParticleFunction : public -{ +// Alignment: 11 +// Size: 0x220 +class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator +{ public: - // MPropertyFriendlyName "operator strength" - // MPropertySortPriority "-100" - CParticleCollectionFloatInput m_flOpStrength; // 0x8 - // MPropertyFriendlyName "operator end cap state" - // MPropertySortPriority "-100" - ParticleEndcapMode_t m_nOpEndCapState; // 0x140 - // MPropertyStartGroup "Operator Fade" - // MPropertyFriendlyName "operator start fadein" - // MParticleAdvancedField - // MPropertySortPriority "-100" - float m_flOpStartFadeInTime; // 0x144 - // MPropertyFriendlyName "operator end fadein" - // MParticleAdvancedField - // MPropertySortPriority "-100" - float m_flOpEndFadeInTime; // 0x148 - // MPropertyFriendlyName "operator start fadeout" - // MParticleAdvancedField - // MPropertySortPriority "-100" - float m_flOpStartFadeOutTime; // 0x14c - // MPropertyFriendlyName "operator end fadeout" - // MParticleAdvancedField - // MPropertySortPriority "-100" - float m_flOpEndFadeOutTime; // 0x150 - // MPropertyFriendlyName "operator fade oscillate" - // MParticleAdvancedField - // MPropertySortPriority "-100" - float m_flOpFadeOscillatePeriod; // 0x154 - // MPropertyFriendlyName "normalize fade times to endcap" - // MParticleAdvancedField - // MPropertySortPriority "-100" - bool m_bNormalizeToStopTime; // 0x158 - // MPropertyStartGroup "Operator Fade Time Offset" - // MPropertyFriendlyName "operator fade time offset min" - // MParticleAdvancedField - // MPropertySortPriority "-100" - float m_flOpTimeOffsetMin; // 0x15c - // MPropertyFriendlyName "operator fade time offset max" - // MParticleAdvancedField - // MPropertySortPriority "-100" - float m_flOpTimeOffsetMax; // 0x160 - // MPropertyFriendlyName "operator fade time offset seed" - // MParticleAdvancedField - // MPropertySortPriority "-100" - int32_t m_nOpTimeOffsetSeed; // 0x164 - // MPropertyStartGroup "Operator Fade Timescale Modifiers" - // MPropertyFriendlyName "operator fade time scale seed" - // MParticleAdvancedField - // MPropertySortPriority "-100" - int32_t m_nOpTimeScaleSeed; // 0x168 - // MPropertyFriendlyName "operator fade time scale min" - // MParticleAdvancedField - // MPropertySortPriority "-100" - float m_flOpTimeScaleMin; // 0x16c - // MPropertyFriendlyName "operator fade time scale max" - // MParticleAdvancedField - // MPropertySortPriority "-100" - float m_flOpTimeScaleMax; // 0x170 - // MPropertyStartGroup - // MPropertySuppressField - bool m_bDisableOperator; // 0x175 - // MPropertyFriendlyName "operator help and notes" - // MParticleHelpField - // MParticleAdvancedField - // MPropertySortPriority "-100" - CUtlString m_Notes; // 0x178 + // MPropertyFriendlyName "percentage minimum" + float m_flInputMin; // 0x1f0 + // MPropertyFriendlyName "percentage maximum" + float m_flInputMax; // 0x1f4 + // MPropertyFriendlyName "percentage bias" + float m_flInputBias; // 0x1f8 + // MPropertyFriendlyName "starting control point" + int32_t m_nStartCP; // 0x1fc + // MPropertyFriendlyName "ending control point" + int32_t m_nEndCP; // 0x200 + // MPropertyFriendlyName "offset control point" + int32_t m_nOffsetCP; // 0x204 + // MPropertyFriendlyName "output control point" + int32_t m_nOuputCP; // 0x208 + // MPropertyFriendlyName "input control point" + int32_t m_nInputCP; // 0x20c + // MPropertyFriendlyName "treat distance between points as radius" + bool m_bRadialCheck; // 0x210 + // MPropertyFriendlyName "treat offset as scale of total distance" + bool m_bScaleOffset; // 0x211 +private: + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 +public: + // MPropertyFriendlyName "offset amount" + // MVectorIsCoordinate + Vector m_vecOffset; // 0x214 }; // Alignment: 0 // Size: 0x230 -class C_OP_Callback : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_Callback : public CParticleFunctionRenderer +{ public: // no members available }; // Alignment: 1 // Size: 0x280 -class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "field to init" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToCopy; // 0x1f0 + ParticleAttributeIndex_t m_nAttributeToCopy; // 0x1f0 }; -// Alignment: 6 +// Alignment: 0 // Size: 0x220 -class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement +{ public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 - // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x1f8 - // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x210 - // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x211 - // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x212 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x214 + // no members available }; // Alignment: 3 // Size: 0x210 -class C_OP_BasicMovement : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_BasicMovement : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "gravity" // MVectorIsCoordinate - Vector m_Gravity; // 0x1f0 + Vector m_Gravity; // 0x1f0 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x1fc + float m_fDrag; // 0x1fc // MPropertyFriendlyName "max constraint passes" - int32_t m_nMaxConstraintPasses; // 0x200 + int32_t m_nMaxConstraintPasses; // 0x200 }; // Alignment: 2 // Size: 0x350 -class C_OP_QuantizeFloat : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_QuantizeFloat : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x328 }; // Alignment: 11 // Size: 0x220 -class C_INIT_RemapScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapScalar : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x204 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x208 + float m_flStartTime; // 0x208 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x20c + float m_flEndTime; // 0x20c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x210 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x214 + bool m_bActiveRange; // 0x214 +private: + [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 +public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x218 + float m_flRemapBias; // 0x218 }; // Alignment: 7 // Size: 0x810 -class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "minimum speed" - CPerParticleFloatInput m_flSpeedMin; // 0x1f0 + CPerParticleFloatInput m_flSpeedMin; // 0x1f0 // MPropertyFriendlyName "maximum speed" - CPerParticleFloatInput m_flSpeedMax; // 0x328 + CPerParticleFloatInput m_flSpeedMax; // 0x328 // MPropertyFriendlyName "end spread" - CPerParticleFloatInput m_flEndSpread; // 0x460 + CPerParticleFloatInput m_flEndSpread; // 0x460 // MPropertyFriendlyName "start offset" - CPerParticleFloatInput m_flStartOffset; // 0x598 + CPerParticleFloatInput m_flStartOffset; // 0x598 // MPropertyFriendlyName "end offset" - CPerParticleFloatInput m_flEndOffset; // 0x6d0 + CPerParticleFloatInput m_flEndOffset; // 0x6d0 // MPropertyFriendlyName "end control point" - int32_t m_nEndControlPointNumber; // 0x808 + int32_t m_nEndControlPointNumber; // 0x808 // MPropertyFriendlyName "bias lifetime by trail length" - bool m_bTrailBias; // 0x80c + bool m_bTrailBias; // 0x80c }; // Alignment: 1 // Size: 0x200 -class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "frames per second" - float m_flFramerate; // 0x1f0 + float m_flFramerate; // 0x1f0 }; // Alignment: 6 // Size: 0x220 -class C_OP_OscillateVectorSimple : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_OscillateVectorSimple : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "oscillation rate" // MVectorIsSometimesCoordinate - Vector m_Rate; // 0x1f0 + Vector m_Rate; // 0x1f0 // MPropertyFriendlyName "oscillation frequency" - Vector m_Frequency; // 0x1fc + Vector m_Frequency; // 0x1fc // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x208 + ParticleAttributeIndex_t m_nField; // 0x208 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x20c + float m_flOscMult; // 0x20c // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x210 + float m_flOscAdd; // 0x210 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x214 + bool m_bOffset; // 0x214 }; // Alignment: 9 // Size: 0x5b0 -class C_OP_ContinuousEmitter : public CParticleFunctionEmitter, CParticleFunction -{ +class C_OP_ContinuousEmitter : public CParticleFunctionEmitter +{ public: // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f0 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f0 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x328 + CParticleCollectionFloatInput m_flStartTime; // 0x328 // MPropertyFriendlyName "emission rate" - CParticleCollectionFloatInput m_flEmitRate; // 0x460 + CParticleCollectionFloatInput m_flEmitRate; // 0x460 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x598 + float m_flEmissionScale; // 0x598 // MPropertyFriendlyName "scale emission by parent particle count" - float m_flScalePerParentParticle; // 0x59c + float m_flScalePerParentParticle; // 0x59c // MPropertyFriendlyName "emit particles for killed parent particles" - bool m_bInitFromKilledParentParticles; // 0x5a0 + bool m_bInitFromKilledParentParticles; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 +public: // MPropertyFriendlyName "limit per update" - int32_t m_nLimitPerUpdate; // 0x5a4 + int32_t m_nLimitPerUpdate; // 0x5a4 // MPropertyFriendlyName "force emit on first update" - bool m_bForceEmitOnFirstUpdate; // 0x5a8 + bool m_bForceEmitOnFirstUpdate; // 0x5a8 // MPropertyFriendlyName "force emit on last update" - bool m_bForceEmitOnLastUpdate; // 0x5a9 + bool m_bForceEmitOnLastUpdate; // 0x5a9 }; -// Alignment: 5 -// Size: 0x210 -class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator, CParticleFunction -{ +// Alignment: 3 +// Size: 0x220 +class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase +{ public: - // MPropertyFriendlyName "control point 0" - int32_t m_nCP0; // 0x1f0 - // MPropertyFriendlyName "control point 1" - int32_t m_nCP1; // 0x1f4 - // MPropertyFriendlyName "min distance value" - float m_flMinInputValue; // 0x1f8 - // MPropertyFriendlyName "max distance value" - float m_flMaxInputValue; // 0x1fc - // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" - bool m_bInfiniteLine; // 0x200 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + // MPropertyFriendlyName "output value at min distance" + float m_flMinOutputValue; // 0x214 + // MPropertyFriendlyName "output value at max distance" + float m_flMaxOutputValue; // 0x218 }; // Alignment: 1 // Size: 0x200 -class C_OP_EndCapTimedDecay : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_EndCapTimedDecay : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "decay time" - float m_flDecayTime; // 0x1f0 + float m_flDecayTime; // 0x1f0 }; // Alignment: 6 // Size: 0x240 -class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x1f0 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1f4 + float m_flNumToAssign; // 0x1f4 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x1f8 + bool m_bLoop; // 0x1f8 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1f9 + bool m_bCPPairs; // 0x1f9 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x1fa - CPathParameters m_PathParams; // 0x200 + bool m_bSaveOffset; // 0x1fa +private: + [[maybe_unused]] uint8_t __pad01fb[0x5]; // 0x1fb +public: + CPathParameters m_PathParams; // 0x200 }; // Alignment: 1 // Size: 0x330 -class C_OP_DecayOffscreen : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DecayOffscreen : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Offscreen Time Before Decay" - CParticleCollectionFloatInput m_flOffscreenTime; // 0x1f0 + CParticleCollectionFloatInput m_flOffscreenTime; // 0x1f0 }; // Alignment: 13 // Size: 0x810 -class C_OP_DistanceBetweenTransforms : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DistanceBetweenTransforms : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x1f8 + CParticleTransformInput m_TransformStart; // 0x1f8 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x248 + CParticleTransformInput m_TransformEnd; // 0x248 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x298 + CPerParticleFloatInput m_flInputMin; // 0x298 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x3d0 + CPerParticleFloatInput m_flInputMax; // 0x3d0 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x508 + CPerParticleFloatInput m_flOutputMin; // 0x508 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x640 + CPerParticleFloatInput m_flOutputMax; // 0x640 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x778 + float m_flMaxTraceLength; // 0x778 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x77c + float m_flLOSScale; // 0x77c // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x780 + char m_CollisionGroupName[128]; // 0x780 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x800 + ParticleTraceSet_t m_nTraceSet; // 0x800 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x804 + bool m_bLOS; // 0x804 +private: + [[maybe_unused]] uint8_t __pad0805[0x3]; // 0x805 +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x808 + ParticleSetMethod_t m_nSetMethod; // 0x808 }; // Alignment: 6 // Size: 0x210 -class C_OP_RemapScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x204 }; // Alignment: 3 // Size: 0x200 -class C_INIT_RandomTrailLength : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomTrailLength : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "length min" - float m_flMinLength; // 0x1f0 + float m_flMinLength; // 0x1f0 // MPropertyFriendlyName "length max" - float m_flMaxLength; // 0x1f4 + float m_flMaxLength; // 0x1f4 // MPropertyFriendlyName "length random exponent" - float m_flLengthRandExponent; // 0x1f8 + float m_flLengthRandExponent; // 0x1f8 }; // Alignment: 11 // Size: 0xc10 -class C_INIT_RingWave : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RingWave : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "input transform" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "even distribution count" - CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x240 + CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x240 // MPropertyFriendlyName "initial radius" - CPerParticleFloatInput m_flInitialRadius; // 0x378 + CPerParticleFloatInput m_flInitialRadius; // 0x378 // MPropertyFriendlyName "thickness" - CPerParticleFloatInput m_flThickness; // 0x4b0 + CPerParticleFloatInput m_flThickness; // 0x4b0 // MPropertyFriendlyName "min initial speed" - CPerParticleFloatInput m_flInitialSpeedMin; // 0x5e8 + CPerParticleFloatInput m_flInitialSpeedMin; // 0x5e8 // MPropertyFriendlyName "max initial speed" - CPerParticleFloatInput m_flInitialSpeedMax; // 0x720 + CPerParticleFloatInput m_flInitialSpeedMax; // 0x720 // MPropertyFriendlyName "roll" - CPerParticleFloatInput m_flRoll; // 0x858 + CPerParticleFloatInput m_flRoll; // 0x858 // MPropertyFriendlyName "pitch" - CPerParticleFloatInput m_flPitch; // 0x990 + CPerParticleFloatInput m_flPitch; // 0x990 // MPropertyFriendlyName "yaw" - CPerParticleFloatInput m_flYaw; // 0xac8 + CPerParticleFloatInput m_flYaw; // 0xac8 // MPropertyFriendlyName "even distribution" - bool m_bEvenDistribution; // 0xc00 + bool m_bEvenDistribution; // 0xc00 // MPropertyFriendlyName "XY velocity only" - bool m_bXYVelocityOnly; // 0xc01 + bool m_bXYVelocityOnly; // 0xc01 }; // Alignment: 9 // Size: 0x990 -class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f4 + int32_t m_nDesiredHitbox; // 0x1f4 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x1f8 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x1f8 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x7c0 + char m_HitboxSetName[128]; // 0x7c0 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x840 + bool m_bUseBones; // 0x840 // MPropertyFriendlyName "get closest point on closest hitbox" - bool m_bUseClosestPointOnHitbox; // 0x841 + bool m_bUseClosestPointOnHitbox; // 0x841 +private: + [[maybe_unused]] uint8_t __pad0842[0x2]; // 0x842 +public: // MPropertyFriendlyName "closest point test type" - ClosestPointTestType_t m_nTestType; // 0x844 + ClosestPointTestType_t m_nTestType; // 0x844 // MPropertyFriendlyName "hybrid ratio" - CParticleCollectionFloatInput m_flHybridRatio; // 0x848 + CParticleCollectionFloatInput m_flHybridRatio; // 0x848 // MPropertyFriendlyName "set initial position" - bool m_bUpdatePosition; // 0x980 + bool m_bUpdatePosition; // 0x980 }; // Alignment: 3 // Size: 0x200 -class C_OP_RemapVelocityToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapVelocityToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x1f4 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1f8 + bool m_bNormalize; // 0x1f8 }; // Alignment: 4 // Size: 0x240 -class C_OP_RenderTonemapController : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderTonemapController : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "tonemap level scale" - float m_flTonemapLevel; // 0x230 + float m_flTonemapLevel; // 0x230 // MPropertyFriendlyName "tonemap weight scale" - float m_flTonemapWeight; // 0x234 + float m_flTonemapWeight; // 0x234 // MPropertyFriendlyName "tonemap level" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapLevelField; // 0x238 + ParticleAttributeIndex_t m_nTonemapLevelField; // 0x238 // MPropertyFriendlyName "tonemap weight" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapWeightField; // 0x23c + ParticleAttributeIndex_t m_nTonemapWeightField; // 0x23c }; // Alignment: 5 // Size: 0x5c0 -class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 +public: // MPropertyFriendlyName "Within-Cluster Refire Time" - CParticleCollectionFloatInput m_flClusterRefireTime; // 0x208 + CParticleCollectionFloatInput m_flClusterRefireTime; // 0x208 // MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown" - CParticleCollectionFloatInput m_flClusterSize; // 0x340 + CParticleCollectionFloatInput m_flClusterSize; // 0x340 // MPropertyFriendlyName "Cluster Cooldown Time" - CParticleCollectionFloatInput m_flClusterCooldown; // 0x478 + CParticleCollectionFloatInput m_flClusterCooldown; // 0x478 // MPropertyFriendlyName "limit active children to parent particle count" - bool m_bLimitChildCount; // 0x5b0 + bool m_bLimitChildCount; // 0x5b0 }; // Alignment: 2 // Size: 0x200 -class C_OP_FadeInSimple : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_FadeInSimple : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "proportional fade in time" - float m_flFadeInTime; // 0x1f0 + float m_flFadeInTime; // 0x1f0 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 }; // Alignment: 2 // Size: 0x200 -class C_OP_NormalizeVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_NormalizeVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x1f4 }; // Alignment: 4 // Size: 0x210 -class C_INIT_RandomAlpha : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomAlpha : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "alpha min" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMin; // 0x1f4 + int32_t m_nAlphaMin; // 0x1f4 // MPropertyFriendlyName "alpha max" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMax; // 0x1f8 + int32_t m_nAlphaMax; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x8]; // 0x1fc +public: // MPropertyFriendlyName "alpha random exponent" - float m_flAlphaRandExponent; // 0x204 + float m_flAlphaRandExponent; // 0x204 }; // Alignment: 10 // Size: 0xd40 -class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x200 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x204 // MPropertyFriendlyName "Output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c +public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_flInputMin; // 0x210 + CParticleCollectionFloatInput m_flInputMin; // 0x210 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_flInputMax; // 0x348 + CParticleCollectionFloatInput m_flInputMax; // 0x348 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x480 + CParticleCollectionFloatInput m_flOutputMin; // 0x480 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 // MPropertyFriendlyName "intersection height CP" - int32_t m_nHeightControlPointNumber; // 0x6f0 + int32_t m_nHeightControlPointNumber; // 0x6f0 +private: + [[maybe_unused]] uint8_t __pad06f4[0x4]; // 0x6f4 +public: // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x6f8 + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x6f8 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0xcc0 + char m_HitboxSetName[128]; // 0xcc0 }; // Alignment: 5 // Size: 0x330 -class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1f0 + CPerParticleFloatInput m_flForceScale; // 0x1f0 // MPropertyFriendlyName "rope shake" - bool m_bRopes; // 0x328 + bool m_bRopes; // 0x328 // MPropertyFriendlyName "limit rope impulses to Z" - bool m_bRopesZOnly; // 0x329 + bool m_bRopesZOnly; // 0x329 // MPropertyFriendlyName "explosions" - bool m_bExplosions; // 0x32a + bool m_bExplosions; // 0x32a // MPropertyFriendlyName "particle systems" - bool m_bParticles; // 0x32b + bool m_bParticles; // 0x32b }; -// Alignment: 0 -// Size: 0x5c8 -class CPerParticleVecInput : public CParticleVecInput -{ +// Alignment: 48 +// Size: 0x21d0 +class C_OP_RenderModels : public CParticleFunctionRenderer +{ public: - // no members available + // MPropertyFriendlyName "Only Render in effects bloom pass" + // MPropertySortPriority "1100" + bool m_bOnlyRenderInEffectsBloomPass; // 0x230 + // MPropertyFriendlyName "Only Render in effects water pass" + // MPropertySortPriority "1050" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffectsWaterPass; // 0x231 + // MPropertyFriendlyName "Use Mixed Resolution Rendering" + // MPropertySortPriority "1200" + bool m_bUseMixedResolutionRendering; // 0x232 + // MPropertyFriendlyName "Only Render in effects game overlay pass" + // MPropertySortPriority "1210" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffecsGameOverlay; // 0x233 +private: + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 +public: + // MPropertyFriendlyName "models" + // MParticleRequireDefaultArrayEntry + // MPropertyAutoExpandSelf + // MPropertySortPriority "775" + CUtlVector< ModelReference_t > m_ModelList; // 0x238 +private: + [[maybe_unused]] uint8_t __pad0250[0x4]; // 0x250 +public: + // MPropertyFriendlyName "bodygroup field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nBodyGroupField; // 0x254 + // MPropertyFriendlyName "submodel field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nSubModelField; // 0x258 + // MPropertyStartGroup "Orientation" + // MPropertyFriendlyName "ignore normal" + // MPropertySortPriority "750" + bool m_bIgnoreNormal; // 0x25c + // MPropertyFriendlyName "orient model z to normal" + // MPropertySortPriority "750" + // MPropertySuppressExpr "m_bIgnoreNormal" + bool m_bOrientZ; // 0x25d + // MPropertyFriendlyName "center mesh" + // MPropertySortPriority "750" + bool m_bCenterOffset; // 0x25e +private: + [[maybe_unused]] uint8_t __pad025f[0x1]; // 0x25f +public: + // MPropertyFriendlyName "model local offset" + // MPropertySortPriority "750" + CPerParticleVecInput m_vecLocalOffset; // 0x260 + // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" + // MPropertySortPriority "750" + CPerParticleVecInput m_vecLocalRotation; // 0x828 + // MPropertyStartGroup "Model Scale" + // MPropertyFriendlyName "ignore radius" + // MPropertySortPriority "700" + bool m_bIgnoreRadius; // 0xdf0 +private: + [[maybe_unused]] uint8_t __pad0df1[0x3]; // 0xdf1 +public: + // MPropertyFriendlyName "model scale CP" + // MPropertySortPriority "700" + int32_t m_nModelScaleCP; // 0xdf4 + // MPropertyFriendlyName "model component scale" + // MPropertySortPriority "700" + CPerParticleVecInput m_vecComponentScale; // 0xdf8 + // MPropertyFriendlyName "apply scales in local model space" + // MPropertySortPriority "700" + bool m_bLocalScale; // 0x13c0 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animated" + // MPropertySortPriority "500" + bool m_bAnimated; // 0x13c1 +private: + [[maybe_unused]] uint8_t __pad13c2[0x2]; // 0x13c2 +public: + // MPropertyFriendlyName "animation rate" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + float m_flAnimationRate; // 0x13c4 + // MPropertyFriendlyName "scale animation rate" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bScaleAnimationRate; // 0x13c8 + // MPropertyFriendlyName "force looping animations" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bForceLoopingAnimation; // 0x13c9 + // MPropertyFriendlyName "reset animation frame on stop" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bResetAnimOnStop; // 0x13ca + // MPropertyFriendlyName "set animation frame manually" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bManualAnimFrame; // 0x13cb + // MPropertyFriendlyName "animation rate scale field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + ParticleAttributeIndex_t m_nAnimationScaleField; // 0x13cc + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animation sequence field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "500" + ParticleAttributeIndex_t m_nAnimationField; // 0x13d0 + // MPropertyFriendlyName "manual animation frame field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" + ParticleAttributeIndex_t m_nManualFrameField; // 0x13d4 + // MPropertyFriendlyName "activity override" + // MPropertySuppressExpr "mod != dota" + // MPropertySortPriority "500" + char m_ActivityName[256]; // 0x13d8 + // MPropertyFriendlyName "sequence override" + // MPropertySuppressExpr "mod == dota" + // MPropertySortPriority "500" + char m_SequenceName[256]; // 0x14d8 + // MPropertyFriendlyName "Enable Cloth Simulation" + bool m_bEnableClothSimulation; // 0x15d8 +private: + [[maybe_unused]] uint8_t __pad15d9[0x7]; // 0x15d9 +public: + // MPropertyStartGroup "Material" + // MPropertyFriendlyName "material override" + // MPropertySortPriority "600" + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x15e0 + // MPropertyFriendlyName "override translucent materials" + // MPropertySortPriority "600" + bool m_bOverrideTranslucentMaterials; // 0x15e8 +private: + [[maybe_unused]] uint8_t __pad15e9[0x3]; // 0x15e9 +public: + // MPropertyFriendlyName "skin number" + // MPropertySortPriority "600" + int32_t m_nSkin; // 0x15ec + // MPropertyFriendlyName "skin override CP" + // MPropertySortPriority "600" + int32_t m_nSkinCP; // 0x15f0 +private: + [[maybe_unused]] uint8_t __pad15f4[0x4]; // 0x15f4 +public: + // MPropertyFriendlyName "material variables" + // MPropertyAutoExpandSelf + // MPropertySortPriority "600" + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x15f8 + // MPropertyStartGroup "Model Overrides" + // MPropertyFriendlyName "model LOD" + int32_t m_nLOD; // 0x1610 + // MPropertyFriendlyName "model override CP" + int32_t m_nModelCP; // 0x1614 + // MPropertyFriendlyName "model override economy loadout slot type" + char m_EconSlotName[256]; // 0x1618 + // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" + bool m_bOriginalModel; // 0x1718 + // MPropertyFriendlyName "suppress tinting of the model" + bool m_bSuppressTint; // 0x1719 + // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" + bool m_bUseRawMeshGroup; // 0x171a + // MPropertyFriendlyName "disable shadows" + bool m_bDisableShadows; // 0x171b + // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" + bool m_bForceDrawInterlevedWithSiblings; // 0x171c + // MPropertyFriendlyName "render attribute" + char m_szRenderAttribute[260]; // 0x171d +private: + [[maybe_unused]] uint8_t __pad1821[0x7]; // 0x1821 +public: + // MPropertyStartGroup "+Renderer Modifiers" + // MPropertyFriendlyName "Radius Scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRadiusScale; // 0x1828 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flAlphaScale; // 0x1960 + // MPropertyFriendlyName "rotation roll scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRollScale; // 0x1a98 + // MPropertyFriendlyName "per-particle alpha scale attribute" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "700" + ParticleAttributeIndex_t m_nAlpha2Field; // 0x1bd0 +private: + [[maybe_unused]] uint8_t __pad1bd4[0x4]; // 0x1bd4 +public: + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionVecInput m_vecColorScale; // 0x1bd8 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0x21a0 }; // Alignment: 3 // Size: 0x400 -class C_INIT_RandomModelSequence : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomModelSequence : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "activity" // MPropertySuppressExpr "mod != dota" - char[256] m_ActivityName; // 0x1f0 + char m_ActivityName[256]; // 0x1f0 // MPropertyFriendlyName "sequence" // MPropertySuppressExpr "mod == dota" - char[256] m_SequenceName; // 0x2f0 + char m_SequenceName[256]; // 0x2f0 // MPropertyFriendlyName "model" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x3f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x3f0 }; // Alignment: 6 // Size: 0x340 -class C_OP_DecayMaintainCount : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DecayMaintainCount : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1f0 + int32_t m_nParticlesToMaintain; // 0x1f0 // MPropertyFriendlyName "decay delay" - float m_flDecayDelay; // 0x1f4 + float m_flDecayDelay; // 0x1f4 // MPropertyFriendlyName "snapshot control point for count" - int32_t m_nSnapshotControlPoint; // 0x1f8 + int32_t m_nSnapshotControlPoint; // 0x1f8 // MPropertyFriendlyName "decay on lifespan" - bool m_bLifespanDecay; // 0x1fc + bool m_bLifespanDecay; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x200 + CParticleCollectionFloatInput m_flScale; // 0x200 // MPropertyFriendlyName "kill newest instead of oldest" - bool m_bKillNewest; // 0x338 + bool m_bKillNewest; // 0x338 }; // Alignment: 3 // Size: 0x2a0 -class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x200 + int32_t m_nControlPointNumber; // 0x200 // MPropertyFriendlyName "time-of-day parameter" - char[128] m_pszTimeOfDayParameter; // 0x204 + char m_pszTimeOfDayParameter[128]; // 0x204 // MPropertyFriendlyName "default value" - Vector m_vecDefaultValue; // 0x284 + Vector m_vecDefaultValue; // 0x284 }; // Alignment: 20 // Size: 0x3390 -class C_OP_RenderTrails : public CBaseTrailRenderer, CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderTrails : public CBaseTrailRenderer +{ public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x22e0 + bool m_bEnableFadingAndClamping; // 0x22e0 +private: + [[maybe_unused]] uint8_t __pad22e1[0x3]; // 0x22e1 +public: // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x22e4 + float m_flStartFadeDot; // 0x22e4 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x22e8 + float m_flEndFadeDot; // 0x22e8 // MPropertyStartGroup "+Trail Length" // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x22ec + ParticleAttributeIndex_t m_nPrevPntSource; // 0x22ec // MPropertyFriendlyName "max length" // MPropertySortPriority "800" - float m_flMaxLength; // 0x22f0 + float m_flMaxLength; // 0x22f0 // MPropertyFriendlyName "min length" // MPropertySortPriority "800" - float m_flMinLength; // 0x22f4 + float m_flMinLength; // 0x22f4 // MPropertyFriendlyName "ignore delta time" // MPropertySortPriority "800" - bool m_bIgnoreDT; // 0x22f8 + bool m_bIgnoreDT; // 0x22f8 +private: + [[maybe_unused]] uint8_t __pad22f9[0x3]; // 0x22f9 +public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySortPriority "800" - float m_flConstrainRadiusToLengthRatio; // 0x22fc + float m_flConstrainRadiusToLengthRatio; // 0x22fc // MPropertyFriendlyName "amount to scale trail length by" - float m_flLengthScale; // 0x2300 + float m_flLengthScale; // 0x2300 // MPropertyFriendlyName "how long before a trail grows to its full length" - float m_flLengthFadeInTime; // 0x2304 + float m_flLengthFadeInTime; // 0x2304 // MPropertyStartGroup "Trail Head & Tail" // MPropertyFriendlyName "head taper scale" // MPropertySortPriority "800" - CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2308 + CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2308 // MPropertyFriendlyName "head color scale" - CParticleCollectionVecInput m_vecHeadColorScale; // 0x2440 + CParticleCollectionVecInput m_vecHeadColorScale; // 0x2440 // MPropertyFriendlyName "head alpha scale" - CPerParticleFloatInput m_flHeadAlphaScale; // 0x2a08 + CPerParticleFloatInput m_flHeadAlphaScale; // 0x2a08 // MPropertyFriendlyName "tail taper scale" - CPerParticleFloatInput m_flRadiusTaper; // 0x2b40 + CPerParticleFloatInput m_flRadiusTaper; // 0x2b40 // MPropertyFriendlyName "tail color scale" - CParticleCollectionVecInput m_vecTailColorScale; // 0x2c78 + CParticleCollectionVecInput m_vecTailColorScale; // 0x2c78 // MPropertyFriendlyName "tail alpha scale" - CPerParticleFloatInput m_flTailAlphaScale; // 0x3240 + CPerParticleFloatInput m_flTailAlphaScale; // 0x3240 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "texture UV horizontal Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nHorizCropField; // 0x3378 + ParticleAttributeIndex_t m_nHorizCropField; // 0x3378 // MPropertyFriendlyName "texture UV vertical Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVertCropField; // 0x337c + ParticleAttributeIndex_t m_nVertCropField; // 0x337c // MPropertyFriendlyName "Trail forward shift (fraction)" - float m_flForwardShift; // 0x3380 + float m_flForwardShift; // 0x3380 // MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI" - bool m_bFlipUVBasedOnPitchYaw; // 0x3384 + bool m_bFlipUVBasedOnPitchYaw; // 0x3384 }; -// Alignment: 4 +// Alignment: 0 // Size: 0x240 -class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar +{ public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 - // MPropertyFriendlyName "output min name" - CUtlString m_outputMinName; // 0x228 - // MPropertyFriendlyName "output max name" - CUtlString m_outputMaxName; // 0x230 - bool m_bModelFromRenderer; // 0x238 + // no members available }; // Alignment: 8 // Size: 0x6f0 -class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x200 + int32_t m_nInputCP1; // 0x200 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x204 + int32_t m_nInputCP2; // 0x204 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x208 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x20c + int32_t m_nOutVectorField; // 0x20c // MPropertyFriendlyName "input minimum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMin; // 0x210 + CParticleCollectionFloatInput m_flInputMin; // 0x210 // MPropertyFriendlyName "input maximum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMax; // 0x348 + CParticleCollectionFloatInput m_flInputMax; // 0x348 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x480 + CParticleCollectionFloatInput m_flOutputMin; // 0x480 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 }; // Alignment: 3 // Size: 0x200 -class C_OP_OrientTo2dDirection : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_OrientTo2dDirection : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f0 + float m_flRotOffset; // 0x1f0 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1f4 + float m_flSpinStrength; // 0x1f4 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 }; // Alignment: 0 // Size: 0x1f0 -class CSpinUpdateBase : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SpinUpdate : public CSpinUpdateBase +{ public: // no members available }; -// Alignment: 60 -// Size: 0x2050 -class CBaseRendererSource2 : public CParticleFunctionRenderer, CParticleFunction -{ +// Alignment: 27 +// Size: 0x26c0 +class C_OP_RenderSprites : public CBaseRendererSource2 +{ public: - // MPropertyStartGroup "+Renderer Modifiers" - // MPropertyFriendlyName "radius scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x230 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x368 - // MPropertyFriendlyName "rotation roll scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x4a0 - // MPropertyFriendlyName "per-particle alpha scale attribute" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x5d8 - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x5e0 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xba8 - // MPropertyStartGroup "+Material" - // MPropertyFriendlyName "Shader" - // MPropertySortPriority "600" - SpriteCardShaderType_t m_nShaderType; // 0xbac - // MPropertyFriendlyName "Custom Shader" - // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" - // MPropertySortPriority "600" - CUtlString m_strShaderOverride; // 0xbb0 - // MPropertyFriendlyName "X offset of center point" - // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterXOffset; // 0xbb8 - // MPropertyFriendlyName "Y offset of center point" - // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterYOffset; // 0xcf0 - // MPropertyFriendlyName "Bump Strength" - // MPropertySortPriority "600" - float m_flBumpStrength; // 0xe28 - // MPropertyFriendlyName "Sheet Crop Behavior" - // MPropertySortPriority "600" - ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xe2c - // MPropertyFriendlyName "Textures" - // MParticleRequireDefaultArrayEntry - // MPropertyAutoExpandSelf - // MPropertySortPriority "600" - CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xe30 // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animation rate" - // MPropertyAttributeRange "0 5" + // MPropertyFriendlyName "sequence id override" // MPropertySortPriority "500" - float m_flAnimationRate; // 0xe48 - // MPropertyFriendlyName "animation type" - // MPropertySortPriority "500" - AnimationType_t m_nAnimationType; // 0xe4c - // MPropertyFriendlyName "set animation value in FPS" - // MPropertySortPriority "500" - bool m_bAnimateInFPS; // 0xe50 + CParticleCollectionFloatInput m_nSequenceOverride; // 0x2050 + // MPropertyStartGroup "Orientation" + // MPropertyFriendlyName "orientation type" + // MPropertySortPriority "750" + ParticleOrientationChoiceList_t m_nOrientationType; // 0x2188 + // MPropertyFriendlyName "orientation control point" + // MPropertySortPriority "750" + // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" + int32_t m_nOrientationControlPoint; // 0x218c + // MPropertyFriendlyName "enable yaw for particles aligned to normals" + // MPropertySortPriority "750" + // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" + bool m_bUseYawWithNormalAligned; // 0x2190 +private: + [[maybe_unused]] uint8_t __pad2191[0x3]; // 0x2191 +public: + // MPropertyStartGroup "Fading and culling" + // MPropertyFriendlyName "minimum visual screen size" + // MPropertySortPriority "1000" + float m_flMinSize; // 0x2194 + // MPropertyFriendlyName "maximum visual screen size" + // MPropertySortPriority "1000" + float m_flMaxSize; // 0x2198 + // MPropertyFriendlyName "Factor to map size adjustment to alpha" + // MPropertySortPriority "1000" + float m_flAlphaAdjustWithSizeAdjust; // 0x219c + // MPropertyFriendlyName "screen size to start fading" + // MPropertySortPriority "1000" + CParticleCollectionFloatInput m_flStartFadeSize; // 0x21a0 + // MPropertyFriendlyName "screen size to fade away" + // MPropertySortPriority "1000" + CParticleCollectionFloatInput m_flEndFadeSize; // 0x22d8 + // MPropertyFriendlyName "start fade dot product of normal vs view" + // MPropertySortPriority "1000" + float m_flStartFadeDot; // 0x2410 + // MPropertyFriendlyName "end fade dot product of normal vs view" + // MPropertySortPriority "1000" + float m_flEndFadeDot; // 0x2414 + // MPropertyStartGroup "Distance to alpha coding" + // MPropertyFriendlyName "distance alpha" + // MPropertySortPriority "0" + bool m_bDistanceAlpha; // 0x2418 + // MPropertyFriendlyName "use soft edges for distance alpha" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bDistanceAlpha" + bool m_bSoftEdges; // 0x2419 +private: + [[maybe_unused]] uint8_t __pad241a[0x2]; // 0x241a +public: + // MPropertyFriendlyName "start value for soft edges for distance alpha" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bDistanceAlpha" + float m_flEdgeSoftnessStart; // 0x241c + // MPropertyFriendlyName "end value for soft edges for distance alpha" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bDistanceAlpha" + float m_flEdgeSoftnessEnd; // 0x2420 + // MPropertyStartGroup "Outlining" + // MPropertyFriendlyName "enable particle outlining" + // MPropertySortPriority "0" + bool m_bOutline; // 0x2424 + // MPropertyFriendlyName "outline color" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + Color m_OutlineColor; // 0x2425 +private: + [[maybe_unused]] uint8_t __pad2429[0x3]; // 0x2429 +public: + // MPropertyFriendlyName "outline alpha" + // MPropertyAttributeRange "0 255" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + int32_t m_nOutlineAlpha; // 0x242c + // MPropertyFriendlyName "outline start 0" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + float m_flOutlineStart0; // 0x2430 + // MPropertyFriendlyName "outline start 1" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + float m_flOutlineStart1; // 0x2434 + // MPropertyFriendlyName "outline end 0" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + float m_flOutlineEnd0; // 0x2438 + // MPropertyFriendlyName "outline end 1" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + float m_flOutlineEnd1; // 0x243c // MPropertyStartGroup "Lighting and Shadows" - // MPropertyFriendlyName "self illum amount" - // MPropertyAttributeRange "0 2" + // MPropertyFriendlyName "lighting mode" // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flSelfIllumAmount; // 0xe58 - // MPropertyFriendlyName "diffuse lighting amount" - // MPropertyAttributeRange "0 1" + // MPropertySuppressExpr "mod != hlx" + ParticleLightingQuality_t m_nLightingMode; // 0x2440 +private: + [[maybe_unused]] uint8_t __pad2444[0x4]; // 0x2444 +public: + // MPropertyFriendlyName "vertex lighting tessellation (0-5)" + // MPropertyAttributeRange "0 5" // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flDiffuseAmount; // 0xf90 - // MPropertyFriendlyName "diffuse lighting origin Control Point" + // MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX" + CParticleCollectionFloatInput m_flLightingTessellation; // 0x2448 + // MPropertyFriendlyName "lighting directionality" // MPropertySortPriority "400" - int32_t m_nLightingControlPoint; // 0x10c8 - // MPropertyFriendlyName "self illum per-particle" - // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySuppressExpr "mod != hlx" + CParticleCollectionFloatInput m_flLightingDirectionality; // 0x2580 + // MPropertyFriendlyName "Particle Shadows" // MPropertySortPriority "400" - ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x10cc - // MPropertyStartGroup "+Color and alpha adjustments" - // MPropertyFriendlyName "output blend mode" - // MPropertySortPriority "300" - ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x10d0 - // MPropertyFriendlyName "Gamma-correct vertex colors" - // MPropertySortPriority "300" - bool m_bGammaCorrectVertexColors; // 0x10d4 - // MPropertyFriendlyName "Saturate color pre alphablend" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod!=dota" - bool m_bSaturateColorPreAlphaBlend; // 0x10d5 - // MPropertyFriendlyName "add self amount over alphablend" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAddSelfAmount; // 0x10d8 - // MPropertyFriendlyName "desaturation amount" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flDesaturation; // 0x1210 - // MPropertyFriendlyName "overbright factor" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flOverbrightFactor; // 0x1348 - // MPropertyFriendlyName "HSV Shift Control Point" - // MPropertySortPriority "300" - int32_t m_nHSVShiftControlPoint; // 0x1480 - // MPropertyFriendlyName "Apply fog to particle" - // MPropertySortPriority "300" - ParticleFogType_t m_nFogType; // 0x1484 - // MPropertyFriendlyName "Apply fog of war to color" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod != dota" - bool m_bTintByFOW; // 0x1488 - // MPropertyFriendlyName "Apply global light to color" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod != dota" - bool m_bTintByGlobalLight; // 0x1489 - // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" - // MPropertyFriendlyName "alpha reference" - // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x148c - // MPropertyFriendlyName "alpha reference window size" - // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1490 - // MPropertyFriendlyName "alpha reference type" - // MPropertySortPriority "300" - ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1494 - // MPropertyFriendlyName "alpha reference softness" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0x1498 - // MPropertyFriendlyName "source alpha value to map to alpha of zero" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0x15d0 - // MPropertyFriendlyName "source alpha value to map to alpha of 1" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1708 - // MPropertyStartGroup "Refraction" - // MPropertyFriendlyName "refract background" - // MPropertySortPriority "200" - bool m_bRefract; // 0x1840 - // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - bool m_bRefractSolid; // 0x1841 - // MPropertyFriendlyName "refract amount" - // MPropertyAttributeRange "-2 2" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - CParticleCollectionFloatInput m_flRefractAmount; // 0x1848 - // MPropertyFriendlyName "refract blur radius" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - int32_t m_nRefractBlurRadius; // 0x1980 - // MPropertyFriendlyName "refract blur type" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - BlurFilterType_t m_nRefractBlurType; // 0x1984 - // MPropertyStartGroup - // MPropertyFriendlyName "Only Render in effects bloom pass" - // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x1988 - // MPropertyFriendlyName "Only Render in effects water pass" - // MPropertySortPriority "1050" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x1989 - // MPropertyFriendlyName "Use Mixed Resolution Rendering" - // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x198a - // MPropertyFriendlyName "Only Render in effects game overlay pass" - // MPropertySortPriority "1210" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x198b - // MPropertyStartGroup "Stencil" - // MPropertyFriendlyName "stencil test ID" - // MPropertySortPriority "0" - char[128] m_stencilTestID; // 0x198c - // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" - // MPropertySortPriority "0" - bool m_bStencilTestExclude; // 0x1a0c - // MPropertyFriendlyName "stencil write ID" - // MPropertySortPriority "0" - char[128] m_stencilWriteID; // 0x1a0d - // MPropertyFriendlyName "write stencil on z-buffer test success" - // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthPass; // 0x1a8d - // MPropertyFriendlyName "write stencil on z-buffer test failure" - // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthFail; // 0x1a8e - // MPropertyStartGroup "Depth buffer control and effects" - // MPropertyFriendlyName "reverse z-buffer test" - // MPropertySortPriority "900" - bool m_bReverseZBuffering; // 0x1a8f - // MPropertyFriendlyName "disable z-buffer test" - // MPropertySortPriority "900" - bool m_bDisableZBuffering; // 0x1a90 - // MPropertyFriendlyName "Depth feathering mode" - // MPropertySortPriority "900" - ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1a94 - // MPropertyFriendlyName "particle feathering closest distance to surface" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1a98 - // MPropertyFriendlyName "particle feathering farthest distance to surface" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1bd0 - // MPropertyFriendlyName "particle feathering filter" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringFilter; // 0x1d08 - // MPropertyFriendlyName "depth comparison bias" - // MPropertySortPriority "900" - float m_flDepthBias; // 0x1e40 - // MPropertyFriendlyName "Sort Method" - // MPropertySortPriority "900" - ParticleSortingChoiceList_t m_nSortMethod; // 0x1e44 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "blend sequence animation frames" - // MPropertySortPriority "500" - bool m_bBlendFramesSeq0; // 0x1e48 - // MPropertyFriendlyName "use max-luminance blending for sequence" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bBlendFramesSeq0" - bool m_bMaxLuminanceBlendingSequence0; // 0x1e49 + bool m_bParticleShadows; // 0x26b8 +private: + [[maybe_unused]] uint8_t __pad26b9[0x3]; // 0x26b9 +public: + // MPropertyFriendlyName "Shadow Density" + // MPropertySortPriority "400" + // MPropertySuppressExpr "!m_bParticleShadows" + float m_flShadowDensity; // 0x26bc }; // Alignment: 5 // Size: 0x7e0 -class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point to sample wind" - int32_t m_nCP; // 0x200 + int32_t m_nCP; // 0x200 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x204 // MPropertyFriendlyName "wind scale" - CParticleCollectionVecInput m_vecScale; // 0x208 + CParticleCollectionVecInput m_vecScale; // 0x208 // MPropertyFriendlyName "set magnitude instead of vector" - bool m_bSetMagnitude; // 0x7d0 + bool m_bSetMagnitude; // 0x7d0 +private: + [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 +public: // MPropertyFriendlyName "magnitude output component" // MPropertyAttributeChoiceName "vector_component" // MPropertySuppressExpr "!m_bSetMagnitude" - int32_t m_nOutVectorField; // 0x7d4 + int32_t m_nOutVectorField; // 0x7d4 }; // Alignment: 11 // Size: 0x230 -class C_OP_TeleportBeam : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_TeleportBeam : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Position Control Point" - int32_t m_nCPPosition; // 0x1f0 + int32_t m_nCPPosition; // 0x1f0 // MPropertyFriendlyName "Velocity Control Point" - int32_t m_nCPVelocity; // 0x1f4 + int32_t m_nCPVelocity; // 0x1f4 // MPropertyFriendlyName "Misc Control Point" - int32_t m_nCPMisc; // 0x1f8 + int32_t m_nCPMisc; // 0x1f8 // MPropertyFriendlyName "Color Control Point" - int32_t m_nCPColor; // 0x1fc + int32_t m_nCPColor; // 0x1fc // MPropertyFriendlyName "Invalid Color Control Point" - int32_t m_nCPInvalidColor; // 0x200 + int32_t m_nCPInvalidColor; // 0x200 // MPropertyFriendlyName "Extra Arc Data Point" - int32_t m_nCPExtraArcData; // 0x204 + int32_t m_nCPExtraArcData; // 0x204 // MPropertyFriendlyName "Gravity" - Vector m_vGravity; // 0x208 + Vector m_vGravity; // 0x208 // MPropertyFriendlyName "Arc Duration Maximum" - float m_flArcMaxDuration; // 0x214 + float m_flArcMaxDuration; // 0x214 // MPropertyFriendlyName "Segment Break" - float m_flSegmentBreak; // 0x218 + float m_flSegmentBreak; // 0x218 // MPropertyFriendlyName "Arc Speed" - float m_flArcSpeed; // 0x21c + float m_flArcSpeed; // 0x21c // MPropertyFriendlyName "Alpha" - float m_flAlpha; // 0x220 + float m_flAlpha; // 0x220 }; // Alignment: 4 // Size: 0x210 -class C_OP_TwistAroundAxis : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_TwistAroundAxis : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "amount of force" - float m_fForceAmount; // 0x1f0 + float m_fForceAmount; // 0x1f0 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_TwistAxis; // 0x1f4 + Vector m_TwistAxis; // 0x1f4 // MPropertyFriendlyName "object local space axis 0/1" - bool m_bLocalSpace; // 0x200 + bool m_bLocalSpace; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 +public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x204 + int32_t m_nControlPointNumber; // 0x204 }; // Alignment: 7 // Size: 0x850 -class C_OP_ModelDampenMovement : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ModelDampenMovement : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x1f4 // MPropertyFriendlyName "dampen outside instead of inside" - bool m_bOutside; // 0x1f5 + bool m_bOutside; // 0x1f5 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x1f6 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x1f7 + char m_HitboxSetName[128]; // 0x1f7 +private: + [[maybe_unused]] uint8_t __pad0277[0x1]; // 0x277 +public: // MPropertyFriendlyName "test position offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecPosOffset; // 0x278 + CPerParticleVecInput m_vecPosOffset; // 0x278 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x840 + float m_fDrag; // 0x840 }; // Alignment: 7 // Size: 0x1010 -class C_INIT_VelocityRandom : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_VelocityRandom : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "random speed min" - CPerParticleFloatInput m_fSpeedMin; // 0x1f8 + CPerParticleFloatInput m_fSpeedMin; // 0x1f8 // MPropertyFriendlyName "random speed max" - CPerParticleFloatInput m_fSpeedMax; // 0x330 + CPerParticleFloatInput m_fSpeedMax; // 0x330 // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x468 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x468 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xa30 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xa30 // MPropertyFriendlyName "Ignore delta time (RenderTrails)" - bool m_bIgnoreDT; // 0xff8 + bool m_bIgnoreDT; // 0xff8 +private: + [[maybe_unused]] uint8_t __pad0ff9[0x3]; // 0xff9 +public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xffc + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xffc }; // Alignment: 4 // Size: 0x210 -class C_OP_PlaneCull : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PlaneCull : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point for point on plane" - int32_t m_nPlaneControlPoint; // 0x1f0 + int32_t m_nPlaneControlPoint; // 0x1f0 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneDirection; // 0x1f4 + Vector m_vecPlaneDirection; // 0x1f4 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x200 + bool m_bLocalSpace; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 +public: // MPropertyFriendlyName "cull plane offset" - float m_flPlaneOffset; // 0x204 + float m_flPlaneOffset; // 0x204 }; // Alignment: 0 // Size: 0x220 -class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement +{ public: // no members available }; // Alignment: 8 // Size: 0x210 -class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x1f0 + bool m_bProportional; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f1[0x3]; // 0x1f1 +public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x1fc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x200 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x204 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x208 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x20c + float m_flRemapTime; // 0x20c }; // Alignment: 5 // Size: 0x20 -struct ParticleChildrenInfo_t : public -{ +struct ParticleChildrenInfo_t +{ public: // MPropertySuppressField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_ChildRef; // 0x0 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_ChildRef; // 0x0 // MPropertyFriendlyName "delay" - float m_flDelay; // 0x8 + float m_flDelay; // 0x8 // MPropertyFriendlyName "end cap effect" - bool m_bEndCap; // 0xc + bool m_bEndCap; // 0xc // MPropertySuppressField - bool m_bDisableChild; // 0xd + bool m_bDisableChild; // 0xd +private: + [[maybe_unused]] uint8_t __pad000e[0x2]; // 0xe +public: // MPropertyFriendlyName "disable at detail levels below" - ParticleDetailLevel_t m_nDetailLevel; // 0x10 + ParticleDetailLevel_t m_nDetailLevel; // 0x10 }; // Alignment: 10 // Size: 0x1760 -class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "absolute value" // MVectorIsCoordinate - Vector m_vecAbsVal; // 0x1f0 + Vector m_vecAbsVal; // 0x1f0 // MPropertyFriendlyName "invert abs value" // MVectorIsCoordinate - Vector m_vecAbsValInv; // 0x1fc + Vector m_vecAbsValInv; // 0x1fc // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetLoc; // 0x208 + CPerParticleVecInput m_vecOffsetLoc; // 0x208 // MPropertyFriendlyName "time coordinate offset" - CPerParticleFloatInput m_flOffset; // 0x7d0 + CPerParticleFloatInput m_flOffset; // 0x7d0 // MPropertyFriendlyName "output minimum" - CPerParticleVecInput m_vecOutputMin; // 0x908 + CPerParticleVecInput m_vecOutputMin; // 0x908 // MPropertyFriendlyName "output maximum" - CPerParticleVecInput m_vecOutputMax; // 0xed0 + CPerParticleVecInput m_vecOutputMax; // 0xed0 // MPropertyFriendlyName "time noise coordinate scale" - CPerParticleFloatInput m_flNoiseScale; // 0x1498 + CPerParticleFloatInput m_flNoiseScale; // 0x1498 // MPropertyFriendlyName "spatial noise coordinate scale" - CPerParticleFloatInput m_flNoiseScaleLoc; // 0x15d0 + CPerParticleFloatInput m_flNoiseScaleLoc; // 0x15d0 // MPropertyFriendlyName "input local space velocity (optional)" // MParticleTransformInputOptional - CParticleTransformInput m_TransformInput; // 0x1708 + CParticleTransformInput m_TransformInput; // 0x1708 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x1758 + bool m_bIgnoreDt; // 0x1758 }; // Alignment: 4 // Size: 0x220 -class C_INIT_RandomVector : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomVector : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "min" // MVectorIsSometimesCoordinate - Vector m_vecMin; // 0x1f0 + Vector m_vecMin; // 0x1f0 // MPropertyFriendlyName "max" // MVectorIsSometimesCoordinate - Vector m_vecMax; // 0x1fc + Vector m_vecMax; // 0x1fc // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x208 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x20c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x20c }; // Alignment: 5 // Size: 0x480 -class C_OP_ConstrainDistance : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_ConstrainDistance : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "minimum distance" - CParticleCollectionFloatInput m_fMinDistance; // 0x1f0 + CParticleCollectionFloatInput m_fMinDistance; // 0x1f0 // MPropertyFriendlyName "maximum distance" - CParticleCollectionFloatInput m_fMaxDistance; // 0x328 + CParticleCollectionFloatInput m_fMaxDistance; // 0x328 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x460 + int32_t m_nControlPointNumber; // 0x460 // MPropertyFriendlyName "offset of center" // MVectorIsCoordinate - Vector m_CenterOffset; // 0x464 + Vector m_CenterOffset; // 0x464 // MPropertyFriendlyName "global center point" - bool m_bGlobalCenter; // 0x470 + bool m_bGlobalCenter; // 0x470 }; // Alignment: 8 // Size: 0x2a0 -class C_INIT_RtEnvCull : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RtEnvCull : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1f0 + Vector m_vecTestDir; // 0x1f0 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1fc + Vector m_vecTestNormal; // 0x1fc // MPropertyFriendlyName "use velocity for test direction" - bool m_bUseVelocity; // 0x208 + bool m_bUseVelocity; // 0x208 // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x209 + bool m_bCullOnMiss; // 0x209 // MPropertyFriendlyName "velocity test adjust lifespan" - bool m_bLifeAdjust; // 0x20a + bool m_bLifeAdjust; // 0x20a // MPropertyFriendlyName "ray trace environment name" - char[128] m_RtEnvName; // 0x20b + char m_RtEnvName[128]; // 0x20b +private: + [[maybe_unused]] uint8_t __pad028b[0x1]; // 0x28b +public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x28c + int32_t m_nRTEnvCP; // 0x28c // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x290 + int32_t m_nComponent; // 0x290 }; // Alignment: 18 // Size: 0x250 -class C_INIT_StatusEffect : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_StatusEffect : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "D_DETAIL_2" - Detail2Combo_t m_nDetail2Combo; // 0x1f0 + Detail2Combo_t m_nDetail2Combo; // 0x1f0 // MPropertyFriendlyName "$DETAIL2ROTATION" - float m_flDetail2Rotation; // 0x1f4 + float m_flDetail2Rotation; // 0x1f4 // MPropertyFriendlyName "$DETAIL2SCALE" - float m_flDetail2Scale; // 0x1f8 + float m_flDetail2Scale; // 0x1f8 // MPropertyFriendlyName "$DETAIL2BLENDFACTOR" - float m_flDetail2BlendFactor; // 0x1fc + float m_flDetail2BlendFactor; // 0x1fc // MPropertyFriendlyName "$COLORWARPINTENSITY" - float m_flColorWarpIntensity; // 0x200 + float m_flColorWarpIntensity; // 0x200 // MPropertyFriendlyName "$DIFFUSEWARPBLENDTOFULL" - float m_flDiffuseWarpBlendToFull; // 0x204 + float m_flDiffuseWarpBlendToFull; // 0x204 // MPropertyFriendlyName "$ENVMAPINTENSITY" - float m_flEnvMapIntensity; // 0x208 + float m_flEnvMapIntensity; // 0x208 // MPropertyFriendlyName "$AMBIENTSCALE" - float m_flAmbientScale; // 0x20c + float m_flAmbientScale; // 0x20c // MPropertyFriendlyName "$SPECULARCOLOR" - Color m_specularColor; // 0x210 + Color m_specularColor; // 0x210 // MPropertyFriendlyName "$SPECULARSCALE" - float m_flSpecularScale; // 0x214 + float m_flSpecularScale; // 0x214 // MPropertyFriendlyName "$SPECULAREXPONENT" - float m_flSpecularExponent; // 0x218 + float m_flSpecularExponent; // 0x218 // MPropertyFriendlyName "$SPECULAREXPONENTBLENDTOFULL" - float m_flSpecularExponentBlendToFull; // 0x21c + float m_flSpecularExponentBlendToFull; // 0x21c // MPropertyFriendlyName "$SPECULARBLENDTOFULL" - float m_flSpecularBlendToFull; // 0x220 + float m_flSpecularBlendToFull; // 0x220 // MPropertyFriendlyName "$RIMLIGHTCOLOR" - Color m_rimLightColor; // 0x224 + Color m_rimLightColor; // 0x224 // MPropertyFriendlyName "$RIMLIGHTSCALE" - float m_flRimLightScale; // 0x228 + float m_flRimLightScale; // 0x228 // MPropertyFriendlyName "$REFLECTIONSTINTBYBASEBLENDTONONE" - float m_flReflectionsTintByBaseBlendToNone; // 0x22c + float m_flReflectionsTintByBaseBlendToNone; // 0x22c // MPropertyFriendlyName "$METALNESSBLENDTOFULL" - float m_flMetalnessBlendToFull; // 0x230 + float m_flMetalnessBlendToFull; // 0x230 // MPropertyFriendlyName "$SELFILLUMBLENDTOFULL" - float m_flSelfIllumBlendToFull; // 0x234 + float m_flSelfIllumBlendToFull; // 0x234 }; // Alignment: 5 // Size: 0x230 -class C_OP_OscillateScalarSimple : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_OscillateScalarSimple : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "oscillation rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x1f0 // MPropertyFriendlyName "oscillation frequency" - float m_Frequency; // 0x1f4 + float m_Frequency; // 0x1f4 // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1f8 + ParticleAttributeIndex_t m_nField; // 0x1f8 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1fc + float m_flOscMult; // 0x1fc // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x200 + float m_flOscAdd; // 0x200 }; // Alignment: 2 // Size: 0x10 -struct ParticlePreviewBodyGroup_t : public -{ +struct ParticlePreviewBodyGroup_t +{ public: - CUtlString m_bodyGroupName; // 0x0 - int32_t m_nValue; // 0x8 + CUtlString m_bodyGroupName; // 0x0 + int32_t m_nValue; // 0x8 }; // Alignment: 2 // Size: 0x330 -class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f8 + CPerParticleFloatInput m_flInterpolation; // 0x1f8 }; // Alignment: 4 // Size: 0x200 -class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f8 + float m_flScale; // 0x1f8 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1fc + bool m_bNormalize; // 0x1fc }; // Alignment: 7 // Size: 0x210 -class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x1f0 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x1f4 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x1f8 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x1fc + int32_t m_nFirstSourcePoint; // 0x1fc // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x200 + bool m_bSetOrientation; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 +public: // MPropertyFriendlyName "orientation style" - ParticleOrientationSetMode_t m_nOrientationMode; // 0x204 + ParticleOrientationSetMode_t m_nOrientationMode; // 0x204 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x208 + ParticleParentSetMode_t m_nSetParent; // 0x208 }; -// Alignment: 18 -// Size: 0x44 -class CParticleVisibilityInputs : public -{ +// Alignment: 10 +// Size: 0x260 +class C_OP_RenderTreeShake : public CParticleFunctionRenderer +{ public: - // MPropertyFriendlyName "camera depth bias" - float m_flCameraBias; // 0x0 - // MPropertyFriendlyName "input control point number" - int32_t m_nCPin; // 0x4 - // MPropertyFriendlyName "input proxy radius" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flProxyRadius; // 0x8 - // MPropertyFriendlyName "input proxy visibility minimum" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flInputMin; // 0xc - // MPropertyFriendlyName "input proxy visibility maximum" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flInputMax; // 0x10 - // MPropertyFriendlyName "input proxy unsupported hardware fallback value" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flNoPixelVisibilityFallback; // 0x14 - // MPropertyFriendlyName "input distance minimum" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flDistanceInputMin; // 0x18 - // MPropertyFriendlyName "input distance maximum" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flDistanceInputMax; // 0x1c - // MPropertyFriendlyName "input dot minimum" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flDotInputMin; // 0x20 - // MPropertyFriendlyName "input dot maximum" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flDotInputMax; // 0x24 - // MPropertyFriendlyName "input dot use CP angles" - // MPropertySuppressExpr "m_nCPin == -1" - bool m_bDotCPAngles; // 0x28 - // MPropertyFriendlyName "input dot use Camera angles" - // MPropertySuppressExpr "m_nCPin == -1" - bool m_bDotCameraAngles; // 0x29 - // MPropertyFriendlyName "output alpha scale minimum" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flAlphaScaleMin; // 0x2c - // MPropertyFriendlyName "output alpha scale maximum" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flAlphaScaleMax; // 0x30 - // MPropertyFriendlyName "output radius scale minimum" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flRadiusScaleMin; // 0x34 - // MPropertyFriendlyName "output radius scale maximum" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flRadiusScaleMax; // 0x38 - // MPropertyFriendlyName "output radius FOV scale base" - // MPropertySuppressExpr "m_nCPin == -1" - float m_flRadiusScaleFOVBase; // 0x3c - // MPropertyFriendlyName "vr camera right eye" - // MParticleAdvancedField - bool m_bRightEye; // 0x40 + // MPropertyFriendlyName "peak strength" + float m_flPeakStrength; // 0x230 + // MPropertyFriendlyName "peak strength field override" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x234 + // MPropertyFriendlyName "radius" + float m_flRadius; // 0x238 + // MPropertyFriendlyName "strength field override" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x23c + // MPropertyFriendlyName "shake duration after end" + float m_flShakeDuration; // 0x240 + // MPropertyFriendlyName "amount of time taken to smooth between different shake parameters" + float m_flTransitionTime; // 0x244 + // MPropertyFriendlyName "Twist amount (-1..1)" + float m_flTwistAmount; // 0x248 + // MPropertyFriendlyName "Radial Amount (-1..1)" + float m_flRadialAmount; // 0x24c + // MPropertyFriendlyName "Control Point Orientation Amount (-1..1)" + float m_flControlPointOrientationAmount; // 0x250 + // MPropertyFriendlyName "Control Point for Orientation Amount" + int32_t m_nControlPointForLinearDirection; // 0x254 }; // Alignment: 12 // Size: 0x360 -class C_OP_RenderSound : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderSound : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x230 + float m_flDurationScale; // 0x230 // MPropertyFriendlyName "decibel level scale" - float m_flSndLvlScale; // 0x234 + float m_flSndLvlScale; // 0x234 // MPropertyFriendlyName "pitch scale" - float m_flPitchScale; // 0x238 + float m_flPitchScale; // 0x238 // MPropertyFriendlyName "volume scale" - float m_flVolumeScale; // 0x23c + float m_flVolumeScale; // 0x23c // MPropertyFriendlyName "decibel level field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSndLvlField; // 0x240 + ParticleAttributeIndex_t m_nSndLvlField; // 0x240 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x244 + ParticleAttributeIndex_t m_nDurationField; // 0x244 // MPropertyFriendlyName "pitch field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPitchField; // 0x248 + ParticleAttributeIndex_t m_nPitchField; // 0x248 // MPropertyFriendlyName "volume field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVolumeField; // 0x24c + ParticleAttributeIndex_t m_nVolumeField; // 0x24c // MPropertyFriendlyName "sound channel" // MPropertyAttributeChoiceName "sound_channel" - int32_t m_nChannel; // 0x250 + int32_t m_nChannel; // 0x250 // MPropertyFriendlyName "sound control point number" - int32_t m_nCPReference; // 0x254 + int32_t m_nCPReference; // 0x254 // MPropertyFriendlyName "sound" // MPropertyAttributeEditor "SoundPicker()" - char[256] m_pszSoundName; // 0x258 + char m_pszSoundName[256]; // 0x258 // MPropertyFriendlyName "suppress stop event" - bool m_bSuppressStopSoundEvent; // 0x358 + bool m_bSuppressStopSoundEvent; // 0x358 }; // Alignment: 19 // Size: 0x240 -class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "$SFXColorWarpAmount" - float m_flSFXColorWarpAmount; // 0x1f0 + float m_flSFXColorWarpAmount; // 0x1f0 // MPropertyFriendlyName "$SFXNormalAmount" - float m_flSFXNormalAmount; // 0x1f4 + float m_flSFXNormalAmount; // 0x1f4 // MPropertyFriendlyName "$SFXMetalnessAmount" - float m_flSFXMetalnessAmount; // 0x1f8 + float m_flSFXMetalnessAmount; // 0x1f8 // MPropertyFriendlyName "$SFXRoughnessAmount" - float m_flSFXRoughnessAmount; // 0x1fc + float m_flSFXRoughnessAmount; // 0x1fc // MPropertyFriendlyName "$SFXSelfIllumAmount" - float m_flSFXSelfIllumAmount; // 0x200 + float m_flSFXSelfIllumAmount; // 0x200 // MPropertyFriendlyName "$SFXTextureScale" - float m_flSFXSScale; // 0x204 + float m_flSFXSScale; // 0x204 // MPropertyFriendlyName "$SFXTextureScrollX" - float m_flSFXSScrollX; // 0x208 + float m_flSFXSScrollX; // 0x208 // MPropertyFriendlyName "$SFXTextureScrollY" - float m_flSFXSScrollY; // 0x20c + float m_flSFXSScrollY; // 0x20c // MPropertyFriendlyName "$SFXTextureScrollZ" - float m_flSFXSScrollZ; // 0x210 + float m_flSFXSScrollZ; // 0x210 // MPropertyFriendlyName "$SFXTextureOffsetX" - float m_flSFXSOffsetX; // 0x214 + float m_flSFXSOffsetX; // 0x214 // MPropertyFriendlyName "$SFXTextureOffsetY" - float m_flSFXSOffsetY; // 0x218 + float m_flSFXSOffsetY; // 0x218 // MPropertyFriendlyName "$SFXTextureOffsetZ" - float m_flSFXSOffsetZ; // 0x21c + float m_flSFXSOffsetZ; // 0x21c // MPropertyFriendlyName "D_DETAIL" - DetailCombo_t m_nDetailCombo; // 0x220 + DetailCombo_t m_nDetailCombo; // 0x220 // MPropertyFriendlyName "$SFXDetailAmount" - float m_flSFXSDetailAmount; // 0x224 + float m_flSFXSDetailAmount; // 0x224 // MPropertyFriendlyName "$SFXDetailTextureScale" - float m_flSFXSDetailScale; // 0x228 + float m_flSFXSDetailScale; // 0x228 // MPropertyFriendlyName "$SFXDetailTextureScrollX" - float m_flSFXSDetailScrollX; // 0x22c + float m_flSFXSDetailScrollX; // 0x22c // MPropertyFriendlyName "$SFXDetailTextureScrollY" - float m_flSFXSDetailScrollY; // 0x230 + float m_flSFXSDetailScrollY; // 0x230 // MPropertyFriendlyName "$SFXDetailTextureScrollZ" - float m_flSFXSDetailScrollZ; // 0x234 + float m_flSFXSDetailScrollZ; // 0x234 // MPropertyFriendlyName "$SFXUseModelUVs" - float m_flSFXSUseModelUVs; // 0x238 + float m_flSFXSUseModelUVs; // 0x238 }; // Alignment: 30 // Size: 0x2460 -class C_OP_RenderRopes : public CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderRopes : public CBaseRendererSource2 +{ public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x2050 + bool m_bEnableFadingAndClamping; // 0x2050 +private: + [[maybe_unused]] uint8_t __pad2051[0x3]; // 0x2051 +public: // MPropertyFriendlyName "minimum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMinSize; // 0x2054 + float m_flMinSize; // 0x2054 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMaxSize; // 0x2058 + float m_flMaxSize; // 0x2058 // MPropertyFriendlyName "start fade screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flStartFadeSize; // 0x205c + float m_flStartFadeSize; // 0x205c // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flEndFadeSize; // 0x2060 + float m_flEndFadeSize; // 0x2060 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2064 + float m_flStartFadeDot; // 0x2064 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2068 + float m_flEndFadeDot; // 0x2068 // MPropertyStartGroup "Rope Tesselation" // MPropertyFriendlyName "amount to taper the width of the trail end by" - float m_flRadiusTaper; // 0x206c + float m_flRadiusTaper; // 0x206c // MPropertyFriendlyName "minium number of quads per render segment" // MPropertySortPriority "850" - int32_t m_nMinTesselation; // 0x2070 + int32_t m_nMinTesselation; // 0x2070 // MPropertyFriendlyName "maximum number of quads per render segment" - int32_t m_nMaxTesselation; // 0x2074 + int32_t m_nMaxTesselation; // 0x2074 // MPropertyFriendlyName "tesselation resolution scale factor" - float m_flTessScale; // 0x2078 + float m_flTessScale; // 0x2078 +private: + [[maybe_unused]] uint8_t __pad207c[0x4]; // 0x207c +public: // MPropertyStartGroup "+Rope Global UV Controls" // MPropertyFriendlyName "global texture V World Size" // MPropertySortPriority "800" - CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x2080 + CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x2080 // MPropertyFriendlyName "global texture V Scroll Rate" - CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x21b8 + CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x21b8 // MPropertyFriendlyName "global texture V Offset" - CParticleCollectionFloatInput m_flTextureVOffset; // 0x22f0 + CParticleCollectionFloatInput m_flTextureVOffset; // 0x22f0 // MPropertyFriendlyName "global texture V Params CP" - int32_t m_nTextureVParamsCP; // 0x2428 + int32_t m_nTextureVParamsCP; // 0x2428 // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" - bool m_bClampV; // 0x242c + bool m_bClampV; // 0x242c +private: + [[maybe_unused]] uint8_t __pad242d[0x3]; // 0x242d +public: // MPropertyStartGroup "Rope Global UV Controls/CP Scaling" // MPropertyFriendlyName "scale CP start" - int32_t m_nScaleCP1; // 0x2430 + int32_t m_nScaleCP1; // 0x2430 // MPropertyFriendlyName "scale CP end" - int32_t m_nScaleCP2; // 0x2434 + int32_t m_nScaleCP2; // 0x2434 // MPropertyFriendlyName "scale V world size by CP distance" - float m_flScaleVSizeByControlPointDistance; // 0x2438 + float m_flScaleVSizeByControlPointDistance; // 0x2438 // MPropertyFriendlyName "scale V scroll rate by CP distance" - float m_flScaleVScrollByControlPointDistance; // 0x243c + float m_flScaleVScrollByControlPointDistance; // 0x243c // MPropertyFriendlyName "scale V offset by CP distance" - float m_flScaleVOffsetByControlPointDistance; // 0x2440 + float m_flScaleVOffsetByControlPointDistance; // 0x2440 +private: + [[maybe_unused]] uint8_t __pad2444[0x1]; // 0x2444 +public: // MPropertyStartGroup "Rope Global UV Controls" // MPropertyFriendlyName "Use scalar attribute for texture coordinate" - bool m_bUseScalarForTextureCoordinate; // 0x2445 + bool m_bUseScalarForTextureCoordinate; // 0x2445 +private: + [[maybe_unused]] uint8_t __pad2446[0x2]; // 0x2446 +public: // MPropertyFriendlyName "scalar to use for texture coordinate" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x2448 + ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x2448 // MPropertyFriendlyName "scale value to map attribute to texture coordinate" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - float m_flScalarAttributeTextureCoordScale; // 0x244c + float m_flScalarAttributeTextureCoordScale; // 0x244c // MPropertyStartGroup "Rope Order Controls" // MPropertyFriendlyName "reverse point order" // MPropertySortPriority "800" - bool m_bReverseOrder; // 0x2450 + bool m_bReverseOrder; // 0x2450 // MPropertyFriendlyName "Closed loop" - bool m_bClosedLoop; // 0x2451 + bool m_bClosedLoop; // 0x2451 +private: + [[maybe_unused]] uint8_t __pad2452[0x2]; // 0x2452 +public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation_type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2454 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x2454 // MPropertyFriendlyName "attribute to use for normal" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x2458 + ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x2458 // MPropertyStartGroup "Material" // MPropertyFriendlyName "draw as opaque" - bool m_bDrawAsOpaque; // 0x245c + bool m_bDrawAsOpaque; // 0x245c // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "generate normals for cylinder" - bool m_bGenerateNormals; // 0x245d + bool m_bGenerateNormals; // 0x245d }; // Alignment: 5 // Size: 0xca0 -class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "slack" - CPerParticleFloatInput m_flRestLength; // 0x1f0 + CPerParticleFloatInput m_flRestLength; // 0x1f0 // MPropertyFriendlyName "minimum segment length %" - CPerParticleFloatInput m_flMinDistance; // 0x328 + CPerParticleFloatInput m_flMinDistance; // 0x328 // MPropertyFriendlyName "maximum segment length %" - CPerParticleFloatInput m_flMaxDistance; // 0x460 + CPerParticleFloatInput m_flMaxDistance; // 0x460 // MPropertyFriendlyName "resting spacing" - CPerParticleFloatInput m_flRestingLength; // 0x598 + CPerParticleFloatInput m_flRestingLength; // 0x598 // MPropertyFriendlyName "anchor vector" - CPerParticleVecInput m_vecAnchorVector; // 0x6d0 + CPerParticleVecInput m_vecAnchorVector; // 0x6d0 }; // Alignment: 2 // Size: 0x200 -class C_OP_FadeOutSimple : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_FadeOutSimple : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "proportional fade out time" - float m_flFadeOutTime; // 0x1f0 + float m_flFadeOutTime; // 0x1f0 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 }; -// Alignment: 1 -// Size: 0x200 -class CParticleFunctionPreEmission : public CParticleFunctionOperator, CParticleFunction -{ +// Alignment: 7 +// Size: 0x220 +class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission +{ public: - // MPropertyFriendlyName "Run Only Once" - bool m_bRunOnce; // 0x1f0 + // MPropertyFriendlyName "input control point" + int32_t m_nInControlPointNumber; // 0x200 + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x204 + // MPropertyFriendlyName "output CP component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nField; // 0x208 + // MPropertyFriendlyName "input volume minimum in cubic units" + float m_flInputMin; // 0x20c + // MPropertyFriendlyName "input volume maximum in cubic units" + float m_flInputMax; // 0x210 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x214 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x218 }; // Alignment: 1 // Size: 0x4 -struct CollisionGroupContext_t : public -{ +struct CollisionGroupContext_t +{ public: - int32_t m_nCollisionGroupNumber; // 0x0 + int32_t m_nCollisionGroupNumber; // 0x0 }; // Alignment: 1 // Size: 0x240 -class C_OP_RemapTransformToVelocity : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapTransformToVelocity : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 }; // Alignment: 8 // Size: 0x220 -class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x200 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x204 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x208 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x20c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x210 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x218 // MPropertyFriendlyName "use delta of velocity instead of constant speed" - bool m_bUseDeltaV; // 0x21c + bool m_bUseDeltaV; // 0x21c }; // Alignment: 16 // Size: 0x840 -class C_OP_RenderDeferredLight : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderDeferredLight : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "projected texture use alpha test window" // MPropertySuppressExpr "!m_bUseTexture" - bool m_bUseAlphaTestWindow; // 0x230 + bool m_bUseAlphaTestWindow; // 0x230 // MPropertyFriendlyName "projected texture light" - bool m_bUseTexture; // 0x231 + bool m_bUseTexture; // 0x231 +private: + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 +public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "radius scale" // MPropertySortPriority "700" - float m_flRadiusScale; // 0x234 + float m_flRadiusScale; // 0x234 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - float m_flAlphaScale; // 0x238 + float m_flAlphaScale; // 0x238 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x23c + ParticleAttributeIndex_t m_nAlpha2Field; // 0x23c // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x240 + CParticleCollectionVecInput m_vecColorScale; // 0x240 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x808 + ParticleColorBlendType_t m_nColorBlendType; // 0x808 // MPropertyStartGroup // MPropertyFriendlyName "spotlight distance" - float m_flLightDistance; // 0x80c + float m_flLightDistance; // 0x80c // MPropertyFriendlyName "light start falloff" - float m_flStartFalloff; // 0x810 + float m_flStartFalloff; // 0x810 // MPropertyFriendlyName "spotlight distance falloff" - float m_flDistanceFalloff; // 0x814 + float m_flDistanceFalloff; // 0x814 // MPropertyFriendlyName "spotlight FoV" - float m_flSpotFoV; // 0x818 + float m_flSpotFoV; // 0x818 // MPropertyFriendlyName "projected texture alpha test point scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x81c + ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x81c // MPropertyFriendlyName "projected texture alpha test range scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x820 + ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x820 // MPropertyFriendlyName "projected texture alpha test sharpness scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x824 + ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x824 // MPropertyFriendlyName "texture" // MPropertySuppressExpr "!m_bUseTexture" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x828 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x828 // MPropertyFriendlyName "HSV Shift Control Point" - int32_t m_nHSVShiftControlPoint; // 0x830 + int32_t m_nHSVShiftControlPoint; // 0x830 }; // Alignment: 2 // Size: 0x200 -class C_OP_Decay : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_Decay : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Reduce rope popping on decay" - bool m_bRopeDecay; // 0x1f0 + bool m_bRopeDecay; // 0x1f0 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x1f1 + bool m_bForcePreserveParticleOrder; // 0x1f1 }; // Alignment: 2 // Size: 0x8 -struct Relationship_t : public -{ +struct Relationship_t +{ public: - Disposition_t disposition; // 0x0 - int32_t priority; // 0x4 -}; - -// Alignment: 2 -// Size: 0x80 -class CNavVolumeSphere : public CNavVolume -{ -public: - Vector m_vCenter; // 0x70 - float m_flRadius; // 0x7c -}; - -// Alignment: 0 -// Size: 0x98 -class CNavVolumeAll : public CNavVolumeVector, CNavVolume -{ -public: - // no members available -}; - -// Alignment: 3 -// Size: 0x28 -class CNetworkVelocityVector : public -{ -public: - // MNetworkBitCount "18" - // MNetworkMinValue "-4096" - // MNetworkMaxValue "4096" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkVelocityVector" - CNetworkedQuantizedFloat m_vecX; // 0x10 - // MNetworkBitCount "18" - // MNetworkMinValue "-4096" - // MNetworkMaxValue "4096" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkVelocityVector" - CNetworkedQuantizedFloat m_vecY; // 0x18 - // MNetworkBitCount "18" - // MNetworkMinValue "-4096" - // MNetworkMaxValue "4096" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkVelocityVector" - CNetworkedQuantizedFloat m_vecZ; // 0x20 -}; - -// Alignment: 6 -// Size: 0x14 -struct hudtextparms_t : public -{ -public: - Color color1; // 0x0 - Color color2; // 0x4 - uint8_t effect; // 0x8 - uint8_t channel; // 0x9 - float x; // 0xc - float y; // 0x10 -}; - -// Alignment: 0 -// Size: 0x8 -class IRagdoll : public -{ -public: - // no members available -}; - -// Alignment: 9 -// Size: 0x38 -struct CSAdditionalMatchStats_t : public CSAdditionalPerRoundStats_t -{ -public: - int32_t m_numRoundsSurvived; // 0x14 - int32_t m_maxNumRoundsSurvived; // 0x18 - int32_t m_numRoundsSurvivedTotal; // 0x1c - int32_t m_iRoundsWonWithoutPurchase; // 0x20 - int32_t m_iRoundsWonWithoutPurchaseTotal; // 0x24 - int32_t m_numFirstKills; // 0x28 - int32_t m_numClutchKills; // 0x2c - int32_t m_numPistolKills; // 0x30 - int32_t m_numSniperKills; // 0x34 -}; - -// Alignment: 0 -// Size: 0x64 -struct dynpitchvol_t : public dynpitchvol_base_t -{ -public: - // no members available -}; - -// Alignment: 2 -// Size: 0xb8 -class CNavVolumeBreadthFirstSearch : public CNavVolumeCalculatedVector, CNavVolume -{ -public: - Vector m_vStartPos; // 0xa0 - float m_flSearchDist; // 0xac -}; - -// Alignment: 0 -// Size: 0x90 -class CTeamplayRules : public CMultiplayRules, CGameRules -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x28 -class CEntitySubclassVDataBase : public -{ -public: - // no members available -}; - -// Alignment: 1 -// Size: 0x4 -struct ModelConfigHandle_t : public -{ -public: - uint32_t m_Value; // 0x0 -}; - -// Alignment: 5 -// Size: 0x14 -struct CSAdditionalPerRoundStats_t : public -{ -public: - int32_t m_numChickensKilled; // 0x0 - int32_t m_killsWhileBlind; // 0x4 - int32_t m_bombCarrierkills; // 0x8 - int32_t m_iBurnDamageInflicted; // 0xc - int32_t m_iDinks; // 0x10 -}; - -// Alignment: 5 -// Size: 0x240 -class CResponseQueue::CDeferredResponse : public -{ -public: - CResponseCriteriaSet m_contexts; // 0x10 - float m_fDispatchTime; // 0x40 - CHandle< CBaseEntity > m_hIssuer; // 0x44 - CRR_Response m_response; // 0x50 - bool m_bResponseValid; // 0x238 -}; - -// Alignment: 0 -// Size: 0x58 -class CBtNodeDecorator : public CBtNode -{ -public: - // no members available -}; - -// Alignment: 1 -// Size: 0x8 -class CFiringModeInt : public -{ -public: - int32[2] m_nValues; // 0x0 -}; - -// Alignment: 0 -// Size: 0x98 -class CNavVolumeCalculatedVector : public CNavVolume -{ -public: - // no members available -}; - -// Alignment: 1 -// Size: 0x98 -class CSingleplayRules : public CGameRules -{ -public: - bool m_bSinglePlayerGameEnding; // 0x90 -}; - -// Alignment: 1 -// Size: 0x20 -class CInButtonState : public -{ -public: - uint64[3] m_pButtonStates; // 0x8 -}; - -// Alignment: 4 -// Size: 0x18 -class CIronSightController : public -{ -public: - bool m_bIronSightAvailable; // 0x8 - float m_flIronSightAmount; // 0xc - float m_flIronSightAmountGained; // 0x10 - float m_flIronSightAmountBiased; // 0x14 -}; - -// Alignment: 1 -// Size: 0x20 -class CTakeDamageSummaryScopeGuard : public -{ -public: - CUtlVector< SummaryTakeDamageInfo_t* > m_vecSummaries; // 0x8 - static SummaryTakeDamageInfo_t &Get_EmptySummary(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CTakeDamageSummaryScopeGuard")->m_static_fields[0]->m_instance);}; -}; - -// Alignment: 1 -// Size: 0x70 -class CAI_ExpresserWithFollowup : public CAI_Expresser -{ -public: - ResponseFollowup* m_pPostponedFollowup; // 0x60 -}; - -// Alignment: 1 -// Size: 0x4 -struct ParticleIndex_t : public -{ -public: - int32_t m_Value; // 0x0 -}; - -// Alignment: 0 -// Size: 0x1 -class QuestProgress : public -{ -public: - // no members available + Disposition_t disposition; // 0x0 + int32_t priority; // 0x4 }; // Alignment: 0 // Size: 0x70 -class CNavVolume : public -{ -public: - // no members available -}; - -// Alignment: 1 -// Size: 0x78 -class CMultiplayer_Expresser : public CAI_ExpresserWithFollowup, CAI_Expresser -{ -public: - bool m_bAllowMultipleScenes; // 0x70 -}; - -// Alignment: 0 -// Size: 0x8 -class IEconItemInterface : public -{ -public: - // no members available -}; - -// Alignment: 2 -// Size: 0x18 -class Extent : public -{ -public: - Vector lo; // 0x0 - Vector hi; // 0xc -}; - -// Alignment: 0 -// Size: 0x58 -class CBtNodeComposite : public CBtNode -{ -public: - // no members available -}; - -// Alignment: 2 -// Size: 0x10 -class CRandSimTimer : public CSimpleSimTimer -{ -public: - float m_minInterval; // 0x8 - float m_maxInterval; // 0xc -}; - -// Alignment: 16 -// Size: 0xa0 -class CTakeDamageInfo : public -{ -public: - Vector m_vecDamageForce; // 0x8 - Vector m_vecDamagePosition; // 0x14 - Vector m_vecReportedPosition; // 0x20 - Vector m_vecDamageDirection; // 0x2c - CHandle< CBaseEntity > m_hInflictor; // 0x38 - CHandle< CBaseEntity > m_hAttacker; // 0x3c - CHandle< CBaseEntity > m_hAbility; // 0x40 - float m_flDamage; // 0x44 - int32_t m_bitsDamageType; // 0x48 - int32_t m_iDamageCustom; // 0x4c - AmmoIndex_t m_iAmmoType; // 0x50 - float m_flOriginalDamage; // 0x60 - TakeDamageFlags_t m_nDamageFlags; // 0x70 - int32_t m_nNumObjectsPenetrated; // 0x74 - HSCRIPT m_hScriptInstance; // 0x78 - bool m_bInTakeDamageFlow; // 0x98 - static CTakeDamageInfo &Get_EmptyInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CTakeDamageInfo")->m_static_fields[0]->m_instance);}; -}; - -// Alignment: 4 -// Size: 0x40 -class CConstantForceController : public -{ -public: - Vector m_linear; // 0xc - RotationVector m_angular; // 0x18 - Vector m_linearSave; // 0x24 - RotationVector m_angularSave; // 0x30 -}; - -// Alignment: 1 -// Size: 0x4 -struct AnimationUpdateListHandle_t : public -{ -public: - uint32_t m_Value; // 0x0 -}; - -// Alignment: 10 -// Size: 0x1e8 -class CRR_Response : public -{ -public: - uint8_t m_Type; // 0x0 - char[192] m_szResponseName; // 0x1 - char[128] m_szMatchingRule; // 0xc1 - ResponseParams m_Params; // 0x148 - float m_fMatchScore; // 0x168 - char* m_szSpeakerContext; // 0x170 - char* m_szWorldContext; // 0x178 - ResponseFollowup m_Followup; // 0x180 - CUtlVector< CUtlSymbol > m_pchCriteriaNames; // 0x1b8 - CUtlVector< char* > m_pchCriteriaValues; // 0x1d0 -}; - -// Alignment: 4 -// Size: 0xb8 -struct SummaryTakeDamageInfo_t : public -{ -public: - int32_t nSummarisedCount; // 0x0 - CTakeDamageInfo info; // 0x8 - CTakeDamageResult result; // 0xa8 - CHandle< CBaseEntity > hTarget; // 0xb0 -}; - -// Alignment: 6 -// Size: 0x178 -class CBaseIssue : public -{ -public: - char[64] m_szTypeString; // 0x20 - char[260] m_szDetailsString; // 0x60 - int32_t m_iNumYesVotes; // 0x164 - int32_t m_iNumNoVotes; // 0x168 - int32_t m_iNumPotentialVotes; // 0x16c - CVoteController* m_pVoteController; // 0x170 -}; - -// Alignment: 1 -// Size: 0xc -class CSimTimer : public CSimpleSimTimer -{ -public: - float m_interval; // 0x8 -}; - -// Alignment: 4 -// Size: 0x20 -class CMotorController : public -{ -public: - float m_speed; // 0x8 - float m_maxTorque; // 0xc - Vector m_axis; // 0x10 - float m_inertiaFactor; // 0x1c -}; - -// Alignment: 2 -// Size: 0x50 -struct GameAmmoTypeInfo_t : public AmmoTypeInfo_t -{ -public: - int32_t m_nBuySize; // 0x38 - int32_t m_nCost; // 0x3c -}; - -// Alignment: 9 -// Size: 0x9 -struct HullFlags_t : public -{ -public: - bool m_bHull_Human; // 0x0 - bool m_bHull_SmallCentered; // 0x1 - bool m_bHull_WideHuman; // 0x2 - bool m_bHull_Tiny; // 0x3 - bool m_bHull_Medium; // 0x4 - bool m_bHull_TinyCentered; // 0x5 - bool m_bHull_Large; // 0x6 - bool m_bHull_LargeCentered; // 0x7 - bool m_bHull_MediumTall; // 0x8 -}; - -// Alignment: 4 -// Size: 0x38 -struct ragdoll_t : public -{ -public: - CUtlVector< ragdollelement_t > list; // 0x0 - CUtlVector< int32 > boneIndex; // 0x18 - bool allowStretch; // 0x30 - bool unused; // 0x31 -}; - -// Alignment: 0 -// Size: 0x8 -class IHasAttributes : public -{ -public: - // no members available -}; - -// Alignment: 5 -// Size: 0x20 -class CSmoothFunc : public -{ -public: - float m_flSmoothAmplitude; // 0x8 - float m_flSmoothBias; // 0xc - float m_flSmoothDuration; // 0x10 - float m_flSmoothRemainingTime; // 0x14 - int32_t m_nSmoothDir; // 0x18 -}; - -// Alignment: 2 -// Size: 0x28 -class CCopyRecipientFilter : public -{ -public: - int32_t m_Flags; // 0x8 - CUtlVector< CPlayerSlot > m_Recipients; // 0x10 -}; - -// Alignment: 1 -// Size: 0x8 -class CFiringModeFloat : public -{ -public: - float32[2] m_flValues; // 0x0 -}; - -// Alignment: 0 -// Size: 0x58 -class CBtNode : public -{ -public: - // no members available -}; - -// Alignment: 3 -// Size: 0x20 -struct locksound_t : public -{ -public: - CUtlSymbolLarge sLockedSound; // 0x8 - CUtlSymbolLarge sUnlockedSound; // 0x10 - GameTime_t flwaitSound; // 0x18 -}; - -// Alignment: 13 -// Size: 0x90 -class CSoundPatch : public -{ -public: - CSoundEnvelope m_pitch; // 0x8 - CSoundEnvelope m_volume; // 0x18 - float m_shutdownTime; // 0x30 - float m_flLastTime; // 0x34 - CUtlSymbolLarge m_iszSoundScriptName; // 0x38 - CHandle< CBaseEntity > m_hEnt; // 0x40 - CEntityIndex m_soundEntityIndex; // 0x44 - Vector m_soundOrigin; // 0x48 - int32_t m_isPlaying; // 0x54 - CCopyRecipientFilter m_Filter; // 0x58 - float m_flCloseCaptionDuration; // 0x80 - bool m_bUpdatedSoundOrigin; // 0x84 - CUtlSymbolLarge m_iszClassName; // 0x88 - static int32_t &Get_g_SoundPatchCount(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CSoundPatch")->m_static_fields[0]->m_instance);}; -}; - -// Alignment: 17 -// Size: 0x60 -class CSceneEventInfo : public -{ -public: - int32_t m_iLayer; // 0x0 - int32_t m_iPriority; // 0x4 - HSequence m_hSequence; // 0x8 - float m_flWeight; // 0xc - bool m_bIsMoving; // 0x10 - bool m_bHasArrived; // 0x11 - float m_flInitialYaw; // 0x14 - float m_flTargetYaw; // 0x18 - float m_flFacingYaw; // 0x1c - int32_t m_nType; // 0x20 - GameTime_t m_flNext; // 0x24 - bool m_bIsGesture; // 0x28 - bool m_bShouldRemove; // 0x29 - CHandle< CBaseEntity > m_hTarget; // 0x54 - uint32_t m_nSceneEventId; // 0x58 - bool m_bClientSide; // 0x5c - bool m_bStarted; // 0x5d -}; - -// Alignment: 1 -// Size: 0x10 -class CSkillFloat : public -{ -public: - float32[4] m_pValue; // 0x0 -}; - -// Alignment: 4 -// Size: 0x20 -struct thinkfunc_t : public -{ -public: - HSCRIPT m_hFn; // 0x8 - CUtlStringToken m_nContext; // 0x10 - GameTick_t m_nNextThinkTick; // 0x14 - GameTick_t m_nLastThinkTick; // 0x18 -}; - -// Alignment: 1 -// Size: 0x10 -class CSkillInt : public -{ -public: - int32[4] m_pValue; // 0x0 -}; - -// Alignment: 3 -// Size: 0x30 -class CHintMessageQueue : public -{ -public: - float m_tmMessageEnd; // 0x8 - CUtlVector< CHintMessage* > m_messages; // 0x10 - CBasePlayerController* m_pPlayerController; // 0x28 -}; - -// Alignment: 2 -// Size: 0x90 -class CGameRules : public -{ -public: - char[128] m_szQuestName; // 0x8 - int32_t m_nQuestPhase; // 0x88 -}; - -// Alignment: 1 -// Size: 0x10 -struct magnetted_objects_t : public -{ -public: - CHandle< CBaseEntity > hEntity; // 0x8 -}; - -// Alignment: 3 -// Size: 0x28 -class CNetworkOriginQuantizedVector : public -{ -public: - // MNetworkBitCount "19" - // MNetworkMinValue "-16384" - // MNetworkMaxValue "16384" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkOriginQuantizedVector" - CNetworkedQuantizedFloat m_vecX; // 0x10 - // MNetworkBitCount "19" - // MNetworkMinValue "-16384" - // MNetworkMaxValue "16384" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkOriginQuantizedVector" - CNetworkedQuantizedFloat m_vecY; // 0x18 - // MNetworkBitCount "19" - // MNetworkMinValue "-16384" - // MNetworkMaxValue "16384" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkOriginQuantizedVector" - CNetworkedQuantizedFloat m_vecZ; // 0x20 -}; - -// Alignment: 7 -// Size: 0x30 -class CNetworkOriginCellCoordQuantizedVector : public -{ -public: - // MNetworkEnable - // MNetworkChangeCallback "OnCellChanged" - // MNetworkPriority "31" - // MNetworkSerializer "cellx" - uint16_t m_cellX; // 0x10 - // MNetworkEnable - // MNetworkChangeCallback "OnCellChanged" - // MNetworkPriority "31" - // MNetworkSerializer "celly" - uint16_t m_cellY; // 0x12 - // MNetworkEnable - // MNetworkChangeCallback "OnCellChanged" - // MNetworkPriority "31" - // MNetworkSerializer "cellz" - uint16_t m_cellZ; // 0x14 - // MNetworkEnable - uint16_t m_nOutsideWorld; // 0x16 - // MNetworkBitCount "15" - // MNetworkMinValue "0" - // MNetworkMaxValue "1024" - // MNetworkEncodeFlags - // MNetworkChangeCallback "OnCellChanged" - // MNetworkPriority "31" - // MNetworkSerializer "posx" - CNetworkedQuantizedFloat m_vecX; // 0x18 - // MNetworkBitCount "15" - // MNetworkMinValue "0" - // MNetworkMaxValue "1024" - // MNetworkEncodeFlags - // MNetworkChangeCallback "OnCellChanged" - // MNetworkPriority "31" - // MNetworkSerializer "posy" - CNetworkedQuantizedFloat m_vecY; // 0x20 - // MNetworkBitCount "15" - // MNetworkMinValue "0" - // MNetworkMaxValue "1024" - // MNetworkEncodeFlags - // MNetworkChangeCallback "OnCellChanged" - // MNetworkPriority "31" - // MNetworkSerializer "posz" - CNetworkedQuantizedFloat m_vecZ; // 0x28 -}; - -// Alignment: 3 -// Size: 0x28 -struct ragdollelement_t : public -{ -public: - Vector originParentSpace; // 0x0 - int32_t parentIndex; // 0x20 - float m_flRadius; // 0x24 -}; - -// Alignment: 12 -// Size: 0x50 -struct CommandToolCommand_t : public -{ -public: - bool m_bEnabled; // 0x0 - bool m_bOpened; // 0x1 - uint32_t m_InternalId; // 0x4 - CUtlString m_ShortName; // 0x8 - CommandExecMode_t m_ExecMode; // 0x10 - CUtlString m_SpawnGroup; // 0x18 - float m_PeriodicExecDelay; // 0x20 - CommandEntitySpecType_t m_SpecType; // 0x24 - CUtlString m_EntitySpec; // 0x28 - CUtlString m_Commands; // 0x30 - DebugOverlayBits_t m_SetDebugBits; // 0x38 - DebugOverlayBits_t m_ClearDebugBits; // 0x40 -}; - -// Alignment: 30 -// Size: 0xc0 -class CShatterGlassShard : public -{ -public: - uint32_t m_hShardHandle; // 0x8 - CUtlVector< Vector2D > m_vecPanelVertices; // 0x10 - Vector2D m_vLocalPanelSpaceOrigin; // 0x28 - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x30 - CHandle< CShatterGlassShardPhysics > m_hPhysicsEntity; // 0x38 - CHandle< CFuncShatterglass > m_hParentPanel; // 0x3c - uint32_t m_hParentShard; // 0x40 - ShatterGlassStressType m_ShatterStressType; // 0x44 - Vector m_vecStressVelocity; // 0x48 - bool m_bCreatedModel; // 0x54 - float m_flLongestEdge; // 0x58 - float m_flShortestEdge; // 0x5c - float m_flLongestAcross; // 0x60 - float m_flShortestAcross; // 0x64 - float m_flSumOfAllEdges; // 0x68 - float m_flArea; // 0x6c - OnFrame m_nOnFrameEdge; // 0x70 - int32_t m_nParentPanelsNthShard; // 0x74 - int32_t m_nSubShardGeneration; // 0x78 - Vector2D m_vecAverageVertPosition; // 0x7c - bool m_bAverageVertPositionIsValid; // 0x84 - Vector2D m_vecPanelSpaceStressPositionA; // 0x88 - Vector2D m_vecPanelSpaceStressPositionB; // 0x90 - bool m_bStressPositionAIsValid; // 0x98 - bool m_bStressPositionBIsValid; // 0x99 - bool m_bFlaggedForRemoval; // 0x9a - GameTime_t m_flPhysicsEntitySpawnedAtTime; // 0x9c - bool m_bShatterRateLimited; // 0xa0 - CHandle< CBaseEntity > m_hEntityHittingMe; // 0xa4 - CUtlVector< uint32 > m_vecNeighbors; // 0xa8 -}; - -// Alignment: 0 -// Size: 0xc -class CSimpleStopwatch : public CStopwatchBase, CSimpleSimTimer -{ -public: - // no members available -}; - -// Alignment: 5 -// Size: 0x20 -class CGameChoreoServices : public IChoreoServices -{ -public: - CHandle< CBaseAnimGraph > m_hOwner; // 0x8 - CHandle< CScriptedSequence > m_hScriptedSequence; // 0xc - IChoreoServices::ScriptState_t m_scriptState; // 0x10 - IChoreoServices::ChoreoState_t m_choreoState; // 0x14 - GameTime_t m_flTimeStartedState; // 0x18 -}; - -// Alignment: 2 -// Size: 0x1f0 -struct ConceptHistory_t : public -{ -public: - float timeSpoken; // 0x0 - CRR_Response m_response; // 0x8 -}; - -// Alignment: 2 -// Size: 0x14 -class CRandStopwatch : public CStopwatchBase, CSimpleSimTimer -{ -public: - float m_minInterval; // 0xc - float m_maxInterval; // 0x10 -}; - -// Alignment: 1 -// Size: 0x8 -class CRangeInt : public -{ -public: - int32[2] m_pValue; // 0x0 -}; - -// Alignment: 2 -// Size: 0x10 -struct RagdollCreationParams_t : public -{ -public: - Vector m_vForce; // 0x0 - int32_t m_nForceBone; // 0xc -}; - -// Alignment: 3 -// Size: 0x20 -class CNavLinkMovementVData : public -{ -public: - // MPropertyFriendlyName "Is Interpolated" - // MPropertyDescription "Indicates that the animation has a segment that's interpolated. In general using this on navlinks that traverse +/- 50% of the recommended distance should look okay." - bool m_bIsInterpolated; // 0x0 - // MPropertyFriendlyName "Recommended Distance" - // MPropertyDescription "Recommended distance this movement traverses" - uint32_t m_unRecommendedDistance; // 0x4 - // MPropertyFriendlyName "Animgraph Variables" - // MPropertyDescription "List of animgraph variables to use when moving through this navlink. Can include multiple, with different amounts of angular slack. The most permissive animgraph variable that exists on the entity's animgraph will be used," - // MPropertyAutoExpandSelf - CUtlVector< CNavLinkAnimgraphVar > m_vecAnimgraphVars; // 0x8 -}; - -// Alignment: 1 -// Size: 0x1a0 -class CNetworkTransmitComponent : public -{ -public: - uint8_t m_nTransmitStateOwnedCounter; // 0x16c - static int32_t &Get_s_nDebugStateChange(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_s_nWatchTransmitEntity(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[1]->m_instance);}; - static bool &Get_s_bUseNetworkVars(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[2]->m_instance);}; - static bool &Get_s_bNetworkVarPerFieldTracking(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[3]->m_instance);}; - static bool &Get_s_bNetworkVarValidate(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[4]->m_instance);}; - static bool &Get_s_bUsingPVSConvars(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[5]->m_instance);}; -}; - -// Alignment: 2 -// Size: 0x10 -class CNavLinkAnimgraphVar : public -{ -public: - // MPropertyFriendlyName "Animgraph Variable" - // MPropertyDescription "Animgraph variable to use for animation for this movement." - CUtlString m_strAnimgraphVar; // 0x0 - // MPropertyFriendlyName "Alignment Degrees" - // MPropertyDescription "Amount of angular slack the animation has when aligning to the navlink. 0 indicates that it must be strictly aligned." - uint32_t m_unAlignmentDegrees; // 0x8 -}; - -// Alignment: 5 -// Size: 0x38 -struct AmmoTypeInfo_t : public -{ -public: - int32_t m_nMaxCarry; // 0x10 - CRangeInt m_nSplashSize; // 0x1c - AmmoFlags_t m_nFlags; // 0x24 - float m_flMass; // 0x28 - CRangeFloat m_flSpeed; // 0x2c -}; - -// Alignment: 8 -// Size: 0x31 -class ResponseFollowup : public -{ -public: - char* followup_concept; // 0x0 - char* followup_contexts; // 0x8 - float followup_delay; // 0x10 - char* followup_target; // 0x14 - char* followup_entityiotarget; // 0x1c - char* followup_entityioinput; // 0x24 - float followup_entityiodelay; // 0x2c - bool bFired; // 0x30 -}; - -// Alignment: 10 -// Size: 0x60 -class CCommentarySystem : public -{ -public: - bool m_bCommentaryConvarsChanging; // 0x11 - bool m_bCommentaryEnabledMidGame; // 0x12 - GameTime_t m_flNextTeleportTime; // 0x14 - int32_t m_iTeleportStage; // 0x18 - bool m_bCheatState; // 0x1c - bool m_bIsFirstSpawnGroupToLoad; // 0x1d - CHandle< CPointCommentaryNode > m_hCurrentNode; // 0x38 - CHandle< CPointCommentaryNode > m_hActiveCommentaryNode; // 0x3c - CHandle< CPointCommentaryNode > m_hLastCommentaryNode; // 0x40 - CUtlVector< CHandle< CPointCommentaryNode > > m_vecNodes; // 0x48 -}; - -// Alignment: 2 -// Size: 0x8 -class CTakeDamageResult : public -{ -public: - int32_t m_nHealthLost; // 0x0 - int32_t m_nDamageTaken; // 0x4 -}; - -// Alignment: 3 -// Size: 0x14 -class VelocitySampler : public -{ -public: - Vector m_prevSample; // 0x0 - GameTime_t m_fPrevSampleTime; // 0xc - float m_fIdealSampleRate; // 0x10 -}; - -// Alignment: 1 -// Size: 0x18 -class CPhysicsShake : public -{ -public: - Vector m_force; // 0x8 -}; - -// Alignment: 0 -// Size: 0x90 -class CMultiplayRules : public CGameRules -{ +class CNavVolume +{ public: // no members available }; @@ -24404,358 +25111,1355 @@ public: // Alignment: 1 // Size: 0x98 class CNavVolumeVector : public CNavVolume -{ +{ public: - bool m_bHasBeenPreFiltered; // 0x78 + bool m_bHasBeenPreFiltered; // 0x78 +}; + +// Alignment: 3 +// Size: 0x28 +class CNetworkVelocityVector +{ +public: + // MNetworkBitCount "18" + // MNetworkMinValue "-4096" + // MNetworkMaxValue "4096" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkVelocityVector" + CNetworkedQuantizedFloat m_vecX; // 0x10 + // MNetworkBitCount "18" + // MNetworkMinValue "-4096" + // MNetworkMaxValue "4096" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkVelocityVector" + CNetworkedQuantizedFloat m_vecY; // 0x18 + // MNetworkBitCount "18" + // MNetworkMinValue "-4096" + // MNetworkMaxValue "4096" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkVelocityVector" + CNetworkedQuantizedFloat m_vecZ; // 0x20 +}; + +// Alignment: 6 +// Size: 0x14 +struct hudtextparms_t +{ +public: + Color color1; // 0x0 + Color color2; // 0x4 + uint8_t effect; // 0x8 + uint8_t channel; // 0x9 +private: + [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa +public: + float x; // 0xc + float y; // 0x10 +}; + +// Alignment: 0 +// Size: 0x8 +class IRagdoll +{ +public: + // no members available +}; + +// Alignment: 5 +// Size: 0x14 +struct CSAdditionalPerRoundStats_t +{ +public: + int32_t m_numChickensKilled; // 0x0 + int32_t m_killsWhileBlind; // 0x4 + int32_t m_bombCarrierkills; // 0x8 + int32_t m_iBurnDamageInflicted; // 0xc + int32_t m_iDinks; // 0x10 +}; + +// Alignment: 25 +// Size: 0x64 +struct dynpitchvol_base_t +{ +public: + int32_t preset; // 0x0 + int32_t pitchrun; // 0x4 + int32_t pitchstart; // 0x8 + int32_t spinup; // 0xc + int32_t spindown; // 0x10 + int32_t volrun; // 0x14 + int32_t volstart; // 0x18 + int32_t fadein; // 0x1c + int32_t fadeout; // 0x20 + int32_t lfotype; // 0x24 + int32_t lforate; // 0x28 + int32_t lfomodpitch; // 0x2c + int32_t lfomodvol; // 0x30 + int32_t cspinup; // 0x34 + int32_t cspincount; // 0x38 + int32_t pitch; // 0x3c + int32_t spinupsav; // 0x40 + int32_t spindownsav; // 0x44 + int32_t pitchfrac; // 0x48 + int32_t vol; // 0x4c + int32_t fadeinsav; // 0x50 + int32_t fadeoutsav; // 0x54 + int32_t volfrac; // 0x58 + int32_t lfofrac; // 0x5c + int32_t lfomult; // 0x60 +}; + +// Alignment: 0 +// Size: 0x98 +class CNavVolumeCalculatedVector : public CNavVolume +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x90 +class CGameRules +{ +public: + char m_szQuestName[128]; // 0x8 + int32_t m_nQuestPhase; // 0x88 +}; + +// Alignment: 0 +// Size: 0x28 +class CEntitySubclassVDataBase +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x4 +struct ModelConfigHandle_t +{ +public: + uint32_t m_Value; // 0x0 +}; + +// Alignment: 9 +// Size: 0x38 +struct CSAdditionalMatchStats_t : public CSAdditionalPerRoundStats_t +{ +public: + int32_t m_numRoundsSurvived; // 0x14 + int32_t m_maxNumRoundsSurvived; // 0x18 + int32_t m_numRoundsSurvivedTotal; // 0x1c + int32_t m_iRoundsWonWithoutPurchase; // 0x20 + int32_t m_iRoundsWonWithoutPurchaseTotal; // 0x24 + int32_t m_numFirstKills; // 0x28 + int32_t m_numClutchKills; // 0x2c + int32_t m_numPistolKills; // 0x30 + int32_t m_numSniperKills; // 0x34 +}; + +// Alignment: 8 +// Size: 0x31 +class ResponseFollowup +{ +public: + char* followup_concept; // 0x0 + char* followup_contexts; // 0x8 + float followup_delay; // 0x10 + char* followup_target; // 0x14 + char* followup_entityiotarget; // 0x1c + char* followup_entityioinput; // 0x24 + float followup_entityiodelay; // 0x2c + bool bFired; // 0x30 +}; + +// Alignment: 0 +// Size: 0x58 +class CBtNode +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x8 +class CFiringModeInt +{ +public: + int32_t m_nValues[2]; // 0x0 +}; + +// Alignment: 2 +// Size: 0xb8 +class CNavVolumeBreadthFirstSearch : public CNavVolumeCalculatedVector +{ +public: + Vector m_vStartPos; // 0xa0 + float m_flSearchDist; // 0xac +}; + +// Alignment: 0 +// Size: 0x90 +class CMultiplayRules : public CGameRules +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x20 +class CInButtonState +{ +public: + uint64_t m_pButtonStates[3]; // 0x8 +}; + +// Alignment: 4 +// Size: 0x18 +class CIronSightController +{ +public: + bool m_bIronSightAvailable; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x3]; // 0x9 +public: + float m_flIronSightAmount; // 0xc + float m_flIronSightAmountGained; // 0x10 + float m_flIronSightAmountBiased; // 0x14 +}; + +// Alignment: 1 +// Size: 0x20 +class CTakeDamageSummaryScopeGuard +{ +public: + CUtlVector< SummaryTakeDamageInfo_t* > m_vecSummaries; // 0x8 + static SummaryTakeDamageInfo_t &Get_EmptySummary(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CTakeDamageSummaryScopeGuard")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x4 +struct GameTime_t +{ +public: + float m_Value; // 0x0 + static GameTime_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GameTime_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x4 +struct ParticleIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 0 +// Size: 0x1 +class QuestProgress +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x80 +class CNavVolumeSphere : public CNavVolume +{ +public: + Vector m_vCenter; // 0x70 + float m_flRadius; // 0x7c +}; + +// Alignment: 9 +// Size: 0x60 +class CAI_Expresser +{ +public: + GameTime_t m_flStopTalkTime; // 0x38 + GameTime_t m_flStopTalkTimeWithoutDelay; // 0x3c + GameTime_t m_flBlockedTalkTime; // 0x40 + int32_t m_voicePitch; // 0x44 + GameTime_t m_flLastTimeAcceptedSpeak; // 0x48 + bool m_bAllowSpeakingInterrupts; // 0x4c + bool m_bConsiderSceneInvolvementAsSpeech; // 0x4d +private: + [[maybe_unused]] uint8_t __pad004e[0x2]; // 0x4e +public: + int32_t m_nLastSpokenPriority; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 +public: + CBaseFlex* m_pOuter; // 0x58 +}; + +// Alignment: 0 +// Size: 0x8 +class IEconItemInterface +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x18 +class Extent +{ +public: + Vector lo; // 0x0 + Vector hi; // 0xc +}; + +// Alignment: 0 +// Size: 0x58 +class CBtNodeComposite : public CBtNode +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x8 +class CSimpleSimTimer +{ +public: + GameTime_t m_next; // 0x0 + WorldGroupId_t m_nWorldGroupId; // 0x4 +}; + +// Alignment: 1 +// Size: 0x1 +struct AmmoIndex_t +{ +public: + int8_t m_Value; // 0x0 +}; + +// Alignment: 4 +// Size: 0x40 +class CConstantForceController +{ +public: + Vector m_linear; // 0xc + RotationVector m_angular; // 0x18 + Vector m_linearSave; // 0x24 + RotationVector m_angularSave; // 0x30 +}; + +// Alignment: 1 +// Size: 0x4 +struct AnimationUpdateListHandle_t +{ +public: + uint32_t m_Value; // 0x0 +}; + +// Alignment: 3 +// Size: 0x20 +class ResponseParams +{ +public: + int16_t odds; // 0x10 + int16_t flags; // 0x12 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + ResponseFollowup* m_pFollowup; // 0x18 +}; + +// Alignment: 2 +// Size: 0x8 +class CTakeDamageResult +{ +public: + int32_t m_nHealthLost; // 0x0 + int32_t m_nDamageTaken; // 0x4 +}; + +// Alignment: 6 +// Size: 0x178 +class CBaseIssue +{ +public: + char m_szTypeString[64]; // 0x20 + char m_szDetailsString[260]; // 0x60 + int32_t m_iNumYesVotes; // 0x164 + int32_t m_iNumNoVotes; // 0x168 + int32_t m_iNumPotentialVotes; // 0x16c + CVoteController* m_pVoteController; // 0x170 +}; + +// Alignment: 1 +// Size: 0xc +class CSimTimer : public CSimpleSimTimer +{ +public: + float m_interval; // 0x8 +}; + +// Alignment: 4 +// Size: 0x20 +class CMotorController +{ +public: + float m_speed; // 0x8 + float m_maxTorque; // 0xc + Vector m_axis; // 0x10 + float m_inertiaFactor; // 0x1c +}; + +// Alignment: 1 +// Size: 0x8 +class CRangeInt +{ +public: + int32_t m_pValue[2]; // 0x0 +}; + +// Alignment: 9 +// Size: 0x9 +struct HullFlags_t +{ +public: + bool m_bHull_Human; // 0x0 + bool m_bHull_SmallCentered; // 0x1 + bool m_bHull_WideHuman; // 0x2 + bool m_bHull_Tiny; // 0x3 + bool m_bHull_Medium; // 0x4 + bool m_bHull_TinyCentered; // 0x5 + bool m_bHull_Large; // 0x6 + bool m_bHull_LargeCentered; // 0x7 + bool m_bHull_MediumTall; // 0x8 +}; + +// Alignment: 4 +// Size: 0x38 +struct ragdoll_t +{ +public: + CUtlVector< ragdollelement_t > list; // 0x0 + CUtlVector< int32 > boneIndex; // 0x18 + bool allowStretch; // 0x30 + bool unused; // 0x31 +}; + +// Alignment: 0 +// Size: 0x8 +class IHasAttributes +{ +public: + // no members available +}; + +// Alignment: 5 +// Size: 0x20 +class CSmoothFunc +{ +public: + float m_flSmoothAmplitude; // 0x8 + float m_flSmoothBias; // 0xc + float m_flSmoothDuration; // 0x10 + float m_flSmoothRemainingTime; // 0x14 + int32_t m_nSmoothDir; // 0x18 +}; + +// Alignment: 2 +// Size: 0x28 +class CCopyRecipientFilter +{ +public: + int32_t m_Flags; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< CPlayerSlot > m_Recipients; // 0x10 +}; + +// Alignment: 1 +// Size: 0x8 +class CFiringModeFloat +{ +public: + float m_flValues[2]; // 0x0 +}; + +// Alignment: 0 +// Size: 0x58 +class CBtNodeDecorator : public CBtNode +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x20 +struct locksound_t +{ +public: + CUtlSymbolLarge sLockedSound; // 0x8 + CUtlSymbolLarge sUnlockedSound; // 0x10 + GameTime_t flwaitSound; // 0x18 +}; + +// Alignment: 4 +// Size: 0x10 +class CSoundEnvelope +{ +public: + float m_current; // 0x0 + float m_target; // 0x4 + float m_rate; // 0x8 + bool m_forceupdate; // 0xc +}; + +// Alignment: 17 +// Size: 0x60 +class CSceneEventInfo +{ +public: + int32_t m_iLayer; // 0x0 + int32_t m_iPriority; // 0x4 + HSequence m_hSequence; // 0x8 + float m_flWeight; // 0xc + bool m_bIsMoving; // 0x10 + bool m_bHasArrived; // 0x11 +private: + [[maybe_unused]] uint8_t __pad0012[0x2]; // 0x12 +public: + float m_flInitialYaw; // 0x14 + float m_flTargetYaw; // 0x18 + float m_flFacingYaw; // 0x1c + int32_t m_nType; // 0x20 + GameTime_t m_flNext; // 0x24 + bool m_bIsGesture; // 0x28 + bool m_bShouldRemove; // 0x29 +private: + [[maybe_unused]] uint8_t __pad002a[0x2a]; // 0x2a +public: + CHandle< CBaseEntity > m_hTarget; // 0x54 + uint32_t m_nSceneEventId; // 0x58 + bool m_bClientSide; // 0x5c + bool m_bStarted; // 0x5d +}; + +// Alignment: 1 +// Size: 0x10 +class CSkillFloat +{ +public: + float m_pValue[4]; // 0x0 +}; + +// Alignment: 1 +// Size: 0x4 +struct GameTick_t +{ +public: + int32_t m_Value; // 0x0 + static GameTick_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GameTick_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x10 +class CSkillInt +{ +public: + int32_t m_pValue[4]; // 0x0 +}; + +// Alignment: 3 +// Size: 0x30 +class CHintMessageQueue +{ +public: + float m_tmMessageEnd; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< CHintMessage* > m_messages; // 0x10 + CBasePlayerController* m_pPlayerController; // 0x28 +}; + +// Alignment: 1 +// Size: 0x98 +class CSingleplayRules : public CGameRules +{ +public: + bool m_bSinglePlayerGameEnding; // 0x90 +}; + +// Alignment: 1 +// Size: 0x10 +struct magnetted_objects_t +{ +public: + CHandle< CBaseEntity > hEntity; // 0x8 +}; + +// Alignment: 3 +// Size: 0x28 +class CNetworkOriginQuantizedVector +{ +public: + // MNetworkBitCount "19" + // MNetworkMinValue "-16384" + // MNetworkMaxValue "16384" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkOriginQuantizedVector" + CNetworkedQuantizedFloat m_vecX; // 0x10 + // MNetworkBitCount "19" + // MNetworkMinValue "-16384" + // MNetworkMaxValue "16384" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkOriginQuantizedVector" + CNetworkedQuantizedFloat m_vecY; // 0x18 + // MNetworkBitCount "19" + // MNetworkMinValue "-16384" + // MNetworkMaxValue "16384" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkOriginQuantizedVector" + CNetworkedQuantizedFloat m_vecZ; // 0x20 +}; + +// Alignment: 7 +// Size: 0x30 +class CNetworkOriginCellCoordQuantizedVector +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "OnCellChanged" + // MNetworkPriority "31" + // MNetworkSerializer "cellx" + uint16_t m_cellX; // 0x10 + // MNetworkEnable + // MNetworkChangeCallback "OnCellChanged" + // MNetworkPriority "31" + // MNetworkSerializer "celly" + uint16_t m_cellY; // 0x12 + // MNetworkEnable + // MNetworkChangeCallback "OnCellChanged" + // MNetworkPriority "31" + // MNetworkSerializer "cellz" + uint16_t m_cellZ; // 0x14 + // MNetworkEnable + uint16_t m_nOutsideWorld; // 0x16 + // MNetworkBitCount "15" + // MNetworkMinValue "0" + // MNetworkMaxValue "1024" + // MNetworkEncodeFlags + // MNetworkChangeCallback "OnCellChanged" + // MNetworkPriority "31" + // MNetworkSerializer "posx" + CNetworkedQuantizedFloat m_vecX; // 0x18 + // MNetworkBitCount "15" + // MNetworkMinValue "0" + // MNetworkMaxValue "1024" + // MNetworkEncodeFlags + // MNetworkChangeCallback "OnCellChanged" + // MNetworkPriority "31" + // MNetworkSerializer "posy" + CNetworkedQuantizedFloat m_vecY; // 0x20 + // MNetworkBitCount "15" + // MNetworkMinValue "0" + // MNetworkMaxValue "1024" + // MNetworkEncodeFlags + // MNetworkChangeCallback "OnCellChanged" + // MNetworkPriority "31" + // MNetworkSerializer "posz" + CNetworkedQuantizedFloat m_vecZ; // 0x28 +}; + +// Alignment: 3 +// Size: 0x28 +struct ragdollelement_t +{ +public: + Vector originParentSpace; // 0x0 + int32_t parentIndex; // 0x20 + float m_flRadius; // 0x24 +}; + +// Alignment: 12 +// Size: 0x50 +struct CommandToolCommand_t +{ +public: + bool m_bEnabled; // 0x0 + bool m_bOpened; // 0x1 +private: + [[maybe_unused]] uint8_t __pad0002[0x2]; // 0x2 +public: + uint32_t m_InternalId; // 0x4 + CUtlString m_ShortName; // 0x8 + CommandExecMode_t m_ExecMode; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CUtlString m_SpawnGroup; // 0x18 + float m_PeriodicExecDelay; // 0x20 + CommandEntitySpecType_t m_SpecType; // 0x24 + CUtlString m_EntitySpec; // 0x28 + CUtlString m_Commands; // 0x30 + DebugOverlayBits_t m_SetDebugBits; // 0x38 + DebugOverlayBits_t m_ClearDebugBits; // 0x40 +}; + +// Alignment: 30 +// Size: 0xc0 +class CShatterGlassShard +{ +public: + uint32_t m_hShardHandle; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< Vector2D > m_vecPanelVertices; // 0x10 + Vector2D m_vLocalPanelSpaceOrigin; // 0x28 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x30 + CHandle< CShatterGlassShardPhysics > m_hPhysicsEntity; // 0x38 + CHandle< CFuncShatterglass > m_hParentPanel; // 0x3c + uint32_t m_hParentShard; // 0x40 + ShatterGlassStressType m_ShatterStressType; // 0x44 +private: + [[maybe_unused]] uint8_t __pad0045[0x3]; // 0x45 +public: + Vector m_vecStressVelocity; // 0x48 + bool m_bCreatedModel; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 +public: + float m_flLongestEdge; // 0x58 + float m_flShortestEdge; // 0x5c + float m_flLongestAcross; // 0x60 + float m_flShortestAcross; // 0x64 + float m_flSumOfAllEdges; // 0x68 + float m_flArea; // 0x6c + OnFrame m_nOnFrameEdge; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 +public: + int32_t m_nParentPanelsNthShard; // 0x74 + int32_t m_nSubShardGeneration; // 0x78 + Vector2D m_vecAverageVertPosition; // 0x7c + bool m_bAverageVertPositionIsValid; // 0x84 +private: + [[maybe_unused]] uint8_t __pad0085[0x3]; // 0x85 +public: + Vector2D m_vecPanelSpaceStressPositionA; // 0x88 + Vector2D m_vecPanelSpaceStressPositionB; // 0x90 + bool m_bStressPositionAIsValid; // 0x98 + bool m_bStressPositionBIsValid; // 0x99 + bool m_bFlaggedForRemoval; // 0x9a +private: + [[maybe_unused]] uint8_t __pad009b[0x1]; // 0x9b +public: + GameTime_t m_flPhysicsEntitySpawnedAtTime; // 0x9c + bool m_bShatterRateLimited; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad00a1[0x3]; // 0xa1 +public: + CHandle< CBaseEntity > m_hEntityHittingMe; // 0xa4 + CUtlVector< uint32 > m_vecNeighbors; // 0xa8 }; // Alignment: 1 // Size: 0xc class CStopwatchBase : public CSimpleSimTimer -{ +{ public: - bool m_fIsRunning; // 0x8 -}; - -// Alignment: 25 -// Size: 0x64 -struct dynpitchvol_base_t : public -{ -public: - int32_t preset; // 0x0 - int32_t pitchrun; // 0x4 - int32_t pitchstart; // 0x8 - int32_t spinup; // 0xc - int32_t spindown; // 0x10 - int32_t volrun; // 0x14 - int32_t volstart; // 0x18 - int32_t fadein; // 0x1c - int32_t fadeout; // 0x20 - int32_t lfotype; // 0x24 - int32_t lforate; // 0x28 - int32_t lfomodpitch; // 0x2c - int32_t lfomodvol; // 0x30 - int32_t cspinup; // 0x34 - int32_t cspincount; // 0x38 - int32_t pitch; // 0x3c - int32_t spinupsav; // 0x40 - int32_t spindownsav; // 0x44 - int32_t pitchfrac; // 0x48 - int32_t vol; // 0x4c - int32_t fadeinsav; // 0x50 - int32_t fadeoutsav; // 0x54 - int32_t volfrac; // 0x58 - int32_t lfofrac; // 0x5c - int32_t lfomult; // 0x60 -}; - -// Alignment: 4 -// Size: 0x10 -class CSoundEnvelope : public -{ -public: - float m_current; // 0x0 - float m_target; // 0x4 - float m_rate; // 0x8 - bool m_forceupdate; // 0xc -}; - -// Alignment: 8 -// Size: 0x88 -class ConstraintSoundInfo : public -{ -public: - VelocitySampler m_vSampler; // 0x8 - SimpleConstraintSoundProfile m_soundProfile; // 0x20 - Vector m_forwardAxis; // 0x40 - CUtlSymbolLarge m_iszTravelSoundFwd; // 0x50 - CUtlSymbolLarge m_iszTravelSoundBack; // 0x58 - CUtlSymbolLarge[3] m_iszReversalSounds; // 0x68 - bool m_bPlayTravelSound; // 0x80 - bool m_bPlayReversalSound; // 0x81 -}; - -// Alignment: 1 -// Size: 0x4 -struct GameTick_t : public -{ -public: - int32_t m_Value; // 0x0 - static GameTick_t &Get_Zero(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GameTick_t")->m_static_fields[0]->m_instance);}; -}; - -// Alignment: 3 -// Size: 0x20 -class ResponseParams : public -{ -public: - int16_t odds; // 0x10 - int16_t flags; // 0x12 - ResponseFollowup* m_pFollowup; // 0x18 -}; - -// Alignment: 1 -// Size: 0x10 -class CStopwatch : public CStopwatchBase, CSimpleSimTimer -{ -public: - float m_interval; // 0xc + bool m_fIsRunning; // 0x8 }; // Alignment: 0 // Size: 0x8 -class IChoreoServices : public -{ +class IChoreoServices +{ public: - static uint32_t &Get_ms_uSequenceId(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("IChoreoServices")->m_static_fields[0]->m_instance);}; + static uint32_t &Get_ms_uSequenceId(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("IChoreoServices")->m_static_fields[0]->m_instance);}; // no members available }; -// Alignment: 9 -// Size: 0x60 -class CAI_Expresser : public -{ +// Alignment: 10 +// Size: 0x1e8 +class CRR_Response +{ public: - GameTime_t m_flStopTalkTime; // 0x38 - GameTime_t m_flStopTalkTimeWithoutDelay; // 0x3c - GameTime_t m_flBlockedTalkTime; // 0x40 - int32_t m_voicePitch; // 0x44 - GameTime_t m_flLastTimeAcceptedSpeak; // 0x48 - bool m_bAllowSpeakingInterrupts; // 0x4c - bool m_bConsiderSceneInvolvementAsSpeech; // 0x4d - int32_t m_nLastSpokenPriority; // 0x50 - CBaseFlex* m_pOuter; // 0x58 + uint8_t m_Type; // 0x0 + char m_szResponseName[192]; // 0x1 + char m_szMatchingRule[128]; // 0xc1 +private: + [[maybe_unused]] uint8_t __pad0141[0x7]; // 0x141 +public: + ResponseParams m_Params; // 0x148 + float m_fMatchScore; // 0x168 +private: + [[maybe_unused]] uint8_t __pad016c[0x4]; // 0x16c +public: + char* m_szSpeakerContext; // 0x170 + char* m_szWorldContext; // 0x178 + ResponseFollowup m_Followup; // 0x180 +private: + [[maybe_unused]] uint8_t __pad01b1[0x7]; // 0x1b1 +public: + CUtlVector< CUtlSymbol > m_pchCriteriaNames; // 0x1b8 + CUtlVector< char* > m_pchCriteriaValues; // 0x1d0 +}; + +// Alignment: 2 +// Size: 0x14 +class CRandStopwatch : public CStopwatchBase +{ +public: + float m_minInterval; // 0xc + float m_maxInterval; // 0x10 +}; + +// Alignment: 5 +// Size: 0x38 +struct AmmoTypeInfo_t +{ +public: + int32_t m_nMaxCarry; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x8]; // 0x14 +public: + CRangeInt m_nSplashSize; // 0x1c + AmmoFlags_t m_nFlags; // 0x24 + float m_flMass; // 0x28 + CRangeFloat m_flSpeed; // 0x2c +}; + +// Alignment: 2 +// Size: 0x10 +struct RagdollCreationParams_t +{ +public: + Vector m_vForce; // 0x0 + int32_t m_nForceBone; // 0xc +}; + +// Alignment: 3 +// Size: 0x20 +class CNavLinkMovementVData +{ +public: + // MPropertyFriendlyName "Is Interpolated" + // MPropertyDescription "Indicates that the animation has a segment that's interpolated. In general using this on navlinks that traverse +/- 50% of the recommended distance should look okay." + bool m_bIsInterpolated; // 0x0 + // MPropertyFriendlyName "Recommended Distance" + // MPropertyDescription "Recommended distance this movement traverses" + uint32_t m_unRecommendedDistance; // 0x4 + // MPropertyFriendlyName "Animgraph Variables" + // MPropertyDescription "List of animgraph variables to use when moving through this navlink. Can include multiple, with different amounts of angular slack. The most permissive animgraph variable that exists on the entity's animgraph will be used," + // MPropertyAutoExpandSelf + CUtlVector< CNavLinkAnimgraphVar > m_vecAnimgraphVars; // 0x8 +}; + +// Alignment: 1 +// Size: 0x1a0 +class CNetworkTransmitComponent +{ +public: + uint8_t m_nTransmitStateOwnedCounter; // 0x16c + static int32_t &Get_s_nDebugStateChange(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_s_nWatchTransmitEntity(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[1]->m_instance);}; + static bool &Get_s_bUseNetworkVars(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[2]->m_instance);}; + static bool &Get_s_bNetworkVarPerFieldTracking(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[3]->m_instance);}; + static bool &Get_s_bNetworkVarValidate(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[4]->m_instance);}; + static bool &Get_s_bUsingPVSConvars(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[5]->m_instance);}; +}; + +// Alignment: 2 +// Size: 0x10 +class CNavLinkAnimgraphVar +{ +public: + // MPropertyFriendlyName "Animgraph Variable" + // MPropertyDescription "Animgraph variable to use for animation for this movement." + CUtlString m_strAnimgraphVar; // 0x0 + // MPropertyFriendlyName "Alignment Degrees" + // MPropertyDescription "Amount of angular slack the animation has when aligning to the navlink. 0 indicates that it must be strictly aligned." + uint32_t m_unAlignmentDegrees; // 0x8 +}; + +// Alignment: 2 +// Size: 0x50 +struct GameAmmoTypeInfo_t : public AmmoTypeInfo_t +{ +public: + int32_t m_nBuySize; // 0x38 + int32_t m_nCost; // 0x3c }; // Alignment: 2 // Size: 0x30 -class CResponseCriteriaSet : public -{ +class CResponseCriteriaSet +{ public: - int32_t m_nNumPrefixedContexts; // 0x28 - bool m_bOverrideOnAppend; // 0x2c + int32_t m_nNumPrefixedContexts; // 0x28 + bool m_bOverrideOnAppend; // 0x2c +}; + +// Alignment: 10 +// Size: 0x60 +class CCommentarySystem +{ +public: + bool m_bCommentaryConvarsChanging; // 0x11 + bool m_bCommentaryEnabledMidGame; // 0x12 +private: + [[maybe_unused]] uint8_t __pad0013[0x1]; // 0x13 +public: + GameTime_t m_flNextTeleportTime; // 0x14 + int32_t m_iTeleportStage; // 0x18 + bool m_bCheatState; // 0x1c + bool m_bIsFirstSpawnGroupToLoad; // 0x1d +private: + [[maybe_unused]] uint8_t __pad001e[0x1a]; // 0x1e +public: + CHandle< CPointCommentaryNode > m_hCurrentNode; // 0x38 + CHandle< CPointCommentaryNode > m_hActiveCommentaryNode; // 0x3c + CHandle< CPointCommentaryNode > m_hLastCommentaryNode; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + CUtlVector< CHandle< CPointCommentaryNode > > m_vecNodes; // 0x48 +}; + +// Alignment: 16 +// Size: 0xa0 +class CTakeDamageInfo +{ +public: + Vector m_vecDamageForce; // 0x8 + Vector m_vecDamagePosition; // 0x14 + Vector m_vecReportedPosition; // 0x20 + Vector m_vecDamageDirection; // 0x2c + CHandle< CBaseEntity > m_hInflictor; // 0x38 + CHandle< CBaseEntity > m_hAttacker; // 0x3c + CHandle< CBaseEntity > m_hAbility; // 0x40 + float m_flDamage; // 0x44 + int32_t m_bitsDamageType; // 0x48 + int32_t m_iDamageCustom; // 0x4c + AmmoIndex_t m_iAmmoType; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0xf]; // 0x51 +public: + float m_flOriginalDamage; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0064[0xc]; // 0x64 +public: + TakeDamageFlags_t m_nDamageFlags; // 0x70 + int32_t m_nNumObjectsPenetrated; // 0x74 + HSCRIPT m_hScriptInstance; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0080[0x18]; // 0x80 +public: + bool m_bInTakeDamageFlow; // 0x98 + static CTakeDamageInfo &Get_EmptyInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CTakeDamageInfo")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 3 +// Size: 0x14 +class VelocitySampler +{ +public: + Vector m_prevSample; // 0x0 + GameTime_t m_fPrevSampleTime; // 0xc + float m_fIdealSampleRate; // 0x10 +}; + +// Alignment: 1 +// Size: 0x18 +class CPhysicsShake +{ +public: + Vector m_force; // 0x8 +}; + +// Alignment: 0 +// Size: 0x90 +class CTeamplayRules : public CMultiplayRules +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x98 +class CNavVolumeAll : public CNavVolumeVector +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0xc +class CSimpleStopwatch : public CStopwatchBase +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x64 +struct dynpitchvol_t : public dynpitchvol_base_t +{ +public: + // no members available +}; + +// Alignment: 13 +// Size: 0x90 +class CSoundPatch +{ +public: + CSoundEnvelope m_pitch; // 0x8 + CSoundEnvelope m_volume; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 +public: + float m_shutdownTime; // 0x30 + float m_flLastTime; // 0x34 + CUtlSymbolLarge m_iszSoundScriptName; // 0x38 + CHandle< CBaseEntity > m_hEnt; // 0x40 + CEntityIndex m_soundEntityIndex; // 0x44 + Vector m_soundOrigin; // 0x48 + int32_t m_isPlaying; // 0x54 + CCopyRecipientFilter m_Filter; // 0x58 + float m_flCloseCaptionDuration; // 0x80 + bool m_bUpdatedSoundOrigin; // 0x84 +private: + [[maybe_unused]] uint8_t __pad0085[0x3]; // 0x85 +public: + CUtlSymbolLarge m_iszClassName; // 0x88 + static int32_t &Get_g_SoundPatchCount(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CSoundPatch")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 3 +// Size: 0x20 +class SimpleConstraintSoundProfile +{ +public: + SimpleConstraintSoundProfile::SimpleConstraintsSoundProfileKeypoints_t eKeypoints; // 0x8 + float m_keyPoints[2]; // 0xc + float m_reversalSoundThresholds[3]; // 0x14 +}; + +// Alignment: 4 +// Size: 0x20 +struct thinkfunc_t +{ +public: + HSCRIPT m_hFn; // 0x8 + CUtlStringToken m_nContext; // 0x10 + GameTick_t m_nNextThinkTick; // 0x14 + GameTick_t m_nLastThinkTick; // 0x18 +}; + +// Alignment: 2 +// Size: 0x1f0 +struct ConceptHistory_t +{ +public: + float timeSpoken; // 0x0 + CRR_Response m_response; // 0x8 +}; + +// Alignment: 1 +// Size: 0x10 +class CStopwatch : public CStopwatchBase +{ +public: + float m_interval; // 0xc +}; + +// Alignment: 5 +// Size: 0x20 +class CGameChoreoServices : public IChoreoServices +{ +public: + CHandle< CBaseAnimGraph > m_hOwner; // 0x8 + CHandle< CScriptedSequence > m_hScriptedSequence; // 0xc + IChoreoServices::ScriptState_t m_scriptState; // 0x10 + IChoreoServices::ChoreoState_t m_choreoState; // 0x14 + GameTime_t m_flTimeStartedState; // 0x18 +}; + +// Alignment: 1 +// Size: 0x70 +class CAI_ExpresserWithFollowup : public CAI_Expresser +{ +public: + ResponseFollowup* m_pPostponedFollowup; // 0x60 +}; + +// Alignment: 5 +// Size: 0x240 +class CResponseQueue::CDeferredResponse +{ +public: + CResponseCriteriaSet m_contexts; // 0x10 + float m_fDispatchTime; // 0x40 + CHandle< CBaseEntity > m_hIssuer; // 0x44 +private: + [[maybe_unused]] uint8_t __pad0048[0x8]; // 0x48 +public: + CRR_Response m_response; // 0x50 + bool m_bResponseValid; // 0x238 }; // Alignment: 0 // Size: 0xd8 class CNavVolumeMarkupVolume : public CNavVolume -{ +{ public: // no members available }; // Alignment: 1 // Size: 0x10 -class CSkeletonAnimationController : public -{ +class CSkeletonAnimationController +{ public: // MNetworkDisable - CSkeletonInstance* m_pSkeletonInstance; // 0x8 + CSkeletonInstance* m_pSkeletonInstance; // 0x8 }; // Alignment: 16 // Size: 0x5c -class CGameScriptedMoveData : public -{ +class CGameScriptedMoveData +{ public: - Vector m_vDest; // 0x0 - Vector m_vSrc; // 0xc - QAngle m_angSrc; // 0x18 - QAngle m_angDst; // 0x24 - QAngle m_angCurrent; // 0x30 - float m_flAngRate; // 0x3c - float m_flDuration; // 0x40 - GameTime_t m_flStartTime; // 0x44 - MoveType_t m_nPrevMoveType; // 0x48 - bool m_bActive; // 0x49 - bool m_bTeleportOnEnd; // 0x4a - bool m_bIgnoreRotation; // 0x4b - ScriptedMoveType_t m_nType; // 0x4c - bool m_bSuccess; // 0x50 - ForcedCrouchState_t m_nForcedCrouchState; // 0x54 - bool m_bIgnoreCollisions; // 0x58 + Vector m_vDest; // 0x0 + Vector m_vSrc; // 0xc + QAngle m_angSrc; // 0x18 + QAngle m_angDst; // 0x24 + QAngle m_angCurrent; // 0x30 + float m_flAngRate; // 0x3c + float m_flDuration; // 0x40 + GameTime_t m_flStartTime; // 0x44 + MoveType_t m_nPrevMoveType; // 0x48 + bool m_bActive; // 0x49 + bool m_bTeleportOnEnd; // 0x4a + bool m_bIgnoreRotation; // 0x4b + ScriptedMoveType_t m_nType; // 0x4c + bool m_bSuccess; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + ForcedCrouchState_t m_nForcedCrouchState; // 0x54 + bool m_bIgnoreCollisions; // 0x58 }; // Alignment: 0 // Size: 0x120 -class CCSGOPlayerAnimGraphState : public -{ +class CCSGOPlayerAnimGraphState +{ public: // no members available }; // Alignment: 1 // Size: 0x40 -class CPlayerPawnComponent : public -{ +class CPlayerPawnComponent +{ public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 + CNetworkVarChainer __m_pChainEntity; // 0x8 }; // Alignment: 1 // Size: 0x88 -class CNavVolumeSphericalShell : public CNavVolumeSphere, CNavVolume -{ +class CNavVolumeSphericalShell : public CNavVolumeSphere +{ public: - float m_flRadiusInner; // 0x80 + float m_flRadiusInner; // 0x80 }; // Alignment: 3 // Size: 0x18 -struct ResponseContext_t : public -{ +struct ResponseContext_t +{ public: - CUtlSymbolLarge m_iszName; // 0x0 - CUtlSymbolLarge m_iszValue; // 0x8 - GameTime_t m_fExpirationTime; // 0x10 + CUtlSymbolLarge m_iszName; // 0x0 + CUtlSymbolLarge m_iszValue; // 0x8 + GameTime_t m_fExpirationTime; // 0x10 }; -// Alignment: 1 -// Size: 0x1 -struct AmmoIndex_t : public -{ +// Alignment: 4 +// Size: 0xb8 +struct SummaryTakeDamageInfo_t +{ public: - int8_t m_Value; // 0x0 + int32_t nSummarisedCount; // 0x0 + CTakeDamageInfo info; // 0x8 + CTakeDamageResult result; // 0xa8 + CHandle< CBaseEntity > hTarget; // 0xb0 }; // Alignment: 3 // Size: 0x28 -class CNetworkViewOffsetVector : public -{ +class CNetworkViewOffsetVector +{ public: // MNetworkBitCount "10" // MNetworkMinValue "-64" // MNetworkMaxValue "64" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkViewOffsetVector" - CNetworkedQuantizedFloat m_vecX; // 0x10 + CNetworkedQuantizedFloat m_vecX; // 0x10 // MNetworkBitCount "10" // MNetworkMinValue "-64" // MNetworkMaxValue "64" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkViewOffsetVector" - CNetworkedQuantizedFloat m_vecY; // 0x18 + CNetworkedQuantizedFloat m_vecY; // 0x18 // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "128" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkViewOffsetVector" - CNetworkedQuantizedFloat m_vecZ; // 0x20 + CNetworkedQuantizedFloat m_vecZ; // 0x20 }; // Alignment: 1 -// Size: 0x4 -struct GameTime_t : public -{ +// Size: 0x78 +class CMultiplayer_Expresser : public CAI_ExpresserWithFollowup +{ public: - float m_Value; // 0x0 - static GameTime_t &Get_Zero(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GameTime_t")->m_static_fields[0]->m_instance);}; + bool m_bAllowMultipleScenes; // 0x70 }; // Alignment: 2 // Size: 0x14 -class CSkillDamage : public -{ +class CSkillDamage +{ public: // MPropertyDescription "Damage Dealt (in the case of NPC vs NPC damage, medium skill is used)" - CSkillFloat m_flDamage; // 0x0 + CSkillFloat m_flDamage; // 0x0 // MPropertyDescription "If specified, the damage used to compute physics forces. Otherwise normal damage is used." - float m_flPhysicsForceDamage; // 0x10 + float m_flPhysicsForceDamage; // 0x10 }; // Alignment: 0 // Size: 0x8 -class IVehicle : public -{ +class IVehicle +{ public: // no members available }; // Alignment: 2 -// Size: 0x8 -class CSimpleSimTimer : public -{ +// Size: 0x10 +class CRandSimTimer : public CSimpleSimTimer +{ public: - GameTime_t m_next; // 0x0 - WorldGroupId_t m_nWorldGroupId; // 0x4 + float m_minInterval; // 0x8 + float m_maxInterval; // 0xc }; -// Alignment: 3 -// Size: 0x20 -class SimpleConstraintSoundProfile : public -{ +// Alignment: 8 +// Size: 0x88 +class ConstraintSoundInfo +{ public: - SimpleConstraintSoundProfile::SimpleConstraintsSoundProfileKeypoints_t eKeypoints; // 0x8 - float32[2] m_keyPoints; // 0xc - float32[3] m_reversalSoundThresholds; // 0x14 + VelocitySampler m_vSampler; // 0x8 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + SimpleConstraintSoundProfile m_soundProfile; // 0x20 + Vector m_forwardAxis; // 0x40 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + CUtlSymbolLarge m_iszTravelSoundFwd; // 0x50 + CUtlSymbolLarge m_iszTravelSoundBack; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0060[0x8]; // 0x60 +public: + CUtlSymbolLarge m_iszReversalSounds[3]; // 0x68 + bool m_bPlayTravelSound; // 0x80 + bool m_bPlayReversalSound; // 0x81 }; // Alignment: 6 // Size: 0x40 -struct lerpdata_t : public -{ +struct lerpdata_t +{ public: - CHandle< CBaseEntity > m_hEnt; // 0x0 - MoveType_t m_MoveType; // 0x4 - GameTime_t m_flStartTime; // 0x8 - Vector m_vecStartOrigin; // 0xc - Quaternion m_qStartRot; // 0x20 - ParticleIndex_t m_nFXIndex; // 0x30 + CHandle< CBaseEntity > m_hEnt; // 0x0 + MoveType_t m_MoveType; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + GameTime_t m_flStartTime; // 0x8 + Vector m_vecStartOrigin; // 0xc +private: + [[maybe_unused]] uint8_t __pad0018[0x8]; // 0x18 +public: + Quaternion m_qStartRot; // 0x20 + ParticleIndex_t m_nFXIndex; // 0x30 }; // Alignment: 2 // Size: 0xa0 -class CScriptUniformRandomStream : public -{ +class CScriptUniformRandomStream +{ public: - HSCRIPT m_hScriptScope; // 0x8 - int32_t m_nInitialSeed; // 0x9c - static CUtlVector< CScriptUniformRandomStream* > &Get_sm_UniformStreams(){ return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CScriptUniformRandomStream")->m_static_fields[0]->m_instance);}; + HSCRIPT m_hScriptScope; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0010[0x8c]; // 0x10 +public: + int32_t m_nInitialSeed; // 0x9c + static CUtlVector< CScriptUniformRandomStream* > &Get_sm_UniformStreams(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CScriptUniformRandomStream")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 // Size: 0x68 -class CResponseQueue : public -{ +class CResponseQueue +{ public: - CUtlVector< CAI_Expresser* > m_ExpresserTargets; // 0x50 + CUtlVector< CAI_Expresser* > m_ExpresserTargets; // 0x50 }; // Alignment: 12 // Size: 0x34 -class CSound : public -{ +class CSound +{ public: - CHandle< CBaseEntity > m_hOwner; // 0x0 - CHandle< CBaseEntity > m_hTarget; // 0x4 - int32_t m_iVolume; // 0x8 - float m_flOcclusionScale; // 0xc - int32_t m_iType; // 0x10 - int32_t m_iNextAudible; // 0x14 - GameTime_t m_flExpireTime; // 0x18 - int16_t m_iNext; // 0x1c - bool m_bNoExpirationTime; // 0x1e - int32_t m_ownerChannelIndex; // 0x20 - Vector m_vecOrigin; // 0x24 - bool m_bHasOwner; // 0x30 + CHandle< CBaseEntity > m_hOwner; // 0x0 + CHandle< CBaseEntity > m_hTarget; // 0x4 + int32_t m_iVolume; // 0x8 + float m_flOcclusionScale; // 0xc + int32_t m_iType; // 0x10 + int32_t m_iNextAudible; // 0x14 + GameTime_t m_flExpireTime; // 0x18 + int16_t m_iNext; // 0x1c + bool m_bNoExpirationTime; // 0x1e +private: + [[maybe_unused]] uint8_t __pad001f[0x1]; // 0x1f +public: + int32_t m_ownerChannelIndex; // 0x20 + Vector m_vecOrigin; // 0x24 + bool m_bHasOwner; // 0x30 }; // Alignment: 1 // Size: 0x40 -class CPlayerControllerComponent : public -{ +class CPlayerControllerComponent +{ public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 + CNetworkVarChainer __m_pChainEntity; // 0x8 }; // Alignment: 0 // Size: 0x8 -class CFootstepTableHandle : public -{ +class CFootstepTableHandle +{ public: // no members available }; @@ -24763,681 +26467,799 @@ public: // Alignment: 9 // Size: 0x80 class CRagdoll : public IRagdoll -{ +{ public: - ragdoll_t m_ragdoll; // 0x8 - Vector m_mins; // 0x40 - Vector m_maxs; // 0x4c - Vector m_origin; // 0x58 - float m_lastUpdate; // 0x64 - bool m_allAsleep; // 0x68 - Vector m_vecLastOrigin; // 0x6c - float m_flLastOriginChangeTime; // 0x78 - float m_flAwakeTime; // 0x7c - static uint32_t &Get_s_globalCount(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CRagdoll")->m_static_fields[0]->m_instance);}; + ragdoll_t m_ragdoll; // 0x8 + Vector m_mins; // 0x40 + Vector m_maxs; // 0x4c + Vector m_origin; // 0x58 + float m_lastUpdate; // 0x64 + bool m_allAsleep; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0069[0x3]; // 0x69 +public: + Vector m_vecLastOrigin; // 0x6c + float m_flLastOriginChangeTime; // 0x78 + float m_flAwakeTime; // 0x7c + static uint32_t &Get_s_globalCount(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CRagdoll")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 // Size: 0x30 -class CHintMessage : public -{ +class CHintMessage +{ public: - char* m_hintString; // 0x8 - CUtlVector< char* > m_args; // 0x10 - float m_duration; // 0x28 + char* m_hintString; // 0x8 + CUtlVector< char* > m_args; // 0x10 + float m_duration; // 0x28 }; // Alignment: 1 // Size: 0x10 -class CRemapFloat : public -{ +class CRemapFloat +{ public: - float32[4] m_pValue; // 0x0 + float m_pValue[4]; // 0x0 }; // Alignment: 2 // Size: 0x10 struct RelationshipOverride_t : public Relationship_t -{ +{ public: - CHandle< CBaseEntity > entity; // 0x8 - Class_T classType; // 0xc + CHandle< CBaseEntity > entity; // 0x8 + Class_T classType; // 0xc }; -// Alignment: 1 -// Size: 0x8 -class CRangeFloat : public -{ +// Alignment: 12 +// Size: 0x60 +struct MoodAnimationLayer_t +{ public: - float32[2] m_pValue; // 0x0 + // MPropertyFriendlyName "Name" + // MPropertyDescription "Name of the layer" + CUtlString m_sName; // 0x0 + // MPropertyFriendlyName "Active When Listening" + // MPropertyDescription "Sets the mood's animation buckets to be active when the character is listening" + bool m_bActiveListening; // 0x8 + // MPropertyFriendlyName "Active When Talking" + // MPropertyDescription "Sets the mood's animation buckets to be active when the character is talking" + bool m_bActiveTalking; // 0x9 +private: + [[maybe_unused]] uint8_t __pad000a[0x6]; // 0xa +public: + // MPropertyDescription "List of animations to choose from" + CUtlVector< MoodAnimation_t > m_layerAnimations; // 0x10 + // MPropertyDescription "Intensity of the animation" + // MPropertyAttributeRange "0 1" + CRangeFloat m_flIntensity; // 0x28 + // MPropertyDescription "Multiplier of the animation duration" + CRangeFloat m_flDurationScale; // 0x30 + // MPropertyDescription "When scaling an animation, grab the scale value as in int. Used for gestures/postures to control number of looping sections" + bool m_bScaleWithInts; // 0x38 +private: + [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 +public: + // MPropertyDescription "Time before the next animation can start" + CRangeFloat m_flNextStart; // 0x3c + // MPropertyDescription "Time from the start of the mood before an animation can start" + CRangeFloat m_flStartOffset; // 0x44 + // MPropertyDescription "Time from the end of the mood when an animation cannot play" + CRangeFloat m_flEndOffset; // 0x4c + // MPropertyDescription "Fade in time of the animation" + float m_flFadeIn; // 0x54 + // MPropertyDescription "Fade out time of the animation" + float m_flFadeOut; // 0x58 }; // Alignment: 4 // Size: 0x60 -struct CompositeMaterial_t : public -{ +struct CompositeMaterial_t +{ public: // MPropertyGroupName "Target Material" // MPropertyAttributeEditor "CompositeMaterialKVInspector" - KeyValues3 m_TargetKVs; // 0x8 + KeyValues3 m_TargetKVs; // 0x8 // MPropertyGroupName "Pre-Generated Output Material" // MPropertyAttributeEditor "CompositeMaterialKVInspector" - KeyValues3 m_PreGenerationKVs; // 0x18 + KeyValues3 m_PreGenerationKVs; // 0x18 // MPropertyGroupName "Generated Composite Material" // MPropertyAttributeEditor "CompositeMaterialKVInspector" - KeyValues3 m_FinalKVs; // 0x28 + KeyValues3 m_FinalKVs; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 +public: // MPropertyFriendlyName "Generated Textures" - CUtlVector< GeneratedTextureHandle_t > m_vecGeneratedTextures; // 0x40 + CUtlVector< GeneratedTextureHandle_t > m_vecGeneratedTextures; // 0x40 }; -// Alignment: 7 -// Size: 0xf8 -class C_LightGlowOverlay : public CGlowOverlay -{ +// Alignment: 15 +// Size: 0xd0 +class CGlowOverlay +{ public: - Vector m_vecOrigin; // 0xd0 - Vector m_vecDirection; // 0xdc - int32_t m_nMinDist; // 0xe8 - int32_t m_nMaxDist; // 0xec - int32_t m_nOuterMaxDist; // 0xf0 - bool m_bOneSided; // 0xf4 - bool m_bModulateByDot; // 0xf5 + Vector m_vPos; // 0x8 + bool m_bDirectional; // 0x14 +private: + [[maybe_unused]] uint8_t __pad0015[0x3]; // 0x15 +public: + Vector m_vDirection; // 0x18 + bool m_bInSky; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0025[0x3]; // 0x25 +public: + float m_skyObstructionScale; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CGlowSprite m_Sprites[4]; // 0x30 + int32_t m_nSprites; // 0xb0 + float m_flProxyRadius; // 0xb4 + float m_flHDRColorScale; // 0xb8 + float m_flGlowObstructionScale; // 0xbc + bool m_bCacheGlowObstruction; // 0xc0 + bool m_bCacheSkyObstruction; // 0xc1 + int16_t m_bActivated; // 0xc2 + uint16_t m_ListIndex; // 0xc4 +private: + [[maybe_unused]] uint8_t __pad00c6[0x2]; // 0xc6 +public: + int32_t m_queryHandle; // 0xc8 }; // Alignment: 4 // Size: 0x20 -struct CompositeMaterialMatchFilter_t : public -{ +struct CompositeMaterialMatchFilter_t +{ public: // MPropertyFriendlyName "Match Type" // MPropertyAttributeChoiceEnumName - CompositeMaterialMatchFilterType_t m_nCompositeMaterialMatchFilterType; // 0x0 + CompositeMaterialMatchFilterType_t m_nCompositeMaterialMatchFilterType; // 0x0 // MPropertyFriendlyName "Name" - CUtlString m_strMatchFilter; // 0x8 + CUtlString m_strMatchFilter; // 0x8 // MPropertyFriendlyName "Value" // MPropertyAttrStateCallback - CUtlString m_strMatchValue; // 0x10 + CUtlString m_strMatchValue; // 0x10 // MPropertyFriendlyName "Pass when True" - bool m_bPassWhenTrue; // 0x18 + bool m_bPassWhenTrue; // 0x18 }; // Alignment: 0 // Size: 0x8 -class IClientAlphaProperty : public -{ +class IClientAlphaProperty +{ public: // no members available }; // Alignment: 43 // Size: 0x4c0 -class CGlobalLightBase : public -{ +class CGlobalLightBase +{ public: - bool m_bSpotLight; // 0x10 - Vector m_SpotLightOrigin; // 0x14 - QAngle m_SpotLightAngles; // 0x20 - Vector m_ShadowDirection; // 0x2c - Vector m_AmbientDirection; // 0x38 - Vector m_SpecularDirection; // 0x44 - Vector m_InspectorSpecularDirection; // 0x50 - float m_flSpecularPower; // 0x5c - float m_flSpecularIndependence; // 0x60 - Color m_SpecularColor; // 0x64 - bool m_bStartDisabled; // 0x68 - bool m_bEnabled; // 0x69 - Color m_LightColor; // 0x6a - Color m_AmbientColor1; // 0x6e - Color m_AmbientColor2; // 0x72 - Color m_AmbientColor3; // 0x76 - float m_flSunDistance; // 0x7c - float m_flFOV; // 0x80 - float m_flNearZ; // 0x84 - float m_flFarZ; // 0x88 - bool m_bEnableShadows; // 0x8c - bool m_bOldEnableShadows; // 0x8d - bool m_bBackgroundClearNotRequired; // 0x8e - float m_flCloudScale; // 0x90 - float m_flCloud1Speed; // 0x94 - float m_flCloud1Direction; // 0x98 - float m_flCloud2Speed; // 0x9c - float m_flCloud2Direction; // 0xa0 - float m_flAmbientScale1; // 0xa4 - float m_flAmbientScale2; // 0xa8 - float m_flGroundScale; // 0xac - float m_flLightScale; // 0xb0 - float m_flFoWDarkness; // 0xb4 - bool m_bEnableSeparateSkyboxFog; // 0xb8 - Vector m_vFowColor; // 0xbc - Vector m_ViewOrigin; // 0xc8 - QAngle m_ViewAngles; // 0xd4 - float m_flViewFoV; // 0xe0 - Vector[8] m_WorldPoints; // 0xe4 - Vector2D m_vFogOffsetLayer0; // 0x4a8 - Vector2D m_vFogOffsetLayer1; // 0x4b0 - CHandle< C_BaseEntity > m_hEnvWind; // 0x4b8 - CHandle< C_BaseEntity > m_hEnvSky; // 0x4bc + bool m_bSpotLight; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 +public: + Vector m_SpotLightOrigin; // 0x14 + QAngle m_SpotLightAngles; // 0x20 + Vector m_ShadowDirection; // 0x2c + Vector m_AmbientDirection; // 0x38 + Vector m_SpecularDirection; // 0x44 + Vector m_InspectorSpecularDirection; // 0x50 + float m_flSpecularPower; // 0x5c + float m_flSpecularIndependence; // 0x60 + Color m_SpecularColor; // 0x64 + bool m_bStartDisabled; // 0x68 + bool m_bEnabled; // 0x69 + Color m_LightColor; // 0x6a + Color m_AmbientColor1; // 0x6e + Color m_AmbientColor2; // 0x72 + Color m_AmbientColor3; // 0x76 +private: + [[maybe_unused]] uint8_t __pad007a[0x2]; // 0x7a +public: + float m_flSunDistance; // 0x7c + float m_flFOV; // 0x80 + float m_flNearZ; // 0x84 + float m_flFarZ; // 0x88 + bool m_bEnableShadows; // 0x8c + bool m_bOldEnableShadows; // 0x8d + bool m_bBackgroundClearNotRequired; // 0x8e +private: + [[maybe_unused]] uint8_t __pad008f[0x1]; // 0x8f +public: + float m_flCloudScale; // 0x90 + float m_flCloud1Speed; // 0x94 + float m_flCloud1Direction; // 0x98 + float m_flCloud2Speed; // 0x9c + float m_flCloud2Direction; // 0xa0 + float m_flAmbientScale1; // 0xa4 + float m_flAmbientScale2; // 0xa8 + float m_flGroundScale; // 0xac + float m_flLightScale; // 0xb0 + float m_flFoWDarkness; // 0xb4 + bool m_bEnableSeparateSkyboxFog; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 +public: + Vector m_vFowColor; // 0xbc + Vector m_ViewOrigin; // 0xc8 + QAngle m_ViewAngles; // 0xd4 + float m_flViewFoV; // 0xe0 + Vector m_WorldPoints[8]; // 0xe4 +private: + [[maybe_unused]] uint8_t __pad0144[0x364]; // 0x144 +public: + Vector2D m_vFogOffsetLayer0; // 0x4a8 + Vector2D m_vFogOffsetLayer1; // 0x4b0 + CHandle< C_BaseEntity > m_hEnvWind; // 0x4b8 + CHandle< C_BaseEntity > m_hEnvSky; // 0x4bc }; // Alignment: 13 // Size: 0x30 class CClientAlphaProperty : public IClientAlphaProperty -{ +{ public: - uint8_t m_nRenderFX; // 0x10 - uint8_t m_nRenderMode; // 0x11 - uint8_t m_bAlphaOverride:1; // 0x0 - uint8_t m_bShadowAlphaOverride:1; // 0x0 - uint8_t m_nReserved:6; // 0x0 - uint8_t m_nAlpha; // 0x13 - uint16_t m_nDesyncOffset; // 0x14 - uint16_t m_nReserved2; // 0x16 - uint16_t m_nDistFadeStart; // 0x18 - uint16_t m_nDistFadeEnd; // 0x1a - float m_flFadeScale; // 0x1c - GameTime_t m_flRenderFxStartTime; // 0x20 - float m_flRenderFxDuration; // 0x24 + uint8_t m_nRenderFX; // 0x10 + uint8_t m_nRenderMode; // 0x11 + struct + { + uint8_t m_bAlphaOverride: 1; + uint8_t m_bShadowAlphaOverride: 1; + uint8_t m_nReserved: 6; + uint8_t __pad5: 8; + }; // 16 bits + uint8_t m_nAlpha; // 0x13 + uint16_t m_nDesyncOffset; // 0x14 + uint16_t m_nReserved2; // 0x16 + uint16_t m_nDistFadeStart; // 0x18 + uint16_t m_nDistFadeEnd; // 0x1a + float m_flFadeScale; // 0x1c + GameTime_t m_flRenderFxStartTime; // 0x20 + float m_flRenderFxDuration; // 0x24 }; // Alignment: 3 // Size: 0x38 -class CCompositeMaterialEditorDoc : public -{ +class CCompositeMaterialEditorDoc +{ public: - int32_t m_nVersion; // 0x8 - CUtlVector< CompositeMaterialEditorPoint_t > m_Points; // 0x10 - KeyValues3 m_KVthumbnail; // 0x28 + int32_t m_nVersion; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< CompositeMaterialEditorPoint_t > m_Points; // 0x10 + KeyValues3 m_KVthumbnail; // 0x28 }; -// Alignment: 25 -// Size: 0x340 -struct CompMatPropertyMutator_t : public -{ +// Alignment: 31 +// Size: 0x258 +struct CompositeMaterialInputLooseVariable_t +{ public: + // MPropertyFriendlyName "Name" + // MPropertyAttrStateCallback + CUtlString m_strName; // 0x0 // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Enabled" - bool m_bEnabled; // 0x0 + // MPropertyFriendlyName "Expose Externally" + bool m_bExposeExternally; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 +public: + // MPropertyFriendlyName "Exposed Friendly Name" + // MPropertyAttrStateCallback + CUtlString m_strExposedFriendlyName; // 0x10 + // MPropertyFriendlyName "Exposed Friendly Group" + // MPropertyAttrStateCallback + CUtlString m_strExposedFriendlyGroupName; // 0x18 // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Mutator Command" + // MPropertyFriendlyName "Type" // MPropertyAttributeChoiceEnumName - // MPropertyAttrStateCallback - CompMatPropertyMutatorType_t m_nMutatorCommandType; // 0x4 - // MPropertyFriendlyName "Container to Init With" - // MPropertyAttrStateCallback - CUtlString m_strInitWith_Container; // 0x8 - // MPropertyFriendlyName "Input Container" - // MPropertyAttrStateCallback - CUtlString m_strCopyProperty_InputContainerSrc; // 0x10 - // MPropertyFriendlyName "Input Container Property" - // MPropertyAttrStateCallback - CUtlString m_strCopyProperty_InputContainerProperty; // 0x18 - // MPropertyFriendlyName "Target Property" - // MPropertyAttrStateCallback - CUtlString m_strCopyProperty_TargetProperty; // 0x20 - // MPropertyFriendlyName "Seed Input Var" - // MPropertyAttrStateCallback - CUtlString m_strRandomRollInputVars_SeedInputVar; // 0x28 - // MPropertyFriendlyName "Input Vars" - // MPropertyAttrStateCallback - CUtlVector< CUtlString > m_vecRandomRollInputVars_InputVarsToRoll; // 0x30 - // MPropertyFriendlyName "Input Container" - // MPropertyAttrStateCallback - CUtlString m_strCopyMatchingKeys_InputContainerSrc; // 0x48 - // MPropertyFriendlyName "Input Container" - // MPropertyAttrStateCallback - CUtlString m_strCopyKeysWithSuffix_InputContainerSrc; // 0x50 - // MPropertyFriendlyName "Find Suffix" - // MPropertyAttrStateCallback - CUtlString m_strCopyKeysWithSuffix_FindSuffix; // 0x58 - // MPropertyFriendlyName "Replace Suffix" - // MPropertyAttrStateCallback - CUtlString m_strCopyKeysWithSuffix_ReplaceSuffix; // 0x60 + CompositeMaterialInputLooseVariableType_t m_nVariableType; // 0x20 // MPropertyFriendlyName "Value" // MPropertyAttrStateCallback - CompositeMaterialInputLooseVariable_t m_nSetValue_Value; // 0x68 - // MPropertyFriendlyName "Target Texture Param" + bool m_bValueBoolean; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0025[0x3]; // 0x25 +public: + // MPropertyFriendlyName "X Value" // MPropertyAttrStateCallback - CUtlString m_strGenerateTexture_TargetParam; // 0x2c0 - // MPropertyFriendlyName "Initial Container" + // MPropertyAttributeRange "0 255" + int32_t m_nValueIntX; // 0x28 + // MPropertyFriendlyName "Y Value" // MPropertyAttrStateCallback - CUtlString m_strGenerateTexture_InitialContainer; // 0x2c8 - // MPropertyFriendlyName "Resolution" + // MPropertyAttributeRange "0 255" + int32_t m_nValueIntY; // 0x2c + // MPropertyFriendlyName "Z Value" // MPropertyAttrStateCallback - int32_t m_nResolution; // 0x2d0 - // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Splat Debug info on Texture" + // MPropertyAttributeRange "0 255" + int32_t m_nValueIntZ; // 0x30 + // MPropertyFriendlyName "W Value" // MPropertyAttrStateCallback - bool m_bSplatDebugInfo; // 0x2d4 - // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Capture in RenderDoc" + // MPropertyAttributeRange "0 255" + int32_t m_nValueIntW; // 0x34 + // MPropertyFriendlyName "Specify Min/Max" // MPropertyAttrStateCallback - bool m_bCaptureInRenderDoc; // 0x2d5 - // MPropertyFriendlyName "Texture Generation Instructions" + bool m_bHasFloatBounds; // 0x38 +private: + [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 +public: + // MPropertyFriendlyName "X Value" // MPropertyAttrStateCallback - CUtlVector< CompMatPropertyMutator_t > m_vecTexGenInstructions; // 0x2d8 - // MPropertyFriendlyName "Mutators" + // MPropertyAttributeRange "0.0 1.0" + float m_flValueFloatX; // 0x3c + // MPropertyFriendlyName "X Min" // MPropertyAttrStateCallback - CUtlVector< CompMatPropertyMutator_t > m_vecConditionalMutators; // 0x2f0 - // MPropertyFriendlyName "Container to Pop" + float m_flValueFloatX_Min; // 0x40 + // MPropertyFriendlyName "X Max" // MPropertyAttrStateCallback - CUtlString m_strPopInputQueue_Container; // 0x308 - // MPropertyFriendlyName "Input Container" + float m_flValueFloatX_Max; // 0x44 + // MPropertyFriendlyName "Y Value" // MPropertyAttrStateCallback - CUtlString m_strDrawText_InputContainerSrc; // 0x310 - // MPropertyFriendlyName "Input Container Property" + // MPropertyAttributeRange "0.0 1.0" + float m_flValueFloatY; // 0x48 + // MPropertyFriendlyName "Y Min" // MPropertyAttrStateCallback - CUtlString m_strDrawText_InputContainerProperty; // 0x318 - // MPropertyFriendlyName "Text Position" + float m_flValueFloatY_Min; // 0x4c + // MPropertyFriendlyName "Y Max" // MPropertyAttrStateCallback - Vector2D m_vecDrawText_Position; // 0x320 - // MPropertyFriendlyName "Conditions" + float m_flValueFloatY_Max; // 0x50 + // MPropertyFriendlyName "Z Value" // MPropertyAttrStateCallback - CUtlVector< CompMatMutatorCondition_t > m_vecConditions; // 0x328 + // MPropertyAttributeRange "0.0 1.0" + float m_flValueFloatZ; // 0x54 + // MPropertyFriendlyName "Z Min" + // MPropertyAttrStateCallback + float m_flValueFloatZ_Min; // 0x58 + // MPropertyFriendlyName "Z Max" + // MPropertyAttrStateCallback + float m_flValueFloatZ_Max; // 0x5c + // MPropertyFriendlyName "W Value" + // MPropertyAttrStateCallback + // MPropertyAttributeRange "0.0 1.0" + float m_flValueFloatW; // 0x60 + // MPropertyFriendlyName "W Min" + // MPropertyAttrStateCallback + float m_flValueFloatW_Min; // 0x64 + // MPropertyFriendlyName "W Max" + // MPropertyAttrStateCallback + float m_flValueFloatW_Max; // 0x68 + // MPropertyFriendlyName "Value" + // MPropertyAttrStateCallback + Color m_cValueColor4; // 0x6c + // MPropertyFriendlyName "Value" + // MPropertyAttrStateCallback + CompositeMaterialVarSystemVar_t m_nValueSystemVar; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0074[0x4]; // 0x74 +public: + // MPropertyFriendlyName "Material" + // MPropertyAttributeEditor "AssetBrowse( vmat )" + // MPropertyAttrStateCallback + CResourceName m_strResourceMaterial; // 0x78 + // MPropertyFriendlyName "Texture" + // MPropertyAttributeEditor "AssetBrowse( jpg, png, psd, tga )" + // MPropertyAttrStateCallback + CUtlString m_strTextureContentAssetPath; // 0x158 + // MPropertyHideField + CResourceName m_strTextureRuntimeResourcePath; // 0x160 + // MPropertyHideField + CUtlString m_strTextureCompilationVtexTemplate; // 0x240 + // MPropertyFriendlyName "Texture Type" + // MPropertyAttrStateCallback + CompositeMaterialInputTextureType_t m_nTextureType; // 0x248 +private: + [[maybe_unused]] uint8_t __pad024c[0x4]; // 0x24c +public: + // MPropertyFriendlyName "String" + // MPropertyAttrStateCallback + CUtlString m_strString; // 0x250 }; // Alignment: 0 // Size: 0x8 -class C_SingleplayRules : public C_GameRules -{ +class C_GameRules +{ public: // no members available }; // Alignment: 0 // Size: 0x8 -class C_TeamplayRules : public C_MultiplayRules, C_GameRules -{ +class C_MultiplayRules : public C_GameRules +{ public: // no members available }; // Alignment: 5 // Size: 0x28 -struct CompMatMutatorCondition_t : public -{ +struct CompMatMutatorCondition_t +{ public: // MPropertyAutoRebuildOnChange // MPropertyFriendlyName "Condition" // MPropertyAttributeChoiceEnumName - CompMatPropertyMutatorConditionType_t m_nMutatorCondition; // 0x0 + CompMatPropertyMutatorConditionType_t m_nMutatorCondition; // 0x0 // MPropertyFriendlyName "Container Name" // MPropertyAttrStateCallback - CUtlString m_strMutatorConditionContainerName; // 0x8 + CUtlString m_strMutatorConditionContainerName; // 0x8 // MPropertyFriendlyName "Variable Name" // MPropertyAttrStateCallback - CUtlString m_strMutatorConditionContainerVarName; // 0x10 + CUtlString m_strMutatorConditionContainerVarName; // 0x10 // MPropertyFriendlyName "Variable Value" // MPropertyAttrStateCallback - CUtlString m_strMutatorConditionContainerVarValue; // 0x18 + CUtlString m_strMutatorConditionContainerVarValue; // 0x18 // MPropertyFriendlyName "Pass when True" - bool m_bPassWhenTrue; // 0x20 + bool m_bPassWhenTrue; // 0x20 }; // Alignment: 4 // Size: 0x110 class CFireOverlay : public CGlowOverlay -{ +{ public: - C_FireSmoke* m_pOwner; // 0xd0 - Vector[4] m_vBaseColors; // 0xd8 - float m_flScale; // 0x108 - int32_t m_nGUID; // 0x10c + C_FireSmoke* m_pOwner; // 0xd0 + Vector m_vBaseColors[4]; // 0xd8 + float m_flScale; // 0x108 + int32_t m_nGUID; // 0x10c }; // Alignment: 13 // Size: 0xb0 -class C_IronSightController : public -{ +class C_IronSightController +{ public: - bool m_bIronSightAvailable; // 0x10 - float m_flIronSightAmount; // 0x14 - float m_flIronSightAmountGained; // 0x18 - float m_flIronSightAmountBiased; // 0x1c - float m_flIronSightAmount_Interpolated; // 0x20 - float m_flIronSightAmountGained_Interpolated; // 0x24 - float m_flIronSightAmountBiased_Interpolated; // 0x28 - float m_flInterpolationLastUpdated; // 0x2c - QAngle[8] m_angDeltaAverage; // 0x30 - QAngle m_angViewLast; // 0x90 - Vector2D m_vecDotCoords; // 0x9c - float m_flDotBlur; // 0xa4 - float m_flSpeedRatio; // 0xa8 + bool m_bIronSightAvailable; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 +public: + float m_flIronSightAmount; // 0x14 + float m_flIronSightAmountGained; // 0x18 + float m_flIronSightAmountBiased; // 0x1c + float m_flIronSightAmount_Interpolated; // 0x20 + float m_flIronSightAmountGained_Interpolated; // 0x24 + float m_flIronSightAmountBiased_Interpolated; // 0x28 + float m_flInterpolationLastUpdated; // 0x2c + QAngle m_angDeltaAverage[8]; // 0x30 + QAngle m_angViewLast; // 0x90 + Vector2D m_vecDotCoords; // 0x9c + float m_flDotBlur; // 0xa4 + float m_flSpeedRatio; // 0xa8 }; // Alignment: 0 // Size: 0x30 -class CPlayerSprayDecalRenderHelper : public -{ +class CPlayerSprayDecalRenderHelper +{ public: // no members available }; // Alignment: 8 // Size: 0x218 -struct CompositeMaterialEditorPoint_t : public -{ +struct CompositeMaterialEditorPoint_t +{ public: // MPropertyGroupName "Preview Model" // MPropertyFriendlyName "Target Model" // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CResourceName m_ModelName; // 0x0 + CResourceName m_ModelName; // 0x0 // MPropertyGroupName "Preview Model" // MPropertyFriendlyName "Animation" - int32_t m_nSequenceIndex; // 0xe0 + int32_t m_nSequenceIndex; // 0xe0 // MPropertyGroupName "Preview Model" // MPropertyFriendlyName "Animation Cycle" // MPropertyAttributeRange "0.0 1.0" - float m_flCycle; // 0xe4 + float m_flCycle; // 0xe4 // MPropertyGroupName "Preview Model" // MPropertyFriendlyName "Model Preview State" // MPropertyAttributeEditor "CompositeMaterialUserModelStateSetting" - KeyValues3 m_KVModelStateChoices; // 0xe8 + KeyValues3 m_KVModelStateChoices; // 0xe8 // MPropertyAutoRebuildOnChange // MPropertyGroupName "Preview Model" // MPropertyFriendlyName "Enable Child Model" - bool m_bEnableChildModel; // 0xf8 + bool m_bEnableChildModel; // 0xf8 +private: + [[maybe_unused]] uint8_t __pad00f9[0x7]; // 0xf9 +public: // MPropertyGroupName "Preview Model" // MPropertyFriendlyName "Child Model" // MPropertyAttributeEditor "AssetBrowse( vmdl )" // MPropertyAttrStateCallback - CResourceName m_ChildModelName; // 0x100 + CResourceName m_ChildModelName; // 0x100 // MPropertyGroupName "Composite Material Assembly" // MPropertyFriendlyName "Composite Material Assembly Procedures" - CUtlVector< CompositeMaterialAssemblyProcedure_t > m_vecCompositeMaterialAssemblyProcedures; // 0x1e0 + CUtlVector< CompositeMaterialAssemblyProcedure_t > m_vecCompositeMaterialAssemblyProcedures; // 0x1e0 // MPropertyFriendlyName "Generated Composite Materials" - CUtlVector< CompositeMaterial_t > m_vecCompositeMaterials; // 0x1f8 + CUtlVector< CompositeMaterial_t > m_vecCompositeMaterials; // 0x1f8 }; // Alignment: 2 // Size: 0x80 -class C_CommandContext : public -{ +class C_CommandContext +{ public: - bool needsprocessing; // 0x0 - int32_t command_number; // 0x78 + bool needsprocessing; // 0x0 + int32_t command_number; // 0x78 }; // Alignment: 0 // Size: 0x8 -class C_GameRules : public -{ +class C_SingleplayRules : public C_GameRules +{ public: // no members available }; // Alignment: 4 // Size: 0x20 -class CGlowSprite : public -{ +class CGlowSprite +{ public: - Vector m_vColor; // 0x0 - float m_flHorzSize; // 0xc - float m_flVertSize; // 0x10 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x18 + Vector m_vColor; // 0x0 + float m_flHorzSize; // 0xc + float m_flVertSize; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x18 }; // Alignment: 13 // Size: 0x2e0 -class CFlashlightEffect : public -{ +class CFlashlightEffect +{ public: - bool m_bIsOn; // 0x10 - bool m_bMuzzleFlashEnabled; // 0x20 - float m_flMuzzleFlashBrightness; // 0x24 - Quaternion m_quatMuzzleFlashOrientation; // 0x30 - Vector m_vecMuzzleFlashOrigin; // 0x40 - float m_flFov; // 0x4c - float m_flFarZ; // 0x50 - float m_flLinearAtten; // 0x54 - bool m_bCastsShadows; // 0x58 - float m_flCurrentPullBackDist; // 0x5c - CStrongHandle< InfoForResourceTypeCTextureBase > m_FlashlightTexture; // 0x60 - CStrongHandle< InfoForResourceTypeCTextureBase > m_MuzzleFlashTexture; // 0x68 - char[64] m_textureName; // 0x70 + bool m_bIsOn; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0xf]; // 0x11 +public: + bool m_bMuzzleFlashEnabled; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0021[0x3]; // 0x21 +public: + float m_flMuzzleFlashBrightness; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 +public: + Quaternion m_quatMuzzleFlashOrientation; // 0x30 + Vector m_vecMuzzleFlashOrigin; // 0x40 + float m_flFov; // 0x4c + float m_flFarZ; // 0x50 + float m_flLinearAtten; // 0x54 + bool m_bCastsShadows; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0059[0x3]; // 0x59 +public: + float m_flCurrentPullBackDist; // 0x5c + CStrongHandle< InfoForResourceTypeCTextureBase > m_FlashlightTexture; // 0x60 + CStrongHandle< InfoForResourceTypeCTextureBase > m_MuzzleFlashTexture; // 0x68 + char m_textureName[64]; // 0x70 }; // Alignment: 2 // Size: 0x8 -class TimedEvent : public -{ +class TimedEvent +{ public: - float m_TimeBetweenEvents; // 0x0 - float m_fNextEvent; // 0x4 + float m_TimeBetweenEvents; // 0x0 + float m_fNextEvent; // 0x4 }; // Alignment: 5 // Size: 0x14 -class CInterpolatedValue : public -{ +class CInterpolatedValue +{ public: - float m_flStartTime; // 0x0 - float m_flEndTime; // 0x4 - float m_flStartValue; // 0x8 - float m_flEndValue; // 0xc - int32_t m_nInterpType; // 0x10 + float m_flStartTime; // 0x0 + float m_flEndTime; // 0x4 + float m_flStartValue; // 0x8 + float m_flEndValue; // 0xc + int32_t m_nInterpType; // 0x10 }; // Alignment: 1 // Size: 0xd8 class C_SunGlowOverlay : public CGlowOverlay -{ +{ public: - bool m_bModulateByDot; // 0xd0 + bool m_bModulateByDot; // 0xd0 }; -// Alignment: 15 -// Size: 0xd0 -class CGlowOverlay : public -{ +// Alignment: 7 +// Size: 0xf8 +class C_LightGlowOverlay : public CGlowOverlay +{ public: - Vector m_vPos; // 0x8 - bool m_bDirectional; // 0x14 - Vector m_vDirection; // 0x18 - bool m_bInSky; // 0x24 - float m_skyObstructionScale; // 0x28 - CGlowSprite[4] m_Sprites; // 0x30 - int32_t m_nSprites; // 0xb0 - float m_flProxyRadius; // 0xb4 - float m_flHDRColorScale; // 0xb8 - float m_flGlowObstructionScale; // 0xbc - bool m_bCacheGlowObstruction; // 0xc0 - bool m_bCacheSkyObstruction; // 0xc1 - int16_t m_bActivated; // 0xc2 - uint16_t m_ListIndex; // 0xc4 - int32_t m_queryHandle; // 0xc8 + Vector m_vecOrigin; // 0xd0 + Vector m_vecDirection; // 0xdc + int32_t m_nMinDist; // 0xe8 + int32_t m_nMaxDist; // 0xec + int32_t m_nOuterMaxDist; // 0xf0 + bool m_bOneSided; // 0xf4 + bool m_bModulateByDot; // 0xf5 }; -// Alignment: 31 -// Size: 0x258 -struct CompositeMaterialInputLooseVariable_t : public -{ +// Alignment: 25 +// Size: 0x340 +struct CompMatPropertyMutator_t +{ public: - // MPropertyFriendlyName "Name" - // MPropertyAttrStateCallback - CUtlString m_strName; // 0x0 // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Expose Externally" - bool m_bExposeExternally; // 0x8 - // MPropertyFriendlyName "Exposed Friendly Name" - // MPropertyAttrStateCallback - CUtlString m_strExposedFriendlyName; // 0x10 - // MPropertyFriendlyName "Exposed Friendly Group" - // MPropertyAttrStateCallback - CUtlString m_strExposedFriendlyGroupName; // 0x18 + // MPropertyFriendlyName "Enabled" + bool m_bEnabled; // 0x0 // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Type" + // MPropertyFriendlyName "Mutator Command" // MPropertyAttributeChoiceEnumName - CompositeMaterialInputLooseVariableType_t m_nVariableType; // 0x20 + // MPropertyAttrStateCallback + CompMatPropertyMutatorType_t m_nMutatorCommandType; // 0x4 + // MPropertyFriendlyName "Container to Init With" + // MPropertyAttrStateCallback + CUtlString m_strInitWith_Container; // 0x8 + // MPropertyFriendlyName "Input Container" + // MPropertyAttrStateCallback + CUtlString m_strCopyProperty_InputContainerSrc; // 0x10 + // MPropertyFriendlyName "Input Container Property" + // MPropertyAttrStateCallback + CUtlString m_strCopyProperty_InputContainerProperty; // 0x18 + // MPropertyFriendlyName "Target Property" + // MPropertyAttrStateCallback + CUtlString m_strCopyProperty_TargetProperty; // 0x20 + // MPropertyFriendlyName "Seed Input Var" + // MPropertyAttrStateCallback + CUtlString m_strRandomRollInputVars_SeedInputVar; // 0x28 + // MPropertyFriendlyName "Input Vars" + // MPropertyAttrStateCallback + CUtlVector< CUtlString > m_vecRandomRollInputVars_InputVarsToRoll; // 0x30 + // MPropertyFriendlyName "Input Container" + // MPropertyAttrStateCallback + CUtlString m_strCopyMatchingKeys_InputContainerSrc; // 0x48 + // MPropertyFriendlyName "Input Container" + // MPropertyAttrStateCallback + CUtlString m_strCopyKeysWithSuffix_InputContainerSrc; // 0x50 + // MPropertyFriendlyName "Find Suffix" + // MPropertyAttrStateCallback + CUtlString m_strCopyKeysWithSuffix_FindSuffix; // 0x58 + // MPropertyFriendlyName "Replace Suffix" + // MPropertyAttrStateCallback + CUtlString m_strCopyKeysWithSuffix_ReplaceSuffix; // 0x60 // MPropertyFriendlyName "Value" // MPropertyAttrStateCallback - bool m_bValueBoolean; // 0x24 - // MPropertyFriendlyName "X Value" + CompositeMaterialInputLooseVariable_t m_nSetValue_Value; // 0x68 + // MPropertyFriendlyName "Target Texture Param" // MPropertyAttrStateCallback - // MPropertyAttributeRange "0 255" - int32_t m_nValueIntX; // 0x28 - // MPropertyFriendlyName "Y Value" + CUtlString m_strGenerateTexture_TargetParam; // 0x2c0 + // MPropertyFriendlyName "Initial Container" // MPropertyAttrStateCallback - // MPropertyAttributeRange "0 255" - int32_t m_nValueIntY; // 0x2c - // MPropertyFriendlyName "Z Value" + CUtlString m_strGenerateTexture_InitialContainer; // 0x2c8 + // MPropertyFriendlyName "Resolution" // MPropertyAttrStateCallback - // MPropertyAttributeRange "0 255" - int32_t m_nValueIntZ; // 0x30 - // MPropertyFriendlyName "W Value" + int32_t m_nResolution; // 0x2d0 + // MPropertyAutoRebuildOnChange + // MPropertyFriendlyName "Splat Debug info on Texture" // MPropertyAttrStateCallback - // MPropertyAttributeRange "0 255" - int32_t m_nValueIntW; // 0x34 - // MPropertyFriendlyName "Specify Min/Max" + bool m_bSplatDebugInfo; // 0x2d4 + // MPropertyAutoRebuildOnChange + // MPropertyFriendlyName "Capture in RenderDoc" // MPropertyAttrStateCallback - bool m_bHasFloatBounds; // 0x38 - // MPropertyFriendlyName "X Value" + bool m_bCaptureInRenderDoc; // 0x2d5 +private: + [[maybe_unused]] uint8_t __pad02d6[0x2]; // 0x2d6 +public: + // MPropertyFriendlyName "Texture Generation Instructions" // MPropertyAttrStateCallback - // MPropertyAttributeRange "0.0 1.0" - float m_flValueFloatX; // 0x3c - // MPropertyFriendlyName "X Min" + CUtlVector< CompMatPropertyMutator_t > m_vecTexGenInstructions; // 0x2d8 + // MPropertyFriendlyName "Mutators" // MPropertyAttrStateCallback - float m_flValueFloatX_Min; // 0x40 - // MPropertyFriendlyName "X Max" + CUtlVector< CompMatPropertyMutator_t > m_vecConditionalMutators; // 0x2f0 + // MPropertyFriendlyName "Container to Pop" // MPropertyAttrStateCallback - float m_flValueFloatX_Max; // 0x44 - // MPropertyFriendlyName "Y Value" + CUtlString m_strPopInputQueue_Container; // 0x308 + // MPropertyFriendlyName "Input Container" // MPropertyAttrStateCallback - // MPropertyAttributeRange "0.0 1.0" - float m_flValueFloatY; // 0x48 - // MPropertyFriendlyName "Y Min" + CUtlString m_strDrawText_InputContainerSrc; // 0x310 + // MPropertyFriendlyName "Input Container Property" // MPropertyAttrStateCallback - float m_flValueFloatY_Min; // 0x4c - // MPropertyFriendlyName "Y Max" + CUtlString m_strDrawText_InputContainerProperty; // 0x318 + // MPropertyFriendlyName "Text Position" // MPropertyAttrStateCallback - float m_flValueFloatY_Max; // 0x50 - // MPropertyFriendlyName "Z Value" + Vector2D m_vecDrawText_Position; // 0x320 + // MPropertyFriendlyName "Conditions" // MPropertyAttrStateCallback - // MPropertyAttributeRange "0.0 1.0" - float m_flValueFloatZ; // 0x54 - // MPropertyFriendlyName "Z Min" - // MPropertyAttrStateCallback - float m_flValueFloatZ_Min; // 0x58 - // MPropertyFriendlyName "Z Max" - // MPropertyAttrStateCallback - float m_flValueFloatZ_Max; // 0x5c - // MPropertyFriendlyName "W Value" - // MPropertyAttrStateCallback - // MPropertyAttributeRange "0.0 1.0" - float m_flValueFloatW; // 0x60 - // MPropertyFriendlyName "W Min" - // MPropertyAttrStateCallback - float m_flValueFloatW_Min; // 0x64 - // MPropertyFriendlyName "W Max" - // MPropertyAttrStateCallback - float m_flValueFloatW_Max; // 0x68 - // MPropertyFriendlyName "Value" - // MPropertyAttrStateCallback - Color m_cValueColor4; // 0x6c - // MPropertyFriendlyName "Value" - // MPropertyAttrStateCallback - CompositeMaterialVarSystemVar_t m_nValueSystemVar; // 0x70 - // MPropertyFriendlyName "Material" - // MPropertyAttributeEditor "AssetBrowse( vmat )" - // MPropertyAttrStateCallback - CResourceName m_strResourceMaterial; // 0x78 - // MPropertyFriendlyName "Texture" - // MPropertyAttributeEditor "AssetBrowse( jpg, png, psd, tga )" - // MPropertyAttrStateCallback - CUtlString m_strTextureContentAssetPath; // 0x158 - // MPropertyHideField - CResourceName m_strTextureRuntimeResourcePath; // 0x160 - // MPropertyHideField - CUtlString m_strTextureCompilationVtexTemplate; // 0x240 - // MPropertyFriendlyName "Texture Type" - // MPropertyAttrStateCallback - CompositeMaterialInputTextureType_t m_nTextureType; // 0x248 - // MPropertyFriendlyName "String" - // MPropertyAttrStateCallback - CUtlString m_strString; // 0x250 + CUtlVector< CompMatMutatorCondition_t > m_vecConditions; // 0x328 }; // Alignment: 10 // Size: 0x98 -class CDecalInfo : public -{ +class CDecalInfo +{ public: - float m_flAnimationScale; // 0x0 - float m_flAnimationLifeSpan; // 0x4 - float m_flPlaceTime; // 0x8 - float m_flFadeStartTime; // 0xc - float m_flFadeDuration; // 0x10 - int32_t m_nVBSlot; // 0x14 - int32_t m_nBoneIndex; // 0x18 - CDecalInfo* m_pNext; // 0x28 - CDecalInfo* m_pPrev; // 0x30 - int32_t m_nDecalMaterialIndex; // 0x90 + float m_flAnimationScale; // 0x0 + float m_flAnimationLifeSpan; // 0x4 + float m_flPlaceTime; // 0x8 + float m_flFadeStartTime; // 0xc + float m_flFadeDuration; // 0x10 + int32_t m_nVBSlot; // 0x14 + int32_t m_nBoneIndex; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0xc]; // 0x1c +public: + CDecalInfo* m_pNext; // 0x28 + CDecalInfo* m_pPrev; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0038[0x58]; // 0x38 +public: + int32_t m_nDecalMaterialIndex; // 0x90 }; // Alignment: 4 // Size: 0x60 -struct CompositeMaterialAssemblyProcedure_t : public -{ +struct CompositeMaterialAssemblyProcedure_t +{ public: // MPropertyFriendlyName "Includes" // MPropertyAttributeEditor "AssetBrowse( vcompmat )" - CUtlVector< CResourceName > m_vecCompMatIncludes; // 0x0 + CUtlVector< CResourceName > m_vecCompMatIncludes; // 0x0 // MPropertyFriendlyName "Match Filters" - CUtlVector< CompositeMaterialMatchFilter_t > m_vecMatchFilters; // 0x18 + CUtlVector< CompositeMaterialMatchFilter_t > m_vecMatchFilters; // 0x18 // MPropertyFriendlyName "Composite Inputs" - CUtlVector< CompositeMaterialInputContainer_t > m_vecCompositeInputContainers; // 0x30 + CUtlVector< CompositeMaterialInputContainer_t > m_vecCompositeInputContainers; // 0x30 // MPropertyFriendlyName "Property Mutators" - CUtlVector< CompMatPropertyMutator_t > m_vecPropertyMutators; // 0x48 + CUtlVector< CompMatPropertyMutator_t > m_vecPropertyMutators; // 0x48 }; // Alignment: 8 // Size: 0x138 -struct CompositeMaterialInputContainer_t : public -{ +struct CompositeMaterialInputContainer_t +{ public: // MPropertyAutoRebuildOnChange // MPropertyFriendlyName "Enabled" - bool m_bEnabled; // 0x0 + bool m_bEnabled; // 0x0 // MPropertyAutoRebuildOnChange // MPropertyFriendlyName "Input Container Source" // MPropertyAttributeChoiceEnumName // MPropertyAttrStateCallback - CompositeMaterialInputContainerSourceType_t m_nCompositeMaterialInputContainerSourceType; // 0x4 + CompositeMaterialInputContainerSourceType_t m_nCompositeMaterialInputContainerSourceType; // 0x4 // MPropertyFriendlyName "Specific Material" // MPropertyAttributeEditor "AssetBrowse( vmat )" // MPropertyAttrStateCallback - CResourceName m_strSpecificContainerMaterial; // 0x8 + CResourceName m_strSpecificContainerMaterial; // 0x8 // MPropertyFriendlyName "Attribute Name" // MPropertyAttrStateCallback - CUtlString m_strAttrName; // 0xe8 + CUtlString m_strAttrName; // 0xe8 // MPropertyFriendlyName "Alias" // MPropertyAttrStateCallback - CUtlString m_strAlias; // 0xf0 + CUtlString m_strAlias; // 0xf0 // MPropertyFriendlyName "Variables" // MPropertyAttrStateCallback - CUtlVector< CompositeMaterialInputLooseVariable_t > m_vecLooseVariables; // 0xf8 + CUtlVector< CompositeMaterialInputLooseVariable_t > m_vecLooseVariables; // 0xf8 // MPropertyFriendlyName "Attribute Name" // MPropertyAttrStateCallback - CUtlString m_strAttrNameForVar; // 0x110 + CUtlString m_strAttrNameForVar; // 0x110 // MPropertyFriendlyName "Expose Externally" // MPropertyAttrStateCallback - bool m_bExposeExternally; // 0x118 + bool m_bExposeExternally; // 0x118 }; // Alignment: 0 // Size: 0x8 -class C_MultiplayRules : public C_GameRules -{ +class C_TeamplayRules : public C_MultiplayRules +{ public: // no members available }; // Alignment: 1 // Size: 0x50 -struct GeneratedTextureHandle_t : public -{ +struct GeneratedTextureHandle_t +{ public: // MPropertyFriendlyName "Generated Texture" // MPropertyAttributeEditor "CompositeMaterialTextureViewer" - CUtlString m_strBitmapName; // 0x8 + CUtlString m_strBitmapName; // 0x8 }; diff --git a/sdk/animationsystem.hpp b/sdk/animationsystem.hpp index 42d9a120..f36555a6 100644 --- a/sdk/animationsystem.hpp +++ b/sdk/animationsystem.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: animationsystem.dll // Classes count: 474 // Enums count: 77 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x2 enum class MoodType_t : uint32_t -{ +{ eMoodType_Head = 0x0, eMoodType_Body = 0x1, }; @@ -19,7 +20,7 @@ enum class MoodType_t : uint32_t // Alignment: 4 // Size: 0x6 enum class AnimationProcessingType_t : uint32_t -{ +{ ANIMATION_PROCESSING_SERVER_SIMULATION = 0x0, ANIMATION_PROCESSING_CLIENT_SIMULATION = 0x1, ANIMATION_PROCESSING_CLIENT_PREDICTION = 0x2, @@ -31,7 +32,7 @@ enum class AnimationProcessingType_t : uint32_t // Alignment: 4 // Size: 0x7 enum class AnimationSnapshotType_t : uint32_t -{ +{ ANIMATION_SNAPSHOT_SERVER_SIMULATION = 0x0, ANIMATION_SNAPSHOT_CLIENT_SIMULATION = 0x1, ANIMATION_SNAPSHOT_CLIENT_PREDICTION = 0x2, @@ -44,7 +45,7 @@ enum class AnimationSnapshotType_t : uint32_t // Alignment: 4 // Size: 0x11 enum class SeqCmd_t : uint32_t -{ +{ SeqCmd_Nop = 0x0, SeqCmd_LinearDelta = 0x1, SeqCmd_FetchFrameRange = 0x2, @@ -67,7 +68,7 @@ enum class SeqCmd_t : uint32_t // Alignment: 4 // Size: 0x4 enum class SeqPoseSetting_t : uint32_t -{ +{ SEQ_POSE_SETTING_CONSTANT = 0x0, SEQ_POSE_SETTING_ROTATION = 0x1, SEQ_POSE_SETTING_POSITION = 0x2, @@ -77,7 +78,7 @@ enum class SeqPoseSetting_t : uint32_t // Alignment: 4 // Size: 0x12 enum class ParticleAttachment_t : uint32_t -{ +{ PATTACH_INVALID = 0xffffffffffffffff, PATTACH_ABSORIGIN = 0x0, PATTACH_ABSORIGIN_FOLLOW = 0x1, @@ -101,7 +102,7 @@ enum class ParticleAttachment_t : uint32_t // Alignment: 4 // Size: 0x5 enum class CAnimationGraphVisualizerPrimitiveType : uint32_t -{ +{ ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Text = 0x0, ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Sphere = 0x1, ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Line = 0x2, @@ -112,7 +113,7 @@ enum class CAnimationGraphVisualizerPrimitiveType : uint32_t // Alignment: 1 // Size: 0x9 enum class AnimParamType_t : uint8_t -{ +{ ANIMPARAM_UNKNOWN = 0x0, ANIMPARAM_BOOL = 0x1, ANIMPARAM_ENUM = 0x2, @@ -127,7 +128,7 @@ enum class AnimParamType_t : uint8_t // Alignment: 4 // Size: 0x4 enum class BoneTransformSpace_t : uint32_t -{ +{ BoneTransformSpace_Invalid = 0xffffffffffffffff, BoneTransformSpace_Parent = 0x0, BoneTransformSpace_Model = 0x1, @@ -137,7 +138,7 @@ enum class BoneTransformSpace_t : uint32_t // Alignment: 1 // Size: 0x3 enum class PoseType_t : uint8_t -{ +{ POSETYPE_STATIC = 0x0, POSETYPE_DYNAMIC = 0x1, POSETYPE_INVALID = 0xff, @@ -146,7 +147,7 @@ enum class PoseType_t : uint8_t // Alignment: 4 // Size: 0xd enum class AnimParamButton_t : uint32_t -{ +{ ANIMPARAM_BUTTON_NONE = 0x0, ANIMPARAM_BUTTON_DPAD_UP = 0x1, ANIMPARAM_BUTTON_DPAD_RIGHT = 0x2, @@ -165,7 +166,7 @@ enum class AnimParamButton_t : uint32_t // Alignment: 4 // Size: 0x3 enum class AnimParamNetworkSetting : uint32_t -{ +{ Auto = 0x0, AlwaysNetwork = 0x1, NeverNetwork = 0x2, @@ -174,7 +175,7 @@ enum class AnimParamNetworkSetting : uint32_t // Alignment: 4 // Size: 0x2 enum class AnimNodeNetworkMode : uint32_t -{ +{ ServerAuthoritative = 0x0, ClientSimulate = 0x1, }; @@ -182,7 +183,7 @@ enum class AnimNodeNetworkMode : uint32_t // Alignment: 4 // Size: 0x4 enum class StateActionBehavior : uint32_t -{ +{ STATETAGBEHAVIOR_ACTIVE_WHILE_CURRENT = 0x0, STATETAGBEHAVIOR_FIRE_ON_ENTER = 0x1, STATETAGBEHAVIOR_FIRE_ON_EXIT = 0x2, @@ -192,7 +193,7 @@ enum class StateActionBehavior : uint32_t // Alignment: 4 // Size: 0x2 enum class SolveIKChainAnimNodeSettingSource : uint32_t -{ +{ SOLVEIKCHAINANIMNODESETTINGSOURCE_Default = 0x0, SOLVEIKCHAINANIMNODESETTINGSOURCE_Override = 0x1, }; @@ -200,7 +201,7 @@ enum class SolveIKChainAnimNodeSettingSource : uint32_t // Alignment: 4 // Size: 0x3 enum class FootstepLandedFootSoundType_t : uint32_t -{ +{ FOOTSOUND_Left = 0x0, FOOTSOUND_Right = 0x1, FOOTSOUND_UseOverrideSound = 0x2, @@ -209,7 +210,7 @@ enum class FootstepLandedFootSoundType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class AnimPoseControl : uint32_t -{ +{ NoPoseControl = 0x0, AbsolutePoseControl = 0x1, RelativePoseControl = 0x2, @@ -218,7 +219,7 @@ enum class AnimPoseControl : uint32_t // Alignment: 4 // Size: 0x3 enum class FacingMode : uint32_t -{ +{ FacingMode_Manual = 0x0, FacingMode_Path = 0x1, FacingMode_LookTarget = 0x2, @@ -227,7 +228,7 @@ enum class FacingMode : uint32_t // Alignment: 4 // Size: 0x2 enum class RagdollPoseControl : uint32_t -{ +{ Absolute = 0x0, Relative = 0x1, }; @@ -235,7 +236,7 @@ enum class RagdollPoseControl : uint32_t // Alignment: 4 // Size: 0x2 enum class AnimVRHandMotionRange_t : uint32_t -{ +{ MotionRange_WithController = 0x0, MotionRange_WithoutController = 0x1, }; @@ -243,7 +244,7 @@ enum class AnimVRHandMotionRange_t : uint32_t // Alignment: 4 // Size: 0x4 enum class AnimVrFingerSplay_t : uint32_t -{ +{ AnimVrFingerSplay_Thumb_Index = 0x0, AnimVrFingerSplay_Index_Middle = 0x1, AnimVrFingerSplay_Middle_Ring = 0x2, @@ -253,7 +254,7 @@ enum class AnimVrFingerSplay_t : uint32_t // Alignment: 4 // Size: 0x2 enum class AnimVrBoneTransformSource_t : uint32_t -{ +{ AnimVrBoneTransformSource_LiveStream = 0x0, AnimVrBoneTransformSource_GripLimit = 0x1, }; @@ -261,7 +262,7 @@ enum class AnimVrBoneTransformSource_t : uint32_t // Alignment: 4 // Size: 0x6 enum class IKSolverType : uint32_t -{ +{ IKSOLVER_Perlin = 0x0, IKSOLVER_TwoBone = 0x1, IKSOLVER_Fabrik = 0x2, @@ -273,7 +274,7 @@ enum class IKSolverType : uint32_t // Alignment: 4 // Size: 0x3 enum class IKTargetSource : uint32_t -{ +{ IKTARGETSOURCE_Bone = 0x0, IKTARGETSOURCE_AnimgraphParameter = 0x1, IKTARGETSOURCE_COUNT = 0x2, @@ -282,7 +283,7 @@ enum class IKTargetSource : uint32_t // Alignment: 4 // Size: 0x3 enum class IKTargetCoordinateSystem : uint32_t -{ +{ IKTARGETCOORDINATESYSTEM_WorldSpace = 0x0, IKTARGETCOORDINATESYSTEM_ModelSpace = 0x1, IKTARGETCOORDINATESYSTEM_COUNT = 0x2, @@ -291,7 +292,7 @@ enum class IKTargetCoordinateSystem : uint32_t // Alignment: 4 // Size: 0x24 enum class AnimValueSource : uint32_t -{ +{ MoveHeading = 0x0, MoveSpeed = 0x1, ForwardSpeed = 0x2, @@ -333,7 +334,7 @@ enum class AnimValueSource : uint32_t // Alignment: 4 // Size: 0xd enum class AnimVectorSource : uint32_t -{ +{ MoveDirection = 0x0, FacingDirection = 0x1, LookDirection = 0x2, @@ -352,7 +353,7 @@ enum class AnimVectorSource : uint32_t // Alignment: 4 // Size: 0x3 enum class DampingSpeedFunction : uint32_t -{ +{ NoDamping = 0x0, Constant = 0x1, Spring = 0x2, @@ -361,7 +362,7 @@ enum class DampingSpeedFunction : uint32_t // Alignment: 4 // Size: 0x2 enum class EAnimValueSource : uint32_t -{ +{ Constant = 0x0, Parameter = 0x1, }; @@ -369,7 +370,7 @@ enum class EAnimValueSource : uint32_t // Alignment: 4 // Size: 0x28 enum class ControlValue : uint32_t -{ +{ ControlValue_MoveHeading = 0x0, ControlValue_MoveSpeed = 0x1, ControlValue_FacingHeading = 0x2, @@ -415,7 +416,7 @@ enum class ControlValue : uint32_t // Alignment: 4 // Size: 0x3 enum class FieldNetworkOption : uint32_t -{ +{ Auto = 0x0, ForceEnable = 0x1, ForceDisable = 0x2, @@ -424,7 +425,7 @@ enum class FieldNetworkOption : uint32_t // Alignment: 4 // Size: 0x2 enum class DampedValueType : uint32_t -{ +{ FloatParameter = 0x0, VectorParameter = 0x1, }; @@ -432,7 +433,7 @@ enum class DampedValueType : uint32_t // Alignment: 4 // Size: 0x2 enum class SelectionSource_t : uint32_t -{ +{ SelectionSource_Bool = 0x0, SelectionSource_Enum = 0x1, }; @@ -440,7 +441,7 @@ enum class SelectionSource_t : uint32_t // Alignment: 4 // Size: 0x3 enum class SingleFrameSelection : uint32_t -{ +{ FirstFrame = 0x0, LastFrame = 0x1, SpecificFrame = 0x2, @@ -449,7 +450,7 @@ enum class SingleFrameSelection : uint32_t // Alignment: 4 // Size: 0x7 enum class Comparison_t : uint32_t -{ +{ COMPARISON_EQUALS = 0x0, COMPARISON_NOT_EQUALS = 0x1, COMPARISON_GREATER = 0x2, @@ -462,7 +463,7 @@ enum class Comparison_t : uint32_t // Alignment: 1 // Size: 0x2 enum class ComparisonValueType : uint8_t -{ +{ COMPARISONVALUETYPE_FIXEDVALUE = 0x0, COMPARISONVALUETYPE_PARAMETER = 0x1, }; @@ -470,7 +471,7 @@ enum class ComparisonValueType : uint8_t // Alignment: 4 // Size: 0x2 enum class FinishedConditionOption : uint32_t -{ +{ FinishedConditionOption_OnFinished = 0x0, FinishedConditionOption_OnAlmostFinished = 0x1, }; @@ -478,7 +479,7 @@ enum class FinishedConditionOption : uint32_t // Alignment: 4 // Size: 0x3 enum class StateComparisonValueType : uint32_t -{ +{ StateComparisonValue_FixedValue = 0x0, StateComparisonValue_StateValue = 0x1, StateComparisonValue_Parameter = 0x2, @@ -487,7 +488,7 @@ enum class StateComparisonValueType : uint32_t // Alignment: 4 // Size: 0x5 enum class StateValue : uint32_t -{ +{ TotalTranslation_SourceState = 0x0, TotalTranslation_TargetState = 0x1, SourceStateBlendWeight = 0x2, @@ -498,7 +499,7 @@ enum class StateValue : uint32_t // Alignment: 4 // Size: 0x8 enum class FootFallTagFoot_t : uint32_t -{ +{ FOOT1 = 0x0, FOOT2 = 0x1, FOOT3 = 0x2, @@ -512,7 +513,7 @@ enum class FootFallTagFoot_t : uint32_t // Alignment: 4 // Size: 0x2 enum class MatterialAttributeTagType_t : uint32_t -{ +{ MATERIAL_ATTRIBUTE_TAG_VALUE = 0x0, MATERIAL_ATTRIBUTE_TAG_COLOR = 0x1, }; @@ -520,7 +521,7 @@ enum class MatterialAttributeTagType_t : uint32_t // Alignment: 2 // Size: 0x4 enum class AnimScriptType : uint16_t -{ +{ ANIMSCRIPT_TYPE_INVALID = 0xffffffffffffffff, ANIMSCRIPT_FUSE_GENERAL = 0x0, ANIMSCRIPT_FUSE_STATEMACHINE = 0x1, @@ -530,7 +531,7 @@ enum class AnimScriptType : uint16_t // Alignment: 4 // Size: 0x4 enum class BlendKeyType : uint32_t -{ +{ BlendKey_UserValue = 0x0, BlendKey_Velocity = 0x1, BlendKey_Distance = 0x2, @@ -540,7 +541,7 @@ enum class BlendKeyType : uint32_t // Alignment: 4 // Size: 0x5 enum class ResetCycleOption : uint32_t -{ +{ Beginning = 0x0, SameCycleAsSource = 0x1, InverseSourceCycle = 0x2, @@ -551,7 +552,7 @@ enum class ResetCycleOption : uint32_t // Alignment: 4 // Size: 0x4 enum class ChoiceMethod : uint32_t -{ +{ WeightedRandom = 0x0, WeightedRandomNoRepeat = 0x1, Iterate = 0x2, @@ -561,7 +562,7 @@ enum class ChoiceMethod : uint32_t // Alignment: 4 // Size: 0x3 enum class ChoiceChangeMethod : uint32_t -{ +{ OnReset = 0x0, OnCycleEnd = 0x1, OnResetOrCycleEnd = 0x2, @@ -570,7 +571,7 @@ enum class ChoiceChangeMethod : uint32_t // Alignment: 4 // Size: 0x2 enum class ChoiceBlendMethod : uint32_t -{ +{ SingleBlendTime = 0x0, PerChoiceBlendTimes = 0x1, }; @@ -578,7 +579,7 @@ enum class ChoiceBlendMethod : uint32_t // Alignment: 4 // Size: 0x2 enum class IkEndEffectorType : uint32_t -{ +{ IkEndEffector_Attachment = 0x0, IkEndEffector_Bone = 0x1, }; @@ -586,7 +587,7 @@ enum class IkEndEffectorType : uint32_t // Alignment: 4 // Size: 0x4 enum class IkTargetType : uint32_t -{ +{ IkTarget_Attachment = 0x0, IkTarget_Bone = 0x1, IkTarget_Parameter_ModelSpace = 0x2, @@ -596,7 +597,7 @@ enum class IkTargetType : uint32_t // Alignment: 4 // Size: 0x3 enum class BinaryNodeTiming : uint32_t -{ +{ UseChild1 = 0x0, UseChild2 = 0x1, SyncChildren = 0x2, @@ -605,7 +606,7 @@ enum class BinaryNodeTiming : uint32_t // Alignment: 4 // Size: 0x2 enum class BinaryNodeChildOption : uint32_t -{ +{ Child1 = 0x0, Child2 = 0x1, }; @@ -613,7 +614,7 @@ enum class BinaryNodeChildOption : uint32_t // Alignment: 4 // Size: 0x2 enum class StanceOverrideMode : uint32_t -{ +{ Sequence = 0x0, Node = 0x1, }; @@ -621,7 +622,7 @@ enum class StanceOverrideMode : uint32_t // Alignment: 4 // Size: 0x3 enum class SelectorTagBehavior_t : uint32_t -{ +{ SelectorTagBehavior_OnWhileCurrent = 0x0, SelectorTagBehavior_OffWhenFinished = 0x1, SelectorTagBehavior_OffBeforeFinished = 0x2, @@ -630,7 +631,7 @@ enum class SelectorTagBehavior_t : uint32_t // Alignment: 4 // Size: 0x2 enum class Blend2DMode : uint32_t -{ +{ Blend2DMode_General = 0x0, Blend2DMode_Directional = 0x1, }; @@ -638,7 +639,7 @@ enum class Blend2DMode : uint32_t // Alignment: 4 // Size: 0x2 enum class FootLockSubVisualization : uint32_t -{ +{ FOOTLOCKSUBVISUALIZATION_ReachabilityAnalysis = 0x0, FOOTLOCKSUBVISUALIZATION_IKSolve = 0x1, }; @@ -646,7 +647,7 @@ enum class FootLockSubVisualization : uint32_t // Alignment: 4 // Size: 0x3 enum class FootPinningTimingSource : uint32_t -{ +{ FootMotion = 0x0, Tag = 0x1, Parameter = 0x2, @@ -655,7 +656,7 @@ enum class FootPinningTimingSource : uint32_t // Alignment: 4 // Size: 0x2 enum class JumpCorrectionMethod : uint32_t -{ +{ ScaleMotion = 0x0, AddCorrectionDelta = 0x1, }; @@ -663,7 +664,7 @@ enum class JumpCorrectionMethod : uint32_t // Alignment: 4 // Size: 0x2 enum class StepPhase : uint32_t -{ +{ StepPhase_OnGround = 0x0, StepPhase_InAir = 0x1, }; @@ -671,7 +672,7 @@ enum class StepPhase : uint32_t // Alignment: 1 // Size: 0x3 enum class VelocityMetricMode : uint8_t -{ +{ DirectionOnly = 0x0, MagnitudeOnly = 0x1, DirectionAndMagnitude = 0x2, @@ -680,7 +681,7 @@ enum class VelocityMetricMode : uint8_t // Alignment: 4 // Size: 0x4 enum class BoneMaskBlendSpace : uint32_t -{ +{ BlendSpace_Parent = 0x0, BlendSpace_Model = 0x1, BlendSpace_Model_RotationOnly = 0x2, @@ -690,7 +691,7 @@ enum class BoneMaskBlendSpace : uint32_t // Alignment: 4 // Size: 0x4 enum class AimMatrixBlendMode : uint32_t -{ +{ AimMatrixBlendMode_None = 0x0, AimMatrixBlendMode_Additive = 0x1, AimMatrixBlendMode_ModelSpaceAdditive = 0x2, @@ -700,7 +701,7 @@ enum class AimMatrixBlendMode : uint32_t // Alignment: 4 // Size: 0x7 enum class SolveIKChainAnimNodeDebugSetting : uint32_t -{ +{ SOLVEIKCHAINANIMNODEDEBUGSETTING_None = 0x0, SOLVEIKCHAINANIMNODEDEBUGSETTING_X_Axis_Circle = 0x1, SOLVEIKCHAINANIMNODEDEBUGSETTING_Y_Axis_Circle = 0x2, @@ -713,7 +714,7 @@ enum class SolveIKChainAnimNodeDebugSetting : uint32_t // Alignment: 4 // Size: 0x3 enum class JiggleBoneSimSpace : uint32_t -{ +{ SimSpace_Local = 0x0, SimSpace_Model = 0x1, SimSpace_World = 0x2, @@ -722,7 +723,7 @@ enum class JiggleBoneSimSpace : uint32_t // Alignment: 4 // Size: 0x5 enum class VPhysXBodyPart_t__VPhysXFlagEnum_t : uint32_t -{ +{ FLAG_STATIC = 0x1, FLAG_KINEMATIC = 0x2, FLAG_JOINT = 0x4, @@ -733,7 +734,7 @@ enum class VPhysXBodyPart_t__VPhysXFlagEnum_t : uint32_t // Alignment: 4 // Size: 0x4 enum class VPhysXConstraintParams_t__EnumFlags0_t : uint32_t -{ +{ FLAG0_SHIFT_INTERPENETRATE = 0x0, FLAG0_SHIFT_CONSTRAIN = 0x1, FLAG0_SHIFT_BREAKABLE_FORCE = 0x2, @@ -743,7 +744,7 @@ enum class VPhysXConstraintParams_t__EnumFlags0_t : uint32_t // Alignment: 4 // Size: 0x2 enum class VPhysXJoint_t__Flags_t : uint32_t -{ +{ JOINT_FLAGS_NONE = 0x0, JOINT_FLAGS_BODY1_FIXED = 0x1, }; @@ -751,7 +752,7 @@ enum class VPhysXJoint_t__Flags_t : uint32_t // Alignment: 4 // Size: 0x3 enum class VPhysXAggregateData_t__VPhysXFlagEnum_t : uint32_t -{ +{ FLAG_IS_POLYSOUP_GEOMETRY = 0x1, FLAG_LEVEL_COLLISION = 0x10, FLAG_IGNORE_SCALE_OBSOLETE_DO_NOT_USE = 0x20, @@ -760,7 +761,7 @@ enum class VPhysXAggregateData_t__VPhysXFlagEnum_t : uint32_t // Alignment: 4 // Size: 0x8 enum class MeshDrawPrimitiveFlags_t : uint32_t -{ +{ MESH_DRAW_FLAGS_NONE = 0x0, MESH_DRAW_FLAGS_USE_SHADOW_FAST_PATH = 0x1, MESH_DRAW_FLAGS_USE_COMPRESSED_NORMAL_TANGENT = 0x2, @@ -774,7 +775,7 @@ enum class MeshDrawPrimitiveFlags_t : uint32_t // Alignment: 4 // Size: 0x16 enum class ModelSkeletonData_t__BoneFlags_t : uint32_t -{ +{ FLAG_NO_BONE_FLAGS = 0x0, FLAG_BONEFLEXDRIVER = 0x4, FLAG_CLOTH = 0x8, @@ -802,7 +803,7 @@ enum class ModelSkeletonData_t__BoneFlags_t : uint32_t // Alignment: 4 // Size: 0xf enum class PermModelInfo_t__FlagEnum : uint32_t -{ +{ FLAG_TRANSLUCENT = 0x1, FLAG_TRANSLUCENT_TWO_PASS = 0x2, FLAG_MODEL_IS_RUNTIME_COMBINED = 0x4, @@ -823,7 +824,7 @@ enum class PermModelInfo_t__FlagEnum : uint32_t // Alignment: 4 // Size: 0x4 enum class ModelBoneFlexComponent_t : uint32_t -{ +{ MODEL_BONE_FLEX_INVALID = 0xffffffffffffffff, MODEL_BONE_FLEX_TX = 0x0, MODEL_BONE_FLEX_TY = 0x1, @@ -833,7 +834,7 @@ enum class ModelBoneFlexComponent_t : uint32_t // Alignment: 4 // Size: 0x5 enum class ModelConfigAttachmentType_t : uint32_t -{ +{ MODEL_CONFIG_ATTACHMENT_INVALID = 0xffffffffffffffff, MODEL_CONFIG_ATTACHMENT_BONE_OR_ATTACHMENT = 0x0, MODEL_CONFIG_ATTACHMENT_ROOT_RELATIVE = 0x1, @@ -844,7 +845,7 @@ enum class ModelConfigAttachmentType_t : uint32_t // Alignment: 4 // Size: 0x1a enum class FlexOpCode_t : uint32_t -{ +{ FLEX_OP_CONST = 0x1, FLEX_OP_FETCH1 = 0x2, FLEX_OP_FETCH2 = 0x3, @@ -876,7 +877,7 @@ enum class FlexOpCode_t : uint32_t // Alignment: 4 // Size: 0x4 enum class MorphFlexControllerRemapType_t : uint32_t -{ +{ MORPH_FLEXCONTROLLER_REMAP_PASSTHRU = 0x0, MORPH_FLEXCONTROLLER_REMAP_2WAY = 0x1, MORPH_FLEXCONTROLLER_REMAP_NWAY = 0x2, @@ -886,7 +887,7 @@ enum class MorphFlexControllerRemapType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class MorphBundleType_t : uint32_t -{ +{ MORPH_BUNDLE_TYPE_NONE = 0x0, MORPH_BUNDLE_TYPE_POSITION_SPEED = 0x1, MORPH_BUNDLE_TYPE_NORMAL_WRINKLE = 0x2, @@ -896,7 +897,7 @@ enum class MorphBundleType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class AnimVRHand_t : uint32_t -{ +{ AnimVRHand_Left = 0x0, AnimVRHand_Right = 0x1, }; @@ -904,7 +905,7 @@ enum class AnimVRHand_t : uint32_t // Alignment: 4 // Size: 0x5 enum class AnimVRFinger_t : uint32_t -{ +{ AnimVrFinger_Thumb = 0x0, AnimVrFinger_Index = 0x1, AnimVrFinger_Middle = 0x2, @@ -912,1080 +913,1222 @@ enum class AnimVRFinger_t : uint32_t AnimVrFinger_Pinky = 0x4, }; +struct CRangeFloat; +struct AnimationDecodeDebugDumpElement_t; +struct CAnimEncodeDifference; +struct CAnimDesc_Flag; +struct CAnimEncodedFrames; +struct CAnimSequenceParams; +struct CAnimKeyData; +struct CSeqAutoLayerFlag; +struct CSeqMultiFetchFlag; +struct CSeqSeqDescFlag; +struct CSeqMultiFetch; +struct CSeqTransition; +struct AnimNodeID; +struct AnimNodeOutputID; +struct MotionIndex; +struct IKBoneNameAndIndex_t; +struct AnimParamID; +struct CAnimNodeManager; +struct CAnimComponentManager; +struct CAnimGraphSettingsManager; +struct CAnimNodePath; +struct HSequence; +struct CAnimParamHandle; +struct AnimComponentID; +struct CAnimInputDamping; +struct AnimTagID; +struct CAnimNodeConnection; +struct IKSolverSettings_t; +struct IKTargetSettings_t; +struct CFloatAnimValue; +struct CBlendCurve; +struct AnimStateID; +struct CConditionContainer; +struct AnimScriptHandle; +struct CVectorQuantizer; +struct CMotionSearchNode; +struct CProductQuantizer; +struct CMotionParameterManager; +struct CMotionNodeManager; +struct CAnimUpdateNodeRef; +struct CAnimAttachment; +struct SkeletalInputOpFixedSettings_t; +struct HitReactFixedSettings_t; +struct CParamSpanUpdater; +struct CPoseHandle; +struct TraceSettings_t; +struct FootLockPoseOpFixedSettings; +struct FootPinningPoseOpFixedData_t; +struct CMotionDataSet; +struct JiggleBoneSettingsList_t; +struct CMotionSearchDB; +struct VPhysics2ShapeDef_t; +struct VPhysXConstraintParams_t; +struct VPhysXRange_t; +struct PhysFeModelDesc_t; +struct CPhysSurfacePropertiesPhysics; +struct CPhysSurfacePropertiesSoundNames; +struct CPhysSurfacePropertiesAudio; +struct PermModelInfo_t; +struct ModelSkeletonData_t; +struct CModelConfigList; +struct SkeletonBoneBounds_t; +struct CRenderBufferBinding; +struct PackedAABB_t; +struct CDrawCullingData; +struct CRenderSkeleton; +struct CAnimCycle; +struct CFootCycle; +struct CFootCycleDefinition; +struct CFootTrajectories; +struct CAnimClipDataManager; +struct CAnimStateMachineUpdater; +struct AimMatrixOpFixedSettings_t; +struct TwoBoneIKSettings_t; +struct SolveIKChainPoseOpFixedSettings_t; +struct LookAtOpFixedSettings_t; +struct FollowAttachmentSettings_t; + // Alignment: 2 // Size: 0x10 -struct MoodAnimation_t : public -{ +struct MoodAnimation_t +{ public: // MPropertyDescription "Name of the animation" // MPropertyAttributeEditor "VDataModelAnim( m_sModelName; include_deltas )" - CUtlString m_sName; // 0x0 + CUtlString m_sName; // 0x0 // MPropertyDescription "Weight of the animation, higher numbers get picked more" - float m_flWeight; // 0x8 + float m_flWeight; // 0x8 }; // Alignment: 12 // Size: 0x60 -struct MoodAnimationLayer_t : public -{ +struct MoodAnimationLayer_t +{ public: // MPropertyFriendlyName "Name" // MPropertyDescription "Name of the layer" - CUtlString m_sName; // 0x0 + CUtlString m_sName; // 0x0 // MPropertyFriendlyName "Active When Listening" // MPropertyDescription "Sets the mood's animation buckets to be active when the character is listening" - bool m_bActiveListening; // 0x8 + bool m_bActiveListening; // 0x8 // MPropertyFriendlyName "Active When Talking" // MPropertyDescription "Sets the mood's animation buckets to be active when the character is talking" - bool m_bActiveTalking; // 0x9 + bool m_bActiveTalking; // 0x9 +private: + [[maybe_unused]] uint8_t __pad000a[0x6]; // 0xa +public: // MPropertyDescription "List of animations to choose from" - CUtlVector< MoodAnimation_t > m_layerAnimations; // 0x10 + CUtlVector< MoodAnimation_t > m_layerAnimations; // 0x10 // MPropertyDescription "Intensity of the animation" // MPropertyAttributeRange "0 1" - CRangeFloat m_flIntensity; // 0x28 + CRangeFloat m_flIntensity; // 0x28 // MPropertyDescription "Multiplier of the animation duration" - CRangeFloat m_flDurationScale; // 0x30 + CRangeFloat m_flDurationScale; // 0x30 // MPropertyDescription "When scaling an animation, grab the scale value as in int. Used for gestures/postures to control number of looping sections" - bool m_bScaleWithInts; // 0x38 + bool m_bScaleWithInts; // 0x38 +private: + [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 +public: // MPropertyDescription "Time before the next animation can start" - CRangeFloat m_flNextStart; // 0x3c + CRangeFloat m_flNextStart; // 0x3c // MPropertyDescription "Time from the start of the mood before an animation can start" - CRangeFloat m_flStartOffset; // 0x44 + CRangeFloat m_flStartOffset; // 0x44 // MPropertyDescription "Time from the end of the mood when an animation cannot play" - CRangeFloat m_flEndOffset; // 0x4c + CRangeFloat m_flEndOffset; // 0x4c // MPropertyDescription "Fade in time of the animation" - float m_flFadeIn; // 0x54 + float m_flFadeIn; // 0x54 // MPropertyDescription "Fade out time of the animation" - float m_flFadeOut; // 0x58 + float m_flFadeOut; // 0x58 }; // Alignment: 3 // Size: 0x100 -class CMoodVData : public -{ +class CMoodVData +{ public: // MPropertyDescription "Model to get the animation list from" // MPropertyAutoRebuildOnChange - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x0 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x0 // MPropertyDescription "Type of mood" - MoodType_t m_nMoodType; // 0xe0 + MoodType_t m_nMoodType; // 0xe0 +private: + [[maybe_unused]] uint8_t __pad00e4[0x4]; // 0xe4 +public: // MPropertyDescription "Layers for this mood" - CUtlVector< MoodAnimationLayer_t > m_animationLayers; // 0xe8 + CUtlVector< MoodAnimationLayer_t > m_animationLayers; // 0xe8 }; // Alignment: 6 // Size: 0x70 -struct AnimationDecodeDebugDumpElement_t : public -{ +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 + 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 }; // Alignment: 2 // Size: 0x20 -struct AnimationDecodeDebugDump_t : public -{ +struct AnimationDecodeDebugDump_t +{ public: - AnimationProcessingType_t m_processingType; // 0x0 - CUtlVector< AnimationDecodeDebugDumpElement_t > m_elems; // 0x8 + AnimationProcessingType_t m_processingType; // 0x0 + CUtlVector< AnimationDecodeDebugDumpElement_t > m_elems; // 0x8 }; // Alignment: 9 // Size: 0x110 -struct AnimationSnapshotBase_t : public -{ +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 + float m_flRealTime; // 0x0 + matrix3x4a_t m_rootToWorld; // 0x10 + bool m_bBonesInWorldSpace; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x7]; // 0x41 +public: + 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 +private: + [[maybe_unused]] uint8_t __pad0095[0x3]; // 0x95 +public: + AnimationDecodeDebugDumpElement_t m_DecodeDump; // 0x98 }; // Alignment: 2 // Size: 0x120 struct AnimationSnapshot_t : public AnimationSnapshotBase_t -{ +{ public: - int32_t m_nEntIndex; // 0x110 - CUtlString m_modelName; // 0x118 + int32_t m_nEntIndex; // 0x110 +private: + [[maybe_unused]] uint8_t __pad0114[0x4]; // 0x114 +public: + CUtlString m_modelName; // 0x118 }; // Alignment: 5 // Size: 0x30 -class CAnimBoneDifference : public -{ +class CAnimBoneDifference +{ public: - CBufferString m_name; // 0x0 - CBufferString m_parent; // 0x10 - Vector m_posError; // 0x20 - bool m_bHasRotation; // 0x2c - bool m_bHasMovement; // 0x2d + CBufferString m_name; // 0x0 + CBufferString m_parent; // 0x10 + Vector m_posError; // 0x20 + bool m_bHasRotation; // 0x2c + bool m_bHasMovement; // 0x2d }; // Alignment: 1 // Size: 0x10 -class CAnimMorphDifference : public -{ +class CAnimMorphDifference +{ public: - CBufferString m_name; // 0x0 + CBufferString m_name; // 0x0 }; // Alignment: 2 // Size: 0x18 -class CAnimUserDifference : public -{ +class CAnimUserDifference +{ public: - CBufferString m_name; // 0x0 - int32_t m_nType; // 0x10 + CBufferString m_name; // 0x0 + int32_t m_nType; // 0x10 }; // Alignment: 7 // Size: 0xa8 -class CAnimEncodeDifference : public -{ +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 + 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 }; // Alignment: 5 // Size: 0x38 -class CAnimAnimEvent : public -{ +class CAnimAnimEvent +{ public: - int32_t m_nFrame; // 0x0 - float m_flCycle; // 0x4 - KeyValues3 m_EventData; // 0x8 + int32_t m_nFrame; // 0x0 + float m_flCycle; // 0x4 + KeyValues3 m_EventData; // 0x8 // MKV3TransferName "m_sOptions" - CBufferString m_sLegacyOptions; // 0x18 - CBufferString m_sEventName; // 0x28 + CBufferString m_sLegacyOptions; // 0x18 + CBufferString m_sEventName; // 0x28 }; // Alignment: 7 // Size: 0x2c -class CAnimMovement : public -{ +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 + int32_t endframe; // 0x0 + int32_t motionflags; // 0x4 + float v0; // 0x8 + float v1; // 0xc + float angle; // 0x10 + Vector vector; // 0x14 + Vector position; // 0x20 }; // Alignment: 6 // Size: 0x30 -class CAnimLocalHierarchy : public -{ +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 + 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 }; // Alignment: 3 // Size: 0x18 -class CAnimDecoder : public -{ +class CAnimDecoder +{ public: - CBufferString m_szName; // 0x0 - int32_t m_nVersion; // 0x10 - int32_t m_nType; // 0x14 + CBufferString m_szName; // 0x0 + int32_t m_nVersion; // 0x10 + int32_t m_nType; // 0x14 }; // Alignment: 4 // Size: 0x28 -class CAnimFrameSegment : public -{ +class CAnimFrameSegment +{ public: - int32_t m_nUniqueFrameIndex; // 0x0 - uint32_t m_nLocalElementMasks; // 0x4 - int32_t m_nLocalChannel; // 0x8 - CUtlBinaryBlock m_container; // 0x10 + int32_t m_nUniqueFrameIndex; // 0x0 + uint32_t m_nLocalElementMasks; // 0x4 + int32_t m_nLocalChannel; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlBinaryBlock m_container; // 0x10 }; // Alignment: 3 // Size: 0x20 -class CAnimFrameBlockAnim : public -{ +class CAnimFrameBlockAnim +{ public: - int32_t m_nStartFrame; // 0x0 - int32_t m_nEndFrame; // 0x4 - CUtlVector< int32 > m_segmentIndexArray; // 0x8 + int32_t m_nStartFrame; // 0x0 + int32_t m_nEndFrame; // 0x4 + CUtlVector< int32 > m_segmentIndexArray; // 0x8 }; // Alignment: 5 // Size: 0xd8 -class CAnimEncodedFrames : public -{ +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 + CBufferString m_fileName; // 0x0 + int32_t m_nFrames; // 0x10 + int32_t m_nFramesPerBlock; // 0x14 + CUtlVector< CAnimFrameBlockAnim > m_frameblockArray; // 0x18 + CAnimEncodeDifference m_usageDifferences; // 0x30 }; // Alignment: 8 // Size: 0x8 -class CAnimDesc_Flag : public -{ +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 - bool m_bImplicitSeqIgnoreDelta; // 0x6 - bool m_bAnimGraphAdditive; // 0x7 + bool m_bLooping; // 0x0 + bool m_bAllZeros; // 0x1 + bool m_bHidden; // 0x2 + bool m_bDelta; // 0x3 + bool m_bLegacyWorldspace; // 0x4 + bool m_bModelDoc; // 0x5 + bool m_bImplicitSeqIgnoreDelta; // 0x6 + bool m_bAnimGraphAdditive; // 0x7 }; // Alignment: 2 // Size: 0x8 -class CAnimSequenceParams : public -{ +class CAnimSequenceParams +{ public: - float m_flFadeInTime; // 0x0 - float m_flFadeOutTime; // 0x4 + float m_flFadeInTime; // 0x0 + float m_flFadeOutTime; // 0x4 }; // Alignment: 14 // Size: 0x1b0 -class CAnimDesc : public -{ +class CAnimDesc +{ +public: + CBufferString m_name; // 0x0 + CAnimDesc_Flag m_flags; // 0x10 + float fps; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c public: - CBufferString m_name; // 0x0 - CAnimDesc_Flag m_flags; // 0x10 - float fps; // 0x18 // MKV3TransferName "m_pData" - 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 + 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 +private: + [[maybe_unused]] uint8_t __pad0174[0x4]; // 0x174 +public: + CUtlVector< Vector > m_vecBoneWorldMin; // 0x178 + CUtlVector< Vector > m_vecBoneWorldMax; // 0x190 + CAnimSequenceParams m_sequenceParams; // 0x1a8 }; // Alignment: 4 // Size: 0x20 -class CAnimActivity : public -{ +class CAnimActivity +{ public: - CBufferString m_name; // 0x0 - int32_t m_nActivity; // 0x10 - int32_t m_nFlags; // 0x14 - int32_t m_nWeight; // 0x18 + CBufferString m_name; // 0x0 + int32_t m_nActivity; // 0x10 + int32_t m_nFlags; // 0x14 + int32_t m_nWeight; // 0x18 }; // Alignment: 5 // Size: 0x70 -class CAnimData : public -{ +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 + CBufferString m_name; // 0x10 + CUtlVector< CAnimDesc > m_animArray; // 0x20 + CUtlVector< CAnimDecoder > m_decoderArray; // 0x38 + int32_t m_nMaxUniqueFrameIndex; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 +public: + CUtlVector< CAnimFrameSegment > m_segmentArray; // 0x58 }; // Alignment: 7 // Size: 0x48 -class CAnimBone : public -{ +class CAnimBone +{ public: - CBufferString m_name; // 0x0 - int32_t m_parent; // 0x10 - Vector m_pos; // 0x14 - QuaternionStorage m_quat; // 0x20 - float m_scale; // 0x30 - QuaternionStorage m_qAlignment; // 0x34 - int32_t m_flags; // 0x44 + CBufferString m_name; // 0x0 + int32_t m_parent; // 0x10 + Vector m_pos; // 0x14 + QuaternionStorage m_quat; // 0x20 + float m_scale; // 0x30 + QuaternionStorage m_qAlignment; // 0x34 + int32_t m_flags; // 0x44 }; // Alignment: 2 // Size: 0x18 -class CAnimUser : public -{ +class CAnimUser +{ public: - CBufferString m_name; // 0x0 - int32_t m_nType; // 0x10 + CBufferString m_name; // 0x0 + int32_t m_nType; // 0x10 }; // Alignment: 9 // Size: 0x90 -class CAnimDataChannelDesc : public -{ +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 + 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 }; // Alignment: 6 // Size: 0x78 -class CAnimKeyData : public -{ +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 + CBufferString m_name; // 0x0 + CUtlVector< CAnimBone > m_boneArray; // 0x10 + CUtlVector< CAnimUser > m_userArray; // 0x28 + CUtlVector< CBufferString > m_morphArray; // 0x40 + int32_t m_nChannelElements; // 0x58 +private: + [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c +public: + CUtlVector< CAnimDataChannelDesc > m_dataChannelArray; // 0x60 }; // Alignment: 7 // Size: 0x130 -class CAnimationGroup : public -{ +class CAnimationGroup +{ +public: + uint32_t m_nFlags; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CBufferString m_name; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0028[0x38]; // 0x28 public: - uint32_t m_nFlags; // 0x10 - CBufferString m_name; // 0x18 // MKV3TransferName "m_localHAnimArray" - CUtlVector< CStrongHandle< InfoForResourceTypeCAnimData > > m_localHAnimArray_Handle; // 0x60 + CUtlVector< CStrongHandle< InfoForResourceTypeCAnimData > > m_localHAnimArray_Handle; // 0x60 // MKV3TransferName "m_includedGroupArray" - CUtlVector< CStrongHandle< InfoForResourceTypeCAnimationGroup > > m_includedGroupArray_Handle; // 0x78 + CUtlVector< CStrongHandle< InfoForResourceTypeCAnimationGroup > > m_includedGroupArray_Handle; // 0x78 // MKV3TransferName "m_directHSeqGroup" - CStrongHandle< InfoForResourceTypeCSequenceGroupData > m_directHSeqGroup_Handle; // 0x90 - CAnimKeyData m_decodeKey; // 0x98 - CUtlVector< CBufferString > m_szScripts; // 0x110 + CStrongHandle< InfoForResourceTypeCSequenceGroupData > m_directHSeqGroup_Handle; // 0x90 + CAnimKeyData m_decodeKey; // 0x98 + CUtlVector< CBufferString > m_szScripts; // 0x110 }; // Alignment: 8 // Size: 0x8 -class CSeqAutoLayerFlag : public -{ +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 + 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 }; // Alignment: 7 // Size: 0x1c -class CSeqAutoLayer : public -{ +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 + 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 }; // Alignment: 4 // Size: 0xc -class CSeqIKLock : public -{ +class CSeqIKLock +{ public: - float m_flPosWeight; // 0x0 - float m_flAngleWeight; // 0x4 - int16_t m_nLocalBone; // 0x8 - bool m_bBonesOrientedAlongPositiveX; // 0xa + float m_flPosWeight; // 0x0 + float m_flAngleWeight; // 0x4 + int16_t m_nLocalBone; // 0x8 + bool m_bBonesOrientedAlongPositiveX; // 0xa }; // Alignment: 5 // Size: 0x60 -class CSeqBoneMaskList : public -{ +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 + CBufferString m_sName; // 0x0 + CUtlVector< int16 > m_nLocalBoneArray; // 0x10 + CUtlVector< float32 > m_flBoneWeightArray; // 0x28 + float m_flDefaultMorphCtrlWeight; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + CUtlVector< CUtlPair< CBufferString, float32 > > m_morphCtrlWeightArray; // 0x48 }; // Alignment: 3 // Size: 0x40 -class CSeqScaleSet : public -{ +class CSeqScaleSet +{ public: - CBufferString m_sName; // 0x0 - CUtlVector< int16 > m_nLocalBoneArray; // 0x10 - CUtlVector< float32 > m_flBoneScaleArray; // 0x28 + CBufferString m_sName; // 0x0 + CUtlVector< int16 > m_nLocalBoneArray; // 0x10 + CUtlVector< float32 > m_flBoneScaleArray; // 0x28 }; // Alignment: 6 // Size: 0x6 -class CSeqMultiFetchFlag : public -{ +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 + 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 }; // Alignment: 8 // Size: 0x68 -class CSeqMultiFetch : public -{ +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 + CSeqMultiFetchFlag m_flags; // 0x0 + CUtlVector< int16 > m_localReferenceArray; // 0x8 + int32_t m_nGroupSize[2]; // 0x20 + int32_t m_nLocalPose[2]; // 0x28 + CUtlVector< float32 > m_poseKeyArray0; // 0x30 + CUtlVector< float32 > m_poseKeyArray1; // 0x48 + int32_t m_nLocalCyclePoseParameter; // 0x60 + bool m_bCalculatePoseParameters; // 0x64 }; // Alignment: 11 // Size: 0xb -class CSeqSeqDescFlag : public -{ +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 + 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 }; // Alignment: 2 // Size: 0x8 -class CSeqTransition : public -{ +class CSeqTransition +{ public: - float m_flFadeInTime; // 0x0 - float m_flFadeOutTime; // 0x4 + float m_flFadeInTime; // 0x0 + float m_flFadeOutTime; // 0x4 }; // Alignment: 11 // Size: 0x118 -class CSeqS1SeqDesc : public -{ +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_sName; // 0x0 + CSeqSeqDescFlag m_flags; // 0x10 +private: + [[maybe_unused]] uint8_t __pad001b[0x5]; // 0x1b +public: + CSeqMultiFetch m_fetch; // 0x20 + int32_t m_nLocalWeightlist; // 0x88 +private: + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c +public: + CUtlVector< CSeqAutoLayer > m_autoLayerArray; // 0x90 + CUtlVector< CSeqIKLock > m_IKLockArray; // 0xa8 + CSeqTransition m_transition; // 0xc0 + KeyValues3 m_SequenceKeys; // 0xc8 // MKV3TransferName "m_keyValueText" - CBufferString m_LegacyKeyValueText; // 0xd8 - CUtlVector< CAnimActivity > m_activityArray; // 0xe8 - CUtlVector< CFootMotion > m_footMotion; // 0x100 + CBufferString m_LegacyKeyValueText; // 0xd8 + CUtlVector< CAnimActivity > m_activityArray; // 0xe8 + CUtlVector< CFootMotion > m_footMotion; // 0x100 }; // Alignment: 6 // Size: 0x40 -class CSeqSynthAnimDesc : public -{ +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 + CBufferString m_sName; // 0x0 + CSeqSeqDescFlag m_flags; // 0x10 +private: + [[maybe_unused]] uint8_t __pad001b[0x1]; // 0x1b +public: + CSeqTransition m_transition; // 0x1c + int16_t m_nLocalBaseReference; // 0x24 + int16_t m_nLocalBoneMask; // 0x26 + CUtlVector< CAnimActivity > m_activityArray; // 0x28 }; // Alignment: 9 // Size: 0x18 -class CSeqCmdLayer : public -{ +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 + 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 +private: + [[maybe_unused]] uint8_t __pad000b[0x1]; // 0xb +public: + float m_flVar1; // 0xc + float m_flVar2; // 0x10 + int16_t m_nLineNumber; // 0x14 }; // Alignment: 8 // Size: 0x40 -class CSeqPoseSetting : public -{ +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 + 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 +private: + [[maybe_unused]] uint8_t __pad0037[0x1]; // 0x37 +public: + int32_t m_eType; // 0x38 }; // Alignment: 12 // Size: 0x90 -class CSeqCmdSeqDesc : public -{ +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 + CBufferString m_sName; // 0x0 + CSeqSeqDescFlag m_flags; // 0x10 +private: + [[maybe_unused]] uint8_t __pad001b[0x1]; // 0x1b +public: + 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 }; // Alignment: 5 // Size: 0x20 -class CSeqPoseParamDesc : public -{ +class CSeqPoseParamDesc +{ public: - CBufferString m_sName; // 0x0 - float m_flStart; // 0x10 - float m_flEnd; // 0x14 - float m_flLoop; // 0x18 - bool m_bLooping; // 0x1c + CBufferString m_sName; // 0x0 + float m_flStart; // 0x10 + float m_flEnd; // 0x14 + float m_flLoop; // 0x18 + bool m_bLooping; // 0x1c }; // Alignment: 14 // Size: 0x138 -class CSequenceGroupData : public -{ +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< CSeqScaleSet > m_localScaleSetArray; // 0xb8 - CUtlVector< CBufferString > m_localBoneNameArray; // 0xd0 - CBufferString m_localNodeName; // 0xe8 - CUtlVector< CSeqPoseParamDesc > m_localPoseParamArray; // 0xf8 - KeyValues3 m_keyValues; // 0x110 - CUtlVector< CSeqIKLock > m_localIKAutoplayLockArray; // 0x120 + CBufferString m_sName; // 0x10 + uint32_t m_nFlags; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + 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< CSeqScaleSet > m_localScaleSetArray; // 0xb8 + CUtlVector< CBufferString > m_localBoneNameArray; // 0xd0 + CBufferString m_localNodeName; // 0xe8 + CUtlVector< CSeqPoseParamDesc > m_localPoseParamArray; // 0xf8 + KeyValues3 m_keyValues; // 0x110 + CUtlVector< CSeqIKLock > m_localIKAutoplayLockArray; // 0x120 }; // Alignment: 17 // Size: 0x1a0 -class CCompressorGroup : public -{ +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< QuaternionStorage >* > 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 + 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 +private: + [[maybe_unused]] uint8_t __pad00e0[0x18]; // 0xe0 +public: + CUtlVector< CCompressor< Vector >* > m_vectorCompressor; // 0xf8 + CUtlVector< CCompressor< QuaternionStorage >* > 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 }; // Alignment: 1 // Size: 0x4 -class HSequence : public -{ +class HSequence +{ public: - int32_t m_Value; // 0x0 + int32_t m_Value; // 0x0 }; // Alignment: 1 // Size: 0x10 -class CAnimationGraphVisualizerPrimitiveBase : public -{ +class CAnimationGraphVisualizerPrimitiveBase +{ public: - CAnimationGraphVisualizerPrimitiveType m_Type; // 0x8 + CAnimationGraphVisualizerPrimitiveType m_Type; // 0x8 }; // Alignment: 3 // Size: 0x30 class CAnimationGraphVisualizerText : public CAnimationGraphVisualizerPrimitiveBase -{ +{ public: - VectorAligned m_vWsPosition; // 0x10 - Color m_Color; // 0x20 - CUtlString m_Text; // 0x28 + VectorAligned m_vWsPosition; // 0x10 + Color m_Color; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + CUtlString m_Text; // 0x28 }; // Alignment: 3 // Size: 0x30 class CAnimationGraphVisualizerSphere : public CAnimationGraphVisualizerPrimitiveBase -{ +{ public: - VectorAligned m_vWsPosition; // 0x10 - float m_flRadius; // 0x20 - Color m_Color; // 0x24 + VectorAligned m_vWsPosition; // 0x10 + float m_flRadius; // 0x20 + Color m_Color; // 0x24 }; // Alignment: 3 // Size: 0x40 class CAnimationGraphVisualizerLine : public CAnimationGraphVisualizerPrimitiveBase -{ +{ public: - VectorAligned m_vWsPositionStart; // 0x10 - VectorAligned m_vWsPositionEnd; // 0x20 - Color m_Color; // 0x30 + VectorAligned m_vWsPositionStart; // 0x10 + VectorAligned m_vWsPositionEnd; // 0x20 + Color m_Color; // 0x30 }; // Alignment: 4 // Size: 0x50 class CAnimationGraphVisualizerPie : public CAnimationGraphVisualizerPrimitiveBase -{ +{ public: - VectorAligned m_vWsCenter; // 0x10 - VectorAligned m_vWsStart; // 0x20 - VectorAligned m_vWsEnd; // 0x30 - Color m_Color; // 0x40 + VectorAligned m_vWsCenter; // 0x10 + VectorAligned m_vWsStart; // 0x20 + VectorAligned m_vWsEnd; // 0x30 + Color m_Color; // 0x40 }; // Alignment: 2 // Size: 0x40 class CAnimationGraphVisualizerAxis : public CAnimationGraphVisualizerPrimitiveBase -{ +{ public: - CTransform m_xWsTransform; // 0x10 - float m_flAxisSize; // 0x30 + CTransform m_xWsTransform; // 0x10 + float m_flAxisSize; // 0x30 }; // Alignment: 1 // Size: 0x4 -class AnimNodeID : public -{ +class AnimNodeID +{ public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; // Alignment: 1 // Size: 0x4 -class AnimNodeOutputID : public -{ +class AnimNodeOutputID +{ public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; // Alignment: 1 // Size: 0x4 -class AnimStateID : public -{ +class AnimStateID +{ public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; // Alignment: 1 // Size: 0x4 -class AnimParamID : public -{ +class AnimParamID +{ public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; // Alignment: 1 // Size: 0x4 -class AnimTagID : public -{ +class AnimTagID +{ public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; // Alignment: 1 // Size: 0x4 -class AnimComponentID : public -{ +class AnimComponentID +{ public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; // Alignment: 1 // Size: 0x4 -class AnimScriptHandle : public -{ +class AnimScriptHandle +{ public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; // Alignment: 1 // Size: 0x1 -class CAnimEnum : public -{ +class CAnimEnum +{ public: - uint8_t m_value; // 0x0 + uint8_t m_value; // 0x0 }; // Alignment: 2 // Size: 0x8 -class CBlendCurve : public -{ +class CBlendCurve +{ public: - float m_flControlPoint1; // 0x0 - float m_flControlPoint2; // 0x4 + float m_flControlPoint1; // 0x0 + float m_flControlPoint2; // 0x4 }; // Alignment: 2 // Size: 0x30 -class CAnimNodePath : public -{ +class CAnimNodePath +{ public: - AnimNodeID[11] m_path; // 0x0 - int32_t m_nCount; // 0x2c + AnimNodeID m_path[11]; // 0x0 + int32_t m_nCount; // 0x2c }; // Alignment: 2 // Size: 0x4 -class CPoseHandle : public -{ +class CPoseHandle +{ public: - uint16_t m_nIndex; // 0x0 - PoseType_t m_eType; // 0x2 + uint16_t m_nIndex; // 0x0 + PoseType_t m_eType; // 0x2 }; // Alignment: 2 // Size: 0x8 -class CAnimNodeConnection : public -{ +class CAnimNodeConnection +{ public: - AnimNodeID m_nodeID; // 0x0 - AnimNodeOutputID m_outputID; // 0x4 + AnimNodeID m_nodeID; // 0x0 + AnimNodeOutputID m_outputID; // 0x4 }; // Alignment: 2 // Size: 0x4 -class ConfigIndex : public -{ +class ConfigIndex +{ public: - uint16_t m_nGroup; // 0x0 - uint16_t m_nConfig; // 0x2 + uint16_t m_nGroup; // 0x0 + uint16_t m_nConfig; // 0x2 }; // Alignment: 2 // Size: 0x4 -class MotionIndex : public -{ +class MotionIndex +{ public: - uint16_t m_nGroup; // 0x0 - uint16_t m_nMotion; // 0x2 + uint16_t m_nGroup; // 0x0 + uint16_t m_nMotion; // 0x2 }; // Alignment: 5 // Size: 0x20 -class CMotionGraphConfig : public -{ +class CMotionGraphConfig +{ public: - float32[4] m_paramValues; // 0x0 - float m_flDuration; // 0x10 - MotionIndex m_nMotionIndex; // 0x14 - int32_t m_nSampleStart; // 0x18 - int32_t m_nSampleCount; // 0x1c + float m_paramValues[4]; // 0x0 + float m_flDuration; // 0x10 + MotionIndex m_nMotionIndex; // 0x14 + int32_t m_nSampleStart; // 0x18 + int32_t m_nSampleCount; // 0x1c }; // Alignment: 1 // Size: 0x10 -struct IKBoneNameAndIndex_t : public -{ +struct IKBoneNameAndIndex_t +{ public: // MPropertyAttributeChoiceName "Bone" - CUtlString m_Name; // 0x0 + CUtlString m_Name; // 0x0 }; // Alignment: 2 // Size: 0x8 -struct IKSolverSettings_t : public -{ +struct IKSolverSettings_t +{ public: // MPropertyFriendlyName "Solver Type" // MPropertyAttributeChoiceEnumName // MPropertyAttrChangeCallback - IKSolverType m_SolverType; // 0x0 + IKSolverType m_SolverType; // 0x0 // MPropertyFriendlyName "Num Iterations " // MPropertyAttrStateCallback - int32_t m_nNumIterations; // 0x4 + int32_t m_nNumIterations; // 0x4 }; // Alignment: 4 // Size: 0x20 -struct IKTargetSettings_t : public -{ +struct IKTargetSettings_t +{ public: // MPropertyFriendlyName "Target Source" // MPropertyAttributeChoiceEnumName // MPropertyAttrChangeCallback - IKTargetSource m_TargetSource; // 0x0 + IKTargetSource m_TargetSource; // 0x0 // MPropertyFriendlyName "Bone" // MPropertyAttrStateCallback - IKBoneNameAndIndex_t m_Bone; // 0x8 + IKBoneNameAndIndex_t m_Bone; // 0x8 // MPropertyFriendlyName "Animgraph Position Parameter" // MPropertyAttributeChoiceName "VectorParameter" // MPropertyAttrStateCallback - AnimParamID m_AnimgraphParameterNamePosition; // 0x18 + AnimParamID m_AnimgraphParameterNamePosition; // 0x18 // MPropertyFriendlyName "Target Coords" // MPropertyAttrStateCallback - IKTargetCoordinateSystem m_TargetCoordSystem; // 0x1c + IKTargetCoordinateSystem m_TargetCoordSystem; // 0x1c }; -// Alignment: 6 -// Size: 0xe0 -class CAnimationSubGraph : public -{ +// Alignment: 1 +// Size: 0x48 +class CAnimNodeManager +{ public: - CAnimNodeManager m_nodeManager; // 0x8 - CAnimComponentManager m_componentManager; // 0x50 - CUtlVector< CSmartPtr< CAnimParameterBase > > m_localParameters; // 0x78 - CUtlVector< CSmartPtr< CAnimTagBase > > m_localTags; // 0x90 - CUtlVector< CUtlString > m_referencedParamGroups; // 0xa8 - CUtlVector< CUtlString > m_referencedTagGroups; // 0xc0 + // MPropertyHideField + CUtlHashtable< AnimNodeID, CSmartPtr< CAnimNodeBase > > m_nodes; // 0x8 }; // Alignment: 2 // Size: 0x28 -class CAnimGraphModelBinding : public -{ +class CAnimGraphModelBinding +{ public: - CUtlString m_modelName; // 0x8 - CSmartPtr< CAnimUpdateSharedData > m_pSharedData; // 0x10 + CUtlString m_modelName; // 0x8 + CSmartPtr< CAnimUpdateSharedData > m_pSharedData; // 0x10 }; // Alignment: 1 // Size: 0x38 -class CAnimClipDataManager : public -{ +class CAnimClipDataManager +{ public: - CUtlHashtable< CUtlString, CSmartPtr< CAnimClipData > > m_itemTable; // 0x18 + CUtlHashtable< CUtlString, CSmartPtr< CAnimClipData > > m_itemTable; // 0x18 }; // Alignment: 2 // Size: 0x48 -class CAnimClipData : public -{ +class CAnimClipData +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_clipName; // 0x38 + CUtlString m_clipName; // 0x38 }; // Alignment: 1 // Size: 0x58 -class CAnimParameterList : public -{ +class CAnimParameterList +{ public: - CUtlVector< CSmartPtr< CAnimParameterBase > > m_Parameters; // 0x20 + CUtlVector< CSmartPtr< CAnimParameterBase > > m_Parameters; // 0x20 }; // Alignment: 1 // Size: 0x28 -class CAnimNodeList : public -{ +class CAnimNodeList +{ public: - CUtlVector< CAnimNodeBase* > m_nodes; // 0x10 -}; - -// Alignment: 1 -// Size: 0x48 -class CAnimNodeManager : public -{ -public: - // MPropertyHideField - CUtlHashtable< AnimNodeID, CSmartPtr< CAnimNodeBase > > m_nodes; // 0x8 + CUtlVector< CAnimNodeBase* > m_nodes; // 0x10 }; // Alignment: 1 // Size: 0x28 -class CAnimStateList : public -{ +class CAnimComponentManager +{ public: - CUtlVector< CAnimState* > m_states; // 0x10 + CUtlVector< CSmartPtr< CAnimComponentBase > > m_components; // 0x8 +}; + +// Alignment: 1 +// Size: 0x28 +class CAnimStateList +{ +public: + CUtlVector< CAnimState* > m_states; // 0x10 }; // Alignment: 2 // Size: 0x10 -class CAnimInputDamping : public -{ +class CAnimInputDamping +{ public: // MPropertyFriendlyName "Speed Function" - DampingSpeedFunction m_speedFunction; // 0x8 + DampingSpeedFunction m_speedFunction; // 0x8 // MPropertyFriendlyName "Speed Scale" - float m_fSpeedScale; // 0xc + float m_fSpeedScale; // 0xc }; -// Alignment: 10 -// Size: 0x100 -class CAnimUpdateSharedData : public -{ +// Alignment: 1 +// Size: 0x30 +class CAnimGraphSettingsManager +{ public: - CUtlVector< CSmartPtr< CAnimUpdateNodeBase > > m_nodes; // 0x10 - CUtlHashtable< CAnimNodePath, int32 > m_nodeIndexMap; // 0x28 - CUtlVector< CSmartPtr< CAnimComponentUpdater > > m_components; // 0x48 - CSmartPtr< CAnimParameterListUpdater > m_pParamListUpdater; // 0x60 - CSmartPtr< CAnimTagManagerUpdater > m_pTagManagerUpdater; // 0x68 - CSmartPtr< CAnimScriptManager > m_scriptManager; // 0x70 - CAnimGraphSettingsManager m_settings; // 0x78 - CSmartPtr< CStaticPoseCacheBuilder > m_pStaticPoseCache; // 0xa8 - CSmartPtr< CAnimSkeleton > m_pSkeleton; // 0xb0 - CAnimNodePath m_rootNodePath; // 0xb8 + CUtlVector< CSmartPtr< CAnimGraphSettingsGroup > > m_settingsGroups; // 0x18 }; // Alignment: 3 // Size: 0x18 -class CFloatAnimValue : public -{ +class CFloatAnimValue +{ public: // MPropertyHideField - float m_flConstValue; // 0x8 + float m_flConstValue; // 0x8 // MPropertyHideField - AnimParamID m_paramID; // 0xc + AnimParamID m_paramID; // 0xc // MPropertyHideField - EAnimValueSource m_eSource; // 0x10 + EAnimValueSource m_eSource; // 0x10 }; // Alignment: 4 // Size: 0x40 -class CCachedPose : public -{ +class CCachedPose +{ public: - CUtlVector< CTransform > m_transforms; // 0x8 - CUtlVector< float32 > m_morphWeights; // 0x20 - HSequence m_hSequence; // 0x38 - float m_flCycle; // 0x3c + CUtlVector< CTransform > m_transforms; // 0x8 + CUtlVector< float32 > m_morphWeights; // 0x20 + HSequence m_hSequence; // 0x38 + float m_flCycle; // 0x3c }; // Alignment: 3 // Size: 0x30 -class CStaticPoseCache : public -{ +class CStaticPoseCache +{ public: - CUtlVector< CCachedPose > m_poses; // 0x10 - int32_t m_nBoneCount; // 0x28 - int32_t m_nMorphCount; // 0x2c + CUtlVector< CCachedPose > m_poses; // 0x10 + int32_t m_nBoneCount; // 0x28 + int32_t m_nMorphCount; // 0x2c }; // Alignment: 0 // Size: 0x38 class CStaticPoseCacheBuilder : public CStaticPoseCache -{ +{ public: // no members available }; -// Alignment: 1 -// Size: 0x30 -class CAnimGraphSettingsManager : public -{ +// Alignment: 10 +// Size: 0x100 +class CAnimUpdateSharedData +{ public: - CUtlVector< CSmartPtr< CAnimGraphSettingsGroup > > m_settingsGroups; // 0x18 + CUtlVector< CSmartPtr< CAnimUpdateNodeBase > > m_nodes; // 0x10 + CUtlHashtable< CAnimNodePath, int32 > m_nodeIndexMap; // 0x28 + CUtlVector< CSmartPtr< CAnimComponentUpdater > > m_components; // 0x48 + CSmartPtr< CAnimParameterListUpdater > m_pParamListUpdater; // 0x60 + CSmartPtr< CAnimTagManagerUpdater > m_pTagManagerUpdater; // 0x68 + CSmartPtr< CAnimScriptManager > m_scriptManager; // 0x70 + CAnimGraphSettingsManager m_settings; // 0x78 + CSmartPtr< CStaticPoseCacheBuilder > m_pStaticPoseCache; // 0xa8 + CSmartPtr< CAnimSkeleton > m_pSkeleton; // 0xb0 + CAnimNodePath m_rootNodePath; // 0xb8 }; // Alignment: 2 // Size: 0x20 -class CAnimParamSpanSample : public -{ +class CAnimParamSpanSample +{ public: - CAnimVariant m_value; // 0x8 - float m_flCycle; // 0x1c + CAnimVariant m_value; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + float m_flCycle; // 0x1c }; // Alignment: 4 // Size: 0x48 -class CAnimParamSpan : public -{ +class CAnimParamSpan +{ public: - CUtlVector< CAnimParamSpanSample > m_samples; // 0x20 - AnimParamID m_id; // 0x38 - float m_flStartCycle; // 0x3c - float m_flEndCycle; // 0x40 + CUtlVector< CAnimParamSpanSample > m_samples; // 0x20 + AnimParamID m_id; // 0x38 + float m_flStartCycle; // 0x3c + float m_flEndCycle; // 0x40 }; // Alignment: 2 // Size: 0x18 -struct ParamSpanSample_t : public -{ +struct ParamSpanSample_t +{ public: - CAnimVariant m_value; // 0x0 - float m_flCycle; // 0x14 + CAnimVariant m_value; // 0x0 + float m_flCycle; // 0x14 }; -// Alignment: 5 -// Size: 0x28 -struct ParamSpan_t : public -{ +// Alignment: 2 +// Size: 0x2 +class CAnimParamHandle +{ public: - CUtlVector< ParamSpanSample_t > m_samples; // 0x0 - CAnimParamHandle m_hParam; // 0x18 - AnimParamType_t m_eParamType; // 0x1a - float m_flStartCycle; // 0x1c - float m_flEndCycle; // 0x20 + AnimParamType_t m_type; // 0x0 + uint8_t m_index; // 0x1 }; // Alignment: 1 // Size: 0x18 -class CParamSpanUpdater : public -{ +class CParamSpanUpdater +{ public: - CUtlVector< ParamSpan_t > m_spans; // 0x0 + CUtlVector< ParamSpan_t > m_spans; // 0x0 }; // Alignment: 0 // Size: 0x20 -class CAnimGraphSettingsGroup : public -{ +class CAnimGraphSettingsGroup +{ public: // no members available }; @@ -1993,252 +2136,275 @@ public: // Alignment: 1 // Size: 0x28 class CAnimGraphNetworkSettings : public CAnimGraphSettingsGroup -{ +{ public: // MPropertyFriendlyName "Enable Networking" - bool m_bNetworkingEnabled; // 0x20 + bool m_bNetworkingEnabled; // 0x20 }; // Alignment: 5 // Size: 0x38 -class CAnimComponentBase : public -{ +class CAnimComponentBase +{ public: // MPropertyHideField - CUtlString m_group; // 0x18 + CUtlString m_group; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0020[0x8]; // 0x20 +public: // MPropertyHideField - AnimComponentID m_id; // 0x28 + AnimComponentID m_id; // 0x28 // MPropertyFriendlyName "Start Enabled" - bool m_bStartEnabled; // 0x2c + bool m_bStartEnabled; // 0x2c +private: + [[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d +public: // MPropertyFriendlyName "Priority" - int32_t m_nPriority; // 0x30 + int32_t m_nPriority; // 0x30 // MPropertyFriendlyName "Network Mode" - AnimNodeNetworkMode m_networkMode; // 0x34 + AnimNodeNetworkMode m_networkMode; // 0x34 }; -// Alignment: 1 -// Size: 0x28 -class CAnimComponentManager : public -{ +// Alignment: 6 +// Size: 0xe0 +class CAnimationSubGraph +{ public: - CUtlVector< CSmartPtr< CAnimComponentBase > > m_components; // 0x8 + CAnimNodeManager m_nodeManager; // 0x8 + CAnimComponentManager m_componentManager; // 0x50 + CUtlVector< CSmartPtr< CAnimParameterBase > > m_localParameters; // 0x78 + CUtlVector< CSmartPtr< CAnimTagBase > > m_localTags; // 0x90 + CUtlVector< CUtlString > m_referencedParamGroups; // 0xa8 + CUtlVector< CUtlString > m_referencedTagGroups; // 0xc0 }; // Alignment: 2 // Size: 0x58 class CAnimScriptComponent : public CAnimComponentBase -{ +{ public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_sName; // 0x40 + CUtlString m_sName; // 0x40 // MPropertyFriendlyName "Script File" // MPropertyAttributeEditor "AssetBrowse( as )" // MPropertyAttrChangeCallback - CUtlString m_scriptFilename; // 0x48 + CUtlString m_scriptFilename; // 0x48 }; // Alignment: 2 // Size: 0x58 class CActionComponent : public CAnimComponentBase -{ +{ public: - CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 + CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_sName; // 0x50 + CUtlString m_sName; // 0x50 }; // Alignment: 6 // Size: 0x28 -class CDampedValueItem : public -{ +class CDampedValueItem +{ public: // MPropertyFriendlyName "Value Type" // MPropertyAttrChangeCallback - DampedValueType m_valueType; // 0x0 + DampedValueType m_valueType; // 0x0 // MPropertyFriendlyName "Parameter In" // MPropertyAttributeChoiceName "FloatParameter" // MPropertyAttrStateCallback - AnimParamID m_floatParamIn; // 0x4 + AnimParamID m_floatParamIn; // 0x4 // MPropertyFriendlyName "Parameter Out" // MPropertyAttributeChoiceName "PrivateFloatParameter" // MPropertyAttrStateCallback - AnimParamID m_floatParamOut; // 0x8 + AnimParamID m_floatParamOut; // 0x8 // MPropertyFriendlyName "Parameter In" // MPropertyAttributeChoiceName "VectorParameter" // MPropertyAttrStateCallback - AnimParamID m_vectorParamIn; // 0xc + AnimParamID m_vectorParamIn; // 0xc // MPropertyFriendlyName "Parameter Out" // MPropertyAttributeChoiceName "PrivateVectorParameter" // MPropertyAttrStateCallback - AnimParamID m_vectorParamOut; // 0x10 + AnimParamID m_vectorParamOut; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x18 + CAnimInputDamping m_damping; // 0x18 }; // Alignment: 2 // Size: 0x58 class CDampedValueComponent : public CAnimComponentBase -{ +{ public: // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x38 + CUtlString m_name; // 0x38 // MPropertyFriendlyName "Items" // MPropertyAutoExpandSelf - CUtlVector< CDampedValueItem > m_items; // 0x40 + CUtlVector< CDampedValueItem > m_items; // 0x40 }; // Alignment: 3 // Size: 0x20 -class CDampedValueUpdateItem : public -{ +class CDampedValueUpdateItem +{ public: - CAnimInputDamping m_damping; // 0x0 - CAnimParamHandle m_hParamIn; // 0x18 - CAnimParamHandle m_hParamOut; // 0x1a + CAnimInputDamping m_damping; // 0x0 + CAnimParamHandle m_hParamIn; // 0x18 + CAnimParamHandle m_hParamOut; // 0x1a }; // Alignment: 7 // Size: 0x108 class CMovementComponent : public CAnimComponentBase -{ +{ public: // MPropertyFriendlyName "Movement Modes" - CUtlVector< CMovementMode > m_moveModes; // 0x40 + CUtlVector< CMovementMode > m_moveModes; // 0x40 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimMotorBase > > m_motors; // 0x58 + CUtlVector< CSmartPtr< CAnimMotorBase > > m_motors; // 0x58 // MPropertyFriendlyName "Network Path" - bool m_bNetworkPath; // 0x70 + bool m_bNetworkPath; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 +public: // MPropertyGroupName "+Facing" // MPropertyFriendlyName "Default Mode" - FacingMode m_eDefaultFacingMode; // 0x74 + FacingMode m_eDefaultFacingMode; // 0x74 // MPropertyGroupName "+Facing" // MPropertyFriendlyName "Damping" - CAnimInputDamping m_facingDamping; // 0x78 + CAnimInputDamping m_facingDamping; // 0x78 // MPropertyGroupName "+Facing" // MPropertyFriendlyName "Network Facing" - bool m_bNetworkFacing; // 0x88 + bool m_bNetworkFacing; // 0x88 +private: + [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 +public: // MPropertyHideField - AnimParamID[30] m_paramIDs; // 0x8c + AnimParamID m_paramIDs[30]; // 0x8c }; // Alignment: 1 // Size: 0x40 class CLODComponent : public CAnimComponentBase -{ +{ public: - int32_t m_nServerLOD; // 0x38 + int32_t m_nServerLOD; // 0x38 }; // Alignment: 7 // Size: 0x60 class CLookComponent : public CAnimComponentBase -{ +{ public: // MPropertyFriendlyName "Network Look Target" - bool m_bNetworkLookTarget; // 0x40 + bool m_bNetworkLookTarget; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: // MPropertyHideField - AnimParamID m_lookHeadingID; // 0x44 + AnimParamID m_lookHeadingID; // 0x44 // MPropertyHideField - AnimParamID m_lookHeadingVelocityID; // 0x48 + AnimParamID m_lookHeadingVelocityID; // 0x48 // MPropertyHideField - AnimParamID m_lookPitchID; // 0x4c + AnimParamID m_lookPitchID; // 0x4c // MPropertyHideField - AnimParamID m_lookDirectionID; // 0x50 + AnimParamID m_lookDirectionID; // 0x50 // MPropertyHideField - AnimParamID m_lookTargetID; // 0x54 + AnimParamID m_lookTargetID; // 0x54 // MPropertyHideField - AnimParamID m_lookTargetWorldSpaceID; // 0x58 + AnimParamID m_lookTargetWorldSpaceID; // 0x58 }; // Alignment: 2 // Size: 0x10 -class CRigidBodyWeight : public -{ +class CRigidBodyWeight +{ public: - CUtlString m_name; // 0x0 - float m_flWeight; // 0x8 + CUtlString m_name; // 0x0 + float m_flWeight; // 0x8 }; // Alignment: 2 // Size: 0x28 -class CRigidBodyWeightList : public -{ +class CRigidBodyWeightList +{ public: - CUtlString m_name; // 0x8 - CUtlVector< CRigidBodyWeight > m_weights; // 0x10 + CUtlString m_name; // 0x8 + CUtlVector< CRigidBodyWeight > m_weights; // 0x10 }; // Alignment: 3 // Size: 0x58 class CRagdollComponent : public CAnimComponentBase -{ +{ public: - CUtlVector< CRigidBodyWeightList > m_weightLists; // 0x38 - float m_flSpringFrequencyMin; // 0x50 - float m_flSpringFrequencyMax; // 0x54 + CUtlVector< CRigidBodyWeightList > m_weightLists; // 0x38 + float m_flSpringFrequencyMin; // 0x50 + float m_flSpringFrequencyMax; // 0x54 }; // Alignment: 2 // Size: 0x20 -class WeightList : public -{ +class WeightList +{ public: - CUtlString m_name; // 0x0 - CUtlVector< float32 > m_weights; // 0x8 + CUtlString m_name; // 0x0 + CUtlVector< float32 > m_weights; // 0x8 }; // Alignment: 7 // Size: 0x60 class CSlopeComponent : public CAnimComponentBase -{ +{ public: // MPropertyFriendlyName "Trace Distance" - float m_flTraceDistance; // 0x40 + float m_flTraceDistance; // 0x40 // MPropertyHideField - AnimParamID m_slopeAngleID; // 0x44 + AnimParamID m_slopeAngleID; // 0x44 // MPropertyHideField - AnimParamID m_slopeHeadingID; // 0x48 + AnimParamID m_slopeHeadingID; // 0x48 // MPropertyHideField - AnimParamID m_slopeAngleSideID; // 0x4c + AnimParamID m_slopeAngleSideID; // 0x4c // MPropertyHideField - AnimParamID m_slopeAngleFrontID; // 0x50 + AnimParamID m_slopeAngleFrontID; // 0x50 // MPropertyHideField - AnimParamID m_slopeNormalID; // 0x54 + AnimParamID m_slopeNormalID; // 0x54 // MPropertyHideField - AnimParamID m_slopeNormal_WorldSpaceID; // 0x58 + AnimParamID m_slopeNormal_WorldSpaceID; // 0x58 }; // Alignment: 9 // Size: 0x60 class CVRInputComponent : public CAnimComponentBase -{ +{ public: // MPropertyHideField - AnimParamID m_FingerCurl_Thumb; // 0x38 + AnimParamID m_FingerCurl_Thumb; // 0x38 // MPropertyHideField - AnimParamID m_FingerCurl_Index; // 0x3c + AnimParamID m_FingerCurl_Index; // 0x3c // MPropertyHideField - AnimParamID m_FingerCurl_Middle; // 0x40 + AnimParamID m_FingerCurl_Middle; // 0x40 // MPropertyHideField - AnimParamID m_FingerCurl_Ring; // 0x44 + AnimParamID m_FingerCurl_Ring; // 0x44 // MPropertyHideField - AnimParamID m_FingerCurl_Pinky; // 0x48 + AnimParamID m_FingerCurl_Pinky; // 0x48 // MPropertyHideField - AnimParamID m_FingerSplay_Thumb_Index; // 0x4c + AnimParamID m_FingerSplay_Thumb_Index; // 0x4c // MPropertyHideField - AnimParamID m_FingerSplay_Index_Middle; // 0x50 + AnimParamID m_FingerSplay_Index_Middle; // 0x50 // MPropertyHideField - AnimParamID m_FingerSplay_Middle_Ring; // 0x54 + AnimParamID m_FingerSplay_Middle_Ring; // 0x54 // MPropertyHideField - AnimParamID m_FingerSplay_Ring_Pinky; // 0x58 + AnimParamID m_FingerSplay_Ring_Pinky; // 0x58 }; // Alignment: 0 // Size: 0x28 -class CAnimActionBase : public -{ +class CAnimActionBase +{ public: // no members available }; @@ -2246,1818 +2412,1965 @@ public: // Alignment: 1 // Size: 0x30 class CEmitTagAction : public CAnimActionBase -{ +{ public: // MPropertyFriendlyName "Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tag; // 0x28 + AnimTagID m_tag; // 0x28 }; // Alignment: 2 // Size: 0x40 class CSetParameterAction : public CAnimActionBase -{ +{ public: // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "Parameter" - AnimParamID m_param; // 0x28 + AnimParamID m_param; // 0x28 // MPropertyFriendlyName "Value" - CAnimVariant m_value; // 0x2c + CAnimVariant m_value; // 0x2c }; // Alignment: 2 // Size: 0x30 class CToggleComponentAction : public CAnimActionBase -{ +{ public: // MPropertyFriendlyName "Component" // MPropertyAttributeChoiceName "Component" - AnimComponentID m_componentID; // 0x28 + AnimComponentID m_componentID; // 0x28 // MPropertyFriendlyName "Set Enabled" - bool m_bSetEnabled; // 0x2c + bool m_bSetEnabled; // 0x2c }; // Alignment: 2 // Size: 0x38 class CExpressionAction : public CAnimActionBase -{ +{ public: - AnimParamID m_param; // 0x28 - CUtlString m_expression; // 0x30 + AnimParamID m_param; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CUtlString m_expression; // 0x30 }; // Alignment: 2 // Size: 0x28 -class CAnimMotorBase : public -{ +class CAnimMotorBase +{ public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_name; // 0x18 + CUtlString m_name; // 0x18 // MPropertyFriendlyName "Is Default" - bool m_bDefault; // 0x20 + bool m_bDefault; // 0x20 }; // Alignment: 1 // Size: 0x30 class CPathAnimMotorBase : public CAnimMotorBase -{ +{ public: // MPropertyFriendlyName "Lock To Path" // MPropertySortPriority "90" - bool m_bLockToPath; // 0x28 + bool m_bLockToPath; // 0x28 }; // Alignment: 0 // Size: 0x30 -class CPathAnimMotor : public CPathAnimMotorBase, CAnimMotorBase -{ +class CPathAnimMotor : public CPathAnimMotorBase +{ public: // no members available }; // Alignment: 7 // Size: 0x50 -class CDampedPathAnimMotor : public CPathAnimMotorBase, CAnimMotorBase -{ +class CDampedPathAnimMotor : public CPathAnimMotorBase +{ public: // MPropertyFriendlyName "Anticipation Time" - float m_flAnticipationTime; // 0x30 + float m_flAnticipationTime; // 0x30 // MPropertyFriendlyName "Minimum Speed Percentage" - float m_flMinSpeedScale; // 0x34 + float m_flMinSpeedScale; // 0x34 // MPropertyFriendlyName "Anticipation Position Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_anticipationPosParam; // 0x38 + AnimParamID m_anticipationPosParam; // 0x38 // MPropertyFriendlyName "Anticipation Heading Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_anticipationHeadingParam; // 0x3c + AnimParamID m_anticipationHeadingParam; // 0x3c // MPropertyFriendlyName "Spring Constant" // MPropertyGroupName "+Stopping:Arrival Damping" - float m_flSpringConstant; // 0x40 + float m_flSpringConstant; // 0x40 // MPropertyFriendlyName "Min Tension" // MPropertyGroupName "+Stopping:Arrival Damping" - float m_flMinSpringTension; // 0x44 + float m_flMinSpringTension; // 0x44 // MPropertyFriendlyName "Max Tension" // MPropertyGroupName "+Stopping:Arrival Damping" - float m_flMaxSpringTension; // 0x48 + float m_flMaxSpringTension; // 0x48 }; // Alignment: 6 // Size: 0x58 class CPlayerInputAnimMotor : public CAnimMotorBase -{ +{ public: // MPropertyFriendlyName "Sample Times" - CUtlVector< float32 > m_sampleTimes; // 0x28 + CUtlVector< float32 > m_sampleTimes; // 0x28 // MPropertyFriendlyName "Use Acceleration" - bool m_bUseAcceleration; // 0x40 + bool m_bUseAcceleration; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: // MPropertyFriendlyName "Spring Constant" - float m_flSpringConstant; // 0x44 + float m_flSpringConstant; // 0x44 // MPropertyFriendlyName "Anticipation Distance" - float m_flAnticipationDistance; // 0x48 + float m_flAnticipationDistance; // 0x48 // MPropertyFriendlyName "Anticipation Position Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_anticipationPosParam; // 0x4c + AnimParamID m_anticipationPosParam; // 0x4c // MPropertyFriendlyName "Anticipation Heading Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_anticipationHeadingParam; // 0x50 + AnimParamID m_anticipationHeadingParam; // 0x50 }; // Alignment: 12 // Size: 0x78 -class CAnimParameterBase : public -{ +class CAnimParameterBase +{ public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CAnimGraphSymbolWithStorage m_name; // 0x18 + CAnimGraphSymbolWithStorage m_name; // 0x18 // MPropertyHideField - CUtlString m_group; // 0x38 + CUtlString m_group; // 0x38 // MPropertyHideField - AnimParamID m_id; // 0x40 + AnimParamID m_id; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x14]; // 0x44 +public: // MPropertyHideField // MPropertyAttrChangeCallback - CUtlString m_componentName; // 0x58 + CUtlString m_componentName; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0060[0x4]; // 0x60 +public: // MPropertyFriendlyName "Preview Button" - AnimParamButton_t m_previewButton; // 0x64 + AnimParamButton_t m_previewButton; // 0x64 // MPropertyFriendlyName "Force Latest Value" - bool m_bUseMostRecentValue; // 0x68 + bool m_bUseMostRecentValue; // 0x68 // MPropertyFriendlyName "Auto Reset" - bool m_bAutoReset; // 0x69 + bool m_bAutoReset; // 0x69 +private: + [[maybe_unused]] uint8_t __pad006a[0x2]; // 0x6a +public: // MPropertyFriendlyName "Network" - AnimParamNetworkSetting m_eNetworkSetting; // 0x6c + AnimParamNetworkSetting m_eNetworkSetting; // 0x6c // MPropertyFriendlyName "Game Writable" // MPropertyGroupName "+Permissions" // MPropertyAttrStateCallback - bool m_bGameWritable; // 0x70 + bool m_bGameWritable; // 0x70 // MPropertyFriendlyName "Graph Writable" // MPropertyGroupName "+Permissions" // MPropertyAttrStateCallback - bool m_bGraphWritable; // 0x71 + bool m_bGraphWritable; // 0x71 // MPropertyHideField - bool m_bIsReferenced; // 0x72 + bool m_bIsReferenced; // 0x72 // MPropertyHideField - bool m_bNetworkingRequested; // 0x73 + bool m_bNetworkingRequested; // 0x73 }; // Alignment: 1 // Size: 0x80 class CBoolAnimParameter : public CAnimParameterBase -{ +{ public: // MPropertyFriendlyName "Default Value" - bool m_bDefaultValue; // 0x78 + bool m_bDefaultValue; // 0x78 }; // Alignment: 2 // Size: 0xd0 class CEnumAnimParameter : public CAnimParameterBase -{ +{ public: // MPropertyFriendlyName "Default Value" - uint8_t m_defaultValue; // 0x80 + uint8_t m_defaultValue; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0081[0x7]; // 0x81 +public: // MPropertyFriendlyName "Values" - CUtlVector< CUtlString > m_enumOptions; // 0x88 + CUtlVector< CUtlString > m_enumOptions; // 0x88 }; // Alignment: 3 // Size: 0x88 class CIntAnimParameter : public CAnimParameterBase -{ +{ public: // MPropertyFriendlyName "Default Value" - int32_t m_defaultValue; // 0x78 + int32_t m_defaultValue; // 0x78 // MPropertyFriendlyName "Min Value" - int32_t m_minValue; // 0x7c + int32_t m_minValue; // 0x7c // MPropertyFriendlyName "Max Value" - int32_t m_maxValue; // 0x80 + int32_t m_maxValue; // 0x80 }; // Alignment: 4 // Size: 0x88 class CFloatAnimParameter : public CAnimParameterBase -{ +{ public: // MPropertyFriendlyName "Default Value" - float m_fDefaultValue; // 0x78 + float m_fDefaultValue; // 0x78 // MPropertyFriendlyName "Min Value" - float m_fMinValue; // 0x7c + float m_fMinValue; // 0x7c // MPropertyFriendlyName "Max Value" - float m_fMaxValue; // 0x80 + float m_fMaxValue; // 0x80 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x84 + bool m_bInterpolate; // 0x84 }; // Alignment: 2 // Size: 0x88 class CVectorAnimParameter : public CAnimParameterBase -{ +{ public: // MPropertyFriendlyName "Default Value" - Vector m_defaultValue; // 0x78 + Vector m_defaultValue; // 0x78 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x84 + bool m_bInterpolate; // 0x84 }; // Alignment: 2 // Size: 0xa0 class CQuaternionAnimParameter : public CAnimParameterBase -{ +{ public: // MPropertyFriendlyName "Default Value" - Quaternion m_defaultValue; // 0x80 + Quaternion m_defaultValue; // 0x80 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x90 + bool m_bInterpolate; // 0x90 }; // Alignment: 4 // Size: 0x38 -class CAnimNodeBase : public -{ +class CAnimNodeBase +{ public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_sName; // 0x20 + CUtlString m_sName; // 0x20 // MPropertyHideField - Vector2D m_vecPosition; // 0x28 + Vector2D m_vecPosition; // 0x28 // MPropertyHideField - AnimNodeID m_nNodeID; // 0x30 + AnimNodeID m_nNodeID; // 0x30 // MPropertyFriendlyName "Network Mode" - AnimNodeNetworkMode m_networkMode; // 0x34 + AnimNodeNetworkMode m_networkMode; // 0x34 }; // Alignment: 5 // Size: 0xa8 class CSequenceAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 + CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x98 + CUtlString m_sequenceName; // 0x98 // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0xa0 + float m_playbackSpeed; // 0xa0 // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0xa4 + bool m_bLoop; // 0xa4 }; // Alignment: 3 // Size: 0x20 -class CBlendNodeChild : public -{ +class CBlendNodeChild +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x8 + CAnimNodeConnection m_inputConnection; // 0x8 // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x10 + CUtlString m_name; // 0x10 // MPropertyFriendlyName "Blend Value" - float m_blendValue; // 0x18 + float m_blendValue; // 0x18 }; // Alignment: 9 // Size: 0x80 class CBlendAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Blend Items" // MPropertyAutoExpandSelf - CUtlVector< CBlendNodeChild > m_children; // 0x48 + CUtlVector< CBlendNodeChild > m_children; // 0x48 // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x60 + AnimValueSource m_blendValueSource; // 0x60 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x64 + AnimParamID m_param; // 0x64 // MPropertyFriendlyName "Blend Key Values" - BlendKeyType m_blendKeyType; // 0x68 + BlendKeyType m_blendKeyType; // 0x68 // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0x6c + bool m_bLockBlendOnReset; // 0x6c // MPropertyFriendlyName "Sync Cycles" - bool m_bSyncCycles; // 0x6d + bool m_bSyncCycles; // 0x6d // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x6e + bool m_bLoop; // 0x6e // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x6f + bool m_bLockWhenWaning; // 0x6f // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x70 + CAnimInputDamping m_damping; // 0x70 }; // Alignment: 3 // Size: 0x50 class CRagdollAnimNode : public CAnimNodeBase -{ +{ public: - CUtlString m_weightListName; // 0x38 - RagdollPoseControl m_poseControlMethod; // 0x40 + CUtlString m_weightListName; // 0x38 + RagdollPoseControl m_poseControlMethod; // 0x40 // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x44 + CAnimNodeConnection m_inputConnection; // 0x44 }; // Alignment: 1 // Size: 0x58 class CRootAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x50 + CAnimNodeConnection m_inputConnection; // 0x50 }; // Alignment: 4 // Size: 0x18 -class CChoiceNodeChild : public -{ +class CChoiceNodeChild +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x0 + CAnimNodeConnection m_inputConnection; // 0x0 // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x8 + CUtlString m_name; // 0x8 // MPropertyFriendlyName "Weight" - float m_weight; // 0x10 + float m_weight; // 0x10 // MPropertyFriendlyName "Blend Time" - float m_blendTime; // 0x14 + float m_blendTime; // 0x14 }; // Alignment: 9 // Size: 0x68 class CChoiceAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Options" // MPropertyAutoExpandSelf - CUtlVector< CChoiceNodeChild > m_children; // 0x38 + CUtlVector< CChoiceNodeChild > m_children; // 0x38 // MPropertyHideField - int32_t m_seed; // 0x50 + int32_t m_seed; // 0x50 // MPropertyFriendlyName "Method" - ChoiceMethod m_choiceMethod; // 0x54 + ChoiceMethod m_choiceMethod; // 0x54 // MPropertyFriendlyName "Change Selection" - ChoiceChangeMethod m_choiceChangeMethod; // 0x58 + ChoiceChangeMethod m_choiceChangeMethod; // 0x58 // MPropertyGroupName "Blending" // MPropertyFriendlyName "Blend Method" // MPropertyAttrChangeCallback - ChoiceBlendMethod m_blendMethod; // 0x5c + ChoiceBlendMethod m_blendMethod; // 0x5c // MPropertyGroupName "Blending" // MPropertyFriendlyName "Blend Duration" // MPropertyAttrStateCallback - float m_blendTime; // 0x60 + float m_blendTime; // 0x60 // MPropertyGroupName "Blending" // MPropertyFriendlyName "Cross Fade" - bool m_bCrossFade; // 0x64 + bool m_bCrossFade; // 0x64 // MPropertyFriendlyName "Reset On Selection" // MPropertyAttrChangeCallback - bool m_bResetChosen; // 0x65 + bool m_bResetChosen; // 0x65 // MPropertyFriendlyName "Don't Reset Same Selection" // MPropertyAttrStateCallback - bool m_bDontResetSameSelection; // 0x66 + bool m_bDontResetSameSelection; // 0x66 }; // Alignment: 3 // Size: 0x48 class CCycleControlAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_valueSource; // 0x40 + AnimValueSource m_valueSource; // 0x40 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x44 + AnimParamID m_param; // 0x44 }; // Alignment: 4 // Size: 0x78 class CCycleControlClipAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x50 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x50 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x68 + CUtlString m_sequenceName; // 0x68 // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_valueSource; // 0x70 + AnimValueSource m_valueSource; // 0x70 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x74 + AnimParamID m_param; // 0x74 }; // Alignment: 10 // Size: 0x60 class CAddAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_baseInput; // 0x38 + CAnimNodeConnection m_baseInput; // 0x38 // MPropertyHideField - CAnimNodeConnection m_additiveInput; // 0x40 + CAnimNodeConnection m_additiveInput; // 0x40 // MPropertyFriendlyName "Timing Control" // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x48 + BinaryNodeTiming m_timingBehavior; // 0x48 // MPropertyFriendlyName "Timing Blend" // MPropertyAttributeRange "0 1" // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x4c + float m_flTimingBlend; // 0x4c // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x50 + BinaryNodeChildOption m_footMotionTiming; // 0x50 // MPropertyFriendlyName "Add Foot Motion" - bool m_bApplyToFootMotion; // 0x54 + bool m_bApplyToFootMotion; // 0x54 // MPropertyFriendlyName "Reset Base Child" - bool m_bResetBase; // 0x55 + bool m_bResetBase; // 0x55 // MPropertyFriendlyName "Reset Additive Child" - bool m_bResetAdditive; // 0x56 + bool m_bResetAdditive; // 0x56 // MPropertyFriendlyName "Treat Translation Separately" - bool m_bApplyChannelsSeparately; // 0x57 + bool m_bApplyChannelsSeparately; // 0x57 // MPropertyFriendlyName "Use Model Space" - bool m_bUseModelSpace; // 0x58 + bool m_bUseModelSpace; // 0x58 }; // Alignment: 10 // Size: 0x60 class CSubtractAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_baseInputConnection; // 0x38 + CAnimNodeConnection m_baseInputConnection; // 0x38 // MPropertyHideField - CAnimNodeConnection m_subtractInputConnection; // 0x40 + CAnimNodeConnection m_subtractInputConnection; // 0x40 // MPropertyFriendlyName "Timing Control" // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x48 + BinaryNodeTiming m_timingBehavior; // 0x48 // MPropertyFriendlyName "Timing Blend" // MPropertyAttributeRange "0 1" // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x4c + float m_flTimingBlend; // 0x4c // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x50 + BinaryNodeChildOption m_footMotionTiming; // 0x50 // MPropertyFriendlyName "Subtract Foot Motion" - bool m_bApplyToFootMotion; // 0x54 + bool m_bApplyToFootMotion; // 0x54 // MPropertyFriendlyName "Reset Base Child" - bool m_bResetBase; // 0x55 + bool m_bResetBase; // 0x55 // MPropertyFriendlyName "Reset Subtracted Child" - bool m_bResetSubtract; // 0x56 + bool m_bResetSubtract; // 0x56 // MPropertyFriendlyName "Treat Translation Separately" - bool m_bApplyChannelsSeparately; // 0x57 + bool m_bApplyChannelsSeparately; // 0x57 // MPropertyFriendlyName "Use Model Space" - bool m_bUseModelSpace; // 0x58 + bool m_bUseModelSpace; // 0x58 }; // Alignment: 13 // Size: 0x78 class CMoverAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Generate Movement" // MPropertyGroupName "Generate Movement" // MPropertyAttrChangeCallback - bool m_bApplyMovement; // 0x40 + bool m_bApplyMovement; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: // MPropertyFriendlyName "Movement Velocity Parameter" // MPropertyGroupName "Generate Movement" // MPropertyAttributeChoiceName "VectorParameter" // MPropertyAttrStateCallback - AnimParamID m_moveVectorParam; // 0x44 + AnimParamID m_moveVectorParam; // 0x44 // MPropertyFriendlyName "Orient Movement" // MPropertyGroupName "Orient Movement" // MPropertyAttrChangeCallback - bool m_bOrientMovement; // 0x48 + bool m_bOrientMovement; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 +public: // MPropertyFriendlyName "Movement Heading Parameter" // MPropertyGroupName "Orient Movement" // MPropertyAttributeChoiceName "FloatParameter" // MPropertyAttrStateCallback - AnimParamID m_moveHeadingParam; // 0x4c + AnimParamID m_moveHeadingParam; // 0x4c // MPropertyFriendlyName "Additive" - bool m_bAdditive; // 0x50 + bool m_bAdditive; // 0x50 // MPropertyFriendlyName "Turn to Face" // MPropertyGroupName "Turn to Face" // MPropertyAttrChangeCallback - bool m_bTurnToFace; // 0x51 + bool m_bTurnToFace; // 0x51 +private: + [[maybe_unused]] uint8_t __pad0052[0x2]; // 0x52 +public: // MPropertyFriendlyName "Face Direction" // MPropertyGroupName "Turn to Face" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_facingTarget; // 0x54 + AnimValueSource m_facingTarget; // 0x54 // MPropertyFriendlyName "Facing Parameter" // MPropertyGroupName "Turn to Face" // MPropertyAttributeChoiceName "FloatParameter" // MPropertyAttrStateCallback - AnimParamID m_param; // 0x58 + AnimParamID m_param; // 0x58 // MPropertyFriendlyName "Turn Limit Only" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback // MPropertyAttrChangeCallback - bool m_bLimitOnly; // 0x5c + bool m_bLimitOnly; // 0x5c +private: + [[maybe_unused]] uint8_t __pad005d[0x3]; // 0x5d +public: // MPropertyFriendlyName "Turn to Face Offset" // MPropertyAttributeRange "-180 180" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - float m_flTurnToFaceOffset; // 0x60 + float m_flTurnToFaceOffset; // 0x60 // MPropertyFriendlyName "Turn to Face Limit" // MPropertyAttributeRange "0 180" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - float m_flTurnToFaceLimit; // 0x64 + float m_flTurnToFaceLimit; // 0x64 // MPropertyFriendlyName "Damping" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - CAnimInputDamping m_damping; // 0x68 + CAnimInputDamping m_damping; // 0x68 }; // Alignment: 2 // Size: 0x48 class CSlowDownOnSlopesAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Slow Down Strength" // MPropertyAttributeRange "0.1 2" - float m_flSlowDownStrength; // 0x40 + float m_flSlowDownStrength; // 0x40 }; // Alignment: 7 // Size: 0x58 class CTurnHelperAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Turn to Face" - AnimValueSource m_facingTarget; // 0x40 + AnimValueSource m_facingTarget; // 0x40 // MPropertyFriendlyName "Turn Start Time" - float m_turnStartTime; // 0x44 + float m_turnStartTime; // 0x44 // MPropertyFriendlyName "Turn Duration" - float m_turnDuration; // 0x48 + float m_turnDuration; // 0x48 // MPropertyFriendlyName "Match Child Duration" - bool m_bMatchChildDuration; // 0x4c + bool m_bMatchChildDuration; // 0x4c // MPropertyFriendlyName "Use Manual Turn Offset" - bool m_bUseManualTurnOffset; // 0x4d + bool m_bUseManualTurnOffset; // 0x4d +private: + [[maybe_unused]] uint8_t __pad004e[0x2]; // 0x4e +public: // MPropertyFriendlyName "Manual Turn Offset" - float m_manualTurnOffset; // 0x50 + float m_manualTurnOffset; // 0x50 }; // Alignment: 11 // Size: 0x90 class CAimMatrixAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 + CAnimNodeConnection m_inputConnection; // 0x40 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x48 + CUtlString m_sequenceName; // 0x48 // MPropertyFriendlyName "Angle Increment" - float m_fAngleIncrement; // 0x50 + float m_fAngleIncrement; // 0x50 // MPropertyFriendlyName "Target" - AnimVectorSource m_target; // 0x54 + AnimVectorSource m_target; // 0x54 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_param; // 0x58 + AnimParamID m_param; // 0x58 +private: + [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c +public: // MPropertyFriendlyName "Aim Attachment" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x60 + CUtlString m_attachmentName; // 0x60 // MPropertyFriendlyName "Blend Mode" // MPropertyAttrChangeCallback - AimMatrixBlendMode m_blendMode; // 0x68 + AimMatrixBlendMode m_blendMode; // 0x68 +private: + [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c +public: // MPropertyFriendlyName "Bone Mask" // MPropertyAttributeChoiceName "BoneMask" // MPropertyAttrStateCallback - CUtlString m_boneMaskName; // 0x70 + CUtlString m_boneMaskName; // 0x70 // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0x78 + bool m_bResetBase; // 0x78 // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x79 + bool m_bLockWhenWaning; // 0x79 +private: + [[maybe_unused]] uint8_t __pad007a[0x6]; // 0x7a +public: // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x80 + CAnimInputDamping m_damping; // 0x80 }; // Alignment: 2 // Size: 0x48 class CSpeedScaleAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x40 + AnimParamID m_param; // 0x40 }; // Alignment: 7 // Size: 0x68 class CDirectionalBlendAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Sequence Names Prefix" - CUtlString m_animNamePrefix; // 0x40 + CUtlString m_animNamePrefix; // 0x40 // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x48 + AnimValueSource m_blendValueSource; // 0x48 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x4c + AnimParamID m_param; // 0x4c // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x50 + bool m_bLoop; // 0x50 // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0x51 + bool m_bLockBlendOnReset; // 0x51 +private: + [[maybe_unused]] uint8_t __pad0052[0x2]; // 0x52 +public: // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0x54 + float m_playbackSpeed; // 0x54 // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x58 + CAnimInputDamping m_damping; // 0x58 }; // Alignment: 6 // Size: 0x50 class CWayPointHelperAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Start Cycle" // MPropertyAttributeRange "0 1" - float m_flStartCycle; // 0x40 + float m_flStartCycle; // 0x40 // MPropertyFriendlyName "End Cycle" // MPropertyAttributeRange "0 1" - float m_flEndCycle; // 0x44 + float m_flEndCycle; // 0x44 // MPropertyFriendlyName "Only align to Goals" - bool m_bOnlyGoals; // 0x48 + bool m_bOnlyGoals; // 0x48 // MPropertyFriendlyName "Prevent Overshoot" - bool m_bPreventOvershoot; // 0x49 + bool m_bPreventOvershoot; // 0x49 // MPropertyFriendlyName "Prevent Undershoot" - bool m_bPreventUndershoot; // 0x4a + bool m_bPreventUndershoot; // 0x4a }; // Alignment: 13 // Size: 0x78 class CBoneMaskAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Bone Mask" // MPropertyAttributeChoiceName "BoneMask" - CUtlString m_weightListName; // 0x38 + CUtlString m_weightListName; // 0x38 // MPropertyHideField - CAnimNodeConnection m_inputConnection1; // 0x40 + CAnimNodeConnection m_inputConnection1; // 0x40 // MPropertyHideField - CAnimNodeConnection m_inputConnection2; // 0x48 + CAnimNodeConnection m_inputConnection2; // 0x48 // MPropertyFriendlyName "Blend Space" - BoneMaskBlendSpace m_blendSpace; // 0x50 + BoneMaskBlendSpace m_blendSpace; // 0x50 // MPropertyFriendlyName "Use Blend Source" // MPropertyAttrChangeCallback - bool m_bUseBlendScale; // 0x54 + bool m_bUseBlendScale; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 +public: // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x58 + AnimValueSource m_blendValueSource; // 0x58 // MPropertyFriendlyName "Blend Parameter" // MPropertyAttributeChoiceName "FloatParameter" // MPropertyAttrStateCallback - AnimParamID m_blendParameter; // 0x5c + AnimParamID m_blendParameter; // 0x5c // MPropertyFriendlyName "Timing Control" // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x60 + BinaryNodeTiming m_timingBehavior; // 0x60 // MPropertyFriendlyName "Timing Blend" // MPropertyAttributeRange "0 1" // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x64 + float m_flTimingBlend; // 0x64 // MPropertyFriendlyName "Root Motion Blend" // MPropertyAttributeRange "0 1" - float m_flRootMotionBlend; // 0x68 + float m_flRootMotionBlend; // 0x68 // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x6c + BinaryNodeChildOption m_footMotionTiming; // 0x6c // MPropertyFriendlyName "Reset Child1" - bool m_bResetChild1; // 0x70 + bool m_bResetChild1; // 0x70 // MPropertyFriendlyName "Reset Child2" - bool m_bResetChild2; // 0x71 + bool m_bResetChild2; // 0x71 }; // Alignment: 1 // Size: 0x40 class CChoreoAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 }; // Alignment: 3 // Size: 0x48 class CDirectPlaybackAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Finish Early" - bool m_bFinishEarly; // 0x40 + bool m_bFinishEarly; // 0x40 // MPropertyFriendlyName "Reset Child On Finish" - bool m_bResetOnFinish; // 0x41 + bool m_bResetOnFinish; // 0x41 }; // Alignment: 7 // Size: 0x80 class CLeanMatrixAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x40 + CUtlString m_sequenceName; // 0x40 // MPropertyFriendlyName "Max Value" - float m_flMaxValue; // 0x48 + float m_flMaxValue; // 0x48 // MPropertyFriendlyName "Blend Source" - AnimVectorSource m_blendSource; // 0x4c + AnimVectorSource m_blendSource; // 0x4c // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_param; // 0x50 + AnimParamID m_param; // 0x50 // MPropertyFriendlyName "Vertical Axis" - Vector m_verticalAxisDirection; // 0x54 + Vector m_verticalAxisDirection; // 0x54 // MPropertyFriendlyName "Horizontal Axis" - Vector m_horizontalAxisDirection; // 0x60 + Vector m_horizontalAxisDirection; // 0x60 +private: + [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c +public: // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x70 + CAnimInputDamping m_damping; // 0x70 }; // Alignment: 13 // Size: 0x88 class CTwoBoneIKAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "IK Chain" // MPropertyAttributeChoiceName "IKChain" - CUtlString m_ikChainName; // 0x40 + CUtlString m_ikChainName; // 0x40 // MPropertyFriendlyName "Auto-Detect Hinge Axis" - bool m_bAutoDetectHingeAxis; // 0x48 + bool m_bAutoDetectHingeAxis; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 +public: // MPropertyGroupName "End Effector" // MPropertyFriendlyName "End Effector Type" // MPropertyAttrChangeCallback - IkEndEffectorType m_endEffectorType; // 0x4c + IkEndEffectorType m_endEffectorType; // 0x4c // MPropertyGroupName "End Effector" // MPropertyFriendlyName "Attachment" // MPropertyAttributeChoiceName "Attachment" // MPropertyAttrStateCallback - CUtlString m_endEffectorAttachmentName; // 0x50 + CUtlString m_endEffectorAttachmentName; // 0x50 // MPropertyGroupName "Target" // MPropertyFriendlyName "Target Type" // MPropertyAttrChangeCallback - IkTargetType m_targetType; // 0x58 + IkTargetType m_targetType; // 0x58 +private: + [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c +public: // MPropertyGroupName "Target" // MPropertyFriendlyName "Attachment" // MPropertyAttributeChoiceName "Attachment" // MPropertyAttrStateCallback - CUtlString m_attachmentName; // 0x60 + CUtlString m_attachmentName; // 0x60 // MPropertyGroupName "Target" // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" // MPropertyAttrStateCallback - CUtlString m_targetBoneName; // 0x68 + CUtlString m_targetBoneName; // 0x68 // MPropertyGroupName "Target" // MPropertyFriendlyName "Position Parameter" // MPropertyAttributeChoiceName "VectorParameter" // MPropertyAttrStateCallback - AnimParamID m_targetParam; // 0x70 + AnimParamID m_targetParam; // 0x70 // MPropertyGroupName "Target" // MPropertyFriendlyName "Match Target Orientation" // MPropertyAttrChangeCallback - bool m_bMatchTargetOrientation; // 0x74 + bool m_bMatchTargetOrientation; // 0x74 +private: + [[maybe_unused]] uint8_t __pad0075[0x3]; // 0x75 +public: // MPropertyGroupName "Target" // MPropertyFriendlyName "Rotation Parameter" // MPropertyAttributeChoiceName "QuaternionParameter" // MPropertyAttrStateCallback - AnimParamID m_rotationParam; // 0x78 + AnimParamID m_rotationParam; // 0x78 // MPropertyGroupName "Target" // MPropertyFriendlyName "Constrain Twist" // MPropertyAttrStateCallback - bool m_bConstrainTwist; // 0x7c + bool m_bConstrainTwist; // 0x7c +private: + [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d +public: // MPropertyGroupName "Target" // MPropertyFriendlyName "Max Twist" // MPropertyAttrStateCallback - float m_flMaxTwist; // 0x80 + float m_flMaxTwist; // 0x80 }; // Alignment: 8 // Size: 0x58 -class CSolveIKChainAnimNodeChainData : public -{ +class CSolveIKChainAnimNodeChainData +{ public: // MPropertyFriendlyName "IK Chain" // MPropertyAttributeChoiceName "IKChain" - CUtlString m_IkChain; // 0x8 + CUtlString m_IkChain; // 0x8 // MPropertyFriendlyName "Solver Setting Source" // MPropertyAttributeChoiceEnumName // MPropertyAttrChangeCallback - SolveIKChainAnimNodeSettingSource m_SolverSettingSource; // 0x10 + SolveIKChainAnimNodeSettingSource m_SolverSettingSource; // 0x10 // MPropertyFriendlyName "Override Solver Settings" // MPropertyAutoExpandSelf // MPropertyAttrStateCallback - IKSolverSettings_t m_OverrideSolverSettings; // 0x14 + IKSolverSettings_t m_OverrideSolverSettings; // 0x14 // MPropertyFriendlyName "Target Setting Source" // MPropertyAttributeChoiceEnumName // MPropertyAttrChangeCallback - SolveIKChainAnimNodeSettingSource m_TargetSettingSource; // 0x1c + SolveIKChainAnimNodeSettingSource m_TargetSettingSource; // 0x1c // MPropertyFriendlyName "Override Target Settings" // MPropertyAutoExpandSelf // MPropertyAttrStateCallback - IKTargetSettings_t m_OverrideTargetSettings; // 0x20 + IKTargetSettings_t m_OverrideTargetSettings; // 0x20 // MPropertyFriendlyName "Debug Setting" // MPropertyGroupName "Debug" - SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x40 + SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x40 // MPropertyFriendlyName "Debug Normalized Length" // MPropertyGroupName "Debug" - float m_flDebugNormalizedLength; // 0x44 + float m_flDebugNormalizedLength; // 0x44 // MPropertyFriendlyName "Debug Offset" // MPropertyGroupName "Debug" - Vector m_vDebugOffset; // 0x48 + Vector m_vDebugOffset; // 0x48 }; // Alignment: 2 // Size: 0x60 class CSolveIKChainAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 + CAnimNodeConnection m_inputConnection; // 0x40 // MPropertyFriendlyName "IK Chains" // MPropertyAutoExpandSelf - CUtlVector< CSolveIKChainAnimNodeChainData > m_IkChains; // 0x48 + CUtlVector< CSolveIKChainAnimNodeChainData > m_IkChains; // 0x48 }; // Alignment: 17 // Size: 0x88 class CLookAtAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Target" // MPropertyAttrChangeCallback - AnimVectorSource m_target; // 0x40 + AnimVectorSource m_target; // 0x40 // MPropertyFriendlyName "Target Parameter" // MPropertyAttributeChoiceName "VectorParameter" // MPropertyAttrStateCallback - AnimParamID m_param; // 0x44 + AnimParamID m_param; // 0x44 // MPropertyFriendlyName "Parameter is a Position" // MPropertyAttrStateCallback - bool m_bIsPosition; // 0x48 + bool m_bIsPosition; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 +public: // MPropertyFriendlyName "Weight Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_weightParam; // 0x4c + AnimParamID m_weightParam; // 0x4c // MPropertyFriendlyName "LookAt Chain" // MPropertyAttributeChoiceName "LookAtChain" - CUtlString m_lookatChainName; // 0x50 + CUtlString m_lookatChainName; // 0x50 // MPropertyFriendlyName "Aim Attachment" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x58 + CUtlString m_attachmentName; // 0x58 // MPropertyFriendlyName "Rotate Through Forward" // MPropertyGroupName "Rotation Limits" // MPropertyAttrChangeCallback - bool m_bRotateYawForward; // 0x60 + bool m_bRotateYawForward; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0061[0x3]; // 0x61 +public: // MPropertyFriendlyName "Yaw Limit" // MPropertyAttributeRange "0 180" // MPropertyGroupName "Rotation Limits" // MPropertyAttrStateCallback - float m_flYawLimit; // 0x64 + float m_flYawLimit; // 0x64 // MPropertyFriendlyName "Pitch Limit" // MPropertyAttributeRange "0 90" // MPropertyGroupName "Rotation Limits" - float m_flPitchLimit; // 0x68 + float m_flPitchLimit; // 0x68 // MPropertyFriendlyName "Maintain Up Direction" - bool m_bMaintainUpDirection; // 0x6c + bool m_bMaintainUpDirection; // 0x6c // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0x6d + bool m_bResetBase; // 0x6d // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x6e + bool m_bLockWhenWaning; // 0x6e // MPropertyFriendlyName "Use Hysteresis" // MPropertyGroupName "Hysteresis" - bool m_bUseHysteresis; // 0x6f + bool m_bUseHysteresis; // 0x6f // MPropertyFriendlyName "Inner Angle" // MPropertyGroupName "Hysteresis" - float m_flHysteresisInnerAngle; // 0x70 + float m_flHysteresisInnerAngle; // 0x70 // MPropertyFriendlyName "Outer Angle" // MPropertyGroupName "Hysteresis" - float m_flHysteresisOuterAngle; // 0x74 + float m_flHysteresisOuterAngle; // 0x74 // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x78 + CAnimInputDamping m_damping; // 0x78 }; // Alignment: 3 // Size: 0x48 class CPathHelperAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Stopping Radius" - float m_flStoppingRadius; // 0x40 + float m_flStoppingRadius; // 0x40 // MPropertyFriendlyName "Stopping Min Speed Scale" - float m_flStoppingSpeedScale; // 0x44 + float m_flStoppingSpeedScale; // 0x44 }; // Alignment: 3 // Size: 0x18 -class CConnectionProxyItem : public -{ +class CConnectionProxyItem +{ public: // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 // MPropertyHideField - AnimNodeOutputID m_outputID; // 0x8 + AnimNodeOutputID m_outputID; // 0x8 // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0xc + CAnimNodeConnection m_inputConnection; // 0xc }; // Alignment: 1 // Size: 0x58 class CProxyAnimNodeBase : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "External Connections" // MPropertyAutoExpandSelf // MPropertyAttrChangeCallback - CUtlVector< CConnectionProxyItem > m_proxyItems; // 0x40 + CUtlVector< CConnectionProxyItem > m_proxyItems; // 0x40 }; // Alignment: 5 // Size: 0x58 class CFollowAttachmentAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x40 + CUtlString m_boneName; // 0x40 // MPropertyFriendlyName "Target Attachment" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x48 + CUtlString m_attachmentName; // 0x48 // MPropertyFriendlyName "Match Translation" - bool m_bMatchTranslation; // 0x50 + bool m_bMatchTranslation; // 0x50 // MPropertyFriendlyName "Match Rotation" - bool m_bMatchRotation; // 0x51 + bool m_bMatchRotation; // 0x51 }; // Alignment: 4 // Size: 0x48 class CSkeletalInputAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Data Source" // MPropertyAttrChangeCallback - AnimVrBoneTransformSource_t m_transformSource; // 0x38 + AnimVrBoneTransformSource_t m_transformSource; // 0x38 // MPropertyFriendlyName "Motion Range" // MPropertyAttrStateCallback - AnimVRHandMotionRange_t m_motionRange; // 0x3c + AnimVRHandMotionRange_t m_motionRange; // 0x3c // MPropertyFriendlyName "Enable IK" // MPropertyGroupName "+Retargetting" - bool m_bEnableIK; // 0x40 + bool m_bEnableIK; // 0x40 // MPropertyFriendlyName "Enable Collision" // MPropertyGroupName "+Retargetting" - bool m_bEnableCollision; // 0x41 + bool m_bEnableCollision; // 0x41 }; // Alignment: 6 // Size: 0x60 class CStanceOverrideAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyHideField - CAnimNodeConnection m_stanceSourceConnection; // 0x40 + CAnimNodeConnection m_stanceSourceConnection; // 0x40 // MPropertyFriendlyName "Blend Parameter (optional)" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_blendParamID; // 0x48 + AnimParamID m_blendParamID; // 0x48 // MPropertyFriendlyName "Stance Source" // MPropertyAttrChangeCallback - StanceOverrideMode m_eMode; // 0x4c + StanceOverrideMode m_eMode; // 0x4c // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" // MPropertyAttrStateCallback - CUtlString m_sequenceName; // 0x50 + CUtlString m_sequenceName; // 0x50 // MPropertyFriendlyName "Frame" // MPropertyAttrStateCallback - int32_t m_nFrameIndex; // 0x58 + int32_t m_nFrameIndex; // 0x58 }; // Alignment: 2 // Size: 0x48 class CStanceScaleAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x40 + AnimParamID m_param; // 0x40 }; // Alignment: 10 // Size: 0xa8 class CSelectorAnimNode : public CAnimNodeBase -{ +{ public: // MPropertySuppressField - CUtlVector< CAnimNodeConnection > m_children; // 0x40 + CUtlVector< CAnimNodeConnection > m_children; // 0x40 // MPropertyHideField - CUtlVector< AnimTagID > m_tags; // 0x58 + CUtlVector< AnimTagID > m_tags; // 0x58 // MPropertyFriendlyName "Selection Source" // MPropertyAttrChangeCallback - SelectionSource_t m_selectionSource; // 0x70 + SelectionSource_t m_selectionSource; // 0x70 // MPropertyFriendlyName "Bool Parameter" // MPropertyAttributeChoiceName "BoolParameter" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimParamID m_boolParamID; // 0x74 + AnimParamID m_boolParamID; // 0x74 // MPropertyFriendlyName "Enum Parameter" // MPropertyAttributeChoiceName "EnumParameter" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimParamID m_enumParamID; // 0x78 + AnimParamID m_enumParamID; // 0x78 +private: + [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c +public: // MPropertyFriendlyName "Blend Duration" - CFloatAnimValue m_blendDuration; // 0x80 + CFloatAnimValue m_blendDuration; // 0x80 // MPropertyFriendlyName "Tag Behavior" - SelectorTagBehavior_t m_tagBehavior; // 0x98 + SelectorTagBehavior_t m_tagBehavior; // 0x98 // MPropertyFriendlyName "Reset On Change" - bool m_bResetOnChange; // 0x9c + bool m_bResetOnChange; // 0x9c // MPropertyFriendlyName "Start new option at same cycle" - bool m_bSyncCyclesOnChange; // 0x9d + bool m_bSyncCyclesOnChange; // 0x9d +private: + [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e +public: // MPropertyHideField - CBlendCurve m_blendCurve; // 0xa0 + CBlendCurve m_blendCurve; // 0xa0 }; // Alignment: 24 // Size: 0xa8 class CHitReactAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Minimum Delay Between Hits" - float m_flMinDelayBetweenHits; // 0x40 + float m_flMinDelayBetweenHits; // 0x40 // MPropertyFriendlyName "Trigger Parameter" // MPropertyAttributeChoiceName "BoolParameter" - AnimParamID m_triggerParam; // 0x44 + AnimParamID m_triggerParam; // 0x44 // MPropertyFriendlyName "Hit Bone Parameter" // MPropertyAttributeChoiceName "IntParameter" - AnimParamID m_hitBoneParam; // 0x48 + AnimParamID m_hitBoneParam; // 0x48 // MPropertyFriendlyName "Hit Offset Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_hitOffsetParam; // 0x4c + AnimParamID m_hitOffsetParam; // 0x4c // MPropertyFriendlyName "Hit Direction Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_hitDirectionParam; // 0x50 + AnimParamID m_hitDirectionParam; // 0x50 // MPropertyFriendlyName "Hit Strength Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_hitStrengthParam; // 0x54 + AnimParamID m_hitStrengthParam; // 0x54 // MPropertyFriendlyName "Bone Weights" // MPropertyAttributeChoiceName "BoneMask" - CUtlString m_weightListName; // 0x58 + CUtlString m_weightListName; // 0x58 // MPropertyFriendlyName "Hip Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_hipBoneName; // 0x60 + CUtlString m_hipBoneName; // 0x60 // MPropertyFriendlyName "Hip Translation Scale" - float m_flHipBoneTranslationScale; // 0x68 + float m_flHipBoneTranslationScale; // 0x68 // MPropertyFriendlyName "Number of bone effected" - int32_t m_nEffectedBoneCount; // 0x6c + int32_t m_nEffectedBoneCount; // 0x6c // MPropertyFriendlyName "Max Impact Force" - float m_flMaxImpactForce; // 0x70 + float m_flMaxImpactForce; // 0x70 // MPropertyFriendlyName "Min Impact Force" - float m_flMinImpactForce; // 0x74 + float m_flMinImpactForce; // 0x74 // MPropertyFriendlyName "Whip Impact Scale" - float m_flWhipImpactScale; // 0x78 + float m_flWhipImpactScale; // 0x78 // MPropertyFriendlyName "Counter Rotation Scale" - float m_flCounterRotationScale; // 0x7c + float m_flCounterRotationScale; // 0x7c // MPropertyFriendlyName "Distance Fade Scale" - float m_flDistanceFadeScale; // 0x80 + float m_flDistanceFadeScale; // 0x80 // MPropertyFriendlyName "Propagation Scale" - float m_flPropagationScale; // 0x84 + float m_flPropagationScale; // 0x84 // MPropertyFriendlyName "Whip Delay Time" - float m_flWhipDelay; // 0x88 + float m_flWhipDelay; // 0x88 // MPropertyFriendlyName "Spring Strength" - float m_flSpringStrength; // 0x8c + float m_flSpringStrength; // 0x8c // MPropertyFriendlyName "Whip Spring Strength" - float m_flWhipSpringStrength; // 0x90 + float m_flWhipSpringStrength; // 0x90 // MPropertyFriendlyName "Hip Dip Spring Strength" - float m_flHipDipSpringStrength; // 0x94 + float m_flHipDipSpringStrength; // 0x94 // MPropertyFriendlyName "Hip Dip Scale" - float m_flHipDipImpactScale; // 0x98 + float m_flHipDipImpactScale; // 0x98 // MPropertyFriendlyName "Hip Dip Delay Time" - float m_flHipDipDelay; // 0x9c + float m_flHipDipDelay; // 0x9c // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0xa0 + bool m_bResetBase; // 0xa0 }; // Alignment: 3 // Size: 0x30 -class CBlend2DItemBase : public -{ +class CBlend2DItemBase +{ public: // MPropertyFriendlyName "Blend Value" - Vector2D m_blendValue; // 0x18 + Vector2D m_blendValue; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0020[0x8]; // 0x20 +public: // MPropertyGroupName "+Duration Override" // MPropertyFriendlyName "Use Custom Duration" // MPropertyAttrChangeCallback - bool m_bUseCustomDuration; // 0x28 + bool m_bUseCustomDuration; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 +public: // MPropertyGroupName "+Duration Override" // MPropertyFriendlyName "Custom Duration" // MPropertyAttrStateCallback - float m_flCustomDuration; // 0x2c + float m_flCustomDuration; // 0x2c }; // Alignment: 2 // Size: 0x58 class CSequenceBlend2DItem : public CBlend2DItemBase -{ +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x38 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x38 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x50 + CUtlString m_sequenceName; // 0x50 }; // Alignment: 2 // Size: 0x48 class CNodeBlend2DItem : public CBlend2DItemBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x40 + CUtlString m_name; // 0x40 }; // Alignment: 13 // Size: 0xc8 class CBlend2DAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CBlend2DItemBase > > m_items; // 0x50 + CUtlVector< CSmartPtr< CBlend2DItemBase > > m_items; // 0x50 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 + CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 // MPropertyFriendlyName "Horizontal Axis" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendSourceX; // 0x98 + AnimValueSource m_blendSourceX; // 0x98 // MPropertyFriendlyName "Horizontal Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_paramX; // 0x9c + AnimParamID m_paramX; // 0x9c // MPropertyFriendlyName "Vertical Axis" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendSourceY; // 0xa0 + AnimValueSource m_blendSourceY; // 0xa0 // MPropertyFriendlyName "Vertical Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_paramY; // 0xa4 + AnimParamID m_paramY; // 0xa4 // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0xa8 + bool m_bLoop; // 0xa8 // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0xa9 + bool m_bLockBlendOnReset; // 0xa9 // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0xaa + bool m_bLockWhenWaning; // 0xaa +private: + [[maybe_unused]] uint8_t __pad00ab[0x1]; // 0xab +public: // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0xac + float m_playbackSpeed; // 0xac // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0xb0 + CAnimInputDamping m_damping; // 0xb0 // MPropertyFriendlyName "AnimEvents and Tags Exclusive To Most Weighted" - bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xc0 + bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xc0 }; // Alignment: 10 // Size: 0x78 class CFootAdjustmentAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Turn to Face" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_facingTarget; // 0x40 + AnimParamID m_facingTarget; // 0x40 // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x44 + bool m_bResetChild; // 0x44 // MPropertyFriendlyName "Animation Driven" // MPropertyAttrChangeCallback - bool m_bAnimationDriven; // 0x45 + bool m_bAnimationDriven; // 0x45 +private: + [[maybe_unused]] uint8_t __pad0046[0x2]; // 0x46 +public: // MPropertyFriendlyName "Base Anim Clips" // MPropertyGroupName "Anim Driven Settings" // MPropertyAttributeChoiceName "Sequence" // MPropertyAttrStateCallback - CUtlString m_baseClipName; // 0x48 + CUtlString m_baseClipName; // 0x48 // MPropertyFriendlyName "Clips" // MPropertyGroupName "Anim Driven Settings" // MPropertyAttributeChoiceName "Sequence" // MPropertyAttrStateCallback - CUtlVector< CUtlString > m_clips; // 0x50 + CUtlVector< CUtlString > m_clips; // 0x50 // MPropertyFriendlyName "Turn Time Min" // MPropertyGroupName "Procedural Settings" // MPropertyAttrStateCallback - float m_flTurnTimeMin; // 0x68 + float m_flTurnTimeMin; // 0x68 // MPropertyFriendlyName "Turn Time Max" // MPropertyGroupName "Procedural Settings" // MPropertyAttrStateCallback - float m_flTurnTimeMax; // 0x6c + float m_flTurnTimeMax; // 0x6c // MPropertyFriendlyName "Step Height Max" // MPropertyGroupName "Procedural Settings" // MPropertyAttrStateCallback - float m_flStepHeightMax; // 0x70 + float m_flStepHeightMax; // 0x70 // MPropertyFriendlyName "Step Height Max Angle" // MPropertyGroupName "Procedural Settings" // MPropertyAttrStateCallback - float m_flStepHeightMaxAngle; // 0x74 + float m_flStepHeightMaxAngle; // 0x74 }; // Alignment: 7 // Size: 0x28 -class CFootLockItem : public -{ +class CFootLockItem +{ public: // MPropertyFriendlyName "Foot" // MPropertyAttributeChoiceName "Foot" - CUtlString m_footName; // 0x0 + CUtlString m_footName; // 0x0 // MPropertyFriendlyName "Target Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_targetBoneName; // 0x8 + CUtlString m_targetBoneName; // 0x8 // MPropertyFriendlyName "IK Chain" // MPropertyAttributeChoiceName "IKChain" - CUtlString m_ikChainName; // 0x10 + CUtlString m_ikChainName; // 0x10 // MPropertyFriendlyName "Disable Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_disableTagID; // 0x18 + AnimTagID m_disableTagID; // 0x18 // MPropertyFriendlyName "Max Left Rotation" // MPropertyAttributeRange "0 180" - float m_flMaxRotationLeft; // 0x1c + float m_flMaxRotationLeft; // 0x1c // MPropertyFriendlyName "Max Right Rotation" // MPropertyAttributeRange "0 180" - float m_flMaxRotationRight; // 0x20 + float m_flMaxRotationRight; // 0x20 // MPropertyFriendlyName "Footstep Landed Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_footstepLandedTag; // 0x24 + AnimTagID m_footstepLandedTag; // 0x24 }; // Alignment: 38 // Size: 0x108 class CFootLockAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Feet" // MPropertyAutoExpandSelf - CUtlVector< CFootLockItem > m_items; // 0x40 + CUtlVector< CFootLockItem > m_items; // 0x40 // MPropertyFriendlyName "Hip Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_hipBoneName; // 0x58 + CUtlString m_hipBoneName; // 0x58 // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0x60 + float m_flBlendTime; // 0x60 // MPropertyFriendlyName "Apply Foot Rotation Limits" - bool m_bApplyFootRotationLimits; // 0x64 + bool m_bApplyFootRotationLimits; // 0x64 // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x65 + bool m_bResetChild; // 0x65 +private: + [[maybe_unused]] uint8_t __pad0066[0x2]; // 0x66 +public: // MPropertyFriendlyName "IK Solver Type" // MPropertyGroupName "IK" // MPropertyAttrChangeCallback - IKSolverType m_ikSolverType; // 0x68 + IKSolverType m_ikSolverType; // 0x68 // MPropertyFriendlyName "Always use fallback hinge" // MPropertyGroupName "IK" // MPropertyAttrStateCallback - bool m_bAlwaysUseFallbackHinge; // 0x6c + bool m_bAlwaysUseFallbackHinge; // 0x6c // MPropertyFriendlyName "Limit Leg Twist" // MPropertyGroupName "IK" // MPropertyAttrStateCallback - bool m_bApplyLegTwistLimits; // 0x6d + bool m_bApplyLegTwistLimits; // 0x6d +private: + [[maybe_unused]] uint8_t __pad006e[0x2]; // 0x6e +public: // MPropertyFriendlyName "Max Leg Twist Angle" // MPropertyGroupName "IK" // MPropertyAttrStateCallback - float m_flMaxLegTwist; // 0x70 + float m_flMaxLegTwist; // 0x70 // MPropertyFriendlyName "Curve Foot Paths" // MPropertyGroupName "Curve Paths" // MPropertyAttributeRange "0 1" - float m_flStrideCurveScale; // 0x74 + float m_flStrideCurveScale; // 0x74 // MPropertyFriendlyName "Curve Paths Limit" // MPropertyGroupName "Curve Paths" // MPropertyAttributeRange "0 1" - float m_flStrideCurveLimitScale; // 0x78 + float m_flStrideCurveLimitScale; // 0x78 // MPropertyFriendlyName "Enable Vertical Curved Paths" // MPropertyGroupName "Curve Paths" - bool m_bEnableVerticalCurvedPaths; // 0x7c + bool m_bEnableVerticalCurvedPaths; // 0x7c // MPropertyFriendlyName "Modulate Step Height" // MPropertyGroupName "Step Height" // MPropertyAttrChangeCallback - bool m_bModulateStepHeight; // 0x7d + bool m_bModulateStepHeight; // 0x7d +private: + [[maybe_unused]] uint8_t __pad007e[0x2]; // 0x7e +public: // MPropertyFriendlyName "Height Increase Scale" // MPropertyGroupName "Step Height" // MPropertyAttrStateCallback - float m_flStepHeightIncreaseScale; // 0x80 + float m_flStepHeightIncreaseScale; // 0x80 // MPropertyFriendlyName "Height Decrease Scale" // MPropertyGroupName "Step Height" // MPropertyAttrStateCallback - float m_flStepHeightDecreaseScale; // 0x84 + float m_flStepHeightDecreaseScale; // 0x84 // MPropertyFriendlyName "Enable Hip Shift" // MPropertyGroupName "Hip Shift" - bool m_bEnableHipShift; // 0x88 + bool m_bEnableHipShift; // 0x88 +private: + [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 +public: // MPropertyFriendlyName "Hip Shift Scale" // MPropertyGroupName "Hip Shift" // MPropertyAttributeRange "0 1" - float m_flHipShiftScale; // 0x8c + float m_flHipShiftScale; // 0x8c // MPropertyFriendlyName "Damping" // MPropertyGroupName "Hip Shift" - CAnimInputDamping m_hipShiftDamping; // 0x90 + CAnimInputDamping m_hipShiftDamping; // 0x90 // MPropertyFriendlyName "Apply Tilt" // MPropertyGroupName "Tilt" - bool m_bApplyTilt; // 0xa0 + bool m_bApplyTilt; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad00a1[0x3]; // 0xa1 +public: // MPropertyFriendlyName "Tilt Plane Pitch Spring Strength" // MPropertyGroupName "Tilt" - float m_flTiltPlanePitchSpringStrength; // 0xa4 + float m_flTiltPlanePitchSpringStrength; // 0xa4 // MPropertyFriendlyName "Tilt Plane Roll Spring Strength" // MPropertyGroupName "Tilt" - float m_flTiltPlaneRollSpringStrength; // 0xa8 + float m_flTiltPlaneRollSpringStrength; // 0xa8 // MPropertyFriendlyName "Enable Lock Breaking" // MPropertyGroupName "Lock Breaking" - bool m_bEnableLockBreaking; // 0xac + bool m_bEnableLockBreaking; // 0xac +private: + [[maybe_unused]] uint8_t __pad00ad[0x3]; // 0xad +public: // MPropertyFriendlyName "Tolerance" // MPropertyGroupName "Lock Breaking" - float m_flLockBreakTolerance; // 0xb0 + float m_flLockBreakTolerance; // 0xb0 // MPropertyFriendlyName "Blend Time" // MPropertyGroupName "Lock Breaking" - float m_flLockBreakBlendTime; // 0xb4 + float m_flLockBreakBlendTime; // 0xb4 // MPropertyFriendlyName "Enable Stretching" // MPropertyGroupName "Stretch" - bool m_bEnableStretching; // 0xb8 + bool m_bEnableStretching; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 +public: // MPropertyFriendlyName "Max Stretch Amount" // MPropertyGroupName "Stretch" - float m_flMaxStretchAmount; // 0xbc + float m_flMaxStretchAmount; // 0xbc // MPropertyFriendlyName "Extension Scale" // MPropertyGroupName "Stretch" // MPropertyAttributeRange "0 1" - float m_flStretchExtensionScale; // 0xc0 + float m_flStretchExtensionScale; // 0xc0 // MPropertyFriendlyName "Enable Ground Tracing" // MPropertyGroupName "Ground IK" // MPropertyAttrChangeCallback - bool m_bEnableGroundTracing; // 0xc4 + bool m_bEnableGroundTracing; // 0xc4 +private: + [[maybe_unused]] uint8_t __pad00c5[0x3]; // 0xc5 +public: // MPropertyFriendlyName "Angle Traces with Slope" // MPropertyGroupName "Ground IK" // MPropertyAttributeRange "0 1" // MPropertyAttrStateCallback - float m_flTraceAngleBlend; // 0xc8 + float m_flTraceAngleBlend; // 0xc8 // MPropertyFriendlyName "Apply Hip Drop" // MPropertyGroupName "Ground IK" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - bool m_bApplyHipDrop; // 0xcc + bool m_bApplyHipDrop; // 0xcc +private: + [[maybe_unused]] uint8_t __pad00cd[0x3]; // 0xcd +public: // MPropertyFriendlyName "Max Foot Lift" // MPropertyGroupName "Ground IK" // MPropertyAttrStateCallback - float m_flMaxFootHeight; // 0xd0 + float m_flMaxFootHeight; // 0xd0 // MPropertyFriendlyName "Leg Extension Scale" // MPropertyGroupName "Ground IK" // MPropertyAttrStateCallback - float m_flExtensionScale; // 0xd4 + float m_flExtensionScale; // 0xd4 // MPropertyFriendlyName "Hip Damping" // MPropertyGroupName "Ground IK" // MPropertyAttrStateCallback - CAnimInputDamping m_hipDampingSettings; // 0xd8 + CAnimInputDamping m_hipDampingSettings; // 0xd8 // MPropertyFriendlyName "Enable Root Height Damping" // MPropertyGroupName "Root Height Damping" // MPropertyAttrChangeCallback - bool m_bEnableRootHeightDamping; // 0xe8 + bool m_bEnableRootHeightDamping; // 0xe8 +private: + [[maybe_unused]] uint8_t __pad00e9[0x7]; // 0xe9 +public: // MPropertyFriendlyName "Damping Settings" // MPropertyGroupName "Root Height Damping" // MPropertyAttrStateCallback - CAnimInputDamping m_rootHeightDamping; // 0xf0 + CAnimInputDamping m_rootHeightDamping; // 0xf0 // MPropertyFriendlyName "Max Offset" // MPropertyGroupName "Root Height Damping" // MPropertyAttrStateCallback - float m_flMaxRootHeightOffset; // 0x100 + float m_flMaxRootHeightOffset; // 0x100 // MPropertyFriendlyName "Min Offset" // MPropertyGroupName "Root Height Damping" // MPropertyAttrStateCallback - float m_flMinRootHeightOffset; // 0x104 + float m_flMinRootHeightOffset; // 0x104 }; // Alignment: 11 // Size: 0x50 -struct FootFixedData_t : public -{ +struct FootFixedData_t +{ public: - VectorAligned m_vToeOffset; // 0x0 - VectorAligned m_vHeelOffset; // 0x10 - int32_t m_nTargetBoneIndex; // 0x20 - int32_t m_nAnkleBoneIndex; // 0x24 - int32_t m_nIKAnchorBoneIndex; // 0x28 - int32_t m_ikChainIndex; // 0x2c - float m_flMaxIKLength; // 0x30 - int32_t m_nFootIndex; // 0x34 - int32_t m_nTagIndex; // 0x38 - float m_flMaxRotationLeft; // 0x3c - float m_flMaxRotationRight; // 0x40 + VectorAligned m_vToeOffset; // 0x0 + VectorAligned m_vHeelOffset; // 0x10 + int32_t m_nTargetBoneIndex; // 0x20 + int32_t m_nAnkleBoneIndex; // 0x24 + int32_t m_nIKAnchorBoneIndex; // 0x28 + int32_t m_ikChainIndex; // 0x2c + float m_flMaxIKLength; // 0x30 + int32_t m_nFootIndex; // 0x34 + int32_t m_nTagIndex; // 0x38 + float m_flMaxRotationLeft; // 0x3c + float m_flMaxRotationRight; // 0x40 }; // Alignment: 7 // Size: 0x28 -class CFootPinningItem : public -{ +class CFootPinningItem +{ public: // MPropertyFriendlyName "Foot" // MPropertyAttributeChoiceName "Foot" - CUtlString m_footName; // 0x0 + CUtlString m_footName; // 0x0 // MPropertyFriendlyName "Target Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_targetBoneName; // 0x8 + CUtlString m_targetBoneName; // 0x8 // MPropertyFriendlyName "IK Chain" // MPropertyAttributeChoiceName "IKChain" - CUtlString m_ikChainName; // 0x10 + CUtlString m_ikChainName; // 0x10 // MPropertyFriendlyName "Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tag; // 0x18 + AnimTagID m_tag; // 0x18 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "BoolParameter" - AnimParamID m_param; // 0x1c + AnimParamID m_param; // 0x1c // MPropertyFriendlyName "Max Left Rotation" // MPropertyAttributeRange "0 180" - float m_flMaxRotationLeft; // 0x20 + float m_flMaxRotationLeft; // 0x20 // MPropertyFriendlyName "Max Right Rotation" // MPropertyAttributeRange "0 180" - float m_flMaxRotationRight; // 0x24 + float m_flMaxRotationRight; // 0x24 }; // Alignment: 11 // Size: 0x88 class CFootPinningAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Feet" // MPropertyAutoExpandSelf - CUtlVector< CFootPinningItem > m_items; // 0x40 + CUtlVector< CFootPinningItem > m_items; // 0x40 // MPropertyFriendlyName "Lock Timing Source" - FootPinningTimingSource m_eTimingSource; // 0x58 + FootPinningTimingSource m_eTimingSource; // 0x58 // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0x5c + float m_flBlendTime; // 0x5c // MPropertyFriendlyName "Lock Break Distance" - float m_flLockBreakDistance; // 0x60 + float m_flLockBreakDistance; // 0x60 // MPropertyFriendlyName "Max Leg Straight Amount" // MPropertyAttributeRange "0 1" - float m_flMaxLegStraightAmount; // 0x64 + float m_flMaxLegStraightAmount; // 0x64 // MPropertyFriendlyName "Limit Foot Rotation" // MPropertyGroupName "Foot Rotation Limits" - bool m_bApplyFootRotationLimits; // 0x68 + bool m_bApplyFootRotationLimits; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0069[0x7]; // 0x69 +public: // MPropertyFriendlyName "Hip Bone" // MPropertyAttributeChoiceName "Bone" // MPropertyGroupName "Foot Rotation Limits" - CUtlString m_hipBoneName; // 0x70 + CUtlString m_hipBoneName; // 0x70 // MPropertyFriendlyName "Limit Leg Twist" // MPropertyGroupName "Knee Twist Limits" - bool m_bApplyLegTwistLimits; // 0x78 + bool m_bApplyLegTwistLimits; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0079[0x3]; // 0x79 +public: // MPropertyFriendlyName "Max Leg Twist Angle" // MPropertyGroupName "Knee Twist Limits" - float m_flMaxLegTwist; // 0x7c + float m_flMaxLegTwist; // 0x7c // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x80 + bool m_bResetChild; // 0x80 }; // Alignment: 14 // Size: 0x78 class CFollowPathAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Blend Out Time" - float m_flBlendOutTime; // 0x40 + float m_flBlendOutTime; // 0x40 // MPropertyFriendlyName "Block Non-Path Movement" - bool m_bBlockNonPathMovement; // 0x44 + bool m_bBlockNonPathMovement; // 0x44 // MPropertyFriendlyName "Stop Feet at Goal" - bool m_bStopFeetAtGoal; // 0x45 + bool m_bStopFeetAtGoal; // 0x45 // MPropertyFriendlyName "Enable Speed Scaling" // MPropertyGroupName "Speed Scaling" // MPropertyAttrChangeCallback - bool m_bScaleSpeed; // 0x46 + bool m_bScaleSpeed; // 0x46 +private: + [[maybe_unused]] uint8_t __pad0047[0x1]; // 0x47 +public: // MPropertyFriendlyName "Scale" // MPropertyGroupName "Speed Scaling" // MPropertyAttributeRange "0 1" // MPropertyAttrStateCallback - float m_flScale; // 0x48 + float m_flScale; // 0x48 // MPropertyFriendlyName "Min Angle" // MPropertyGroupName "Speed Scaling" // MPropertyAttributeRange "0 180" // MPropertyAttrStateCallback - float m_flMinAngle; // 0x4c + float m_flMinAngle; // 0x4c // MPropertyFriendlyName "Max Angle" // MPropertyGroupName "Speed Scaling" // MPropertyAttributeRange "0 180" // MPropertyAttrStateCallback - float m_flMaxAngle; // 0x50 + float m_flMaxAngle; // 0x50 // MPropertyFriendlyName "Blend Time" // MPropertyGroupName "Speed Scaling" // MPropertyAttrStateCallback - float m_flSpeedScaleBlending; // 0x54 + float m_flSpeedScaleBlending; // 0x54 // MPropertyFriendlyName "Enable Turn to Face" // MPropertyGroupName "Turn to Face" // MPropertyAttrChangeCallback - bool m_bTurnToFace; // 0x58 + bool m_bTurnToFace; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0059[0x3]; // 0x59 +public: // MPropertyFriendlyName "Target" // MPropertyGroupName "Turn to Face" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_facingTarget; // 0x5c + AnimValueSource m_facingTarget; // 0x5c // MPropertyFriendlyName "Parameter" // MPropertyGroupName "Turn to Face" // MPropertyAttributeChoiceName "FloatParameter" // MPropertyAttrStateCallback - AnimParamID m_param; // 0x60 + AnimParamID m_param; // 0x60 // MPropertyFriendlyName "Offset" // MPropertyGroupName "Turn to Face" // MPropertyAttributeRange "-180 180" // MPropertyAttrStateCallback - float m_flTurnToFaceOffset; // 0x64 + float m_flTurnToFaceOffset; // 0x64 // MPropertyFriendlyName "Damping" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - CAnimInputDamping m_damping; // 0x68 + CAnimInputDamping m_damping; // 0x68 }; // Alignment: 23 // Size: 0xd0 class CMotionMatchingAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CMotionItemGroup > > m_groups; // 0x48 + CUtlVector< CSmartPtr< CMotionItemGroup > > m_groups; // 0x48 // MPropertyHideField - CUtlVector< CSmartPtr< CMotionMetricBase > > m_metrics; // 0x60 + CUtlVector< CSmartPtr< CMotionMetricBase > > m_metrics; // 0x60 // MPropertyHideField - CBlendCurve m_blendCurve; // 0x78 + CBlendCurve m_blendCurve; // 0x78 // MPropertyHideField - int32_t m_nRandomSeed; // 0x80 + int32_t m_nRandomSeed; // 0x80 // MPropertyFriendlyName "Sample Rate" // MPropertyAttributeRange "0.01 0.2" - float m_flSampleRate; // 0x84 + float m_flSampleRate; // 0x84 // MPropertyFriendlyName "Search Every Update" // MPropertyGroupName "Search Frequency" // MPropertyAttrChangeCallback - bool m_bSearchEveryTick; // 0x88 + bool m_bSearchEveryTick; // 0x88 +private: + [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 +public: // MPropertyFriendlyName "Search Interval" // MPropertyGroupName "Search Frequency" // MPropertyAttrStateCallback - float m_flSearchInterval; // 0x8c + float m_flSearchInterval; // 0x8c // MPropertyFriendlyName "Search when motion ends" // MPropertyGroupName "Search Frequency" // MPropertyAttrStateCallback - bool m_bSearchWhenMotionEnds; // 0x90 + bool m_bSearchWhenMotionEnds; // 0x90 // MPropertyFriendlyName "Search when goal changes" // MPropertyGroupName "Search Frequency" // MPropertyAttrStateCallback - bool m_bSearchWhenGoalChanges; // 0x91 + bool m_bSearchWhenGoalChanges; // 0x91 +private: + [[maybe_unused]] uint8_t __pad0092[0x2]; // 0x92 +public: // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0x94 + float m_flBlendTime; // 0x94 // MPropertyFriendlyName "Selection Threshold" - float m_flSelectionThreshold; // 0x98 + float m_flSelectionThreshold; // 0x98 // MPropertyFriendlyName "Re-Selection Time Window" - float m_flReselectionTimeWindow; // 0x9c + float m_flReselectionTimeWindow; // 0x9c // MPropertyFriendlyName "Lock Selection When Waning" - bool m_bLockSelectionWhenWaning; // 0xa0 + bool m_bLockSelectionWhenWaning; // 0xa0 // MPropertyFriendlyName "Enable Rotation Correction" - bool m_bEnableRotationCorrection; // 0xa1 + bool m_bEnableRotationCorrection; // 0xa1 // MPropertyFriendlyName "Enable Goal Assist" // MPropertyGroupName "Goal Assist" // MPropertyAttrChangeCallback - bool m_bGoalAssist; // 0xa2 + bool m_bGoalAssist; // 0xa2 +private: + [[maybe_unused]] uint8_t __pad00a3[0x1]; // 0xa3 +public: // MPropertyFriendlyName "Goal Assist Distance" // MPropertyGroupName "Goal Assist" // MPropertyAttrStateCallback - float m_flGoalAssistDistance; // 0xa4 + float m_flGoalAssistDistance; // 0xa4 // MPropertyFriendlyName "Goal Assist Tolerance" // MPropertyGroupName "Goal Assist" // MPropertyAttrStateCallback - float m_flGoalAssistTolerance; // 0xa8 + float m_flGoalAssistTolerance; // 0xa8 // MPropertyFriendlyName "Enable Distance Scaling" // MPropertyGroupName "Distance Scaling" // MPropertyAttrChangeCallback - bool m_bEnableDistanceScaling; // 0xac + bool m_bEnableDistanceScaling; // 0xac +private: + [[maybe_unused]] uint8_t __pad00ad[0x3]; // 0xad +public: // MPropertyFriendlyName "Outer Stopping Radius" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_OuterRadius; // 0xb0 + float m_flDistanceScale_OuterRadius; // 0xb0 // MPropertyFriendlyName "Inner Stopping Radius" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_InnerRadius; // 0xb4 + float m_flDistanceScale_InnerRadius; // 0xb4 // MPropertyFriendlyName "Maximum Speed Scale" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_MaxScale; // 0xb8 + float m_flDistanceScale_MaxScale; // 0xb8 // MPropertyFriendlyName "Minimum Speed Scale" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_MinScale; // 0xbc + float m_flDistanceScale_MinScale; // 0xbc // MPropertyFriendlyName "Damping" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - CAnimInputDamping m_distanceScale_Damping; // 0xc0 + CAnimInputDamping m_distanceScale_Damping; // 0xc0 }; // Alignment: 3 // Size: 0x48 class CSetFacingAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Facing Mode" - FacingMode m_facingMode; // 0x40 + FacingMode m_facingMode; // 0x40 // MPropertyFriendlyName "Reset Child" - bool m_bResetChild; // 0x44 + bool m_bResetChild; // 0x44 }; // Alignment: 6 // Size: 0x60 class CStopAtGoalAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Outer Stopping Radius" - float m_flOuterRadius; // 0x40 + float m_flOuterRadius; // 0x40 // MPropertyFriendlyName "Inner Stopping Radius" - float m_flInnerRadius; // 0x44 + float m_flInnerRadius; // 0x44 // MPropertyFriendlyName "Maximum Speed Scale" - float m_flMaxScale; // 0x48 + float m_flMaxScale; // 0x48 // MPropertyFriendlyName "Minimum Speed Scale" - float m_flMinScale; // 0x4c + float m_flMinScale; // 0x4c // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x50 + CAnimInputDamping m_damping; // 0x50 }; // Alignment: 7 // Size: 0x30 -class CJiggleBoneItem : public -{ +class CJiggleBoneItem +{ public: // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x0 + CUtlString m_boneName; // 0x0 // MPropertyFriendlyName "Spring Strength" - float m_flSpringStrength; // 0x8 + float m_flSpringStrength; // 0x8 // MPropertyFriendlyName "Sim Rate (FPS)" - float m_flSimRateFPS; // 0xc + float m_flSimRateFPS; // 0xc // MPropertyFriendlyName "Damping" // MPropertyAttributeRange "0 1" - float m_flDamping; // 0x10 + float m_flDamping; // 0x10 // MPropertyFriendlyName "Sim Space" - JiggleBoneSimSpace m_eSimSpace; // 0x14 + JiggleBoneSimSpace m_eSimSpace; // 0x14 // MPropertyFriendlyName "Max" // MPropertyGroupName "Movement Limits" - Vector m_vBoundsMaxLS; // 0x18 + Vector m_vBoundsMaxLS; // 0x18 // MPropertyFriendlyName "Min" // MPropertyGroupName "Movement Limits" - Vector m_vBoundsMinLS; // 0x24 + Vector m_vBoundsMinLS; // 0x24 }; // Alignment: 2 // Size: 0x58 class CJiggleBoneAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Jiggle Bones" // MPropertyAutoExpandSelf - CUtlVector< CJiggleBoneItem > m_items; // 0x40 + CUtlVector< CJiggleBoneItem > m_items; // 0x40 }; // Alignment: 8 // Size: 0xc8 -class CJumpHelperAnimNode : public CSequenceAnimNode, CAnimNodeBase -{ +class CJumpHelperAnimNode : public CSequenceAnimNode +{ public: // MPropertyFriendlyName "Target Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_targetParamID; // 0xb0 + AnimParamID m_targetParamID; // 0xb0 // MPropertySuppressField - float m_flJumpStartCycle; // 0xb4 + float m_flJumpStartCycle; // 0xb4 // MPropertySuppressField - float m_flJumpDuration; // 0xb8 + float m_flJumpDuration; // 0xb8 // MPropertyFriendlyName "Translate X" - bool m_bTranslateX; // 0xbc + bool m_bTranslateX; // 0xbc // MPropertyFriendlyName "Translate Y" - bool m_bTranslateY; // 0xbd + bool m_bTranslateY; // 0xbd // MPropertyFriendlyName "Translate Z" - bool m_bTranslateZ; // 0xbe + bool m_bTranslateZ; // 0xbe // MPropertyFriendlyName "Apply Speed Scale" - bool m_bScaleSpeed; // 0xbf + bool m_bScaleSpeed; // 0xbf // MPropertyFriendlyName "Correction Method" - JumpCorrectionMethod m_eCorrectionMethod; // 0xc0 + JumpCorrectionMethod m_eCorrectionMethod; // 0xc0 }; // Alignment: 4 // Size: 0x78 class CSingleFrameAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x50 + CUtlString m_sequenceName; // 0x50 // MPropertyFriendlyName "Frame Selection" // MPropertyAttrChangeCallback - SingleFrameSelection m_eFrameSelection; // 0x58 + SingleFrameSelection m_eFrameSelection; // 0x58 // MPropertyFriendlyName "Frame Index" // MPropertyAttrStateCallback - int32_t m_nFrameIndex; // 0x5c - CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x60 + int32_t m_nFrameIndex; // 0x5c + CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x60 }; // Alignment: 3 // Size: 0x58 class CCommentAnimNode : public CAnimNodeBase -{ +{ public: // MPropertySuppressField - CUtlString m_commentText; // 0x40 + CUtlString m_commentText; // 0x40 // MPropertySuppressField - Vector2D m_size; // 0x48 + Vector2D m_size; // 0x48 // MPropertyFriendlyName "Color" - Color m_color; // 0x50 + Color m_color; // 0x50 }; // Alignment: 3 // Size: 0x70 class CContainerAnimNodeBase : public CAnimNodeBase -{ +{ public: // MPropertyHideField - AnimNodeID m_inputNodeID; // 0x48 + AnimNodeID m_inputNodeID; // 0x48 // MPropertyHideField - AnimNodeID m_outputNodeID; // 0x4c + AnimNodeID m_outputNodeID; // 0x4c // MPropertyHideField - CUtlHashtable< AnimNodeOutputID, CAnimNodeConnection > m_inputConnectionMap; // 0x50 + CUtlHashtable< AnimNodeOutputID, CAnimNodeConnection > m_inputConnectionMap; // 0x50 }; // Alignment: 0 // Size: 0x38 class CInputStreamAnimNode : public CAnimNodeBase -{ +{ public: // no members available }; // Alignment: 3 // Size: 0x28 -class CFootStepTriggerItem : public -{ +class CFootStepTriggerItem +{ public: // MPropertyFriendlyName "Foot" // MPropertyAttributeChoiceName "Foot" - CUtlString m_footName; // 0x0 + CUtlString m_footName; // 0x0 // MPropertyFriendlyName "Trigger Phase" - StepPhase m_triggerPhase; // 0x8 + StepPhase m_triggerPhase; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: // MPropertyFriendlyName "Tags" // MPropertyAttributeChoiceName "Tag" - CUtlVector< AnimTagID > m_tags; // 0x10 + CUtlVector< AnimTagID > m_tags; // 0x10 }; // Alignment: 3 // Size: 0x60 class CFootStepTriggerAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Tolerance" - float m_flTolerance; // 0x40 + float m_flTolerance; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: // MPropertyFriendlyName "Feet" // MPropertyAutoExpandSelf - CUtlVector< CFootStepTriggerItem > m_items; // 0x48 + CUtlVector< CFootStepTriggerItem > m_items; // 0x48 }; // Alignment: 2 // Size: 0xb8 -class CSubGraphAnimNode : public CContainerAnimNodeBase, CAnimNodeBase -{ +class CSubGraphAnimNode : public CContainerAnimNodeBase +{ public: // MPropertyFriendlyName "SubGraph File" // MPropertyAttributeEditor "AssetBrowse( vsubgrph )" // MPropertyAttrChangeCallback - CUtlString m_subGraphFilename; // 0x78 + CUtlString m_subGraphFilename; // 0x78 // MPropertyHideField - CUtlHashtable< CUtlString, CUtlString > m_animNameMap; // 0x80 + CUtlHashtable< CUtlString, CUtlString > m_animNameMap; // 0x80 }; // Alignment: 0 // Size: 0x38 class CBindPoseAnimNode : public CAnimNodeBase -{ +{ public: // no members available }; @@ -4065,154 +4378,174 @@ public: // Alignment: 0 // Size: 0x38 class CZeroPoseAnimNode : public CAnimNodeBase -{ +{ public: // no members available }; // Alignment: 2 // Size: 0x18 -class CStateAction : public -{ +class CStateAction +{ public: - CSmartPtr< CAnimActionBase > m_pAction; // 0x8 - StateActionBehavior m_eBehavior; // 0x10 + CSmartPtr< CAnimActionBase > m_pAction; // 0x8 + StateActionBehavior m_eBehavior; // 0x10 }; // Alignment: 8 // Size: 0x70 -class CAnimState : public -{ +class CAnimState +{ public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimStateTransition > > m_transitions; // 0x28 + CUtlVector< CSmartPtr< CAnimStateTransition > > m_transitions; // 0x28 // MPropertyHideField - CUtlVector< CStateAction > m_actions; // 0x40 + CUtlVector< CStateAction > m_actions; // 0x40 // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_name; // 0x58 + CUtlString m_name; // 0x58 // MPropertyHideField - AnimStateID m_stateID; // 0x60 + AnimStateID m_stateID; // 0x60 // MPropertyHideField - Vector2D m_position; // 0x64 + Vector2D m_position; // 0x64 // MPropertyFriendlyName "Start State" - bool m_bIsStartState; // 0x6c + bool m_bIsStartState; // 0x6c // MPropertyFriendlyName "End State" - bool m_bIsEndtState; // 0x6d + bool m_bIsEndtState; // 0x6d // MPropertyFriendlyName "Passthrough" - bool m_bIsPassthrough; // 0x6e -}; - -// Alignment: 4 -// Size: 0x70 -class CAnimStateTransition : public -{ -public: - // MPropertySuppressField - CConditionContainer m_conditionList; // 0x28 - // MPropertyHideField - AnimStateID m_srcState; // 0x60 - // MPropertyHideField - AnimStateID m_destState; // 0x64 - // MPropertyFriendlyName "Disable" - bool m_bDisabled; // 0x68 -}; - -// Alignment: 1 -// Size: 0x28 -class CAnimStateMachine : public -{ -public: - // MPropertyHideField - CUtlVector< CSmartPtr< CAnimState > > m_states; // 0x8 -}; - -// Alignment: 2 -// Size: 0x10 -class CStateActionUpdater : public -{ -public: - CSmartPtr< CAnimActionUpdater > m_pAction; // 0x0 - StateActionBehavior m_eBehavior; // 0x8 -}; - -// Alignment: 3 -// Size: 0x3 -class CTransitionUpdateData : public -{ -public: - uint8_t m_srcStateIndex; // 0x0 - uint8_t m_destStateIndex; // 0x1 - uint8_t m_bDisabled:1; // 0x0 -}; - -// Alignment: 8 -// Size: 0x48 -class CStateUpdateData : public -{ -public: - CUtlString m_name; // 0x0 - AnimScriptHandle m_hScript; // 0x8 - CUtlVector< int32 > m_transitionIndices; // 0x10 - CUtlVector< CStateActionUpdater > m_actions; // 0x28 - AnimStateID m_stateID; // 0x40 - uint8_t m_bIsStartState:1; // 0x0 - uint8_t m_bIsEndState:1; // 0x0 - uint8_t m_bIsPassthrough:1; // 0x0 -}; - -// Alignment: 3 -// Size: 0x58 -class CAnimStateMachineUpdater : public -{ -public: - CUtlVector< CStateUpdateData > m_states; // 0x8 - CUtlVector< CTransitionUpdateData > m_transitions; // 0x20 - int32_t m_startStateIndex; // 0x50 -}; - -// Alignment: 0 -// Size: 0x28 -class CConditionBase : public -{ -public: - // no members available + bool m_bIsPassthrough; // 0x6e }; // Alignment: 1 // Size: 0x38 -class CConditionContainer : public -{ +class CConditionContainer +{ public: // MPropertySuppressField - CUtlVector< CSmartPtr< CConditionBase > > m_conditions; // 0x10 + CUtlVector< CSmartPtr< CConditionBase > > m_conditions; // 0x10 +}; + +// Alignment: 1 +// Size: 0x28 +class CAnimStateMachine +{ +public: + // MPropertyHideField + CUtlVector< CSmartPtr< CAnimState > > m_states; // 0x8 +}; + +// Alignment: 2 +// Size: 0x10 +class CStateActionUpdater +{ +public: + CSmartPtr< CAnimActionUpdater > m_pAction; // 0x0 + StateActionBehavior m_eBehavior; // 0x8 +}; + +// Alignment: 3 +// Size: 0x3 +class CTransitionUpdateData +{ +public: + uint8_t m_srcStateIndex; // 0x0 + uint8_t m_destStateIndex; // 0x1 + struct + { + uint8_t m_bDisabled: 1; + uint8_t __pad0: 1; // @note: autoaligned + }; // 2 bits +}; + +// Alignment: 8 +// Size: 0x48 +class CStateUpdateData +{ +public: + CUtlString m_name; // 0x0 + AnimScriptHandle m_hScript; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< int32 > m_transitionIndices; // 0x10 + CUtlVector< CStateActionUpdater > m_actions; // 0x28 + AnimStateID m_stateID; // 0x40 + struct + { + uint8_t m_bIsStartState: 1; + uint8_t m_bIsEndState: 1; + uint8_t m_bIsPassthrough: 1; + uint8_t __pad1: 3; // @note: autoaligned + }; // 6 bits +}; + +// Alignment: 3 +// Size: 0x58 +class CAnimStateMachineUpdater +{ +public: + CUtlVector< CStateUpdateData > m_states; // 0x8 + CUtlVector< CTransitionUpdateData > m_transitions; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 +public: + int32_t m_startStateIndex; // 0x50 +}; + +// Alignment: 0 +// Size: 0x28 +class CConditionBase +{ +public: + // no members available +}; + +// Alignment: 4 +// Size: 0x70 +class CAnimStateTransition +{ +public: + // MPropertySuppressField + CConditionContainer m_conditionList; // 0x28 + // MPropertyHideField + AnimStateID m_srcState; // 0x60 + // MPropertyHideField + AnimStateID m_destState; // 0x64 + // MPropertyFriendlyName "Disable" + bool m_bDisabled; // 0x68 }; // Alignment: 5 // Size: 0x48 class CCycleCondition : public CConditionBase -{ +{ public: - Comparison_t m_comparisonOp; // 0x28 - CUtlString m_comparisonString; // 0x30 - float m_comparisonValue; // 0x38 - ComparisonValueType m_comparisonValueType; // 0x3c - AnimParamID m_comparisonParamID; // 0x40 + Comparison_t m_comparisonOp; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CUtlString m_comparisonString; // 0x30 + float m_comparisonValue; // 0x38 + ComparisonValueType m_comparisonValueType; // 0x3c +private: + [[maybe_unused]] uint8_t __pad003d[0x3]; // 0x3d +public: + AnimParamID m_comparisonParamID; // 0x40 }; // Alignment: 2 // Size: 0x30 class CFinishedCondition : public CConditionBase -{ +{ public: - FinishedConditionOption m_option; // 0x28 - bool m_bIsFinished; // 0x2c + FinishedConditionOption m_option; // 0x28 + bool m_bIsFinished; // 0x2c }; // Alignment: 0 // Size: 0x60 class COrCondition : public CConditionBase -{ +{ public: // no members available }; @@ -4220,96 +4553,102 @@ public: // Alignment: 4 // Size: 0x50 class CParameterCondition : public CConditionBase -{ +{ public: - AnimParamID m_paramID; // 0x28 - Comparison_t m_comparisonOp; // 0x2c - CAnimVariant m_comparisonValue; // 0x30 - CUtlString m_comparisonString; // 0x48 + AnimParamID m_paramID; // 0x28 + Comparison_t m_comparisonOp; // 0x2c + CAnimVariant m_comparisonValue; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0041[0x7]; // 0x41 +public: + CUtlString m_comparisonString; // 0x48 }; // Alignment: 6 // Size: 0x40 class CStateStatusCondition : public CConditionBase -{ +{ public: - StateValue m_sourceValue; // 0x28 - StateComparisonValueType m_comparisonValueType; // 0x2c - float m_comparisonFixedValue; // 0x30 - StateValue m_comparisonStateValue; // 0x34 - AnimParamID m_comparisonParamID; // 0x38 - Comparison_t m_comparisonOp; // 0x3c + StateValue m_sourceValue; // 0x28 + StateComparisonValueType m_comparisonValueType; // 0x2c + float m_comparisonFixedValue; // 0x30 + StateValue m_comparisonStateValue; // 0x34 + AnimParamID m_comparisonParamID; // 0x38 + Comparison_t m_comparisonOp; // 0x3c }; // Alignment: 2 // Size: 0x30 class CTagCondition : public CConditionBase -{ +{ public: // MPropertyFriendlyName "Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tagID; // 0x28 + AnimTagID m_tagID; // 0x28 // MPropertyFriendlyName "Value" - bool m_comparisonValue; // 0x2c + bool m_comparisonValue; // 0x2c }; // Alignment: 2 // Size: 0x38 class CTimeCondition : public CConditionBase -{ +{ public: - Comparison_t m_comparisonOp; // 0x28 - CUtlString m_comparisonString; // 0x30 + Comparison_t m_comparisonOp; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CUtlString m_comparisonString; // 0x30 }; // Alignment: 3 // Size: 0xc -struct TagSpan_t : public -{ +struct TagSpan_t +{ public: - int32_t m_tagIndex; // 0x0 - float m_startCycle; // 0x4 - float m_endCycle; // 0x8 + int32_t m_tagIndex; // 0x0 + float m_startCycle; // 0x4 + float m_endCycle; // 0x8 }; // Alignment: 3 // Size: 0x30 -class CAnimTagSpan : public -{ +class CAnimTagSpan +{ public: - AnimTagID m_id; // 0x20 - float m_fStartCycle; // 0x24 - float m_fDuration; // 0x28 + AnimTagID m_id; // 0x20 + float m_fStartCycle; // 0x24 + float m_fDuration; // 0x28 }; // Alignment: 1 // Size: 0x58 -class CAnimTagManager : public -{ +class CAnimTagManager +{ public: - CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 + CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 }; // Alignment: 4 // Size: 0x38 -class CAnimTagBase : public -{ +class CAnimTagBase +{ public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_name; // 0x20 + CUtlString m_name; // 0x20 // MPropertyHideField - CUtlString m_group; // 0x28 + CUtlString m_group; // 0x28 // MPropertyHideField - AnimTagID m_tagID; // 0x30 + AnimTagID m_tagID; // 0x30 // MPropertyHideField - bool m_bIsReferenced; // 0x34 + bool m_bIsReferenced; // 0x34 }; // Alignment: 0 // Size: 0x40 class CStringAnimTag : public CAnimTagBase -{ +{ public: // no members available }; @@ -4317,341 +4656,359 @@ public: // Alignment: 1 // Size: 0x48 class CFootFallAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Foot" - FootFallTagFoot_t m_foot; // 0x40 + FootFallTagFoot_t m_foot; // 0x40 }; // Alignment: 7 // Size: 0x58 class CAudioAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Sound Event" // MPropertyAttributeEditor "SoundPicker()" - CUtlString m_clipName; // 0x40 + CUtlString m_clipName; // 0x40 // MPropertyFriendlyName "Attachment" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x48 + CUtlString m_attachmentName; // 0x48 // MPropertyFriendlyName "Volume" // MPropertyAttributeRange "0 1" - float m_flVolume; // 0x50 + float m_flVolume; // 0x50 // MPropertyFriendlyName "Stop on Tag End" - bool m_bStopWhenTagEnds; // 0x54 + bool m_bStopWhenTagEnds; // 0x54 // MPropertyFriendlyName "Stop When Graph Destroyed" - bool m_bStopWhenGraphEnds; // 0x55 + bool m_bStopWhenGraphEnds; // 0x55 // MPropertyFriendlyName "Play on Server" - bool m_bPlayOnServer; // 0x56 + bool m_bPlayOnServer; // 0x56 // MPropertyFriendlyName "Play on Client" - bool m_bPlayOnClient; // 0x57 + bool m_bPlayOnClient; // 0x57 }; // Alignment: 4 // Size: 0x60 class CFootstepLandedAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Footstep Type" - FootstepLandedFootSoundType_t m_FootstepType; // 0x40 + FootstepLandedFootSoundType_t m_FootstepType; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: // MPropertyFriendlyName "Override Sound" // MPropertyAttributeChoiceName "Sound" - CUtlString m_OverrideSoundName; // 0x48 + CUtlString m_OverrideSoundName; // 0x48 // MPropertyFriendlyName "Debug Name" - CUtlString m_DebugAnimSourceString; // 0x50 + CUtlString m_DebugAnimSourceString; // 0x50 // MPropertyFriendlyName "Bone Name" // MPropertyAttributeChoiceName "Bone" - CUtlString m_BoneName; // 0x58 + CUtlString m_BoneName; // 0x58 }; // Alignment: 1 // Size: 0x48 class CSequenceFinishedAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x40 + CUtlString m_sequenceName; // 0x40 }; // Alignment: 1 // Size: 0x50 class CTaskStatusAnimTag : public CAnimTagBase -{ +{ public: // MPropertyHideField - CUtlString m_identifierString; // 0x40 + CUtlString m_identifierString; // 0x40 }; // Alignment: 4 // Size: 0x58 class CClothSettingsAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Stiffness" // MPropertyAttributeRange "0 1" - float m_flStiffness; // 0x40 + float m_flStiffness; // 0x40 // MPropertyFriendlyName "EaseIn" // MPropertyAttributeRange "0 1" - float m_flEaseIn; // 0x44 + float m_flEaseIn; // 0x44 // MPropertyFriendlyName "EaseOut" // MPropertyAttributeRange "0 1" - float m_flEaseOut; // 0x48 + float m_flEaseOut; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: // MPropertyFriendlyName "VertexSet" - CUtlString m_nVertexSet; // 0x50 + CUtlString m_nVertexSet; // 0x50 }; // Alignment: 6 // Size: 0x58 class CRagdollAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Pose Control" - AnimPoseControl m_nPoseControl; // 0x40 + AnimPoseControl m_nPoseControl; // 0x40 // MPropertyFriendlyName "Frequency" // MPropertyAttributeRange "0 30" - float m_flFrequency; // 0x44 + float m_flFrequency; // 0x44 // MPropertyFriendlyName "Damping Ratio" // MPropertyAttributeRange "0 2" - float m_flDampingRatio; // 0x48 + float m_flDampingRatio; // 0x48 // MPropertyFriendlyName "Decay Duration" // MPropertyAttributeRange "-1 1000" - float m_flDecayDuration; // 0x4c + float m_flDecayDuration; // 0x4c // MPropertyFriendlyName "Decay Bias" // MPropertyAttributeRange "0 1" - float m_flDecayBias; // 0x50 + float m_flDecayBias; // 0x50 // MPropertyFriendlyName "Destroy" - bool m_bDestroy; // 0x54 + bool m_bDestroy; // 0x54 }; // Alignment: 10 // Size: 0x80 class CParticleAnimTag : public CAnimTagBase -{ +{ public: // MPropertySuppressField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hParticleSystem; // 0x40 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hParticleSystem; // 0x40 // MPropertyAttributeEditor "AssetBrowse( vpcf )" // MPropertyFriendlyName "Particle System" - CUtlString m_particleSystemName; // 0x48 + CUtlString m_particleSystemName; // 0x48 // MPropertyFriendlyName "Configuration" - CUtlString m_configName; // 0x50 + CUtlString m_configName; // 0x50 // MPropertyFriendlyName "Detach From Owner" - bool m_bDetachFromOwner; // 0x58 + bool m_bDetachFromOwner; // 0x58 // MPropertyFriendlyName "Stop on Tag End" // MPropertyGroupName "Ending" - bool m_bStopWhenTagEnds; // 0x59 + bool m_bStopWhenTagEnds; // 0x59 // MPropertyFriendlyName "Tag End Stop is Instant" // MPropertyGroupName "Ending" - bool m_bTagEndStopIsInstant; // 0x5a + bool m_bTagEndStopIsInstant; // 0x5a +private: + [[maybe_unused]] uint8_t __pad005b[0x5]; // 0x5b +public: // MPropertyFriendlyName "Attachment" // MPropertyGroupName "Attachments" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentName; // 0x60 + CUtlString m_attachmentName; // 0x60 // MPropertyFriendlyName "Attachment Type" // MPropertyGroupName "Attachments" - ParticleAttachment_t m_attachmentType; // 0x68 + ParticleAttachment_t m_attachmentType; // 0x68 +private: + [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c +public: // MPropertyFriendlyName "Attachment (Control Point 1)" // MPropertyGroupName "Attachments" // MPropertyAttributeChoiceName "Attachment" - CUtlString m_attachmentCP1Name; // 0x70 + CUtlString m_attachmentCP1Name; // 0x70 // MPropertyFriendlyName "Attachment Type (Control Point 1)" // MPropertyGroupName "Attachments" - ParticleAttachment_t m_attachmentCP1Type; // 0x78 + ParticleAttachment_t m_attachmentCP1Type; // 0x78 }; // Alignment: 4 // Size: 0x58 class CMaterialAttributeAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Attribute Name" - CUtlString m_AttributeName; // 0x40 + CUtlString m_AttributeName; // 0x40 // MPropertyFriendlyName "Attribute Type" // MPropertyAttrChangeCallback - MatterialAttributeTagType_t m_AttributeType; // 0x48 + MatterialAttributeTagType_t m_AttributeType; // 0x48 // MPropertyFriendlyName "Value" // MPropertyAttrStateCallback - float m_flValue; // 0x4c + float m_flValue; // 0x4c // MPropertyFriendlyName "Color" // MPropertyAttrStateCallback - Color m_Color; // 0x50 + Color m_Color; // 0x50 }; // Alignment: 2 // Size: 0x10 -class CBodyGroupSetting : public -{ +class CBodyGroupSetting +{ public: // MPropertyFriendlyName "BodyGroup" // MPropertyAttributeChoiceName "BodyGroup" // MPropertyAutoRebuildOnChange - CUtlString m_BodyGroupName; // 0x0 + CUtlString m_BodyGroupName; // 0x0 // MPropertyFriendlyName "BodyGroup Option" // MPropertyAttributeChoiceName "BodyGroupOption" // MPropertyAttrExtraInfoFn - int32_t m_nBodyGroupOption; // 0x8 + int32_t m_nBodyGroupOption; // 0x8 }; // Alignment: 2 // Size: 0x60 class CBodyGroupAnimTag : public CAnimTagBase -{ +{ public: // MPropertyFriendlyName "Priority" - int32_t m_nPriority; // 0x40 + int32_t m_nPriority; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: // MPropertyFriendlyName "Body Group Settings" - CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x48 + CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x48 }; // Alignment: 0 // Size: 0x50 class CMotionNodeManager : public CAnimNodeManager -{ +{ public: // no members available }; // Alignment: 1 // Size: 0x28 -class CMotionParameterManager : public -{ +class CMotionParameterManager +{ public: - CUtlVector< CSmartPtr< CMotionParameter > > m_params; // 0x10 + CUtlVector< CSmartPtr< CMotionParameter > > m_params; // 0x10 }; // Alignment: 5 // Size: 0x30 -class CMotionParameter : public -{ +class CMotionParameter +{ public: - CUtlString m_name; // 0x18 - AnimParamID m_id; // 0x20 - float m_flMinValue; // 0x24 - float m_flMaxValue; // 0x28 - int32_t m_nSamples; // 0x2c + CUtlString m_name; // 0x18 + AnimParamID m_id; // 0x20 + float m_flMinValue; // 0x24 + float m_flMaxValue; // 0x28 + int32_t m_nSamples; // 0x2c }; // Alignment: 1 // Size: 0x8 -class SampleCode : public -{ +class SampleCode +{ public: - uint8[8] m_subCode; // 0x0 + uint8_t m_subCode[8]; // 0x0 }; // Alignment: 1 // Size: 0x4 -class MotionDBIndex : public -{ +class MotionDBIndex +{ public: - uint32_t m_nIndex; // 0x0 + uint32_t m_nIndex; // 0x0 }; // Alignment: 3 // Size: 0x20 -class CVectorQuantizer : public -{ +class CVectorQuantizer +{ public: - CUtlVector< float32 > m_centroidVectors; // 0x0 - int32_t m_nCentroids; // 0x18 - int32_t m_nDimensions; // 0x1c + CUtlVector< float32 > m_centroidVectors; // 0x0 + int32_t m_nCentroids; // 0x18 + int32_t m_nDimensions; // 0x1c }; // Alignment: 2 // Size: 0x20 -class CProductQuantizer : public -{ +class CProductQuantizer +{ public: - CUtlVector< CVectorQuantizer > m_subQuantizers; // 0x0 - int32_t m_nDimensions; // 0x18 + CUtlVector< CVectorQuantizer > m_subQuantizers; // 0x0 + int32_t m_nDimensions; // 0x18 }; // Alignment: 5 // Size: 0x80 -class CMotionSearchNode : public -{ +class CMotionSearchNode +{ public: - CUtlVector< CMotionSearchNode* > m_children; // 0x0 - CVectorQuantizer m_quantizer; // 0x18 - CUtlVector< CUtlVector< SampleCode > > m_sampleCodes; // 0x38 - CUtlVector< CUtlVector< int32 > > m_sampleIndices; // 0x50 - CUtlVector< int32 > m_selectableSamples; // 0x68 + CUtlVector< CMotionSearchNode* > m_children; // 0x0 + CVectorQuantizer m_quantizer; // 0x18 + CUtlVector< CUtlVector< SampleCode > > m_sampleCodes; // 0x38 + CUtlVector< CUtlVector< int32 > > m_sampleIndices; // 0x50 + CUtlVector< int32 > m_selectableSamples; // 0x68 }; // Alignment: 3 // Size: 0xb8 -class CMotionSearchDB : public -{ +class CMotionSearchDB +{ public: - CMotionSearchNode m_rootNode; // 0x0 - CProductQuantizer m_residualQuantizer; // 0x80 - CUtlVector< MotionDBIndex > m_codeIndices; // 0xa0 + CMotionSearchNode m_rootNode; // 0x0 + CProductQuantizer m_residualQuantizer; // 0x80 + CUtlVector< MotionDBIndex > m_codeIndices; // 0xa0 }; // Alignment: 3 // Size: 0x78 -class CMotionItemGroup : public -{ +class CMotionItemGroup +{ public: // MPropertyHideField - CUtlVector< CSmartPtr< CMotionItem > > m_motions; // 0x20 + CUtlVector< CSmartPtr< CMotionItem > > m_motions; // 0x20 // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x38 - CConditionContainer m_conditions; // 0x40 + CUtlString m_name; // 0x38 + CConditionContainer m_conditions; // 0x40 }; // Alignment: 5 // Size: 0xa8 -class CMotionItem : public -{ +class CMotionItem +{ public: // MPropertyHideField - CMotionParameterManager m_paramManager; // 0x28 + CMotionParameterManager m_paramManager; // 0x28 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_blockSpans; // 0x50 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_blockSpans; // 0x50 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x68 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 + CUtlVector< CSmartPtr< CAnimParamSpan > > m_paramSpans; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0098[0x8]; // 0x98 +public: // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0xa0 + bool m_bLoop; // 0xa0 }; // Alignment: 1 // Size: 0xb8 class CSequenceMotionItem : public CMotionItem -{ +{ public: // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0xb0 + CUtlString m_sequenceName; // 0xb0 }; // Alignment: 2 // Size: 0x108 class CGraphMotionItem : public CMotionItem -{ +{ public: // MPropertyFriendlyName "Name" - CUtlString m_name; // 0xb0 + CUtlString m_name; // 0xb0 // MPropertyHideField - CMotionNodeManager m_nodeManager; // 0xb8 + CMotionNodeManager m_nodeManager; // 0xb8 }; // Alignment: 1 // Size: 0x28 -class CMotionMetricBase : public -{ +class CMotionMetricBase +{ public: // MPropertyHideField - float m_flWeight; // 0x20 + float m_flWeight; // 0x20 }; // Alignment: 0 // Size: 0x28 class CBlockSelectionMetric : public CMotionMetricBase -{ +{ public: // no members available }; @@ -4659,18 +5016,18 @@ public: // Alignment: 1 // Size: 0x40 class CFootCycleMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Foot" // MPropertyAttributeChoiceName "Foot" // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 + CUtlVector< CUtlString > m_feet; // 0x28 }; // Alignment: 0 // Size: 0x28 class CCurrentRotationVelocityMetric : public CMotionMetricBase -{ +{ public: // no members available }; @@ -4678,7 +5035,7 @@ public: // Alignment: 0 // Size: 0x28 class CCurrentVelocityMetric : public CMotionMetricBase -{ +{ public: // no members available }; @@ -4686,846 +5043,983 @@ public: // Alignment: 4 // Size: 0x50 class CPathMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 + float m_flDistance; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: // MPropertyFriendlyName "Samples Times" - CUtlVector< float32 > m_pathSamples; // 0x30 + CUtlVector< float32 > m_pathSamples; // 0x30 // MPropertyFriendlyName "Extrapolate Movement" // MPropertyAttrChangeCallback - bool m_bExtrapolateMovement; // 0x48 + bool m_bExtrapolateMovement; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 +public: // MPropertyFriendlyName "Min Extrapolation Speed" // MPropertyAttrStateCallback - float m_flMinExtrapolationSpeed; // 0x4c + float m_flMinExtrapolationSpeed; // 0x4c }; // Alignment: 2 // Size: 0x30 class CFutureFacingMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 + float m_flDistance; // 0x28 // MPropertyFriendlyName "Time" - float m_flTime; // 0x2c + float m_flTime; // 0x2c }; // Alignment: 5 // Size: 0x38 class CFutureVelocityMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 + float m_flDistance; // 0x28 // MPropertyFriendlyName "Stopping Distance" - float m_flStoppingDistance; // 0x2c + float m_flStoppingDistance; // 0x2c // MPropertyFriendlyName "Mode" // MPropertyAttrChangeCallback - VelocityMetricMode m_eMode; // 0x30 + VelocityMetricMode m_eMode; // 0x30 // MPropertyFriendlyName "Auto-Calculate target speed" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - bool m_bAutoTargetSpeed; // 0x31 + bool m_bAutoTargetSpeed; // 0x31 +private: + [[maybe_unused]] uint8_t __pad0032[0x2]; // 0x32 +public: // MPropertyFriendlyName "Target Speed" // MPropertyAttrStateCallback - float m_flManualTargetSpeed; // 0x34 + float m_flManualTargetSpeed; // 0x34 }; // Alignment: 1 // Size: 0x30 class CBonePositionMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x28 + CUtlString m_boneName; // 0x28 }; // Alignment: 1 // Size: 0x30 class CBoneVelocityMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x28 + CUtlString m_boneName; // 0x28 }; // Alignment: 7 // Size: 0x48 class CDistanceRemainingMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Maximum Tracked Distance" - float m_flMaxDistance; // 0x28 + float m_flMaxDistance; // 0x28 // MPropertyFriendlyName "Filter By Fixed Distance" // MPropertyAttrChangeCallback - bool m_bFilterFixedMinDistance; // 0x2c + bool m_bFilterFixedMinDistance; // 0x2c +private: + [[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d +public: // MPropertyFriendlyName "Min Distance" // MPropertyAttrStateCallback - float m_flMinDistance; // 0x30 + float m_flMinDistance; // 0x30 // MPropertyFriendlyName "Filter By Goal Distance" // MPropertyAttrChangeCallback - bool m_bFilterGoalDistance; // 0x34 + bool m_bFilterGoalDistance; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0035[0x3]; // 0x35 +public: // MPropertyFriendlyName "Goal Filter Start Distance" // MPropertyAttrStateCallback - float m_flStartGoalFilterDistance; // 0x38 + float m_flStartGoalFilterDistance; // 0x38 // MPropertyFriendlyName "Filter By Goal Overshoot" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - bool m_bFilterGoalOvershoot; // 0x3c + bool m_bFilterGoalOvershoot; // 0x3c +private: + [[maybe_unused]] uint8_t __pad003d[0x3]; // 0x3d +public: // MPropertyFriendlyName "Max Goal Overshoot Scale" // MPropertyAttrStateCallback - float m_flMaxGoalOvershootScale; // 0x40 + float m_flMaxGoalOvershootScale; // 0x40 }; // Alignment: 2 // Size: 0x48 class CStepsRemainingMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Feet" // MPropertyAttributeChoiceName "Foot" // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 + CUtlVector< CUtlString > m_feet; // 0x28 // MPropertyFriendlyName "Min Steps Remaining" - float m_flMinStepsRemaining; // 0x40 + float m_flMinStepsRemaining; // 0x40 }; // Alignment: 4 // Size: 0x38 class CTimeRemainingMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Match Time Remaining" // MPropertyGroupName // MPropertyAttrChangeCallback - bool m_bMatchByTimeRemaining; // 0x28 + bool m_bMatchByTimeRemaining; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 +public: // MPropertyFriendlyName "Max Time Remaining" // MPropertyAttrStateCallback - float m_flMaxTimeRemaining; // 0x2c + float m_flMaxTimeRemaining; // 0x2c // MPropertyFriendlyName "Filter By Time Remaining" // MPropertyAttrChangeCallback - bool m_bFilterByTimeRemaining; // 0x30 + bool m_bFilterByTimeRemaining; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 +public: // MPropertyFriendlyName "Min Time Remaining" // MPropertyAttrStateCallback - float m_flMinTimeRemaining; // 0x34 + float m_flMinTimeRemaining; // 0x34 }; // Alignment: 2 // Size: 0x48 class CFootPositionMetric : public CMotionMetricBase -{ +{ public: // MPropertyFriendlyName "Foot" // MPropertyAttributeChoiceName "Foot" // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 + CUtlVector< CUtlString > m_feet; // 0x28 // MPropertyFriendlyName "Ignore Slope" - bool m_bIgnoreSlope; // 0x40 + bool m_bIgnoreSlope; // 0x40 }; // Alignment: 5 // Size: 0x58 -struct ScriptInfo_t : public -{ +struct ScriptInfo_t +{ public: - CUtlString m_code; // 0x0 - CUtlVector< CAnimParamHandle > m_paramsModified; // 0x8 - CUtlVector< int32 > m_proxyReadParams; // 0x20 - CUtlVector< int32 > m_proxyWriteParams; // 0x38 - AnimScriptType m_eScriptType; // 0x50 + CUtlString m_code; // 0x0 + CUtlVector< CAnimParamHandle > m_paramsModified; // 0x8 + CUtlVector< int32 > m_proxyReadParams; // 0x20 + CUtlVector< int32 > m_proxyWriteParams; // 0x38 + AnimScriptType m_eScriptType; // 0x50 }; // Alignment: 1 // Size: 0x110 -class CAnimScriptManager : public -{ +class CAnimScriptManager +{ public: - CUtlVector< ScriptInfo_t > m_scriptInfo; // 0x10 + CUtlVector< ScriptInfo_t > m_scriptInfo; // 0x10 }; -// Alignment: 2 -// Size: 0x2 -class CAnimParamHandle : public -{ +// Alignment: 5 +// Size: 0x28 +struct ParamSpan_t +{ public: - AnimParamType_t m_type; // 0x0 - uint8_t m_index; // 0x1 + CUtlVector< ParamSpanSample_t > m_samples; // 0x0 + CAnimParamHandle m_hParam; // 0x18 + AnimParamType_t m_eParamType; // 0x1a +private: + [[maybe_unused]] uint8_t __pad001b[0x1]; // 0x1b +public: + float m_flStartCycle; // 0x1c + float m_flEndCycle; // 0x20 }; // Alignment: 5 // Size: 0x90 -class CAnimReplayFrame : public -{ +class CAnimReplayFrame +{ public: - CUtlVector< CUtlBinaryBlock > m_inputDataBlocks; // 0x10 - CUtlBinaryBlock m_instanceData; // 0x28 - CTransform m_startingLocalToWorldTransform; // 0x40 - CTransform m_localToWorldTransform; // 0x60 - float m_timeStamp; // 0x80 + CUtlVector< CUtlBinaryBlock > m_inputDataBlocks; // 0x10 + CUtlBinaryBlock m_instanceData; // 0x28 + CTransform m_startingLocalToWorldTransform; // 0x40 + CTransform m_localToWorldTransform; // 0x60 + float m_timeStamp; // 0x80 }; // Alignment: 5 // Size: 0x70 -class CAnimGraphDebugReplay : public -{ +class CAnimGraphDebugReplay +{ public: - CUtlString m_animGraphFileName; // 0x40 - CUtlVector< CSmartPtr< CAnimReplayFrame > > m_frameList; // 0x48 - int32_t m_startIndex; // 0x60 - int32_t m_writeIndex; // 0x64 - int32_t m_frameCount; // 0x68 + CUtlString m_animGraphFileName; // 0x40 + CUtlVector< CSmartPtr< CAnimReplayFrame > > m_frameList; // 0x48 + int32_t m_startIndex; // 0x60 + int32_t m_writeIndex; // 0x64 + int32_t m_frameCount; // 0x68 }; // Alignment: 1 // Size: 0x20 -class CAnimParamHandleMap : public -{ +class CAnimParamHandleMap +{ public: - CUtlHashtable< uint16, int16 > m_list; // 0x0 + CUtlHashtable< uint16, int16 > m_list; // 0x0 }; // Alignment: 6 // Size: 0x100 -class CAnimParameterListUpdater : public -{ +class CAnimParameterListUpdater +{ public: - CUtlVector< CSmartPtr< CAnimParameterBase > > m_parameters; // 0x18 - CUtlHashtable< AnimParamID, int32 > m_idToIndexMap; // 0x30 - CUtlHashtable< CUtlString, int32 > m_nameToIndexMap; // 0x50 - CUtlVector< CAnimParamHandle > m_indexToHandle; // 0x70 - CUtlVector< CUtlPair< CAnimParamHandle, CAnimVariant > > m_autoResetParams; // 0x88 - CUtlHashtable< CAnimParamHandle, int16 > m_autoResetMap; // 0xa0 + CUtlVector< CSmartPtr< CAnimParameterBase > > m_parameters; // 0x18 + CUtlHashtable< AnimParamID, int32 > m_idToIndexMap; // 0x30 + CUtlHashtable< CUtlString, int32 > m_nameToIndexMap; // 0x50 + CUtlVector< CAnimParamHandle > m_indexToHandle; // 0x70 + CUtlVector< CUtlPair< CAnimParamHandle, CAnimVariant > > m_autoResetParams; // 0x88 + CUtlHashtable< CAnimParamHandle, int16 > m_autoResetMap; // 0xa0 }; // Alignment: 1 // Size: 0x38 -class CAnimTagManagerUpdater : public -{ +class CAnimTagManagerUpdater +{ public: - CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 + CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 }; // Alignment: 4 // Size: 0x30 -class CAnimComponentUpdater : public -{ +class CAnimComponentUpdater +{ public: - CUtlString m_name; // 0x18 - AnimComponentID m_id; // 0x20 - AnimNodeNetworkMode m_networkMode; // 0x24 - bool m_bStartEnabled; // 0x28 + CUtlString m_name; // 0x18 + AnimComponentID m_id; // 0x20 + AnimNodeNetworkMode m_networkMode; // 0x24 + bool m_bStartEnabled; // 0x28 }; // Alignment: 2 // Size: 0x10 -class CMovementMode : public -{ +class CMovementMode +{ public: // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 // MPropertyFriendlyName "Top Speed" - float m_flSpeed; // 0x8 + float m_flSpeed; // 0x8 }; // Alignment: 9 // Size: 0xc0 class CMovementComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CUtlVector< CMovementMode > m_movementModes; // 0x30 - CUtlVector< CSmartPtr< CAnimMotorUpdaterBase > > m_motors; // 0x48 - CAnimInputDamping m_facingDamping; // 0x60 - FacingMode m_eDefaultFacingMode; // 0x70 - int32_t m_nDefaultMotorIndex; // 0x7c - bool m_bMoveVarsDisabled; // 0x80 - bool m_bNetworkPath; // 0x81 - bool m_bNetworkFacing; // 0x82 - CAnimParamHandle[30] m_paramHandles; // 0x83 + CUtlVector< CMovementMode > m_movementModes; // 0x30 + CUtlVector< CSmartPtr< CAnimMotorUpdaterBase > > m_motors; // 0x48 + CAnimInputDamping m_facingDamping; // 0x60 + FacingMode m_eDefaultFacingMode; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0074[0x8]; // 0x74 +public: + int32_t m_nDefaultMotorIndex; // 0x7c + bool m_bMoveVarsDisabled; // 0x80 + bool m_bNetworkPath; // 0x81 + bool m_bNetworkFacing; // 0x82 + CAnimParamHandle m_paramHandles[30]; // 0x83 }; // Alignment: 7 // Size: 0x48 class CLookComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CAnimParamHandle m_hLookHeading; // 0x34 - CAnimParamHandle m_hLookHeadingVelocity; // 0x36 - CAnimParamHandle m_hLookPitch; // 0x38 - CAnimParamHandle m_hLookDirection; // 0x3a - CAnimParamHandle m_hLookTarget; // 0x3c - CAnimParamHandle m_hLookTargetWorldSpace; // 0x3e - bool m_bNetworkLookTarget; // 0x40 + CAnimParamHandle m_hLookHeading; // 0x34 + CAnimParamHandle m_hLookHeadingVelocity; // 0x36 + CAnimParamHandle m_hLookPitch; // 0x38 + CAnimParamHandle m_hLookDirection; // 0x3a + CAnimParamHandle m_hLookTarget; // 0x3c + CAnimParamHandle m_hLookTargetWorldSpace; // 0x3e + bool m_bNetworkLookTarget; // 0x40 }; // Alignment: 7 // Size: 0x48 class CSlopeComponentUpdater : public CAnimComponentUpdater -{ +{ public: - float m_flTraceDistance; // 0x34 - CAnimParamHandle m_hSlopeAngle; // 0x38 - CAnimParamHandle m_hSlopeAngleFront; // 0x3a - CAnimParamHandle m_hSlopeAngleSide; // 0x3c - CAnimParamHandle m_hSlopeHeading; // 0x3e - CAnimParamHandle m_hSlopeNormal; // 0x40 - CAnimParamHandle m_hSlopeNormal_WorldSpace; // 0x42 + float m_flTraceDistance; // 0x34 + CAnimParamHandle m_hSlopeAngle; // 0x38 + CAnimParamHandle m_hSlopeAngleFront; // 0x3a + CAnimParamHandle m_hSlopeAngleSide; // 0x3c + CAnimParamHandle m_hSlopeHeading; // 0x3e + CAnimParamHandle m_hSlopeNormal; // 0x40 + CAnimParamHandle m_hSlopeNormal_WorldSpace; // 0x42 }; // Alignment: 0 // Size: 0x18 -class CAnimActionUpdater : public -{ +class CAnimActionUpdater +{ public: // no members available }; // Alignment: 2 // Size: 0x20 -class CAnimMotorUpdaterBase : public -{ +class CAnimMotorUpdaterBase +{ public: - CUtlString m_name; // 0x10 - bool m_bDefault; // 0x18 + CUtlString m_name; // 0x10 + bool m_bDefault; // 0x18 }; // Alignment: 1 // Size: 0x28 class CPathAnimMotorUpdaterBase : public CAnimMotorUpdaterBase -{ +{ public: - bool m_bLockToPath; // 0x20 + bool m_bLockToPath; // 0x20 }; // Alignment: 0 // Size: 0x28 -class CPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase, CAnimMotorUpdaterBase -{ +class CPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase +{ public: // no members available }; // Alignment: 7 // Size: 0x48 -class CDampedPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase, CAnimMotorUpdaterBase -{ +class CDampedPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase +{ public: - float m_flAnticipationTime; // 0x2c - float m_flMinSpeedScale; // 0x30 - CAnimParamHandle m_hAnticipationPosParam; // 0x34 - CAnimParamHandle m_hAnticipationHeadingParam; // 0x36 - float m_flSpringConstant; // 0x38 - float m_flMinSpringTension; // 0x3c - float m_flMaxSpringTension; // 0x40 + float m_flAnticipationTime; // 0x2c + float m_flMinSpeedScale; // 0x30 + CAnimParamHandle m_hAnticipationPosParam; // 0x34 + CAnimParamHandle m_hAnticipationHeadingParam; // 0x36 + float m_flSpringConstant; // 0x38 + float m_flMinSpringTension; // 0x3c + float m_flMaxSpringTension; // 0x40 }; // Alignment: 6 // Size: 0x50 class CPlayerInputAnimMotorUpdater : public CAnimMotorUpdaterBase -{ +{ public: - CUtlVector< float32 > m_sampleTimes; // 0x20 - float m_flSpringConstant; // 0x3c - float m_flAnticipationDistance; // 0x40 - CAnimParamHandle m_hAnticipationPosParam; // 0x44 - CAnimParamHandle m_hAnticipationHeadingParam; // 0x46 - bool m_bUseAcceleration; // 0x48 + CUtlVector< float32 > m_sampleTimes; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0038[0x4]; // 0x38 +public: + float m_flSpringConstant; // 0x3c + float m_flAnticipationDistance; // 0x40 + CAnimParamHandle m_hAnticipationPosParam; // 0x44 + CAnimParamHandle m_hAnticipationHeadingParam; // 0x46 + bool m_bUseAcceleration; // 0x48 }; // Alignment: 5 // Size: 0x1c -class CStateNodeTransitionData : public -{ +class CStateNodeTransitionData +{ public: - CBlendCurve m_curve; // 0x0 - CAnimValue< float32 > m_blendDuration; // 0x8 - CAnimValue< float32 > m_resetCycleValue; // 0x10 - uint8_t m_bReset:1; // 0x0 - uint8_t m_resetCycleOption:3; // 0x0 -}; - -// Alignment: 2 -// Size: 0x18 -class CStateNodeStateData : public -{ -public: - CAnimUpdateNodeRef m_pChild; // 0x0 - uint8_t m_bExclusiveRootMotion:1; // 0x0 + CBlendCurve m_curve; // 0x0 + CAnimValue< float32 > m_blendDuration; // 0x8 + CAnimValue< float32 > m_resetCycleValue; // 0x10 + struct + { + uint8_t m_bReset: 1; + uint8_t m_resetCycleOption: 3; + uint8_t __pad2: 4; // @note: autoaligned + }; // 8 bits }; // Alignment: 1 // Size: 0x10 -class CAnimUpdateNodeRef : public -{ +class CAnimUpdateNodeRef +{ public: - int32_t m_nodeIndex; // 0x8 + int32_t m_nodeIndex; // 0x8 +}; + +// Alignment: 2 +// Size: 0x18 +class CStateNodeStateData +{ +public: + CAnimUpdateNodeRef m_pChild; // 0x0 + struct + { + uint8_t m_bExclusiveRootMotion: 1; + uint8_t __pad3: 1; // @note: autoaligned + }; // 2 bits }; // Alignment: 3 // Size: 0x58 -class CAnimUpdateNodeBase : public -{ +class CAnimUpdateNodeBase +{ public: - CAnimNodePath m_nodePath; // 0x18 - CUtlString m_name; // 0x48 - AnimNodeNetworkMode m_networkMode; // 0x50 + CAnimNodePath m_nodePath; // 0x18 + CUtlString m_name; // 0x48 + AnimNodeNetworkMode m_networkMode; // 0x50 }; // Alignment: 2 // Size: 0x20 -class CDirectPlaybackTagData : public -{ +class CDirectPlaybackTagData +{ public: - CUtlString m_sequenceName; // 0x0 - CUtlVector< TagSpan_t > m_tags; // 0x8 + CUtlString m_sequenceName; // 0x0 + CUtlVector< TagSpan_t > m_tags; // 0x8 }; // Alignment: 15 // Size: 0x160 -struct TwoBoneIKSettings_t : public -{ +struct TwoBoneIKSettings_t +{ public: - IkEndEffectorType m_endEffectorType; // 0x0 - CAnimAttachment m_endEffectorAttachment; // 0x10 - IkTargetType m_targetType; // 0x90 - CAnimAttachment m_targetAttachment; // 0xa0 - int32_t m_targetBoneIndex; // 0x120 - CAnimParamHandle m_hPositionParam; // 0x124 - CAnimParamHandle m_hRotationParam; // 0x126 - bool m_bAlwaysUseFallbackHinge; // 0x128 - VectorAligned m_vFallbackHingeAxis; // 0x130 - int32_t m_nFixedBoneIndex; // 0x140 - int32_t m_nMiddleBoneIndex; // 0x144 - int32_t m_nEndBoneIndex; // 0x148 - bool m_bMatchTargetOrientation; // 0x14c - bool m_bConstrainTwist; // 0x14d - float m_flMaxTwist; // 0x150 + IkEndEffectorType m_endEffectorType; // 0x0 + CAnimAttachment m_endEffectorAttachment; // 0x10 + IkTargetType m_targetType; // 0x90 +private: + [[maybe_unused]] uint8_t __pad0094[0xc]; // 0x94 +public: + CAnimAttachment m_targetAttachment; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad0094[0x8c]; // 0x94 +public: + int32_t m_targetBoneIndex; // 0x120 + CAnimParamHandle m_hPositionParam; // 0x124 + CAnimParamHandle m_hRotationParam; // 0x126 + bool m_bAlwaysUseFallbackHinge; // 0x128 +private: + [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 +public: + VectorAligned m_vFallbackHingeAxis; // 0x130 + int32_t m_nFixedBoneIndex; // 0x140 + int32_t m_nMiddleBoneIndex; // 0x144 + int32_t m_nEndBoneIndex; // 0x148 + bool m_bMatchTargetOrientation; // 0x14c + bool m_bConstrainTwist; // 0x14d +private: + [[maybe_unused]] uint8_t __pad014e[0x2]; // 0x14e +public: + float m_flMaxTwist; // 0x150 }; // Alignment: 6 // Size: 0x88 class CBinaryUpdateNode : public CAnimUpdateNodeBase -{ +{ public: - CAnimUpdateNodeRef m_pChild1; // 0x58 - CAnimUpdateNodeRef m_pChild2; // 0x68 - BinaryNodeTiming m_timingBehavior; // 0x78 - float m_flTimingBlend; // 0x7c - bool m_bResetChild1; // 0x80 - bool m_bResetChild2; // 0x81 + CAnimUpdateNodeRef m_pChild1; // 0x58 + CAnimUpdateNodeRef m_pChild2; // 0x68 + BinaryNodeTiming m_timingBehavior; // 0x78 + float m_flTimingBlend; // 0x7c + bool m_bResetChild1; // 0x80 + bool m_bResetChild2; // 0x81 }; // Alignment: 1 // Size: 0x68 class CUnaryUpdateNode : public CAnimUpdateNodeBase -{ +{ public: - CAnimUpdateNodeRef m_pChildNode; // 0x58 + CAnimUpdateNodeRef m_pChildNode; // 0x58 }; // Alignment: 0 // Size: 0x58 class CLeafUpdateNode : public CAnimUpdateNodeBase -{ +{ public: // no members available }; -// Alignment: 1 -// Size: 0xa8 -class CSkeletalInputUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 9 +// Size: 0x48 +struct SkeletalInputOpFixedSettings_t +{ public: - SkeletalInputOpFixedSettings_t m_fixedOpData; // 0x58 + CUtlVector< WristBone_t > m_wristBones; // 0x0 + CUtlVector< FingerChain_t > m_fingers; // 0x18 + int32_t m_outerKnuckle1; // 0x30 + int32_t m_outerKnuckle2; // 0x34 + AnimVRHand_t m_eHand; // 0x38 + AnimVRHandMotionRange_t m_eMotionRange; // 0x3c + AnimVrBoneTransformSource_t m_eTransformSource; // 0x40 + bool m_bEnableIK; // 0x44 + bool m_bEnableCollision; // 0x45 }; // Alignment: 2 // Size: 0x10 -struct StanceInfo_t : public -{ +struct StanceInfo_t +{ public: - Vector m_vPosition; // 0x0 - float m_flDirection; // 0xc + Vector m_vPosition; // 0x0 + float m_flDirection; // 0xc }; // Alignment: 4 // Size: 0x98 -class CStanceOverrideUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CStanceOverrideUpdateNode : public CUnaryUpdateNode +{ public: - CUtlVector< StanceInfo_t > m_footStanceInfo; // 0x68 - CAnimUpdateNodeRef m_pStanceSourceNode; // 0x80 - CAnimParamHandle m_hParameter; // 0x90 - StanceOverrideMode m_eMode; // 0x94 + CUtlVector< StanceInfo_t > m_footStanceInfo; // 0x68 + CAnimUpdateNodeRef m_pStanceSourceNode; // 0x80 + CAnimParamHandle m_hParameter; // 0x90 +private: + [[maybe_unused]] uint8_t __pad0092[0x2]; // 0x92 +public: + StanceOverrideMode m_eMode; // 0x94 }; // Alignment: 1 // Size: 0x70 -class CStanceScaleUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CStanceScaleUpdateNode : public CUnaryUpdateNode +{ public: - CAnimParamHandle m_hParam; // 0x68 + CAnimParamHandle m_hParam; // 0x68 }; // Alignment: 8 // Size: 0xa8 class CSelectorUpdateNode : public CAnimUpdateNodeBase -{ +{ public: - CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 - CUtlVector< int8 > m_tags; // 0x70 - CBlendCurve m_blendCurve; // 0x8c - CAnimValue< float32 > m_flBlendTime; // 0x94 - CAnimParamHandle m_hParameter; // 0x9c - SelectorTagBehavior_t m_eTagBehavior; // 0xa0 - bool m_bResetOnChange; // 0xa4 - bool m_bSyncCyclesOnChange; // 0xa5 + CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 + CUtlVector< int8 > m_tags; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0088[0x4]; // 0x88 +public: + CBlendCurve m_blendCurve; // 0x8c + CAnimValue< float32 > m_flBlendTime; // 0x94 + CAnimParamHandle m_hParameter; // 0x9c +private: + [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e +public: + SelectorTagBehavior_t m_eTagBehavior; // 0xa0 + bool m_bResetOnChange; // 0xa4 + bool m_bSyncCyclesOnChange; // 0xa5 }; -// Alignment: 8 -// Size: 0xc8 -class CHitReactUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 17 +// Size: 0x44 +struct HitReactFixedSettings_t +{ public: - HitReactFixedSettings_t m_opFixedSettings; // 0x68 - CAnimParamHandle m_triggerParam; // 0xb4 - CAnimParamHandle m_hitBoneParam; // 0xb6 - CAnimParamHandle m_hitOffsetParam; // 0xb8 - CAnimParamHandle m_hitDirectionParam; // 0xba - CAnimParamHandle m_hitStrengthParam; // 0xbc - float m_flMinDelayBetweenHits; // 0xc0 - bool m_bResetChild; // 0xc4 + int32_t m_nWeightListIndex; // 0x0 + int32_t m_nEffectedBoneCount; // 0x4 + float m_flMaxImpactForce; // 0x8 + float m_flMinImpactForce; // 0xc + float m_flWhipImpactScale; // 0x10 + float m_flCounterRotationScale; // 0x14 + float m_flDistanceFadeScale; // 0x18 + float m_flPropagationScale; // 0x1c + float m_flWhipDelay; // 0x20 + float m_flSpringStrength; // 0x24 + float m_flWhipSpringStrength; // 0x28 + float m_flMaxAngleRadians; // 0x2c + int32_t m_nHipBoneIndex; // 0x30 + float m_flHipBoneTranslationScale; // 0x34 + float m_flHipDipSpringStrength; // 0x38 + float m_flHipDipImpactScale; // 0x3c + float m_flHipDipDelay; // 0x40 }; // Alignment: 6 // Size: 0x40 -struct BlendItem_t : public -{ +struct BlendItem_t +{ public: - CUtlVector< TagSpan_t > m_tags; // 0x0 - CAnimUpdateNodeRef m_pChild; // 0x18 - HSequence m_hSequence; // 0x28 - Vector2D m_vPos; // 0x2c - float m_flDuration; // 0x34 - bool m_bUseCustomDuration; // 0x38 + CUtlVector< TagSpan_t > m_tags; // 0x0 + CAnimUpdateNodeRef m_pChild; // 0x18 + HSequence m_hSequence; // 0x28 + Vector2D m_vPos; // 0x2c + float m_flDuration; // 0x34 + bool m_bUseCustomDuration; // 0x38 }; // Alignment: 15 // Size: 0xf0 class CBlend2DUpdateNode : public CAnimUpdateNodeBase -{ +{ public: - CUtlVector< BlendItem_t > m_items; // 0x60 - CUtlVector< TagSpan_t > m_tags; // 0x78 - CParamSpanUpdater m_paramSpans; // 0x90 - CUtlVector< int32 > m_nodeItemIndices; // 0xa8 - CAnimInputDamping m_damping; // 0xc0 - AnimValueSource m_blendSourceX; // 0xd0 - CAnimParamHandle m_paramX; // 0xd4 - AnimValueSource m_blendSourceY; // 0xd8 - CAnimParamHandle m_paramY; // 0xdc - Blend2DMode m_eBlendMode; // 0xe0 - float m_playbackSpeed; // 0xe4 - bool m_bLoop; // 0xe8 - bool m_bLockBlendOnReset; // 0xe9 - bool m_bLockWhenWaning; // 0xea - bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xeb + CUtlVector< BlendItem_t > m_items; // 0x60 + CUtlVector< TagSpan_t > m_tags; // 0x78 + CParamSpanUpdater m_paramSpans; // 0x90 + CUtlVector< int32 > m_nodeItemIndices; // 0xa8 + CAnimInputDamping m_damping; // 0xc0 + AnimValueSource m_blendSourceX; // 0xd0 + CAnimParamHandle m_paramX; // 0xd4 +private: + [[maybe_unused]] uint8_t __pad00d6[0x2]; // 0xd6 +public: + AnimValueSource m_blendSourceY; // 0xd8 + CAnimParamHandle m_paramY; // 0xdc +private: + [[maybe_unused]] uint8_t __pad00de[0x2]; // 0xde +public: + Blend2DMode m_eBlendMode; // 0xe0 + float m_playbackSpeed; // 0xe4 + bool m_bLoop; // 0xe8 + bool m_bLockBlendOnReset; // 0xe9 + bool m_bLockWhenWaning; // 0xea + bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xeb }; // Alignment: 9 // Size: 0xa8 -class CFootAdjustmentUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CFootAdjustmentUpdateNode : public CUnaryUpdateNode +{ public: - CUtlVector< HSequence > m_clips; // 0x70 - CPoseHandle m_hBasePoseCacheHandle; // 0x88 - CAnimParamHandle m_facingTarget; // 0x8c - float m_flTurnTimeMin; // 0x90 - float m_flTurnTimeMax; // 0x94 - float m_flStepHeightMax; // 0x98 - float m_flStepHeightMaxAngle; // 0x9c - bool m_bResetChild; // 0xa0 - bool m_bAnimationDriven; // 0xa1 + CUtlVector< HSequence > m_clips; // 0x70 + CPoseHandle m_hBasePoseCacheHandle; // 0x88 + CAnimParamHandle m_facingTarget; // 0x8c +private: + [[maybe_unused]] uint8_t __pad008e[0x2]; // 0x8e +public: + float m_flTurnTimeMin; // 0x90 + float m_flTurnTimeMax; // 0x94 + float m_flStepHeightMax; // 0x98 + float m_flStepHeightMaxAngle; // 0x9c + bool m_bResetChild; // 0xa0 + bool m_bAnimationDriven; // 0xa1 }; // Alignment: 2 // Size: 0x8 -struct TraceSettings_t : public -{ +struct TraceSettings_t +{ public: - float m_flTraceHeight; // 0x0 - float m_flTraceRadius; // 0x4 + float m_flTraceHeight; // 0x0 + float m_flTraceRadius; // 0x4 }; // Alignment: 10 // Size: 0x40 -class FootFixedSettings : public -{ +class FootFixedSettings +{ public: - TraceSettings_t m_traceSettings; // 0x0 - VectorAligned m_vFootBaseBindPosePositionMS; // 0x10 - float m_flFootBaseLength; // 0x20 - float m_flMaxRotationLeft; // 0x24 - float m_flMaxRotationRight; // 0x28 - int32_t m_footstepLandedTagIndex; // 0x2c - bool m_bEnableTracing; // 0x30 - float m_flTraceAngleBlend; // 0x34 - int32_t m_nDisableTagIndex; // 0x38 - int32_t m_nFootIndex; // 0x3c + TraceSettings_t m_traceSettings; // 0x0 + VectorAligned m_vFootBaseBindPosePositionMS; // 0x10 + float m_flFootBaseLength; // 0x20 + float m_flMaxRotationLeft; // 0x24 + float m_flMaxRotationRight; // 0x28 + int32_t m_footstepLandedTagIndex; // 0x2c + bool m_bEnableTracing; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 +public: + float m_flTraceAngleBlend; // 0x34 + int32_t m_nDisableTagIndex; // 0x38 + int32_t m_nFootIndex; // 0x3c }; -// Alignment: 20 -// Size: 0x138 -class CFootLockUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 18 +// Size: 0x60 +class FootLockPoseOpFixedSettings +{ public: - FootLockPoseOpFixedSettings m_opFixedSettings; // 0x68 - CUtlVector< FootFixedSettings > m_footSettings; // 0xd0 - CAnimInputDamping m_hipShiftDamping; // 0xe8 - CAnimInputDamping m_rootHeightDamping; // 0xf8 - float m_flStrideCurveScale; // 0x108 - float m_flStrideCurveLimitScale; // 0x10c - float m_flStepHeightIncreaseScale; // 0x110 - float m_flStepHeightDecreaseScale; // 0x114 - float m_flHipShiftScale; // 0x118 - float m_flBlendTime; // 0x11c - float m_flMaxRootHeightOffset; // 0x120 - float m_flMinRootHeightOffset; // 0x124 - float m_flTiltPlanePitchSpringStrength; // 0x128 - float m_flTiltPlaneRollSpringStrength; // 0x12c - bool m_bApplyFootRotationLimits; // 0x130 - bool m_bApplyHipShift; // 0x131 - bool m_bModulateStepHeight; // 0x132 - bool m_bResetChild; // 0x133 - bool m_bEnableVerticalCurvedPaths; // 0x134 - bool m_bEnableRootHeightDamping; // 0x135 + CUtlVector< FootFixedData_t > m_footInfo; // 0x0 + CAnimInputDamping m_hipDampingSettings; // 0x18 + int32_t m_nHipBoneIndex; // 0x28 + IKSolverType m_ikSolverType; // 0x2c + bool m_bApplyTilt; // 0x30 + bool m_bApplyHipDrop; // 0x31 + bool m_bAlwaysUseFallbackHinge; // 0x32 + bool m_bApplyFootRotationLimits; // 0x33 + bool m_bApplyLegTwistLimits; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0035[0x3]; // 0x35 +public: + float m_flMaxFootHeight; // 0x38 + float m_flExtensionScale; // 0x3c + float m_flMaxLegTwist; // 0x40 + bool m_bEnableLockBreaking; // 0x44 +private: + [[maybe_unused]] uint8_t __pad0045[0x3]; // 0x45 +public: + float m_flLockBreakTolerance; // 0x48 + float m_flLockBlendTime; // 0x4c + bool m_bEnableStretching; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + float m_flMaxStretchAmount; // 0x54 + float m_flStretchExtensionScale; // 0x58 }; -// Alignment: 4 -// Size: 0xc8 -class CFootPinningUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 7 +// Size: 0x30 +struct FootPinningPoseOpFixedData_t +{ public: - FootPinningPoseOpFixedData_t m_poseOpFixedData; // 0x70 - FootPinningTimingSource m_eTimingSource; // 0xa0 - CUtlVector< CAnimParamHandle > m_params; // 0xa8 - bool m_bResetChild; // 0xc0 + CUtlVector< FootFixedData_t > m_footInfo; // 0x0 + float m_flBlendTime; // 0x18 + float m_flLockBreakDistance; // 0x1c + float m_flMaxLegTwist; // 0x20 + int32_t m_nHipBoneIndex; // 0x24 + bool m_bApplyLegTwistLimits; // 0x28 + bool m_bApplyFootRotationLimits; // 0x29 }; // Alignment: 13 // Size: 0xa8 -class CFollowPathUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CFollowPathUpdateNode : public CUnaryUpdateNode +{ public: - float m_flBlendOutTime; // 0x6c - bool m_bBlockNonPathMovement; // 0x70 - bool m_bStopFeetAtGoal; // 0x71 - bool m_bScaleSpeed; // 0x72 - float m_flScale; // 0x74 - float m_flMinAngle; // 0x78 - float m_flMaxAngle; // 0x7c - float m_flSpeedScaleBlending; // 0x80 - CAnimInputDamping m_turnDamping; // 0x88 - AnimValueSource m_facingTarget; // 0x98 - CAnimParamHandle m_hParam; // 0x9c - float m_flTurnToFaceOffset; // 0xa0 - bool m_bTurnToFace; // 0xa4 + float m_flBlendOutTime; // 0x6c + bool m_bBlockNonPathMovement; // 0x70 + bool m_bStopFeetAtGoal; // 0x71 + bool m_bScaleSpeed; // 0x72 +private: + [[maybe_unused]] uint8_t __pad0073[0x1]; // 0x73 +public: + float m_flScale; // 0x74 + float m_flMinAngle; // 0x78 + float m_flMaxAngle; // 0x7c + float m_flSpeedScaleBlending; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0084[0x4]; // 0x84 +public: + CAnimInputDamping m_turnDamping; // 0x88 + AnimValueSource m_facingTarget; // 0x98 + CAnimParamHandle m_hParam; // 0x9c +private: + [[maybe_unused]] uint8_t __pad009e[0x2]; // 0x9e +public: + float m_flTurnToFaceOffset; // 0xa0 + bool m_bTurnToFace; // 0xa4 }; -// Alignment: 23 -// Size: 0x140 -class CMotionMatchingUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +// Alignment: 2 +// Size: 0x20 +class CMotionDataSet +{ public: - CMotionDataSet m_dataSet; // 0x58 - CUtlVector< CSmartPtr< CMotionMetricEvaluator > > m_metrics; // 0x78 - CUtlVector< float32 > m_weights; // 0x90 - bool m_bSearchEveryTick; // 0xe0 - float m_flSearchInterval; // 0xe4 - bool m_bSearchWhenClipEnds; // 0xe8 - bool m_bSearchWhenGoalChanges; // 0xe9 - CBlendCurve m_blendCurve; // 0xec - float m_flSampleRate; // 0xf4 - float m_flBlendTime; // 0xf8 - bool m_bLockClipWhenWaning; // 0xfc - float m_flSelectionThreshold; // 0x100 - float m_flReselectionTimeWindow; // 0x104 - bool m_bEnableRotationCorrection; // 0x108 - bool m_bGoalAssist; // 0x109 - float m_flGoalAssistDistance; // 0x10c - float m_flGoalAssistTolerance; // 0x110 - CAnimInputDamping m_distanceScale_Damping; // 0x118 - float m_flDistanceScale_OuterRadius; // 0x128 - float m_flDistanceScale_InnerRadius; // 0x12c - float m_flDistanceScale_MaxScale; // 0x130 - float m_flDistanceScale_MinScale; // 0x134 - bool m_bEnableDistanceScaling; // 0x138 + CUtlVector< CMotionGraphGroup > m_groups; // 0x0 + int32_t m_nDimensionCount; // 0x18 }; // Alignment: 2 // Size: 0x70 -class CSetFacingUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CSetFacingUpdateNode : public CUnaryUpdateNode +{ public: - FacingMode m_facingMode; // 0x68 - bool m_bResetChild; // 0x6c + FacingMode m_facingMode; // 0x68 + bool m_bResetChild; // 0x6c }; // Alignment: 5 // Size: 0x90 -class CStopAtGoalUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CStopAtGoalUpdateNode : public CUnaryUpdateNode +{ public: - float m_flOuterRadius; // 0x6c - float m_flInnerRadius; // 0x70 - float m_flMaxScale; // 0x74 - float m_flMinScale; // 0x78 - CAnimInputDamping m_damping; // 0x80 + float m_flOuterRadius; // 0x6c + float m_flInnerRadius; // 0x70 + float m_flMaxScale; // 0x74 + float m_flMinScale; // 0x78 +private: + [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c +public: + CAnimInputDamping m_damping; // 0x80 }; // Alignment: 1 -// Size: 0x88 -class CJiggleBoneUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +// Size: 0x18 +struct JiggleBoneSettingsList_t +{ public: - JiggleBoneSettingsList_t m_opFixedData; // 0x68 + CUtlVector< JiggleBoneSettings_t > m_boneSettings; // 0x0 }; // Alignment: 4 // Size: 0x80 -class CSingleFrameUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CSingleFrameUpdateNode : public CLeafUpdateNode +{ public: - CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x58 - CPoseHandle m_hPoseCacheHandle; // 0x70 - HSequence m_hSequence; // 0x74 - float m_flCycle; // 0x78 + CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x58 + CPoseHandle m_hPoseCacheHandle; // 0x70 + HSequence m_hSequence; // 0x74 + float m_flCycle; // 0x78 }; // Alignment: 0 // Size: 0x60 -class CInputStreamUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CInputStreamUpdateNode : public CLeafUpdateNode +{ public: // no members available }; // Alignment: 3 // Size: 0x20 -class FootStepTrigger : public -{ +class FootStepTrigger +{ public: - CUtlVector< int32 > m_tags; // 0x0 - int32_t m_nFootIndex; // 0x18 - StepPhase m_triggerPhase; // 0x1c + CUtlVector< int32 > m_tags; // 0x0 + int32_t m_nFootIndex; // 0x18 + StepPhase m_triggerPhase; // 0x1c }; // Alignment: 2 // Size: 0x88 -class CFootStepTriggerUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CFootStepTriggerUpdateNode : public CUnaryUpdateNode +{ public: - CUtlVector< FootStepTrigger > m_triggers; // 0x68 - float m_flTolerance; // 0x84 + CUtlVector< FootStepTrigger > m_triggers; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0080[0x4]; // 0x80 +public: + float m_flTolerance; // 0x84 }; // Alignment: 5 // Size: 0x108 -class CMotionGraphGroup : public -{ +class CMotionGraphGroup +{ public: - CMotionSearchDB m_searchDB; // 0x0 - CUtlVector< CSmartPtr< CMotionGraph > > m_motionGraphs; // 0xb8 - CUtlVector< CMotionGraphConfig > m_motionGraphConfigs; // 0xd0 - CUtlVector< int32 > m_sampleToConfig; // 0xe8 - AnimScriptHandle m_hIsActiveScript; // 0x100 + CMotionSearchDB m_searchDB; // 0x0 + CUtlVector< CSmartPtr< CMotionGraph > > m_motionGraphs; // 0xb8 + CUtlVector< CMotionGraphConfig > m_motionGraphConfigs; // 0xd0 + CUtlVector< int32 > m_sampleToConfig; // 0xe8 + AnimScriptHandle m_hIsActiveScript; // 0x100 }; -// Alignment: 2 -// Size: 0x20 -class CMotionDataSet : public -{ +// Alignment: 23 +// Size: 0x140 +class CMotionMatchingUpdateNode : public CLeafUpdateNode +{ public: - CUtlVector< CMotionGraphGroup > m_groups; // 0x0 - int32_t m_nDimensionCount; // 0x18 + CMotionDataSet m_dataSet; // 0x58 + CUtlVector< CSmartPtr< CMotionMetricEvaluator > > m_metrics; // 0x78 + CUtlVector< float32 > m_weights; // 0x90 +private: + [[maybe_unused]] uint8_t __pad00a8[0x38]; // 0xa8 +public: + bool m_bSearchEveryTick; // 0xe0 +private: + [[maybe_unused]] uint8_t __pad00e1[0x3]; // 0xe1 +public: + float m_flSearchInterval; // 0xe4 + bool m_bSearchWhenClipEnds; // 0xe8 + bool m_bSearchWhenGoalChanges; // 0xe9 +private: + [[maybe_unused]] uint8_t __pad00ea[0x2]; // 0xea +public: + CBlendCurve m_blendCurve; // 0xec + float m_flSampleRate; // 0xf4 + float m_flBlendTime; // 0xf8 + bool m_bLockClipWhenWaning; // 0xfc +private: + [[maybe_unused]] uint8_t __pad00fd[0x3]; // 0xfd +public: + float m_flSelectionThreshold; // 0x100 + float m_flReselectionTimeWindow; // 0x104 + bool m_bEnableRotationCorrection; // 0x108 + bool m_bGoalAssist; // 0x109 +private: + [[maybe_unused]] uint8_t __pad010a[0x2]; // 0x10a +public: + float m_flGoalAssistDistance; // 0x10c + float m_flGoalAssistTolerance; // 0x110 +private: + [[maybe_unused]] uint8_t __pad0114[0x4]; // 0x114 +public: + CAnimInputDamping m_distanceScale_Damping; // 0x118 + float m_flDistanceScale_OuterRadius; // 0x128 + float m_flDistanceScale_InnerRadius; // 0x12c + float m_flDistanceScale_MaxScale; // 0x130 + float m_flDistanceScale_MinScale; // 0x134 + bool m_bEnableDistanceScaling; // 0x138 }; // Alignment: 7 // Size: 0x58 -class CMotionGraph : public -{ +class CMotionGraph +{ public: - CParamSpanUpdater m_paramSpans; // 0x10 - CUtlVector< TagSpan_t > m_tags; // 0x28 - CSmartPtr< CMotionNode > m_pRootNode; // 0x40 - int32_t m_nParameterCount; // 0x48 - int32_t m_nConfigStartIndex; // 0x4c - int32_t m_nConfigCount; // 0x50 - bool m_bLoop; // 0x54 + CParamSpanUpdater m_paramSpans; // 0x10 + CUtlVector< TagSpan_t > m_tags; // 0x28 + CSmartPtr< CMotionNode > m_pRootNode; // 0x40 + int32_t m_nParameterCount; // 0x48 + int32_t m_nConfigStartIndex; // 0x4c + int32_t m_nConfigCount; // 0x50 + bool m_bLoop; // 0x54 }; // Alignment: 0 // Size: 0x58 class CEditableMotionGraph : public CMotionGraph -{ +{ public: // no members available }; // Alignment: 2 // Size: 0x28 -class CMotionNode : public -{ +class CMotionNode +{ public: - CUtlString m_name; // 0x18 - AnimNodeID m_id; // 0x20 + CUtlString m_name; // 0x18 + AnimNodeID m_id; // 0x20 }; // Alignment: 3 // Size: 0x48 class CMotionNodeSequence : public CMotionNode -{ +{ public: - CUtlVector< TagSpan_t > m_tags; // 0x28 - HSequence m_hSequence; // 0x40 - float m_flPlaybackSpeed; // 0x44 + CUtlVector< TagSpan_t > m_tags; // 0x28 + HSequence m_hSequence; // 0x40 + float m_flPlaybackSpeed; // 0x44 }; // Alignment: 2 // Size: 0x10 -class MotionBlendItem : public -{ +class MotionBlendItem +{ public: - CSmartPtr< CMotionNode > m_pChild; // 0x0 - float m_flKeyValue; // 0x8 + CSmartPtr< CMotionNode > m_pChild; // 0x0 + float m_flKeyValue; // 0x8 }; // Alignment: 2 // Size: 0x48 class CMotionNodeBlend1D : public CMotionNode -{ +{ public: - CUtlVector< MotionBlendItem > m_blendItems; // 0x28 - int32_t m_nParamIndex; // 0x40 + CUtlVector< MotionBlendItem > m_blendItems; // 0x28 + int32_t m_nParamIndex; // 0x40 }; // Alignment: 4 // Size: 0x50 -class CMotionMetricEvaluator : public -{ +class CMotionMetricEvaluator +{ public: - CUtlVector< float32 > m_means; // 0x18 - CUtlVector< float32 > m_standardDeviations; // 0x30 - float m_flWeight; // 0x48 - int32_t m_nDimensionStartIndex; // 0x4c + CUtlVector< float32 > m_means; // 0x18 + CUtlVector< float32 > m_standardDeviations; // 0x30 + float m_flWeight; // 0x48 + int32_t m_nDimensionStartIndex; // 0x4c }; // Alignment: 0 // Size: 0x50 class CBlockSelectionMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: // no members available }; @@ -5533,15 +6027,15 @@ public: // Alignment: 1 // Size: 0x68 class CFootCycleMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - CUtlVector< int32 > m_footIndices; // 0x50 + CUtlVector< int32 > m_footIndices; // 0x50 }; // Alignment: 0 // Size: 0x50 class CCurrentRotationVelocityMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: // no members available }; @@ -5549,7 +6043,7 @@ public: // Alignment: 0 // Size: 0x50 class CCurrentVelocityMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: // no members available }; @@ -5557,1027 +6051,1099 @@ public: // Alignment: 4 // Size: 0x78 class CPathMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - CUtlVector< float32 > m_pathTimeSamples; // 0x50 - float m_flDistance; // 0x68 - bool m_bExtrapolateMovement; // 0x6c - float m_flMinExtrapolationSpeed; // 0x70 + CUtlVector< float32 > m_pathTimeSamples; // 0x50 + float m_flDistance; // 0x68 + bool m_bExtrapolateMovement; // 0x6c +private: + [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d +public: + float m_flMinExtrapolationSpeed; // 0x70 }; // Alignment: 2 // Size: 0x58 class CFutureFacingMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - float m_flDistance; // 0x50 - float m_flTime; // 0x54 + float m_flDistance; // 0x50 + float m_flTime; // 0x54 }; // Alignment: 4 // Size: 0x60 class CFutureVelocityMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - float m_flDistance; // 0x50 - float m_flStoppingDistance; // 0x54 - float m_flTargetSpeed; // 0x58 - VelocityMetricMode m_eMode; // 0x5c + float m_flDistance; // 0x50 + float m_flStoppingDistance; // 0x54 + float m_flTargetSpeed; // 0x58 + VelocityMetricMode m_eMode; // 0x5c }; // Alignment: 1 // Size: 0x58 class CBonePositionMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - int32_t m_nBoneIndex; // 0x50 + int32_t m_nBoneIndex; // 0x50 }; // Alignment: 1 // Size: 0x58 class CBoneVelocityMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - int32_t m_nBoneIndex; // 0x50 + int32_t m_nBoneIndex; // 0x50 }; // Alignment: 7 // Size: 0x68 class CDistanceRemainingMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - float m_flMaxDistance; // 0x50 - float m_flMinDistance; // 0x54 - float m_flStartGoalFilterDistance; // 0x58 - float m_flMaxGoalOvershootScale; // 0x5c - bool m_bFilterFixedMinDistance; // 0x60 - bool m_bFilterGoalDistance; // 0x61 - bool m_bFilterGoalOvershoot; // 0x62 + float m_flMaxDistance; // 0x50 + float m_flMinDistance; // 0x54 + float m_flStartGoalFilterDistance; // 0x58 + float m_flMaxGoalOvershootScale; // 0x5c + bool m_bFilterFixedMinDistance; // 0x60 + bool m_bFilterGoalDistance; // 0x61 + bool m_bFilterGoalOvershoot; // 0x62 }; // Alignment: 2 // Size: 0x70 class CStepsRemainingMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - CUtlVector< int32 > m_footIndices; // 0x50 - float m_flMinStepsRemaining; // 0x68 + CUtlVector< int32 > m_footIndices; // 0x50 + float m_flMinStepsRemaining; // 0x68 }; // Alignment: 4 // Size: 0x60 class CTimeRemainingMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - bool m_bMatchByTimeRemaining; // 0x50 - float m_flMaxTimeRemaining; // 0x54 - bool m_bFilterByTimeRemaining; // 0x58 - float m_flMinTimeRemaining; // 0x5c + bool m_bMatchByTimeRemaining; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + float m_flMaxTimeRemaining; // 0x54 + bool m_bFilterByTimeRemaining; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0059[0x3]; // 0x59 +public: + float m_flMinTimeRemaining; // 0x5c }; // Alignment: 2 // Size: 0x70 class CFootPositionMetricEvaluator : public CMotionMetricEvaluator -{ +{ public: - CUtlVector< int32 > m_footIndices; // 0x50 - bool m_bIgnoreSlope; // 0x68 + CUtlVector< int32 > m_footIndices; // 0x50 + bool m_bIgnoreSlope; // 0x68 }; // Alignment: 8 // Size: 0xd0 -struct AimMatrixOpFixedSettings_t : public -{ +struct AimMatrixOpFixedSettings_t +{ public: - CAnimAttachment m_attachment; // 0x0 - CAnimInputDamping m_damping; // 0x80 - CPoseHandle[10] m_poseCacheHandles; // 0x90 - AimMatrixBlendMode m_eBlendMode; // 0xb8 - float m_fAngleIncrement; // 0xbc - int32_t m_nSequenceMaxFrame; // 0xc0 - int32_t m_nBoneMaskIndex; // 0xc4 - bool m_bTargetIsPosition; // 0xc8 + CAnimAttachment m_attachment; // 0x0 + CAnimInputDamping m_damping; // 0x80 + CPoseHandle m_poseCacheHandles[10]; // 0x90 + AimMatrixBlendMode m_eBlendMode; // 0xb8 + float m_fAngleIncrement; // 0xbc + int32_t m_nSequenceMaxFrame; // 0xc0 + int32_t m_nBoneMaskIndex; // 0xc4 + bool m_bTargetIsPosition; // 0xc8 }; // Alignment: 2 // Size: 0x8 -struct LookAtBone_t : public -{ +struct LookAtBone_t +{ public: - int32_t m_index; // 0x0 - float m_weight; // 0x4 + int32_t m_index; // 0x0 + float m_weight; // 0x4 }; // Alignment: 11 // Size: 0xc0 -struct LookAtOpFixedSettings_t : public -{ +struct LookAtOpFixedSettings_t +{ public: - CAnimAttachment m_attachment; // 0x0 - CAnimInputDamping m_damping; // 0x80 - CUtlVector< LookAtBone_t > m_bones; // 0x90 - float m_flYawLimit; // 0xa8 - float m_flPitchLimit; // 0xac - float m_flHysteresisInnerAngle; // 0xb0 - float m_flHysteresisOuterAngle; // 0xb4 - bool m_bRotateYawForward; // 0xb8 - bool m_bMaintainUpDirection; // 0xb9 - bool m_bTargetIsPosition; // 0xba - bool m_bUseHysteresis; // 0xbb + CAnimAttachment m_attachment; // 0x0 + CAnimInputDamping m_damping; // 0x80 + CUtlVector< LookAtBone_t > m_bones; // 0x90 + float m_flYawLimit; // 0xa8 + float m_flPitchLimit; // 0xac + float m_flHysteresisInnerAngle; // 0xb0 + float m_flHysteresisOuterAngle; // 0xb4 + bool m_bRotateYawForward; // 0xb8 + bool m_bMaintainUpDirection; // 0xb9 + bool m_bTargetIsPosition; // 0xba + bool m_bUseHysteresis; // 0xbb }; // Alignment: 4 // Size: 0x90 -struct FollowAttachmentSettings_t : public -{ +struct FollowAttachmentSettings_t +{ public: - CAnimAttachment m_attachment; // 0x0 - int32_t m_boneIndex; // 0x80 - bool m_bMatchTranslation; // 0x84 - bool m_bMatchRotation; // 0x85 + CAnimAttachment m_attachment; // 0x0 + int32_t m_boneIndex; // 0x80 + bool m_bMatchTranslation; // 0x84 + bool m_bMatchRotation; // 0x85 }; // Alignment: 2 // Size: 0x8 -struct FingerSource_t : public -{ +struct FingerSource_t +{ public: - AnimVRFinger_t m_nFingerIndex; // 0x0 - float m_flFingerWeight; // 0x4 + AnimVRFinger_t m_nFingerIndex; // 0x0 + float m_flFingerWeight; // 0x4 }; // Alignment: 7 // Size: 0x34 -struct FingerBone_t : public -{ +struct FingerBone_t +{ public: - int32_t m_boneIndex; // 0x0 - Vector m_hingeAxis; // 0x4 - Vector m_vCapsulePos1; // 0x10 - Vector m_vCapsulePos2; // 0x1c - float m_flMinAngle; // 0x28 - float m_flMaxAngle; // 0x2c - float m_flRadius; // 0x30 + int32_t m_boneIndex; // 0x0 + Vector m_hingeAxis; // 0x4 + Vector m_vCapsulePos1; // 0x10 + Vector m_vCapsulePos2; // 0x1c + float m_flMinAngle; // 0x28 + float m_flMaxAngle; // 0x2c + float m_flRadius; // 0x30 }; // Alignment: 9 // Size: 0x60 -struct FingerChain_t : public -{ +struct FingerChain_t +{ public: - CUtlVector< FingerSource_t > m_targets; // 0x0 - CUtlVector< FingerBone_t > m_bones; // 0x18 - Vector m_vTipOffset; // 0x30 - Vector m_vSplayHingeAxis; // 0x3c - int32_t m_tipParentBoneIndex; // 0x48 - int32_t m_metacarpalBoneIndex; // 0x4c - float m_flSplayMinAngle; // 0x50 - float m_flSplayMaxAngle; // 0x54 - float m_flFingerScaleRatio; // 0x58 + CUtlVector< FingerSource_t > m_targets; // 0x0 + CUtlVector< FingerBone_t > m_bones; // 0x18 + Vector m_vTipOffset; // 0x30 + Vector m_vSplayHingeAxis; // 0x3c + int32_t m_tipParentBoneIndex; // 0x48 + int32_t m_metacarpalBoneIndex; // 0x4c + float m_flSplayMinAngle; // 0x50 + float m_flSplayMaxAngle; // 0x54 + float m_flFingerScaleRatio; // 0x58 }; // Alignment: 2 // Size: 0x30 -struct WristBone_t : public -{ +struct WristBone_t +{ public: - CTransform m_xOffsetTransformMS; // 0x0 - int32_t m_boneIndex; // 0x20 + CTransform m_xOffsetTransformMS; // 0x0 + int32_t m_boneIndex; // 0x20 }; -// Alignment: 9 -// Size: 0x48 -struct SkeletalInputOpFixedSettings_t : public -{ +// Alignment: 1 +// Size: 0xa8 +class CSkeletalInputUpdateNode : public CLeafUpdateNode +{ public: - CUtlVector< WristBone_t > m_wristBones; // 0x0 - CUtlVector< FingerChain_t > m_fingers; // 0x18 - int32_t m_outerKnuckle1; // 0x30 - int32_t m_outerKnuckle2; // 0x34 - AnimVRHand_t m_eHand; // 0x38 - AnimVRHandMotionRange_t m_eMotionRange; // 0x3c - AnimVrBoneTransformSource_t m_eTransformSource; // 0x40 - bool m_bEnableIK; // 0x44 - bool m_bEnableCollision; // 0x45 + SkeletalInputOpFixedSettings_t m_fixedOpData; // 0x58 }; -// Alignment: 17 -// Size: 0x44 -struct HitReactFixedSettings_t : public -{ +// Alignment: 8 +// Size: 0xc8 +class CHitReactUpdateNode : public CUnaryUpdateNode +{ public: - int32_t m_nWeightListIndex; // 0x0 - int32_t m_nEffectedBoneCount; // 0x4 - float m_flMaxImpactForce; // 0x8 - float m_flMinImpactForce; // 0xc - float m_flWhipImpactScale; // 0x10 - float m_flCounterRotationScale; // 0x14 - float m_flDistanceFadeScale; // 0x18 - float m_flPropagationScale; // 0x1c - float m_flWhipDelay; // 0x20 - float m_flSpringStrength; // 0x24 - float m_flWhipSpringStrength; // 0x28 - float m_flMaxAngleRadians; // 0x2c - int32_t m_nHipBoneIndex; // 0x30 - float m_flHipBoneTranslationScale; // 0x34 - float m_flHipDipSpringStrength; // 0x38 - float m_flHipDipImpactScale; // 0x3c - float m_flHipDipDelay; // 0x40 + HitReactFixedSettings_t m_opFixedSettings; // 0x68 +private: + [[maybe_unused]] uint8_t __pad00ac[0x8]; // 0xac +public: + CAnimParamHandle m_triggerParam; // 0xb4 + CAnimParamHandle m_hitBoneParam; // 0xb6 + CAnimParamHandle m_hitOffsetParam; // 0xb8 + CAnimParamHandle m_hitDirectionParam; // 0xba + CAnimParamHandle m_hitStrengthParam; // 0xbc +private: + [[maybe_unused]] uint8_t __pad00be[0x2]; // 0xbe +public: + float m_flMinDelayBetweenHits; // 0xc0 + bool m_bResetChild; // 0xc4 }; -// Alignment: 18 -// Size: 0x60 -class FootLockPoseOpFixedSettings : public -{ +// Alignment: 20 +// Size: 0x138 +class CFootLockUpdateNode : public CUnaryUpdateNode +{ public: - CUtlVector< FootFixedData_t > m_footInfo; // 0x0 - CAnimInputDamping m_hipDampingSettings; // 0x18 - int32_t m_nHipBoneIndex; // 0x28 - IKSolverType m_ikSolverType; // 0x2c - bool m_bApplyTilt; // 0x30 - bool m_bApplyHipDrop; // 0x31 - bool m_bAlwaysUseFallbackHinge; // 0x32 - bool m_bApplyFootRotationLimits; // 0x33 - bool m_bApplyLegTwistLimits; // 0x34 - float m_flMaxFootHeight; // 0x38 - float m_flExtensionScale; // 0x3c - float m_flMaxLegTwist; // 0x40 - bool m_bEnableLockBreaking; // 0x44 - float m_flLockBreakTolerance; // 0x48 - float m_flLockBlendTime; // 0x4c - bool m_bEnableStretching; // 0x50 - float m_flMaxStretchAmount; // 0x54 - float m_flStretchExtensionScale; // 0x58 + FootLockPoseOpFixedSettings m_opFixedSettings; // 0x68 +private: + [[maybe_unused]] uint8_t __pad00c8[0x8]; // 0xc8 +public: + CUtlVector< FootFixedSettings > m_footSettings; // 0xd0 + CAnimInputDamping m_hipShiftDamping; // 0xe8 + CAnimInputDamping m_rootHeightDamping; // 0xf8 + float m_flStrideCurveScale; // 0x108 + float m_flStrideCurveLimitScale; // 0x10c + float m_flStepHeightIncreaseScale; // 0x110 + float m_flStepHeightDecreaseScale; // 0x114 + float m_flHipShiftScale; // 0x118 + float m_flBlendTime; // 0x11c + float m_flMaxRootHeightOffset; // 0x120 + float m_flMinRootHeightOffset; // 0x124 + float m_flTiltPlanePitchSpringStrength; // 0x128 + float m_flTiltPlaneRollSpringStrength; // 0x12c + bool m_bApplyFootRotationLimits; // 0x130 + bool m_bApplyHipShift; // 0x131 + bool m_bModulateStepHeight; // 0x132 + bool m_bResetChild; // 0x133 + bool m_bEnableVerticalCurvedPaths; // 0x134 + bool m_bEnableRootHeightDamping; // 0x135 }; -// Alignment: 7 -// Size: 0x30 -struct FootPinningPoseOpFixedData_t : public -{ +// Alignment: 4 +// Size: 0xc8 +class CFootPinningUpdateNode : public CUnaryUpdateNode +{ public: - CUtlVector< FootFixedData_t > m_footInfo; // 0x0 - float m_flBlendTime; // 0x18 - float m_flLockBreakDistance; // 0x1c - float m_flMaxLegTwist; // 0x20 - int32_t m_nHipBoneIndex; // 0x24 - bool m_bApplyLegTwistLimits; // 0x28 - bool m_bApplyFootRotationLimits; // 0x29 + FootPinningPoseOpFixedData_t m_poseOpFixedData; // 0x70 + FootPinningTimingSource m_eTimingSource; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 +public: + CUtlVector< CAnimParamHandle > m_params; // 0xa8 + bool m_bResetChild; // 0xc0 }; // Alignment: 6 // Size: 0x50 -struct ChainToSolveData_t : public -{ +struct ChainToSolveData_t +{ public: - int32_t m_nChainIndex; // 0x0 - IKSolverSettings_t m_SolverSettings; // 0x4 - IKTargetSettings_t m_TargetSettings; // 0x10 - SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x30 - float m_flDebugNormalizedValue; // 0x34 - VectorAligned m_vDebugOffset; // 0x40 + int32_t m_nChainIndex; // 0x0 + IKSolverSettings_t m_SolverSettings; // 0x4 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + IKTargetSettings_t m_TargetSettings; // 0x10 + SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x30 + float m_flDebugNormalizedValue; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 +public: + VectorAligned m_vDebugOffset; // 0x40 }; // Alignment: 1 // Size: 0x18 -struct SolveIKChainPoseOpFixedSettings_t : public -{ +struct SolveIKChainPoseOpFixedSettings_t +{ public: - CUtlVector< ChainToSolveData_t > m_ChainsToSolveData; // 0x0 + CUtlVector< ChainToSolveData_t > m_ChainsToSolveData; // 0x0 }; // Alignment: 7 // Size: 0x2c -struct JiggleBoneSettings_t : public -{ +struct JiggleBoneSettings_t +{ public: - int32_t m_nBoneIndex; // 0x0 - float m_flSpringStrength; // 0x4 - float m_flMaxTimeStep; // 0x8 - float m_flDamping; // 0xc - Vector m_vBoundsMaxLS; // 0x10 - Vector m_vBoundsMinLS; // 0x1c - JiggleBoneSimSpace m_eSimSpace; // 0x28 + int32_t m_nBoneIndex; // 0x0 + float m_flSpringStrength; // 0x4 + float m_flMaxTimeStep; // 0x8 + float m_flDamping; // 0xc + Vector m_vBoundsMaxLS; // 0x10 + Vector m_vBoundsMinLS; // 0x1c + JiggleBoneSimSpace m_eSimSpace; // 0x28 }; // Alignment: 1 -// Size: 0x18 -struct JiggleBoneSettingsList_t : public -{ +// Size: 0x88 +class CJiggleBoneUpdateNode : public CUnaryUpdateNode +{ public: - CUtlVector< JiggleBoneSettings_t > m_boneSettings; // 0x0 + JiggleBoneSettingsList_t m_opFixedData; // 0x68 }; // Alignment: 5 // Size: 0x78 -struct VPhysics2ShapeDef_t : public -{ +struct VPhysics2ShapeDef_t +{ public: - CUtlVector< RnSphereDesc_t > m_spheres; // 0x0 - CUtlVector< RnCapsuleDesc_t > m_capsules; // 0x18 - CUtlVector< RnHullDesc_t > m_hulls; // 0x30 - CUtlVector< RnMeshDesc_t > m_meshes; // 0x48 - CUtlVector< uint16 > m_CollisionAttributeIndices; // 0x60 + CUtlVector< RnSphereDesc_t > m_spheres; // 0x0 + CUtlVector< RnCapsuleDesc_t > m_capsules; // 0x18 + CUtlVector< RnHullDesc_t > m_hulls; // 0x30 + CUtlVector< RnMeshDesc_t > m_meshes; // 0x48 + CUtlVector< uint16 > m_CollisionAttributeIndices; // 0x60 }; // Alignment: 10 // Size: 0xa0 -struct VPhysXBodyPart_t : public -{ +struct VPhysXBodyPart_t +{ public: - uint32_t m_nFlags; // 0x0 - float m_flMass; // 0x4 - VPhysics2ShapeDef_t m_rnShape; // 0x8 - uint16_t m_nCollisionAttributeIndex; // 0x80 - uint16_t m_nReserved; // 0x82 - float m_flInertiaScale; // 0x84 - float m_flLinearDamping; // 0x88 - float m_flAngularDamping; // 0x8c - bool m_bOverrideMassCenter; // 0x90 - Vector m_vMassCenterOverride; // 0x94 + uint32_t m_nFlags; // 0x0 + float m_flMass; // 0x4 + VPhysics2ShapeDef_t m_rnShape; // 0x8 + uint16_t m_nCollisionAttributeIndex; // 0x80 + uint16_t m_nReserved; // 0x82 + float m_flInertiaScale; // 0x84 + float m_flLinearDamping; // 0x88 + float m_flAngularDamping; // 0x8c + bool m_bOverrideMassCenter; // 0x90 +private: + [[maybe_unused]] uint8_t __pad0091[0x3]; // 0x91 +public: + Vector m_vMassCenterOverride; // 0x94 }; // Alignment: 8 // Size: 0xa0 -struct VPhysXCollisionAttributes_t : public -{ +struct VPhysXCollisionAttributes_t +{ public: - uint32_t m_CollisionGroup; // 0x0 - CUtlVector< uint32 > m_InteractAs; // 0x8 - CUtlVector< uint32 > m_InteractWith; // 0x20 - CUtlVector< uint32 > m_InteractExclude; // 0x38 - CUtlString m_CollisionGroupString; // 0x50 - CUtlVector< CUtlString > m_InteractAsStrings; // 0x58 - CUtlVector< CUtlString > m_InteractWithStrings; // 0x70 - CUtlVector< CUtlString > m_InteractExcludeStrings; // 0x88 + uint32_t m_CollisionGroup; // 0x0 + CUtlVector< uint32 > m_InteractAs; // 0x8 + CUtlVector< uint32 > m_InteractWith; // 0x20 + CUtlVector< uint32 > m_InteractExclude; // 0x38 + CUtlString m_CollisionGroupString; // 0x50 + CUtlVector< CUtlString > m_InteractAsStrings; // 0x58 + CUtlVector< CUtlString > m_InteractWithStrings; // 0x70 + CUtlVector< CUtlString > m_InteractExcludeStrings; // 0x88 }; // Alignment: 2 // Size: 0x8 -struct VPhysXRange_t : public -{ +struct VPhysXRange_t +{ public: - float m_flMin; // 0x0 - float m_flMax; // 0x4 + float m_flMin; // 0x0 + float m_flMax; // 0x4 }; // Alignment: 46 // Size: 0xf8 -struct VPhysXConstraintParams_t : public -{ +struct VPhysXConstraintParams_t +{ public: - int8_t m_nType; // 0x0 - int8_t m_nTranslateMotion; // 0x1 - int8_t m_nRotateMotion; // 0x2 - int8_t m_nFlags; // 0x3 - Vector[2] m_anchor; // 0x4 - QuaternionStorage[2] m_axes; // 0x1c - float m_maxForce; // 0x3c - float m_maxTorque; // 0x40 - float m_linearLimitValue; // 0x44 - float m_linearLimitRestitution; // 0x48 - float m_linearLimitSpring; // 0x4c - float m_linearLimitDamping; // 0x50 - float m_twistLowLimitValue; // 0x54 - float m_twistLowLimitRestitution; // 0x58 - float m_twistLowLimitSpring; // 0x5c - float m_twistLowLimitDamping; // 0x60 - float m_twistHighLimitValue; // 0x64 - float m_twistHighLimitRestitution; // 0x68 - float m_twistHighLimitSpring; // 0x6c - float m_twistHighLimitDamping; // 0x70 - float m_swing1LimitValue; // 0x74 - float m_swing1LimitRestitution; // 0x78 - float m_swing1LimitSpring; // 0x7c - float m_swing1LimitDamping; // 0x80 - float m_swing2LimitValue; // 0x84 - float m_swing2LimitRestitution; // 0x88 - float m_swing2LimitSpring; // 0x8c - float m_swing2LimitDamping; // 0x90 - Vector m_goalPosition; // 0x94 - QuaternionStorage m_goalOrientation; // 0xa0 - Vector m_goalAngularVelocity; // 0xb0 - float m_driveSpringX; // 0xbc - float m_driveSpringY; // 0xc0 - float m_driveSpringZ; // 0xc4 - float m_driveDampingX; // 0xc8 - float m_driveDampingY; // 0xcc - float m_driveDampingZ; // 0xd0 - float m_driveSpringTwist; // 0xd4 - float m_driveSpringSwing; // 0xd8 - float m_driveSpringSlerp; // 0xdc - float m_driveDampingTwist; // 0xe0 - float m_driveDampingSwing; // 0xe4 - float m_driveDampingSlerp; // 0xe8 - int32_t m_solverIterationCount; // 0xec - float m_projectionLinearTolerance; // 0xf0 - float m_projectionAngularTolerance; // 0xf4 + int8_t m_nType; // 0x0 + int8_t m_nTranslateMotion; // 0x1 + int8_t m_nRotateMotion; // 0x2 + int8_t m_nFlags; // 0x3 + Vector m_anchor[2]; // 0x4 + QuaternionStorage m_axes[2]; // 0x1c + float m_maxForce; // 0x3c + float m_maxTorque; // 0x40 + float m_linearLimitValue; // 0x44 + float m_linearLimitRestitution; // 0x48 + float m_linearLimitSpring; // 0x4c + float m_linearLimitDamping; // 0x50 + float m_twistLowLimitValue; // 0x54 + float m_twistLowLimitRestitution; // 0x58 + float m_twistLowLimitSpring; // 0x5c + float m_twistLowLimitDamping; // 0x60 + float m_twistHighLimitValue; // 0x64 + float m_twistHighLimitRestitution; // 0x68 + float m_twistHighLimitSpring; // 0x6c + float m_twistHighLimitDamping; // 0x70 + float m_swing1LimitValue; // 0x74 + float m_swing1LimitRestitution; // 0x78 + float m_swing1LimitSpring; // 0x7c + float m_swing1LimitDamping; // 0x80 + float m_swing2LimitValue; // 0x84 + float m_swing2LimitRestitution; // 0x88 + float m_swing2LimitSpring; // 0x8c + float m_swing2LimitDamping; // 0x90 + Vector m_goalPosition; // 0x94 + QuaternionStorage m_goalOrientation; // 0xa0 + Vector m_goalAngularVelocity; // 0xb0 + float m_driveSpringX; // 0xbc + float m_driveSpringY; // 0xc0 + float m_driveSpringZ; // 0xc4 + float m_driveDampingX; // 0xc8 + float m_driveDampingY; // 0xcc + float m_driveDampingZ; // 0xd0 + float m_driveSpringTwist; // 0xd4 + float m_driveSpringSwing; // 0xd8 + float m_driveSpringSlerp; // 0xdc + float m_driveDampingTwist; // 0xe0 + float m_driveDampingSwing; // 0xe4 + float m_driveDampingSlerp; // 0xe8 + int32_t m_solverIterationCount; // 0xec + float m_projectionLinearTolerance; // 0xf0 + float m_projectionAngularTolerance; // 0xf4 }; // Alignment: 4 // Size: 0x100 -struct VPhysXConstraint2_t : public -{ +struct VPhysXConstraint2_t +{ public: - uint32_t m_nFlags; // 0x0 - uint16_t m_nParent; // 0x4 - uint16_t m_nChild; // 0x6 - VPhysXConstraintParams_t m_params; // 0x8 + uint32_t m_nFlags; // 0x0 + uint16_t m_nParent; // 0x4 + uint16_t m_nChild; // 0x6 + VPhysXConstraintParams_t m_params; // 0x8 }; // Alignment: 24 // Size: 0xb0 -struct VPhysXJoint_t : public -{ +struct VPhysXJoint_t +{ public: - uint16_t m_nType; // 0x0 - uint16_t m_nBody1; // 0x2 - uint16_t m_nBody2; // 0x4 - uint16_t m_nFlags; // 0x6 - CTransform m_Frame1; // 0x10 - CTransform m_Frame2; // 0x30 - bool m_bEnableCollision; // 0x50 - bool m_bEnableLinearLimit; // 0x51 - VPhysXRange_t m_LinearLimit; // 0x54 - bool m_bEnableLinearMotor; // 0x5c - Vector m_vLinearTargetVelocity; // 0x60 - float m_flMaxForce; // 0x6c - bool m_bEnableSwingLimit; // 0x70 - VPhysXRange_t m_SwingLimit; // 0x74 - bool m_bEnableTwistLimit; // 0x7c - VPhysXRange_t m_TwistLimit; // 0x80 - bool m_bEnableAngularMotor; // 0x88 - Vector m_vAngularTargetVelocity; // 0x8c - float m_flMaxTorque; // 0x98 - float m_flLinearFrequency; // 0x9c - float m_flLinearDampingRatio; // 0xa0 - float m_flAngularFrequency; // 0xa4 - float m_flAngularDampingRatio; // 0xa8 - float m_flFriction; // 0xac + uint16_t m_nType; // 0x0 + uint16_t m_nBody1; // 0x2 + uint16_t m_nBody2; // 0x4 + uint16_t m_nFlags; // 0x6 +private: + [[maybe_unused]] uint8_t __pad0008[0x8]; // 0x8 +public: + CTransform m_Frame1; // 0x10 + CTransform m_Frame2; // 0x30 + bool m_bEnableCollision; // 0x50 + bool m_bEnableLinearLimit; // 0x51 +private: + [[maybe_unused]] uint8_t __pad0052[0x2]; // 0x52 +public: + VPhysXRange_t m_LinearLimit; // 0x54 + bool m_bEnableLinearMotor; // 0x5c +private: + [[maybe_unused]] uint8_t __pad005d[0x3]; // 0x5d +public: + Vector m_vLinearTargetVelocity; // 0x60 + float m_flMaxForce; // 0x6c + bool m_bEnableSwingLimit; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 +public: + VPhysXRange_t m_SwingLimit; // 0x74 + bool m_bEnableTwistLimit; // 0x7c +private: + [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d +public: + VPhysXRange_t m_TwistLimit; // 0x80 + bool m_bEnableAngularMotor; // 0x88 +private: + [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 +public: + Vector m_vAngularTargetVelocity; // 0x8c + float m_flMaxTorque; // 0x98 + float m_flLinearFrequency; // 0x9c + float m_flLinearDampingRatio; // 0xa0 + float m_flAngularFrequency; // 0xa4 + float m_flAngularDampingRatio; // 0xa8 + float m_flFriction; // 0xac }; // Alignment: 6 // Size: 0x90 -struct PhysSoftbodyDesc_t : public -{ +struct PhysSoftbodyDesc_t +{ public: - CUtlVector< uint32 > m_ParticleBoneHash; // 0x0 - CUtlVector< RnSoftbodyParticle_t > m_Particles; // 0x18 - CUtlVector< RnSoftbodySpring_t > m_Springs; // 0x30 - CUtlVector< RnSoftbodyCapsule_t > m_Capsules; // 0x48 - CUtlVector< CTransform > m_InitPose; // 0x60 - CUtlVector< CUtlString > m_ParticleBoneName; // 0x78 + CUtlVector< uint32 > m_ParticleBoneHash; // 0x0 + CUtlVector< RnSoftbodyParticle_t > m_Particles; // 0x18 + CUtlVector< RnSoftbodySpring_t > m_Springs; // 0x30 + CUtlVector< RnSoftbodyCapsule_t > m_Capsules; // 0x48 + CUtlVector< CTransform > m_InitPose; // 0x60 + CUtlVector< CUtlString > m_ParticleBoneName; // 0x78 }; // Alignment: 16 // Size: 0x138 -struct VPhysXAggregateData_t : public -{ +struct VPhysXAggregateData_t +{ public: - uint16_t m_nFlags; // 0x0 - uint16_t m_nRefCounter; // 0x2 - CUtlVector< uint32 > m_bonesHash; // 0x8 - CUtlVector< CUtlString > m_boneNames; // 0x20 - CUtlVector< uint16 > m_indexNames; // 0x38 - CUtlVector< uint16 > m_indexHash; // 0x50 - CUtlVector< matrix3x4a_t > m_bindPose; // 0x68 - CUtlVector< VPhysXBodyPart_t > m_parts; // 0x80 - CUtlVector< VPhysXConstraint2_t > m_constraints2; // 0x98 - CUtlVector< VPhysXJoint_t > m_joints; // 0xb0 - PhysFeModelDesc_t* m_pFeModel; // 0xc8 - CUtlVector< uint16 > m_boneParents; // 0xd0 - CUtlVector< uint32 > m_surfacePropertyHashes; // 0xe8 - CUtlVector< VPhysXCollisionAttributes_t > m_collisionAttributes; // 0x100 - CUtlVector< CUtlString > m_debugPartNames; // 0x118 - CUtlString m_embeddedKeyvalues; // 0x130 + uint16_t m_nFlags; // 0x0 + uint16_t m_nRefCounter; // 0x2 +private: + [[maybe_unused]] uint8_t __pad0004[0x4]; // 0x4 +public: + CUtlVector< uint32 > m_bonesHash; // 0x8 + CUtlVector< CUtlString > m_boneNames; // 0x20 + CUtlVector< uint16 > m_indexNames; // 0x38 + CUtlVector< uint16 > m_indexHash; // 0x50 + CUtlVector< matrix3x4a_t > m_bindPose; // 0x68 + CUtlVector< VPhysXBodyPart_t > m_parts; // 0x80 + CUtlVector< VPhysXConstraint2_t > m_constraints2; // 0x98 + CUtlVector< VPhysXJoint_t > m_joints; // 0xb0 + PhysFeModelDesc_t* m_pFeModel; // 0xc8 + CUtlVector< uint16 > m_boneParents; // 0xd0 + CUtlVector< uint32 > m_surfacePropertyHashes; // 0xe8 + CUtlVector< VPhysXCollisionAttributes_t > m_collisionAttributes; // 0x100 + CUtlVector< CUtlString > m_debugPartNames; // 0x118 + CUtlString m_embeddedKeyvalues; // 0x130 }; // Alignment: 7 // Size: 0x1c -class CPhysSurfacePropertiesPhysics : public -{ +class CPhysSurfacePropertiesPhysics +{ public: // MKV3TransferName "friction" - float m_friction; // 0x0 + float m_friction; // 0x0 // MKV3TransferName "elasticity" - float m_elasticity; // 0x4 + float m_elasticity; // 0x4 // MKV3TransferName "density" - float m_density; // 0x8 + float m_density; // 0x8 // MKV3TransferName "thickness" - float m_thickness; // 0xc + float m_thickness; // 0xc // MKV3TransferName "softcontactfrequency" - float m_softContactFrequency; // 0x10 + float m_softContactFrequency; // 0x10 // MKV3TransferName "softcontactdampingratio" - float m_softContactDampingRatio; // 0x14 + float m_softContactDampingRatio; // 0x14 // MKV3TransferName "wheeldrag" - float m_wheelDrag; // 0x18 + float m_wheelDrag; // 0x18 }; // Alignment: 8 // Size: 0x20 -class CPhysSurfacePropertiesAudio : public -{ +class CPhysSurfacePropertiesAudio +{ public: // MKV3TransferName "audioreflectivity" - float m_reflectivity; // 0x0 + float m_reflectivity; // 0x0 // MKV3TransferName "audiohardnessfactor" - float m_hardnessFactor; // 0x4 + float m_hardnessFactor; // 0x4 // MKV3TransferName "audioroughnessfactor" - float m_roughnessFactor; // 0x8 + float m_roughnessFactor; // 0x8 // MKV3TransferName "scrapeRoughThreshold" - float m_roughThreshold; // 0xc + float m_roughThreshold; // 0xc // MKV3TransferName "impactHardThreshold" - float m_hardThreshold; // 0x10 + float m_hardThreshold; // 0x10 // MKV3TransferName "audioHardMinVelocity" - float m_hardVelocityThreshold; // 0x14 + float m_hardVelocityThreshold; // 0x14 // MKV3TransferName "staticImpactVolume" - float m_flStaticImpactVolume; // 0x18 + float m_flStaticImpactVolume; // 0x18 // MKV3TransferName "occlusionFactor" - float m_flOcclusionFactor; // 0x1c + float m_flOcclusionFactor; // 0x1c }; // Alignment: 8 // Size: 0x40 -class CPhysSurfacePropertiesSoundNames : public -{ +class CPhysSurfacePropertiesSoundNames +{ public: // MKV3TransferName "impactsoft" - CUtlString m_impactSoft; // 0x0 + CUtlString m_impactSoft; // 0x0 // MKV3TransferName "impacthard" - CUtlString m_impactHard; // 0x8 + CUtlString m_impactHard; // 0x8 // MKV3TransferName "scrapesmooth" - CUtlString m_scrapeSmooth; // 0x10 + CUtlString m_scrapeSmooth; // 0x10 // MKV3TransferName "scraperough" - CUtlString m_scrapeRough; // 0x18 + CUtlString m_scrapeRough; // 0x18 // MKV3TransferName "bulletimpact" - CUtlString m_bulletImpact; // 0x20 + CUtlString m_bulletImpact; // 0x20 // MKV3TransferName "rolling" - CUtlString m_rolling; // 0x28 + CUtlString m_rolling; // 0x28 // MKV3TransferName "break" - CUtlString m_break; // 0x30 + CUtlString m_break; // 0x30 // MKV3TransferName "strain" - CUtlString m_strain; // 0x38 + CUtlString m_strain; // 0x38 }; // Alignment: 8 // Size: 0xa8 -class CPhysSurfaceProperties : public -{ +class CPhysSurfaceProperties +{ public: // MKV3TransferName "surfacePropertyName" - CUtlString m_name; // 0x0 - uint32_t m_nameHash; // 0x8 - uint32_t m_baseNameHash; // 0xc + CUtlString m_name; // 0x0 + uint32_t m_nameHash; // 0x8 + uint32_t m_baseNameHash; // 0xc +private: + [[maybe_unused]] uint8_t __pad0010[0x8]; // 0x10 +public: // MKV3TransferName "hidden" - bool m_bHidden; // 0x18 + bool m_bHidden; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x7]; // 0x19 +public: // MKV3TransferName "description" - CUtlString m_description; // 0x20 + CUtlString m_description; // 0x20 // MKV3TransferName "physics" - CPhysSurfacePropertiesPhysics m_physics; // 0x28 + CPhysSurfacePropertiesPhysics m_physics; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: // MKV3TransferName "audiosounds" - CPhysSurfacePropertiesSoundNames m_audioSounds; // 0x48 + CPhysSurfacePropertiesSoundNames m_audioSounds; // 0x48 // MKV3TransferName "audioparams" - CPhysSurfacePropertiesAudio m_audioParams; // 0x88 + CPhysSurfacePropertiesAudio m_audioParams; // 0x88 }; // Alignment: 1 // Size: 0x18 -class CVPhysXSurfacePropertiesList : public -{ +class CVPhysXSurfacePropertiesList +{ public: // MKV3TransferName "SurfacePropertiesList" - CUtlVector< CPhysSurfaceProperties* > m_surfacePropertiesList; // 0x0 + CUtlVector< CPhysSurfaceProperties* > m_surfacePropertiesList; // 0x0 }; // Alignment: 2 // Size: 0x20 -struct MaterialGroup_t : public -{ +struct MaterialGroup_t +{ public: - CUtlString m_name; // 0x0 - CUtlVector< CStrongHandle< InfoForResourceTypeIMaterial2 > > m_materials; // 0x8 + CUtlString m_name; // 0x0 + CUtlVector< CStrongHandle< InfoForResourceTypeIMaterial2 > > m_materials; // 0x8 }; // Alignment: 7 // Size: 0xa8 -struct ModelSkeletonData_t : public -{ +struct ModelSkeletonData_t +{ public: - CUtlVector< CUtlString > m_boneName; // 0x0 - CUtlVector< int16 > m_nParent; // 0x18 - CUtlVector< float32 > m_boneSphere; // 0x30 - CUtlVector< uint32 > m_nFlag; // 0x48 - CUtlVector< Vector > m_bonePosParent; // 0x60 - CUtlVector< QuaternionStorage > m_boneRotParent; // 0x78 - CUtlVector< float32 > m_boneScaleParent; // 0x90 + CUtlVector< CUtlString > m_boneName; // 0x0 + CUtlVector< int16 > m_nParent; // 0x18 + CUtlVector< float32 > m_boneSphere; // 0x30 + CUtlVector< uint32 > m_nFlag; // 0x48 + CUtlVector< Vector > m_bonePosParent; // 0x60 + CUtlVector< QuaternionStorage > m_boneRotParent; // 0x78 + CUtlVector< float32 > m_boneScaleParent; // 0x90 }; // Alignment: 10 // Size: 0x58 -struct PermModelInfo_t : public -{ +struct PermModelInfo_t +{ public: - uint32_t m_nFlags; // 0x0 - Vector m_vHullMin; // 0x4 - Vector m_vHullMax; // 0x10 - Vector m_vViewMin; // 0x1c - Vector m_vViewMax; // 0x28 - float m_flMass; // 0x34 - Vector m_vEyePosition; // 0x38 - float m_flMaxEyeDeflection; // 0x44 - CUtlString m_sSurfaceProperty; // 0x48 - CUtlString m_keyValueText; // 0x50 + uint32_t m_nFlags; // 0x0 + Vector m_vHullMin; // 0x4 + Vector m_vHullMax; // 0x10 + Vector m_vViewMin; // 0x1c + Vector m_vViewMax; // 0x28 + float m_flMass; // 0x34 + Vector m_vEyePosition; // 0x38 + float m_flMaxEyeDeflection; // 0x44 + CUtlString m_sSurfaceProperty; // 0x48 + CUtlString m_keyValueText; // 0x50 }; // Alignment: 4 // Size: 0x40 -struct PermModelExtPart_t : public -{ +struct PermModelExtPart_t +{ public: - CTransform m_Transform; // 0x0 - CUtlString m_Name; // 0x20 - int32_t m_nParent; // 0x28 - CStrongHandle< InfoForResourceTypeCModel > m_refModel; // 0x30 + CTransform m_Transform; // 0x0 + CUtlString m_Name; // 0x20 + int32_t m_nParent; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CStrongHandle< InfoForResourceTypeCModel > m_refModel; // 0x30 }; // Alignment: 5 // Size: 0x20 -struct ModelBoneFlexDriverControl_t : public -{ +struct ModelBoneFlexDriverControl_t +{ public: - ModelBoneFlexComponent_t m_nBoneComponent; // 0x0 - CUtlString m_flexController; // 0x8 - uint32_t m_flexControllerToken; // 0x10 - float m_flMin; // 0x14 - float m_flMax; // 0x18 + ModelBoneFlexComponent_t m_nBoneComponent; // 0x0 + CUtlString m_flexController; // 0x8 + uint32_t m_flexControllerToken; // 0x10 + float m_flMin; // 0x14 + float m_flMax; // 0x18 }; // Alignment: 3 // Size: 0x28 -struct ModelBoneFlexDriver_t : public -{ +struct ModelBoneFlexDriver_t +{ public: - CUtlString m_boneName; // 0x0 - uint32_t m_boneNameToken; // 0x8 - CUtlVector< ModelBoneFlexDriverControl_t > m_controls; // 0x10 + CUtlString m_boneName; // 0x0 + uint32_t m_boneNameToken; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< ModelBoneFlexDriverControl_t > m_controls; // 0x10 }; // Alignment: 2 // Size: 0x10 -struct PermModelDataAnimatedMaterialAttribute_t : public -{ +struct PermModelDataAnimatedMaterialAttribute_t +{ public: - CUtlString m_AttributeName; // 0x0 - int32_t m_nNumChannels; // 0x8 + CUtlString m_AttributeName; // 0x0 + int32_t m_nNumChannels; // 0x8 }; // Alignment: 23 // Size: 0x2c8 -struct PermModelData_t : public -{ +struct PermModelData_t +{ public: - CUtlString m_name; // 0x0 - PermModelInfo_t m_modelInfo; // 0x8 - CUtlVector< PermModelExtPart_t > m_ExtParts; // 0x60 - CUtlVector< CStrongHandle< InfoForResourceTypeCRenderMesh > > m_refMeshes; // 0x78 - CUtlVector< uint64 > m_refMeshGroupMasks; // 0x90 - CUtlVector< uint64 > m_refPhysGroupMasks; // 0xa8 - CUtlVector< uint8 > m_refLODGroupMasks; // 0xc0 - CUtlVector< float32 > m_lodGroupSwitchDistances; // 0xd8 - CUtlVector< CStrongHandle< InfoForResourceTypeCPhysAggregateData > > m_refPhysicsData; // 0xf0 - CUtlVector< CStrongHandle< InfoForResourceTypeCPhysAggregateData > > m_refPhysicsHitboxData; // 0x108 - CUtlVector< CStrongHandle< InfoForResourceTypeCAnimationGroup > > m_refAnimGroups; // 0x120 - CUtlVector< CStrongHandle< InfoForResourceTypeCSequenceGroupData > > m_refSequenceGroups; // 0x138 - CUtlVector< CUtlString > m_meshGroups; // 0x150 - CUtlVector< MaterialGroup_t > m_materialGroups; // 0x168 - uint64_t m_nDefaultMeshGroupMask; // 0x180 - ModelSkeletonData_t m_modelSkeleton; // 0x188 - CUtlVector< int16 > m_remappingTable; // 0x230 - CUtlVector< uint16 > m_remappingTableStarts; // 0x248 - CUtlVector< ModelBoneFlexDriver_t > m_boneFlexDrivers; // 0x260 - CModelConfigList* m_pModelConfigList; // 0x278 - CUtlVector< CUtlString > m_BodyGroupsHiddenInTools; // 0x280 - CUtlVector< CStrongHandle< InfoForResourceTypeCModel > > m_refAnimIncludeModels; // 0x298 - CUtlVector< PermModelDataAnimatedMaterialAttribute_t > m_AnimatedMaterialAttributes; // 0x2b0 + CUtlString m_name; // 0x0 + PermModelInfo_t m_modelInfo; // 0x8 + CUtlVector< PermModelExtPart_t > m_ExtParts; // 0x60 + CUtlVector< CStrongHandle< InfoForResourceTypeCRenderMesh > > m_refMeshes; // 0x78 + CUtlVector< uint64 > m_refMeshGroupMasks; // 0x90 + CUtlVector< uint64 > m_refPhysGroupMasks; // 0xa8 + CUtlVector< uint8 > m_refLODGroupMasks; // 0xc0 + CUtlVector< float32 > m_lodGroupSwitchDistances; // 0xd8 + CUtlVector< CStrongHandle< InfoForResourceTypeCPhysAggregateData > > m_refPhysicsData; // 0xf0 + CUtlVector< CStrongHandle< InfoForResourceTypeCPhysAggregateData > > m_refPhysicsHitboxData; // 0x108 + CUtlVector< CStrongHandle< InfoForResourceTypeCAnimationGroup > > m_refAnimGroups; // 0x120 + CUtlVector< CStrongHandle< InfoForResourceTypeCSequenceGroupData > > m_refSequenceGroups; // 0x138 + CUtlVector< CUtlString > m_meshGroups; // 0x150 + CUtlVector< MaterialGroup_t > m_materialGroups; // 0x168 + uint64_t m_nDefaultMeshGroupMask; // 0x180 + ModelSkeletonData_t m_modelSkeleton; // 0x188 + CUtlVector< int16 > m_remappingTable; // 0x230 + CUtlVector< uint16 > m_remappingTableStarts; // 0x248 + CUtlVector< ModelBoneFlexDriver_t > m_boneFlexDrivers; // 0x260 + CModelConfigList* m_pModelConfigList; // 0x278 + CUtlVector< CUtlString > m_BodyGroupsHiddenInTools; // 0x280 + CUtlVector< CStrongHandle< InfoForResourceTypeCModel > > m_refAnimIncludeModels; // 0x298 + CUtlVector< PermModelDataAnimatedMaterialAttribute_t > m_AnimatedMaterialAttributes; // 0x2b0 }; // Alignment: 1 // Size: 0x1 -struct AttachmentHandle_t : public -{ +struct AttachmentHandle_t +{ public: - uint8_t m_Value; // 0x0 + uint8_t m_Value; // 0x0 }; // Alignment: 2 // Size: 0x48 -class CModelConfigElement : public -{ +class CModelConfigElement +{ public: - CUtlString m_ElementName; // 0x8 - CUtlVector< CModelConfigElement* > m_NestedElements; // 0x10 + CUtlString m_ElementName; // 0x8 + CUtlVector< CModelConfigElement* > m_NestedElements; // 0x10 }; // Alignment: 14 // Size: 0xe8 class CModelConfigElement_AttachedModel : public CModelConfigElement -{ +{ public: - CUtlString m_InstanceName; // 0x48 - CUtlString m_EntityClass; // 0x50 - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x58 - Vector m_vOffset; // 0x60 - QAngle m_aAngOffset; // 0x6c - CUtlString m_AttachmentName; // 0x78 - CUtlString m_LocalAttachmentOffsetName; // 0x80 - ModelConfigAttachmentType_t m_AttachmentType; // 0x88 - bool m_bBoneMergeFlex; // 0x8c - bool m_bUserSpecifiedColor; // 0x8d - bool m_bUserSpecifiedMaterialGroup; // 0x8e - bool m_bAcceptParentMaterialDrivenDecals; // 0x8f - CUtlString m_BodygroupOnOtherModels; // 0x90 - CUtlString m_MaterialGroupOnOtherModels; // 0x98 + CUtlString m_InstanceName; // 0x48 + CUtlString m_EntityClass; // 0x50 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x58 + Vector m_vOffset; // 0x60 + QAngle m_aAngOffset; // 0x6c + CUtlString m_AttachmentName; // 0x78 + CUtlString m_LocalAttachmentOffsetName; // 0x80 + ModelConfigAttachmentType_t m_AttachmentType; // 0x88 + bool m_bBoneMergeFlex; // 0x8c + bool m_bUserSpecifiedColor; // 0x8d + bool m_bUserSpecifiedMaterialGroup; // 0x8e + bool m_bAcceptParentMaterialDrivenDecals; // 0x8f + CUtlString m_BodygroupOnOtherModels; // 0x90 + CUtlString m_MaterialGroupOnOtherModels; // 0x98 }; // Alignment: 1 // Size: 0x60 class CModelConfigElement_UserPick : public CModelConfigElement -{ +{ public: - CUtlVector< CUtlString > m_Choices; // 0x48 + CUtlVector< CUtlString > m_Choices; // 0x48 }; // Alignment: 1 // Size: 0x60 class CModelConfigElement_RandomPick : public CModelConfigElement -{ +{ public: - CUtlVector< CUtlString > m_Choices; // 0x48 + CUtlVector< CUtlString > m_Choices; // 0x48 }; // Alignment: 1 // Size: 0x50 class CModelConfigElement_SetMaterialGroup : public CModelConfigElement -{ +{ public: - CUtlString m_MaterialGroupName; // 0x48 + CUtlString m_MaterialGroupName; // 0x48 }; // Alignment: 1 // Size: 0x50 class CModelConfigElement_SetMaterialGroupOnAttachedModels : public CModelConfigElement -{ +{ public: - CUtlString m_MaterialGroupName; // 0x48 + CUtlString m_MaterialGroupName; // 0x48 }; // Alignment: 1 // Size: 0x50 class CModelConfigElement_SetRenderColor : public CModelConfigElement -{ +{ public: - Color m_Color; // 0x48 + Color m_Color; // 0x48 }; // Alignment: 1 // Size: 0x60 class CModelConfigElement_RandomColor : public CModelConfigElement -{ +{ public: - CColorGradient m_Gradient; // 0x48 + CColorGradient m_Gradient; // 0x48 }; // Alignment: 2 // Size: 0x58 class CModelConfigElement_SetBodygroup : public CModelConfigElement -{ +{ public: - CUtlString m_GroupName; // 0x48 - int32_t m_nChoice; // 0x50 + CUtlString m_GroupName; // 0x48 + int32_t m_nChoice; // 0x50 }; // Alignment: 2 // Size: 0x58 class CModelConfigElement_SetBodygroupOnAttachedModels : public CModelConfigElement -{ +{ public: - CUtlString m_GroupName; // 0x48 - int32_t m_nChoice; // 0x50 + CUtlString m_GroupName; // 0x48 + int32_t m_nChoice; // 0x50 }; // Alignment: 2 // Size: 0x60 class CModelConfigElement_Command : public CModelConfigElement -{ +{ public: - CUtlString m_Command; // 0x48 - KeyValues3 m_Args; // 0x50 + CUtlString m_Command; // 0x48 + KeyValues3 m_Args; // 0x50 }; // Alignment: 3 // Size: 0x28 -class CModelConfig : public -{ +class CModelConfig +{ public: - CUtlString m_ConfigName; // 0x0 - CUtlVector< CModelConfigElement* > m_Elements; // 0x8 - bool m_bTopLevel; // 0x20 + CUtlString m_ConfigName; // 0x0 + CUtlVector< CModelConfigElement* > m_Elements; // 0x8 + bool m_bTopLevel; // 0x20 }; // Alignment: 3 // Size: 0x20 -class CModelConfigList : public -{ +class CModelConfigList +{ public: - bool m_bHideMaterialGroupInTools; // 0x0 - bool m_bHideRenderColorInTools; // 0x1 - CUtlVector< CModelConfig* > m_Configs; // 0x8 + bool m_bHideMaterialGroupInTools; // 0x0 + bool m_bHideRenderColorInTools; // 0x1 +private: + [[maybe_unused]] uint8_t __pad0002[0x6]; // 0x2 +public: + CUtlVector< CModelConfig* > m_Configs; // 0x8 }; // Alignment: 2 // Size: 0x18 -class CRenderBufferBinding : public -{ +class CRenderBufferBinding +{ public: - uint64_t m_hBuffer; // 0x0 - uint32_t m_nBindOffsetBytes; // 0x10 + uint64_t m_hBuffer; // 0x0 + uint32_t m_nBindOffsetBytes; // 0x10 }; // Alignment: 2 // Size: 0x18 -struct SkeletonBoneBounds_t : public -{ +struct SkeletonBoneBounds_t +{ public: - Vector m_vecCenter; // 0x0 - Vector m_vecSize; // 0xc + Vector m_vecCenter; // 0x0 + Vector m_vecSize; // 0xc }; // Alignment: 5 // Size: 0x60 -struct RenderSkeletonBone_t : public -{ +struct RenderSkeletonBone_t +{ public: - CUtlString m_boneName; // 0x0 - CUtlString m_parentName; // 0x8 - matrix3x4_t m_invBindPose; // 0x10 - SkeletonBoneBounds_t m_bbox; // 0x40 - float m_flSphereRadius; // 0x58 + CUtlString m_boneName; // 0x0 + CUtlString m_parentName; // 0x8 + matrix3x4_t m_invBindPose; // 0x10 + SkeletonBoneBounds_t m_bbox; // 0x40 + float m_flSphereRadius; // 0x58 }; // Alignment: 3 // Size: 0x50 -class CRenderSkeleton : public -{ +class CRenderSkeleton +{ public: - CUtlVector< RenderSkeletonBone_t > m_bones; // 0x0 - CUtlVector< int32 > m_boneParents; // 0x30 - int32_t m_nBoneWeightCount; // 0x48 + CUtlVector< RenderSkeletonBone_t > m_bones; // 0x0 + CUtlVector< int32 > m_boneParents; // 0x30 + int32_t m_nBoneWeightCount; // 0x48 }; // Alignment: 3 // Size: 0x10 -class CDrawCullingData : public -{ +class CDrawCullingData +{ public: - Vector m_vConeApex; // 0x0 - int8[3] m_ConeAxis; // 0xc - int8_t m_ConeCutoff; // 0xf + Vector m_vConeApex; // 0x0 + int8_t m_ConeAxis[3]; // 0xc + int8_t m_ConeCutoff; // 0xf }; // Alignment: 12 // Size: 0xe8 -class CMaterialDrawDescriptor : public -{ +class CMaterialDrawDescriptor +{ public: - RenderPrimitiveType_t m_nPrimitiveType; // 0x0 - int32_t m_nBaseVertex; // 0x4 - int32_t m_nVertexCount; // 0x8 - int32_t m_nStartIndex; // 0xc - int32_t m_nIndexCount; // 0x10 - float m_flUvDensity; // 0x14 - Vector m_vTintColor; // 0x18 - float m_flAlpha; // 0x24 - uint32_t m_nFirstMeshlet; // 0x2c - uint16_t m_nNumMeshlets; // 0x30 - CRenderBufferBinding m_indexBuffer; // 0xb8 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_material; // 0xe0 + RenderPrimitiveType_t m_nPrimitiveType; // 0x0 + int32_t m_nBaseVertex; // 0x4 + int32_t m_nVertexCount; // 0x8 + int32_t m_nStartIndex; // 0xc + int32_t m_nIndexCount; // 0x10 + float m_flUvDensity; // 0x14 + Vector m_vTintColor; // 0x18 + float m_flAlpha; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0028[0x4]; // 0x28 +public: + uint32_t m_nFirstMeshlet; // 0x2c + uint16_t m_nNumMeshlets; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0032[0x86]; // 0x32 +public: + CRenderBufferBinding m_indexBuffer; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00d0[0x10]; // 0xd0 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_material; // 0xe0 }; // Alignment: 2 // Size: 0x18 -class CMeshletDescriptor : public -{ +class CMeshletDescriptor +{ public: - PackedAABB_t m_PackedAABB; // 0x0 - CDrawCullingData m_CullingData; // 0x8 + PackedAABB_t m_PackedAABB; // 0x0 + CDrawCullingData m_CullingData; // 0x8 }; // Alignment: 6 // Size: 0x78 -class CSceneObjectData : public -{ +class CSceneObjectData +{ public: - Vector m_vMinBounds; // 0x0 - Vector m_vMaxBounds; // 0xc - CUtlVector< CMaterialDrawDescriptor > m_drawCalls; // 0x18 - CUtlVector< AABB_t > m_drawBounds; // 0x30 - CUtlVector< CMeshletDescriptor > m_meshlets; // 0x48 - Vector4D m_vTintColor; // 0x60 + Vector m_vMinBounds; // 0x0 + Vector m_vMaxBounds; // 0xc + CUtlVector< CMaterialDrawDescriptor > m_drawCalls; // 0x18 + CUtlVector< AABB_t > m_drawBounds; // 0x30 + CUtlVector< CMeshletDescriptor > m_meshlets; // 0x48 + Vector4D m_vTintColor; // 0x60 }; // Alignment: 8 // Size: 0x90 -class CAttachment : public -{ +class CAttachment +{ public: - CUtlString m_name; // 0x0 - CUtlString[3] m_influenceNames; // 0x8 - Quaternion[3] m_vInfluenceRotations; // 0x20 - Vector[3] m_vInfluenceOffsets; // 0x50 - float32[3] m_influenceWeights; // 0x74 - bool[3] m_bInfluenceRootTransform; // 0x80 - uint8_t m_nInfluences; // 0x83 - bool m_bIgnoreRotation; // 0x84 + CUtlString m_name; // 0x0 + CUtlString m_influenceNames[3]; // 0x8 + Quaternion m_vInfluenceRotations[3]; // 0x20 + Vector m_vInfluenceOffsets[3]; // 0x50 + float m_influenceWeights[3]; // 0x74 + bool m_bInfluenceRootTransform[3]; // 0x80 + uint8_t m_nInfluences; // 0x83 + bool m_bIgnoreRotation; // 0x84 }; // Alignment: 14 // Size: 0x70 -class CHitBox : public -{ +class CHitBox +{ public: - Vector m_vMinBounds; // 0x20 - Vector m_vMaxBounds; // 0x2c - CUtlString m_name; // 0x38 - CUtlString m_sSurfaceProperty; // 0x40 - CUtlString m_sBoneName; // 0x48 - float m_flShapeRadius; // 0x50 - uint32_t m_nBoneNameHash; // 0x54 - int32_t m_nGroupId; // 0x58 - Color m_cRenderColor; // 0x5c - uint16_t m_nHitBoxIndex; // 0x60 - uint8_t m_nShapeType; // 0x62 - bool m_bTranslationOnly; // 0x64 - bool m_bVisible; // 0x65 - bool m_bSelected; // 0x66 + Vector m_vMinBounds; // 0x20 + Vector m_vMaxBounds; // 0x2c + CUtlString m_name; // 0x38 + CUtlString m_sSurfaceProperty; // 0x40 + CUtlString m_sBoneName; // 0x48 + float m_flShapeRadius; // 0x50 + uint32_t m_nBoneNameHash; // 0x54 + int32_t m_nGroupId; // 0x58 + Color m_cRenderColor; // 0x5c + uint16_t m_nHitBoxIndex; // 0x60 + uint8_t m_nShapeType; // 0x62 +private: + [[maybe_unused]] uint8_t __pad0063[0x1]; // 0x63 +public: + bool m_bTranslationOnly; // 0x64 + bool m_bVisible; // 0x65 + bool m_bSelected; // 0x66 }; // Alignment: 4 // Size: 0x30 -class CHitBoxSet : public -{ +class CHitBoxSet +{ public: - CUtlString m_name; // 0x0 - uint32_t m_nNameHash; // 0x8 - CUtlVector< CHitBox > m_HitBoxes; // 0x10 - CUtlString m_SourceFilename; // 0x28 + CUtlString m_name; // 0x0 + uint32_t m_nNameHash; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< CHitBox > m_HitBoxes; // 0x10 + CUtlString m_SourceFilename; // 0x28 }; // Alignment: 1 // Size: 0x18 -class CHitBoxSetList : public -{ +class CHitBoxSetList +{ public: - CUtlVector< CHitBoxSet > m_HitBoxSets; // 0x0 + CUtlVector< CHitBoxSet > m_HitBoxSets; // 0x0 }; // Alignment: 3 // Size: 0x1e0 -class CRenderMesh : public -{ +class CRenderMesh +{ public: - CUtlVectorFixedGrowable< CSceneObjectData > m_sceneObjects; // 0x10 - CUtlVector< CBaseConstraint* > m_constraints; // 0xa0 - CRenderSkeleton m_skeleton; // 0xb8 + CUtlVectorFixedGrowable< CSceneObjectData > m_sceneObjects; // 0x10 + CUtlVector< CBaseConstraint* > m_constraints; // 0xa0 + CRenderSkeleton m_skeleton; // 0xb8 }; // Alignment: 6 // Size: 0x60 -class CConstraintTarget : public -{ +class CConstraintTarget +{ public: - Quaternion m_qOffset; // 0x20 - Vector m_vOffset; // 0x30 - uint32_t m_nBoneHash; // 0x3c - CUtlString m_sName; // 0x40 - float m_flWeight; // 0x48 - bool m_bIsAttachment; // 0x59 + Quaternion m_qOffset; // 0x20 + Vector m_vOffset; // 0x30 + uint32_t m_nBoneHash; // 0x3c + CUtlString m_sName; // 0x40 + float m_flWeight; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0xd]; // 0x4c +public: + bool m_bIsAttachment; // 0x59 }; // Alignment: 5 // Size: 0x60 -class CConstraintSlave : public -{ +class CConstraintSlave +{ public: - Quaternion m_qBaseOrientation; // 0x0 - Vector m_vBasePosition; // 0x10 - uint32_t m_nBoneHash; // 0x1c - float m_flWeight; // 0x20 - CUtlString m_sName; // 0x28 + Quaternion m_qBaseOrientation; // 0x0 + Vector m_vBasePosition; // 0x10 + uint32_t m_nBoneHash; // 0x1c + float m_flWeight; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + CUtlString m_sName; // 0x28 }; // Alignment: 0 // Size: 0x28 -class CBoneConstraintBase : public -{ +class CBoneConstraintBase +{ public: // no members available }; @@ -6585,73 +7151,79 @@ public: // Alignment: 4 // Size: 0x70 class CBaseConstraint : public CBoneConstraintBase -{ +{ public: - CUtlString m_name; // 0x28 - Vector m_vUpVector; // 0x30 - CUtlVector< CConstraintSlave > m_slaves; // 0x40 - CUtlVector< CConstraintTarget > m_targets; // 0x58 + CUtlString m_name; // 0x28 + Vector m_vUpVector; // 0x30 +private: + [[maybe_unused]] uint8_t __pad003c[0x4]; // 0x3c +public: + CUtlVector< CConstraintSlave > m_slaves; // 0x40 + CUtlVector< CConstraintTarget > m_targets; // 0x58 }; // Alignment: 0 // Size: 0x70 -class CPointConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class CPointConstraint : public CBaseConstraint +{ public: // no members available }; // Alignment: 0 // Size: 0x70 -class COrientConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class COrientConstraint : public CBaseConstraint +{ public: // no members available }; // Alignment: 2 // Size: 0x90 -class CAimConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class CAimConstraint : public CBaseConstraint +{ public: - Quaternion m_qAimOffset; // 0x70 - uint32_t m_nUpType; // 0x80 + Quaternion m_qAimOffset; // 0x70 + uint32_t m_nUpType; // 0x80 }; // Alignment: 3 // Size: 0xa0 -class CTwistConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class CTwistConstraint : public CBaseConstraint +{ public: - bool m_bInverse; // 0x70 - Quaternion m_qParentBindRotation; // 0x80 - Quaternion m_qChildBindRotation; // 0x90 + bool m_bInverse; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0071[0xf]; // 0x71 +public: + Quaternion m_qParentBindRotation; // 0x80 + Quaternion m_qChildBindRotation; // 0x90 }; // Alignment: 2 // Size: 0xa0 -class CTiltTwistConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class CTiltTwistConstraint : public CBaseConstraint +{ public: - int32_t m_nTargetAxis; // 0x70 - int32_t m_nSlaveAxis; // 0x74 + int32_t m_nTargetAxis; // 0x70 + int32_t m_nSlaveAxis; // 0x74 }; // Alignment: 4 // Size: 0x90 -class CMorphConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class CMorphConstraint : public CBaseConstraint +{ public: - CUtlString m_sTargetMorph; // 0x70 - int32_t m_nSlaveChannel; // 0x78 - float m_flMin; // 0x7c - float m_flMax; // 0x80 + CUtlString m_sTargetMorph; // 0x70 + int32_t m_nSlaveChannel; // 0x78 + float m_flMin; // 0x7c + float m_flMax; // 0x80 }; // Alignment: 0 // Size: 0x70 -class CParentConstraint : public CBaseConstraint, CBoneConstraintBase -{ +class CParentConstraint : public CBaseConstraint +{ public: // no members available }; @@ -6659,180 +7231,183 @@ public: // Alignment: 5 // Size: 0xa8 class CBoneConstraintPoseSpaceMorph : public CBoneConstraintBase -{ +{ public: - CUtlString m_sBoneName; // 0x28 - CUtlString m_sAttachmentName; // 0x30 - CUtlVector< CUtlString > m_outputMorph; // 0x38 - CUtlVector< CBoneConstraintPoseSpaceMorph::Input_t > m_inputList; // 0x50 - bool m_bClamp; // 0x68 + CUtlString m_sBoneName; // 0x28 + CUtlString m_sAttachmentName; // 0x30 + CUtlVector< CUtlString > m_outputMorph; // 0x38 + CUtlVector< CBoneConstraintPoseSpaceMorph::Input_t > m_inputList; // 0x50 + bool m_bClamp; // 0x68 }; // Alignment: 2 // Size: 0x28 -struct CBoneConstraintPoseSpaceMorph__Input_t : public -{ +struct CBoneConstraintPoseSpaceMorph__Input_t +{ public: - Vector m_inputValue; // 0x0 - CUtlVector< float32 > m_outputWeightList; // 0x10 + Vector m_inputValue; // 0x0 + CUtlVector< float32 > m_outputWeightList; // 0x10 }; // Alignment: 1 // Size: 0x98 -class CBoneConstraintPoseSpaceBone : public CBaseConstraint, CBoneConstraintBase -{ +class CBoneConstraintPoseSpaceBone : public CBaseConstraint +{ public: - CUtlVector< CBoneConstraintPoseSpaceBone::Input_t > m_inputList; // 0x70 + CUtlVector< CBoneConstraintPoseSpaceBone::Input_t > m_inputList; // 0x70 }; // Alignment: 2 // Size: 0x28 -struct CBoneConstraintPoseSpaceBone__Input_t : public -{ +struct CBoneConstraintPoseSpaceBone__Input_t +{ public: - Vector m_inputValue; // 0x0 - CUtlVector< CTransform > m_outputTransformList; // 0x10 + Vector m_inputValue; // 0x0 + CUtlVector< CTransform > m_outputTransformList; // 0x10 }; // Alignment: 2 // Size: 0x8 -class CFlexOp : public -{ +class CFlexOp +{ public: - FlexOpCode_t m_OpCode; // 0x0 - int32_t m_Data; // 0x4 + FlexOpCode_t m_OpCode; // 0x0 + int32_t m_Data; // 0x4 }; // Alignment: 2 // Size: 0x20 -class CFlexRule : public -{ +class CFlexRule +{ public: - int32_t m_nFlex; // 0x0 - CUtlVector< CFlexOp > m_FlexOps; // 0x8 + int32_t m_nFlex; // 0x0 + CUtlVector< CFlexOp > m_FlexOps; // 0x8 }; // Alignment: 1 // Size: 0x8 -class CFlexDesc : public -{ +class CFlexDesc +{ public: - CUtlString m_szFacs; // 0x0 + CUtlString m_szFacs; // 0x0 }; // Alignment: 4 // Size: 0x18 -class CFlexController : public -{ +class CFlexController +{ public: - CUtlString m_szName; // 0x0 - CUtlString m_szType; // 0x8 - float min; // 0x10 - float max; // 0x14 + CUtlString m_szName; // 0x0 + CUtlString m_szType; // 0x8 + float min; // 0x10 + float max; // 0x14 }; // Alignment: 4 // Size: 0x38 -class CMorphBundleData : public -{ +class CMorphBundleData +{ public: - float m_flULeftSrc; // 0x0 - float m_flVTopSrc; // 0x4 - CUtlVector< float32 > m_offsets; // 0x8 - CUtlVector< float32 > m_ranges; // 0x20 + float m_flULeftSrc; // 0x0 + float m_flVTopSrc; // 0x4 + CUtlVector< float32 > m_offsets; // 0x8 + CUtlVector< float32 > m_ranges; // 0x20 }; // Alignment: 5 // Size: 0x28 -class CMorphRectData : public -{ +class CMorphRectData +{ public: - int16_t m_nXLeftDst; // 0x0 - int16_t m_nYTopDst; // 0x2 - float m_flUWidthSrc; // 0x4 - float m_flVHeightSrc; // 0x8 - CUtlVector< CMorphBundleData > m_bundleDatas; // 0x10 + int16_t m_nXLeftDst; // 0x0 + int16_t m_nYTopDst; // 0x2 + float m_flUWidthSrc; // 0x4 + float m_flVHeightSrc; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< CMorphBundleData > m_bundleDatas; // 0x10 }; // Alignment: 2 // Size: 0x20 -class CMorphData : public -{ +class CMorphData +{ public: - CUtlString m_name; // 0x0 - CUtlVector< CMorphRectData > m_morphRectDatas; // 0x8 + CUtlString m_name; // 0x0 + CUtlVector< CMorphRectData > m_morphRectDatas; // 0x8 }; // Alignment: 8 // Size: 0x98 -class CMorphSetData : public -{ +class CMorphSetData +{ public: - int32_t m_nWidth; // 0x10 - int32_t m_nHeight; // 0x14 - CUtlVector< MorphBundleType_t > m_bundleTypes; // 0x18 - CUtlVector< CMorphData > m_morphDatas; // 0x30 - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureAtlas; // 0x48 - CUtlVector< CFlexDesc > m_FlexDesc; // 0x50 - CUtlVector< CFlexController > m_FlexControllers; // 0x68 - CUtlVector< CFlexRule > m_FlexRules; // 0x80 + int32_t m_nWidth; // 0x10 + int32_t m_nHeight; // 0x14 + CUtlVector< MorphBundleType_t > m_bundleTypes; // 0x18 + CUtlVector< CMorphData > m_morphDatas; // 0x30 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureAtlas; // 0x48 + CUtlVector< CFlexDesc > m_FlexDesc; // 0x50 + CUtlVector< CFlexController > m_FlexControllers; // 0x68 + CUtlVector< CFlexRule > m_FlexRules; // 0x80 }; // Alignment: 5 // Size: 0x28 -class CAnimFoot : public -{ +class CAnimFoot +{ public: - CUtlString m_name; // 0x0 - Vector m_vBallOffset; // 0x8 - Vector m_vHeelOffset; // 0x14 - int32_t m_ankleBoneIndex; // 0x20 - int32_t m_toeBoneIndex; // 0x24 + CUtlString m_name; // 0x0 + Vector m_vBallOffset; // 0x8 + Vector m_vHeelOffset; // 0x14 + int32_t m_ankleBoneIndex; // 0x20 + int32_t m_toeBoneIndex; // 0x24 }; // Alignment: 8 // Size: 0xd0 -class CAnimSkeleton : public -{ +class CAnimSkeleton +{ public: - CUtlVector< CTransform > m_localSpaceTransforms; // 0x10 - CUtlVector< CTransform > m_modelSpaceTransforms; // 0x28 - CUtlVector< CUtlString > m_boneNames; // 0x40 - CUtlVector< CUtlVector< int32 > > m_children; // 0x58 - CUtlVector< int32 > m_parents; // 0x70 - CUtlVector< CAnimFoot > m_feet; // 0x88 - CUtlVector< CUtlString > m_morphNames; // 0xa0 - CUtlVector< int32 > m_lodBoneCounts; // 0xb8 + CUtlVector< CTransform > m_localSpaceTransforms; // 0x10 + CUtlVector< CTransform > m_modelSpaceTransforms; // 0x28 + CUtlVector< CUtlString > m_boneNames; // 0x40 + CUtlVector< CUtlVector< int32 > > m_children; // 0x58 + CUtlVector< int32 > m_parents; // 0x70 + CUtlVector< CAnimFoot > m_feet; // 0x88 + CUtlVector< CUtlString > m_morphNames; // 0xa0 + CUtlVector< int32 > m_lodBoneCounts; // 0xb8 }; // Alignment: 9 // Size: 0x40 -class CFootDefinition : public -{ +class CFootDefinition +{ public: - CUtlString m_name; // 0x0 - CUtlString m_ankleBoneName; // 0x8 - CUtlString m_toeBoneName; // 0x10 - Vector m_vBallOffset; // 0x18 - Vector m_vHeelOffset; // 0x24 - float m_flFootLength; // 0x30 - float m_flBindPoseDirectionMS; // 0x34 - float m_flTraceHeight; // 0x38 - float m_flTraceRadius; // 0x3c + CUtlString m_name; // 0x0 + CUtlString m_ankleBoneName; // 0x8 + CUtlString m_toeBoneName; // 0x10 + Vector m_vBallOffset; // 0x18 + Vector m_vHeelOffset; // 0x24 + float m_flFootLength; // 0x30 + float m_flBindPoseDirectionMS; // 0x34 + float m_flTraceHeight; // 0x38 + float m_flTraceRadius; // 0x3c }; // Alignment: 1 // Size: 0x4 -class CCycleBase : public -{ +class CCycleBase +{ public: - float m_flCycle; // 0x0 + float m_flCycle; // 0x0 }; // Alignment: 0 // Size: 0x4 class CAnimCycle : public CCycleBase -{ +{ public: // no members available }; @@ -6840,189 +7415,198 @@ public: // Alignment: 0 // Size: 0x4 class CFootCycle : public CCycleBase -{ +{ public: // no members available }; // Alignment: 9 // Size: 0x3c -class CFootCycleDefinition : public -{ +class CFootCycleDefinition +{ public: - Vector m_vStancePositionMS; // 0x0 - Vector m_vMidpointPositionMS; // 0xc - float m_flStanceDirectionMS; // 0x18 - Vector m_vToStrideStartPos; // 0x1c - CAnimCycle m_stanceCycle; // 0x28 - CFootCycle m_footLiftCycle; // 0x2c - CFootCycle m_footOffCycle; // 0x30 - CFootCycle m_footStrikeCycle; // 0x34 - CFootCycle m_footLandCycle; // 0x38 + Vector m_vStancePositionMS; // 0x0 + Vector m_vMidpointPositionMS; // 0xc + float m_flStanceDirectionMS; // 0x18 + Vector m_vToStrideStartPos; // 0x1c + CAnimCycle m_stanceCycle; // 0x28 + CFootCycle m_footLiftCycle; // 0x2c + CFootCycle m_footOffCycle; // 0x30 + CFootCycle m_footStrikeCycle; // 0x34 + CFootCycle m_footLandCycle; // 0x38 }; // Alignment: 3 // Size: 0x14 -class CFootTrajectory : public -{ +class CFootTrajectory +{ public: - Vector m_vOffset; // 0x0 - float m_flRotationOffset; // 0xc - float m_flProgression; // 0x10 - static CFootTrajectory &Get_Identity(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("animationsystem.dll")->FindDeclaredClass("CFootTrajectory")->m_static_fields[0]->m_instance);}; + Vector m_vOffset; // 0x0 + float m_flRotationOffset; // 0xc + float m_flProgression; // 0x10 + static CFootTrajectory &Get_Identity(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("animationsystem.dll")->FindDeclaredClass("CFootTrajectory")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 // Size: 0x18 -class CFootTrajectories : public -{ +class CFootTrajectories +{ public: - CUtlVector< CFootTrajectory > m_trajectories; // 0x0 + CUtlVector< CFootTrajectory > m_trajectories; // 0x0 }; // Alignment: 2 // Size: 0x58 -class CFootStride : public -{ +class CFootStride +{ public: - CFootCycleDefinition m_definition; // 0x0 - CFootTrajectories m_trajectories; // 0x40 + CFootCycleDefinition m_definition; // 0x0 + CFootTrajectories m_trajectories; // 0x40 }; // Alignment: 3 // Size: 0x28 -class CFootMotion : public -{ +class CFootMotion +{ public: - CUtlVector< CFootStride > m_strides; // 0x0 - CUtlString m_name; // 0x18 - bool m_bAdditive; // 0x20 + CUtlVector< CFootStride > m_strides; // 0x0 + CUtlString m_name; // 0x18 + bool m_bAdditive; // 0x20 }; // Alignment: 2 // Size: 0x8 -class CFingerSource : public -{ +class CFingerSource +{ public: - AnimVRFinger_t m_nFingerIndex; // 0x0 - float m_flFingerWeight; // 0x4 + AnimVRFinger_t m_nFingerIndex; // 0x0 + float m_flFingerWeight; // 0x4 }; // Alignment: 7 // Size: 0x38 -class CFingerBone : public -{ +class CFingerBone +{ public: - CUtlString m_boneName; // 0x0 - Vector m_hingeAxis; // 0x8 - Vector m_vCapsulePos1; // 0x14 - Vector m_vCapsulePos2; // 0x20 - float m_flMinAngle; // 0x2c - float m_flMaxAngle; // 0x30 - float m_flRadius; // 0x34 + CUtlString m_boneName; // 0x0 + Vector m_hingeAxis; // 0x8 + Vector m_vCapsulePos1; // 0x14 + Vector m_vCapsulePos2; // 0x20 + float m_flMinAngle; // 0x2c + float m_flMaxAngle; // 0x30 + float m_flRadius; // 0x34 }; // Alignment: 10 // Size: 0x70 -class CFingerChain : public -{ +class CFingerChain +{ public: - CUtlVector< CFingerSource > m_targets; // 0x0 - CUtlVector< CFingerBone > m_bones; // 0x18 - CUtlString m_name; // 0x30 - CUtlString m_tipParentBoneName; // 0x38 - Vector m_vTipOffset; // 0x40 - CUtlString m_metacarpalBoneName; // 0x50 - Vector m_vSplayHingeAxis; // 0x58 - float m_flSplayMinAngle; // 0x64 - float m_flSplayMaxAngle; // 0x68 - float m_flFingerScaleRatio; // 0x6c + CUtlVector< CFingerSource > m_targets; // 0x0 + CUtlVector< CFingerBone > m_bones; // 0x18 + CUtlString m_name; // 0x30 + CUtlString m_tipParentBoneName; // 0x38 + Vector m_vTipOffset; // 0x40 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + CUtlString m_metacarpalBoneName; // 0x50 + Vector m_vSplayHingeAxis; // 0x58 + float m_flSplayMinAngle; // 0x64 + float m_flSplayMaxAngle; // 0x68 + float m_flFingerScaleRatio; // 0x6c }; // Alignment: 4 // Size: 0x30 -class CWristBone : public -{ +class CWristBone +{ public: - CUtlString m_name; // 0x0 - Vector m_vForwardLS; // 0x8 - Vector m_vUpLS; // 0x14 - Vector m_vOffset; // 0x20 + CUtlString m_name; // 0x0 + Vector m_vForwardLS; // 0x8 + Vector m_vUpLS; // 0x14 + Vector m_vOffset; // 0x20 }; // Alignment: 6 // Size: 0x50 -class CVrSkeletalInputSettings : public -{ +class CVrSkeletalInputSettings +{ public: - CUtlVector< CWristBone > m_wristBones; // 0x0 - CUtlVector< CFingerChain > m_fingers; // 0x18 - CUtlString m_name; // 0x30 - CUtlString m_outerKnuckle1; // 0x38 - CUtlString m_outerKnuckle2; // 0x40 - AnimVRHand_t m_eHand; // 0x48 + CUtlVector< CWristBone > m_wristBones; // 0x0 + CUtlVector< CFingerChain > m_fingers; // 0x18 + CUtlString m_name; // 0x30 + CUtlString m_outerKnuckle1; // 0x38 + CUtlString m_outerKnuckle2; // 0x40 + AnimVRHand_t m_eHand; // 0x48 }; // Alignment: 4 // Size: 0x150 class CAnimationGraph : public CAnimationSubGraph -{ +{ public: - CSmartPtr< CAnimGraphSettingsManager > m_pSettingsManager; // 0xe8 - CAnimClipDataManager m_clipDataManager; // 0xf8 - CUtlString m_modelName; // 0x140 - CUtlString m_previewModelName; // 0x148 + CSmartPtr< CAnimGraphSettingsManager > m_pSettingsManager; // 0xe8 +private: + [[maybe_unused]] uint8_t __pad00f0[0x8]; // 0xf0 +public: + CAnimClipDataManager m_clipDataManager; // 0xf8 +private: + [[maybe_unused]] uint8_t __pad0130[0x10]; // 0x130 +public: + CUtlString m_modelName; // 0x140 + CUtlString m_previewModelName; // 0x148 }; // Alignment: 1 // Size: 0x38 class CAnimScriptComponentUpdater : public CAnimComponentUpdater -{ +{ public: - AnimScriptHandle m_hScript; // 0x30 + AnimScriptHandle m_hScript; // 0x30 }; // Alignment: 1 // Size: 0x48 class CActionComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x30 + CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x30 }; // Alignment: 1 // Size: 0x48 class CDampedValueComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CUtlVector< CDampedValueUpdateItem > m_items; // 0x30 + CUtlVector< CDampedValueUpdateItem > m_items; // 0x30 }; // Alignment: 1 // Size: 0x38 class CLODComponentUpdater : public CAnimComponentUpdater -{ +{ public: - int32_t m_nServerLOD; // 0x30 + int32_t m_nServerLOD; // 0x30 }; // Alignment: 6 // Size: 0xa0 class CRagdollComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CUtlVector< CAnimNodePath > m_ragdollNodePaths; // 0x30 - CUtlVector< int32 > m_boneIndices; // 0x48 - CUtlVector< CUtlString > m_boneNames; // 0x60 - CUtlVector< WeightList > m_weightLists; // 0x78 - float m_flSpringFrequencyMin; // 0x90 - float m_flSpringFrequencyMax; // 0x94 + CUtlVector< CAnimNodePath > m_ragdollNodePaths; // 0x30 + CUtlVector< int32 > m_boneIndices; // 0x48 + CUtlVector< CUtlString > m_boneNames; // 0x60 + CUtlVector< WeightList > m_weightLists; // 0x78 + float m_flSpringFrequencyMin; // 0x90 + float m_flSpringFrequencyMax; // 0x94 }; // Alignment: 0 // Size: 0x70 class CAnimComponentStateTransition : public CAnimStateTransition -{ +{ public: // no members available }; @@ -7030,7 +7614,7 @@ public: // Alignment: 0 // Size: 0x70 class CAnimComponentState : public CAnimState -{ +{ public: // no members available }; @@ -7038,160 +7622,166 @@ public: // Alignment: 1 // Size: 0x68 class CStateMachineComponent : public CAnimComponentBase -{ +{ public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_sName; // 0x60 + CUtlString m_sName; // 0x60 }; // Alignment: 1 // Size: 0x88 class CStateMachineComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CAnimStateMachineUpdater m_stateMachine; // 0x30 + CAnimStateMachineUpdater m_stateMachine; // 0x30 }; // Alignment: 9 // Size: 0x48 class CVRInputComponentUpdater : public CAnimComponentUpdater -{ +{ public: - CAnimParamHandle m_FingerCurl_Thumb; // 0x34 - CAnimParamHandle m_FingerCurl_Index; // 0x36 - CAnimParamHandle m_FingerCurl_Middle; // 0x38 - CAnimParamHandle m_FingerCurl_Ring; // 0x3a - CAnimParamHandle m_FingerCurl_Pinky; // 0x3c - CAnimParamHandle m_FingerSplay_Thumb_Index; // 0x3e - CAnimParamHandle m_FingerSplay_Index_Middle; // 0x40 - CAnimParamHandle m_FingerSplay_Middle_Ring; // 0x42 - CAnimParamHandle m_FingerSplay_Ring_Pinky; // 0x44 + CAnimParamHandle m_FingerCurl_Thumb; // 0x34 + CAnimParamHandle m_FingerCurl_Index; // 0x36 + CAnimParamHandle m_FingerCurl_Middle; // 0x38 + CAnimParamHandle m_FingerCurl_Ring; // 0x3a + CAnimParamHandle m_FingerCurl_Pinky; // 0x3c + CAnimParamHandle m_FingerSplay_Thumb_Index; // 0x3e + CAnimParamHandle m_FingerSplay_Index_Middle; // 0x40 + CAnimParamHandle m_FingerSplay_Middle_Ring; // 0x42 + CAnimParamHandle m_FingerSplay_Ring_Pinky; // 0x44 }; // Alignment: 2 // Size: 0x20 class CEmitTagActionUpdater : public CAnimActionUpdater -{ +{ public: - int32_t m_nTagIndex; // 0x18 - bool m_bIsZeroDuration; // 0x1c + int32_t m_nTagIndex; // 0x18 + bool m_bIsZeroDuration; // 0x1c }; // Alignment: 2 // Size: 0x30 class CSetParameterActionUpdater : public CAnimActionUpdater -{ +{ public: - CAnimParamHandle m_hParam; // 0x18 - CAnimVariant m_value; // 0x1a + CAnimParamHandle m_hParam; // 0x18 + CAnimVariant m_value; // 0x1a }; // Alignment: 2 // Size: 0x20 class CToggleComponentActionUpdater : public CAnimActionUpdater -{ +{ public: - AnimComponentID m_componentID; // 0x18 - bool m_bSetEnabled; // 0x1c + AnimComponentID m_componentID; // 0x18 + bool m_bSetEnabled; // 0x1c }; // Alignment: 3 // Size: 0x20 class CExpressionActionUpdater : public CAnimActionUpdater -{ +{ public: - CAnimParamHandle m_hParam; // 0x18 - AnimParamType_t m_eParamType; // 0x1a - AnimScriptHandle m_hScript; // 0x1c + CAnimParamHandle m_hParam; // 0x18 + AnimParamType_t m_eParamType; // 0x1a +private: + [[maybe_unused]] uint8_t __pad001b[0x1]; // 0x1b +public: + AnimScriptHandle m_hScript; // 0x1c }; // Alignment: 5 // Size: 0xb8 class CAnimNodeStateTransition : public CAnimStateTransition -{ +{ public: // MPropertyFriendlyName "Blend Duration" - CFloatAnimValue m_blendDuration; // 0x78 + CFloatAnimValue m_blendDuration; // 0x78 // MPropertyFriendlyName "Reset Destination" - bool m_bReset; // 0x90 + bool m_bReset; // 0x90 +private: + [[maybe_unused]] uint8_t __pad0091[0x3]; // 0x91 +public: // MPropertyFriendlyName "Start Cycle At" - ResetCycleOption m_resetCycleOption; // 0x94 + ResetCycleOption m_resetCycleOption; // 0x94 // MPropertyFriendlyName "Fixed Start Cycle Value" - CFloatAnimValue m_flFixedCycleValue; // 0x98 + CFloatAnimValue m_flFixedCycleValue; // 0x98 // MPropertyHideField - CBlendCurve m_blendCurve; // 0xb0 + CBlendCurve m_blendCurve; // 0xb0 }; // Alignment: 2 // Size: 0x80 class CAnimNodeState : public CAnimState -{ +{ public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x70 + CAnimNodeConnection m_inputConnection; // 0x70 // MPropertyFriendlyName "Exclusive Root Motion" // MPropertySortPriority "0" - bool m_bIsRootMotionExclusive; // 0x78 + bool m_bIsRootMotionExclusive; // 0x78 }; // Alignment: 2 // Size: 0x68 class CStateMachineAnimNode : public CAnimNodeBase -{ +{ public: // MPropertyFriendlyName "Block Tags from Waning States" - bool m_bBlockWaningTags; // 0x60 + bool m_bBlockWaningTags; // 0x60 // MPropertyFriendlyName "Lock State when Waning" - bool m_bLockStateWhenWaning; // 0x61 + bool m_bLockStateWhenWaning; // 0x61 }; // Alignment: 2 // Size: 0x70 -class CRagdollUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CRagdollUpdateNode : public CUnaryUpdateNode +{ public: - int32_t m_nWeightListIndex; // 0x68 - RagdollPoseControl m_poseControlMethod; // 0x6c + int32_t m_nWeightListIndex; // 0x68 + RagdollPoseControl m_poseControlMethod; // 0x6c }; // Alignment: 1 // Size: 0xb8 -class CGroupAnimNode : public CContainerAnimNodeBase, CAnimNodeBase -{ +class CGroupAnimNode : public CContainerAnimNodeBase +{ public: // MPropertyHideField - CAnimNodeManager m_nodeMgr; // 0x70 + CAnimNodeManager m_nodeMgr; // 0x70 }; // Alignment: 0 // Size: 0x60 -class CGroupInputAnimNode : public CProxyAnimNodeBase, CAnimNodeBase -{ +class CGroupInputAnimNode : public CProxyAnimNodeBase +{ public: // no members available }; // Alignment: 0 // Size: 0x58 -class CGroupOutputAnimNode : public CProxyAnimNodeBase, CAnimNodeBase -{ +class CGroupOutputAnimNode : public CProxyAnimNodeBase +{ public: // no members available }; // Alignment: 0 // Size: 0x60 -class CBindPoseUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CBindPoseUpdateNode : public CLeafUpdateNode +{ public: // no members available }; // Alignment: 0 // Size: 0x60 -class CZeroPoseUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CZeroPoseUpdateNode : public CLeafUpdateNode +{ public: // no members available }; @@ -7199,318 +7789,369 @@ public: // Alignment: 0 // Size: 0x60 class CAndCondition : public CConditionBase -{ +{ public: // no members available }; // Alignment: 0 // Size: 0x68 -class CRootUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CRootUpdateNode : public CUnaryUpdateNode +{ public: // no members available }; // Alignment: 6 // Size: 0xa8 -class CSequenceUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CSequenceUpdateNode : public CLeafUpdateNode +{ public: - CParamSpanUpdater m_paramSpans; // 0x60 - CUtlVector< TagSpan_t > m_tags; // 0x78 - HSequence m_hSequence; // 0x94 - float m_playbackSpeed; // 0x98 - float m_duration; // 0x9c - bool m_bLoop; // 0xa0 + CParamSpanUpdater m_paramSpans; // 0x60 + CUtlVector< TagSpan_t > m_tags; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0090[0x4]; // 0x90 +public: + HSequence m_hSequence; // 0x94 + float m_playbackSpeed; // 0x98 + float m_duration; // 0x9c + bool m_bLoop; // 0xa0 }; // Alignment: 11 // Size: 0xd0 class CBlendUpdateNode : public CAnimUpdateNodeBase -{ +{ public: - CUtlVector< CAnimUpdateNodeRef > m_children; // 0x60 - CUtlVector< uint8 > m_sortedOrder; // 0x78 - CUtlVector< float32 > m_targetValues; // 0x90 - AnimValueSource m_blendValueSource; // 0xac - CAnimParamHandle m_paramIndex; // 0xb0 - CAnimInputDamping m_damping; // 0xb8 - BlendKeyType m_blendKeyType; // 0xc8 - bool m_bLockBlendOnReset; // 0xcc - bool m_bSyncCycles; // 0xcd - bool m_bLoop; // 0xce - bool m_bLockWhenWaning; // 0xcf + CUtlVector< CAnimUpdateNodeRef > m_children; // 0x60 + CUtlVector< uint8 > m_sortedOrder; // 0x78 + CUtlVector< float32 > m_targetValues; // 0x90 +private: + [[maybe_unused]] uint8_t __pad00a8[0x4]; // 0xa8 +public: + AnimValueSource m_blendValueSource; // 0xac + CAnimParamHandle m_paramIndex; // 0xb0 +private: + [[maybe_unused]] uint8_t __pad00b2[0x6]; // 0xb2 +public: + CAnimInputDamping m_damping; // 0xb8 + BlendKeyType m_blendKeyType; // 0xc8 + bool m_bLockBlendOnReset; // 0xcc + bool m_bSyncCycles; // 0xcd + bool m_bLoop; // 0xce + bool m_bLockWhenWaning; // 0xcf }; // Alignment: 5 // Size: 0xf8 class CStateMachineUpdateNode : public CAnimUpdateNodeBase -{ +{ public: - CAnimStateMachineUpdater m_stateMachine; // 0x68 - CUtlVector< CStateNodeStateData > m_stateData; // 0xc0 - CUtlVector< CStateNodeTransitionData > m_transitionData; // 0xd8 - bool m_bBlockWaningTags; // 0xf4 - bool m_bLockStateWhenWaning; // 0xf5 + CAnimStateMachineUpdater m_stateMachine; // 0x68 + CUtlVector< CStateNodeStateData > m_stateData; // 0xc0 + CUtlVector< CStateNodeTransitionData > m_transitionData; // 0xd8 +private: + [[maybe_unused]] uint8_t __pad00f0[0x4]; // 0xf0 +public: + bool m_bBlockWaningTags; // 0xf4 + bool m_bLockStateWhenWaning; // 0xf5 }; // Alignment: 10 // Size: 0xb8 class CChoiceUpdateNode : public CAnimUpdateNodeBase -{ +{ public: - CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 - CUtlVector< float32 > m_weights; // 0x70 - CUtlVector< float32 > m_blendTimes; // 0x88 - ChoiceMethod m_choiceMethod; // 0xa0 - ChoiceChangeMethod m_choiceChangeMethod; // 0xa4 - ChoiceBlendMethod m_blendMethod; // 0xa8 - float m_blendTime; // 0xac - bool m_bCrossFade; // 0xb0 - bool m_bResetChosen; // 0xb1 - bool m_bDontResetSameSelection; // 0xb2 + CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 + CUtlVector< float32 > m_weights; // 0x70 + CUtlVector< float32 > m_blendTimes; // 0x88 + ChoiceMethod m_choiceMethod; // 0xa0 + ChoiceChangeMethod m_choiceChangeMethod; // 0xa4 + ChoiceBlendMethod m_blendMethod; // 0xa8 + float m_blendTime; // 0xac + bool m_bCrossFade; // 0xb0 + bool m_bResetChosen; // 0xb1 + bool m_bDontResetSameSelection; // 0xb2 }; // Alignment: 2 // Size: 0x70 -class CCycleControlUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CCycleControlUpdateNode : public CUnaryUpdateNode +{ public: - AnimValueSource m_valueSource; // 0x68 - CAnimParamHandle m_paramIndex; // 0x6c + AnimValueSource m_valueSource; // 0x68 + CAnimParamHandle m_paramIndex; // 0x6c }; // Alignment: 5 // Size: 0x90 -class CCycleControlClipUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CCycleControlClipUpdateNode : public CLeafUpdateNode +{ public: - CUtlVector< TagSpan_t > m_tags; // 0x60 - HSequence m_hSequence; // 0x7c - float m_duration; // 0x80 - AnimValueSource m_valueSource; // 0x84 - CAnimParamHandle m_paramIndex; // 0x88 + CUtlVector< TagSpan_t > m_tags; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0078[0x4]; // 0x78 +public: + HSequence m_hSequence; // 0x7c + float m_duration; // 0x80 + AnimValueSource m_valueSource; // 0x84 + CAnimParamHandle m_paramIndex; // 0x88 }; // Alignment: 4 // Size: 0x98 -class CAddUpdateNode : public CBinaryUpdateNode, CAnimUpdateNodeBase -{ +class CAddUpdateNode : public CBinaryUpdateNode +{ public: - BinaryNodeChildOption m_footMotionTiming; // 0x8c - bool m_bApplyToFootMotion; // 0x90 - bool m_bApplyChannelsSeparately; // 0x91 - bool m_bUseModelSpace; // 0x92 + BinaryNodeChildOption m_footMotionTiming; // 0x8c + bool m_bApplyToFootMotion; // 0x90 + bool m_bApplyChannelsSeparately; // 0x91 + bool m_bUseModelSpace; // 0x92 }; // Alignment: 4 // Size: 0x98 -class CSubtractUpdateNode : public CBinaryUpdateNode, CAnimUpdateNodeBase -{ +class CSubtractUpdateNode : public CBinaryUpdateNode +{ public: - BinaryNodeChildOption m_footMotionTiming; // 0x8c - bool m_bApplyToFootMotion; // 0x90 - bool m_bApplyChannelsSeparately; // 0x91 - bool m_bUseModelSpace; // 0x92 + BinaryNodeChildOption m_footMotionTiming; // 0x8c + bool m_bApplyToFootMotion; // 0x90 + bool m_bApplyChannelsSeparately; // 0x91 + bool m_bUseModelSpace; // 0x92 }; // Alignment: 12 // Size: 0xa0 -class CMoverUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CMoverUpdateNode : public CUnaryUpdateNode +{ public: - CAnimInputDamping m_damping; // 0x70 - AnimValueSource m_facingTarget; // 0x80 - CAnimParamHandle m_hMoveVecParam; // 0x84 - CAnimParamHandle m_hMoveHeadingParam; // 0x86 - CAnimParamHandle m_hTurnToFaceParam; // 0x88 - float m_flTurnToFaceOffset; // 0x8c - float m_flTurnToFaceLimit; // 0x90 - bool m_bAdditive; // 0x94 - bool m_bApplyMovement; // 0x95 - bool m_bOrientMovement; // 0x96 - bool m_bApplyRotation; // 0x97 - bool m_bLimitOnly; // 0x98 + CAnimInputDamping m_damping; // 0x70 + AnimValueSource m_facingTarget; // 0x80 + CAnimParamHandle m_hMoveVecParam; // 0x84 + CAnimParamHandle m_hMoveHeadingParam; // 0x86 + CAnimParamHandle m_hTurnToFaceParam; // 0x88 +private: + [[maybe_unused]] uint8_t __pad008a[0x2]; // 0x8a +public: + float m_flTurnToFaceOffset; // 0x8c + float m_flTurnToFaceLimit; // 0x90 + bool m_bAdditive; // 0x94 + bool m_bApplyMovement; // 0x95 + bool m_bOrientMovement; // 0x96 + bool m_bApplyRotation; // 0x97 + bool m_bLimitOnly; // 0x98 }; // Alignment: 1 // Size: 0x70 -class CSlowDownOnSlopesUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CSlowDownOnSlopesUpdateNode : public CUnaryUpdateNode +{ public: - float m_flSlowDownStrength; // 0x68 + float m_flSlowDownStrength; // 0x68 }; // Alignment: 6 // Size: 0x88 -class CTurnHelperUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CTurnHelperUpdateNode : public CUnaryUpdateNode +{ public: - AnimValueSource m_facingTarget; // 0x6c - float m_turnStartTimeOffset; // 0x70 - float m_turnDuration; // 0x74 - bool m_bMatchChildDuration; // 0x78 - float m_manualTurnOffset; // 0x7c - bool m_bUseManualTurnOffset; // 0x80 + AnimValueSource m_facingTarget; // 0x6c + float m_turnStartTimeOffset; // 0x70 + float m_turnDuration; // 0x74 + bool m_bMatchChildDuration; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0079[0x3]; // 0x79 +public: + float m_manualTurnOffset; // 0x7c + bool m_bUseManualTurnOffset; // 0x80 }; // Alignment: 6 // Size: 0x160 -class CAimMatrixUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CAimMatrixUpdateNode : public CUnaryUpdateNode +{ public: - AimMatrixOpFixedSettings_t m_opFixedSettings; // 0x70 - AnimVectorSource m_target; // 0x148 - CAnimParamHandle m_paramIndex; // 0x14c - HSequence m_hSequence; // 0x150 - bool m_bResetChild; // 0x154 - bool m_bLockWhenWaning; // 0x155 + AimMatrixOpFixedSettings_t m_opFixedSettings; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0140[0x8]; // 0x140 +public: + AnimVectorSource m_target; // 0x148 + CAnimParamHandle m_paramIndex; // 0x14c +private: + [[maybe_unused]] uint8_t __pad014e[0x2]; // 0x14e +public: + HSequence m_hSequence; // 0x150 + bool m_bResetChild; // 0x154 + bool m_bLockWhenWaning; // 0x155 }; // Alignment: 1 // Size: 0x70 -class CSpeedScaleUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CSpeedScaleUpdateNode : public CUnaryUpdateNode +{ public: - CAnimParamHandle m_paramIndex; // 0x68 + CAnimParamHandle m_paramIndex; // 0x68 }; // Alignment: 8 // Size: 0xa8 -class CDirectionalBlendUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CDirectionalBlendUpdateNode : public CLeafUpdateNode +{ public: - HSequence[8] m_hSequences; // 0x5c - CAnimInputDamping m_damping; // 0x80 - AnimValueSource m_blendValueSource; // 0x90 - CAnimParamHandle m_paramIndex; // 0x94 - float m_playbackSpeed; // 0x98 - float m_duration; // 0x9c - bool m_bLoop; // 0xa0 - bool m_bLockBlendOnReset; // 0xa1 + HSequence m_hSequences[8]; // 0x5c +private: + [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c +public: + CAnimInputDamping m_damping; // 0x80 + AnimValueSource m_blendValueSource; // 0x90 + CAnimParamHandle m_paramIndex; // 0x94 +private: + [[maybe_unused]] uint8_t __pad0096[0x2]; // 0x96 +public: + float m_playbackSpeed; // 0x98 + float m_duration; // 0x9c + bool m_bLoop; // 0xa0 + bool m_bLockBlendOnReset; // 0xa1 }; // Alignment: 5 // Size: 0x78 -class CWayPointHelperUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CWayPointHelperUpdateNode : public CUnaryUpdateNode +{ public: - float m_flStartCycle; // 0x6c - float m_flEndCycle; // 0x70 - bool m_bOnlyGoals; // 0x74 - bool m_bPreventOvershoot; // 0x75 - bool m_bPreventUndershoot; // 0x76 + float m_flStartCycle; // 0x6c + float m_flEndCycle; // 0x70 + bool m_bOnlyGoals; // 0x74 + bool m_bPreventOvershoot; // 0x75 + bool m_bPreventUndershoot; // 0x76 }; // Alignment: 7 // Size: 0xa8 -class CBoneMaskUpdateNode : public CBinaryUpdateNode, CAnimUpdateNodeBase -{ +class CBoneMaskUpdateNode : public CBinaryUpdateNode +{ public: - int32_t m_nWeightListIndex; // 0x8c - float m_flRootMotionBlend; // 0x90 - BoneMaskBlendSpace m_blendSpace; // 0x94 - BinaryNodeChildOption m_footMotionTiming; // 0x98 - bool m_bUseBlendScale; // 0x9c - AnimValueSource m_blendValueSource; // 0xa0 - CAnimParamHandle m_hBlendParameter; // 0xa4 + int32_t m_nWeightListIndex; // 0x8c + float m_flRootMotionBlend; // 0x90 + BoneMaskBlendSpace m_blendSpace; // 0x94 + BinaryNodeChildOption m_footMotionTiming; // 0x98 + bool m_bUseBlendScale; // 0x9c +private: + [[maybe_unused]] uint8_t __pad009d[0x3]; // 0x9d +public: + AnimValueSource m_blendValueSource; // 0xa0 + CAnimParamHandle m_hBlendParameter; // 0xa4 }; // Alignment: 0 // Size: 0x70 -class CChoreoUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CChoreoUpdateNode : public CUnaryUpdateNode +{ public: // no members available }; // Alignment: 3 // Size: 0x88 -class CDirectPlaybackUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CDirectPlaybackUpdateNode : public CUnaryUpdateNode +{ public: - bool m_bFinishEarly; // 0x6c - bool m_bResetOnFinish; // 0x6d - CUtlVector< CDirectPlaybackTagData > m_allTags; // 0x70 + bool m_bFinishEarly; // 0x6c + bool m_bResetOnFinish; // 0x6d +private: + [[maybe_unused]] uint8_t __pad006e[0x2]; // 0x6e +public: + CUtlVector< CDirectPlaybackTagData > m_allTags; // 0x70 }; // Alignment: 10 // Size: 0xe8 -class CLeanMatrixUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CLeanMatrixUpdateNode : public CLeafUpdateNode +{ public: - int32[3][3] m_frameCorners; // 0x5c - CPoseHandle[9] m_poses; // 0x80 - CAnimInputDamping m_damping; // 0xa8 - AnimVectorSource m_blendSource; // 0xb8 - CAnimParamHandle m_paramIndex; // 0xbc - Vector m_verticalAxis; // 0xc0 - Vector m_horizontalAxis; // 0xcc - HSequence m_hSequence; // 0xd8 - float m_flMaxValue; // 0xdc - int32_t m_nSequenceMaxFrame; // 0xe0 + int32_t m_frameCorners[3][3]; // 0x5c + CPoseHandle m_poses[9]; // 0x80 +private: + [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 +public: + CAnimInputDamping m_damping; // 0xa8 + AnimVectorSource m_blendSource; // 0xb8 + CAnimParamHandle m_paramIndex; // 0xbc +private: + [[maybe_unused]] uint8_t __pad00be[0x2]; // 0xbe +public: + Vector m_verticalAxis; // 0xc0 + Vector m_horizontalAxis; // 0xcc + HSequence m_hSequence; // 0xd8 + float m_flMaxValue; // 0xdc + int32_t m_nSequenceMaxFrame; // 0xe0 }; // Alignment: 1 // Size: 0x1e0 -class CTwoBoneIKUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CTwoBoneIKUpdateNode : public CUnaryUpdateNode +{ public: - TwoBoneIKSettings_t m_opFixedData; // 0x70 + TwoBoneIKSettings_t m_opFixedData; // 0x70 }; // Alignment: 2 // Size: 0xa0 -class CSolveIKChainUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CSolveIKChainUpdateNode : public CUnaryUpdateNode +{ public: - CUtlVector< CAnimParamHandle > m_targetHandles; // 0x68 - SolveIKChainPoseOpFixedSettings_t m_opFixedData; // 0x80 + CUtlVector< CAnimParamHandle > m_targetHandles; // 0x68 + SolveIKChainPoseOpFixedSettings_t m_opFixedData; // 0x80 }; // Alignment: 6 // Size: 0x150 -class CLookAtUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CLookAtUpdateNode : public CUnaryUpdateNode +{ public: - LookAtOpFixedSettings_t m_opFixedSettings; // 0x70 - AnimVectorSource m_target; // 0x138 - CAnimParamHandle m_paramIndex; // 0x13c - CAnimParamHandle m_weightParamIndex; // 0x13e - bool m_bResetChild; // 0x140 - bool m_bLockWhenWaning; // 0x141 + LookAtOpFixedSettings_t m_opFixedSettings; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0130[0x8]; // 0x130 +public: + AnimVectorSource m_target; // 0x138 + CAnimParamHandle m_paramIndex; // 0x13c + CAnimParamHandle m_weightParamIndex; // 0x13e + bool m_bResetChild; // 0x140 + bool m_bLockWhenWaning; // 0x141 }; // Alignment: 2 // Size: 0x70 -class CPathHelperUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CPathHelperUpdateNode : public CUnaryUpdateNode +{ public: - float m_flStoppingRadius; // 0x68 - float m_flStoppingSpeedScale; // 0x6c + float m_flStoppingRadius; // 0x68 + float m_flStoppingSpeedScale; // 0x6c }; // Alignment: 1 // Size: 0x110 -class CFollowAttachmentUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ +class CFollowAttachmentUpdateNode : public CUnaryUpdateNode +{ public: - FollowAttachmentSettings_t m_opFixedData; // 0x70 + FollowAttachmentSettings_t m_opFixedData; // 0x70 }; // Alignment: 8 // Size: 0xd0 -class CJumpHelperUpdateNode : public CSequenceUpdateNode, CLeafUpdateNode, CAnimUpdateNodeBase -{ +class CJumpHelperUpdateNode : public CSequenceUpdateNode +{ public: - CAnimParamHandle m_hTargetParam; // 0xa8 - Vector m_flOriginalJumpMovement; // 0xac - float m_flOriginalJumpDuration; // 0xb8 - float m_flJumpStartCycle; // 0xbc - float m_flJumpEndCycle; // 0xc0 - JumpCorrectionMethod m_eCorrectionMethod; // 0xc4 - bool[3] m_bTranslationAxis; // 0xc8 - bool m_bScaleSpeed; // 0xcb + CAnimParamHandle m_hTargetParam; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00aa[0x2]; // 0xaa +public: + Vector m_flOriginalJumpMovement; // 0xac + float m_flOriginalJumpDuration; // 0xb8 + float m_flJumpStartCycle; // 0xbc + float m_flJumpEndCycle; // 0xc0 + JumpCorrectionMethod m_eCorrectionMethod; // 0xc4 + bool m_bTranslationAxis[3]; // 0xc8 + bool m_bScaleSpeed; // 0xcb }; diff --git a/sdk/client.hpp b/sdk/client.hpp index 3bf074b2..dc17742c 100644 --- a/sdk/client.hpp +++ b/sdk/client.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: client.dll // Classes count: 402 // Enums count: 8 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x5 enum class C_BaseCombatCharacter__WaterWakeMode_t : uint32_t -{ +{ WATER_WAKE_NONE = 0x0, WATER_WAKE_IDLE = 0x1, WATER_WAKE_WALKING = 0x2, @@ -22,7 +23,7 @@ enum class C_BaseCombatCharacter__WaterWakeMode_t : uint32_t // Alignment: 4 // Size: 0x6 enum class CompositeMaterialMatchFilterType_t : uint32_t -{ +{ MATCH_FILTER_MATERIAL_ATTRIBUTE_EXISTS = 0x0, MATCH_FILTER_MATERIAL_SHADER = 0x1, MATCH_FILTER_MATERIAL_NAME_SUBSTR = 0x2, @@ -34,7 +35,7 @@ enum class CompositeMaterialMatchFilterType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class CompositeMaterialVarSystemVar_t : uint32_t -{ +{ COMPMATSYSVAR_COMPOSITETIME = 0x0, COMPMATSYSVAR_EMPTY_RESOURCE_SPACER = 0x1, }; @@ -42,7 +43,7 @@ enum class CompositeMaterialVarSystemVar_t : uint32_t // Alignment: 4 // Size: 0xe enum class CompositeMaterialInputLooseVariableType_t : uint32_t -{ +{ LOOSE_VARIABLE_TYPE_BOOLEAN = 0x0, LOOSE_VARIABLE_TYPE_INTEGER1 = 0x1, LOOSE_VARIABLE_TYPE_INTEGER2 = 0x2, @@ -62,7 +63,7 @@ enum class CompositeMaterialInputLooseVariableType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class CompositeMaterialInputTextureType_t : uint32_t -{ +{ INPUT_TEXTURE_TYPE_DEFAULT = 0x0, INPUT_TEXTURE_TYPE_NORMALMAP = 0x1, }; @@ -70,7 +71,7 @@ enum class CompositeMaterialInputTextureType_t : uint32_t // Alignment: 4 // Size: 0xa enum class CompMatPropertyMutatorType_t : uint32_t -{ +{ COMP_MAT_PROPERTY_MUTATOR_INIT = 0x0, COMP_MAT_PROPERTY_MUTATOR_COPY_MATCHING_KEYS = 0x1, COMP_MAT_PROPERTY_MUTATOR_COPY_KEYS_WITH_SUFFIX = 0x2, @@ -86,7 +87,7 @@ enum class CompMatPropertyMutatorType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class CompMatPropertyMutatorConditionType_t : uint32_t -{ +{ COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_EXISTS = 0x0, COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_VALUE_EXISTS = 0x1, COMP_MAT_MUTATOR_CONDITION_INPUT_CONTAINER_VALUE_EQUALS = 0x2, @@ -95,7 +96,7 @@ enum class CompMatPropertyMutatorConditionType_t : uint32_t // Alignment: 4 // Size: 0x6 enum class CompositeMaterialInputContainerSourceType_t : uint32_t -{ +{ CONTAINER_SOURCE_TYPE_TARGET_MATERIAL = 0x0, CONTAINER_SOURCE_TYPE_MATERIAL_FROM_TARGET_ATTR = 0x1, CONTAINER_SOURCE_TYPE_SPECIFIC_MATERIAL = 0x2, @@ -104,419 +105,666 @@ enum class CompositeMaterialInputContainerSourceType_t : uint32_t CONTAINER_SOURCE_TYPE_TARGET_INSTANCE_MATERIAL = 0x5, }; +struct ChangeAccessorFieldPathIndex_t; +struct CEntityIdentity; +struct CScriptComponent; +struct CGameSceneNode; +struct CNetworkVarChainer; +struct CSkeletonInstance; +struct GameTime_t; +struct GameTick_t; +struct C_fogplayerparams_t; +struct audioparams_t; +struct fogparams_t; +struct CInButtonState; +struct CBaseAnimGraphController; +struct ModelConfigHandle_t; +struct CEntityInstance; +struct CGameSceneNodeHandle; +struct CNetworkOriginCellCoordQuantizedVector; +struct HSequence; +struct CModelState; +struct CBodyComponent; +struct CNetworkTransmitComponent; +struct CRenderComponent; +struct CCollisionProperty; +struct CNetworkVelocityVector; +struct CParticleProperty; +struct C_EnvWindShared; +struct TimedEvent; +struct CFireOverlay; +struct C_RopeKeyframe; +struct sky3dparams_t; +struct C_SkyCamera; +struct VPhysicsCollisionAttribute_t; +struct CDecalInfo; +struct AttachmentHandle_t; +struct CAttributeManager; +struct C_EconItemView; +struct C_CSGameRules; +struct C_SurvivalGameRules; +struct C_RetakeGameRules; +struct CSMatchStats_t; +struct CompositeMaterialInputLooseVariable_t; +struct C_InfoMapRegion; +struct CEntityIOOutput; +struct C_PointCamera; +struct C_CommandContext; +struct CSkillFloat; +struct AmmoIndex_t; +struct CNetworkedSequenceOperation; +struct CAnimGraphNetworkedVariables; +struct AnimationUpdateListHandle_t; +struct CHitboxComponent; +struct CGlowProperty; +struct CNetworkViewOffsetVector; +struct CClientAlphaProperty; +struct C_LightGlowOverlay; +struct C_FireSmoke; +struct ParticleIndex_t; +struct C_RopeKeyframe::CPhysicsDelegate; +struct CBuoyancyHelper; +struct CPointOffScreenIndicatorUi; +struct C_PointClientUIWorldPanel; +struct CAttributeList; +struct CCSPlayerController_InGameMoneyServices; +struct CCSPlayerController_InventoryServices; +struct CCSPlayerController_ActionTrackingServices; +struct CCSPlayerController_DamageServices; +struct CFiringModeFloat; +struct CFiringModeInt; +struct CPlayerSprayDecalRenderHelper; +struct CLightComponent; +struct PhysicsRagdollPose_t; +struct CBaseAnimGraph; +struct CountdownTimer; +struct shard_model_desc_t; +struct C_AttributeContainer; +struct EntitySpottedState_t; +struct CPlayer_WeaponServices; +struct CPlayer_ItemServices; +struct CPlayer_AutoaimServices; +struct CPlayer_ObserverServices; +struct CPlayer_WaterServices; +struct CPlayer_UseServices; +struct CPlayer_FlashlightServices; +struct CPlayer_CameraServices; +struct CPlayer_MovementServices; +struct C_IronSightController; +struct CCSPlayer_ActionTrackingServices; +struct CCSPlayer_PingServices; +struct CCSPlayer_ViewModelServices; +struct C_WeaponCSBase; +struct CCSPlayer_BulletServices; +struct CCSPlayer_HostageServices; +struct CCSPlayer_GlowServices; + // Alignment: 11 // Size: 0x78 -class CEntityIdentity : public -{ +class CEntityIdentity +{ public: // MNetworkEnable // MNetworkChangeCallback "entityIdentityNameChanged" - int32_t m_nameStringableIndex; // 0x14 - CUtlSymbolLarge m_name; // 0x18 - CUtlSymbolLarge m_designerName; // 0x20 - uint32_t m_flags; // 0x30 + int32_t m_nameStringableIndex; // 0x14 + CUtlSymbolLarge m_name; // 0x18 + CUtlSymbolLarge m_designerName; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 +public: + uint32_t m_flags; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: // MNetworkDisable - WorldGroupId_t m_worldGroupId; // 0x38 - uint32_t m_fDataObjectTypes; // 0x3c + WorldGroupId_t m_worldGroupId; // 0x38 + uint32_t m_fDataObjectTypes; // 0x3c // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x40 - CEntityIdentity* m_pPrev; // 0x58 - CEntityIdentity* m_pNext; // 0x60 - CEntityIdentity* m_pPrevByClass; // 0x68 - CEntityIdentity* m_pNextByClass; // 0x70 + ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0042[0x16]; // 0x42 +public: + CEntityIdentity* m_pPrev; // 0x58 + CEntityIdentity* m_pNext; // 0x60 + CEntityIdentity* m_pPrevByClass; // 0x68 + CEntityIdentity* m_pNextByClass; // 0x70 }; // Alignment: 3 // Size: 0x30 class CEntityInstance : public IHandleEntity -{ +{ public: // MNetworkDisable - CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 + CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 // MNetworkEnable // MNetworkPriority "56" - CEntityIdentity* m_pEntity; // 0x10 + CEntityIdentity* m_pEntity; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0018[0x10]; // 0x18 +public: // MNetworkEnable // MNetworkDisable - CScriptComponent* m_CScriptComponent; // 0x28 + CScriptComponent* m_CScriptComponent; // 0x28 }; // Alignment: 1 // Size: 0x38 class CScriptComponent : public CEntityComponent -{ +{ public: - CUtlSymbolLarge m_scriptClassName; // 0x30 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[1]->m_instance);}; + CUtlSymbolLarge m_scriptClassName; // 0x30 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 2 // Size: 0x50 class CBodyComponent : public CEntityComponent -{ +{ public: // MNetworkDisable - CGameSceneNode* m_pSceneNode; // 0x8 + CGameSceneNode* m_pSceneNode; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0010[0x10]; // 0x10 +public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x20 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[1]->m_instance);}; + CNetworkVarChainer __m_pChainEntity; // 0x20 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 2 -// Size: 0x1d0 -class CBodyComponentPoint : public CBodyComponent, CEntityComponent -{ +// Size: 0x10 +class CGameSceneNodeHandle +{ public: // MNetworkEnable - CGameSceneNode m_sceneNode; // 0x50 - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x1a0 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[1]->m_instance);}; + CEntityHandle m_hOwner; // 0x8 + // MNetworkEnable + CUtlStringToken m_name; // 0xc }; -// Alignment: 2 -// Size: 0x470 -class CBodyComponentSkeletonInstance : public CBodyComponent, CEntityComponent -{ +// Alignment: 33 +// Size: 0x150 +class CGameSceneNode +{ +public: + // MNetworkDisable + CTransform m_nodeToWorld; // 0x10 + // MNetworkDisable + CEntityInstance* m_pOwner; // 0x30 + // MNetworkDisable + CGameSceneNode* m_pParent; // 0x38 + // MNetworkDisable + CGameSceneNode* m_pChild; // 0x40 + // MNetworkDisable + CGameSceneNode* m_pNextSibling; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0050[0x20]; // 0x50 public: // MNetworkEnable - CSkeletonInstance m_skeletonInstance; // 0x50 + // MNetworkSerializer "gameSceneNode" + // MNetworkChangeCallback "gameSceneNodeHierarchyParentChanged" + // MNetworkPriority "32" + // MNetworkVarEmbeddedFieldOffsetDelta "8" + CGameSceneNodeHandle m_hParent; // 0x70 + // MNetworkEnable + // MNetworkPriority "32" + // MNetworkUserGroup "Origin" + // MNetworkChangeCallback "gameSceneNodeLocalOriginChanged" + CNetworkOriginCellCoordQuantizedVector m_vecOrigin; // 0x80 +private: + [[maybe_unused]] uint8_t __pad00b0[0x8]; // 0xb0 +public: + // MNetworkEnable + // MNetworkPriority "32" + // MNetworkSerializer "gameSceneNodeStepSimulationAnglesSerializer" + // MNetworkChangeCallback "gameSceneNodeLocalAnglesChanged" + QAngle m_angRotation; // 0xb8 + // MNetworkEnable + // MNetworkChangeCallback "gameSceneNodeLocalScaleChanged" + // MNetworkPriority "32" + float m_flScale; // 0xc4 // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x440 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[1]->m_instance);}; + Vector m_vecAbsOrigin; // 0xc8 + // MNetworkDisable + QAngle m_angAbsRotation; // 0xd4 + // MNetworkDisable + float m_flAbsScale; // 0xe0 + // MNetworkDisable + int16_t m_nParentAttachmentOrBone; // 0xe4 + // MNetworkDisable + bool m_bDebugAbsOriginChanges; // 0xe6 + // MNetworkDisable + bool m_bDormant; // 0xe7 + // MNetworkDisable + bool m_bForceParentToBeNetworked; // 0xe8 + struct + { + // MNetworkDisable + uint8_t m_bDirtyHierarchy: 1; + // MNetworkDisable + uint8_t m_bDirtyBoneMergeInfo: 1; + // MNetworkDisable + uint8_t m_bNetworkedPositionChanged: 1; + // MNetworkDisable + uint8_t m_bNetworkedAnglesChanged: 1; + // MNetworkDisable + uint8_t m_bNetworkedScaleChanged: 1; + // MNetworkDisable + uint8_t m_bWillBeCallingPostDataUpdate: 1; + // MNetworkDisable + uint8_t m_bNotifyBoneTransformsChanged: 1; + // MNetworkDisable + uint8_t m_bBoneMergeFlex: 1; + // MNetworkDisable + uint8_t m_nLatchAbsOrigin: 2; + // MNetworkDisable + uint8_t m_bDirtyBoneMergeBoneToRoot: 1; + uint16_t __pad0: 13; + }; // 24 bits + // MNetworkDisable + uint8_t m_nHierarchicalDepth; // 0xeb + // MNetworkDisable + uint8_t m_nHierarchyType; // 0xec + // MNetworkDisable + uint8_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount; // 0xed +private: + [[maybe_unused]] uint8_t __pad00ee[0x2]; // 0xee +public: + // MNetworkEnable + CUtlStringToken m_name; // 0xf0 +private: + [[maybe_unused]] uint8_t __pad00f4[0x3c]; // 0xf4 +public: + // MNetworkEnable + // MNetworkChangeCallback "gameSceneNodeHierarchyAttachmentChanged" + CUtlStringToken m_hierarchyAttachName; // 0x130 + // MNetworkDisable + float m_flZOffset; // 0x134 + // MNetworkDisable + Vector m_vRenderOrigin; // 0x138 }; // Alignment: 1 // Size: 0x28 class CHitboxComponent : public CEntityComponent -{ +{ public: // MNetworkEnable - uint32[1] m_bvDisabledHitGroups; // 0x24 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_referenced_but_impl_is_contained(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[1]->m_instance);}; + uint32_t m_bvDisabledHitGroups[1]; // 0x24 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_referenced_but_impl_is_contained(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 67 // Size: 0x1c8 class CLightComponent : public CEntityComponent -{ +{ public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x48 + CNetworkVarChainer __m_pChainEntity; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0070[0x15]; // 0x70 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - Color m_Color; // 0x85 + Color m_Color; // 0x85 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - Color m_SecondaryColor; // 0x89 + Color m_SecondaryColor; // 0x89 +private: + [[maybe_unused]] uint8_t __pad008d[0x3]; // 0x8d +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flBrightness; // 0x90 + float m_flBrightness; // 0x90 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flBrightnessScale; // 0x94 + float m_flBrightnessScale; // 0x94 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flBrightnessMult; // 0x98 + float m_flBrightnessMult; // 0x98 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flRange; // 0x9c + float m_flRange; // 0x9c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFalloff; // 0xa0 + float m_flFalloff; // 0xa0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flAttenuation0; // 0xa4 + float m_flAttenuation0; // 0xa4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flAttenuation1; // 0xa8 + float m_flAttenuation1; // 0xa8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flAttenuation2; // 0xac + float m_flAttenuation2; // 0xac // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flTheta; // 0xb0 + float m_flTheta; // 0xb0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flPhi; // 0xb4 + float m_flPhi; // 0xb4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0xb8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0xb8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nCascades; // 0xc0 + int32_t m_nCascades; // 0xc0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nCastShadows; // 0xc4 + int32_t m_nCastShadows; // 0xc4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowWidth; // 0xc8 + int32_t m_nShadowWidth; // 0xc8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowHeight; // 0xcc + int32_t m_nShadowHeight; // 0xcc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderDiffuse; // 0xd0 + bool m_bRenderDiffuse; // 0xd0 +private: + [[maybe_unused]] uint8_t __pad00d1[0x3]; // 0xd1 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nRenderSpecular; // 0xd4 + int32_t m_nRenderSpecular; // 0xd4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderTransmissive; // 0xd8 + bool m_bRenderTransmissive; // 0xd8 +private: + [[maybe_unused]] uint8_t __pad00d9[0x3]; // 0xd9 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flOrthoLightWidth; // 0xdc + float m_flOrthoLightWidth; // 0xdc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flOrthoLightHeight; // 0xe0 + float m_flOrthoLightHeight; // 0xe0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nStyle; // 0xe4 + int32_t m_nStyle; // 0xe4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - CUtlString m_Pattern; // 0xe8 + CUtlString m_Pattern; // 0xe8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nCascadeRenderStaticObjects; // 0xf0 + int32_t m_nCascadeRenderStaticObjects; // 0xf0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeCrossFade; // 0xf4 + float m_flShadowCascadeCrossFade; // 0xf4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistanceFade; // 0xf8 + float m_flShadowCascadeDistanceFade; // 0xf8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance0; // 0xfc + float m_flShadowCascadeDistance0; // 0xfc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance1; // 0x100 + float m_flShadowCascadeDistance1; // 0x100 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance2; // 0x104 + float m_flShadowCascadeDistance2; // 0x104 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance3; // 0x108 + float m_flShadowCascadeDistance3; // 0x108 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution0; // 0x10c + int32_t m_nShadowCascadeResolution0; // 0x10c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution1; // 0x110 + int32_t m_nShadowCascadeResolution1; // 0x110 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution2; // 0x114 + int32_t m_nShadowCascadeResolution2; // 0x114 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution3; // 0x118 + int32_t m_nShadowCascadeResolution3; // 0x118 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bUsesBakedShadowing; // 0x11c + bool m_bUsesBakedShadowing; // 0x11c +private: + [[maybe_unused]] uint8_t __pad011d[0x3]; // 0x11d +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowPriority; // 0x120 + int32_t m_nShadowPriority; // 0x120 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nBakedShadowIndex; // 0x124 + int32_t m_nBakedShadowIndex; // 0x124 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderToCubemaps; // 0x128 + bool m_bRenderToCubemaps; // 0x128 +private: + [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - CUtlSymbolLarge m_LightGroups; // 0x130 + CUtlSymbolLarge m_LightGroups; // 0x130 // MNetworkEnable - int32_t m_nDirectLight; // 0x138 + int32_t m_nDirectLight; // 0x138 // MNetworkEnable - int32_t m_nIndirectLight; // 0x13c + int32_t m_nIndirectLight; // 0x13c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFadeMinDist; // 0x140 + float m_flFadeMinDist; // 0x140 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFadeMaxDist; // 0x144 + float m_flFadeMaxDist; // 0x144 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowFadeMinDist; // 0x148 + float m_flShadowFadeMinDist; // 0x148 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowFadeMaxDist; // 0x14c + float m_flShadowFadeMaxDist; // 0x14c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bEnabled; // 0x150 + bool m_bEnabled; // 0x150 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bFlicker; // 0x151 + bool m_bFlicker; // 0x151 // MNetworkEnable - bool m_bPrecomputedFieldsValid; // 0x152 + bool m_bPrecomputedFieldsValid; // 0x152 +private: + [[maybe_unused]] uint8_t __pad0153[0x1]; // 0x153 +public: // MNetworkEnable - Vector m_vPrecomputedBoundsMins; // 0x154 + Vector m_vPrecomputedBoundsMins; // 0x154 // MNetworkEnable - Vector m_vPrecomputedBoundsMaxs; // 0x160 + Vector m_vPrecomputedBoundsMaxs; // 0x160 // MNetworkEnable - Vector m_vPrecomputedOBBOrigin; // 0x16c + Vector m_vPrecomputedOBBOrigin; // 0x16c // MNetworkEnable - QAngle m_vPrecomputedOBBAngles; // 0x178 + QAngle m_vPrecomputedOBBAngles; // 0x178 // MNetworkEnable - Vector m_vPrecomputedOBBExtent; // 0x184 + Vector m_vPrecomputedOBBExtent; // 0x184 // MNetworkEnable - float m_flPrecomputedMaxRange; // 0x190 + float m_flPrecomputedMaxRange; // 0x190 // MNetworkEnable - int32_t m_nFogLightingMode; // 0x194 + int32_t m_nFogLightingMode; // 0x194 // MNetworkEnable - float m_flFogContributionStength; // 0x198 + float m_flFogContributionStength; // 0x198 // MNetworkEnable - float m_flNearClipPlane; // 0x19c + float m_flNearClipPlane; // 0x19c // MNetworkEnable - Color m_SkyColor; // 0x1a0 + Color m_SkyColor; // 0x1a0 // MNetworkEnable - float m_flSkyIntensity; // 0x1a4 + float m_flSkyIntensity; // 0x1a4 // MNetworkEnable - Color m_SkyAmbientBounce; // 0x1a8 + Color m_SkyAmbientBounce; // 0x1a8 // MNetworkEnable - bool m_bUseSecondaryColor; // 0x1ac + bool m_bUseSecondaryColor; // 0x1ac // MNetworkEnable // MNetworkChangeCallback "MixedShadowsChanged" - bool m_bMixedShadows; // 0x1ad + bool m_bMixedShadows; // 0x1ad +private: + [[maybe_unused]] uint8_t __pad01ae[0x2]; // 0x1ae +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - GameTime_t m_flLightStyleStartTime; // 0x1b0 + GameTime_t m_flLightStyleStartTime; // 0x1b0 // MNetworkEnable - float m_flCapsuleLength; // 0x1b4 + float m_flCapsuleLength; // 0x1b4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flMinRoughness; // 0x1b8 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[1]->m_instance);}; + float m_flMinRoughness; // 0x1b8 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 5 // Size: 0xd8 class CRenderComponent : public CEntityComponent -{ +{ public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x10 - bool m_bIsRenderingWithViewModels; // 0x50 - uint32_t m_nSplitscreenFlags; // 0x54 - bool m_bEnableRendering; // 0x60 - bool m_bInterpolationReadyToDraw; // 0xb0 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[1]->m_instance);}; + CNetworkVarChainer __m_pChainEntity; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 +public: + bool m_bIsRenderingWithViewModels; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + uint32_t m_nSplitscreenFlags; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0058[0x8]; // 0x58 +public: + bool m_bEnableRendering; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0061[0x4f]; // 0x61 +public: + bool m_bInterpolationReadyToDraw; // 0xb0 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 1 // Size: 0x20 -class CBuoyancyHelper : public -{ +class CBuoyancyHelper +{ public: - float m_flFluidDensity; // 0x18 + float m_flFluidDensity; // 0x18 }; // Alignment: 2 // Size: 0x80 -class C_CommandContext : public -{ +class C_CommandContext +{ public: - bool needsprocessing; // 0x0 - int32_t command_number; // 0x78 + bool needsprocessing; // 0x0 + int32_t command_number; // 0x78 }; // Alignment: 0 // Size: 0x40 class CPlayer_AutoaimServices : public CPlayerPawnComponent -{ +{ public: // no members available }; // Alignment: 5 // Size: 0x78 -struct audioparams_t : public -{ +struct audioparams_t +{ public: // MNetworkEnable // MNetworkEncoder - Vector[8] localSound; // 0x8 + Vector localSound[8]; // 0x8 // MNetworkEnable - int32_t soundscapeIndex; // 0x68 + int32_t soundscapeIndex; // 0x68 // MNetworkEnable - uint8_t localBits; // 0x6c - // MNetworkEnable - int32_t soundscapeEntityListIndex; // 0x70 - // MNetworkEnable - uint32_t soundEventHash; // 0x74 -}; - -// Alignment: 26 -// Size: 0x248 -class CPlayer_CameraServices : public CPlayerPawnComponent -{ + uint8_t localBits; // 0x6c +private: + [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d public: // MNetworkEnable - uint32_t m_iFOV; // 0x40 + int32_t soundscapeEntityListIndex; // 0x70 // MNetworkEnable - uint32_t m_iFOVStart; // 0x44 + uint32_t soundEventHash; // 0x74 +}; + +// Alignment: 25 +// Size: 0x68 +struct fogparams_t +{ +public: // MNetworkEnable - GameTime_t m_flFOVTime; // 0x48 + // MNetworkEncoder + Vector dirPrimary; // 0x8 // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - float m_flFOVRate; // 0x4c + Color colorPrimary; // 0x14 // MNetworkEnable - // MNetworkPriority "32" - // MNetworkBitCount "32" - // MNetworkChangeCallback "OnPunchChanged" - QAngle m_vecPunchAngle; // 0x50 + Color colorSecondary; // 0x18 // MNetworkEnable - // MNetworkBitCount "32" - QAngle m_vecPunchAngleVel; // 0x68 - GameTick_t m_nPunchAngleJoltTickClientSide; // 0x80 + // MNetworkUserGroup "FogController" + Color colorPrimaryLerpTo; // 0x1c // MNetworkEnable - // MNetworkChangeCallback "OnPunchJoltChanged" - GameTick_t m_nPunchAngleJoltTick; // 0x84 + // MNetworkUserGroup "FogController" + Color colorSecondaryLerpTo; // 0x20 // MNetworkEnable - CHandle< C_BaseEntity > m_hZoomOwner; // 0x88 + float start; // 0x24 // MNetworkEnable - C_fogplayerparams_t m_PlayerFog; // 0x90 + float end; // 0x28 // MNetworkEnable - CHandle< C_ColorCorrection > m_hColorCorrectionCtrl; // 0xd0 + // MNetworkUserGroup "FogController" + float farz; // 0x2c // MNetworkEnable - CHandle< C_BaseEntity > m_hViewEntity; // 0xd4 + float maxdensity; // 0x30 // MNetworkEnable - // MNetworkUserGroup "LocalPlayerAndObserversExclusive" - CHandle< C_TonemapController2 > m_hTonemapController; // 0xd8 + float exponent; // 0x34 // MNetworkEnable - // MNetworkUserGroup "LocalPlayerAndObserversExclusive" - audioparams_t m_audio; // 0xe0 + float HDRColorScale; // 0x38 // MNetworkEnable - // MNetworkUserGroup "LocalPlayerAndObserversExclusive" - C_NetworkUtlVectorBase< CHandle< C_PostProcessingVolume > > m_PostProcessingVolumes; // 0x158 - float m_flOldPlayerZ; // 0x170 - float m_flOldPlayerViewOffsetZ; // 0x174 - fogparams_t m_CurrentFog; // 0x178 - CHandle< C_FogController > m_hOldFogController; // 0x1e0 - bool[5] m_bOverrideFogColor; // 0x1e4 - Color[5] m_OverrideFogColor; // 0x1e9 - bool[5] m_bOverrideFogStartEnd; // 0x1fd - float32[5] m_fOverrideFogStart; // 0x204 - float32[5] m_fOverrideFogEnd; // 0x218 - CHandle< C_PostProcessingVolume > m_hActivePostProcessingVolume; // 0x22c - QAngle m_angDemoViewAngles; // 0x230 + // MNetworkUserGroup "FogController" + float skyboxFogFactor; // 0x3c + // MNetworkEnable + // MNetworkUserGroup "FogController" + float skyboxFogFactorLerpTo; // 0x40 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float startLerpTo; // 0x44 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float endLerpTo; // 0x48 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float maxdensityLerpTo; // 0x4c + // MNetworkEnable + // MNetworkUserGroup "FogController" + GameTime_t lerptime; // 0x50 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float duration; // 0x54 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float blendtobackground; // 0x58 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float scattering; // 0x5c + // MNetworkEnable + // MNetworkUserGroup "FogController" + float locallightscale; // 0x60 + // MNetworkEnable + bool enable; // 0x64 + // MNetworkEnable + bool blend; // 0x65 + // MNetworkEnable + bool m_bNoReflectionFog; // 0x66 + bool m_bPadding; // 0x67 }; // Alignment: 0 // Size: 0x40 class CPlayer_FlashlightServices : public CPlayerPawnComponent -{ +{ public: // no members available }; @@ -524,7 +772,7 @@ public: // Alignment: 0 // Size: 0x40 class CPlayer_ItemServices : public CPlayerPawnComponent -{ +{ public: // no members available }; @@ -532,89 +780,110 @@ public: // Alignment: 14 // Size: 0x1b8 class CPlayer_MovementServices : public CPlayerPawnComponent -{ +{ +public: + int32_t m_nImpulse; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + CInButtonState m_nButtons; // 0x48 + uint64_t m_nQueuedButtonDownMask; // 0x68 + uint64_t m_nQueuedButtonChangeMask; // 0x70 + uint64_t m_nButtonDoublePressed; // 0x78 + uint32_t m_pButtonPressedCmdNumber[64]; // 0x80 + uint32_t m_nLastCommandNumberProcessed; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 public: - int32_t m_nImpulse; // 0x40 - CInButtonState m_nButtons; // 0x48 - uint64_t m_nQueuedButtonDownMask; // 0x68 - uint64_t m_nQueuedButtonChangeMask; // 0x70 - uint64_t m_nButtonDoublePressed; // 0x78 - uint32[64] m_pButtonPressedCmdNumber; // 0x80 - uint32_t m_nLastCommandNumberProcessed; // 0x180 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint64_t m_nToggleButtonDownMask; // 0x188 + uint64_t m_nToggleButtonDownMask; // 0x188 // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0" // MNetworkMaxValue "2048" // MNetworkEncodeFlags - float m_flMaxspeed; // 0x190 + float m_flMaxspeed; // 0x190 // MNetworkEnable - float m_flForceSubtickMoveWhen; // 0x194 - float m_flForwardMove; // 0x198 - float m_flLeftMove; // 0x19c - float m_flUpMove; // 0x1a0 - QAngle m_vecOldViewAngles; // 0x1a4 + float m_flForceSubtickMoveWhen; // 0x194 + float m_flForwardMove; // 0x198 + float m_flLeftMove; // 0x19c + float m_flUpMove; // 0x1a0 + QAngle m_vecOldViewAngles; // 0x1a4 }; // Alignment: 12 // Size: 0x1f8 -class CPlayer_MovementServices_Humanoid : public CPlayer_MovementServices, CPlayerPawnComponent -{ +class CPlayer_MovementServices_Humanoid : public CPlayer_MovementServices +{ public: - float m_flStepSoundTime; // 0x1b8 + float m_flStepSoundTime; // 0x1b8 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkBitCount "17" // MNetworkMinValue "-4096" // MNetworkMaxValue "4096" // MNetworkEncodeFlags - float m_flFallVelocity; // 0x1bc + float m_flFallVelocity; // 0x1bc // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bInCrouch; // 0x1c0 + bool m_bInCrouch; // 0x1c0 +private: + [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 +public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nCrouchState; // 0x1c4 + uint32_t m_nCrouchState; // 0x1c4 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - GameTime_t m_flCrouchTransitionStartTime; // 0x1c8 + GameTime_t m_flCrouchTransitionStartTime; // 0x1c8 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bDucked; // 0x1cc + bool m_bDucked; // 0x1cc // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bDucking; // 0x1cd + bool m_bDucking; // 0x1cd // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bInDuckJump; // 0x1ce - Vector m_groundNormal; // 0x1d0 - float m_flSurfaceFriction; // 0x1dc - CUtlStringToken m_surfaceProps; // 0x1e0 - int32_t m_nStepside; // 0x1f0 + bool m_bInDuckJump; // 0x1ce +private: + [[maybe_unused]] uint8_t __pad01cf[0x1]; // 0x1cf +public: + Vector m_groundNormal; // 0x1d0 + float m_flSurfaceFriction; // 0x1dc + CUtlStringToken m_surfaceProps; // 0x1e0 +private: + [[maybe_unused]] uint8_t __pad01e4[0xc]; // 0x1e4 +public: + int32_t m_nStepside; // 0x1f0 }; // Alignment: 5 // Size: 0x58 class CPlayer_ObserverServices : public CPlayerPawnComponent -{ +{ public: // MNetworkEnable // MNetworkChangeCallback "OnObserverModeChanged" - uint8_t m_iObserverMode; // 0x40 + uint8_t m_iObserverMode; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: // MNetworkEnable // MNetworkChangeCallback "OnObserverTargetChanged" - CHandle< C_BaseEntity > m_hObserverTarget; // 0x44 - ObserverMode_t m_iObserverLastMode; // 0x48 - bool m_bForcedObserverMode; // 0x4c - float m_flObserverChaseDistance; // 0x50 + CHandle< C_BaseEntity > m_hObserverTarget; // 0x44 + ObserverMode_t m_iObserverLastMode; // 0x48 + bool m_bForcedObserverMode; // 0x4c +private: + [[maybe_unused]] uint8_t __pad004d[0x3]; // 0x4d +public: + float m_flObserverChaseDistance; // 0x50 }; // Alignment: 0 // Size: 0x40 class CPlayer_UseServices : public CPlayerPawnComponent -{ +{ public: // no members available }; @@ -622,7 +891,7 @@ public: // Alignment: 0 // Size: 0x40 class CPlayer_WaterServices : public CPlayerPawnComponent -{ +{ public: // no members available }; @@ -630,179 +899,151 @@ public: // Alignment: 5 // Size: 0xa8 class CPlayer_WeaponServices : public CPlayerPawnComponent -{ +{ +public: + bool m_bAllowSwitchToNoWeapon; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x7]; // 0x41 public: - bool m_bAllowSwitchToNoWeapon; // 0x40 // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BasePlayerWeapon > > m_hMyWeapons; // 0x48 + C_NetworkUtlVectorBase< CHandle< C_BasePlayerWeapon > > m_hMyWeapons; // 0x48 // MNetworkEnable - CHandle< C_BasePlayerWeapon > m_hActiveWeapon; // 0x60 + CHandle< C_BasePlayerWeapon > m_hActiveWeapon; // 0x60 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CHandle< C_BasePlayerWeapon > m_hLastWeapon; // 0x64 + CHandle< C_BasePlayerWeapon > m_hLastWeapon; // 0x64 // MNetworkEnable - uint16[32] m_iAmmo; // 0x68 + uint16_t m_iAmmo[32]; // 0x68 }; -// Alignment: 2 -// Size: 0x1730 -class CBodyComponentBaseAnimGraph : public CBodyComponentSkeletonInstance, CBodyComponent, CEntityComponent -{ +// Alignment: 7 +// Size: 0x230 +class CModelState +{ public: // MNetworkEnable - CBaseAnimGraphController m_animationController; // 0x470 + // MNetworkChangeCallback "skeletonModelChanged" + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0xa0 // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x1708 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[1]->m_instance);}; + CUtlSymbolLarge m_ModelName; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00b0[0x38]; // 0xb0 +public: + // MNetworkEnable + bool m_bClientClothCreationSuppressed; // 0xe8 +private: + [[maybe_unused]] uint8_t __pad00e9[0x97]; // 0xe9 +public: + // MNetworkEnable + // MNetworkChangeCallback "skeletonMeshGroupMaskChanged" + uint64_t m_MeshGroupMask; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0188[0x9a]; // 0x188 +public: + // MNetworkEnable + // MNetworkChangeCallback "skeletonMotionTypeChanged" + int8_t m_nIdealMotionType; // 0x222 + // MNetworkDisable + int8_t m_nForceLOD; // 0x223 + // MNetworkDisable + int8_t m_nClothUpdateFlags; // 0x224 }; // Alignment: 2 // Size: 0x48 -struct EntityRenderAttribute_t : public -{ +struct EntityRenderAttribute_t +{ public: // MNetworkEnable - CUtlStringToken m_ID; // 0x30 + CUtlStringToken m_ID; // 0x30 // MNetworkEnable - Vector4D m_Values; // 0x34 + Vector4D m_Values; // 0x34 }; // Alignment: 4 // Size: 0x68 -struct ActiveModelConfig_t : public -{ +struct ActiveModelConfig_t +{ public: // MNetworkEnable - ModelConfigHandle_t m_Handle; // 0x28 + ModelConfigHandle_t m_Handle; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: // MNetworkEnable - CUtlSymbolLarge m_Name; // 0x30 + CUtlSymbolLarge m_Name; // 0x30 // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_AssociatedEntities; // 0x38 + C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_AssociatedEntities; // 0x38 // MNetworkEnable - C_NetworkUtlVectorBase< CUtlSymbolLarge > m_AssociatedEntityNames; // 0x50 + C_NetworkUtlVectorBase< CUtlSymbolLarge > m_AssociatedEntityNames; // 0x50 }; -// Alignment: 1 -// Size: 0x4a0 -class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance, CBodyComponent, CEntityComponent -{ +// Alignment: 8 +// Size: 0x3f0 +class CSkeletonInstance : public CGameSceneNode +{ public: + // MNetworkEnable + CModelState m_modelState; // 0x160 + // MNetworkEnable + bool m_bIsAnimationEnabled; // 0x390 + // MNetworkEnable + bool m_bUseParentRenderBounds; // 0x391 // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x470 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[1]->m_instance);}; + bool m_bDisableSolidCollisionsForHierarchy; // 0x392 + struct + { + // MNetworkDisable + uint8_t m_bDirtyMotionType: 1; + // MNetworkDisable + uint8_t m_bIsGeneratingLatchedParentSpaceState: 1; + uint16_t __pad1: 14; + }; // 16 bits + // MNetworkEnable + // MNetworkChangeCallback "skeletonMaterialGroupChanged" + CUtlStringToken m_materialGroup; // 0x394 + // MNetworkEnable + uint8_t m_nHitboxSet; // 0x398 }; // Alignment: 2 -// Size: 0x10 -class CGameSceneNodeHandle : public -{ +// Size: 0x470 +class CBodyComponentSkeletonInstance : public CBodyComponent +{ public: // MNetworkEnable - CEntityHandle m_hOwner; // 0x8 - // MNetworkEnable - CUtlStringToken m_name; // 0xc + CSkeletonInstance m_skeletonInstance; // 0x50 + // MNetworkDisable + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x440 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[1]->m_instance);}; }; -// Alignment: 33 -// Size: 0x150 -class CGameSceneNode : public -{ +// Alignment: 2 +// Size: 0x1d0 +class CBodyComponentPoint : public CBodyComponent +{ public: - // MNetworkDisable - CTransform m_nodeToWorld; // 0x10 - // MNetworkDisable - CEntityInstance* m_pOwner; // 0x30 - // MNetworkDisable - CGameSceneNode* m_pParent; // 0x38 - // MNetworkDisable - CGameSceneNode* m_pChild; // 0x40 - // MNetworkDisable - CGameSceneNode* m_pNextSibling; // 0x48 // MNetworkEnable - // MNetworkSerializer "gameSceneNode" - // MNetworkChangeCallback "gameSceneNodeHierarchyParentChanged" - // MNetworkPriority "32" - // MNetworkVarEmbeddedFieldOffsetDelta "8" - CGameSceneNodeHandle m_hParent; // 0x70 - // MNetworkEnable - // MNetworkPriority "32" - // MNetworkUserGroup "Origin" - // MNetworkChangeCallback "gameSceneNodeLocalOriginChanged" - CNetworkOriginCellCoordQuantizedVector m_vecOrigin; // 0x80 - // MNetworkEnable - // MNetworkPriority "32" - // MNetworkSerializer "gameSceneNodeStepSimulationAnglesSerializer" - // MNetworkChangeCallback "gameSceneNodeLocalAnglesChanged" - QAngle m_angRotation; // 0xb8 - // MNetworkEnable - // MNetworkChangeCallback "gameSceneNodeLocalScaleChanged" - // MNetworkPriority "32" - float m_flScale; // 0xc4 + CGameSceneNode m_sceneNode; // 0x50 // MNetworkDisable - Vector m_vecAbsOrigin; // 0xc8 - // MNetworkDisable - QAngle m_angAbsRotation; // 0xd4 - // MNetworkDisable - float m_flAbsScale; // 0xe0 - // MNetworkDisable - int16_t m_nParentAttachmentOrBone; // 0xe4 - // MNetworkDisable - bool m_bDebugAbsOriginChanges; // 0xe6 - // MNetworkDisable - bool m_bDormant; // 0xe7 - // MNetworkDisable - bool m_bForceParentToBeNetworked; // 0xe8 - // MNetworkDisable - uint8_t m_bDirtyHierarchy:1; // 0x0 - // MNetworkDisable - uint8_t m_bDirtyBoneMergeInfo:1; // 0x0 - // MNetworkDisable - uint8_t m_bNetworkedPositionChanged:1; // 0x0 - // MNetworkDisable - uint8_t m_bNetworkedAnglesChanged:1; // 0x0 - // MNetworkDisable - uint8_t m_bNetworkedScaleChanged:1; // 0x0 - // MNetworkDisable - uint8_t m_bWillBeCallingPostDataUpdate:1; // 0x0 - // MNetworkDisable - uint8_t m_bNotifyBoneTransformsChanged:1; // 0x0 - // MNetworkDisable - uint8_t m_bBoneMergeFlex:1; // 0x0 - // MNetworkDisable - uint8_t m_nLatchAbsOrigin:2; // 0x0 - // MNetworkDisable - uint8_t m_bDirtyBoneMergeBoneToRoot:1; // 0x0 - // MNetworkDisable - uint8_t m_nHierarchicalDepth; // 0xeb - // MNetworkDisable - uint8_t m_nHierarchyType; // 0xec - // MNetworkDisable - uint8_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount; // 0xed - // MNetworkEnable - CUtlStringToken m_name; // 0xf0 - // MNetworkEnable - // MNetworkChangeCallback "gameSceneNodeHierarchyAttachmentChanged" - CUtlStringToken m_hierarchyAttachName; // 0x130 - // MNetworkDisable - float m_flZOffset; // 0x134 - // MNetworkDisable - Vector m_vRenderOrigin; // 0x138 + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x1a0 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[1]->m_instance);}; }; // Alignment: 8 // Size: 0x28 -class CNetworkedSequenceOperation : public -{ +class CNetworkedSequenceOperation +{ public: // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkChangeCallback "sequenceOpSequenceChanged" // MNetworkPriority "32" - HSequence m_hSequence; // 0x8 + HSequence m_hSequence; // 0x8 // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0" @@ -811,7 +1052,7 @@ public: // MNetworkPriority "32" // MNetworkSendProxyRecipientsFilter // MNetworkUserGroup "m_flCycle" - float m_flPrevCycle; // 0xc + float m_flPrevCycle; // 0xc // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0" @@ -821,3546 +1062,227 @@ public: // MNetworkSendProxyRecipientsFilter // MNetworkUserGroup "m_flCycle" // MNetworkChangeCallback "sequenceOpCycleChanged" - float m_flCycle; // 0x10 + float m_flCycle; // 0x10 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags - CNetworkedQuantizedFloat m_flWeight; // 0x14 + CNetworkedQuantizedFloat m_flWeight; // 0x14 // MNetworkDisable - bool m_bSequenceChangeNetworked; // 0x1c + bool m_bSequenceChangeNetworked; // 0x1c // MNetworkDisable - bool m_bDiscontinuity; // 0x1d + bool m_bDiscontinuity; // 0x1d +private: + [[maybe_unused]] uint8_t __pad001e[0x2]; // 0x1e +public: // MNetworkDisable - float m_flPrevCycleFromDiscontinuity; // 0x20 + float m_flPrevCycleFromDiscontinuity; // 0x20 // MNetworkDisable - float m_flPrevCycleForAnimEventDetection; // 0x24 + float m_flPrevCycleForAnimEventDetection; // 0x24 }; -// Alignment: 7 -// Size: 0x230 -class CModelState : public -{ +// Alignment: 1 +// Size: 0x4a0 +class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance +{ public: - // MNetworkEnable - // MNetworkChangeCallback "skeletonModelChanged" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0xa0 // MNetworkDisable - CUtlSymbolLarge m_ModelName; // 0xa8 - // MNetworkEnable - bool m_bClientClothCreationSuppressed; // 0xe8 - // MNetworkEnable - // MNetworkChangeCallback "skeletonMeshGroupMaskChanged" - uint64_t m_MeshGroupMask; // 0x180 - // MNetworkEnable - // MNetworkChangeCallback "skeletonMotionTypeChanged" - int8_t m_nIdealMotionType; // 0x222 - // MNetworkDisable - int8_t m_nForceLOD; // 0x223 - // MNetworkDisable - int8_t m_nClothUpdateFlags; // 0x224 -}; - -// Alignment: 8 -// Size: 0x3f0 -class CSkeletonInstance : public CGameSceneNode -{ -public: - // MNetworkEnable - CModelState m_modelState; // 0x160 - // MNetworkEnable - bool m_bIsAnimationEnabled; // 0x390 - // MNetworkEnable - bool m_bUseParentRenderBounds; // 0x391 - // MNetworkDisable - bool m_bDisableSolidCollisionsForHierarchy; // 0x392 - // MNetworkDisable - uint8_t m_bDirtyMotionType:1; // 0x0 - // MNetworkDisable - uint8_t m_bIsGeneratingLatchedParentSpaceState:1; // 0x0 - // MNetworkEnable - // MNetworkChangeCallback "skeletonMaterialGroupChanged" - CUtlStringToken m_materialGroup; // 0x394 - // MNetworkEnable - uint8_t m_nHitboxSet; // 0x398 -}; - -// Alignment: 2 -// Size: 0x10 -class IntervalTimer : public -{ -public: - // MNetworkEnable - GameTime_t m_timestamp; // 0x8 - // MNetworkEnable - WorldGroupId_t m_nWorldGroupId; // 0xc -}; - -// Alignment: 4 -// Size: 0x18 -class CountdownTimer : public -{ -public: - // MNetworkEnable - float m_duration; // 0x8 - // MNetworkEnable - GameTime_t m_timestamp; // 0xc - // MNetworkEnable - float m_timescale; // 0x10 - // MNetworkEnable - WorldGroupId_t m_nWorldGroupId; // 0x14 -}; - -// Alignment: 3 -// Size: 0x18 -class EngineCountdownTimer : public -{ -public: - // MNetworkEnable - float m_duration; // 0x8 - // MNetworkEnable - float m_timestamp; // 0xc - // MNetworkEnable - float m_timescale; // 0x10 -}; - -// Alignment: 7 -// Size: 0x228 -class CTimeline : public IntervalTimer -{ -public: - // MNetworkEnable - float32[64] m_flValues; // 0x10 - // MNetworkEnable - int32[64] m_nValueCounts; // 0x110 - // MNetworkEnable - int32_t m_nBucketCount; // 0x210 - // MNetworkEnable - float m_flInterval; // 0x214 - // MNetworkEnable - float m_flFinalValue; // 0x218 - // MNetworkEnable - TimelineCompression_t m_nCompressionType; // 0x21c - // MNetworkEnable - bool m_bStopped; // 0x220 + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x470 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[1]->m_instance);}; }; // Alignment: 20 // Size: 0x1138 -class CAnimGraphNetworkedVariables : public -{ +class CAnimGraphNetworkedVariables +{ public: // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetBoolVarChanged" // MNetworkAlias "m_PredBoolVariables" - C_NetworkUtlVectorBase< uint32 > m_PredNetBoolVariables; // 0x8 + C_NetworkUtlVectorBase< uint32 > m_PredNetBoolVariables; // 0x8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetByteVarChanged" // MNetworkAlias "m_PredByteVariables" - C_NetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0x20 + C_NetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0x20 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetUInt16VarChanged" // MNetworkAlias "m_PredUInt16Variables" - C_NetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0x38 + C_NetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0x38 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetIntVarChanged" // MNetworkAlias "m_PredIntVariables" - C_NetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x50 + C_NetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x50 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetUInt32VarChanged" // MNetworkAlias "m_PredUInt32Variables" - C_NetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x68 + C_NetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x68 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetFloatVarChanged" // MNetworkAlias "m_PredFloatVariables" - C_NetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x80 + C_NetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x80 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVectorVarChanged" // MNetworkAlias "m_PredVectorVariables" - C_NetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x98 + C_NetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x98 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetQuaternionVarChanged" // MNetworkAlias "m_PredQuaternionVariables" - C_NetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0xb0 + C_NetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0xb0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOBoolVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetBoolVariables" - C_NetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetBoolVariables; // 0xc8 + C_NetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetBoolVariables; // 0xc8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOByteVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetByteVariables" - C_NetworkUtlVectorBase< uint8 > m_OwnerOnlyPredNetByteVariables; // 0xe0 + C_NetworkUtlVectorBase< uint8 > m_OwnerOnlyPredNetByteVariables; // 0xe0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOUInt16VarChanged" // MNetworkAlias "m_OwnerOnlyPredNetUInt16Variables" - C_NetworkUtlVectorBase< uint16 > m_OwnerOnlyPredNetUInt16Variables; // 0xf8 + C_NetworkUtlVectorBase< uint16 > m_OwnerOnlyPredNetUInt16Variables; // 0xf8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOIntVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetIntVariables" - C_NetworkUtlVectorBase< int32 > m_OwnerOnlyPredNetIntVariables; // 0x110 + C_NetworkUtlVectorBase< int32 > m_OwnerOnlyPredNetIntVariables; // 0x110 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOUInt32VarChanged" // MNetworkAlias "m_OwnerOnlyPredNetUInt32Variables" - C_NetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetUInt32Variables; // 0x128 + C_NetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetUInt32Variables; // 0x128 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOFloatVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetFloatVariables" - C_NetworkUtlVectorBase< float32 > m_OwnerOnlyPredNetFloatVariables; // 0x140 + C_NetworkUtlVectorBase< float32 > m_OwnerOnlyPredNetFloatVariables; // 0x140 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOVectorVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetVectorVariables" - C_NetworkUtlVectorBase< Vector > m_OwnerOnlyPredNetVectorVariables; // 0x158 + C_NetworkUtlVectorBase< Vector > m_OwnerOnlyPredNetVectorVariables; // 0x158 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOQuaternionVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetQuaternionVariables" - C_NetworkUtlVectorBase< Quaternion > m_OwnerOnlyPredNetQuaternionVariables; // 0x170 + C_NetworkUtlVectorBase< Quaternion > m_OwnerOnlyPredNetQuaternionVariables; // 0x170 // MNetworkEnable - int32_t m_nBoolVariablesCount; // 0x188 + int32_t m_nBoolVariablesCount; // 0x188 // MNetworkEnable - int32_t m_nOwnerOnlyBoolVariablesCount; // 0x18c + int32_t m_nOwnerOnlyBoolVariablesCount; // 0x18c // MNetworkEnable - int32_t m_nRandomSeedOffset; // 0x190 + int32_t m_nRandomSeedOffset; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0194[0xf8c]; // 0x194 +public: // MNetworkEnable // MNetworkUserGroup "animationgraph" - float m_flLastTeleportTime; // 0x1120 + float m_flLastTeleportTime; // 0x1120 }; -// Alignment: 82 -// Size: 0x538 -class C_BaseEntity : public CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - // MNetworkUserGroup "CBodyComponent" - // MNetworkAlias "CBodyComponent" - // MNetworkTypeAlias "CBodyComponent" - // MNetworkPriority "48" - CBodyComponent* m_CBodyComponent; // 0x30 - CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x38 - GameTick_t m_nLastThinkTick; // 0x2f8 - CGameSceneNode* m_pGameSceneNode; // 0x300 - CRenderComponent* m_pRenderComponent; // 0x308 - CCollisionProperty* m_pCollision; // 0x310 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - int32_t m_iMaxHealth; // 0x318 - // MNetworkEnable - // MNetworkSerializer "ClampHealth" - // MNetworkUserGroup "Player" - // MNetworkPriority "32" - int32_t m_iHealth; // 0x31c - // MNetworkEnable - // MNetworkUserGroup "Player" - // MNetworkPriority "32" - uint8_t m_lifeState; // 0x320 - // MNetworkEnable - bool m_bTakesDamage; // 0x321 - // MNetworkEnable - TakeDamageFlags_t m_nTakeDamageFlags; // 0x324 - // MNetworkEnable - // MNetworkChangeCallback "OnInterpolationFrameChanged" - uint8_t m_ubInterpolationFrame; // 0x328 - CHandle< C_BaseEntity > m_hSceneObjectController; // 0x32c - int32_t m_nNoInterpolationTick; // 0x330 - int32_t m_nVisibilityNoInterpolationTick; // 0x334 - float m_flProxyRandomValue; // 0x338 - int32_t m_iEFlags; // 0x33c - uint8_t m_nWaterType; // 0x340 - bool m_bInterpolateEvenWithNoModel; // 0x341 - bool m_bPredictionEligible; // 0x342 - bool m_bApplyLayerMatchIDToModel; // 0x343 - CUtlStringToken m_tokLayerMatchID; // 0x344 - // MNetworkEnable - // MNetworkChangeCallback "OnSubclassIDChanged" - CUtlStringToken m_nSubclassID; // 0x348 - int32_t m_nSimulationTick; // 0x358 - int32_t m_iCurrentThinkContext; // 0x35c - CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x360 - // MNetworkEnable - // MNetworkPriority "0" - // MNetworkSerializer "animTimeSerializer" - // MNetworkChangeCallback "OnAnimTimeChanged" - float m_flAnimTime; // 0x378 - // MNetworkEnable - // MNetworkPriority "1" - // MNetworkSerializer "simulationTimeSerializer" - // MNetworkChangeCallback "OnSimulationTimeChanged" - float m_flSimulationTime; // 0x37c - uint8_t m_nSceneObjectOverrideFlags; // 0x380 - bool m_bHasSuccessfullyInterpolated; // 0x381 - bool m_bHasAddedVarsToInterpolation; // 0x382 - bool m_bRenderEvenWhenNotSuccessfullyInterpolated; // 0x383 - int32[2] m_nInterpolationLatchDirtyFlags; // 0x384 - uint16[11] m_ListEntry; // 0x38c - // MNetworkEnable - GameTime_t m_flCreateTime; // 0x3a4 - float m_flSpeed; // 0x3a8 - uint16_t m_EntClientFlags; // 0x3ac - // MNetworkEnable - bool m_bClientSideRagdoll; // 0x3ae - // MNetworkEnable - // MNetworkChangeCallback "OnNetVarTeamNumChanged" - uint8_t m_iTeamNum; // 0x3af - // MNetworkEnable - uint32_t m_spawnflags; // 0x3b0 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - GameTick_t m_nNextThinkTick; // 0x3b4 - // MNetworkEnable - // MNetworkPriority "32" - // MNetworkUserGroup "Player" - uint32_t m_fFlags; // 0x3b8 - Vector m_vecAbsVelocity; // 0x3bc - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - // MNetworkChangeCallback "OnLocalVelocityChanged" - // MNetworkPriority "32" - CNetworkVelocityVector m_vecVelocity; // 0x3c8 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - Vector m_vecBaseVelocity; // 0x3f8 - // MNetworkEnable - CHandle< C_BaseEntity > m_hEffectEntity; // 0x404 - // MNetworkEnable - // MNetworkPriority "32" - CHandle< C_BaseEntity > m_hOwnerEntity; // 0x408 - // MNetworkEnable - MoveCollide_t m_MoveCollide; // 0x40c - // MNetworkEnable - // MNetworkChangeCallback "OnMoveTypeChanged" - MoveType_t m_MoveType; // 0x40d - // MNetworkEnable - // MNetworkUserGroup "Water" - // MNetworkChangeCallback "OnWaterLevelChangeNetworked" - // MNetworkBitCount "8" - // MNetworkMinValue "0" - // MNetworkMaxValue "1" - // MNetworkEncodeFlags - float m_flWaterLevel; // 0x410 - // MNetworkEnable - // MNetworkChangeCallback "OnEffectsChanged" - uint32_t m_fEffects; // 0x414 - // MNetworkEnable - // MNetworkPriority "32" - // MNetworkUserGroup "Player" - CHandle< C_BaseEntity > m_hGroundEntity; // 0x418 - // MNetworkEnable - // MNetworkBitCount "8" - // MNetworkMinValue "0" - // MNetworkMaxValue "4" - // MNetworkEncodeFlags - // MNetworkUserGroup "LocalPlayerExclusive" - float m_flFriction; // 0x41c - // MNetworkEnable - // MNetworkEncoder - float m_flElasticity; // 0x420 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - float m_flGravityScale; // 0x424 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - float m_flTimeScale; // 0x428 - // MNetworkEnable - // MNetworkChangeCallback "OnInterpolationAmountChanged" - bool m_bSimulatedEveryTick; // 0x42c - // MNetworkEnable - // MNetworkChangeCallback "OnInterpolationAmountChanged" - bool m_bAnimatedEveryTick; // 0x42d - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMinCPULevel; // 0x42e - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMaxCPULevel; // 0x42f - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMinGPULevel; // 0x430 - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMaxGPULevel; // 0x431 - // MNetworkEnable - // MNetworkChangeCallback "OnNavIgnoreChanged" - GameTime_t m_flNavIgnoreUntilTime; // 0x434 - uint16_t m_hThink; // 0x438 - uint8_t m_fBBoxVisFlags; // 0x448 - bool m_bPredictable; // 0x449 - bool m_bRenderWithViewModels; // 0x44a - CSplitScreenSlot m_nSplitUserPlayerPredictionSlot; // 0x44c - int32_t m_nFirstPredictableCommand; // 0x450 - int32_t m_nLastPredictableCommand; // 0x454 - CHandle< C_BaseEntity > m_hOldMoveParent; // 0x458 - CParticleProperty m_Particles; // 0x460 - CUtlVector< float32 > m_vecPredictedScriptFloats; // 0x488 - CUtlVector< int32 > m_vecPredictedScriptFloatIDs; // 0x4a0 - int32_t m_nNextScriptVarRecordID; // 0x4d0 - QAngle m_vecAngVelocity; // 0x4e0 - int32_t m_DataChangeEventRef; // 0x4ec - CUtlVector< CEntityHandle > m_dependencies; // 0x4f0 - int32_t m_nCreationTick; // 0x508 - bool m_bAnimTimeChanged; // 0x521 - bool m_bSimulationTimeChanged; // 0x522 - CUtlString m_sUniqueHammerID; // 0x530 - static bool &Get_sm_bDatadescValidating(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[0]->m_instance);}; - static bool &Get_sm_bAccurateTriggerBboxChecks(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[1]->m_instance);}; - static bool &Get_sm_bDisableTouchFuncs(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[2]->m_instance);}; - static bool &Get_m_bAllowPrecache(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[3]->m_instance);}; - static LatchDirtyPermission_t &Get_s_nLatchPermissions(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[4]->m_instance);}; - static int32_t &Get_m_nPredictionRandomSeed(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[5]->m_instance);}; - static CBasePlayerController* &Get_m_pPredictionPlayerController(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[6]->m_instance);}; - static bool &Get_s_bAbsQueriesValid(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[7]->m_instance);}; - static bool &Get_s_bAbsRecomputationEnabled(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[8]->m_instance);}; - static bool &Get_s_bComputingInterpolatedValues(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[9]->m_instance);}; - static bool &Get_s_bPreventingSetAnimRunAnimEvents(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[10]->m_instance);}; - static CUtlVector< C_BaseEntity* > &Get_gm_UsableObjects(){ return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[11]->m_instance);}; -}; - -// Alignment: 0 -// Size: 0x538 -class CLogicalEntity : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 5 -// Size: 0x20 -class C_BaseFlex::Emphasized_Phoneme : public -{ -public: - CUtlString m_sClassName; // 0x0 - float m_flAmount; // 0x18 - bool m_bRequired; // 0x1c - bool m_bBasechecked; // 0x1d - bool m_bValid; // 0x1e -}; - -// Alignment: 18 -// Size: 0x780 -class C_ColorCorrection : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - Vector m_vecOrigin; // 0x538 - // MNetworkEnable - float m_MinFalloff; // 0x544 - // MNetworkEnable - float m_MaxFalloff; // 0x548 - // MNetworkEnable - float m_flFadeInDuration; // 0x54c - // MNetworkEnable - float m_flFadeOutDuration; // 0x550 - // MNetworkEnable - float m_flMaxWeight; // 0x554 - // MNetworkEnable - float m_flCurWeight; // 0x558 - // MNetworkEnable - char[512] m_netlookupFilename; // 0x55c - // MNetworkEnable - bool m_bEnabled; // 0x75c - // MNetworkEnable - bool m_bMaster; // 0x75d - // MNetworkEnable - bool m_bClientSide; // 0x75e - // MNetworkEnable - bool m_bExclusive; // 0x75f - bool[1] m_bEnabledOnClient; // 0x760 - float32[1] m_flCurWeightOnClient; // 0x764 - bool[1] m_bFadingIn; // 0x768 - float32[1] m_flFadeStartWeight; // 0x76c - float32[1] m_flFadeStartTime; // 0x770 - float32[1] m_flFadeDuration; // 0x774 -}; - -// Alignment: 1 -// Size: 0x740 -class C_EnvWindClientside : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - // MNetworkDisable - C_EnvWindShared m_EnvWindShared; // 0x538 -}; - -// Alignment: 3 -// Size: 0x570 -class C_EntityFlame : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - CHandle< C_BaseEntity > m_hEntAttached; // 0x538 - CHandle< C_BaseEntity > m_hOldAttached; // 0x560 - // MNetworkEnable - bool m_bCheapEffect; // 0x564 -}; - -// Alignment: 30 -// Size: 0x2e0 -class CProjectedTextureBase : public -{ -public: - // MNetworkEnable - CHandle< C_BaseEntity > m_hTargetEntity; // 0xc - // MNetworkEnable - bool m_bState; // 0x10 - // MNetworkEnable - bool m_bAlwaysUpdate; // 0x11 - // MNetworkEnable - float m_flLightFOV; // 0x14 - // MNetworkEnable - bool m_bEnableShadows; // 0x18 - // MNetworkEnable - bool m_bSimpleProjection; // 0x19 - // MNetworkEnable - bool m_bLightOnlyTarget; // 0x1a - // MNetworkEnable - bool m_bLightWorld; // 0x1b - // MNetworkEnable - bool m_bCameraSpace; // 0x1c - // MNetworkEnable - float m_flBrightnessScale; // 0x20 - // MNetworkEnable - Color m_LightColor; // 0x24 - // MNetworkEnable - float m_flIntensity; // 0x28 - // MNetworkEnable - float m_flLinearAttenuation; // 0x2c - // MNetworkEnable - float m_flQuadraticAttenuation; // 0x30 - // MNetworkEnable - bool m_bVolumetric; // 0x34 - // MNetworkEnable - float m_flVolumetricIntensity; // 0x38 - // MNetworkEnable - float m_flNoiseStrength; // 0x3c - // MNetworkEnable - float m_flFlashlightTime; // 0x40 - // MNetworkEnable - uint32_t m_nNumPlanes; // 0x44 - // MNetworkEnable - float m_flPlaneOffset; // 0x48 - // MNetworkEnable - float m_flColorTransitionTime; // 0x4c - // MNetworkEnable - float m_flAmbient; // 0x50 - // MNetworkEnable - char[512] m_SpotlightTextureName; // 0x54 - // MNetworkEnable - int32_t m_nSpotlightTextureFrame; // 0x254 - // MNetworkEnable - uint32_t m_nShadowQuality; // 0x258 - // MNetworkEnable - // MNetworkBitCount "16" - // MNetworkMinValue "0" - // MNetworkMaxValue "500" - // MNetworkEncodeFlags - float m_flNearZ; // 0x25c - // MNetworkEnable - // MNetworkBitCount "18" - // MNetworkMinValue "0" - // MNetworkMaxValue "1500" - // MNetworkEncodeFlags - float m_flFarZ; // 0x260 - // MNetworkEnable - float m_flProjectionSize; // 0x264 - // MNetworkEnable - float m_flRotation; // 0x268 - // MNetworkEnable - bool m_bFlipHorizontal; // 0x26c - static float &Get_m_flVisibleBBoxMinHeight(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CProjectedTextureBase")->m_static_fields[0]->m_instance);}; -}; - -// Alignment: 4 -// Size: 0x548 -class C_BaseFire : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flScale; // 0x538 - // MNetworkEnable - float m_flStartScale; // 0x53c - // MNetworkEnable - float m_flScaleTime; // 0x540 - // MNetworkEnable - uint32_t m_nFlags; // 0x544 -}; - -// Alignment: 13 -// Size: 0x5b0 -class C_FireSmoke : public C_BaseFire, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - int32_t m_nFlameModelIndex; // 0x548 - // MNetworkEnable - int32_t m_nFlameFromAboveModelIndex; // 0x54c - float m_flScaleRegister; // 0x550 - float m_flScaleStart; // 0x554 - float m_flScaleEnd; // 0x558 - GameTime_t m_flScaleTimeStart; // 0x55c - GameTime_t m_flScaleTimeEnd; // 0x560 - float m_flChildFlameSpread; // 0x564 - float m_flClipPerc; // 0x578 - bool m_bClipTested; // 0x57c - bool m_bFadingOut; // 0x57d - TimedEvent m_tParticleSpawn; // 0x580 - CFireOverlay* m_pFireOverlay; // 0x588 -}; - -// Alignment: 1 +// Alignment: 2 // Size: 0x10 -class C_RopeKeyframe::CPhysicsDelegate : public -{ +class IntervalTimer +{ public: - C_RopeKeyframe* m_pKeyframe; // 0x8 + // MNetworkEnable + GameTime_t m_timestamp; // 0x8 + // MNetworkEnable + WorldGroupId_t m_nWorldGroupId; // 0xc }; -// Alignment: 1 +// Alignment: 4 // Size: 0x18 -struct C_SceneEntity__QueuedEvents_t : public -{ -public: - float starttime; // 0x0 -}; - -// Alignment: 0 -// Size: 0x550 -class C_TintController : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x538 -class C_TriggerCamera : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 13 -// Size: 0x2e0 -class CFlashlightEffect : public -{ -public: - bool m_bIsOn; // 0x10 - bool m_bMuzzleFlashEnabled; // 0x20 - float m_flMuzzleFlashBrightness; // 0x24 - Quaternion m_quatMuzzleFlashOrientation; // 0x30 - Vector m_vecMuzzleFlashOrigin; // 0x40 - float m_flFov; // 0x4c - float m_flFarZ; // 0x50 - float m_flLinearAtten; // 0x54 - bool m_bCastsShadows; // 0x58 - float m_flCurrentPullBackDist; // 0x5c - CStrongHandle< InfoForResourceTypeCTextureBase > m_FlashlightTexture; // 0x60 - CStrongHandle< InfoForResourceTypeCTextureBase > m_MuzzleFlashTexture; // 0x68 - char[64] m_textureName; // 0x70 -}; - -// Alignment: 5 -// Size: 0x14 -class CInterpolatedValue : public -{ -public: - float m_flStartTime; // 0x0 - float m_flEndTime; // 0x4 - float m_flStartValue; // 0x8 - float m_flEndValue; // 0xc - int32_t m_nInterpType; // 0x10 -}; - -// Alignment: 4 -// Size: 0x20 -class CGlowSprite : public -{ -public: - Vector m_vColor; // 0x0 - float m_flHorzSize; // 0xc - float m_flVertSize; // 0x10 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x18 -}; - -// Alignment: 15 -// Size: 0xd0 -class CGlowOverlay : public -{ -public: - Vector m_vPos; // 0x8 - bool m_bDirectional; // 0x14 - Vector m_vDirection; // 0x18 - bool m_bInSky; // 0x24 - float m_skyObstructionScale; // 0x28 - CGlowSprite[4] m_Sprites; // 0x30 - int32_t m_nSprites; // 0xb0 - float m_flProxyRadius; // 0xb4 - float m_flHDRColorScale; // 0xb8 - float m_flGlowObstructionScale; // 0xbc - bool m_bCacheGlowObstruction; // 0xc0 - bool m_bCacheSkyObstruction; // 0xc1 - int16_t m_bActivated; // 0xc2 - uint16_t m_ListIndex; // 0xc4 - int32_t m_queryHandle; // 0xc8 -}; - -// Alignment: 0 -// Size: 0x8 -class IClientAlphaProperty : public -{ -public: - // no members available -}; - -// Alignment: 2 -// Size: 0x540 -class CSkyboxReference : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - WorldGroupId_t m_worldGroupId; // 0x538 - CHandle< C_SkyCamera > m_hSkyCamera; // 0x53c -}; - -// Alignment: 4 -// Size: 0x5d8 -class C_SkyCamera : public C_BaseEntity, CEntityInstance, IHandleEntity -{ +class CountdownTimer +{ public: // MNetworkEnable - sky3dparams_t m_skyboxData; // 0x538 + float m_duration; // 0x8 // MNetworkEnable - CUtlStringToken m_skyboxSlotToken; // 0x5c8 - bool m_bUseAngles; // 0x5cc - C_SkyCamera* m_pNext; // 0x5d0 -}; - -// Alignment: 2 -// Size: 0x8 -class TimedEvent : public -{ -public: - float m_TimeBetweenEvents; // 0x0 - float m_fNextEvent; // 0x4 -}; - -// Alignment: 8 -// Size: 0x30 -struct VPhysicsCollisionAttribute_t : public -{ -public: + GameTime_t m_timestamp; // 0xc // MNetworkEnable - uint64_t m_nInteractsAs; // 0x8 + float m_timescale; // 0x10 // MNetworkEnable - uint64_t m_nInteractsWith; // 0x10 - // MNetworkEnable - uint64_t m_nInteractsExclude; // 0x18 - // MNetworkEnable - uint32_t m_nEntityId; // 0x20 - // MNetworkEnable - uint32_t m_nOwnerId; // 0x24 - // MNetworkEnable - uint16_t m_nHierarchyId; // 0x28 - // MNetworkEnable - uint8_t m_nCollisionGroup; // 0x2a - // MNetworkEnable - uint8_t m_nCollisionFunctionMask; // 0x2b -}; - -// Alignment: 17 -// Size: 0xb0 -class CCollisionProperty : public -{ -public: - // MNetworkEnable - // MNetworkChangeCallback "CollisionAttributeChanged" - VPhysicsCollisionAttribute_t m_collisionAttribute; // 0x10 - // MNetworkEnable - // MNetworkChangeCallback "OnUpdateOBB" - Vector m_vecMins; // 0x40 - // MNetworkEnable - // MNetworkChangeCallback "OnUpdateOBB" - Vector m_vecMaxs; // 0x4c - // MNetworkEnable - // MNetworkChangeCallback "OnUpdateSolidFlags" - uint8_t m_usSolidFlags; // 0x5a - // MNetworkEnable - // MNetworkChangeCallback "OnUpdateSolidType" - SolidType_t m_nSolidType; // 0x5b - // MNetworkEnable - // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - uint8_t m_triggerBloat; // 0x5c - // MNetworkEnable - // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - SurroundingBoundsType_t m_nSurroundType; // 0x5d - // MNetworkEnable - uint8_t m_CollisionGroup; // 0x5e - // MNetworkEnable - // MNetworkChangeCallback "OnUpdateEnablePhysics" - uint8_t m_nEnablePhysics; // 0x5f - float m_flBoundingRadius; // 0x60 - // MNetworkEnable - // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - Vector m_vecSpecifiedSurroundingMins; // 0x64 - // MNetworkEnable - // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - Vector m_vecSpecifiedSurroundingMaxs; // 0x70 - Vector m_vecSurroundingMaxs; // 0x7c - Vector m_vecSurroundingMins; // 0x88 - // MNetworkEnable - Vector m_vCapsuleCenter1; // 0x94 - // MNetworkEnable - Vector m_vCapsuleCenter2; // 0xa0 - // MNetworkEnable - float m_flCapsuleRadius; // 0xac -}; - -// Alignment: 10 -// Size: 0x98 -class CDecalInfo : public -{ -public: - float m_flAnimationScale; // 0x0 - float m_flAnimationLifeSpan; // 0x4 - float m_flPlaceTime; // 0x8 - float m_flFadeStartTime; // 0xc - float m_flFadeDuration; // 0x10 - int32_t m_nVBSlot; // 0x14 - int32_t m_nBoneIndex; // 0x18 - CDecalInfo* m_pNext; // 0x28 - CDecalInfo* m_pPrev; // 0x30 - int32_t m_nDecalMaterialIndex; // 0x90 -}; - -// Alignment: 21 -// Size: 0x70 -class CEffectData : public -{ -public: - // MNetworkEnable - // MNetworkEncoder - Vector m_vOrigin; // 0x8 - // MNetworkEnable - // MNetworkEncoder - Vector m_vStart; // 0x14 - // MNetworkEnable - // MNetworkEncoder - Vector m_vNormal; // 0x20 - // MNetworkEnable - // MNetworkEncoder - QAngle m_vAngles; // 0x2c - // MNetworkEnable - CEntityHandle m_hEntity; // 0x38 - // MNetworkEnable - CEntityHandle m_hOtherEntity; // 0x3c - // MNetworkEnable - float m_flScale; // 0x40 - // MNetworkEnable - // MNetworkBitCount "12" - // MNetworkMinValue "0" - // MNetworkMaxValue "1023" - // MNetworkEncodeFlags - float m_flMagnitude; // 0x44 - // MNetworkEnable - // MNetworkBitCount "10" - // MNetworkMinValue "0" - // MNetworkMaxValue "1023" - // MNetworkEncodeFlags - float m_flRadius; // 0x48 - // MNetworkEnable - CUtlStringToken m_nSurfaceProp; // 0x4c - // MNetworkEnable - CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > m_nEffectIndex; // 0x50 - // MNetworkEnable - uint32_t m_nDamageType; // 0x58 - // MNetworkEnable - uint8_t m_nPenetrate; // 0x5c - // MNetworkEnable - uint16_t m_nMaterial; // 0x5e - // MNetworkEnable - uint16_t m_nHitBox; // 0x60 - // MNetworkEnable - uint8_t m_nColor; // 0x62 - // MNetworkEnable - uint8_t m_fFlags; // 0x63 - // MNetworkEnable - AttachmentHandle_t m_nAttachmentIndex; // 0x64 - // MNetworkEnable - CUtlStringToken m_nAttachmentName; // 0x68 - // MNetworkEnable - uint16_t m_iEffectName; // 0x6c - // MNetworkEnable - uint8_t m_nExplosionType; // 0x6e -}; - -// Alignment: 2 -// Size: 0x540 -class C_EnvDetailController : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flFadeStartDist; // 0x538 - // MNetworkEnable - float m_flFadeEndDist; // 0x53c -}; - -// Alignment: 29 -// Size: 0x208 -class C_EnvWindShared : public -{ -public: - // MNetworkEnable - GameTime_t m_flStartTime; // 0x8 - // MNetworkEnable - uint32_t m_iWindSeed; // 0xc - // MNetworkEnable - uint16_t m_iMinWind; // 0x10 - // MNetworkEnable - uint16_t m_iMaxWind; // 0x12 - // MNetworkEnable - int32_t m_windRadius; // 0x14 - // MNetworkEnable - uint16_t m_iMinGust; // 0x18 - // MNetworkEnable - uint16_t m_iMaxGust; // 0x1a - // MNetworkEnable - float m_flMinGustDelay; // 0x1c - // MNetworkEnable - float m_flMaxGustDelay; // 0x20 - // MNetworkEnable - float m_flGustDuration; // 0x24 - // MNetworkEnable - uint16_t m_iGustDirChange; // 0x28 - // MNetworkEnable - // MNetworkEncoder - Vector m_location; // 0x2c - int32_t m_iszGustSound; // 0x38 - int32_t m_iWindDir; // 0x3c - float m_flWindSpeed; // 0x40 - Vector m_currentWindVector; // 0x44 - Vector m_CurrentSwayVector; // 0x50 - Vector m_PrevSwayVector; // 0x5c - // MNetworkEnable - uint16_t m_iInitialWindDir; // 0x68 - // MNetworkEnable - float m_flInitialWindSpeed; // 0x6c - GameTime_t m_flVariationTime; // 0x70 - GameTime_t m_flSwayTime; // 0x74 - GameTime_t m_flSimTime; // 0x78 - GameTime_t m_flSwitchTime; // 0x7c - float m_flAveWindSpeed; // 0x80 - bool m_bGusting; // 0x84 - float m_flWindAngleVariation; // 0x88 - float m_flWindSpeedVariation; // 0x8c - CEntityIndex m_iEntIndex; // 0x90 -}; - -// Alignment: 2 -// Size: 0x8 -struct C_EnvWindShared__WindAveEvent_t : public -{ -public: - float m_flStartWindSpeed; // 0x0 - float m_flAveWindSpeed; // 0x4 -}; - -// Alignment: 2 -// Size: 0x8 -struct C_EnvWindShared__WindVariationEvent_t : public -{ -public: - float m_flWindAngleVariation; // 0x0 - float m_flWindSpeedVariation; // 0x4 -}; - -// Alignment: 0 -// Size: 0x538 -class C_InfoLadderDismount : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 13 -// Size: 0x60 -struct shard_model_desc_t : public -{ -public: - // MNetworkEnable - int32_t m_nModelID; // 0x8 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x10 - // MNetworkEnable - ShardSolid_t m_solid; // 0x18 - // MNetworkEnable - ShatterPanelMode m_ShatterPanelMode; // 0x19 - // MNetworkEnable - Vector2D m_vecPanelSize; // 0x1c - // MNetworkEnable - Vector2D m_vecStressPositionA; // 0x24 - // MNetworkEnable - Vector2D m_vecStressPositionB; // 0x2c - // MNetworkEnable - C_NetworkUtlVectorBase< Vector2D > m_vecPanelVertices; // 0x38 - // MNetworkEnable - float m_flGlassHalfThickness; // 0x50 - // MNetworkEnable - bool m_bHasParent; // 0x54 - // MNetworkEnable - bool m_bParentFrozen; // 0x55 - // MNetworkEnable - CUtlStringToken m_SurfacePropStringToken; // 0x58 - // MNetworkEnable - CUtlStringToken m_LightGroup; // 0x5c -}; - -// Alignment: 0 -// Size: 0x538 -class C_GameRulesProxy : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x8 -class C_GameRules : public -{ -public: - // no members available -}; - -// Alignment: 11 -// Size: 0x58 -class CGlowProperty : public -{ -public: - Vector m_fGlowColor; // 0x8 - // MNetworkEnable - // MNetworkChangeCallback "OnGlowTypeChanged" - int32_t m_iGlowType; // 0x30 - // MNetworkEnable - int32_t m_iGlowTeam; // 0x34 - // MNetworkEnable - int32_t m_nGlowRange; // 0x38 - // MNetworkEnable - int32_t m_nGlowRangeMin; // 0x3c - // MNetworkEnable - // MNetworkChangeCallback "OnGlowColorChanged" - Color m_glowColorOverride; // 0x40 - // MNetworkEnable - bool m_bFlashing; // 0x44 - // MNetworkEnable - float m_flGlowTime; // 0x48 - // MNetworkEnable - float m_flGlowStartTime; // 0x4c - // MNetworkEnable - bool m_bEligibleForScreenHighlight; // 0x50 - bool m_bGlowing; // 0x51 -}; - -// Alignment: 0 -// Size: 0x8 -class C_MultiplayRules : public C_GameRules -{ -public: - // no members available -}; - -// Alignment: 25 -// Size: 0x68 -struct fogparams_t : public -{ -public: - // MNetworkEnable - // MNetworkEncoder - Vector dirPrimary; // 0x8 - // MNetworkEnable - Color colorPrimary; // 0x14 - // MNetworkEnable - Color colorSecondary; // 0x18 - // MNetworkEnable - // MNetworkUserGroup "FogController" - Color colorPrimaryLerpTo; // 0x1c - // MNetworkEnable - // MNetworkUserGroup "FogController" - Color colorSecondaryLerpTo; // 0x20 - // MNetworkEnable - float start; // 0x24 - // MNetworkEnable - float end; // 0x28 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float farz; // 0x2c - // MNetworkEnable - float maxdensity; // 0x30 - // MNetworkEnable - float exponent; // 0x34 - // MNetworkEnable - float HDRColorScale; // 0x38 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float skyboxFogFactor; // 0x3c - // MNetworkEnable - // MNetworkUserGroup "FogController" - float skyboxFogFactorLerpTo; // 0x40 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float startLerpTo; // 0x44 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float endLerpTo; // 0x48 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float maxdensityLerpTo; // 0x4c - // MNetworkEnable - // MNetworkUserGroup "FogController" - GameTime_t lerptime; // 0x50 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float duration; // 0x54 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float blendtobackground; // 0x58 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float scattering; // 0x5c - // MNetworkEnable - // MNetworkUserGroup "FogController" - float locallightscale; // 0x60 - // MNetworkEnable - bool enable; // 0x64 - // MNetworkEnable - bool blend; // 0x65 - // MNetworkEnable - bool m_bNoReflectionFog; // 0x66 - bool m_bPadding; // 0x67 -}; - -// Alignment: 14 -// Size: 0x40 -struct C_fogplayerparams_t : public -{ -public: - // MNetworkEnable - // MNetworkUserGroup "PlayerFogController" - CHandle< C_FogController > m_hCtrl; // 0x8 - float m_flTransitionTime; // 0xc - Color m_OldColor; // 0x10 - float m_flOldStart; // 0x14 - float m_flOldEnd; // 0x18 - float m_flOldMaxDensity; // 0x1c - float m_flOldHDRColorScale; // 0x20 - float m_flOldFarZ; // 0x24 - Color m_NewColor; // 0x28 - float m_flNewStart; // 0x2c - float m_flNewEnd; // 0x30 - float m_flNewMaxDensity; // 0x34 - float m_flNewHDRColorScale; // 0x38 - float m_flNewFarZ; // 0x3c -}; - -// Alignment: 6 -// Size: 0x90 -struct sky3dparams_t : public -{ -public: - // MNetworkEnable - int16_t scale; // 0x8 - // MNetworkEnable - // MNetworkEncoder - Vector origin; // 0xc - // MNetworkEnable - bool bClip3DSkyBoxNearToWorldFar; // 0x18 - // MNetworkEnable - float flClip3DSkyBoxNearToWorldFarOffset; // 0x1c - // MNetworkEnable - fogparams_t fog; // 0x20 - // MNetworkEnable - WorldGroupId_t m_nWorldGroupID; // 0x88 -}; - -// Alignment: 3 -// Size: 0x50 -struct PhysicsRagdollPose_t : public -{ -public: - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 - // MNetworkEnable - // MNetworkChangeCallback "OnTransformChanged" - C_NetworkUtlVectorBase< CTransform > m_Transforms; // 0x30 - bool m_bDirty; // 0x48 -}; - -// Alignment: 0 -// Size: 0x8 -class C_SingleplayRules : public C_GameRules -{ -public: - // no members available -}; - -// Alignment: 5 -// Size: 0x558 -class C_SoundOpvarSetPointBase : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - CUtlSymbolLarge m_iszStackName; // 0x538 - // MNetworkEnable - CUtlSymbolLarge m_iszOperatorName; // 0x540 - // MNetworkEnable - CUtlSymbolLarge m_iszOpvarName; // 0x548 - // MNetworkEnable - int32_t m_iOpvarIndex; // 0x550 - // MNetworkEnable - bool m_bUseAutoCompare; // 0x554 -}; - -// Alignment: 0 -// Size: 0x558 -class C_SoundOpvarSetPointEntity : public C_SoundOpvarSetPointBase, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x558 -class C_SoundOpvarSetAABBEntity : public C_SoundOpvarSetPointEntity, C_SoundOpvarSetPointBase, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x558 -class C_SoundOpvarSetOBBEntity : public C_SoundOpvarSetAABBEntity, C_SoundOpvarSetPointEntity, C_SoundOpvarSetPointBase, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x558 -class C_SoundOpvarSetPathCornerEntity : public C_SoundOpvarSetPointEntity, C_SoundOpvarSetPointBase, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x558 -class C_SoundOpvarSetOBBWindEntity : public C_SoundOpvarSetPointBase, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x8 -class C_TeamplayRules : public C_MultiplayRules, C_GameRules -{ -public: - // no members available -}; - -// Alignment: 30 -// Size: 0x580 -class C_TeamRoundTimer : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - // MNetworkChangeCallback "OnTimerPaused" - bool m_bTimerPaused; // 0x538 - // MNetworkEnable - float m_flTimeRemaining; // 0x53c - // MNetworkEnable - GameTime_t m_flTimerEndTime; // 0x540 - // MNetworkEnable - bool m_bIsDisabled; // 0x544 - // MNetworkEnable - bool m_bShowInHUD; // 0x545 - // MNetworkEnable - int32_t m_nTimerLength; // 0x548 - // MNetworkEnable - int32_t m_nTimerInitialLength; // 0x54c - // MNetworkEnable - int32_t m_nTimerMaxLength; // 0x550 - // MNetworkEnable - bool m_bAutoCountdown; // 0x554 - // MNetworkEnable - int32_t m_nSetupTimeLength; // 0x558 - // MNetworkEnable - int32_t m_nState; // 0x55c - // MNetworkEnable - bool m_bStartPaused; // 0x560 - // MNetworkEnable - bool m_bInCaptureWatchState; // 0x561 - // MNetworkEnable - float m_flTotalTime; // 0x564 - // MNetworkEnable - bool m_bStopWatchTimer; // 0x568 - bool m_bFireFinished; // 0x569 - bool m_bFire5MinRemain; // 0x56a - bool m_bFire4MinRemain; // 0x56b - bool m_bFire3MinRemain; // 0x56c - bool m_bFire2MinRemain; // 0x56d - bool m_bFire1MinRemain; // 0x56e - bool m_bFire30SecRemain; // 0x56f - bool m_bFire10SecRemain; // 0x570 - bool m_bFire5SecRemain; // 0x571 - bool m_bFire4SecRemain; // 0x572 - bool m_bFire3SecRemain; // 0x573 - bool m_bFire2SecRemain; // 0x574 - bool m_bFire1SecRemain; // 0x575 - int32_t m_nOldTimerLength; // 0x578 - int32_t m_nOldTimerState; // 0x57c -}; - -// Alignment: 2 -// Size: 0x60 -class CAttributeList : public -{ -public: - // MNetworkEnable - // MNetworkTypeAlias "CUtlVector< CEconItemAttribute >" - C_UtlVectorEmbeddedNetworkVar< CEconItemAttribute > m_Attributes; // 0x8 - CAttributeManager* m_pManager; // 0x58 -}; - -// Alignment: 5 -// Size: 0x48 -class CEconItemAttribute : public -{ -public: - // MNetworkEnable - uint16_t m_iAttributeDefinitionIndex; // 0x30 - // MNetworkEnable - // MNetworkAlias "m_iRawValue32" - float m_flValue; // 0x34 - // MNetworkEnable - float m_flInitialValue; // 0x38 - // MNetworkEnable - int32_t m_nRefundableCurrency; // 0x3c - // MNetworkEnable - bool m_bSetBonus; // 0x40 -}; - -// Alignment: 6 -// Size: 0x50 -class CAttributeManager : public -{ -public: - CUtlVector< CHandle< C_BaseEntity > > m_Providers; // 0x8 - // MNetworkEnable - int32_t m_iReapplyProvisionParity; // 0x20 - // MNetworkEnable - CHandle< C_BaseEntity > m_hOuter; // 0x24 - bool m_bPreventLoopback; // 0x28 - // MNetworkEnable - attributeprovidertypes_t m_ProviderType; // 0x2c - CUtlVector< CAttributeManager::cached_attribute_float_t > m_CachedResults; // 0x30 + WorldGroupId_t m_nWorldGroupId; // 0x14 }; // Alignment: 3 // Size: 0x18 -struct CAttributeManager__cached_attribute_float_t : public -{ -public: - float flIn; // 0x0 - CUtlSymbolLarge iAttribHook; // 0x8 - float flOut; // 0x10 -}; - -// Alignment: 3 -// Size: 0x4a8 -class C_AttributeContainer : public CAttributeManager -{ +class EngineCountdownTimer +{ public: // MNetworkEnable - C_EconItemView m_Item; // 0x50 - int32_t m_iExternalItemProviderRegisteredToken; // 0x498 - uint64_t m_ullRegisteredAsItemID; // 0x4a0 -}; - -// Alignment: 1 -// Size: 0x4 -struct C_EconEntity__AttachedModelData_t : public -{ -public: - int32_t m_iModelDisplayFlags; // 0x0 -}; - -// Alignment: 2 -// Size: 0x18 -struct EntitySpottedState_t : public -{ -public: + float m_duration; // 0x8 // MNetworkEnable - // MNetworkChangeCallback "OnIsSpottedChanged" - bool m_bSpotted; // 0x8 + float m_timestamp; // 0xc // MNetworkEnable - // MNetworkChangeCallback "OnIsSpottedChanged" - uint32[2] m_bSpottedByMask; // 0xc -}; - -// Alignment: 1 -// Size: 0x540 -class C_CSGameRulesProxy : public C_GameRulesProxy, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - // MNetworkTypeAlias "CCSGameRules*" - // MNetworkPriority "32" - C_CSGameRules* m_pGameRules; // 0x538 -}; - -// Alignment: 100 -// Size: 0x18f8 -class C_CSGameRules : public C_TeamplayRules, C_MultiplayRules, C_GameRules -{ -public: - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 - // MNetworkEnable - bool m_bFreezePeriod; // 0x30 - // MNetworkEnable - bool m_bWarmupPeriod; // 0x31 - // MNetworkEnable - GameTime_t m_fWarmupPeriodEnd; // 0x34 - // MNetworkEnable - GameTime_t m_fWarmupPeriodStart; // 0x38 - // MNetworkEnable - bool m_bTerroristTimeOutActive; // 0x3c - // MNetworkEnable - bool m_bCTTimeOutActive; // 0x3d - // MNetworkEnable - float m_flTerroristTimeOutRemaining; // 0x40 - // MNetworkEnable - float m_flCTTimeOutRemaining; // 0x44 - // MNetworkEnable - int32_t m_nTerroristTimeOuts; // 0x48 - // MNetworkEnable - int32_t m_nCTTimeOuts; // 0x4c - // MNetworkEnable - bool m_bTechnicalTimeOut; // 0x50 - // MNetworkEnable - bool m_bMatchWaitingForResume; // 0x51 - // MNetworkEnable - int32_t m_iRoundTime; // 0x54 - // MNetworkEnable - float m_fMatchStartTime; // 0x58 - // MNetworkEnable - GameTime_t m_fRoundStartTime; // 0x5c - // MNetworkEnable - GameTime_t m_flRestartRoundTime; // 0x60 - // MNetworkEnable - bool m_bGameRestart; // 0x64 - // MNetworkEnable - float m_flGameStartTime; // 0x68 - // MNetworkEnable - float m_timeUntilNextPhaseStarts; // 0x6c - // MNetworkEnable - // MNetworkChangeCallback "OnGamePhaseChanged" - int32_t m_gamePhase; // 0x70 - // MNetworkEnable - int32_t m_totalRoundsPlayed; // 0x74 - // MNetworkEnable - int32_t m_nRoundsPlayedThisPhase; // 0x78 - // MNetworkEnable - int32_t m_nOvertimePlaying; // 0x7c - // MNetworkEnable - int32_t m_iHostagesRemaining; // 0x80 - // MNetworkEnable - bool m_bAnyHostageReached; // 0x84 - // MNetworkEnable - bool m_bMapHasBombTarget; // 0x85 - // MNetworkEnable - bool m_bMapHasRescueZone; // 0x86 - // MNetworkEnable - bool m_bMapHasBuyZone; // 0x87 - // MNetworkEnable - bool m_bIsQueuedMatchmaking; // 0x88 - // MNetworkEnable - int32_t m_nQueuedMatchmakingMode; // 0x8c - // MNetworkEnable - bool m_bIsValveDS; // 0x90 - // MNetworkEnable - bool m_bLogoMap; // 0x91 - // MNetworkEnable - bool m_bPlayAllStepSoundsOnServer; // 0x92 - // MNetworkEnable - int32_t m_iNumGunGameProgressiveWeaponsCT; // 0x94 - // MNetworkEnable - int32_t m_iNumGunGameProgressiveWeaponsT; // 0x98 - // MNetworkEnable - int32_t m_iSpectatorSlotCount; // 0x9c - // MNetworkEnable - int32[60] m_GGProgressiveWeaponOrderCT; // 0xa0 - // MNetworkEnable - int32[60] m_GGProgressiveWeaponOrderT; // 0x190 - // MNetworkEnable - int32[60] m_GGProgressiveWeaponKillUpgradeOrderCT; // 0x280 - // MNetworkEnable - int32[60] m_GGProgressiveWeaponKillUpgradeOrderT; // 0x370 - // MNetworkEnable - int32_t m_MatchDevice; // 0x460 - // MNetworkEnable - bool m_bHasMatchStarted; // 0x464 - // MNetworkEnable - float m_flDMBonusStartTime; // 0x468 - // MNetworkEnable - float m_flDMBonusTimeLength; // 0x46c - // MNetworkEnable - uint16_t m_unDMBonusWeaponLoadoutSlot; // 0x470 - // MNetworkEnable - bool m_bDMBonusActive; // 0x472 - // MNetworkEnable - int32_t m_nNextMapInMapgroup; // 0x474 - // MNetworkEnable - char[512] m_szTournamentEventName; // 0x478 - // MNetworkEnable - char[512] m_szTournamentEventStage; // 0x678 - // MNetworkEnable - char[512] m_szMatchStatTxt; // 0x878 - // MNetworkEnable - char[512] m_szTournamentPredictionsTxt; // 0xa78 - // MNetworkEnable - int32_t m_nTournamentPredictionsPct; // 0xc78 - // MNetworkEnable - GameTime_t m_flCMMItemDropRevealStartTime; // 0xc7c - // MNetworkEnable - GameTime_t m_flCMMItemDropRevealEndTime; // 0xc80 - // MNetworkEnable - bool m_bIsDroppingItems; // 0xc84 - // MNetworkEnable - bool m_bIsQuestEligible; // 0xc85 - // MNetworkEnable - int32_t m_nGuardianModeWaveNumber; // 0xc88 - // MNetworkEnable - int32_t m_nGuardianModeSpecialKillsRemaining; // 0xc8c - // MNetworkEnable - int32_t m_nGuardianModeSpecialWeaponNeeded; // 0xc90 - int32_t m_nGuardianGrenadesToGiveBots; // 0xc94 - int32_t m_nNumHeaviesToSpawn; // 0xc98 - // MNetworkEnable - uint32_t m_numGlobalGiftsGiven; // 0xc9c - // MNetworkEnable - uint32_t m_numGlobalGifters; // 0xca0 - // MNetworkEnable - uint32_t m_numGlobalGiftsPeriodSeconds; // 0xca4 - // MNetworkEnable - uint32[4] m_arrFeaturedGiftersAccounts; // 0xca8 - // MNetworkEnable - uint32[4] m_arrFeaturedGiftersGifts; // 0xcb8 - // MNetworkEnable - uint16[100] m_arrProhibitedItemIndices; // 0xcc8 - // MNetworkEnable - uint32[4] m_arrTournamentActiveCasterAccounts; // 0xd90 - // MNetworkEnable - int32_t m_numBestOfMaps; // 0xda0 - // MNetworkEnable - int32_t m_nHalloweenMaskListSeed; // 0xda4 - // MNetworkEnable - bool m_bBombDropped; // 0xda8 - // MNetworkEnable - bool m_bBombPlanted; // 0xda9 - // MNetworkEnable - int32_t m_iRoundWinStatus; // 0xdac - // MNetworkEnable - int32_t m_eRoundWinReason; // 0xdb0 - // MNetworkEnable - bool m_bTCantBuy; // 0xdb4 - // MNetworkEnable - bool m_bCTCantBuy; // 0xdb5 - // MNetworkEnable - GameTime_t m_flGuardianBuyUntilTime; // 0xdb8 - // MNetworkEnable - int32[30] m_iMatchStats_RoundResults; // 0xdbc - // MNetworkEnable - int32[30] m_iMatchStats_PlayersAlive_CT; // 0xe34 - // MNetworkEnable - int32[30] m_iMatchStats_PlayersAlive_T; // 0xeac - // MNetworkEnable - float32[32] m_TeamRespawnWaveTimes; // 0xf24 - // MNetworkEnable - GameTime_t[32] m_flNextRespawnWave; // 0xfa4 - // MNetworkEnable - int32_t m_nServerQuestID; // 0x1024 - bool m_bDontIncrementCoopWave; // 0x1028 - bool m_bSpawnedTerrorHuntHeavy; // 0x1029 - // MNetworkEnable - int32[10] m_nEndMatchMapGroupVoteTypes; // 0x102c - // MNetworkEnable - int32[10] m_nEndMatchMapGroupVoteOptions; // 0x1054 - // MNetworkEnable - int32_t m_nEndMatchMapVoteWinner; // 0x107c - // MNetworkEnable - int32_t m_iNumConsecutiveCTLoses; // 0x1080 - // MNetworkEnable - int32_t m_iNumConsecutiveTerroristLoses; // 0x1084 - bool m_bMarkClientStopRecordAtRoundEnd; // 0x10a0 - bool m_bHasTriggeredRoundStartMusic; // 0x10f8 - bool m_bHasTriggeredCoopSpawnReset; // 0x10f9 - bool m_bSwitchingTeamsAtRoundReset; // 0x10fa - int32_t m_iMaxGunGameProgressiveWeaponIndex; // 0x10fc - // MNetworkEnable - C_SurvivalGameRules m_SurvivalRules; // 0x1118 - // MNetworkEnable - C_RetakeGameRules m_RetakeRules; // 0x17d8 - // MNetworkEnable - // MNetworkChangeCallback "OnMatchEndCountChanged" - uint8_t m_nMatchEndCount; // 0x18f0 - // MNetworkEnable - // MNetworkChangeCallback "OnTeamIntroPeriodChanged" - bool m_bTeamIntroPeriod; // 0x18f1 -}; - -// Alignment: 5 -// Size: 0x118 -class C_RetakeGameRules : public -{ -public: - // MNetworkEnable - int32_t m_nMatchSeed; // 0xf8 - // MNetworkEnable - bool m_bBlockersPresent; // 0xfc - // MNetworkEnable - bool m_bRoundInProgress; // 0xfd - // MNetworkEnable - int32_t m_iFirstSecondHalfRound; // 0x100 - // MNetworkEnable - int32_t m_iBombSite; // 0x104 -}; - -// Alignment: 13 -// Size: 0x68 -struct CSPerRoundStats_t : public -{ -public: - // MNetworkEnable - int32_t m_iKills; // 0x30 - // MNetworkEnable - int32_t m_iDeaths; // 0x34 - // MNetworkEnable - int32_t m_iAssists; // 0x38 - // MNetworkEnable - // MNetworkUserGroup "AllPlayersDuringFreezePeriod" - int32_t m_iDamage; // 0x3c - // MNetworkEnable - // MNetworkUserGroup "TeammateAndSpectatorExclusive" - int32_t m_iEquipmentValue; // 0x40 - // MNetworkEnable - // MNetworkUserGroup "TeammateAndSpectatorExclusive" - int32_t m_iMoneySaved; // 0x44 - // MNetworkEnable - // MNetworkUserGroup "TeammateAndSpectatorExclusive" - int32_t m_iKillReward; // 0x48 - // MNetworkEnable - int32_t m_iLiveTime; // 0x4c - // MNetworkEnable - int32_t m_iHeadShotKills; // 0x50 - // MNetworkEnable - // MNetworkUserGroup "AllPlayersDuringFreezePeriod" - int32_t m_iObjective; // 0x54 - // MNetworkEnable - // MNetworkUserGroup "TeammateAndSpectatorExclusive" - int32_t m_iCashEarned; // 0x58 - // MNetworkEnable - // MNetworkUserGroup "AllPlayersDuringFreezePeriod" - int32_t m_iUtilityDamage; // 0x5c - // MNetworkEnable - // MNetworkUserGroup "AllPlayersDuringFreezePeriod" - int32_t m_iEnemiesFlashed; // 0x60 -}; - -// Alignment: 3 -// Size: 0x78 -struct CSMatchStats_t : public CSPerRoundStats_t -{ -public: - // MNetworkEnable - int32_t m_iEnemy5Ks; // 0x68 - // MNetworkEnable - int32_t m_iEnemy4Ks; // 0x6c - // MNetworkEnable - int32_t m_iEnemy3Ks; // 0x70 -}; - -// Alignment: 4 -// Size: 0x9d0 -class C_CSGO_TeamPreviewCharacterPosition : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - int32_t m_nOrdinal; // 0x538 - // MNetworkEnable - CUtlString m_sWeaponName; // 0x540 - // MNetworkEnable - uint64_t m_xuid; // 0x548 - // MNetworkEnable - C_EconItemView m_weaponItem; // 0x550 -}; - -// Alignment: 0 -// Size: 0x9d0 -class C_CSGO_TeamSelectCharacterPosition : public C_CSGO_TeamPreviewCharacterPosition, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x9d0 -class C_CSGO_TeamSelectTerroristPosition : public C_CSGO_TeamSelectCharacterPosition, C_CSGO_TeamPreviewCharacterPosition, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x9d0 -class C_CSGO_TeamSelectCounterTerroristPosition : public C_CSGO_TeamSelectCharacterPosition, C_CSGO_TeamPreviewCharacterPosition, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x9d0 -class C_CSGO_TeamIntroCharacterPosition : public C_CSGO_TeamPreviewCharacterPosition, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x9d0 -class C_CSGO_TeamIntroTerroristPosition : public C_CSGO_TeamIntroCharacterPosition, C_CSGO_TeamPreviewCharacterPosition, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x9d0 -class C_CSGO_TeamIntroCounterTerroristPosition : public C_CSGO_TeamIntroCharacterPosition, C_CSGO_TeamPreviewCharacterPosition, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 3 -// Size: 0x848 -class CCSPlayer_ActionTrackingServices : public CPlayerPawnComponent -{ -public: - // MNetworkEnable - bool m_bIsRescuing; // 0x40 - // MNetworkEnable - int32[256] m_iWeaponPurchasesThisMatch; // 0x44 - // MNetworkEnable - int32[256] m_iWeaponPurchasesThisRound; // 0x444 -}; - -// Alignment: 5 -// Size: 0x588 -class C_PlayerPing : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - CHandle< C_BaseEntity > m_hPlayer; // 0x568 - // MNetworkEnable - CHandle< C_BaseEntity > m_hPingedEntity; // 0x56c - // MNetworkEnable - int32_t m_iType; // 0x570 - // MNetworkEnable - bool m_bUrgent; // 0x574 - // MNetworkEnable - char[18] m_szPlaceName; // 0x575 -}; - -// Alignment: 1 -// Size: 0x48 -class CCSPlayer_PingServices : public CPlayerPawnComponent -{ -public: - // MNetworkEnable - CHandle< C_BaseEntity > m_hPlayerPing; // 0x40 -}; - -// Alignment: 10 -// Size: 0x5d0 -class C_CSPlayerResource : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - bool[12] m_bHostageAlive; // 0x538 - // MNetworkEnable - bool[12] m_isHostageFollowingSomeone; // 0x544 - // MNetworkEnable - CEntityIndex[12] m_iHostageEntityIDs; // 0x550 - // MNetworkEnable - Vector m_bombsiteCenterA; // 0x580 - // MNetworkEnable - Vector m_bombsiteCenterB; // 0x58c - // MNetworkEnable - int32[4] m_hostageRescueX; // 0x598 - // MNetworkEnable - int32[4] m_hostageRescueY; // 0x5a8 - // MNetworkEnable - int32[4] m_hostageRescueZ; // 0x5b8 - // MNetworkEnable - bool m_bEndMatchNextMapAllVoted; // 0x5c8 - bool m_foundGoalPositions; // 0x5c9 -}; - -// Alignment: 1 -// Size: 0x80 -class CCSPlayer_BulletServices : public CPlayerPawnComponent -{ -public: - // MNetworkEnable - int32_t m_totalHitsOnServer; // 0x40 -}; - -// Alignment: 2 -// Size: 0x250 -class CCSPlayer_CameraServices : public CPlayer_CameraServices, CPlayerPawnComponent -{ -public: - float m_flLastShotFOV; // 0x248 - float m_flDeathCamTilt; // 0x24c -}; - -// Alignment: 2 -// Size: 0x48 -class CCSPlayer_HostageServices : public CPlayerPawnComponent -{ -public: - // MNetworkEnable - CHandle< C_BaseEntity > m_hCarriedHostage; // 0x40 - // MNetworkEnable - CHandle< C_BaseEntity > m_hCarriedHostageProp; // 0x44 -}; - -// Alignment: 3 -// Size: 0x48 -class CCSPlayer_ItemServices : public CPlayer_ItemServices, CPlayerPawnComponent -{ -public: - // MNetworkEnable - bool m_bHasDefuser; // 0x40 - // MNetworkEnable - bool m_bHasHelmet; // 0x41 - // MNetworkEnable - bool m_bHasHeavyArmor; // 0x42 -}; - -// Alignment: 33 -// Size: 0x13a8 -class CCSPlayer_MovementServices : public CPlayer_MovementServices_Humanoid, CPlayer_MovementServices, CPlayerPawnComponent -{ -public: - // MNetworkEnable - float m_flMaxFallVelocity; // 0x1f8 - // MNetworkEnable - // MNetworkEncoder - Vector m_vecLadderNormal; // 0x1fc - // MNetworkEnable - int32_t m_nLadderSurfacePropIndex; // 0x208 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bAllowAutoMovement; // 0x20c - // MNetworkEnable - float m_flDuckAmount; // 0x210 - // MNetworkEnable - float m_flDuckSpeed; // 0x214 - // MNetworkEnable - bool m_bDuckOverride; // 0x218 - float m_flDuckOffset; // 0x21c - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - // MNetworkPriority "32" - uint32_t m_nDuckTimeMsecs; // 0x220 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nDuckJumpTimeMsecs; // 0x224 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nJumpTimeMsecs; // 0x228 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - float m_flLastDuckTime; // 0x22c - Vector2D m_vecLastPositionAtFullCrouchSpeed; // 0x238 - bool m_duckUntilOnGround; // 0x240 - bool m_bHasWalkMovedSinceLastJump; // 0x241 - bool m_bInStuckTest; // 0x242 - uint64[64][3] m_CachedGetPointContents; // 0x248 - Vector[64][3] m_CachedGetPointContentsPoint; // 0x848 - float32[64][2] m_flStuckCheckTime; // 0x1150 - int32_t m_nTraceCount; // 0x1350 - int32_t m_StuckLast; // 0x1354 - bool m_bSpeedCropped; // 0x1358 - int32_t m_nOldWaterLevel; // 0x135c - float m_flWaterEntryTime; // 0x1360 - Vector m_vecForward; // 0x1364 - Vector m_vecLeft; // 0x1370 - Vector m_vecUp; // 0x137c - Vector m_vecPreviouslyPredictedOrigin; // 0x1388 - // MNetworkEnable - bool m_bOldJumpPressed; // 0x1394 - // MNetworkEnable - float m_flJumpUntil; // 0x1398 - // MNetworkEnable - float m_flJumpVel; // 0x139c - // MNetworkEnable - GameTime_t m_fStashGrenadeParameterWhen; // 0x13a0 - bool m_bUpdatePredictedOriginAfterDataUpdate; // 0x13a4 -}; - -// Alignment: 16 -// Size: 0xd0 -class CCSPlayer_ObserverServices : public CPlayer_ObserverServices, CPlayerPawnComponent -{ -public: - CEntityHandle m_hLastObserverTarget; // 0x58 - Vector m_vecObserverInterpolateOffset; // 0x5c - Vector m_vecObserverInterpStartPos; // 0x68 - float m_flObsInterp_PathLength; // 0x74 - Quaternion m_qObsInterp_OrientationStart; // 0x80 - Quaternion m_qObsInterp_OrientationTravelDir; // 0x90 - ObserverInterpState_t m_obsInterpState; // 0xa0 - bool m_bObserverInterpolationNeedsDeferredSetup; // 0xa4 - int32_t m_nLastKillerDamageTaken; // 0xa8 - int32_t m_nLastKillerHitsTaken; // 0xac - int32_t m_nLastKillerDamageGiven; // 0xb0 - int32_t m_nLastKillerHitsGiven; // 0xb4 - int32_t m_nLastKillerActualDamageGiven; // 0xb8 - int32_t m_nLastKillerActualDamageTaken; // 0xbc - bool m_bCanShowDeathPanelNow; // 0xc0 - bool m_bWasShowingDeathPanel; // 0xc1 -}; - -// Alignment: 0 -// Size: 0x40 -class CCSPlayer_UseServices : public CPlayer_UseServices, CPlayerPawnComponent -{ -public: - // no members available -}; - -// Alignment: 1 -// Size: 0x50 -class CCSPlayer_ViewModelServices : public CPlayerPawnComponent -{ -public: - // MNetworkEnable - CHandle< C_BaseViewModel >[3] m_hViewModel; // 0x40 -}; - -// Alignment: 3 -// Size: 0x60 -class CCSPlayer_WaterServices : public CPlayer_WaterServices, CPlayerPawnComponent -{ -public: - float m_flWaterJumpTime; // 0x40 - Vector m_vecWaterJumpVel; // 0x44 - float m_flSwimSoundTime; // 0x50 -}; - -// Alignment: 3 -// Size: 0xb0 -class CCSPlayer_WeaponServices : public CPlayer_WeaponServices, CPlayerPawnComponent -{ -public: - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - GameTime_t m_flNextAttack; // 0xa8 - // MNetworkEnable - bool m_bIsLookingAtWeapon; // 0xac - // MNetworkEnable - bool m_bIsHoldingLookAtWeapon; // 0xad -}; - -// Alignment: 4 -// Size: 0x110 -class CCSPlayerController_ActionTrackingServices : public CPlayerControllerComponent -{ -public: - // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< CSPerRoundStats_t > m_perRoundStats; // 0x40 - // MNetworkEnable - CSMatchStats_t m_matchStats; // 0x90 - // MNetworkEnable - int32_t m_iNumRoundKills; // 0x108 - // MNetworkEnable - int32_t m_iNumRoundKillsHeadshots; // 0x10c -}; - -// Alignment: 14 -// Size: 0x70 -class CDamageRecord : public -{ -public: - // MNetworkEnable - CHandle< C_CSPlayerPawnBase > m_PlayerDamager; // 0x28 - // MNetworkEnable - CHandle< C_CSPlayerPawnBase > m_PlayerRecipient; // 0x2c - // MNetworkEnable - CHandle< CCSPlayerController > m_hPlayerControllerDamager; // 0x30 - // MNetworkEnable - CHandle< CCSPlayerController > m_hPlayerControllerRecipient; // 0x34 - // MNetworkEnable - CUtlString m_szPlayerDamagerName; // 0x38 - // MNetworkEnable - CUtlString m_szPlayerRecipientName; // 0x40 - // MNetworkEnable - uint64_t m_DamagerXuid; // 0x48 - // MNetworkEnable - uint64_t m_RecipientXuid; // 0x50 - // MNetworkEnable - int32_t m_iDamage; // 0x58 - // MNetworkEnable - int32_t m_iActualHealthRemoved; // 0x5c - // MNetworkEnable - int32_t m_iNumHits; // 0x60 - // MNetworkEnable - int32_t m_iLastBulletUpdate; // 0x64 - // MNetworkEnable - bool m_bIsOtherEnemy; // 0x68 - // MNetworkEnable - EKillTypes_t m_killType; // 0x69 -}; - -// Alignment: 3 -// Size: 0x98 -class CCSPlayerController_DamageServices : public CPlayerControllerComponent -{ -public: - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusiveDuringRoundEnd" - // MNetworkChangeCallback "OnDamageListUpdate" - int32_t m_nSendUpdate; // 0x40 - int32_t m_nCachedSendUpdate; // 0x44 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusiveDuringRoundEnd" - C_UtlVectorEmbeddedNetworkVar< CDamageRecord > m_DamageList; // 0x48 -}; - -// Alignment: 5 -// Size: 0x58 -class CCSPlayerController_InGameMoneyServices : public CPlayerControllerComponent -{ -public: - // MNetworkEnable - int32_t m_iAccount; // 0x40 - // MNetworkEnable - int32_t m_iStartAccount; // 0x44 - // MNetworkEnable - int32_t m_iTotalCashSpent; // 0x48 - // MNetworkEnable - int32_t m_iCashSpentThisRound; // 0x4c - int32_t m_nPreviousAccount; // 0x50 -}; - -// Alignment: 8 -// Size: 0x110 -class CCSPlayerController_InventoryServices : public CPlayerControllerComponent -{ -public: - // MNetworkEnable - uint16_t m_unMusicID; // 0x40 - // MNetworkEnable - MedalRank_t[6] m_rank; // 0x44 - // MNetworkEnable - int32_t m_nPersonaDataPublicLevel; // 0x5c - // MNetworkEnable - int32_t m_nPersonaDataPublicCommendsLeader; // 0x60 - // MNetworkEnable - int32_t m_nPersonaDataPublicCommendsTeacher; // 0x64 - // MNetworkEnable - int32_t m_nPersonaDataPublicCommendsFriendly; // 0x68 - // MNetworkEnable - // MNetworkChangeCallback "OnTerroristLoadoutCacheChanged" - C_UtlVectorEmbeddedNetworkVar< C_EconItemView > m_vecTerroristLoadoutCache; // 0x70 - // MNetworkEnable - // MNetworkChangeCallback "OnCounterTerroristLoadoutCacheChanged" - C_UtlVectorEmbeddedNetworkVar< C_EconItemView > m_vecCounterTerroristLoadoutCache; // 0xc0 -}; - -// Alignment: 18 -// Size: 0x6c0 -class C_SurvivalGameRules : public -{ -public: - // MNetworkEnable - Vector m_vecPlayAreaMins; // 0x8 - // MNetworkEnable - Vector m_vecPlayAreaMaxs; // 0x14 - // MNetworkEnable - int32[64] m_iPlayerSpawnHexIndices; // 0x20 - // MNetworkEnable - ESurvivalSpawnTileState[224] m_SpawnTileState; // 0x120 - // MNetworkEnable - float m_flSpawnSelectionTimeStartCurrentStage; // 0x200 - // MNetworkEnable - float m_flSpawnSelectionTimeEndCurrentStage; // 0x204 - // MNetworkEnable - float m_flSpawnSelectionTimeEndLastStage; // 0x208 - // MNetworkEnable - SpawnStage_t m_spawnStage; // 0x20c - // MNetworkEnable - float m_flTabletHexOriginX; // 0x210 - // MNetworkEnable - float m_flTabletHexOriginY; // 0x214 - // MNetworkEnable - float m_flTabletHexSize; // 0x218 - // MNetworkEnable - uint64[64] m_roundData_playerXuids; // 0x220 - // MNetworkEnable - int32[64] m_roundData_playerPositions; // 0x420 - // MNetworkEnable - int32[64] m_roundData_playerTeams; // 0x520 - // MNetworkEnable - ESurvivalGameRuleDecision_t[16] m_SurvivalGameRuleDecisionTypes; // 0x620 - // MNetworkEnable - int32[16] m_SurvivalGameRuleDecisionValues; // 0x660 - // MNetworkEnable - float m_flSurvivalStartTime; // 0x6a0 - float m_flLastThinkTime; // 0x6a4 + float m_timescale; // 0x10 }; // Alignment: 7 -// Size: 0x560 -class C_DangerZone : public C_BaseEntity, CEntityInstance, IHandleEntity -{ +// Size: 0x228 +class CTimeline : public IntervalTimer +{ public: // MNetworkEnable - Vector m_vecDangerZoneOriginStartedAt; // 0x538 + float m_flValues[64]; // 0x10 // MNetworkEnable - GameTime_t m_flBombLaunchTime; // 0x544 + int32_t m_nValueCounts[64]; // 0x110 // MNetworkEnable - float m_flExtraRadius; // 0x548 + int32_t m_nBucketCount; // 0x210 // MNetworkEnable - GameTime_t m_flExtraRadiusStartTime; // 0x54c + float m_flInterval; // 0x214 // MNetworkEnable - float m_flExtraRadiusTotalLerpTime; // 0x550 + float m_flFinalValue; // 0x218 // MNetworkEnable - int32_t m_nDropOrder; // 0x554 + TimelineCompression_t m_nCompressionType; // 0x21c // MNetworkEnable - int32_t m_iWave; // 0x558 -}; - -// Alignment: 9 -// Size: 0x620 -class C_DangerZoneController : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - bool m_bDangerZoneControllerEnabled; // 0x538 - // MNetworkEnable - bool m_bMissionControlledExplosions; // 0x539 - // MNetworkEnable - Vector m_vecEndGameCircleStart; // 0x53c - // MNetworkEnable - Vector m_vecEndGameCircleEnd; // 0x548 - // MNetworkEnable - GameTime_t m_flStartTime; // 0x554 - // MNetworkEnable - float m_flFinalExpansionTime; // 0x558 - // MNetworkEnable - CHandle< C_DangerZone >[42] m_DangerZones; // 0x55c - // MNetworkEnable - GameTime_t[5] m_flWaveEndTimes; // 0x604 - // MNetworkEnable - CHandle< C_DangerZone > m_hTheFinalZone; // 0x618 -}; - -// Alignment: 4 -// Size: 0x560 -class C_GrassBurn : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flGrassBurnClearTime; // 0x538 - float m_bClientPendingClear; // 0x53c - float m_flGrassBurnClearTimeLocal; // 0x540 - CUtlVector< Vector > m_vecGrassBurnPositions; // 0x548 -}; - -// Alignment: 13 -// Size: 0xb0 -class C_IronSightController : public -{ -public: - bool m_bIronSightAvailable; // 0x10 - float m_flIronSightAmount; // 0x14 - float m_flIronSightAmountGained; // 0x18 - float m_flIronSightAmountBiased; // 0x1c - float m_flIronSightAmount_Interpolated; // 0x20 - float m_flIronSightAmountGained_Interpolated; // 0x24 - float m_flIronSightAmountBiased_Interpolated; // 0x28 - float m_flInterpolationLastUpdated; // 0x2c - QAngle[8] m_angDeltaAverage; // 0x30 - QAngle m_angViewLast; // 0x90 - Vector2D m_vecDotCoords; // 0x9c - float m_flDotBlur; // 0xa4 - float m_flSpeedRatio; // 0xa8 -}; - -// Alignment: 4 -// Size: 0x20 -struct CompositeMaterialMatchFilter_t : public -{ -public: - // MPropertyFriendlyName "Match Type" - // MPropertyAttributeChoiceEnumName - CompositeMaterialMatchFilterType_t m_nCompositeMaterialMatchFilterType; // 0x0 - // MPropertyFriendlyName "Name" - CUtlString m_strMatchFilter; // 0x8 - // MPropertyFriendlyName "Value" - // MPropertyAttrStateCallback - CUtlString m_strMatchValue; // 0x10 - // MPropertyFriendlyName "Pass when True" - bool m_bPassWhenTrue; // 0x18 -}; - -// Alignment: 31 -// Size: 0x258 -struct CompositeMaterialInputLooseVariable_t : public -{ -public: - // MPropertyFriendlyName "Name" - // MPropertyAttrStateCallback - CUtlString m_strName; // 0x0 - // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Expose Externally" - bool m_bExposeExternally; // 0x8 - // MPropertyFriendlyName "Exposed Friendly Name" - // MPropertyAttrStateCallback - CUtlString m_strExposedFriendlyName; // 0x10 - // MPropertyFriendlyName "Exposed Friendly Group" - // MPropertyAttrStateCallback - CUtlString m_strExposedFriendlyGroupName; // 0x18 - // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Type" - // MPropertyAttributeChoiceEnumName - CompositeMaterialInputLooseVariableType_t m_nVariableType; // 0x20 - // MPropertyFriendlyName "Value" - // MPropertyAttrStateCallback - bool m_bValueBoolean; // 0x24 - // MPropertyFriendlyName "X Value" - // MPropertyAttrStateCallback - // MPropertyAttributeRange "0 255" - int32_t m_nValueIntX; // 0x28 - // MPropertyFriendlyName "Y Value" - // MPropertyAttrStateCallback - // MPropertyAttributeRange "0 255" - int32_t m_nValueIntY; // 0x2c - // MPropertyFriendlyName "Z Value" - // MPropertyAttrStateCallback - // MPropertyAttributeRange "0 255" - int32_t m_nValueIntZ; // 0x30 - // MPropertyFriendlyName "W Value" - // MPropertyAttrStateCallback - // MPropertyAttributeRange "0 255" - int32_t m_nValueIntW; // 0x34 - // MPropertyFriendlyName "Specify Min/Max" - // MPropertyAttrStateCallback - bool m_bHasFloatBounds; // 0x38 - // MPropertyFriendlyName "X Value" - // MPropertyAttrStateCallback - // MPropertyAttributeRange "0.0 1.0" - float m_flValueFloatX; // 0x3c - // MPropertyFriendlyName "X Min" - // MPropertyAttrStateCallback - float m_flValueFloatX_Min; // 0x40 - // MPropertyFriendlyName "X Max" - // MPropertyAttrStateCallback - float m_flValueFloatX_Max; // 0x44 - // MPropertyFriendlyName "Y Value" - // MPropertyAttrStateCallback - // MPropertyAttributeRange "0.0 1.0" - float m_flValueFloatY; // 0x48 - // MPropertyFriendlyName "Y Min" - // MPropertyAttrStateCallback - float m_flValueFloatY_Min; // 0x4c - // MPropertyFriendlyName "Y Max" - // MPropertyAttrStateCallback - float m_flValueFloatY_Max; // 0x50 - // MPropertyFriendlyName "Z Value" - // MPropertyAttrStateCallback - // MPropertyAttributeRange "0.0 1.0" - float m_flValueFloatZ; // 0x54 - // MPropertyFriendlyName "Z Min" - // MPropertyAttrStateCallback - float m_flValueFloatZ_Min; // 0x58 - // MPropertyFriendlyName "Z Max" - // MPropertyAttrStateCallback - float m_flValueFloatZ_Max; // 0x5c - // MPropertyFriendlyName "W Value" - // MPropertyAttrStateCallback - // MPropertyAttributeRange "0.0 1.0" - float m_flValueFloatW; // 0x60 - // MPropertyFriendlyName "W Min" - // MPropertyAttrStateCallback - float m_flValueFloatW_Min; // 0x64 - // MPropertyFriendlyName "W Max" - // MPropertyAttrStateCallback - float m_flValueFloatW_Max; // 0x68 - // MPropertyFriendlyName "Value" - // MPropertyAttrStateCallback - Color m_cValueColor4; // 0x6c - // MPropertyFriendlyName "Value" - // MPropertyAttrStateCallback - CompositeMaterialVarSystemVar_t m_nValueSystemVar; // 0x70 - // MPropertyFriendlyName "Material" - // MPropertyAttributeEditor "AssetBrowse( vmat )" - // MPropertyAttrStateCallback - CResourceName m_strResourceMaterial; // 0x78 - // MPropertyFriendlyName "Texture" - // MPropertyAttributeEditor "AssetBrowse( jpg, png, psd, tga )" - // MPropertyAttrStateCallback - CUtlString m_strTextureContentAssetPath; // 0x158 - // MPropertyHideField - CResourceName m_strTextureRuntimeResourcePath; // 0x160 - // MPropertyHideField - CUtlString m_strTextureCompilationVtexTemplate; // 0x240 - // MPropertyFriendlyName "Texture Type" - // MPropertyAttrStateCallback - CompositeMaterialInputTextureType_t m_nTextureType; // 0x248 - // MPropertyFriendlyName "String" - // MPropertyAttrStateCallback - CUtlString m_strString; // 0x250 -}; - -// Alignment: 5 -// Size: 0x28 -struct CompMatMutatorCondition_t : public -{ -public: - // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Condition" - // MPropertyAttributeChoiceEnumName - CompMatPropertyMutatorConditionType_t m_nMutatorCondition; // 0x0 - // MPropertyFriendlyName "Container Name" - // MPropertyAttrStateCallback - CUtlString m_strMutatorConditionContainerName; // 0x8 - // MPropertyFriendlyName "Variable Name" - // MPropertyAttrStateCallback - CUtlString m_strMutatorConditionContainerVarName; // 0x10 - // MPropertyFriendlyName "Variable Value" - // MPropertyAttrStateCallback - CUtlString m_strMutatorConditionContainerVarValue; // 0x18 - // MPropertyFriendlyName "Pass when True" - bool m_bPassWhenTrue; // 0x20 -}; - -// Alignment: 25 -// Size: 0x340 -struct CompMatPropertyMutator_t : public -{ -public: - // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Enabled" - bool m_bEnabled; // 0x0 - // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Mutator Command" - // MPropertyAttributeChoiceEnumName - // MPropertyAttrStateCallback - CompMatPropertyMutatorType_t m_nMutatorCommandType; // 0x4 - // MPropertyFriendlyName "Container to Init With" - // MPropertyAttrStateCallback - CUtlString m_strInitWith_Container; // 0x8 - // MPropertyFriendlyName "Input Container" - // MPropertyAttrStateCallback - CUtlString m_strCopyProperty_InputContainerSrc; // 0x10 - // MPropertyFriendlyName "Input Container Property" - // MPropertyAttrStateCallback - CUtlString m_strCopyProperty_InputContainerProperty; // 0x18 - // MPropertyFriendlyName "Target Property" - // MPropertyAttrStateCallback - CUtlString m_strCopyProperty_TargetProperty; // 0x20 - // MPropertyFriendlyName "Seed Input Var" - // MPropertyAttrStateCallback - CUtlString m_strRandomRollInputVars_SeedInputVar; // 0x28 - // MPropertyFriendlyName "Input Vars" - // MPropertyAttrStateCallback - CUtlVector< CUtlString > m_vecRandomRollInputVars_InputVarsToRoll; // 0x30 - // MPropertyFriendlyName "Input Container" - // MPropertyAttrStateCallback - CUtlString m_strCopyMatchingKeys_InputContainerSrc; // 0x48 - // MPropertyFriendlyName "Input Container" - // MPropertyAttrStateCallback - CUtlString m_strCopyKeysWithSuffix_InputContainerSrc; // 0x50 - // MPropertyFriendlyName "Find Suffix" - // MPropertyAttrStateCallback - CUtlString m_strCopyKeysWithSuffix_FindSuffix; // 0x58 - // MPropertyFriendlyName "Replace Suffix" - // MPropertyAttrStateCallback - CUtlString m_strCopyKeysWithSuffix_ReplaceSuffix; // 0x60 - // MPropertyFriendlyName "Value" - // MPropertyAttrStateCallback - CompositeMaterialInputLooseVariable_t m_nSetValue_Value; // 0x68 - // MPropertyFriendlyName "Target Texture Param" - // MPropertyAttrStateCallback - CUtlString m_strGenerateTexture_TargetParam; // 0x2c0 - // MPropertyFriendlyName "Initial Container" - // MPropertyAttrStateCallback - CUtlString m_strGenerateTexture_InitialContainer; // 0x2c8 - // MPropertyFriendlyName "Resolution" - // MPropertyAttrStateCallback - int32_t m_nResolution; // 0x2d0 - // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Splat Debug info on Texture" - // MPropertyAttrStateCallback - bool m_bSplatDebugInfo; // 0x2d4 - // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Capture in RenderDoc" - // MPropertyAttrStateCallback - bool m_bCaptureInRenderDoc; // 0x2d5 - // MPropertyFriendlyName "Texture Generation Instructions" - // MPropertyAttrStateCallback - CUtlVector< CompMatPropertyMutator_t > m_vecTexGenInstructions; // 0x2d8 - // MPropertyFriendlyName "Mutators" - // MPropertyAttrStateCallback - CUtlVector< CompMatPropertyMutator_t > m_vecConditionalMutators; // 0x2f0 - // MPropertyFriendlyName "Container to Pop" - // MPropertyAttrStateCallback - CUtlString m_strPopInputQueue_Container; // 0x308 - // MPropertyFriendlyName "Input Container" - // MPropertyAttrStateCallback - CUtlString m_strDrawText_InputContainerSrc; // 0x310 - // MPropertyFriendlyName "Input Container Property" - // MPropertyAttrStateCallback - CUtlString m_strDrawText_InputContainerProperty; // 0x318 - // MPropertyFriendlyName "Text Position" - // MPropertyAttrStateCallback - Vector2D m_vecDrawText_Position; // 0x320 - // MPropertyFriendlyName "Conditions" - // MPropertyAttrStateCallback - CUtlVector< CompMatMutatorCondition_t > m_vecConditions; // 0x328 -}; - -// Alignment: 8 -// Size: 0x138 -struct CompositeMaterialInputContainer_t : public -{ -public: - // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Enabled" - bool m_bEnabled; // 0x0 - // MPropertyAutoRebuildOnChange - // MPropertyFriendlyName "Input Container Source" - // MPropertyAttributeChoiceEnumName - // MPropertyAttrStateCallback - CompositeMaterialInputContainerSourceType_t m_nCompositeMaterialInputContainerSourceType; // 0x4 - // MPropertyFriendlyName "Specific Material" - // MPropertyAttributeEditor "AssetBrowse( vmat )" - // MPropertyAttrStateCallback - CResourceName m_strSpecificContainerMaterial; // 0x8 - // MPropertyFriendlyName "Attribute Name" - // MPropertyAttrStateCallback - CUtlString m_strAttrName; // 0xe8 - // MPropertyFriendlyName "Alias" - // MPropertyAttrStateCallback - CUtlString m_strAlias; // 0xf0 - // MPropertyFriendlyName "Variables" - // MPropertyAttrStateCallback - CUtlVector< CompositeMaterialInputLooseVariable_t > m_vecLooseVariables; // 0xf8 - // MPropertyFriendlyName "Attribute Name" - // MPropertyAttrStateCallback - CUtlString m_strAttrNameForVar; // 0x110 - // MPropertyFriendlyName "Expose Externally" - // MPropertyAttrStateCallback - bool m_bExposeExternally; // 0x118 -}; - -// Alignment: 4 -// Size: 0x60 -struct CompositeMaterialAssemblyProcedure_t : public -{ -public: - // MPropertyFriendlyName "Includes" - // MPropertyAttributeEditor "AssetBrowse( vcompmat )" - CUtlVector< CResourceName > m_vecCompMatIncludes; // 0x0 - // MPropertyFriendlyName "Match Filters" - CUtlVector< CompositeMaterialMatchFilter_t > m_vecMatchFilters; // 0x18 - // MPropertyFriendlyName "Composite Inputs" - CUtlVector< CompositeMaterialInputContainer_t > m_vecCompositeInputContainers; // 0x30 - // MPropertyFriendlyName "Property Mutators" - CUtlVector< CompMatPropertyMutator_t > m_vecPropertyMutators; // 0x48 -}; - -// Alignment: 1 -// Size: 0x50 -struct GeneratedTextureHandle_t : public -{ -public: - // MPropertyFriendlyName "Generated Texture" - // MPropertyAttributeEditor "CompositeMaterialTextureViewer" - CUtlString m_strBitmapName; // 0x8 -}; - -// Alignment: 4 -// Size: 0x60 -struct CompositeMaterial_t : public -{ -public: - // MPropertyGroupName "Target Material" - // MPropertyAttributeEditor "CompositeMaterialKVInspector" - KeyValues3 m_TargetKVs; // 0x8 - // MPropertyGroupName "Pre-Generated Output Material" - // MPropertyAttributeEditor "CompositeMaterialKVInspector" - KeyValues3 m_PreGenerationKVs; // 0x18 - // MPropertyGroupName "Generated Composite Material" - // MPropertyAttributeEditor "CompositeMaterialKVInspector" - KeyValues3 m_FinalKVs; // 0x28 - // MPropertyFriendlyName "Generated Textures" - CUtlVector< GeneratedTextureHandle_t > m_vecGeneratedTextures; // 0x40 -}; - -// Alignment: 8 -// Size: 0x218 -struct CompositeMaterialEditorPoint_t : public -{ -public: - // MPropertyGroupName "Preview Model" - // MPropertyFriendlyName "Target Model" - // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CResourceName m_ModelName; // 0x0 - // MPropertyGroupName "Preview Model" - // MPropertyFriendlyName "Animation" - int32_t m_nSequenceIndex; // 0xe0 - // MPropertyGroupName "Preview Model" - // MPropertyFriendlyName "Animation Cycle" - // MPropertyAttributeRange "0.0 1.0" - float m_flCycle; // 0xe4 - // MPropertyGroupName "Preview Model" - // MPropertyFriendlyName "Model Preview State" - // MPropertyAttributeEditor "CompositeMaterialUserModelStateSetting" - KeyValues3 m_KVModelStateChoices; // 0xe8 - // MPropertyAutoRebuildOnChange - // MPropertyGroupName "Preview Model" - // MPropertyFriendlyName "Enable Child Model" - bool m_bEnableChildModel; // 0xf8 - // MPropertyGroupName "Preview Model" - // MPropertyFriendlyName "Child Model" - // MPropertyAttributeEditor "AssetBrowse( vmdl )" - // MPropertyAttrStateCallback - CResourceName m_ChildModelName; // 0x100 - // MPropertyGroupName "Composite Material Assembly" - // MPropertyFriendlyName "Composite Material Assembly Procedures" - CUtlVector< CompositeMaterialAssemblyProcedure_t > m_vecCompositeMaterialAssemblyProcedures; // 0x1e0 - // MPropertyFriendlyName "Generated Composite Materials" - CUtlVector< CompositeMaterial_t > m_vecCompositeMaterials; // 0x1f8 -}; - -// Alignment: 3 -// Size: 0x38 -class CCompositeMaterialEditorDoc : public -{ -public: - int32_t m_nVersion; // 0x8 - CUtlVector< CompositeMaterialEditorPoint_t > m_Points; // 0x10 - KeyValues3 m_KVthumbnail; // 0x28 -}; - -// Alignment: 43 -// Size: 0x4c0 -class CGlobalLightBase : public -{ -public: - bool m_bSpotLight; // 0x10 - Vector m_SpotLightOrigin; // 0x14 - QAngle m_SpotLightAngles; // 0x20 - Vector m_ShadowDirection; // 0x2c - Vector m_AmbientDirection; // 0x38 - Vector m_SpecularDirection; // 0x44 - Vector m_InspectorSpecularDirection; // 0x50 - float m_flSpecularPower; // 0x5c - float m_flSpecularIndependence; // 0x60 - Color m_SpecularColor; // 0x64 - bool m_bStartDisabled; // 0x68 - bool m_bEnabled; // 0x69 - Color m_LightColor; // 0x6a - Color m_AmbientColor1; // 0x6e - Color m_AmbientColor2; // 0x72 - Color m_AmbientColor3; // 0x76 - float m_flSunDistance; // 0x7c - float m_flFOV; // 0x80 - float m_flNearZ; // 0x84 - float m_flFarZ; // 0x88 - bool m_bEnableShadows; // 0x8c - bool m_bOldEnableShadows; // 0x8d - bool m_bBackgroundClearNotRequired; // 0x8e - float m_flCloudScale; // 0x90 - float m_flCloud1Speed; // 0x94 - float m_flCloud1Direction; // 0x98 - float m_flCloud2Speed; // 0x9c - float m_flCloud2Direction; // 0xa0 - float m_flAmbientScale1; // 0xa4 - float m_flAmbientScale2; // 0xa8 - float m_flGroundScale; // 0xac - float m_flLightScale; // 0xb0 - float m_flFoWDarkness; // 0xb4 - bool m_bEnableSeparateSkyboxFog; // 0xb8 - Vector m_vFowColor; // 0xbc - Vector m_ViewOrigin; // 0xc8 - QAngle m_ViewAngles; // 0xd4 - float m_flViewFoV; // 0xe0 - Vector[8] m_WorldPoints; // 0xe4 - Vector2D m_vFogOffsetLayer0; // 0x4a8 - Vector2D m_vFogOffsetLayer1; // 0x4b0 - CHandle< C_BaseEntity > m_hEnvWind; // 0x4b8 - CHandle< C_BaseEntity > m_hEnvSky; // 0x4bc -}; - -// Alignment: 1 -// Size: 0xa30 -class C_GlobalLight : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - uint16_t m_WindClothForceHandle; // 0xa00 - static C_GlobalLight*[5] &Get_sm_pGlobalLight(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GlobalLight")->m_static_fields[0]->m_instance);}; - static CUtlStringToken[5] &Get_sm_pSkyboxSlots(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GlobalLight")->m_static_fields[1]->m_instance);}; - static CUtlVector< C_GlobalLight* > &Get_sm_nonPrimaryGlobalLights(){ return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GlobalLight")->m_static_fields[2]->m_instance);}; -}; - -// Alignment: 10 -// Size: 0x588 -class C_CSGO_MapPreviewCameraPathNode : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - CUtlSymbolLarge m_szParentPathUniqueID; // 0x538 - int32_t m_nPathIndex; // 0x540 - Vector m_vInTangentLocal; // 0x544 - Vector m_vOutTangentLocal; // 0x550 - float m_flFOV; // 0x55c - float m_flSpeed; // 0x560 - float m_flEaseIn; // 0x564 - float m_flEaseOut; // 0x568 - Vector m_vInTangentWorld; // 0x56c - Vector m_vOutTangentWorld; // 0x578 -}; - -// Alignment: 8 -// Size: 0x598 -class C_CSGO_MapPreviewCameraPath : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - float m_flZFar; // 0x538 - float m_flZNear; // 0x53c - bool m_bLoop; // 0x540 - bool m_bVerticalFOV; // 0x541 - bool m_bConstantSpeed; // 0x542 - float m_flDuration; // 0x544 - float m_flPathLength; // 0x588 - float m_flPathDuration; // 0x58c -}; - -// Alignment: 0 -// Size: 0x70 -class CCSPlayer_GlowServices : public CPlayerPawnComponent -{ -public: - // no members available -}; - -// Alignment: 7 -// Size: 0x570 -class C_VoteController : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - // MNetworkChangeCallback "RecvProxy_VoteType" - int32_t m_iActiveIssueIndex; // 0x548 - // MNetworkEnable - int32_t m_iOnlyTeamToVote; // 0x54c - // MNetworkEnable - // MNetworkChangeCallback "RecvProxy_VoteOption" - int32[5] m_nVoteOptionCount; // 0x550 - // MNetworkEnable - int32_t m_nPotentialVotes; // 0x564 - bool m_bVotesDirty; // 0x568 - bool m_bTypeDirty; // 0x569 - // MNetworkEnable - bool m_bIsYesNoVote; // 0x56a -}; - -// Alignment: 17 -// Size: 0xe80 -class C_MapVetoPickController : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - int32_t m_nDraftType; // 0x548 - // MNetworkEnable - int32_t m_nTeamWinningCoinToss; // 0x54c - // MNetworkEnable - int32[64] m_nTeamWithFirstChoice; // 0x550 - // MNetworkEnable - int32[7] m_nVoteMapIdsList; // 0x650 - // MNetworkEnable - int32[64] m_nAccountIDs; // 0x66c - // MNetworkEnable - int32[64] m_nMapId0; // 0x76c - // MNetworkEnable - int32[64] m_nMapId1; // 0x86c - // MNetworkEnable - int32[64] m_nMapId2; // 0x96c - // MNetworkEnable - int32[64] m_nMapId3; // 0xa6c - // MNetworkEnable - int32[64] m_nMapId4; // 0xb6c - // MNetworkEnable - int32[64] m_nMapId5; // 0xc6c - // MNetworkEnable - int32[64] m_nStartingSide0; // 0xd6c - // MNetworkEnable - int32_t m_nCurrentPhase; // 0xe6c - // MNetworkEnable - int32_t m_nPhaseStartTick; // 0xe70 - // MNetworkEnable - int32_t m_nPhaseDurationTicks; // 0xe74 - int32_t m_nPostDataUpdateTick; // 0xe78 - bool m_bDisabledHud; // 0xe7c -}; - -// Alignment: 0 -// Size: 0x30 -class CPlayerSprayDecalRenderHelper : public -{ -public: - // no members available -}; - -// Alignment: 6 -// Size: 0x5b0 -class C_CSGO_TeamPreviewCamera : public C_CSGO_MapPreviewCameraPath, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - bool m_bDofEnabled; // 0x598 - float m_flDofNearBlurry; // 0x59c - float m_flDofNearCrisp; // 0x5a0 - float m_flDofFarCrisp; // 0x5a4 - float m_flDofFarBlurry; // 0x5a8 - float m_flDofTiltToGround; // 0x5ac -}; - -// Alignment: 0 -// Size: 0x5b0 -class C_CSGO_TeamSelectCamera : public C_CSGO_TeamPreviewCamera, C_CSGO_MapPreviewCameraPath, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x5b0 -class C_CSGO_TerroristTeamIntroCamera : public C_CSGO_TeamPreviewCamera, C_CSGO_MapPreviewCameraPath, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x5b0 -class C_CSGO_CounterTerroristTeamIntroCamera : public C_CSGO_TeamPreviewCamera, C_CSGO_MapPreviewCameraPath, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x5b0 -class C_CSGO_EndOfMatchCamera : public C_CSGO_TeamPreviewCamera, C_CSGO_MapPreviewCameraPath, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x9d0 -class C_CSGO_EndOfMatchCharacterPosition : public C_CSGO_TeamPreviewCharacterPosition, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x538 -class C_CSGO_EndOfMatchLineupEndpoint : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x538 -class C_CSGO_EndOfMatchLineupStart : public C_CSGO_EndOfMatchLineupEndpoint, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x538 -class C_CSGO_EndOfMatchLineupEnd : public C_CSGO_EndOfMatchLineupEndpoint, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 3 -// Size: 0x5c8 -class C_InfoMapRegion : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flRadius; // 0x538 - // MNetworkEnable - char[128] m_szLocToken; // 0x53c - C_InfoMapRegion* m_pNext; // 0x5c0 -}; - -// Alignment: 0 -// Size: 0x538 -class C_PointEntity : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 25 -// Size: 0x16b8 -class C_EnvCombinedLightProbeVolume : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - // MNetworkChangeCallback "StateChanged" - Color m_Color; // 0x1608 - // MNetworkEnable - // MNetworkChangeCallback "StateChanged" - float m_flBrightness; // 0x160c - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1610 - // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x1618 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1620 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1628 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1630 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1638 - // MNetworkEnable - Vector m_vBoxMins; // 0x1640 - // MNetworkEnable - Vector m_vBoxMaxs; // 0x164c - // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x1658 - // MNetworkEnable - bool m_bMoveable; // 0x1660 - // MNetworkEnable - int32_t m_nHandshake; // 0x1664 - // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x1668 - // MNetworkEnable - int32_t m_nPriority; // 0x166c - // MNetworkEnable - bool m_bStartDisabled; // 0x1670 - // MNetworkEnable - float m_flEdgeFadeDist; // 0x1674 - // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x1678 - // MNetworkEnable - int32_t m_nLightProbeSizeX; // 0x1684 - // MNetworkEnable - int32_t m_nLightProbeSizeY; // 0x1688 - // MNetworkEnable - int32_t m_nLightProbeSizeZ; // 0x168c - // MNetworkEnable - int32_t m_nLightProbeAtlasX; // 0x1690 - // MNetworkEnable - int32_t m_nLightProbeAtlasY; // 0x1694 - // MNetworkEnable - int32_t m_nLightProbeAtlasZ; // 0x1698 - // MNetworkEnable - bool m_bEnabled; // 0x16b1 -}; - -// Alignment: 19 -// Size: 0x698 -class C_EnvCubemap : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x628 - // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x630 - // MNetworkEnable - float m_flInfluenceRadius; // 0x634 - // MNetworkEnable - Vector m_vBoxProjectMins; // 0x638 - // MNetworkEnable - Vector m_vBoxProjectMaxs; // 0x644 - // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x650 - // MNetworkEnable - bool m_bMoveable; // 0x658 - // MNetworkEnable - int32_t m_nHandshake; // 0x65c - // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x660 - // MNetworkEnable - int32_t m_nPriority; // 0x664 - // MNetworkEnable - float m_flEdgeFadeDist; // 0x668 - // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x66c - // MNetworkEnable - float m_flDiffuseScale; // 0x678 - // MNetworkEnable - bool m_bStartDisabled; // 0x67c - // MNetworkEnable - bool m_bDefaultEnvMap; // 0x67d - // MNetworkEnable - bool m_bDefaultSpecEnvMap; // 0x67e - // MNetworkEnable - bool m_bIndoorCubeMap; // 0x67f - // MNetworkEnable - bool m_bCopyDiffuseFromDefaultCubemap; // 0x680 - // MNetworkEnable - bool m_bEnabled; // 0x690 -}; - -// Alignment: 0 -// Size: 0x698 -class C_EnvCubemapBox : public C_EnvCubemap, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 18 -// Size: 0x588 -class C_EnvCubemapFog : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flEndDistance; // 0x538 - // MNetworkEnable - float m_flStartDistance; // 0x53c - // MNetworkEnable - float m_flFogFalloffExponent; // 0x540 - // MNetworkEnable - bool m_bHeightFogEnabled; // 0x544 - // MNetworkEnable - float m_flFogHeightWidth; // 0x548 - // MNetworkEnable - float m_flFogHeightEnd; // 0x54c - // MNetworkEnable - float m_flFogHeightStart; // 0x550 - // MNetworkEnable - float m_flFogHeightExponent; // 0x554 - // MNetworkEnable - float m_flLODBias; // 0x558 - // MNetworkEnable - bool m_bActive; // 0x55c - // MNetworkEnable - bool m_bStartDisabled; // 0x55d - // MNetworkEnable - float m_flFogMaxOpacity; // 0x560 - // MNetworkEnable - int32_t m_nCubemapSourceType; // 0x564 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x568 - // MNetworkEnable - CUtlSymbolLarge m_iszSkyEntity; // 0x570 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x578 - // MNetworkEnable - bool m_bHasHeightFogEnd; // 0x580 - bool m_bFirstTime; // 0x581 -}; - -// Alignment: 16 -// Size: 0x5d0 -class C_GradientFog : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hGradientFogTexture; // 0x538 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogStartDistance; // 0x540 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogEndDistance; // 0x544 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - bool m_bHeightFogEnabled; // 0x548 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogStartHeight; // 0x54c - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogEndHeight; // 0x550 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFarZ; // 0x554 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogMaxOpacity; // 0x558 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogFalloffExponent; // 0x55c - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogVerticalExponent; // 0x560 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - Color m_fogColor; // 0x564 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogStrength; // 0x568 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFadeTime; // 0x56c - // MNetworkEnable - bool m_bStartDisabled; // 0x570 - // MNetworkEnable - bool m_bIsEnabled; // 0x571 - bool m_bGradientFogNeedsTextures; // 0x572 - static C_GradientFog* &Get_sm_pGradientFog(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GradientFog")->m_static_fields[0]->m_instance);}; -}; - -// Alignment: 18 -// Size: 0x1590 -class C_EnvLightProbeVolume : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1518 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1520 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1528 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1530 - // MNetworkEnable - Vector m_vBoxMins; // 0x1538 - // MNetworkEnable - Vector m_vBoxMaxs; // 0x1544 - // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x1550 - // MNetworkEnable - bool m_bMoveable; // 0x1558 - // MNetworkEnable - int32_t m_nHandshake; // 0x155c - // MNetworkEnable - int32_t m_nPriority; // 0x1560 - // MNetworkEnable - bool m_bStartDisabled; // 0x1564 - // MNetworkEnable - int32_t m_nLightProbeSizeX; // 0x1568 - // MNetworkEnable - int32_t m_nLightProbeSizeY; // 0x156c - // MNetworkEnable - int32_t m_nLightProbeSizeZ; // 0x1570 - // MNetworkEnable - int32_t m_nLightProbeAtlasX; // 0x1574 - // MNetworkEnable - int32_t m_nLightProbeAtlasY; // 0x1578 - // MNetworkEnable - int32_t m_nLightProbeAtlasZ; // 0x157c - // MNetworkEnable - bool m_bEnabled; // 0x1589 -}; - -// Alignment: 8 -// Size: 0x560 -class C_TonemapController2 : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flAutoExposureMin; // 0x538 - // MNetworkEnable - float m_flAutoExposureMax; // 0x53c - // MNetworkEnable - float m_flTonemapPercentTarget; // 0x540 - // MNetworkEnable - float m_flTonemapPercentBrightPixels; // 0x544 - // MNetworkEnable - float m_flTonemapMinAvgLum; // 0x548 - // MNetworkEnable - float m_flExposureAdaptationSpeedUp; // 0x54c - // MNetworkEnable - float m_flExposureAdaptationSpeedDown; // 0x550 - // MNetworkEnable - float m_flTonemapEVSmoothingRange; // 0x554 -}; - -// Alignment: 28 -// Size: 0x5b8 -class C_EnvVolumetricFogController : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flScattering; // 0x538 - // MNetworkEnable - float m_flAnisotropy; // 0x53c - // MNetworkEnable - float m_flFadeSpeed; // 0x540 - // MNetworkEnable - float m_flDrawDistance; // 0x544 - // MNetworkEnable - float m_flFadeInStart; // 0x548 - // MNetworkEnable - float m_flFadeInEnd; // 0x54c - // MNetworkEnable - float m_flIndirectStrength; // 0x550 - // MNetworkEnable - int32_t m_nIndirectTextureDimX; // 0x554 - // MNetworkEnable - int32_t m_nIndirectTextureDimY; // 0x558 - // MNetworkEnable - int32_t m_nIndirectTextureDimZ; // 0x55c - // MNetworkEnable - Vector m_vBoxMins; // 0x560 - // MNetworkEnable - Vector m_vBoxMaxs; // 0x56c - // MNetworkEnable - bool m_bActive; // 0x578 - // MNetworkEnable - GameTime_t m_flStartAnisoTime; // 0x57c - // MNetworkEnable - GameTime_t m_flStartScatterTime; // 0x580 - // MNetworkEnable - GameTime_t m_flStartDrawDistanceTime; // 0x584 - // MNetworkEnable - float m_flStartAnisotropy; // 0x588 - // MNetworkEnable - float m_flStartScattering; // 0x58c - // MNetworkEnable - float m_flStartDrawDistance; // 0x590 - // MNetworkEnable - float m_flDefaultAnisotropy; // 0x594 - // MNetworkEnable - float m_flDefaultScattering; // 0x598 - // MNetworkEnable - float m_flDefaultDrawDistance; // 0x59c - // MNetworkEnable - bool m_bStartDisabled; // 0x5a0 - // MNetworkEnable - bool m_bEnableIndirect; // 0x5a1 - // MNetworkEnable - bool m_bIsMaster; // 0x5a2 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x5a8 - // MNetworkEnable - int32_t m_nForceRefreshCount; // 0x5b0 - bool m_bFirstTime; // 0x5b4 -}; - -// Alignment: 7 -// Size: 0x568 -class C_EnvVolumetricFogVolume : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - bool m_bActive; // 0x538 - // MNetworkEnable - Vector m_vBoxMins; // 0x53c - // MNetworkEnable - Vector m_vBoxMaxs; // 0x548 - // MNetworkEnable - bool m_bStartDisabled; // 0x554 - // MNetworkEnable - float m_flStrength; // 0x558 - // MNetworkEnable - int32_t m_nFalloffShape; // 0x55c - // MNetworkEnable - float m_flFalloffExponent; // 0x560 -}; - -// Alignment: 3 -// Size: 0x5a8 -class C_FogController : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - fogparams_t m_fog; // 0x538 - bool m_bUseAngles; // 0x5a0 - int32_t m_iChangedVariables; // 0x5a4 -}; - -// Alignment: 0 -// Size: 0x538 -class CInfoTarget : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x538 -class CInfoParticleTarget : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 3 -// Size: 0x550 -class C_InfoVisibilityBox : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - int32_t m_nMode; // 0x53c - // MNetworkEnable - Vector m_vBoxSize; // 0x540 - // MNetworkEnable - bool m_bEnabled; // 0x54c -}; - -// Alignment: 8 -// Size: 0x580 -class CInfoWorldLayer : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x538 - // MNetworkEnable - CUtlSymbolLarge m_worldName; // 0x560 - // MNetworkEnable - CUtlSymbolLarge m_layerName; // 0x568 - // MNetworkEnable - bool m_bWorldLayerVisible; // 0x570 - // MNetworkEnable - bool m_bEntitiesSpawned; // 0x571 - bool m_bCreateAsChildSpawnGroup; // 0x572 - uint32_t m_hLayerSpawnGroup; // 0x574 - bool m_bWorldLayerActuallyVisible; // 0x578 -}; - -// Alignment: 24 -// Size: 0x598 -class C_PointCamera : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_FOV; // 0x538 - // MNetworkEnable - float m_Resolution; // 0x53c - // MNetworkEnable - bool m_bFogEnable; // 0x540 - // MNetworkEnable - Color m_FogColor; // 0x541 - // MNetworkEnable - float m_flFogStart; // 0x548 - // MNetworkEnable - float m_flFogEnd; // 0x54c - // MNetworkEnable - float m_flFogMaxDensity; // 0x550 - // MNetworkEnable - bool m_bActive; // 0x554 - // MNetworkEnable - bool m_bUseScreenAspectRatio; // 0x555 - // MNetworkEnable - float m_flAspectRatio; // 0x558 - // MNetworkEnable - bool m_bNoSky; // 0x55c - // MNetworkEnable - float m_fBrightness; // 0x560 - // MNetworkEnable - float m_flZFar; // 0x564 - // MNetworkEnable - float m_flZNear; // 0x568 - // MNetworkEnable - bool m_bDofEnabled; // 0x56c - // MNetworkEnable - float m_flDofNearBlurry; // 0x570 - // MNetworkEnable - float m_flDofNearCrisp; // 0x574 - // MNetworkEnable - float m_flDofFarCrisp; // 0x578 - // MNetworkEnable - float m_flDofFarBlurry; // 0x57c - // MNetworkEnable - float m_flDofTiltToGround; // 0x580 - float m_TargetFOV; // 0x584 - float m_DegreesPerSecond; // 0x588 - bool m_bIsOn; // 0x58c - C_PointCamera* m_pNext; // 0x590 -}; - -// Alignment: 1 -// Size: 0x5a0 -class C_PointCameraVFOV : public C_PointCamera, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - float m_flVerticalFOV; // 0x598 -}; - -// Alignment: 12 -// Size: 0x5c8 -class CPointTemplate : public CLogicalEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - CUtlSymbolLarge m_iszWorldName; // 0x538 - CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x540 - CUtlSymbolLarge m_iszEntityFilterName; // 0x548 - float m_flTimeoutInterval; // 0x550 - bool m_bAsynchronouslySpawnEntities; // 0x554 - CEntityIOOutput m_pOutputOnSpawned; // 0x558 - PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x580 - PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x584 - CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x588 - CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x5a0 - HSCRIPT m_ScriptSpawnCallback; // 0x5b8 - HSCRIPT m_ScriptCallbackScope; // 0x5c0 -}; - -// Alignment: 4 -// Size: 0x560 -class C_SoundAreaEntityBase : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - bool m_bDisabled; // 0x538 - bool m_bWasEnabled; // 0x540 - // MNetworkEnable - CUtlSymbolLarge m_iszSoundAreaType; // 0x548 - // MNetworkEnable - Vector m_vPos; // 0x550 -}; - -// Alignment: 1 -// Size: 0x568 -class C_SoundAreaEntitySphere : public C_SoundAreaEntityBase, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flRadius; // 0x560 -}; - -// Alignment: 2 -// Size: 0x578 -class C_SoundAreaEntityOrientedBox : public C_SoundAreaEntityBase, C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - Vector m_vMin; // 0x560 - // MNetworkEnable - Vector m_vMax; // 0x56c -}; - -// Alignment: 4 -// Size: 0x5f0 -class C_Team : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - // MNetworkAlias "m_aPlayers" - C_NetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x538 - // MNetworkEnable - // MNetworkAlias "m_aPawns" - C_NetworkUtlVectorBase< CHandle< C_BasePlayerPawn > > m_aPlayers; // 0x550 - // MNetworkEnable - int32_t m_iScore; // 0x568 - // MNetworkEnable - char[129] m_szTeamname; // 0x56c -}; - -// Alignment: 15 -// Size: 0x6a0 -class CBasePlayerController : public C_BaseEntity, CEntityInstance, IHandleEntity -{ -public: - int32_t m_nFinalPredictedTick; // 0x540 - C_CommandContext m_CommandContext; // 0x548 - uint64_t m_nInButtonsWhichAreToggles; // 0x5c8 - // MNetworkEnable - // MNetworkPriority "1" - // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nTickBase; // 0x5d0 - // MNetworkEnable - // MNetworkChangeCallback "OnPawnChanged" - CHandle< C_BasePlayerPawn > m_hPawn; // 0x5d4 - CHandle< C_BasePlayerPawn > m_hPredictedPawn; // 0x5d8 - CSplitScreenSlot m_nSplitScreenSlot; // 0x5dc - CHandle< CBasePlayerController > m_hSplitOwner; // 0x5e0 - CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0x5e8 - bool m_bIsHLTV; // 0x600 - // MNetworkEnable - // MNetworkChangeCallback "OnConnectionStateChanged" - PlayerConnectedState m_iConnected; // 0x604 - // MNetworkEnable - // MNetworkChangeCallback "OnPlayerControllerNameChanged" - char[128] m_iszPlayerName; // 0x608 - // MNetworkEnable - // MNetworkEncoder - // MNetworkChangeCallback "OnSteamIDChanged" - uint64_t m_steamID; // 0x690 - bool m_bIsLocalPlayerController; // 0x698 - // MNetworkEnable - uint32_t m_iDesiredFOV; // 0x69c -}; - -// Alignment: 14 -// Size: 0x178 -class CBasePlayerVData : public CEntitySubclassVDataBase -{ -public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - CSkillFloat m_flHeadDamageMultiplier; // 0x108 - CSkillFloat m_flChestDamageMultiplier; // 0x118 - CSkillFloat m_flStomachDamageMultiplier; // 0x128 - CSkillFloat m_flArmDamageMultiplier; // 0x138 - CSkillFloat m_flLegDamageMultiplier; // 0x148 - // MPropertyGroupName "Water" - float m_flHoldBreathTime; // 0x158 - // MPropertyGroupName "Water" - // MPropertyDescription "Seconds between drowning ticks" - float m_flDrowningDamageInterval; // 0x15c - // MPropertyGroupName "Water" - // MPropertyDescription "Amount of damage done on the first drowning tick (+1 each subsequent interval)" - int32_t m_nDrowningDamageInitial; // 0x160 - // MPropertyGroupName "Water" - // MPropertyDescription "Max damage done by a drowning tick" - int32_t m_nDrowningDamageMax; // 0x164 - // MPropertyGroupName "Water" - int32_t m_nWaterSpeed; // 0x168 - // MPropertyGroupName "Use" - float m_flUseRange; // 0x16c - // MPropertyGroupName "Use" - float m_flUseAngleTolerance; // 0x170 - // MPropertyGroupName "Crouch" - // MPropertyDescription "Time to move between crouch and stand" - float m_flCrouchTime; // 0x174 -}; - -// Alignment: 22 -// Size: 0x320 -class CBasePlayerWeaponVData : public CEntitySubclassVDataBase -{ -public: - // MPropertyDescription "Model used on the ground or held by an entity" - // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldModel; // 0x28 - // MPropertyDescription "Was the weapon was built right-handed?" - // MPropertyGroupName "Visuals" - bool m_bBuiltRightHanded; // 0x108 - // MPropertyDescription "Allows flipping the model, regardless of whether it is built left or right handed" - // MPropertyGroupName "Visuals" - bool m_bAllowFlipping; // 0x109 - bool m_bIsFullAuto; // 0x10a - int32_t m_nNumBullets; // 0x10c - // MPropertyGroupName "Visuals" - // MPropertyDescription "Attachment to fire bullets from" - // MPropertyAttributeEditor "VDataModelAttachment( m_szWorldModel )" - CUtlString m_sMuzzleAttachment; // 0x110 - // MPropertyDescription "Effect when firing this weapon" - // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x118 - // MPropertyDescription "Effect to actually fire into the world from this weapon" - // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x1f8 - ItemFlagTypes_t m_iFlags; // 0x2d8 - // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" - // MPropertyGroupName "Ammo" - // MPropertyCustomFGDType - AmmoIndex_t m_nPrimaryAmmoType; // 0x2d9 - // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" - // MPropertyGroupName "Ammo" - // MPropertyCustomFGDType - AmmoIndex_t m_nSecondaryAmmoType; // 0x2da - // MPropertyFriendlyName "Primary Clip Size" - // MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)" - // MPropertyAttributeRange "0 255" - // MPropertyGroupName "Ammo" - int32_t m_iMaxClip1; // 0x2dc - // MPropertyFriendlyName "Secondary Clip Size" - // MPropertyDescription "How many secondary bullets this gun can fire before it reloads (0 if no clip)" - // MPropertyGroupName "Ammo" - // MPropertyAttributeRange "0 255" - int32_t m_iMaxClip2; // 0x2e0 - // MPropertyDescription "Primary Initial Clip (-1 means use clip size)" - // MPropertyGroupName "Ammo" - // MPropertyAttributeRange "-1 255" - int32_t m_iDefaultClip1; // 0x2e4 - // MPropertyDescription "Secondary Initial Clip (-1 means use clip size)" - // MPropertyGroupName "Ammo" - // MPropertyAttributeRange "-1 255" - int32_t m_iDefaultClip2; // 0x2e8 - // MPropertyDescription "This value used to determine this weapon's importance in autoselection" - // MPropertyGroupName "UI" - int32_t m_iWeight; // 0x2ec - // MPropertyFriendlyName "Safe To Auto-Switch To" - // MPropertyDescription "Whether this weapon is safe to automatically switch to (should be false for eg. explosives that can the player may accidentally hurt themselves with)" - // MPropertyGroupName "UI" - bool m_bAutoSwitchTo; // 0x2f0 - // MPropertyFriendlyName "Safe To Auto-Switch Away From" - // MPropertyGroupName "UI" - bool m_bAutoSwitchFrom; // 0x2f1 - // MPropertyGroupName "UI" - RumbleEffect_t m_iRumbleEffect; // 0x2f4 - CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x2f8 - // MPropertyFriendlyName "HUD Bucket" - // MPropertyDescription "Which 'column' to display this weapon in the HUD" - // MPropertyGroupName "UI" - int32_t m_iSlot; // 0x318 - // MPropertyFriendlyName "HUD Bucket Position" - // MPropertyDescription "Which 'row' to display this weapon in the HUD" - // MPropertyGroupName "UI" - int32_t m_iPosition; // 0x31c + bool m_bStopped; // 0x220 }; // Alignment: 16 // Size: 0x1298 class CBaseAnimGraphController : public CSkeletonAnimationController -{ +{ public: // MNetworkEnable // MNetworkChangeCallback "baseAnimBaseLayerChangedCompat" - CNetworkedSequenceOperation m_baseLayer; // 0x18 + CNetworkedSequenceOperation m_baseLayer; // 0x18 // MNetworkEnable - CAnimGraphNetworkedVariables m_animGraphNetworkedVars; // 0x40 + CAnimGraphNetworkedVariables m_animGraphNetworkedVars; // 0x40 +private: + [[maybe_unused]] uint8_t __pad1178[0x8]; // 0x1178 +public: // MNetworkDisable - bool m_bSequenceFinished; // 0x1180 + bool m_bSequenceFinished; // 0x1180 +private: + [[maybe_unused]] uint8_t __pad1181[0x3]; // 0x1181 +public: // MNetworkDisable - float m_flLastEventCycle; // 0x1184 + float m_flLastEventCycle; // 0x1184 // MNetworkDisable - float m_flLastEventAnimTime; // 0x1188 + float m_flLastEventAnimTime; // 0x1188 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "-4" @@ -4368,2384 +1290,6548 @@ public: // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkChangeCallback "playbackRateChangedCompat" - CNetworkedQuantizedFloat m_flPlaybackRate; // 0x118c + CNetworkedQuantizedFloat m_flPlaybackRate; // 0x118c // MNetworkDisable - float m_flPrevAnimTime; // 0x1194 + float m_flPrevAnimTime; // 0x1194 // MNetworkEnable // MNetworkChangeCallback "clientSideAnimationChangedCompat" - bool m_bClientSideAnimation; // 0x1198 + bool m_bClientSideAnimation; // 0x1198 // MNetworkDisable - bool m_bNetworkedAnimationInputsChanged; // 0x1199 + bool m_bNetworkedAnimationInputsChanged; // 0x1199 // MNetworkDisable - uint8_t m_nPrevNewSequenceParity; // 0x119a + uint8_t m_nPrevNewSequenceParity; // 0x119a // MNetworkDisable - uint8_t m_nPrevResetEventsParity; // 0x119b + uint8_t m_nPrevResetEventsParity; // 0x119b // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "clientSideAnimCycleResetCompat" - int32_t m_nNewSequenceParity; // 0x119c + int32_t m_nNewSequenceParity; // 0x119c // MNetworkEnable // MNetworkPriority "32" - int32_t m_nResetEventsParity; // 0x11a0 + int32_t m_nResetEventsParity; // 0x11a0 // MNetworkEnable - AnimLoopMode_t m_nAnimLoopMode; // 0x11a4 + AnimLoopMode_t m_nAnimLoopMode; // 0x11a4 +private: + [[maybe_unused]] uint8_t __pad11a8[0x94]; // 0x11a8 +public: // MNetworkDisable - AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x123c + AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x123c // MNetworkDisable - HSequence m_hLastAnimEventSequence; // 0x1240 + HSequence m_hLastAnimEventSequence; // 0x1240 +}; + +// Alignment: 82 +// Size: 0x538 +class C_BaseEntity : public CEntityInstance +{ +public: + // MNetworkEnable + // MNetworkUserGroup "CBodyComponent" + // MNetworkAlias "CBodyComponent" + // MNetworkTypeAlias "CBodyComponent" + // MNetworkPriority "48" + CBodyComponent* m_CBodyComponent; // 0x30 + CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x38 +private: + [[maybe_unused]] uint8_t __pad01d8[0x120]; // 0x1d8 +public: + GameTick_t m_nLastThinkTick; // 0x2f8 +private: + [[maybe_unused]] uint8_t __pad02fc[0x4]; // 0x2fc +public: + CGameSceneNode* m_pGameSceneNode; // 0x300 + CRenderComponent* m_pRenderComponent; // 0x308 + CCollisionProperty* m_pCollision; // 0x310 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + int32_t m_iMaxHealth; // 0x318 + // MNetworkEnable + // MNetworkSerializer "ClampHealth" + // MNetworkUserGroup "Player" + // MNetworkPriority "32" + int32_t m_iHealth; // 0x31c + // MNetworkEnable + // MNetworkUserGroup "Player" + // MNetworkPriority "32" + uint8_t m_lifeState; // 0x320 + // MNetworkEnable + bool m_bTakesDamage; // 0x321 +private: + [[maybe_unused]] uint8_t __pad0322[0x2]; // 0x322 +public: + // MNetworkEnable + TakeDamageFlags_t m_nTakeDamageFlags; // 0x324 + // MNetworkEnable + // MNetworkChangeCallback "OnInterpolationFrameChanged" + uint8_t m_ubInterpolationFrame; // 0x328 +private: + [[maybe_unused]] uint8_t __pad0329[0x3]; // 0x329 +public: + CHandle< C_BaseEntity > m_hSceneObjectController; // 0x32c + int32_t m_nNoInterpolationTick; // 0x330 + int32_t m_nVisibilityNoInterpolationTick; // 0x334 + float m_flProxyRandomValue; // 0x338 + int32_t m_iEFlags; // 0x33c + uint8_t m_nWaterType; // 0x340 + bool m_bInterpolateEvenWithNoModel; // 0x341 + bool m_bPredictionEligible; // 0x342 + bool m_bApplyLayerMatchIDToModel; // 0x343 + CUtlStringToken m_tokLayerMatchID; // 0x344 + // MNetworkEnable + // MNetworkChangeCallback "OnSubclassIDChanged" + CUtlStringToken m_nSubclassID; // 0x348 +private: + [[maybe_unused]] uint8_t __pad034c[0xc]; // 0x34c +public: + int32_t m_nSimulationTick; // 0x358 + int32_t m_iCurrentThinkContext; // 0x35c + CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x360 + // MNetworkEnable + // MNetworkPriority "0" + // MNetworkSerializer "animTimeSerializer" + // MNetworkChangeCallback "OnAnimTimeChanged" + float m_flAnimTime; // 0x378 + // MNetworkEnable + // MNetworkPriority "1" + // MNetworkSerializer "simulationTimeSerializer" + // MNetworkChangeCallback "OnSimulationTimeChanged" + float m_flSimulationTime; // 0x37c + uint8_t m_nSceneObjectOverrideFlags; // 0x380 + bool m_bHasSuccessfullyInterpolated; // 0x381 + bool m_bHasAddedVarsToInterpolation; // 0x382 + bool m_bRenderEvenWhenNotSuccessfullyInterpolated; // 0x383 + int32_t m_nInterpolationLatchDirtyFlags[2]; // 0x384 + uint16_t m_ListEntry[11]; // 0x38c +private: + [[maybe_unused]] uint8_t __pad03a2[0x2]; // 0x3a2 +public: + // MNetworkEnable + GameTime_t m_flCreateTime; // 0x3a4 + float m_flSpeed; // 0x3a8 + uint16_t m_EntClientFlags; // 0x3ac + // MNetworkEnable + bool m_bClientSideRagdoll; // 0x3ae + // MNetworkEnable + // MNetworkChangeCallback "OnNetVarTeamNumChanged" + uint8_t m_iTeamNum; // 0x3af + // MNetworkEnable + uint32_t m_spawnflags; // 0x3b0 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + GameTick_t m_nNextThinkTick; // 0x3b4 + // MNetworkEnable + // MNetworkPriority "32" + // MNetworkUserGroup "Player" + uint32_t m_fFlags; // 0x3b8 + Vector m_vecAbsVelocity; // 0x3bc + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + // MNetworkChangeCallback "OnLocalVelocityChanged" + // MNetworkPriority "32" + CNetworkVelocityVector m_vecVelocity; // 0x3c8 +private: + [[maybe_unused]] uint8_t __pad03f0[0x8]; // 0x3f0 +public: + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + Vector m_vecBaseVelocity; // 0x3f8 + // MNetworkEnable + CHandle< C_BaseEntity > m_hEffectEntity; // 0x404 + // MNetworkEnable + // MNetworkPriority "32" + CHandle< C_BaseEntity > m_hOwnerEntity; // 0x408 + // MNetworkEnable + MoveCollide_t m_MoveCollide; // 0x40c + // MNetworkEnable + // MNetworkChangeCallback "OnMoveTypeChanged" + MoveType_t m_MoveType; // 0x40d +private: + [[maybe_unused]] uint8_t __pad040e[0x2]; // 0x40e +public: + // MNetworkEnable + // MNetworkUserGroup "Water" + // MNetworkChangeCallback "OnWaterLevelChangeNetworked" + // MNetworkBitCount "8" + // MNetworkMinValue "0" + // MNetworkMaxValue "1" + // MNetworkEncodeFlags + float m_flWaterLevel; // 0x410 + // MNetworkEnable + // MNetworkChangeCallback "OnEffectsChanged" + uint32_t m_fEffects; // 0x414 + // MNetworkEnable + // MNetworkPriority "32" + // MNetworkUserGroup "Player" + CHandle< C_BaseEntity > m_hGroundEntity; // 0x418 + // MNetworkEnable + // MNetworkBitCount "8" + // MNetworkMinValue "0" + // MNetworkMaxValue "4" + // MNetworkEncodeFlags + // MNetworkUserGroup "LocalPlayerExclusive" + float m_flFriction; // 0x41c + // MNetworkEnable + // MNetworkEncoder + float m_flElasticity; // 0x420 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + float m_flGravityScale; // 0x424 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + float m_flTimeScale; // 0x428 + // MNetworkEnable + // MNetworkChangeCallback "OnInterpolationAmountChanged" + bool m_bSimulatedEveryTick; // 0x42c + // MNetworkEnable + // MNetworkChangeCallback "OnInterpolationAmountChanged" + bool m_bAnimatedEveryTick; // 0x42d + // MNetworkEnable + // MNetworkUserGroup "ScalabilityOptions" + uint8_t m_nMinCPULevel; // 0x42e + // MNetworkEnable + // MNetworkUserGroup "ScalabilityOptions" + uint8_t m_nMaxCPULevel; // 0x42f + // MNetworkEnable + // MNetworkUserGroup "ScalabilityOptions" + uint8_t m_nMinGPULevel; // 0x430 + // MNetworkEnable + // MNetworkUserGroup "ScalabilityOptions" + uint8_t m_nMaxGPULevel; // 0x431 +private: + [[maybe_unused]] uint8_t __pad0432[0x2]; // 0x432 +public: + // MNetworkEnable + // MNetworkChangeCallback "OnNavIgnoreChanged" + GameTime_t m_flNavIgnoreUntilTime; // 0x434 + uint16_t m_hThink; // 0x438 +private: + [[maybe_unused]] uint8_t __pad043a[0xe]; // 0x43a +public: + uint8_t m_fBBoxVisFlags; // 0x448 + bool m_bPredictable; // 0x449 + bool m_bRenderWithViewModels; // 0x44a +private: + [[maybe_unused]] uint8_t __pad044b[0x1]; // 0x44b +public: + CSplitScreenSlot m_nSplitUserPlayerPredictionSlot; // 0x44c + int32_t m_nFirstPredictableCommand; // 0x450 + int32_t m_nLastPredictableCommand; // 0x454 + CHandle< C_BaseEntity > m_hOldMoveParent; // 0x458 +private: + [[maybe_unused]] uint8_t __pad045c[0x4]; // 0x45c +public: + CParticleProperty m_Particles; // 0x460 + CUtlVector< float32 > m_vecPredictedScriptFloats; // 0x488 + CUtlVector< int32 > m_vecPredictedScriptFloatIDs; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04b8[0x18]; // 0x4b8 +public: + int32_t m_nNextScriptVarRecordID; // 0x4d0 +private: + [[maybe_unused]] uint8_t __pad04d4[0xc]; // 0x4d4 +public: + QAngle m_vecAngVelocity; // 0x4e0 + int32_t m_DataChangeEventRef; // 0x4ec + CUtlVector< CEntityHandle > m_dependencies; // 0x4f0 + int32_t m_nCreationTick; // 0x508 +private: + [[maybe_unused]] uint8_t __pad050c[0x15]; // 0x50c +public: + bool m_bAnimTimeChanged; // 0x521 + bool m_bSimulationTimeChanged; // 0x522 +private: + [[maybe_unused]] uint8_t __pad0523[0xd]; // 0x523 +public: + CUtlString m_sUniqueHammerID; // 0x530 + static bool &Get_sm_bDatadescValidating(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[0]->m_instance);}; + static bool &Get_sm_bAccurateTriggerBboxChecks(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[1]->m_instance);}; + static bool &Get_sm_bDisableTouchFuncs(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[2]->m_instance);}; + static bool &Get_m_bAllowPrecache(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[3]->m_instance);}; + static LatchDirtyPermission_t &Get_s_nLatchPermissions(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[4]->m_instance);}; + static int32_t &Get_m_nPredictionRandomSeed(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[5]->m_instance);}; + static CBasePlayerController* &Get_m_pPredictionPlayerController(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[6]->m_instance);}; + static bool &Get_s_bAbsQueriesValid(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[7]->m_instance);}; + static bool &Get_s_bAbsRecomputationEnabled(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[8]->m_instance);}; + static bool &Get_s_bComputingInterpolatedValues(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[9]->m_instance);}; + static bool &Get_s_bPreventingSetAnimRunAnimEvents(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[10]->m_instance);}; + static CUtlVector< C_BaseEntity* > &Get_gm_UsableObjects(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[11]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x538 +class CLogicalEntity : public C_BaseEntity +{ +public: + // no members available +}; + +// Alignment: 5 +// Size: 0x20 +class C_BaseFlex::Emphasized_Phoneme +{ +public: + CUtlString m_sClassName; // 0x0 + float m_flAmount; // 0x18 + bool m_bRequired; // 0x1c + bool m_bBasechecked; // 0x1d + bool m_bValid; // 0x1e +}; + +// Alignment: 18 +// Size: 0x780 +class C_ColorCorrection : public C_BaseEntity +{ +public: + Vector m_vecOrigin; // 0x538 + // MNetworkEnable + float m_MinFalloff; // 0x544 + // MNetworkEnable + float m_MaxFalloff; // 0x548 + // MNetworkEnable + float m_flFadeInDuration; // 0x54c + // MNetworkEnable + float m_flFadeOutDuration; // 0x550 + // MNetworkEnable + float m_flMaxWeight; // 0x554 + // MNetworkEnable + float m_flCurWeight; // 0x558 + // MNetworkEnable + char m_netlookupFilename[512]; // 0x55c + // MNetworkEnable + bool m_bEnabled; // 0x75c + // MNetworkEnable + bool m_bMaster; // 0x75d + // MNetworkEnable + bool m_bClientSide; // 0x75e + // MNetworkEnable + bool m_bExclusive; // 0x75f + bool m_bEnabledOnClient[1]; // 0x760 +private: + [[maybe_unused]] uint8_t __pad0761[0x3]; // 0x761 +public: + float m_flCurWeightOnClient[1]; // 0x764 + bool m_bFadingIn[1]; // 0x768 +private: + [[maybe_unused]] uint8_t __pad0769[0x3]; // 0x769 +public: + float m_flFadeStartWeight[1]; // 0x76c + float m_flFadeStartTime[1]; // 0x770 + float m_flFadeDuration[1]; // 0x774 +}; + +// Alignment: 29 +// Size: 0x208 +class C_EnvWindShared +{ +public: + // MNetworkEnable + GameTime_t m_flStartTime; // 0x8 + // MNetworkEnable + uint32_t m_iWindSeed; // 0xc + // MNetworkEnable + uint16_t m_iMinWind; // 0x10 + // MNetworkEnable + uint16_t m_iMaxWind; // 0x12 + // MNetworkEnable + int32_t m_windRadius; // 0x14 + // MNetworkEnable + uint16_t m_iMinGust; // 0x18 + // MNetworkEnable + uint16_t m_iMaxGust; // 0x1a + // MNetworkEnable + float m_flMinGustDelay; // 0x1c + // MNetworkEnable + float m_flMaxGustDelay; // 0x20 + // MNetworkEnable + float m_flGustDuration; // 0x24 + // MNetworkEnable + uint16_t m_iGustDirChange; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002a[0x2]; // 0x2a +public: + // MNetworkEnable + // MNetworkEncoder + Vector m_location; // 0x2c + int32_t m_iszGustSound; // 0x38 + int32_t m_iWindDir; // 0x3c + float m_flWindSpeed; // 0x40 + Vector m_currentWindVector; // 0x44 + Vector m_CurrentSwayVector; // 0x50 + Vector m_PrevSwayVector; // 0x5c + // MNetworkEnable + uint16_t m_iInitialWindDir; // 0x68 +private: + [[maybe_unused]] uint8_t __pad006a[0x2]; // 0x6a +public: + // MNetworkEnable + float m_flInitialWindSpeed; // 0x6c + GameTime_t m_flVariationTime; // 0x70 + GameTime_t m_flSwayTime; // 0x74 + GameTime_t m_flSimTime; // 0x78 + GameTime_t m_flSwitchTime; // 0x7c + float m_flAveWindSpeed; // 0x80 + bool m_bGusting; // 0x84 +private: + [[maybe_unused]] uint8_t __pad0085[0x3]; // 0x85 +public: + float m_flWindAngleVariation; // 0x88 + float m_flWindSpeedVariation; // 0x8c + CEntityIndex m_iEntIndex; // 0x90 +}; + +// Alignment: 3 +// Size: 0x570 +class C_EntityFlame : public C_BaseEntity +{ +public: + // MNetworkEnable + CHandle< C_BaseEntity > m_hEntAttached; // 0x538 +private: + [[maybe_unused]] uint8_t __pad053c[0x24]; // 0x53c +public: + CHandle< C_BaseEntity > m_hOldAttached; // 0x560 + // MNetworkEnable + bool m_bCheapEffect; // 0x564 +}; + +// Alignment: 30 +// Size: 0x2e0 +class CProjectedTextureBase +{ +public: + // MNetworkEnable + CHandle< C_BaseEntity > m_hTargetEntity; // 0xc + // MNetworkEnable + bool m_bState; // 0x10 + // MNetworkEnable + bool m_bAlwaysUpdate; // 0x11 +private: + [[maybe_unused]] uint8_t __pad0012[0x2]; // 0x12 +public: + // MNetworkEnable + float m_flLightFOV; // 0x14 + // MNetworkEnable + bool m_bEnableShadows; // 0x18 + // MNetworkEnable + bool m_bSimpleProjection; // 0x19 + // MNetworkEnable + bool m_bLightOnlyTarget; // 0x1a + // MNetworkEnable + bool m_bLightWorld; // 0x1b + // MNetworkEnable + bool m_bCameraSpace; // 0x1c +private: + [[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d +public: + // MNetworkEnable + float m_flBrightnessScale; // 0x20 + // MNetworkEnable + Color m_LightColor; // 0x24 + // MNetworkEnable + float m_flIntensity; // 0x28 + // MNetworkEnable + float m_flLinearAttenuation; // 0x2c + // MNetworkEnable + float m_flQuadraticAttenuation; // 0x30 + // MNetworkEnable + bool m_bVolumetric; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0035[0x3]; // 0x35 +public: + // MNetworkEnable + float m_flVolumetricIntensity; // 0x38 + // MNetworkEnable + float m_flNoiseStrength; // 0x3c + // MNetworkEnable + float m_flFlashlightTime; // 0x40 + // MNetworkEnable + uint32_t m_nNumPlanes; // 0x44 + // MNetworkEnable + float m_flPlaneOffset; // 0x48 + // MNetworkEnable + float m_flColorTransitionTime; // 0x4c + // MNetworkEnable + float m_flAmbient; // 0x50 + // MNetworkEnable + char m_SpotlightTextureName[512]; // 0x54 + // MNetworkEnable + int32_t m_nSpotlightTextureFrame; // 0x254 + // MNetworkEnable + uint32_t m_nShadowQuality; // 0x258 + // MNetworkEnable + // MNetworkBitCount "16" + // MNetworkMinValue "0" + // MNetworkMaxValue "500" + // MNetworkEncodeFlags + float m_flNearZ; // 0x25c + // MNetworkEnable + // MNetworkBitCount "18" + // MNetworkMinValue "0" + // MNetworkMaxValue "1500" + // MNetworkEncodeFlags + float m_flFarZ; // 0x260 + // MNetworkEnable + float m_flProjectionSize; // 0x264 + // MNetworkEnable + float m_flRotation; // 0x268 + // MNetworkEnable + bool m_bFlipHorizontal; // 0x26c + static float &Get_m_flVisibleBBoxMinHeight(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CProjectedTextureBase")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 4 +// Size: 0x548 +class C_BaseFire : public C_BaseEntity +{ +public: + // MNetworkEnable + float m_flScale; // 0x538 + // MNetworkEnable + float m_flStartScale; // 0x53c + // MNetworkEnable + float m_flScaleTime; // 0x540 + // MNetworkEnable + uint32_t m_nFlags; // 0x544 +}; + +// Alignment: 2 +// Size: 0x8 +class TimedEvent +{ +public: + float m_TimeBetweenEvents; // 0x0 + float m_fNextEvent; // 0x4 +}; + +// Alignment: 1 +// Size: 0x10 +class C_RopeKeyframe::CPhysicsDelegate +{ +public: + C_RopeKeyframe* m_pKeyframe; // 0x8 +}; + +// Alignment: 1 +// Size: 0x18 +struct C_SceneEntity__QueuedEvents_t +{ +public: + float starttime; // 0x0 +}; + +// Alignment: 0 +// Size: 0x550 +class C_TintController : public C_BaseEntity +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x538 +class C_TriggerCamera : public C_BaseEntity +{ +public: + // no members available +}; + +// Alignment: 13 +// Size: 0x2e0 +class CFlashlightEffect +{ +public: + bool m_bIsOn; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0xf]; // 0x11 +public: + bool m_bMuzzleFlashEnabled; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0021[0x3]; // 0x21 +public: + float m_flMuzzleFlashBrightness; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 +public: + Quaternion m_quatMuzzleFlashOrientation; // 0x30 + Vector m_vecMuzzleFlashOrigin; // 0x40 + float m_flFov; // 0x4c + float m_flFarZ; // 0x50 + float m_flLinearAtten; // 0x54 + bool m_bCastsShadows; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0059[0x3]; // 0x59 +public: + float m_flCurrentPullBackDist; // 0x5c + CStrongHandle< InfoForResourceTypeCTextureBase > m_FlashlightTexture; // 0x60 + CStrongHandle< InfoForResourceTypeCTextureBase > m_MuzzleFlashTexture; // 0x68 + char m_textureName[64]; // 0x70 +}; + +// Alignment: 5 +// Size: 0x14 +class CInterpolatedValue +{ +public: + float m_flStartTime; // 0x0 + float m_flEndTime; // 0x4 + float m_flStartValue; // 0x8 + float m_flEndValue; // 0xc + int32_t m_nInterpType; // 0x10 +}; + +// Alignment: 4 +// Size: 0x20 +class CGlowSprite +{ +public: + Vector m_vColor; // 0x0 + float m_flHorzSize; // 0xc + float m_flVertSize; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x18 +}; + +// Alignment: 15 +// Size: 0xd0 +class CGlowOverlay +{ +public: + Vector m_vPos; // 0x8 + bool m_bDirectional; // 0x14 +private: + [[maybe_unused]] uint8_t __pad0015[0x3]; // 0x15 +public: + Vector m_vDirection; // 0x18 + bool m_bInSky; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0025[0x3]; // 0x25 +public: + float m_skyObstructionScale; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CGlowSprite m_Sprites[4]; // 0x30 + int32_t m_nSprites; // 0xb0 + float m_flProxyRadius; // 0xb4 + float m_flHDRColorScale; // 0xb8 + float m_flGlowObstructionScale; // 0xbc + bool m_bCacheGlowObstruction; // 0xc0 + bool m_bCacheSkyObstruction; // 0xc1 + int16_t m_bActivated; // 0xc2 + uint16_t m_ListIndex; // 0xc4 +private: + [[maybe_unused]] uint8_t __pad00c6[0x2]; // 0xc6 +public: + int32_t m_queryHandle; // 0xc8 +}; + +// Alignment: 0 +// Size: 0x8 +class IClientAlphaProperty +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x540 +class CSkyboxReference : public C_BaseEntity +{ +public: + WorldGroupId_t m_worldGroupId; // 0x538 + CHandle< C_SkyCamera > m_hSkyCamera; // 0x53c +}; + +// Alignment: 6 +// Size: 0x90 +struct sky3dparams_t +{ +public: + // MNetworkEnable + int16_t scale; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa +public: + // MNetworkEnable + // MNetworkEncoder + Vector origin; // 0xc + // MNetworkEnable + bool bClip3DSkyBoxNearToWorldFar; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + // MNetworkEnable + float flClip3DSkyBoxNearToWorldFarOffset; // 0x1c + // MNetworkEnable + fogparams_t fog; // 0x20 + // MNetworkEnable + WorldGroupId_t m_nWorldGroupID; // 0x88 +}; + +// Alignment: 13 +// Size: 0x5b0 +class C_FireSmoke : public C_BaseFire +{ +public: + // MNetworkEnable + int32_t m_nFlameModelIndex; // 0x548 + // MNetworkEnable + int32_t m_nFlameFromAboveModelIndex; // 0x54c + float m_flScaleRegister; // 0x550 + float m_flScaleStart; // 0x554 + float m_flScaleEnd; // 0x558 + GameTime_t m_flScaleTimeStart; // 0x55c + GameTime_t m_flScaleTimeEnd; // 0x560 + float m_flChildFlameSpread; // 0x564 +private: + [[maybe_unused]] uint8_t __pad0568[0x10]; // 0x568 +public: + float m_flClipPerc; // 0x578 + bool m_bClipTested; // 0x57c + bool m_bFadingOut; // 0x57d +private: + [[maybe_unused]] uint8_t __pad057e[0x2]; // 0x57e +public: + TimedEvent m_tParticleSpawn; // 0x580 + CFireOverlay* m_pFireOverlay; // 0x588 +}; + +// Alignment: 8 +// Size: 0x30 +struct VPhysicsCollisionAttribute_t +{ +public: + // MNetworkEnable + uint64_t m_nInteractsAs; // 0x8 + // MNetworkEnable + uint64_t m_nInteractsWith; // 0x10 + // MNetworkEnable + uint64_t m_nInteractsExclude; // 0x18 + // MNetworkEnable + uint32_t m_nEntityId; // 0x20 + // MNetworkEnable + uint32_t m_nOwnerId; // 0x24 + // MNetworkEnable + uint16_t m_nHierarchyId; // 0x28 + // MNetworkEnable + uint8_t m_nCollisionGroup; // 0x2a + // MNetworkEnable + uint8_t m_nCollisionFunctionMask; // 0x2b +}; + +// Alignment: 17 +// Size: 0xb0 +class CCollisionProperty +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "CollisionAttributeChanged" + VPhysicsCollisionAttribute_t m_collisionAttribute; // 0x10 + // MNetworkEnable + // MNetworkChangeCallback "OnUpdateOBB" + Vector m_vecMins; // 0x40 + // MNetworkEnable + // MNetworkChangeCallback "OnUpdateOBB" + Vector m_vecMaxs; // 0x4c +private: + [[maybe_unused]] uint8_t __pad0058[0x2]; // 0x58 +public: + // MNetworkEnable + // MNetworkChangeCallback "OnUpdateSolidFlags" + uint8_t m_usSolidFlags; // 0x5a + // MNetworkEnable + // MNetworkChangeCallback "OnUpdateSolidType" + SolidType_t m_nSolidType; // 0x5b + // MNetworkEnable + // MNetworkChangeCallback "MarkSurroundingBoundsDirty" + uint8_t m_triggerBloat; // 0x5c + // MNetworkEnable + // MNetworkChangeCallback "MarkSurroundingBoundsDirty" + SurroundingBoundsType_t m_nSurroundType; // 0x5d + // MNetworkEnable + uint8_t m_CollisionGroup; // 0x5e + // MNetworkEnable + // MNetworkChangeCallback "OnUpdateEnablePhysics" + uint8_t m_nEnablePhysics; // 0x5f + float m_flBoundingRadius; // 0x60 + // MNetworkEnable + // MNetworkChangeCallback "MarkSurroundingBoundsDirty" + Vector m_vecSpecifiedSurroundingMins; // 0x64 + // MNetworkEnable + // MNetworkChangeCallback "MarkSurroundingBoundsDirty" + Vector m_vecSpecifiedSurroundingMaxs; // 0x70 + Vector m_vecSurroundingMaxs; // 0x7c + Vector m_vecSurroundingMins; // 0x88 + // MNetworkEnable + Vector m_vCapsuleCenter1; // 0x94 + // MNetworkEnable + Vector m_vCapsuleCenter2; // 0xa0 + // MNetworkEnable + float m_flCapsuleRadius; // 0xac +}; + +// Alignment: 10 +// Size: 0x98 +class CDecalInfo +{ +public: + float m_flAnimationScale; // 0x0 + float m_flAnimationLifeSpan; // 0x4 + float m_flPlaceTime; // 0x8 + float m_flFadeStartTime; // 0xc + float m_flFadeDuration; // 0x10 + int32_t m_nVBSlot; // 0x14 + int32_t m_nBoneIndex; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0xc]; // 0x1c +public: + CDecalInfo* m_pNext; // 0x28 + CDecalInfo* m_pPrev; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0038[0x58]; // 0x38 +public: + int32_t m_nDecalMaterialIndex; // 0x90 +}; + +// Alignment: 21 +// Size: 0x70 +class CEffectData +{ +public: + // MNetworkEnable + // MNetworkEncoder + Vector m_vOrigin; // 0x8 + // MNetworkEnable + // MNetworkEncoder + Vector m_vStart; // 0x14 + // MNetworkEnable + // MNetworkEncoder + Vector m_vNormal; // 0x20 + // MNetworkEnable + // MNetworkEncoder + QAngle m_vAngles; // 0x2c + // MNetworkEnable + CEntityHandle m_hEntity; // 0x38 + // MNetworkEnable + CEntityHandle m_hOtherEntity; // 0x3c + // MNetworkEnable + float m_flScale; // 0x40 + // MNetworkEnable + // MNetworkBitCount "12" + // MNetworkMinValue "0" + // MNetworkMaxValue "1023" + // MNetworkEncodeFlags + float m_flMagnitude; // 0x44 + // MNetworkEnable + // MNetworkBitCount "10" + // MNetworkMinValue "0" + // MNetworkMaxValue "1023" + // MNetworkEncodeFlags + float m_flRadius; // 0x48 + // MNetworkEnable + CUtlStringToken m_nSurfaceProp; // 0x4c + // MNetworkEnable + CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > m_nEffectIndex; // 0x50 + // MNetworkEnable + uint32_t m_nDamageType; // 0x58 + // MNetworkEnable + uint8_t m_nPenetrate; // 0x5c +private: + [[maybe_unused]] uint8_t __pad005d[0x1]; // 0x5d +public: + // MNetworkEnable + uint16_t m_nMaterial; // 0x5e + // MNetworkEnable + uint16_t m_nHitBox; // 0x60 + // MNetworkEnable + uint8_t m_nColor; // 0x62 + // MNetworkEnable + uint8_t m_fFlags; // 0x63 + // MNetworkEnable + AttachmentHandle_t m_nAttachmentIndex; // 0x64 +private: + [[maybe_unused]] uint8_t __pad0065[0x3]; // 0x65 +public: + // MNetworkEnable + CUtlStringToken m_nAttachmentName; // 0x68 + // MNetworkEnable + uint16_t m_iEffectName; // 0x6c + // MNetworkEnable + uint8_t m_nExplosionType; // 0x6e +}; + +// Alignment: 2 +// Size: 0x540 +class C_EnvDetailController : public C_BaseEntity +{ +public: + // MNetworkEnable + float m_flFadeStartDist; // 0x538 + // MNetworkEnable + float m_flFadeEndDist; // 0x53c +}; + +// Alignment: 1 +// Size: 0x740 +class C_EnvWindClientside : public C_BaseEntity +{ +public: + // MNetworkEnable + // MNetworkDisable + C_EnvWindShared m_EnvWindShared; // 0x538 +}; + +// Alignment: 2 +// Size: 0x8 +struct C_EnvWindShared__WindAveEvent_t +{ +public: + float m_flStartWindSpeed; // 0x0 + float m_flAveWindSpeed; // 0x4 +}; + +// Alignment: 2 +// Size: 0x8 +struct C_EnvWindShared__WindVariationEvent_t +{ +public: + float m_flWindAngleVariation; // 0x0 + float m_flWindSpeedVariation; // 0x4 +}; + +// Alignment: 0 +// Size: 0x538 +class C_InfoLadderDismount : public C_BaseEntity +{ +public: + // no members available +}; + +// Alignment: 13 +// Size: 0x60 +struct shard_model_desc_t +{ +public: + // MNetworkEnable + int32_t m_nModelID; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x10 + // MNetworkEnable + ShardSolid_t m_solid; // 0x18 + // MNetworkEnable + ShatterPanelMode m_ShatterPanelMode; // 0x19 +private: + [[maybe_unused]] uint8_t __pad001a[0x2]; // 0x1a +public: + // MNetworkEnable + Vector2D m_vecPanelSize; // 0x1c + // MNetworkEnable + Vector2D m_vecStressPositionA; // 0x24 + // MNetworkEnable + Vector2D m_vecStressPositionB; // 0x2c +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: + // MNetworkEnable + C_NetworkUtlVectorBase< Vector2D > m_vecPanelVertices; // 0x38 + // MNetworkEnable + float m_flGlassHalfThickness; // 0x50 + // MNetworkEnable + bool m_bHasParent; // 0x54 + // MNetworkEnable + bool m_bParentFrozen; // 0x55 +private: + [[maybe_unused]] uint8_t __pad0056[0x2]; // 0x56 +public: + // MNetworkEnable + CUtlStringToken m_SurfacePropStringToken; // 0x58 + // MNetworkEnable + CUtlStringToken m_LightGroup; // 0x5c +}; + +// Alignment: 0 +// Size: 0x538 +class C_GameRulesProxy : public C_BaseEntity +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x8 +class C_GameRules +{ +public: + // no members available +}; + +// Alignment: 11 +// Size: 0x58 +class CGlowProperty +{ +public: + Vector m_fGlowColor; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0014[0x1c]; // 0x14 +public: + // MNetworkEnable + // MNetworkChangeCallback "OnGlowTypeChanged" + int32_t m_iGlowType; // 0x30 + // MNetworkEnable + int32_t m_iGlowTeam; // 0x34 + // MNetworkEnable + int32_t m_nGlowRange; // 0x38 + // MNetworkEnable + int32_t m_nGlowRangeMin; // 0x3c + // MNetworkEnable + // MNetworkChangeCallback "OnGlowColorChanged" + Color m_glowColorOverride; // 0x40 + // MNetworkEnable + bool m_bFlashing; // 0x44 +private: + [[maybe_unused]] uint8_t __pad0045[0x3]; // 0x45 +public: + // MNetworkEnable + float m_flGlowTime; // 0x48 + // MNetworkEnable + float m_flGlowStartTime; // 0x4c + // MNetworkEnable + bool m_bEligibleForScreenHighlight; // 0x50 + bool m_bGlowing; // 0x51 +}; + +// Alignment: 0 +// Size: 0x8 +class C_MultiplayRules : public C_GameRules +{ +public: + // no members available +}; + +// Alignment: 14 +// Size: 0x40 +struct C_fogplayerparams_t +{ +public: + // MNetworkEnable + // MNetworkUserGroup "PlayerFogController" + CHandle< C_FogController > m_hCtrl; // 0x8 + float m_flTransitionTime; // 0xc + Color m_OldColor; // 0x10 + float m_flOldStart; // 0x14 + float m_flOldEnd; // 0x18 + float m_flOldMaxDensity; // 0x1c + float m_flOldHDRColorScale; // 0x20 + float m_flOldFarZ; // 0x24 + Color m_NewColor; // 0x28 + float m_flNewStart; // 0x2c + float m_flNewEnd; // 0x30 + float m_flNewMaxDensity; // 0x34 + float m_flNewHDRColorScale; // 0x38 + float m_flNewFarZ; // 0x3c +}; + +// Alignment: 26 +// Size: 0x248 +class CPlayer_CameraServices : public CPlayerPawnComponent +{ +public: + // MNetworkEnable + uint32_t m_iFOV; // 0x40 + // MNetworkEnable + uint32_t m_iFOVStart; // 0x44 + // MNetworkEnable + GameTime_t m_flFOVTime; // 0x48 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + float m_flFOVRate; // 0x4c + // MNetworkEnable + // MNetworkPriority "32" + // MNetworkBitCount "32" + // MNetworkChangeCallback "OnPunchChanged" + QAngle m_vecPunchAngle; // 0x50 +private: + [[maybe_unused]] uint8_t __pad005c[0xc]; // 0x5c +public: + // MNetworkEnable + // MNetworkBitCount "32" + QAngle m_vecPunchAngleVel; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0074[0xc]; // 0x74 +public: + GameTick_t m_nPunchAngleJoltTickClientSide; // 0x80 + // MNetworkEnable + // MNetworkChangeCallback "OnPunchJoltChanged" + GameTick_t m_nPunchAngleJoltTick; // 0x84 + // MNetworkEnable + CHandle< C_BaseEntity > m_hZoomOwner; // 0x88 +private: + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c +public: + // MNetworkEnable + C_fogplayerparams_t m_PlayerFog; // 0x90 + // MNetworkEnable + CHandle< C_ColorCorrection > m_hColorCorrectionCtrl; // 0xd0 + // MNetworkEnable + CHandle< C_BaseEntity > m_hViewEntity; // 0xd4 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerAndObserversExclusive" + CHandle< C_TonemapController2 > m_hTonemapController; // 0xd8 +private: + [[maybe_unused]] uint8_t __pad00dc[0x4]; // 0xdc +public: + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerAndObserversExclusive" + audioparams_t m_audio; // 0xe0 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerAndObserversExclusive" + C_NetworkUtlVectorBase< CHandle< C_PostProcessingVolume > > m_PostProcessingVolumes; // 0x158 + float m_flOldPlayerZ; // 0x170 + float m_flOldPlayerViewOffsetZ; // 0x174 + fogparams_t m_CurrentFog; // 0x178 + CHandle< C_FogController > m_hOldFogController; // 0x1e0 + bool m_bOverrideFogColor[5]; // 0x1e4 + Color m_OverrideFogColor[5]; // 0x1e9 + bool m_bOverrideFogStartEnd[5]; // 0x1fd +private: + [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 +public: + float m_fOverrideFogStart[5]; // 0x204 + float m_fOverrideFogEnd[5]; // 0x218 + CHandle< C_PostProcessingVolume > m_hActivePostProcessingVolume; // 0x22c + QAngle m_angDemoViewAngles; // 0x230 +}; + +// Alignment: 4 +// Size: 0x5d8 +class C_SkyCamera : public C_BaseEntity +{ +public: + // MNetworkEnable + sky3dparams_t m_skyboxData; // 0x538 + // MNetworkEnable + CUtlStringToken m_skyboxSlotToken; // 0x5c8 + bool m_bUseAngles; // 0x5cc +private: + [[maybe_unused]] uint8_t __pad05cd[0x3]; // 0x5cd +public: + C_SkyCamera* m_pNext; // 0x5d0 +}; + +// Alignment: 3 +// Size: 0x50 +struct PhysicsRagdollPose_t +{ +public: + // MNetworkDisable + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x8 + // MNetworkEnable + // MNetworkChangeCallback "OnTransformChanged" + C_NetworkUtlVectorBase< CTransform > m_Transforms; // 0x30 + bool m_bDirty; // 0x48 +}; + +// Alignment: 0 +// Size: 0x8 +class C_SingleplayRules : public C_GameRules +{ +public: + // no members available +}; + +// Alignment: 5 +// Size: 0x558 +class C_SoundOpvarSetPointBase : public C_BaseEntity +{ +public: + // MNetworkEnable + CUtlSymbolLarge m_iszStackName; // 0x538 + // MNetworkEnable + CUtlSymbolLarge m_iszOperatorName; // 0x540 + // MNetworkEnable + CUtlSymbolLarge m_iszOpvarName; // 0x548 + // MNetworkEnable + int32_t m_iOpvarIndex; // 0x550 + // MNetworkEnable + bool m_bUseAutoCompare; // 0x554 +}; + +// Alignment: 0 +// Size: 0x558 +class C_SoundOpvarSetPointEntity : public C_SoundOpvarSetPointBase +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x558 +class C_SoundOpvarSetAABBEntity : public C_SoundOpvarSetPointEntity +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x558 +class C_SoundOpvarSetOBBEntity : public C_SoundOpvarSetAABBEntity +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x558 +class C_SoundOpvarSetPathCornerEntity : public C_SoundOpvarSetPointEntity +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x558 +class C_SoundOpvarSetOBBWindEntity : public C_SoundOpvarSetPointBase +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x8 +class C_TeamplayRules : public C_MultiplayRules +{ +public: + // no members available +}; + +// Alignment: 30 +// Size: 0x580 +class C_TeamRoundTimer : public C_BaseEntity +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "OnTimerPaused" + bool m_bTimerPaused; // 0x538 +private: + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 +public: + // MNetworkEnable + float m_flTimeRemaining; // 0x53c + // MNetworkEnable + GameTime_t m_flTimerEndTime; // 0x540 + // MNetworkEnable + bool m_bIsDisabled; // 0x544 + // MNetworkEnable + bool m_bShowInHUD; // 0x545 +private: + [[maybe_unused]] uint8_t __pad0546[0x2]; // 0x546 +public: + // MNetworkEnable + int32_t m_nTimerLength; // 0x548 + // MNetworkEnable + int32_t m_nTimerInitialLength; // 0x54c + // MNetworkEnable + int32_t m_nTimerMaxLength; // 0x550 + // MNetworkEnable + bool m_bAutoCountdown; // 0x554 +private: + [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 +public: + // MNetworkEnable + int32_t m_nSetupTimeLength; // 0x558 + // MNetworkEnable + int32_t m_nState; // 0x55c + // MNetworkEnable + bool m_bStartPaused; // 0x560 + // MNetworkEnable + bool m_bInCaptureWatchState; // 0x561 +private: + [[maybe_unused]] uint8_t __pad0562[0x2]; // 0x562 +public: + // MNetworkEnable + float m_flTotalTime; // 0x564 + // MNetworkEnable + bool m_bStopWatchTimer; // 0x568 + bool m_bFireFinished; // 0x569 + bool m_bFire5MinRemain; // 0x56a + bool m_bFire4MinRemain; // 0x56b + bool m_bFire3MinRemain; // 0x56c + bool m_bFire2MinRemain; // 0x56d + bool m_bFire1MinRemain; // 0x56e + bool m_bFire30SecRemain; // 0x56f + bool m_bFire10SecRemain; // 0x570 + bool m_bFire5SecRemain; // 0x571 + bool m_bFire4SecRemain; // 0x572 + bool m_bFire3SecRemain; // 0x573 + bool m_bFire2SecRemain; // 0x574 + bool m_bFire1SecRemain; // 0x575 +private: + [[maybe_unused]] uint8_t __pad0576[0x2]; // 0x576 +public: + int32_t m_nOldTimerLength; // 0x578 + int32_t m_nOldTimerState; // 0x57c +}; + +// Alignment: 2 +// Size: 0x60 +class CAttributeList +{ +public: + // MNetworkEnable + // MNetworkTypeAlias "CUtlVector< CEconItemAttribute >" + C_UtlVectorEmbeddedNetworkVar< CEconItemAttribute > m_Attributes; // 0x8 + CAttributeManager* m_pManager; // 0x58 +}; + +// Alignment: 5 +// Size: 0x48 +class CEconItemAttribute +{ +public: + // MNetworkEnable + uint16_t m_iAttributeDefinitionIndex; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0032[0x2]; // 0x32 +public: + // MNetworkEnable + // MNetworkAlias "m_iRawValue32" + float m_flValue; // 0x34 + // MNetworkEnable + float m_flInitialValue; // 0x38 + // MNetworkEnable + int32_t m_nRefundableCurrency; // 0x3c + // MNetworkEnable + bool m_bSetBonus; // 0x40 +}; + +// Alignment: 6 +// Size: 0x50 +class CAttributeManager +{ +public: + CUtlVector< CHandle< C_BaseEntity > > m_Providers; // 0x8 + // MNetworkEnable + int32_t m_iReapplyProvisionParity; // 0x20 + // MNetworkEnable + CHandle< C_BaseEntity > m_hOuter; // 0x24 + bool m_bPreventLoopback; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 +public: + // MNetworkEnable + attributeprovidertypes_t m_ProviderType; // 0x2c + CUtlVector< CAttributeManager::cached_attribute_float_t > m_CachedResults; // 0x30 +}; + +// Alignment: 3 +// Size: 0x18 +struct CAttributeManager__cached_attribute_float_t +{ +public: + float flIn; // 0x0 + CUtlSymbolLarge iAttribHook; // 0x8 + float flOut; // 0x10 +}; + +// Alignment: 27 +// Size: 0x448 +class C_EconItemView : public IEconItemInterface +{ +public: + bool m_bInventoryImageRgbaRequested; // 0x60 + bool m_bInventoryImageTriedCache; // 0x61 +private: + [[maybe_unused]] uint8_t __pad0062[0x1e]; // 0x62 +public: + int32_t m_nInventoryImageRgbaWidth; // 0x80 + int32_t m_nInventoryImageRgbaHeight; // 0x84 + char m_szCurrentLoadCachedFileName[260]; // 0x88 +private: + [[maybe_unused]] uint8_t __pad018c[0x2c]; // 0x18c +public: + bool m_bRestoreCustomMaterialAfterPrecache; // 0x1b8 +private: + [[maybe_unused]] uint8_t __pad01b9[0x1]; // 0x1b9 +public: + // MNetworkEnable + uint16_t m_iItemDefinitionIndex; // 0x1ba + // MNetworkEnable + int32_t m_iEntityQuality; // 0x1bc + // MNetworkEnable + uint32_t m_iEntityLevel; // 0x1c0 +private: + [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 +public: + uint64_t m_iItemID; // 0x1c8 + // MNetworkEnable + uint32_t m_iItemIDHigh; // 0x1d0 + // MNetworkEnable + uint32_t m_iItemIDLow; // 0x1d4 + // MNetworkEnable + uint32_t m_iAccountID; // 0x1d8 + // MNetworkEnable + uint32_t m_iInventoryPosition; // 0x1dc +private: + [[maybe_unused]] uint8_t __pad01e0[0x8]; // 0x1e0 +public: + // MNetworkEnable + bool m_bInitialized; // 0x1e8 + bool m_bIsStoreItem; // 0x1e9 + bool m_bIsTradeItem; // 0x1ea +private: + [[maybe_unused]] uint8_t __pad01eb[0x1]; // 0x1eb +public: + int32_t m_iEntityQuantity; // 0x1ec + int32_t m_iRarityOverride; // 0x1f0 + int32_t m_iQualityOverride; // 0x1f4 + uint8_t m_unClientFlags; // 0x1f8 + uint8_t m_unOverrideStyle; // 0x1f9 +private: + [[maybe_unused]] uint8_t __pad01fa[0x16]; // 0x1fa +public: + // MNetworkEnable + CAttributeList m_AttributeList; // 0x210 + // MNetworkEnable + CAttributeList m_NetworkedDynamicAttributes; // 0x270 + // MNetworkEnable + char m_szCustomName[161]; // 0x2d0 + char m_szCustomNameOverride[161]; // 0x371 +private: + [[maybe_unused]] uint8_t __pad0412[0x2e]; // 0x412 +public: + bool m_bInitializedTags; // 0x440 + static bool &Get_m_sbHasCleanedInventoryImageCacheDir(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_EconItemView")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x4 +struct C_EconEntity__AttachedModelData_t +{ +public: + int32_t m_iModelDisplayFlags; // 0x0 +}; + +// Alignment: 2 +// Size: 0x18 +struct EntitySpottedState_t +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "OnIsSpottedChanged" + bool m_bSpotted; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x3]; // 0x9 +public: + // MNetworkEnable + // MNetworkChangeCallback "OnIsSpottedChanged" + uint32_t m_bSpottedByMask[2]; // 0xc +}; + +// Alignment: 1 +// Size: 0x540 +class C_CSGameRulesProxy : public C_GameRulesProxy +{ +public: + // MNetworkEnable + // MNetworkTypeAlias "CCSGameRules*" + // MNetworkPriority "32" + C_CSGameRules* m_pGameRules; // 0x538 +}; + +// Alignment: 5 +// Size: 0x118 +class C_RetakeGameRules +{ +public: + // MNetworkEnable + int32_t m_nMatchSeed; // 0xf8 + // MNetworkEnable + bool m_bBlockersPresent; // 0xfc + // MNetworkEnable + bool m_bRoundInProgress; // 0xfd +private: + [[maybe_unused]] uint8_t __pad00fe[0x2]; // 0xfe +public: + // MNetworkEnable + int32_t m_iFirstSecondHalfRound; // 0x100 + // MNetworkEnable + int32_t m_iBombSite; // 0x104 +}; + +// Alignment: 18 +// Size: 0x6c0 +class C_SurvivalGameRules +{ +public: + // MNetworkEnable + Vector m_vecPlayAreaMins; // 0x8 + // MNetworkEnable + Vector m_vecPlayAreaMaxs; // 0x14 + // MNetworkEnable + int32_t m_iPlayerSpawnHexIndices[64]; // 0x20 + // MNetworkEnable + ESurvivalSpawnTileState m_SpawnTileState[224]; // 0x120 + // MNetworkEnable + float m_flSpawnSelectionTimeStartCurrentStage; // 0x200 + // MNetworkEnable + float m_flSpawnSelectionTimeEndCurrentStage; // 0x204 + // MNetworkEnable + float m_flSpawnSelectionTimeEndLastStage; // 0x208 + // MNetworkEnable + SpawnStage_t m_spawnStage; // 0x20c + // MNetworkEnable + float m_flTabletHexOriginX; // 0x210 + // MNetworkEnable + float m_flTabletHexOriginY; // 0x214 + // MNetworkEnable + float m_flTabletHexSize; // 0x218 +private: + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c +public: + // MNetworkEnable + uint64_t m_roundData_playerXuids[64]; // 0x220 + // MNetworkEnable + int32_t m_roundData_playerPositions[64]; // 0x420 + // MNetworkEnable + int32_t m_roundData_playerTeams[64]; // 0x520 + // MNetworkEnable + ESurvivalGameRuleDecision_t m_SurvivalGameRuleDecisionTypes[16]; // 0x620 + // MNetworkEnable + int32_t m_SurvivalGameRuleDecisionValues[16]; // 0x660 + // MNetworkEnable + float m_flSurvivalStartTime; // 0x6a0 + float m_flLastThinkTime; // 0x6a4 +}; + +// Alignment: 13 +// Size: 0x68 +struct CSPerRoundStats_t +{ +public: + // MNetworkEnable + int32_t m_iKills; // 0x30 + // MNetworkEnable + int32_t m_iDeaths; // 0x34 + // MNetworkEnable + int32_t m_iAssists; // 0x38 + // MNetworkEnable + // MNetworkUserGroup "AllPlayersDuringFreezePeriod" + int32_t m_iDamage; // 0x3c + // MNetworkEnable + // MNetworkUserGroup "TeammateAndSpectatorExclusive" + int32_t m_iEquipmentValue; // 0x40 + // MNetworkEnable + // MNetworkUserGroup "TeammateAndSpectatorExclusive" + int32_t m_iMoneySaved; // 0x44 + // MNetworkEnable + // MNetworkUserGroup "TeammateAndSpectatorExclusive" + int32_t m_iKillReward; // 0x48 + // MNetworkEnable + int32_t m_iLiveTime; // 0x4c + // MNetworkEnable + int32_t m_iHeadShotKills; // 0x50 + // MNetworkEnable + // MNetworkUserGroup "AllPlayersDuringFreezePeriod" + int32_t m_iObjective; // 0x54 + // MNetworkEnable + // MNetworkUserGroup "TeammateAndSpectatorExclusive" + int32_t m_iCashEarned; // 0x58 + // MNetworkEnable + // MNetworkUserGroup "AllPlayersDuringFreezePeriod" + int32_t m_iUtilityDamage; // 0x5c + // MNetworkEnable + // MNetworkUserGroup "AllPlayersDuringFreezePeriod" + int32_t m_iEnemiesFlashed; // 0x60 +}; + +// Alignment: 3 +// Size: 0x78 +struct CSMatchStats_t : public CSPerRoundStats_t +{ +public: + // MNetworkEnable + int32_t m_iEnemy5Ks; // 0x68 + // MNetworkEnable + int32_t m_iEnemy4Ks; // 0x6c + // MNetworkEnable + int32_t m_iEnemy3Ks; // 0x70 +}; + +// Alignment: 4 +// Size: 0x9d0 +class C_CSGO_TeamPreviewCharacterPosition : public C_BaseEntity +{ +public: + // MNetworkEnable + int32_t m_nOrdinal; // 0x538 +private: + [[maybe_unused]] uint8_t __pad053c[0x4]; // 0x53c +public: + // MNetworkEnable + CUtlString m_sWeaponName; // 0x540 + // MNetworkEnable + uint64_t m_xuid; // 0x548 + // MNetworkEnable + C_EconItemView m_weaponItem; // 0x550 +}; + +// Alignment: 0 +// Size: 0x9d0 +class C_CSGO_TeamSelectCharacterPosition : public C_CSGO_TeamPreviewCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x9d0 +class C_CSGO_TeamSelectTerroristPosition : public C_CSGO_TeamSelectCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x9d0 +class C_CSGO_TeamSelectCounterTerroristPosition : public C_CSGO_TeamSelectCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x9d0 +class C_CSGO_TeamIntroCharacterPosition : public C_CSGO_TeamPreviewCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x9d0 +class C_CSGO_TeamIntroTerroristPosition : public C_CSGO_TeamIntroCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x9d0 +class C_CSGO_TeamIntroCounterTerroristPosition : public C_CSGO_TeamIntroCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x848 +class CCSPlayer_ActionTrackingServices : public CPlayerPawnComponent +{ +public: + // MNetworkEnable + bool m_bIsRescuing; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: + // MNetworkEnable + int32_t m_iWeaponPurchasesThisMatch[256]; // 0x44 + // MNetworkEnable + int32_t m_iWeaponPurchasesThisRound[256]; // 0x444 +}; + +// Alignment: 5 +// Size: 0x588 +class C_PlayerPing : public C_BaseEntity +{ +public: + // MNetworkEnable + CHandle< C_BaseEntity > m_hPlayer; // 0x568 + // MNetworkEnable + CHandle< C_BaseEntity > m_hPingedEntity; // 0x56c + // MNetworkEnable + int32_t m_iType; // 0x570 + // MNetworkEnable + bool m_bUrgent; // 0x574 + // MNetworkEnable + char m_szPlaceName[18]; // 0x575 +}; + +// Alignment: 1 +// Size: 0x48 +class CCSPlayer_PingServices : public CPlayerPawnComponent +{ +public: + // MNetworkEnable + CHandle< C_BaseEntity > m_hPlayerPing; // 0x40 +}; + +// Alignment: 10 +// Size: 0x5d0 +class C_CSPlayerResource : public C_BaseEntity +{ +public: + // MNetworkEnable + bool m_bHostageAlive[12]; // 0x538 + // MNetworkEnable + bool m_isHostageFollowingSomeone[12]; // 0x544 + // MNetworkEnable + CEntityIndex m_iHostageEntityIDs[12]; // 0x550 + // MNetworkEnable + Vector m_bombsiteCenterA; // 0x580 + // MNetworkEnable + Vector m_bombsiteCenterB; // 0x58c + // MNetworkEnable + int32_t m_hostageRescueX[4]; // 0x598 + // MNetworkEnable + int32_t m_hostageRescueY[4]; // 0x5a8 + // MNetworkEnable + int32_t m_hostageRescueZ[4]; // 0x5b8 + // MNetworkEnable + bool m_bEndMatchNextMapAllVoted; // 0x5c8 + bool m_foundGoalPositions; // 0x5c9 +}; + +// Alignment: 1 +// Size: 0x80 +class CCSPlayer_BulletServices : public CPlayerPawnComponent +{ +public: + // MNetworkEnable + int32_t m_totalHitsOnServer; // 0x40 +}; + +// Alignment: 2 +// Size: 0x250 +class CCSPlayer_CameraServices : public CPlayer_CameraServices +{ +public: + float m_flLastShotFOV; // 0x248 + float m_flDeathCamTilt; // 0x24c +}; + +// Alignment: 2 +// Size: 0x48 +class CCSPlayer_HostageServices : public CPlayerPawnComponent +{ +public: + // MNetworkEnable + CHandle< C_BaseEntity > m_hCarriedHostage; // 0x40 + // MNetworkEnable + CHandle< C_BaseEntity > m_hCarriedHostageProp; // 0x44 +}; + +// Alignment: 3 +// Size: 0x48 +class CCSPlayer_ItemServices : public CPlayer_ItemServices +{ +public: + // MNetworkEnable + bool m_bHasDefuser; // 0x40 + // MNetworkEnable + bool m_bHasHelmet; // 0x41 + // MNetworkEnable + bool m_bHasHeavyArmor; // 0x42 +}; + +// Alignment: 33 +// Size: 0x13a8 +class CCSPlayer_MovementServices : public CPlayer_MovementServices_Humanoid +{ +public: + // MNetworkEnable + float m_flMaxFallVelocity; // 0x1f8 + // MNetworkEnable + // MNetworkEncoder + Vector m_vecLadderNormal; // 0x1fc + // MNetworkEnable + int32_t m_nLadderSurfacePropIndex; // 0x208 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + bool m_bAllowAutoMovement; // 0x20c +private: + [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d +public: + // MNetworkEnable + float m_flDuckAmount; // 0x210 + // MNetworkEnable + float m_flDuckSpeed; // 0x214 + // MNetworkEnable + bool m_bDuckOverride; // 0x218 +private: + [[maybe_unused]] uint8_t __pad0219[0x3]; // 0x219 +public: + float m_flDuckOffset; // 0x21c + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + // MNetworkPriority "32" + uint32_t m_nDuckTimeMsecs; // 0x220 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + uint32_t m_nDuckJumpTimeMsecs; // 0x224 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + uint32_t m_nJumpTimeMsecs; // 0x228 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + float m_flLastDuckTime; // 0x22c +private: + [[maybe_unused]] uint8_t __pad0230[0x8]; // 0x230 +public: + Vector2D m_vecLastPositionAtFullCrouchSpeed; // 0x238 + bool m_duckUntilOnGround; // 0x240 + bool m_bHasWalkMovedSinceLastJump; // 0x241 + bool m_bInStuckTest; // 0x242 +private: + [[maybe_unused]] uint8_t __pad0243[0x5]; // 0x243 +public: + uint64_t m_CachedGetPointContents[3][64]; // 0x248 + Vector m_CachedGetPointContentsPoint[3][64]; // 0x848 +private: + [[maybe_unused]] uint8_t __pad1148[0x8]; // 0x1148 +public: + float m_flStuckCheckTime[2][64]; // 0x1150 + int32_t m_nTraceCount; // 0x1350 + int32_t m_StuckLast; // 0x1354 + bool m_bSpeedCropped; // 0x1358 +private: + [[maybe_unused]] uint8_t __pad1359[0x3]; // 0x1359 +public: + int32_t m_nOldWaterLevel; // 0x135c + float m_flWaterEntryTime; // 0x1360 + Vector m_vecForward; // 0x1364 + Vector m_vecLeft; // 0x1370 + Vector m_vecUp; // 0x137c + Vector m_vecPreviouslyPredictedOrigin; // 0x1388 + // MNetworkEnable + bool m_bOldJumpPressed; // 0x1394 +private: + [[maybe_unused]] uint8_t __pad1395[0x3]; // 0x1395 +public: + // MNetworkEnable + float m_flJumpUntil; // 0x1398 + // MNetworkEnable + float m_flJumpVel; // 0x139c + // MNetworkEnable + GameTime_t m_fStashGrenadeParameterWhen; // 0x13a0 + bool m_bUpdatePredictedOriginAfterDataUpdate; // 0x13a4 +}; + +// Alignment: 16 +// Size: 0xd0 +class CCSPlayer_ObserverServices : public CPlayer_ObserverServices +{ +public: + CEntityHandle m_hLastObserverTarget; // 0x58 + Vector m_vecObserverInterpolateOffset; // 0x5c + Vector m_vecObserverInterpStartPos; // 0x68 + float m_flObsInterp_PathLength; // 0x74 +private: + [[maybe_unused]] uint8_t __pad0078[0x8]; // 0x78 +public: + Quaternion m_qObsInterp_OrientationStart; // 0x80 + Quaternion m_qObsInterp_OrientationTravelDir; // 0x90 + ObserverInterpState_t m_obsInterpState; // 0xa0 + bool m_bObserverInterpolationNeedsDeferredSetup; // 0xa4 +private: + [[maybe_unused]] uint8_t __pad00a5[0x3]; // 0xa5 +public: + int32_t m_nLastKillerDamageTaken; // 0xa8 + int32_t m_nLastKillerHitsTaken; // 0xac + int32_t m_nLastKillerDamageGiven; // 0xb0 + int32_t m_nLastKillerHitsGiven; // 0xb4 + int32_t m_nLastKillerActualDamageGiven; // 0xb8 + int32_t m_nLastKillerActualDamageTaken; // 0xbc + bool m_bCanShowDeathPanelNow; // 0xc0 + bool m_bWasShowingDeathPanel; // 0xc1 +}; + +// Alignment: 0 +// Size: 0x40 +class CCSPlayer_UseServices : public CPlayer_UseServices +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x50 +class CCSPlayer_ViewModelServices : public CPlayerPawnComponent +{ +public: + // MNetworkEnable + CHandle< C_BaseViewModel > m_hViewModel[3]; // 0x40 +}; + +// Alignment: 3 +// Size: 0x60 +class CCSPlayer_WaterServices : public CPlayer_WaterServices +{ +public: + float m_flWaterJumpTime; // 0x40 + Vector m_vecWaterJumpVel; // 0x44 + float m_flSwimSoundTime; // 0x50 +}; + +// Alignment: 3 +// Size: 0xb0 +class CCSPlayer_WeaponServices : public CPlayer_WeaponServices +{ +public: + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + GameTime_t m_flNextAttack; // 0xa8 + // MNetworkEnable + bool m_bIsLookingAtWeapon; // 0xac + // MNetworkEnable + bool m_bIsHoldingLookAtWeapon; // 0xad +}; + +// Alignment: 4 +// Size: 0x110 +class CCSPlayerController_ActionTrackingServices : public CPlayerControllerComponent +{ +public: + // MNetworkEnable + C_UtlVectorEmbeddedNetworkVar< CSPerRoundStats_t > m_perRoundStats; // 0x40 + // MNetworkEnable + CSMatchStats_t m_matchStats; // 0x90 + // MNetworkEnable + int32_t m_iNumRoundKills; // 0x108 + // MNetworkEnable + int32_t m_iNumRoundKillsHeadshots; // 0x10c +}; + +// Alignment: 14 +// Size: 0x70 +class CDamageRecord +{ +public: + // MNetworkEnable + CHandle< C_CSPlayerPawnBase > m_PlayerDamager; // 0x28 + // MNetworkEnable + CHandle< C_CSPlayerPawnBase > m_PlayerRecipient; // 0x2c + // MNetworkEnable + CHandle< CCSPlayerController > m_hPlayerControllerDamager; // 0x30 + // MNetworkEnable + CHandle< CCSPlayerController > m_hPlayerControllerRecipient; // 0x34 + // MNetworkEnable + CUtlString m_szPlayerDamagerName; // 0x38 + // MNetworkEnable + CUtlString m_szPlayerRecipientName; // 0x40 + // MNetworkEnable + uint64_t m_DamagerXuid; // 0x48 + // MNetworkEnable + uint64_t m_RecipientXuid; // 0x50 + // MNetworkEnable + int32_t m_iDamage; // 0x58 + // MNetworkEnable + int32_t m_iActualHealthRemoved; // 0x5c + // MNetworkEnable + int32_t m_iNumHits; // 0x60 + // MNetworkEnable + int32_t m_iLastBulletUpdate; // 0x64 + // MNetworkEnable + bool m_bIsOtherEnemy; // 0x68 + // MNetworkEnable + EKillTypes_t m_killType; // 0x69 +}; + +// Alignment: 3 +// Size: 0x98 +class CCSPlayerController_DamageServices : public CPlayerControllerComponent +{ +public: + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusiveDuringRoundEnd" + // MNetworkChangeCallback "OnDamageListUpdate" + int32_t m_nSendUpdate; // 0x40 + int32_t m_nCachedSendUpdate; // 0x44 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusiveDuringRoundEnd" + C_UtlVectorEmbeddedNetworkVar< CDamageRecord > m_DamageList; // 0x48 +}; + +// Alignment: 5 +// Size: 0x58 +class CCSPlayerController_InGameMoneyServices : public CPlayerControllerComponent +{ +public: + // MNetworkEnable + int32_t m_iAccount; // 0x40 + // MNetworkEnable + int32_t m_iStartAccount; // 0x44 + // MNetworkEnable + int32_t m_iTotalCashSpent; // 0x48 + // MNetworkEnable + int32_t m_iCashSpentThisRound; // 0x4c + int32_t m_nPreviousAccount; // 0x50 +}; + +// Alignment: 8 +// Size: 0x110 +class CCSPlayerController_InventoryServices : public CPlayerControllerComponent +{ +public: + // MNetworkEnable + uint16_t m_unMusicID; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0042[0x2]; // 0x42 +public: + // MNetworkEnable + MedalRank_t m_rank[6]; // 0x44 + // MNetworkEnable + int32_t m_nPersonaDataPublicLevel; // 0x5c + // MNetworkEnable + int32_t m_nPersonaDataPublicCommendsLeader; // 0x60 + // MNetworkEnable + int32_t m_nPersonaDataPublicCommendsTeacher; // 0x64 + // MNetworkEnable + int32_t m_nPersonaDataPublicCommendsFriendly; // 0x68 +private: + [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c +public: + // MNetworkEnable + // MNetworkChangeCallback "OnTerroristLoadoutCacheChanged" + C_UtlVectorEmbeddedNetworkVar< C_EconItemView > m_vecTerroristLoadoutCache; // 0x70 + // MNetworkEnable + // MNetworkChangeCallback "OnCounterTerroristLoadoutCacheChanged" + C_UtlVectorEmbeddedNetworkVar< C_EconItemView > m_vecCounterTerroristLoadoutCache; // 0xc0 +}; + +// Alignment: 100 +// Size: 0x18f8 +class C_CSGameRules : public C_TeamplayRules +{ +public: + // MNetworkDisable + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x8 + // MNetworkEnable + bool m_bFreezePeriod; // 0x30 + // MNetworkEnable + bool m_bWarmupPeriod; // 0x31 +private: + [[maybe_unused]] uint8_t __pad0032[0x2]; // 0x32 +public: + // MNetworkEnable + GameTime_t m_fWarmupPeriodEnd; // 0x34 + // MNetworkEnable + GameTime_t m_fWarmupPeriodStart; // 0x38 + // MNetworkEnable + bool m_bTerroristTimeOutActive; // 0x3c + // MNetworkEnable + bool m_bCTTimeOutActive; // 0x3d +private: + [[maybe_unused]] uint8_t __pad003e[0x2]; // 0x3e +public: + // MNetworkEnable + float m_flTerroristTimeOutRemaining; // 0x40 + // MNetworkEnable + float m_flCTTimeOutRemaining; // 0x44 + // MNetworkEnable + int32_t m_nTerroristTimeOuts; // 0x48 + // MNetworkEnable + int32_t m_nCTTimeOuts; // 0x4c + // MNetworkEnable + bool m_bTechnicalTimeOut; // 0x50 + // MNetworkEnable + bool m_bMatchWaitingForResume; // 0x51 +private: + [[maybe_unused]] uint8_t __pad0052[0x2]; // 0x52 +public: + // MNetworkEnable + int32_t m_iRoundTime; // 0x54 + // MNetworkEnable + float m_fMatchStartTime; // 0x58 + // MNetworkEnable + GameTime_t m_fRoundStartTime; // 0x5c + // MNetworkEnable + GameTime_t m_flRestartRoundTime; // 0x60 + // MNetworkEnable + bool m_bGameRestart; // 0x64 +private: + [[maybe_unused]] uint8_t __pad0065[0x3]; // 0x65 +public: + // MNetworkEnable + float m_flGameStartTime; // 0x68 + // MNetworkEnable + float m_timeUntilNextPhaseStarts; // 0x6c + // MNetworkEnable + // MNetworkChangeCallback "OnGamePhaseChanged" + int32_t m_gamePhase; // 0x70 + // MNetworkEnable + int32_t m_totalRoundsPlayed; // 0x74 + // MNetworkEnable + int32_t m_nRoundsPlayedThisPhase; // 0x78 + // MNetworkEnable + int32_t m_nOvertimePlaying; // 0x7c + // MNetworkEnable + int32_t m_iHostagesRemaining; // 0x80 + // MNetworkEnable + bool m_bAnyHostageReached; // 0x84 + // MNetworkEnable + bool m_bMapHasBombTarget; // 0x85 + // MNetworkEnable + bool m_bMapHasRescueZone; // 0x86 + // MNetworkEnable + bool m_bMapHasBuyZone; // 0x87 + // MNetworkEnable + bool m_bIsQueuedMatchmaking; // 0x88 +private: + [[maybe_unused]] uint8_t __pad0089[0x3]; // 0x89 +public: + // MNetworkEnable + int32_t m_nQueuedMatchmakingMode; // 0x8c + // MNetworkEnable + bool m_bIsValveDS; // 0x90 + // MNetworkEnable + bool m_bLogoMap; // 0x91 + // MNetworkEnable + bool m_bPlayAllStepSoundsOnServer; // 0x92 +private: + [[maybe_unused]] uint8_t __pad0093[0x1]; // 0x93 +public: + // MNetworkEnable + int32_t m_iNumGunGameProgressiveWeaponsCT; // 0x94 + // MNetworkEnable + int32_t m_iNumGunGameProgressiveWeaponsT; // 0x98 + // MNetworkEnable + int32_t m_iSpectatorSlotCount; // 0x9c + // MNetworkEnable + int32_t m_GGProgressiveWeaponOrderCT[60]; // 0xa0 + // MNetworkEnable + int32_t m_GGProgressiveWeaponOrderT[60]; // 0x190 + // MNetworkEnable + int32_t m_GGProgressiveWeaponKillUpgradeOrderCT[60]; // 0x280 + // MNetworkEnable + int32_t m_GGProgressiveWeaponKillUpgradeOrderT[60]; // 0x370 + // MNetworkEnable + int32_t m_MatchDevice; // 0x460 + // MNetworkEnable + bool m_bHasMatchStarted; // 0x464 +private: + [[maybe_unused]] uint8_t __pad0465[0x3]; // 0x465 +public: + // MNetworkEnable + float m_flDMBonusStartTime; // 0x468 + // MNetworkEnable + float m_flDMBonusTimeLength; // 0x46c + // MNetworkEnable + uint16_t m_unDMBonusWeaponLoadoutSlot; // 0x470 + // MNetworkEnable + bool m_bDMBonusActive; // 0x472 +private: + [[maybe_unused]] uint8_t __pad0473[0x1]; // 0x473 +public: + // MNetworkEnable + int32_t m_nNextMapInMapgroup; // 0x474 + // MNetworkEnable + char m_szTournamentEventName[512]; // 0x478 + // MNetworkEnable + char m_szTournamentEventStage[512]; // 0x678 + // MNetworkEnable + char m_szMatchStatTxt[512]; // 0x878 + // MNetworkEnable + char m_szTournamentPredictionsTxt[512]; // 0xa78 + // MNetworkEnable + int32_t m_nTournamentPredictionsPct; // 0xc78 + // MNetworkEnable + GameTime_t m_flCMMItemDropRevealStartTime; // 0xc7c + // MNetworkEnable + GameTime_t m_flCMMItemDropRevealEndTime; // 0xc80 + // MNetworkEnable + bool m_bIsDroppingItems; // 0xc84 + // MNetworkEnable + bool m_bIsQuestEligible; // 0xc85 +private: + [[maybe_unused]] uint8_t __pad0c86[0x2]; // 0xc86 +public: + // MNetworkEnable + int32_t m_nGuardianModeWaveNumber; // 0xc88 + // MNetworkEnable + int32_t m_nGuardianModeSpecialKillsRemaining; // 0xc8c + // MNetworkEnable + int32_t m_nGuardianModeSpecialWeaponNeeded; // 0xc90 + int32_t m_nGuardianGrenadesToGiveBots; // 0xc94 + int32_t m_nNumHeaviesToSpawn; // 0xc98 + // MNetworkEnable + uint32_t m_numGlobalGiftsGiven; // 0xc9c + // MNetworkEnable + uint32_t m_numGlobalGifters; // 0xca0 + // MNetworkEnable + uint32_t m_numGlobalGiftsPeriodSeconds; // 0xca4 + // MNetworkEnable + uint32_t m_arrFeaturedGiftersAccounts[4]; // 0xca8 + // MNetworkEnable + uint32_t m_arrFeaturedGiftersGifts[4]; // 0xcb8 + // MNetworkEnable + uint16_t m_arrProhibitedItemIndices[100]; // 0xcc8 + // MNetworkEnable + uint32_t m_arrTournamentActiveCasterAccounts[4]; // 0xd90 + // MNetworkEnable + int32_t m_numBestOfMaps; // 0xda0 + // MNetworkEnable + int32_t m_nHalloweenMaskListSeed; // 0xda4 + // MNetworkEnable + bool m_bBombDropped; // 0xda8 + // MNetworkEnable + bool m_bBombPlanted; // 0xda9 +private: + [[maybe_unused]] uint8_t __pad0daa[0x2]; // 0xdaa +public: + // MNetworkEnable + int32_t m_iRoundWinStatus; // 0xdac + // MNetworkEnable + int32_t m_eRoundWinReason; // 0xdb0 + // MNetworkEnable + bool m_bTCantBuy; // 0xdb4 + // MNetworkEnable + bool m_bCTCantBuy; // 0xdb5 +private: + [[maybe_unused]] uint8_t __pad0db6[0x2]; // 0xdb6 +public: + // MNetworkEnable + GameTime_t m_flGuardianBuyUntilTime; // 0xdb8 + // MNetworkEnable + int32_t m_iMatchStats_RoundResults[30]; // 0xdbc + // MNetworkEnable + int32_t m_iMatchStats_PlayersAlive_CT[30]; // 0xe34 + // MNetworkEnable + int32_t m_iMatchStats_PlayersAlive_T[30]; // 0xeac + // MNetworkEnable + float m_TeamRespawnWaveTimes[32]; // 0xf24 + // MNetworkEnable + GameTime_t m_flNextRespawnWave[32]; // 0xfa4 + // MNetworkEnable + int32_t m_nServerQuestID; // 0x1024 + bool m_bDontIncrementCoopWave; // 0x1028 + bool m_bSpawnedTerrorHuntHeavy; // 0x1029 +private: + [[maybe_unused]] uint8_t __pad102a[0x2]; // 0x102a +public: + // MNetworkEnable + int32_t m_nEndMatchMapGroupVoteTypes[10]; // 0x102c + // MNetworkEnable + int32_t m_nEndMatchMapGroupVoteOptions[10]; // 0x1054 + // MNetworkEnable + int32_t m_nEndMatchMapVoteWinner; // 0x107c + // MNetworkEnable + int32_t m_iNumConsecutiveCTLoses; // 0x1080 + // MNetworkEnable + int32_t m_iNumConsecutiveTerroristLoses; // 0x1084 +private: + [[maybe_unused]] uint8_t __pad1088[0x18]; // 0x1088 +public: + bool m_bMarkClientStopRecordAtRoundEnd; // 0x10a0 +private: + [[maybe_unused]] uint8_t __pad10a1[0x57]; // 0x10a1 +public: + bool m_bHasTriggeredRoundStartMusic; // 0x10f8 + bool m_bHasTriggeredCoopSpawnReset; // 0x10f9 + bool m_bSwitchingTeamsAtRoundReset; // 0x10fa +private: + [[maybe_unused]] uint8_t __pad10fb[0x1]; // 0x10fb +public: + int32_t m_iMaxGunGameProgressiveWeaponIndex; // 0x10fc +private: + [[maybe_unused]] uint8_t __pad1100[0x18]; // 0x1100 +public: + // MNetworkEnable + C_SurvivalGameRules m_SurvivalRules; // 0x1118 + // MNetworkEnable + C_RetakeGameRules m_RetakeRules; // 0x17d8 + // MNetworkEnable + // MNetworkChangeCallback "OnMatchEndCountChanged" + uint8_t m_nMatchEndCount; // 0x18f0 + // MNetworkEnable + // MNetworkChangeCallback "OnTeamIntroPeriodChanged" + bool m_bTeamIntroPeriod; // 0x18f1 +}; + +// Alignment: 7 +// Size: 0x560 +class C_DangerZone : public C_BaseEntity +{ +public: + // MNetworkEnable + Vector m_vecDangerZoneOriginStartedAt; // 0x538 + // MNetworkEnable + GameTime_t m_flBombLaunchTime; // 0x544 + // MNetworkEnable + float m_flExtraRadius; // 0x548 + // MNetworkEnable + GameTime_t m_flExtraRadiusStartTime; // 0x54c + // MNetworkEnable + float m_flExtraRadiusTotalLerpTime; // 0x550 + // MNetworkEnable + int32_t m_nDropOrder; // 0x554 + // MNetworkEnable + int32_t m_iWave; // 0x558 +}; + +// Alignment: 9 +// Size: 0x620 +class C_DangerZoneController : public C_BaseEntity +{ +public: + // MNetworkEnable + bool m_bDangerZoneControllerEnabled; // 0x538 + // MNetworkEnable + bool m_bMissionControlledExplosions; // 0x539 +private: + [[maybe_unused]] uint8_t __pad053a[0x2]; // 0x53a +public: + // MNetworkEnable + Vector m_vecEndGameCircleStart; // 0x53c + // MNetworkEnable + Vector m_vecEndGameCircleEnd; // 0x548 + // MNetworkEnable + GameTime_t m_flStartTime; // 0x554 + // MNetworkEnable + float m_flFinalExpansionTime; // 0x558 + // MNetworkEnable + CHandle< C_DangerZone > m_DangerZones[42]; // 0x55c + // MNetworkEnable + GameTime_t m_flWaveEndTimes[5]; // 0x604 + // MNetworkEnable + CHandle< C_DangerZone > m_hTheFinalZone; // 0x618 +}; + +// Alignment: 4 +// Size: 0x560 +class C_GrassBurn : public C_BaseEntity +{ +public: + // MNetworkEnable + float m_flGrassBurnClearTime; // 0x538 + float m_bClientPendingClear; // 0x53c + float m_flGrassBurnClearTimeLocal; // 0x540 +private: + [[maybe_unused]] uint8_t __pad0544[0x4]; // 0x544 +public: + CUtlVector< Vector > m_vecGrassBurnPositions; // 0x548 +}; + +// Alignment: 13 +// Size: 0xb0 +class C_IronSightController +{ +public: + bool m_bIronSightAvailable; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 +public: + float m_flIronSightAmount; // 0x14 + float m_flIronSightAmountGained; // 0x18 + float m_flIronSightAmountBiased; // 0x1c + float m_flIronSightAmount_Interpolated; // 0x20 + float m_flIronSightAmountGained_Interpolated; // 0x24 + float m_flIronSightAmountBiased_Interpolated; // 0x28 + float m_flInterpolationLastUpdated; // 0x2c + QAngle m_angDeltaAverage[8]; // 0x30 + QAngle m_angViewLast; // 0x90 + Vector2D m_vecDotCoords; // 0x9c + float m_flDotBlur; // 0xa4 + float m_flSpeedRatio; // 0xa8 +}; + +// Alignment: 4 +// Size: 0x20 +struct CompositeMaterialMatchFilter_t +{ +public: + // MPropertyFriendlyName "Match Type" + // MPropertyAttributeChoiceEnumName + CompositeMaterialMatchFilterType_t m_nCompositeMaterialMatchFilterType; // 0x0 + // MPropertyFriendlyName "Name" + CUtlString m_strMatchFilter; // 0x8 + // MPropertyFriendlyName "Value" + // MPropertyAttrStateCallback + CUtlString m_strMatchValue; // 0x10 + // MPropertyFriendlyName "Pass when True" + bool m_bPassWhenTrue; // 0x18 +}; + +// Alignment: 31 +// Size: 0x258 +struct CompositeMaterialInputLooseVariable_t +{ +public: + // MPropertyFriendlyName "Name" + // MPropertyAttrStateCallback + CUtlString m_strName; // 0x0 + // MPropertyAutoRebuildOnChange + // MPropertyFriendlyName "Expose Externally" + bool m_bExposeExternally; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 +public: + // MPropertyFriendlyName "Exposed Friendly Name" + // MPropertyAttrStateCallback + CUtlString m_strExposedFriendlyName; // 0x10 + // MPropertyFriendlyName "Exposed Friendly Group" + // MPropertyAttrStateCallback + CUtlString m_strExposedFriendlyGroupName; // 0x18 + // MPropertyAutoRebuildOnChange + // MPropertyFriendlyName "Type" + // MPropertyAttributeChoiceEnumName + CompositeMaterialInputLooseVariableType_t m_nVariableType; // 0x20 + // MPropertyFriendlyName "Value" + // MPropertyAttrStateCallback + bool m_bValueBoolean; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0025[0x3]; // 0x25 +public: + // MPropertyFriendlyName "X Value" + // MPropertyAttrStateCallback + // MPropertyAttributeRange "0 255" + int32_t m_nValueIntX; // 0x28 + // MPropertyFriendlyName "Y Value" + // MPropertyAttrStateCallback + // MPropertyAttributeRange "0 255" + int32_t m_nValueIntY; // 0x2c + // MPropertyFriendlyName "Z Value" + // MPropertyAttrStateCallback + // MPropertyAttributeRange "0 255" + int32_t m_nValueIntZ; // 0x30 + // MPropertyFriendlyName "W Value" + // MPropertyAttrStateCallback + // MPropertyAttributeRange "0 255" + int32_t m_nValueIntW; // 0x34 + // MPropertyFriendlyName "Specify Min/Max" + // MPropertyAttrStateCallback + bool m_bHasFloatBounds; // 0x38 +private: + [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 +public: + // MPropertyFriendlyName "X Value" + // MPropertyAttrStateCallback + // MPropertyAttributeRange "0.0 1.0" + float m_flValueFloatX; // 0x3c + // MPropertyFriendlyName "X Min" + // MPropertyAttrStateCallback + float m_flValueFloatX_Min; // 0x40 + // MPropertyFriendlyName "X Max" + // MPropertyAttrStateCallback + float m_flValueFloatX_Max; // 0x44 + // MPropertyFriendlyName "Y Value" + // MPropertyAttrStateCallback + // MPropertyAttributeRange "0.0 1.0" + float m_flValueFloatY; // 0x48 + // MPropertyFriendlyName "Y Min" + // MPropertyAttrStateCallback + float m_flValueFloatY_Min; // 0x4c + // MPropertyFriendlyName "Y Max" + // MPropertyAttrStateCallback + float m_flValueFloatY_Max; // 0x50 + // MPropertyFriendlyName "Z Value" + // MPropertyAttrStateCallback + // MPropertyAttributeRange "0.0 1.0" + float m_flValueFloatZ; // 0x54 + // MPropertyFriendlyName "Z Min" + // MPropertyAttrStateCallback + float m_flValueFloatZ_Min; // 0x58 + // MPropertyFriendlyName "Z Max" + // MPropertyAttrStateCallback + float m_flValueFloatZ_Max; // 0x5c + // MPropertyFriendlyName "W Value" + // MPropertyAttrStateCallback + // MPropertyAttributeRange "0.0 1.0" + float m_flValueFloatW; // 0x60 + // MPropertyFriendlyName "W Min" + // MPropertyAttrStateCallback + float m_flValueFloatW_Min; // 0x64 + // MPropertyFriendlyName "W Max" + // MPropertyAttrStateCallback + float m_flValueFloatW_Max; // 0x68 + // MPropertyFriendlyName "Value" + // MPropertyAttrStateCallback + Color m_cValueColor4; // 0x6c + // MPropertyFriendlyName "Value" + // MPropertyAttrStateCallback + CompositeMaterialVarSystemVar_t m_nValueSystemVar; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0074[0x4]; // 0x74 +public: + // MPropertyFriendlyName "Material" + // MPropertyAttributeEditor "AssetBrowse( vmat )" + // MPropertyAttrStateCallback + CResourceName m_strResourceMaterial; // 0x78 + // MPropertyFriendlyName "Texture" + // MPropertyAttributeEditor "AssetBrowse( jpg, png, psd, tga )" + // MPropertyAttrStateCallback + CUtlString m_strTextureContentAssetPath; // 0x158 + // MPropertyHideField + CResourceName m_strTextureRuntimeResourcePath; // 0x160 + // MPropertyHideField + CUtlString m_strTextureCompilationVtexTemplate; // 0x240 + // MPropertyFriendlyName "Texture Type" + // MPropertyAttrStateCallback + CompositeMaterialInputTextureType_t m_nTextureType; // 0x248 +private: + [[maybe_unused]] uint8_t __pad024c[0x4]; // 0x24c +public: + // MPropertyFriendlyName "String" + // MPropertyAttrStateCallback + CUtlString m_strString; // 0x250 +}; + +// Alignment: 5 +// Size: 0x28 +struct CompMatMutatorCondition_t +{ +public: + // MPropertyAutoRebuildOnChange + // MPropertyFriendlyName "Condition" + // MPropertyAttributeChoiceEnumName + CompMatPropertyMutatorConditionType_t m_nMutatorCondition; // 0x0 + // MPropertyFriendlyName "Container Name" + // MPropertyAttrStateCallback + CUtlString m_strMutatorConditionContainerName; // 0x8 + // MPropertyFriendlyName "Variable Name" + // MPropertyAttrStateCallback + CUtlString m_strMutatorConditionContainerVarName; // 0x10 + // MPropertyFriendlyName "Variable Value" + // MPropertyAttrStateCallback + CUtlString m_strMutatorConditionContainerVarValue; // 0x18 + // MPropertyFriendlyName "Pass when True" + bool m_bPassWhenTrue; // 0x20 +}; + +// Alignment: 25 +// Size: 0x340 +struct CompMatPropertyMutator_t +{ +public: + // MPropertyAutoRebuildOnChange + // MPropertyFriendlyName "Enabled" + bool m_bEnabled; // 0x0 + // MPropertyAutoRebuildOnChange + // MPropertyFriendlyName "Mutator Command" + // MPropertyAttributeChoiceEnumName + // MPropertyAttrStateCallback + CompMatPropertyMutatorType_t m_nMutatorCommandType; // 0x4 + // MPropertyFriendlyName "Container to Init With" + // MPropertyAttrStateCallback + CUtlString m_strInitWith_Container; // 0x8 + // MPropertyFriendlyName "Input Container" + // MPropertyAttrStateCallback + CUtlString m_strCopyProperty_InputContainerSrc; // 0x10 + // MPropertyFriendlyName "Input Container Property" + // MPropertyAttrStateCallback + CUtlString m_strCopyProperty_InputContainerProperty; // 0x18 + // MPropertyFriendlyName "Target Property" + // MPropertyAttrStateCallback + CUtlString m_strCopyProperty_TargetProperty; // 0x20 + // MPropertyFriendlyName "Seed Input Var" + // MPropertyAttrStateCallback + CUtlString m_strRandomRollInputVars_SeedInputVar; // 0x28 + // MPropertyFriendlyName "Input Vars" + // MPropertyAttrStateCallback + CUtlVector< CUtlString > m_vecRandomRollInputVars_InputVarsToRoll; // 0x30 + // MPropertyFriendlyName "Input Container" + // MPropertyAttrStateCallback + CUtlString m_strCopyMatchingKeys_InputContainerSrc; // 0x48 + // MPropertyFriendlyName "Input Container" + // MPropertyAttrStateCallback + CUtlString m_strCopyKeysWithSuffix_InputContainerSrc; // 0x50 + // MPropertyFriendlyName "Find Suffix" + // MPropertyAttrStateCallback + CUtlString m_strCopyKeysWithSuffix_FindSuffix; // 0x58 + // MPropertyFriendlyName "Replace Suffix" + // MPropertyAttrStateCallback + CUtlString m_strCopyKeysWithSuffix_ReplaceSuffix; // 0x60 + // MPropertyFriendlyName "Value" + // MPropertyAttrStateCallback + CompositeMaterialInputLooseVariable_t m_nSetValue_Value; // 0x68 + // MPropertyFriendlyName "Target Texture Param" + // MPropertyAttrStateCallback + CUtlString m_strGenerateTexture_TargetParam; // 0x2c0 + // MPropertyFriendlyName "Initial Container" + // MPropertyAttrStateCallback + CUtlString m_strGenerateTexture_InitialContainer; // 0x2c8 + // MPropertyFriendlyName "Resolution" + // MPropertyAttrStateCallback + int32_t m_nResolution; // 0x2d0 + // MPropertyAutoRebuildOnChange + // MPropertyFriendlyName "Splat Debug info on Texture" + // MPropertyAttrStateCallback + bool m_bSplatDebugInfo; // 0x2d4 + // MPropertyAutoRebuildOnChange + // MPropertyFriendlyName "Capture in RenderDoc" + // MPropertyAttrStateCallback + bool m_bCaptureInRenderDoc; // 0x2d5 +private: + [[maybe_unused]] uint8_t __pad02d6[0x2]; // 0x2d6 +public: + // MPropertyFriendlyName "Texture Generation Instructions" + // MPropertyAttrStateCallback + CUtlVector< CompMatPropertyMutator_t > m_vecTexGenInstructions; // 0x2d8 + // MPropertyFriendlyName "Mutators" + // MPropertyAttrStateCallback + CUtlVector< CompMatPropertyMutator_t > m_vecConditionalMutators; // 0x2f0 + // MPropertyFriendlyName "Container to Pop" + // MPropertyAttrStateCallback + CUtlString m_strPopInputQueue_Container; // 0x308 + // MPropertyFriendlyName "Input Container" + // MPropertyAttrStateCallback + CUtlString m_strDrawText_InputContainerSrc; // 0x310 + // MPropertyFriendlyName "Input Container Property" + // MPropertyAttrStateCallback + CUtlString m_strDrawText_InputContainerProperty; // 0x318 + // MPropertyFriendlyName "Text Position" + // MPropertyAttrStateCallback + Vector2D m_vecDrawText_Position; // 0x320 + // MPropertyFriendlyName "Conditions" + // MPropertyAttrStateCallback + CUtlVector< CompMatMutatorCondition_t > m_vecConditions; // 0x328 +}; + +// Alignment: 8 +// Size: 0x138 +struct CompositeMaterialInputContainer_t +{ +public: + // MPropertyAutoRebuildOnChange + // MPropertyFriendlyName "Enabled" + bool m_bEnabled; // 0x0 + // MPropertyAutoRebuildOnChange + // MPropertyFriendlyName "Input Container Source" + // MPropertyAttributeChoiceEnumName + // MPropertyAttrStateCallback + CompositeMaterialInputContainerSourceType_t m_nCompositeMaterialInputContainerSourceType; // 0x4 + // MPropertyFriendlyName "Specific Material" + // MPropertyAttributeEditor "AssetBrowse( vmat )" + // MPropertyAttrStateCallback + CResourceName m_strSpecificContainerMaterial; // 0x8 + // MPropertyFriendlyName "Attribute Name" + // MPropertyAttrStateCallback + CUtlString m_strAttrName; // 0xe8 + // MPropertyFriendlyName "Alias" + // MPropertyAttrStateCallback + CUtlString m_strAlias; // 0xf0 + // MPropertyFriendlyName "Variables" + // MPropertyAttrStateCallback + CUtlVector< CompositeMaterialInputLooseVariable_t > m_vecLooseVariables; // 0xf8 + // MPropertyFriendlyName "Attribute Name" + // MPropertyAttrStateCallback + CUtlString m_strAttrNameForVar; // 0x110 + // MPropertyFriendlyName "Expose Externally" + // MPropertyAttrStateCallback + bool m_bExposeExternally; // 0x118 +}; + +// Alignment: 4 +// Size: 0x60 +struct CompositeMaterialAssemblyProcedure_t +{ +public: + // MPropertyFriendlyName "Includes" + // MPropertyAttributeEditor "AssetBrowse( vcompmat )" + CUtlVector< CResourceName > m_vecCompMatIncludes; // 0x0 + // MPropertyFriendlyName "Match Filters" + CUtlVector< CompositeMaterialMatchFilter_t > m_vecMatchFilters; // 0x18 + // MPropertyFriendlyName "Composite Inputs" + CUtlVector< CompositeMaterialInputContainer_t > m_vecCompositeInputContainers; // 0x30 + // MPropertyFriendlyName "Property Mutators" + CUtlVector< CompMatPropertyMutator_t > m_vecPropertyMutators; // 0x48 +}; + +// Alignment: 1 +// Size: 0x50 +struct GeneratedTextureHandle_t +{ +public: + // MPropertyFriendlyName "Generated Texture" + // MPropertyAttributeEditor "CompositeMaterialTextureViewer" + CUtlString m_strBitmapName; // 0x8 +}; + +// Alignment: 4 +// Size: 0x60 +struct CompositeMaterial_t +{ +public: + // MPropertyGroupName "Target Material" + // MPropertyAttributeEditor "CompositeMaterialKVInspector" + KeyValues3 m_TargetKVs; // 0x8 + // MPropertyGroupName "Pre-Generated Output Material" + // MPropertyAttributeEditor "CompositeMaterialKVInspector" + KeyValues3 m_PreGenerationKVs; // 0x18 + // MPropertyGroupName "Generated Composite Material" + // MPropertyAttributeEditor "CompositeMaterialKVInspector" + KeyValues3 m_FinalKVs; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 +public: + // MPropertyFriendlyName "Generated Textures" + CUtlVector< GeneratedTextureHandle_t > m_vecGeneratedTextures; // 0x40 +}; + +// Alignment: 8 +// Size: 0x218 +struct CompositeMaterialEditorPoint_t +{ +public: + // MPropertyGroupName "Preview Model" + // MPropertyFriendlyName "Target Model" + // MPropertyAttributeEditor "AssetBrowse( vmdl )" + CResourceName m_ModelName; // 0x0 + // MPropertyGroupName "Preview Model" + // MPropertyFriendlyName "Animation" + int32_t m_nSequenceIndex; // 0xe0 + // MPropertyGroupName "Preview Model" + // MPropertyFriendlyName "Animation Cycle" + // MPropertyAttributeRange "0.0 1.0" + float m_flCycle; // 0xe4 + // MPropertyGroupName "Preview Model" + // MPropertyFriendlyName "Model Preview State" + // MPropertyAttributeEditor "CompositeMaterialUserModelStateSetting" + KeyValues3 m_KVModelStateChoices; // 0xe8 + // MPropertyAutoRebuildOnChange + // MPropertyGroupName "Preview Model" + // MPropertyFriendlyName "Enable Child Model" + bool m_bEnableChildModel; // 0xf8 +private: + [[maybe_unused]] uint8_t __pad00f9[0x7]; // 0xf9 +public: + // MPropertyGroupName "Preview Model" + // MPropertyFriendlyName "Child Model" + // MPropertyAttributeEditor "AssetBrowse( vmdl )" + // MPropertyAttrStateCallback + CResourceName m_ChildModelName; // 0x100 + // MPropertyGroupName "Composite Material Assembly" + // MPropertyFriendlyName "Composite Material Assembly Procedures" + CUtlVector< CompositeMaterialAssemblyProcedure_t > m_vecCompositeMaterialAssemblyProcedures; // 0x1e0 + // MPropertyFriendlyName "Generated Composite Materials" + CUtlVector< CompositeMaterial_t > m_vecCompositeMaterials; // 0x1f8 +}; + +// Alignment: 3 +// Size: 0x38 +class CCompositeMaterialEditorDoc +{ +public: + int32_t m_nVersion; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< CompositeMaterialEditorPoint_t > m_Points; // 0x10 + KeyValues3 m_KVthumbnail; // 0x28 +}; + +// Alignment: 43 +// Size: 0x4c0 +class CGlobalLightBase +{ +public: + bool m_bSpotLight; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 +public: + Vector m_SpotLightOrigin; // 0x14 + QAngle m_SpotLightAngles; // 0x20 + Vector m_ShadowDirection; // 0x2c + Vector m_AmbientDirection; // 0x38 + Vector m_SpecularDirection; // 0x44 + Vector m_InspectorSpecularDirection; // 0x50 + float m_flSpecularPower; // 0x5c + float m_flSpecularIndependence; // 0x60 + Color m_SpecularColor; // 0x64 + bool m_bStartDisabled; // 0x68 + bool m_bEnabled; // 0x69 + Color m_LightColor; // 0x6a + Color m_AmbientColor1; // 0x6e + Color m_AmbientColor2; // 0x72 + Color m_AmbientColor3; // 0x76 +private: + [[maybe_unused]] uint8_t __pad007a[0x2]; // 0x7a +public: + float m_flSunDistance; // 0x7c + float m_flFOV; // 0x80 + float m_flNearZ; // 0x84 + float m_flFarZ; // 0x88 + bool m_bEnableShadows; // 0x8c + bool m_bOldEnableShadows; // 0x8d + bool m_bBackgroundClearNotRequired; // 0x8e +private: + [[maybe_unused]] uint8_t __pad008f[0x1]; // 0x8f +public: + float m_flCloudScale; // 0x90 + float m_flCloud1Speed; // 0x94 + float m_flCloud1Direction; // 0x98 + float m_flCloud2Speed; // 0x9c + float m_flCloud2Direction; // 0xa0 + float m_flAmbientScale1; // 0xa4 + float m_flAmbientScale2; // 0xa8 + float m_flGroundScale; // 0xac + float m_flLightScale; // 0xb0 + float m_flFoWDarkness; // 0xb4 + bool m_bEnableSeparateSkyboxFog; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 +public: + Vector m_vFowColor; // 0xbc + Vector m_ViewOrigin; // 0xc8 + QAngle m_ViewAngles; // 0xd4 + float m_flViewFoV; // 0xe0 + Vector m_WorldPoints[8]; // 0xe4 +private: + [[maybe_unused]] uint8_t __pad0144[0x364]; // 0x144 +public: + Vector2D m_vFogOffsetLayer0; // 0x4a8 + Vector2D m_vFogOffsetLayer1; // 0x4b0 + CHandle< C_BaseEntity > m_hEnvWind; // 0x4b8 + CHandle< C_BaseEntity > m_hEnvSky; // 0x4bc +}; + +// Alignment: 1 +// Size: 0xa30 +class C_GlobalLight : public C_BaseEntity +{ +public: + uint16_t m_WindClothForceHandle; // 0xa00 + static C_GlobalLight* &Get_sm_pGlobalLight(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GlobalLight")->m_static_fields[0]->m_instance);}; + static CUtlStringToken &Get_sm_pSkyboxSlots(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GlobalLight")->m_static_fields[1]->m_instance);}; + static CUtlVector< C_GlobalLight* > &Get_sm_nonPrimaryGlobalLights(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GlobalLight")->m_static_fields[2]->m_instance);}; +}; + +// Alignment: 10 +// Size: 0x588 +class C_CSGO_MapPreviewCameraPathNode : public C_BaseEntity +{ +public: + CUtlSymbolLarge m_szParentPathUniqueID; // 0x538 + int32_t m_nPathIndex; // 0x540 + Vector m_vInTangentLocal; // 0x544 + Vector m_vOutTangentLocal; // 0x550 + float m_flFOV; // 0x55c + float m_flSpeed; // 0x560 + float m_flEaseIn; // 0x564 + float m_flEaseOut; // 0x568 + Vector m_vInTangentWorld; // 0x56c + Vector m_vOutTangentWorld; // 0x578 +}; + +// Alignment: 8 +// Size: 0x598 +class C_CSGO_MapPreviewCameraPath : public C_BaseEntity +{ +public: + float m_flZFar; // 0x538 + float m_flZNear; // 0x53c + bool m_bLoop; // 0x540 + bool m_bVerticalFOV; // 0x541 + bool m_bConstantSpeed; // 0x542 +private: + [[maybe_unused]] uint8_t __pad0543[0x1]; // 0x543 +public: + float m_flDuration; // 0x544 +private: + [[maybe_unused]] uint8_t __pad0548[0x40]; // 0x548 +public: + float m_flPathLength; // 0x588 + float m_flPathDuration; // 0x58c +}; + +// Alignment: 0 +// Size: 0x70 +class CCSPlayer_GlowServices : public CPlayerPawnComponent +{ +public: + // no members available +}; + +// Alignment: 7 +// Size: 0x570 +class C_VoteController : public C_BaseEntity +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "RecvProxy_VoteType" + int32_t m_iActiveIssueIndex; // 0x548 + // MNetworkEnable + int32_t m_iOnlyTeamToVote; // 0x54c + // MNetworkEnable + // MNetworkChangeCallback "RecvProxy_VoteOption" + int32_t m_nVoteOptionCount[5]; // 0x550 + // MNetworkEnable + int32_t m_nPotentialVotes; // 0x564 + bool m_bVotesDirty; // 0x568 + bool m_bTypeDirty; // 0x569 + // MNetworkEnable + bool m_bIsYesNoVote; // 0x56a +}; + +// Alignment: 17 +// Size: 0xe80 +class C_MapVetoPickController : public C_BaseEntity +{ +public: + // MNetworkEnable + int32_t m_nDraftType; // 0x548 + // MNetworkEnable + int32_t m_nTeamWinningCoinToss; // 0x54c + // MNetworkEnable + int32_t m_nTeamWithFirstChoice[64]; // 0x550 + // MNetworkEnable + int32_t m_nVoteMapIdsList[7]; // 0x650 + // MNetworkEnable + int32_t m_nAccountIDs[64]; // 0x66c + // MNetworkEnable + int32_t m_nMapId0[64]; // 0x76c + // MNetworkEnable + int32_t m_nMapId1[64]; // 0x86c + // MNetworkEnable + int32_t m_nMapId2[64]; // 0x96c + // MNetworkEnable + int32_t m_nMapId3[64]; // 0xa6c + // MNetworkEnable + int32_t m_nMapId4[64]; // 0xb6c + // MNetworkEnable + int32_t m_nMapId5[64]; // 0xc6c + // MNetworkEnable + int32_t m_nStartingSide0[64]; // 0xd6c + // MNetworkEnable + int32_t m_nCurrentPhase; // 0xe6c + // MNetworkEnable + int32_t m_nPhaseStartTick; // 0xe70 + // MNetworkEnable + int32_t m_nPhaseDurationTicks; // 0xe74 + int32_t m_nPostDataUpdateTick; // 0xe78 + bool m_bDisabledHud; // 0xe7c +}; + +// Alignment: 0 +// Size: 0x30 +class CPlayerSprayDecalRenderHelper +{ +public: + // no members available +}; + +// Alignment: 6 +// Size: 0x5b0 +class C_CSGO_TeamPreviewCamera : public C_CSGO_MapPreviewCameraPath +{ +public: + bool m_bDofEnabled; // 0x598 +private: + [[maybe_unused]] uint8_t __pad0599[0x3]; // 0x599 +public: + float m_flDofNearBlurry; // 0x59c + float m_flDofNearCrisp; // 0x5a0 + float m_flDofFarCrisp; // 0x5a4 + float m_flDofFarBlurry; // 0x5a8 + float m_flDofTiltToGround; // 0x5ac +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_CSGO_TeamSelectCamera : public C_CSGO_TeamPreviewCamera +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_CSGO_TerroristTeamIntroCamera : public C_CSGO_TeamPreviewCamera +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_CSGO_CounterTerroristTeamIntroCamera : public C_CSGO_TeamPreviewCamera +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x5b0 +class C_CSGO_EndOfMatchCamera : public C_CSGO_TeamPreviewCamera +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x9d0 +class C_CSGO_EndOfMatchCharacterPosition : public C_CSGO_TeamPreviewCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x538 +class C_CSGO_EndOfMatchLineupEndpoint : public C_BaseEntity +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x538 +class C_CSGO_EndOfMatchLineupStart : public C_CSGO_EndOfMatchLineupEndpoint +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x538 +class C_CSGO_EndOfMatchLineupEnd : public C_CSGO_EndOfMatchLineupEndpoint +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x5c8 +class C_InfoMapRegion : public C_BaseEntity +{ +public: + // MNetworkEnable + float m_flRadius; // 0x538 + // MNetworkEnable + char m_szLocToken[128]; // 0x53c +private: + [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc +public: + C_InfoMapRegion* m_pNext; // 0x5c0 +}; + +// Alignment: 0 +// Size: 0x538 +class C_PointEntity : public C_BaseEntity +{ +public: + // no members available +}; + +// Alignment: 25 +// Size: 0x16b8 +class C_EnvCombinedLightProbeVolume : public C_BaseEntity +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "StateChanged" + Color m_Color; // 0x1608 + // MNetworkEnable + // MNetworkChangeCallback "StateChanged" + float m_flBrightness; // 0x160c + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1610 + // MNetworkEnable + bool m_bCustomCubemapTexture; // 0x1618 +private: + [[maybe_unused]] uint8_t __pad1619[0x7]; // 0x1619 +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1620 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1628 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1630 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1638 + // MNetworkEnable + Vector m_vBoxMins; // 0x1640 + // MNetworkEnable + Vector m_vBoxMaxs; // 0x164c + // MNetworkEnable + CUtlSymbolLarge m_LightGroups; // 0x1658 + // MNetworkEnable + bool m_bMoveable; // 0x1660 +private: + [[maybe_unused]] uint8_t __pad1661[0x3]; // 0x1661 +public: + // MNetworkEnable + int32_t m_nHandshake; // 0x1664 + // MNetworkEnable + int32_t m_nEnvCubeMapArrayIndex; // 0x1668 + // MNetworkEnable + int32_t m_nPriority; // 0x166c + // MNetworkEnable + bool m_bStartDisabled; // 0x1670 +private: + [[maybe_unused]] uint8_t __pad1671[0x3]; // 0x1671 +public: + // MNetworkEnable + float m_flEdgeFadeDist; // 0x1674 + // MNetworkEnable + Vector m_vEdgeFadeDists; // 0x1678 + // MNetworkEnable + int32_t m_nLightProbeSizeX; // 0x1684 + // MNetworkEnable + int32_t m_nLightProbeSizeY; // 0x1688 + // MNetworkEnable + int32_t m_nLightProbeSizeZ; // 0x168c + // MNetworkEnable + int32_t m_nLightProbeAtlasX; // 0x1690 + // MNetworkEnable + int32_t m_nLightProbeAtlasY; // 0x1694 + // MNetworkEnable + int32_t m_nLightProbeAtlasZ; // 0x1698 +private: + [[maybe_unused]] uint8_t __pad169c[0x15]; // 0x169c +public: + // MNetworkEnable + bool m_bEnabled; // 0x16b1 +}; + +// Alignment: 19 +// Size: 0x698 +class C_EnvCubemap : public C_BaseEntity +{ +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x628 + // MNetworkEnable + bool m_bCustomCubemapTexture; // 0x630 +private: + [[maybe_unused]] uint8_t __pad0631[0x3]; // 0x631 +public: + // MNetworkEnable + float m_flInfluenceRadius; // 0x634 + // MNetworkEnable + Vector m_vBoxProjectMins; // 0x638 + // MNetworkEnable + Vector m_vBoxProjectMaxs; // 0x644 + // MNetworkEnable + CUtlSymbolLarge m_LightGroups; // 0x650 + // MNetworkEnable + bool m_bMoveable; // 0x658 +private: + [[maybe_unused]] uint8_t __pad0659[0x3]; // 0x659 +public: + // MNetworkEnable + int32_t m_nHandshake; // 0x65c + // MNetworkEnable + int32_t m_nEnvCubeMapArrayIndex; // 0x660 + // MNetworkEnable + int32_t m_nPriority; // 0x664 + // MNetworkEnable + float m_flEdgeFadeDist; // 0x668 + // MNetworkEnable + Vector m_vEdgeFadeDists; // 0x66c + // MNetworkEnable + float m_flDiffuseScale; // 0x678 + // MNetworkEnable + bool m_bStartDisabled; // 0x67c + // MNetworkEnable + bool m_bDefaultEnvMap; // 0x67d + // MNetworkEnable + bool m_bDefaultSpecEnvMap; // 0x67e + // MNetworkEnable + bool m_bIndoorCubeMap; // 0x67f + // MNetworkEnable + bool m_bCopyDiffuseFromDefaultCubemap; // 0x680 +private: + [[maybe_unused]] uint8_t __pad0681[0xf]; // 0x681 +public: + // MNetworkEnable + bool m_bEnabled; // 0x690 +}; + +// Alignment: 0 +// Size: 0x698 +class C_EnvCubemapBox : public C_EnvCubemap +{ +public: + // no members available +}; + +// Alignment: 18 +// Size: 0x588 +class C_EnvCubemapFog : public C_BaseEntity +{ +public: + // MNetworkEnable + float m_flEndDistance; // 0x538 + // MNetworkEnable + float m_flStartDistance; // 0x53c + // MNetworkEnable + float m_flFogFalloffExponent; // 0x540 + // MNetworkEnable + bool m_bHeightFogEnabled; // 0x544 +private: + [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 +public: + // MNetworkEnable + float m_flFogHeightWidth; // 0x548 + // MNetworkEnable + float m_flFogHeightEnd; // 0x54c + // MNetworkEnable + float m_flFogHeightStart; // 0x550 + // MNetworkEnable + float m_flFogHeightExponent; // 0x554 + // MNetworkEnable + float m_flLODBias; // 0x558 + // MNetworkEnable + bool m_bActive; // 0x55c + // MNetworkEnable + bool m_bStartDisabled; // 0x55d +private: + [[maybe_unused]] uint8_t __pad055e[0x2]; // 0x55e +public: + // MNetworkEnable + float m_flFogMaxOpacity; // 0x560 + // MNetworkEnable + int32_t m_nCubemapSourceType; // 0x564 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x568 + // MNetworkEnable + CUtlSymbolLarge m_iszSkyEntity; // 0x570 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x578 + // MNetworkEnable + bool m_bHasHeightFogEnd; // 0x580 + bool m_bFirstTime; // 0x581 +}; + +// Alignment: 16 +// Size: 0x5d0 +class C_GradientFog : public C_BaseEntity +{ +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hGradientFogTexture; // 0x538 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogStartDistance; // 0x540 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogEndDistance; // 0x544 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + bool m_bHeightFogEnabled; // 0x548 +private: + [[maybe_unused]] uint8_t __pad0549[0x3]; // 0x549 +public: + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogStartHeight; // 0x54c + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogEndHeight; // 0x550 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFarZ; // 0x554 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogMaxOpacity; // 0x558 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogFalloffExponent; // 0x55c + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogVerticalExponent; // 0x560 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + Color m_fogColor; // 0x564 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogStrength; // 0x568 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFadeTime; // 0x56c + // MNetworkEnable + bool m_bStartDisabled; // 0x570 + // MNetworkEnable + bool m_bIsEnabled; // 0x571 + bool m_bGradientFogNeedsTextures; // 0x572 + static C_GradientFog* &Get_sm_pGradientFog(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GradientFog")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 18 +// Size: 0x1590 +class C_EnvLightProbeVolume : public C_BaseEntity +{ +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1518 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1520 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1528 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1530 + // MNetworkEnable + Vector m_vBoxMins; // 0x1538 + // MNetworkEnable + Vector m_vBoxMaxs; // 0x1544 + // MNetworkEnable + CUtlSymbolLarge m_LightGroups; // 0x1550 + // MNetworkEnable + bool m_bMoveable; // 0x1558 +private: + [[maybe_unused]] uint8_t __pad1559[0x3]; // 0x1559 +public: + // MNetworkEnable + int32_t m_nHandshake; // 0x155c + // MNetworkEnable + int32_t m_nPriority; // 0x1560 + // MNetworkEnable + bool m_bStartDisabled; // 0x1564 +private: + [[maybe_unused]] uint8_t __pad1565[0x3]; // 0x1565 +public: + // MNetworkEnable + int32_t m_nLightProbeSizeX; // 0x1568 + // MNetworkEnable + int32_t m_nLightProbeSizeY; // 0x156c + // MNetworkEnable + int32_t m_nLightProbeSizeZ; // 0x1570 + // MNetworkEnable + int32_t m_nLightProbeAtlasX; // 0x1574 + // MNetworkEnable + int32_t m_nLightProbeAtlasY; // 0x1578 + // MNetworkEnable + int32_t m_nLightProbeAtlasZ; // 0x157c +private: + [[maybe_unused]] uint8_t __pad1580[0x9]; // 0x1580 +public: + // MNetworkEnable + bool m_bEnabled; // 0x1589 +}; + +// Alignment: 8 +// Size: 0x560 +class C_TonemapController2 : public C_BaseEntity +{ +public: + // MNetworkEnable + float m_flAutoExposureMin; // 0x538 + // MNetworkEnable + float m_flAutoExposureMax; // 0x53c + // MNetworkEnable + float m_flTonemapPercentTarget; // 0x540 + // MNetworkEnable + float m_flTonemapPercentBrightPixels; // 0x544 + // MNetworkEnable + float m_flTonemapMinAvgLum; // 0x548 + // MNetworkEnable + float m_flExposureAdaptationSpeedUp; // 0x54c + // MNetworkEnable + float m_flExposureAdaptationSpeedDown; // 0x550 + // MNetworkEnable + float m_flTonemapEVSmoothingRange; // 0x554 +}; + +// Alignment: 28 +// Size: 0x5b8 +class C_EnvVolumetricFogController : public C_BaseEntity +{ +public: + // MNetworkEnable + float m_flScattering; // 0x538 + // MNetworkEnable + float m_flAnisotropy; // 0x53c + // MNetworkEnable + float m_flFadeSpeed; // 0x540 + // MNetworkEnable + float m_flDrawDistance; // 0x544 + // MNetworkEnable + float m_flFadeInStart; // 0x548 + // MNetworkEnable + float m_flFadeInEnd; // 0x54c + // MNetworkEnable + float m_flIndirectStrength; // 0x550 + // MNetworkEnable + int32_t m_nIndirectTextureDimX; // 0x554 + // MNetworkEnable + int32_t m_nIndirectTextureDimY; // 0x558 + // MNetworkEnable + int32_t m_nIndirectTextureDimZ; // 0x55c + // MNetworkEnable + Vector m_vBoxMins; // 0x560 + // MNetworkEnable + Vector m_vBoxMaxs; // 0x56c + // MNetworkEnable + bool m_bActive; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 +public: + // MNetworkEnable + GameTime_t m_flStartAnisoTime; // 0x57c + // MNetworkEnable + GameTime_t m_flStartScatterTime; // 0x580 + // MNetworkEnable + GameTime_t m_flStartDrawDistanceTime; // 0x584 + // MNetworkEnable + float m_flStartAnisotropy; // 0x588 + // MNetworkEnable + float m_flStartScattering; // 0x58c + // MNetworkEnable + float m_flStartDrawDistance; // 0x590 + // MNetworkEnable + float m_flDefaultAnisotropy; // 0x594 + // MNetworkEnable + float m_flDefaultScattering; // 0x598 + // MNetworkEnable + float m_flDefaultDrawDistance; // 0x59c + // MNetworkEnable + bool m_bStartDisabled; // 0x5a0 + // MNetworkEnable + bool m_bEnableIndirect; // 0x5a1 + // MNetworkEnable + bool m_bIsMaster; // 0x5a2 +private: + [[maybe_unused]] uint8_t __pad05a3[0x5]; // 0x5a3 +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x5a8 + // MNetworkEnable + int32_t m_nForceRefreshCount; // 0x5b0 + bool m_bFirstTime; // 0x5b4 +}; + +// Alignment: 7 +// Size: 0x568 +class C_EnvVolumetricFogVolume : public C_BaseEntity +{ +public: + // MNetworkEnable + bool m_bActive; // 0x538 +private: + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 +public: + // MNetworkEnable + Vector m_vBoxMins; // 0x53c + // MNetworkEnable + Vector m_vBoxMaxs; // 0x548 + // MNetworkEnable + bool m_bStartDisabled; // 0x554 +private: + [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 +public: + // MNetworkEnable + float m_flStrength; // 0x558 + // MNetworkEnable + int32_t m_nFalloffShape; // 0x55c + // MNetworkEnable + float m_flFalloffExponent; // 0x560 +}; + +// Alignment: 3 +// Size: 0x5a8 +class C_FogController : public C_BaseEntity +{ +public: + // MNetworkEnable + fogparams_t m_fog; // 0x538 + bool m_bUseAngles; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 +public: + int32_t m_iChangedVariables; // 0x5a4 +}; + +// Alignment: 0 +// Size: 0x538 +class CInfoTarget : public C_PointEntity +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x538 +class CInfoParticleTarget : public C_PointEntity +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x550 +class C_InfoVisibilityBox : public C_BaseEntity +{ +public: + // MNetworkEnable + int32_t m_nMode; // 0x53c + // MNetworkEnable + Vector m_vBoxSize; // 0x540 + // MNetworkEnable + bool m_bEnabled; // 0x54c +}; + +// Alignment: 8 +// Size: 0x580 +class CInfoWorldLayer : public C_BaseEntity +{ +public: + CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x538 + // MNetworkEnable + CUtlSymbolLarge m_worldName; // 0x560 + // MNetworkEnable + CUtlSymbolLarge m_layerName; // 0x568 + // MNetworkEnable + bool m_bWorldLayerVisible; // 0x570 + // MNetworkEnable + bool m_bEntitiesSpawned; // 0x571 + bool m_bCreateAsChildSpawnGroup; // 0x572 +private: + [[maybe_unused]] uint8_t __pad0573[0x1]; // 0x573 +public: + uint32_t m_hLayerSpawnGroup; // 0x574 + bool m_bWorldLayerActuallyVisible; // 0x578 +}; + +// Alignment: 24 +// Size: 0x598 +class C_PointCamera : public C_BaseEntity +{ +public: + // MNetworkEnable + float m_FOV; // 0x538 + // MNetworkEnable + float m_Resolution; // 0x53c + // MNetworkEnable + bool m_bFogEnable; // 0x540 + // MNetworkEnable + Color m_FogColor; // 0x541 +private: + [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 +public: + // MNetworkEnable + float m_flFogStart; // 0x548 + // MNetworkEnable + float m_flFogEnd; // 0x54c + // MNetworkEnable + float m_flFogMaxDensity; // 0x550 + // MNetworkEnable + bool m_bActive; // 0x554 + // MNetworkEnable + bool m_bUseScreenAspectRatio; // 0x555 +private: + [[maybe_unused]] uint8_t __pad0556[0x2]; // 0x556 +public: + // MNetworkEnable + float m_flAspectRatio; // 0x558 + // MNetworkEnable + bool m_bNoSky; // 0x55c +private: + [[maybe_unused]] uint8_t __pad055d[0x3]; // 0x55d +public: + // MNetworkEnable + float m_fBrightness; // 0x560 + // MNetworkEnable + float m_flZFar; // 0x564 + // MNetworkEnable + float m_flZNear; // 0x568 + // MNetworkEnable + bool m_bDofEnabled; // 0x56c +private: + [[maybe_unused]] uint8_t __pad056d[0x3]; // 0x56d +public: + // MNetworkEnable + float m_flDofNearBlurry; // 0x570 + // MNetworkEnable + float m_flDofNearCrisp; // 0x574 + // MNetworkEnable + float m_flDofFarCrisp; // 0x578 + // MNetworkEnable + float m_flDofFarBlurry; // 0x57c + // MNetworkEnable + float m_flDofTiltToGround; // 0x580 + float m_TargetFOV; // 0x584 + float m_DegreesPerSecond; // 0x588 + bool m_bIsOn; // 0x58c +private: + [[maybe_unused]] uint8_t __pad058d[0x3]; // 0x58d +public: + C_PointCamera* m_pNext; // 0x590 +}; + +// Alignment: 1 +// Size: 0x5a0 +class C_PointCameraVFOV : public C_PointCamera +{ +public: + float m_flVerticalFOV; // 0x598 +}; + +// Alignment: 12 +// Size: 0x5c8 +class CPointTemplate : public CLogicalEntity +{ +public: + CUtlSymbolLarge m_iszWorldName; // 0x538 + CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x540 + CUtlSymbolLarge m_iszEntityFilterName; // 0x548 + float m_flTimeoutInterval; // 0x550 + bool m_bAsynchronouslySpawnEntities; // 0x554 +private: + [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 +public: + CEntityIOOutput m_pOutputOnSpawned; // 0x558 + PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x580 + PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x584 + CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x588 + CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x5a0 + HSCRIPT m_ScriptSpawnCallback; // 0x5b8 + HSCRIPT m_ScriptCallbackScope; // 0x5c0 +}; + +// Alignment: 4 +// Size: 0x560 +class C_SoundAreaEntityBase : public C_BaseEntity +{ +public: + // MNetworkEnable + bool m_bDisabled; // 0x538 +private: + [[maybe_unused]] uint8_t __pad0539[0x7]; // 0x539 +public: + bool m_bWasEnabled; // 0x540 +private: + [[maybe_unused]] uint8_t __pad0541[0x7]; // 0x541 +public: + // MNetworkEnable + CUtlSymbolLarge m_iszSoundAreaType; // 0x548 + // MNetworkEnable + Vector m_vPos; // 0x550 +}; + +// Alignment: 1 +// Size: 0x568 +class C_SoundAreaEntitySphere : public C_SoundAreaEntityBase +{ +public: + // MNetworkEnable + float m_flRadius; // 0x560 +}; + +// Alignment: 2 +// Size: 0x578 +class C_SoundAreaEntityOrientedBox : public C_SoundAreaEntityBase +{ +public: + // MNetworkEnable + Vector m_vMin; // 0x560 + // MNetworkEnable + Vector m_vMax; // 0x56c +}; + +// Alignment: 4 +// Size: 0x5f0 +class C_Team : public C_BaseEntity +{ +public: + // MNetworkEnable + // MNetworkAlias "m_aPlayers" + C_NetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x538 + // MNetworkEnable + // MNetworkAlias "m_aPawns" + C_NetworkUtlVectorBase< CHandle< C_BasePlayerPawn > > m_aPlayers; // 0x550 + // MNetworkEnable + int32_t m_iScore; // 0x568 + // MNetworkEnable + char m_szTeamname[129]; // 0x56c +}; + +// Alignment: 15 +// Size: 0x6a0 +class CBasePlayerController : public C_BaseEntity +{ +public: + int32_t m_nFinalPredictedTick; // 0x540 +private: + [[maybe_unused]] uint8_t __pad0544[0x4]; // 0x544 +public: + C_CommandContext m_CommandContext; // 0x548 + uint64_t m_nInButtonsWhichAreToggles; // 0x5c8 + // MNetworkEnable + // MNetworkPriority "1" + // MNetworkUserGroup "LocalPlayerExclusive" + uint32_t m_nTickBase; // 0x5d0 + // MNetworkEnable + // MNetworkChangeCallback "OnPawnChanged" + CHandle< C_BasePlayerPawn > m_hPawn; // 0x5d4 + CHandle< C_BasePlayerPawn > m_hPredictedPawn; // 0x5d8 + CSplitScreenSlot m_nSplitScreenSlot; // 0x5dc + CHandle< CBasePlayerController > m_hSplitOwner; // 0x5e0 +private: + [[maybe_unused]] uint8_t __pad05e4[0x4]; // 0x5e4 +public: + CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0x5e8 + bool m_bIsHLTV; // 0x600 +private: + [[maybe_unused]] uint8_t __pad0601[0x3]; // 0x601 +public: + // MNetworkEnable + // MNetworkChangeCallback "OnConnectionStateChanged" + PlayerConnectedState m_iConnected; // 0x604 + // MNetworkEnable + // MNetworkChangeCallback "OnPlayerControllerNameChanged" + char m_iszPlayerName[128]; // 0x608 +private: + [[maybe_unused]] uint8_t __pad0688[0x8]; // 0x688 +public: + // MNetworkEnable + // MNetworkEncoder + // MNetworkChangeCallback "OnSteamIDChanged" + uint64_t m_steamID; // 0x690 + bool m_bIsLocalPlayerController; // 0x698 +private: + [[maybe_unused]] uint8_t __pad0699[0x3]; // 0x699 +public: + // MNetworkEnable + uint32_t m_iDesiredFOV; // 0x69c +}; + +// Alignment: 14 +// Size: 0x178 +class CBasePlayerVData : public CEntitySubclassVDataBase +{ +public: + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CSkillFloat m_flHeadDamageMultiplier; // 0x108 + CSkillFloat m_flChestDamageMultiplier; // 0x118 + CSkillFloat m_flStomachDamageMultiplier; // 0x128 + CSkillFloat m_flArmDamageMultiplier; // 0x138 + CSkillFloat m_flLegDamageMultiplier; // 0x148 + // MPropertyGroupName "Water" + float m_flHoldBreathTime; // 0x158 + // MPropertyGroupName "Water" + // MPropertyDescription "Seconds between drowning ticks" + float m_flDrowningDamageInterval; // 0x15c + // MPropertyGroupName "Water" + // MPropertyDescription "Amount of damage done on the first drowning tick (+1 each subsequent interval)" + int32_t m_nDrowningDamageInitial; // 0x160 + // MPropertyGroupName "Water" + // MPropertyDescription "Max damage done by a drowning tick" + int32_t m_nDrowningDamageMax; // 0x164 + // MPropertyGroupName "Water" + int32_t m_nWaterSpeed; // 0x168 + // MPropertyGroupName "Use" + float m_flUseRange; // 0x16c + // MPropertyGroupName "Use" + float m_flUseAngleTolerance; // 0x170 + // MPropertyGroupName "Crouch" + // MPropertyDescription "Time to move between crouch and stand" + float m_flCrouchTime; // 0x174 +}; + +// Alignment: 22 +// Size: 0x320 +class CBasePlayerWeaponVData : public CEntitySubclassVDataBase +{ +public: + // MPropertyDescription "Model used on the ground or held by an entity" + // MPropertyGroupName "Visuals" + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldModel; // 0x28 + // MPropertyDescription "Was the weapon was built right-handed?" + // MPropertyGroupName "Visuals" + bool m_bBuiltRightHanded; // 0x108 + // MPropertyDescription "Allows flipping the model, regardless of whether it is built left or right handed" + // MPropertyGroupName "Visuals" + bool m_bAllowFlipping; // 0x109 + bool m_bIsFullAuto; // 0x10a +private: + [[maybe_unused]] uint8_t __pad010b[0x1]; // 0x10b +public: + int32_t m_nNumBullets; // 0x10c + // MPropertyGroupName "Visuals" + // MPropertyDescription "Attachment to fire bullets from" + // MPropertyAttributeEditor "VDataModelAttachment( m_szWorldModel )" + CUtlString m_sMuzzleAttachment; // 0x110 + // MPropertyDescription "Effect when firing this weapon" + // MPropertyGroupName "Visuals" + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x118 + // MPropertyDescription "Effect to actually fire into the world from this weapon" + // MPropertyGroupName "Visuals" + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x1f8 + ItemFlagTypes_t m_iFlags; // 0x2d8 + // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" + // MPropertyGroupName "Ammo" + // MPropertyCustomFGDType + AmmoIndex_t m_nPrimaryAmmoType; // 0x2d9 + // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" + // MPropertyGroupName "Ammo" + // MPropertyCustomFGDType + AmmoIndex_t m_nSecondaryAmmoType; // 0x2da +private: + [[maybe_unused]] uint8_t __pad02db[0x1]; // 0x2db +public: + // MPropertyFriendlyName "Primary Clip Size" + // MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)" + // MPropertyAttributeRange "0 255" + // MPropertyGroupName "Ammo" + int32_t m_iMaxClip1; // 0x2dc + // MPropertyFriendlyName "Secondary Clip Size" + // MPropertyDescription "How many secondary bullets this gun can fire before it reloads (0 if no clip)" + // MPropertyGroupName "Ammo" + // MPropertyAttributeRange "0 255" + int32_t m_iMaxClip2; // 0x2e0 + // MPropertyDescription "Primary Initial Clip (-1 means use clip size)" + // MPropertyGroupName "Ammo" + // MPropertyAttributeRange "-1 255" + int32_t m_iDefaultClip1; // 0x2e4 + // MPropertyDescription "Secondary Initial Clip (-1 means use clip size)" + // MPropertyGroupName "Ammo" + // MPropertyAttributeRange "-1 255" + int32_t m_iDefaultClip2; // 0x2e8 + // MPropertyDescription "This value used to determine this weapon's importance in autoselection" + // MPropertyGroupName "UI" + int32_t m_iWeight; // 0x2ec + // MPropertyFriendlyName "Safe To Auto-Switch To" + // MPropertyDescription "Whether this weapon is safe to automatically switch to (should be false for eg. explosives that can the player may accidentally hurt themselves with)" + // MPropertyGroupName "UI" + bool m_bAutoSwitchTo; // 0x2f0 + // MPropertyFriendlyName "Safe To Auto-Switch Away From" + // MPropertyGroupName "UI" + bool m_bAutoSwitchFrom; // 0x2f1 +private: + [[maybe_unused]] uint8_t __pad02f2[0x2]; // 0x2f2 +public: + // MPropertyGroupName "UI" + RumbleEffect_t m_iRumbleEffect; // 0x2f4 + CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x2f8 + // MPropertyFriendlyName "HUD Bucket" + // MPropertyDescription "Which 'column' to display this weapon in the HUD" + // MPropertyGroupName "UI" + int32_t m_iSlot; // 0x318 + // MPropertyFriendlyName "HUD Bucket Position" + // MPropertyDescription "Which 'row' to display this weapon in the HUD" + // MPropertyGroupName "UI" + int32_t m_iPosition; // 0x31c +}; + +// Alignment: 2 +// Size: 0x1730 +class CBodyComponentBaseAnimGraph : public CBodyComponentSkeletonInstance +{ +public: + // MNetworkEnable + CBaseAnimGraphController m_animationController; // 0x470 + // MNetworkDisable + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x1708 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[1]->m_instance);}; }; // Alignment: 32 // Size: 0x838 -class C_BaseModelEntity : public C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BaseModelEntity : public C_BaseEntity +{ public: // MNetworkEnable // MNetworkUserGroup "CRenderComponent" // MNetworkAlias "CRenderComponent" // MNetworkTypeAlias "CRenderComponent" - CRenderComponent* m_CRenderComponent; // 0x588 + CRenderComponent* m_CRenderComponent; // 0x588 // MNetworkEnable // MNetworkUserGroup "CHitboxComponent" // MNetworkAlias "CHitboxComponent" // MNetworkTypeAlias "CHitboxComponent" - CHitboxComponent m_CHitboxComponent; // 0x590 - bool m_bInitModelEffects; // 0x5d8 - bool m_bIsStaticProp; // 0x5d9 - int32_t m_nLastAddDecal; // 0x5dc - int32_t m_nDecalsAdded; // 0x5e0 - int32_t m_iOldHealth; // 0x5e4 + CHitboxComponent m_CHitboxComponent; // 0x590 +private: + [[maybe_unused]] uint8_t __pad05b8[0x20]; // 0x5b8 +public: + bool m_bInitModelEffects; // 0x5d8 + bool m_bIsStaticProp; // 0x5d9 +private: + [[maybe_unused]] uint8_t __pad05da[0x2]; // 0x5da +public: + int32_t m_nLastAddDecal; // 0x5dc + int32_t m_nDecalsAdded; // 0x5e0 + int32_t m_iOldHealth; // 0x5e4 // MNetworkEnable // MNetworkChangeCallback "OnRenderModeChanged" - RenderMode_t m_nRenderMode; // 0x5e8 + RenderMode_t m_nRenderMode; // 0x5e8 // MNetworkEnable - RenderFx_t m_nRenderFX; // 0x5e9 - bool m_bAllowFadeInView; // 0x5ea + RenderFx_t m_nRenderFX; // 0x5e9 + bool m_bAllowFadeInView; // 0x5ea // MNetworkEnable // MNetworkChangeCallback "OnColorChanged" - Color m_clrRender; // 0x5eb + Color m_clrRender; // 0x5eb +private: + [[maybe_unused]] uint8_t __pad05ef[0x1]; // 0x5ef +public: // MNetworkEnable // MNetworkChangeCallback "OnRenderAttributesChanged" - C_UtlVectorEmbeddedNetworkVar< EntityRenderAttribute_t > m_vecRenderAttributes; // 0x5f0 + C_UtlVectorEmbeddedNetworkVar< EntityRenderAttribute_t > m_vecRenderAttributes; // 0x5f0 +private: + [[maybe_unused]] uint8_t __pad0640[0x18]; // 0x640 +public: // MNetworkEnable // MNetworkChangeCallback "OnLightGroupChanged" - CUtlStringToken m_LightGroup; // 0x658 + CUtlStringToken m_LightGroup; // 0x658 // MNetworkEnable - bool m_bRenderToCubemaps; // 0x65c + bool m_bRenderToCubemaps; // 0x65c +private: + [[maybe_unused]] uint8_t __pad065d[0x3]; // 0x65d +public: // MNetworkEnable - CCollisionProperty m_Collision; // 0x660 + CCollisionProperty m_Collision; // 0x660 // MNetworkEnable - CGlowProperty m_Glow; // 0x710 + CGlowProperty m_Glow; // 0x710 // MNetworkEnable - float m_flGlowBackfaceMult; // 0x768 + float m_flGlowBackfaceMult; // 0x768 // MNetworkEnable - float m_fadeMinDist; // 0x76c + float m_fadeMinDist; // 0x76c // MNetworkEnable - float m_fadeMaxDist; // 0x770 + float m_fadeMaxDist; // 0x770 // MNetworkEnable - float m_flFadeScale; // 0x774 + float m_flFadeScale; // 0x774 // MNetworkEnable - float m_flShadowStrength; // 0x778 + float m_flShadowStrength; // 0x778 // MNetworkEnable - uint8_t m_nObjectCulling; // 0x77c + uint8_t m_nObjectCulling; // 0x77c +private: + [[maybe_unused]] uint8_t __pad077d[0x3]; // 0x77d +public: // MNetworkEnable - int32_t m_nAddDecal; // 0x780 + int32_t m_nAddDecal; // 0x780 // MNetworkEnable - Vector m_vDecalPosition; // 0x784 + Vector m_vDecalPosition; // 0x784 // MNetworkEnable - Vector m_vDecalForwardAxis; // 0x790 + Vector m_vDecalForwardAxis; // 0x790 // MNetworkEnable - float m_flDecalHealBloodRate; // 0x79c + float m_flDecalHealBloodRate; // 0x79c // MNetworkEnable - float m_flDecalHealHeightRate; // 0x7a0 + float m_flDecalHealHeightRate; // 0x7a0 +private: + [[maybe_unused]] uint8_t __pad07a4[0x4]; // 0x7a4 +public: // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x7a8 + C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x7a8 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" // MNetworkChangeCallback "OnViewOffsetChanged" - CNetworkViewOffsetVector m_vecViewOffset; // 0x7c0 - CClientAlphaProperty* m_pClientAlphaProperty; // 0x7f0 - Color m_ClientOverrideTint; // 0x7f8 - bool m_bUseClientOverrideTint; // 0x7fc + CNetworkViewOffsetVector m_vecViewOffset; // 0x7c0 +private: + [[maybe_unused]] uint8_t __pad07e8[0x8]; // 0x7e8 +public: + CClientAlphaProperty* m_pClientAlphaProperty; // 0x7f0 + Color m_ClientOverrideTint; // 0x7f8 + bool m_bUseClientOverrideTint; // 0x7fc }; // Alignment: 0 // Size: 0x838 -class CServerOnlyModelEntity : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class CServerOnlyModelEntity : public C_BaseModelEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x838 -class C_ModelPointEntity : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_ModelPointEntity : public C_BaseModelEntity +{ public: // no members available }; // Alignment: 7 // Size: 0x590 -class CLogicRelay : public CLogicalEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicRelay : public CLogicalEntity +{ public: - CEntityIOOutput m_OnTrigger; // 0x538 - CEntityIOOutput m_OnSpawn; // 0x560 - bool m_bDisabled; // 0x588 - bool m_bWaitForRefire; // 0x589 - bool m_bTriggerOnce; // 0x58a - bool m_bFastRetrigger; // 0x58b - bool m_bPassthoughCaller; // 0x58c + CEntityIOOutput m_OnTrigger; // 0x538 + CEntityIOOutput m_OnSpawn; // 0x560 + bool m_bDisabled; // 0x588 + bool m_bWaitForRefire; // 0x589 + bool m_bTriggerOnce; // 0x58a + bool m_bFastRetrigger; // 0x58b + bool m_bPassthoughCaller; // 0x58c }; // Alignment: 23 // Size: 0xde8 -class C_ParticleSystem : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_ParticleSystem : public C_BaseModelEntity +{ public: // MNetworkEnable - char[512] m_szSnapshotFileName; // 0x838 + char m_szSnapshotFileName[512]; // 0x838 // MNetworkEnable - bool m_bActive; // 0xa38 + bool m_bActive; // 0xa38 // MNetworkEnable - bool m_bFrozen; // 0xa39 + bool m_bFrozen; // 0xa39 +private: + [[maybe_unused]] uint8_t __pad0a3a[0x2]; // 0xa3a +public: // MNetworkEnable - float m_flFreezeTransitionDuration; // 0xa3c + float m_flFreezeTransitionDuration; // 0xa3c // MNetworkEnable - int32_t m_nStopType; // 0xa40 + int32_t m_nStopType; // 0xa40 // MNetworkEnable - bool m_bAnimateDuringGameplayPause; // 0xa44 + bool m_bAnimateDuringGameplayPause; // 0xa44 +private: + [[maybe_unused]] uint8_t __pad0a45[0x3]; // 0xa45 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0xa48 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0xa48 // MNetworkEnable - GameTime_t m_flStartTime; // 0xa50 + GameTime_t m_flStartTime; // 0xa50 // MNetworkEnable - float m_flPreSimTime; // 0xa54 + float m_flPreSimTime; // 0xa54 // MNetworkEnable - Vector[4] m_vServerControlPoints; // 0xa58 + Vector m_vServerControlPoints[4]; // 0xa58 // MNetworkEnable - uint8[4] m_iServerControlPointAssignments; // 0xa88 + uint8_t m_iServerControlPointAssignments[4]; // 0xa88 // MNetworkEnable - CHandle< C_BaseEntity >[64] m_hControlPointEnts; // 0xa8c + CHandle< C_BaseEntity > m_hControlPointEnts[64]; // 0xa8c // MNetworkEnable - bool m_bNoSave; // 0xb8c + bool m_bNoSave; // 0xb8c // MNetworkEnable - bool m_bNoFreeze; // 0xb8d - bool m_bStartActive; // 0xb8e - CUtlSymbolLarge m_iszEffectName; // 0xb90 - CUtlSymbolLarge[64] m_iszControlPointNames; // 0xb98 - int32_t m_nDataCP; // 0xd98 - Vector m_vecDataCPValue; // 0xd9c - int32_t m_nTintCP; // 0xda8 - Color m_clrTint; // 0xdac - bool m_bOldActive; // 0xdd0 - bool m_bOldFrozen; // 0xdd1 + bool m_bNoFreeze; // 0xb8d + bool m_bStartActive; // 0xb8e +private: + [[maybe_unused]] uint8_t __pad0b8f[0x1]; // 0xb8f +public: + CUtlSymbolLarge m_iszEffectName; // 0xb90 + CUtlSymbolLarge m_iszControlPointNames[64]; // 0xb98 + int32_t m_nDataCP; // 0xd98 + Vector m_vecDataCPValue; // 0xd9c + int32_t m_nTintCP; // 0xda8 + Color m_clrTint; // 0xdac +private: + [[maybe_unused]] uint8_t __pad0db0[0x20]; // 0xdb0 +public: + bool m_bOldActive; // 0xdd0 + bool m_bOldFrozen; // 0xdd1 }; // Alignment: 16 // Size: 0x640 -class C_PathParticleRope : public C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PathParticleRope : public C_BaseEntity +{ public: - bool m_bStartActive; // 0x538 - float m_flMaxSimulationTime; // 0x53c - CUtlSymbolLarge m_iszEffectName; // 0x540 - CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x548 + bool m_bStartActive; // 0x538 +private: + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 +public: + float m_flMaxSimulationTime; // 0x53c + CUtlSymbolLarge m_iszEffectName; // 0x540 + CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x548 // MNetworkEnable - float m_flParticleSpacing; // 0x560 + float m_flParticleSpacing; // 0x560 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - float m_flSlack; // 0x564 + float m_flSlack; // 0x564 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - float m_flRadius; // 0x568 + float m_flRadius; // 0x568 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - Color m_ColorTint; // 0x56c + Color m_ColorTint; // 0x56c // MNetworkEnable // MNetworkChangeCallback "effectStateChanged" - int32_t m_nEffectState; // 0x570 + int32_t m_nEffectState; // 0x570 +private: + [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x578 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x578 // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x580 + C_NetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x580 // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x598 + C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x598 // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x5b0 + C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x5b0 // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x5c8 + C_NetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x5c8 // MNetworkEnable // MNetworkChangeCallback "pinStateChanged" - C_NetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x5e0 + C_NetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x5e0 // MNetworkEnable - C_NetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x5f8 + C_NetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x5f8 }; // Alignment: 0 // Size: 0x640 -class C_PathParticleRopeAlias_path_particle_rope_clientside : public C_PathParticleRope, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PathParticleRopeAlias_path_particle_rope_clientside : public C_PathParticleRope +{ public: // no members available }; // Alignment: 7 // Size: 0x860 -class C_DynamicLight : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_DynamicLight : public C_BaseModelEntity +{ public: // MNetworkEnable - uint8_t m_Flags; // 0x838 + uint8_t m_Flags; // 0x838 // MNetworkEnable - uint8_t m_LightStyle; // 0x839 + uint8_t m_LightStyle; // 0x839 +private: + [[maybe_unused]] uint8_t __pad083a[0x2]; // 0x83a +public: // MNetworkEnable - float m_Radius; // 0x83c + float m_Radius; // 0x83c // MNetworkEnable - int32_t m_Exponent; // 0x840 + int32_t m_Exponent; // 0x840 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "360" - float m_InnerAngle; // 0x844 + float m_InnerAngle; // 0x844 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "360" - float m_OuterAngle; // 0x848 + float m_OuterAngle; // 0x848 // MNetworkEnable - float m_SpotRadius; // 0x84c + float m_SpotRadius; // 0x84c }; // Alignment: 9 // Size: 0x5c8 -class C_EnvScreenOverlay : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_EnvScreenOverlay : public C_PointEntity +{ public: // MNetworkEnable - CUtlSymbolLarge[10] m_iszOverlayNames; // 0x538 + CUtlSymbolLarge m_iszOverlayNames[10]; // 0x538 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-1" // MNetworkMaxValue "63" - float32[10] m_flOverlayTimes; // 0x588 + float m_flOverlayTimes[10]; // 0x588 // MNetworkEnable - GameTime_t m_flStartTime; // 0x5b0 + GameTime_t m_flStartTime; // 0x5b0 // MNetworkEnable - int32_t m_iDesiredOverlay; // 0x5b4 + int32_t m_iDesiredOverlay; // 0x5b4 // MNetworkEnable - bool m_bIsActive; // 0x5b8 - bool m_bWasActive; // 0x5b9 - int32_t m_iCachedDesiredOverlay; // 0x5bc - int32_t m_iCurrentOverlay; // 0x5c0 - GameTime_t m_flCurrentOverlayTime; // 0x5c4 + bool m_bIsActive; // 0x5b8 + bool m_bWasActive; // 0x5b9 +private: + [[maybe_unused]] uint8_t __pad05ba[0x2]; // 0x5ba +public: + int32_t m_iCachedDesiredOverlay; // 0x5bc + int32_t m_iCurrentOverlay; // 0x5c0 + GameTime_t m_flCurrentOverlayTime; // 0x5c4 }; // Alignment: 3 // Size: 0x848 -class C_FuncTrackTrain : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_FuncTrackTrain : public C_BaseModelEntity +{ public: - int32_t m_nLongAxis; // 0x838 - float m_flRadius; // 0x83c - float m_flLineLength; // 0x840 + int32_t m_nLongAxis; // 0x838 + float m_flRadius; // 0x83c + float m_flLineLength; // 0x840 }; // Alignment: 7 // Size: 0xf8 class C_LightGlowOverlay : public CGlowOverlay -{ +{ public: - Vector m_vecOrigin; // 0xd0 - Vector m_vecDirection; // 0xdc - int32_t m_nMinDist; // 0xe8 - int32_t m_nMaxDist; // 0xec - int32_t m_nOuterMaxDist; // 0xf0 - bool m_bOneSided; // 0xf4 - bool m_bModulateByDot; // 0xf5 + Vector m_vecOrigin; // 0xd0 + Vector m_vecDirection; // 0xdc + int32_t m_nMinDist; // 0xe8 + int32_t m_nMaxDist; // 0xec + int32_t m_nOuterMaxDist; // 0xf0 + bool m_bOneSided; // 0xf4 + bool m_bModulateByDot; // 0xf5 }; // Alignment: 8 // Size: 0x950 -class C_LightGlow : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_LightGlow : public C_BaseModelEntity +{ public: // MNetworkEnable - uint32_t m_nHorizontalSize; // 0x838 + uint32_t m_nHorizontalSize; // 0x838 // MNetworkEnable - uint32_t m_nVerticalSize; // 0x83c + uint32_t m_nVerticalSize; // 0x83c // MNetworkEnable - uint32_t m_nMinDist; // 0x840 + uint32_t m_nMinDist; // 0x840 // MNetworkEnable - uint32_t m_nMaxDist; // 0x844 + uint32_t m_nMaxDist; // 0x844 // MNetworkEnable - uint32_t m_nOuterMaxDist; // 0x848 + uint32_t m_nOuterMaxDist; // 0x848 // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags - float m_flGlowProxySize; // 0x84c + float m_flGlowProxySize; // 0x84c // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" // MNetworkChangeCallback "OnHDRColorScaleChanged" - float m_flHDRColorScale; // 0x850 - C_LightGlowOverlay m_Glow; // 0x858 + float m_flHDRColorScale; // 0x850 +private: + [[maybe_unused]] uint8_t __pad0854[0x4]; // 0x854 +public: + C_LightGlowOverlay m_Glow; // 0x858 }; // Alignment: 1 // Size: 0x540 -class C_RagdollManager : public C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_RagdollManager : public C_BaseEntity +{ public: // MNetworkEnable - int8_t m_iCurrentMaxRagdollCount; // 0x538 + int8_t m_iCurrentMaxRagdollCount; // 0x538 }; // Alignment: 2 // Size: 0x848 -class C_SpotlightEnd : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_SpotlightEnd : public C_BaseModelEntity +{ public: // MNetworkEnable - float m_flLightScale; // 0x838 + float m_flLightScale; // 0x838 // MNetworkEnable - float m_Radius; // 0x83c + float m_Radius; // 0x83c }; // Alignment: 4 // Size: 0x548 -class C_PointHMDAnchor : public C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointHMDAnchor : public C_BaseEntity +{ public: // MNetworkEnable - bool m_bDisabled; // 0x538 + bool m_bDisabled; // 0x538 +private: + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 +public: // MNetworkEnable - GameTime_t m_flEnableTime; // 0x53c + GameTime_t m_flEnableTime; // 0x53c // MNetworkEnable - int32_t m_nPlayerIndex; // 0x540 - int32_t m_nLastSimulateFrame; // 0x544 + int32_t m_nPlayerIndex; // 0x540 + int32_t m_nLastSimulateFrame; // 0x544 }; // Alignment: 0 // Size: 0x548 -class C_PointHMDAnchorOverride : public C_PointHMDAnchor, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointHMDAnchorOverride : public C_PointHMDAnchor +{ public: // no members available }; // Alignment: 25 // Size: 0x5b0 -class C_PointValueRemapper : public C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointValueRemapper : public C_BaseEntity +{ public: // MNetworkEnable - bool m_bDisabled; // 0x538 - bool m_bDisabledOld; // 0x539 + bool m_bDisabled; // 0x538 + bool m_bDisabledOld; // 0x539 // MNetworkEnable - bool m_bUpdateOnClient; // 0x53a + bool m_bUpdateOnClient; // 0x53a +private: + [[maybe_unused]] uint8_t __pad053b[0x1]; // 0x53b +public: // MNetworkEnable - ValueRemapperInputType_t m_nInputType; // 0x53c + ValueRemapperInputType_t m_nInputType; // 0x53c // MNetworkEnable - CHandle< C_BaseEntity > m_hRemapLineStart; // 0x540 + CHandle< C_BaseEntity > m_hRemapLineStart; // 0x540 // MNetworkEnable - CHandle< C_BaseEntity > m_hRemapLineEnd; // 0x544 + CHandle< C_BaseEntity > m_hRemapLineEnd; // 0x544 // MNetworkEnable - float m_flMaximumChangePerSecond; // 0x548 + float m_flMaximumChangePerSecond; // 0x548 // MNetworkEnable - float m_flDisengageDistance; // 0x54c + float m_flDisengageDistance; // 0x54c // MNetworkEnable - float m_flEngageDistance; // 0x550 + float m_flEngageDistance; // 0x550 // MNetworkEnable - bool m_bRequiresUseKey; // 0x554 + bool m_bRequiresUseKey; // 0x554 +private: + [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 +public: // MNetworkEnable - ValueRemapperOutputType_t m_nOutputType; // 0x558 + ValueRemapperOutputType_t m_nOutputType; // 0x558 +private: + [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c +public: // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_hOutputEntities; // 0x560 + C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_hOutputEntities; // 0x560 // MNetworkEnable - ValueRemapperHapticsType_t m_nHapticsType; // 0x578 + ValueRemapperHapticsType_t m_nHapticsType; // 0x578 // MNetworkEnable - ValueRemapperMomentumType_t m_nMomentumType; // 0x57c + ValueRemapperMomentumType_t m_nMomentumType; // 0x57c // MNetworkEnable - float m_flMomentumModifier; // 0x580 + float m_flMomentumModifier; // 0x580 // MNetworkEnable - float m_flSnapValue; // 0x584 - float m_flCurrentMomentum; // 0x588 + float m_flSnapValue; // 0x584 + float m_flCurrentMomentum; // 0x588 // MNetworkEnable - ValueRemapperRatchetType_t m_nRatchetType; // 0x58c - float m_flRatchetOffset; // 0x590 + ValueRemapperRatchetType_t m_nRatchetType; // 0x58c + float m_flRatchetOffset; // 0x590 // MNetworkEnable - float m_flInputOffset; // 0x594 - bool m_bEngaged; // 0x598 - bool m_bFirstUpdate; // 0x599 - float m_flPreviousValue; // 0x59c - GameTime_t m_flPreviousUpdateTickTime; // 0x5a0 - Vector m_vecPreviousTestPoint; // 0x5a4 + float m_flInputOffset; // 0x594 + bool m_bEngaged; // 0x598 + bool m_bFirstUpdate; // 0x599 +private: + [[maybe_unused]] uint8_t __pad059a[0x2]; // 0x59a +public: + float m_flPreviousValue; // 0x59c + GameTime_t m_flPreviousUpdateTickTime; // 0x5a0 + Vector m_vecPreviousTestPoint; // 0x5a4 }; // Alignment: 12 // Size: 0xab0 -class C_PointWorldText : public C_ModelPointEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointWorldText : public C_ModelPointEntity +{ +public: + bool m_bForceRecreateNextUpdate; // 0x840 +private: + [[maybe_unused]] uint8_t __pad0841[0xf]; // 0x841 public: - bool m_bForceRecreateNextUpdate; // 0x840 // MNetworkEnable - char[512] m_messageText; // 0x850 + char m_messageText[512]; // 0x850 // MNetworkEnable - char[64] m_FontName; // 0xa50 + char m_FontName[64]; // 0xa50 // MNetworkEnable - bool m_bEnabled; // 0xa90 + bool m_bEnabled; // 0xa90 // MNetworkEnable - bool m_bFullbright; // 0xa91 + bool m_bFullbright; // 0xa91 +private: + [[maybe_unused]] uint8_t __pad0a92[0x2]; // 0xa92 +public: // MNetworkEnable - float m_flWorldUnitsPerPx; // 0xa94 + float m_flWorldUnitsPerPx; // 0xa94 // MNetworkEnable - float m_flFontSize; // 0xa98 + float m_flFontSize; // 0xa98 // MNetworkEnable - float m_flDepthOffset; // 0xa9c + float m_flDepthOffset; // 0xa9c // MNetworkEnable - Color m_Color; // 0xaa0 + Color m_Color; // 0xaa0 // MNetworkEnable - PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0xaa4 + PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0xaa4 // MNetworkEnable - PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0xaa8 + PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0xaa8 // MNetworkEnable - PointWorldTextReorientMode_t m_nReorientMode; // 0xaac + PointWorldTextReorientMode_t m_nReorientMode; // 0xaac }; // Alignment: 2 // Size: 0x540 -class C_HandleTest : public C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_HandleTest : public C_BaseEntity +{ public: // MNetworkEnable - CHandle< C_BaseEntity > m_Handle; // 0x538 + CHandle< C_BaseEntity > m_Handle; // 0x538 // MNetworkEnable - bool m_bSendHandle; // 0x53c + bool m_bSendHandle; // 0x53c }; // Alignment: 1 // Size: 0x740 -class C_EnvWind : public C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_EnvWind : public C_BaseEntity +{ public: // MNetworkEnable - C_EnvWindShared m_EnvWindShared; // 0x538 + C_EnvWindShared m_EnvWindShared; // 0x538 }; // Alignment: 0 // Size: 0x838 -class C_BaseToggle : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BaseToggle : public C_BaseModelEntity +{ public: // no members available }; // Alignment: 3 // Size: 0x848 -class C_BaseButton : public C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BaseButton : public C_BaseToggle +{ public: // MNetworkEnable - CHandle< C_BaseModelEntity > m_glowEntity; // 0x838 + CHandle< C_BaseModelEntity > m_glowEntity; // 0x838 // MNetworkEnable - bool m_usable; // 0x83c + bool m_usable; // 0x83c +private: + [[maybe_unused]] uint8_t __pad083d[0x3]; // 0x83d +public: // MNetworkEnable - CUtlSymbolLarge m_szDisplayText; // 0x840 + CUtlSymbolLarge m_szDisplayText; // 0x840 }; // Alignment: 0 // Size: 0x838 -class C_PrecipitationBlocker : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PrecipitationBlocker : public C_BaseModelEntity +{ public: // no members available }; // Alignment: 13 // Size: 0x880 -class C_EntityDissolve : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_EntityDissolve : public C_BaseModelEntity +{ public: // MNetworkEnable - GameTime_t m_flStartTime; // 0x840 + GameTime_t m_flStartTime; // 0x840 // MNetworkEnable - float m_flFadeInStart; // 0x844 + float m_flFadeInStart; // 0x844 // MNetworkEnable - float m_flFadeInLength; // 0x848 + float m_flFadeInLength; // 0x848 // MNetworkEnable - float m_flFadeOutModelStart; // 0x84c + float m_flFadeOutModelStart; // 0x84c // MNetworkEnable - float m_flFadeOutModelLength; // 0x850 + float m_flFadeOutModelLength; // 0x850 // MNetworkEnable - float m_flFadeOutStart; // 0x854 + float m_flFadeOutStart; // 0x854 // MNetworkEnable - float m_flFadeOutLength; // 0x858 - GameTime_t m_flNextSparkTime; // 0x85c + float m_flFadeOutLength; // 0x858 + GameTime_t m_flNextSparkTime; // 0x85c // MNetworkEnable - EntityDisolveType_t m_nDissolveType; // 0x860 + EntityDisolveType_t m_nDissolveType; // 0x860 // MNetworkEnable - Vector m_vDissolverOrigin; // 0x864 + Vector m_vDissolverOrigin; // 0x864 // MNetworkEnable - uint32_t m_nMagnitude; // 0x870 - bool m_bCoreExplode; // 0x874 - bool m_bLinkedToServerEnt; // 0x875 + uint32_t m_nMagnitude; // 0x870 + bool m_bCoreExplode; // 0x874 + bool m_bLinkedToServerEnt; // 0x875 }; // Alignment: 0 // Size: 0xb20 -class C_EnvProjectedTexture : public C_ModelPointEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_EnvProjectedTexture : public C_ModelPointEntity +{ public: // no members available }; // Alignment: 9 // Size: 0x870 -class C_EnvDecal : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_EnvDecal : public C_BaseModelEntity +{ public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hDecalMaterial; // 0x838 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hDecalMaterial; // 0x838 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" - float m_flWidth; // 0x840 + float m_flWidth; // 0x840 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" - float m_flHeight; // 0x844 + float m_flHeight; // 0x844 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" - float m_flDepth; // 0x848 + float m_flDepth; // 0x848 // MNetworkEnable - uint32_t m_nRenderOrder; // 0x84c + uint32_t m_nRenderOrder; // 0x84c // MNetworkEnable - bool m_bProjectOnWorld; // 0x850 + bool m_bProjectOnWorld; // 0x850 // MNetworkEnable - bool m_bProjectOnCharacters; // 0x851 + bool m_bProjectOnCharacters; // 0x851 // MNetworkEnable - bool m_bProjectOnWater; // 0x852 + bool m_bProjectOnWater; // 0x852 +private: + [[maybe_unused]] uint8_t __pad0853[0x1]; // 0x853 +public: // MNetworkEnable - float m_flDepthSortBias; // 0x854 + float m_flDepthSortBias; // 0x854 }; // Alignment: 4 // Size: 0x110 class CFireOverlay : public CGlowOverlay -{ +{ public: - C_FireSmoke* m_pOwner; // 0xd0 - Vector[4] m_vBaseColors; // 0xd8 - float m_flScale; // 0x108 - int32_t m_nGUID; // 0x10c + C_FireSmoke* m_pOwner; // 0xd0 + Vector m_vBaseColors[4]; // 0xd8 + float m_flScale; // 0x108 + int32_t m_nGUID; // 0x10c }; // Alignment: 0 // Size: 0x838 -class C_FuncBrush : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_FuncBrush : public C_BaseModelEntity +{ public: // no members available }; // Alignment: 3 // Size: 0x850 -class C_FuncElectrifiedVolume : public C_FuncBrush, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_FuncElectrifiedVolume : public C_FuncBrush +{ +public: + ParticleIndex_t m_nAmbientEffect; // 0x838 +private: + [[maybe_unused]] uint8_t __pad083c[0x4]; // 0x83c public: - ParticleIndex_t m_nAmbientEffect; // 0x838 // MNetworkEnable - CUtlSymbolLarge m_EffectName; // 0x840 + CUtlSymbolLarge m_EffectName; // 0x840 // MNetworkEnable - bool m_bState; // 0x848 + bool m_bState; // 0x848 }; // Alignment: 0 // Size: 0x838 -class C_FuncRotating : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_FuncRotating : public C_BaseModelEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x838 -class C_Breakable : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Breakable : public C_BaseModelEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x838 -class C_PhysBox : public C_Breakable, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PhysBox : public C_Breakable +{ public: // no members available }; // Alignment: 41 // Size: 0xc20 -class C_RopeKeyframe : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_RopeKeyframe : public C_BaseModelEntity +{ public: - CBitVec< 10 > m_LinksTouchingSomething; // 0x840 - int32_t m_nLinksTouchingSomething; // 0x844 - bool m_bApplyWind; // 0x848 - int32_t m_fPrevLockedPoints; // 0x84c - int32_t m_iForcePointMoveCounter; // 0x850 - bool[2] m_bPrevEndPointPos; // 0x854 - Vector[2] m_vPrevEndPointPos; // 0x858 - float m_flCurScroll; // 0x870 + CBitVec< 10 > m_LinksTouchingSomething; // 0x840 + int32_t m_nLinksTouchingSomething; // 0x844 + bool m_bApplyWind; // 0x848 +private: + [[maybe_unused]] uint8_t __pad0849[0x3]; // 0x849 +public: + int32_t m_fPrevLockedPoints; // 0x84c + int32_t m_iForcePointMoveCounter; // 0x850 + bool m_bPrevEndPointPos[2]; // 0x854 +private: + [[maybe_unused]] uint8_t __pad0856[0x2]; // 0x856 +public: + Vector m_vPrevEndPointPos[2]; // 0x858 + float m_flCurScroll; // 0x870 // MNetworkEnable - float m_flScrollSpeed; // 0x874 + float m_flScrollSpeed; // 0x874 // MNetworkEnable - uint16_t m_RopeFlags; // 0x878 + uint16_t m_RopeFlags; // 0x878 +private: + [[maybe_unused]] uint8_t __pad087a[0x6]; // 0x87a +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x880 - Vector[10] m_LightValues; // 0xaf8 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x880 +private: + [[maybe_unused]] uint8_t __pad0888[0x270]; // 0x888 +public: + Vector m_LightValues[10]; // 0xaf8 // MNetworkEnable - uint8_t m_nSegments; // 0xb70 + uint8_t m_nSegments; // 0xb70 +private: + [[maybe_unused]] uint8_t __pad0b71[0x3]; // 0xb71 +public: // MNetworkEnable - CHandle< C_BaseEntity > m_hStartPoint; // 0xb74 + CHandle< C_BaseEntity > m_hStartPoint; // 0xb74 // MNetworkEnable - CHandle< C_BaseEntity > m_hEndPoint; // 0xb78 + CHandle< C_BaseEntity > m_hEndPoint; // 0xb78 // MNetworkEnable - AttachmentHandle_t m_iStartAttachment; // 0xb7c + AttachmentHandle_t m_iStartAttachment; // 0xb7c // MNetworkEnable - AttachmentHandle_t m_iEndAttachment; // 0xb7d + AttachmentHandle_t m_iEndAttachment; // 0xb7d // MNetworkEnable - uint8_t m_Subdiv; // 0xb7e + uint8_t m_Subdiv; // 0xb7e +private: + [[maybe_unused]] uint8_t __pad0b7f[0x1]; // 0xb7f +public: // MNetworkEnable // MNetworkChangeCallback "RecomputeSprings" - int16_t m_RopeLength; // 0xb80 + int16_t m_RopeLength; // 0xb80 // MNetworkEnable // MNetworkChangeCallback "RecomputeSprings" - int16_t m_Slack; // 0xb82 + int16_t m_Slack; // 0xb82 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.1" // MNetworkMaxValue "10" - float m_TextureScale; // 0xb84 + float m_TextureScale; // 0xb84 // MNetworkEnable - uint8_t m_fLockedPoints; // 0xb88 + uint8_t m_fLockedPoints; // 0xb88 // MNetworkEnable - uint8_t m_nChangeCount; // 0xb89 + uint8_t m_nChangeCount; // 0xb89 +private: + [[maybe_unused]] uint8_t __pad0b8a[0x2]; // 0xb8a +public: // MNetworkEnable - float m_Width; // 0xb8c - C_RopeKeyframe::CPhysicsDelegate m_PhysicsDelegate; // 0xb90 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xba0 - int32_t m_TextureHeight; // 0xba8 - Vector m_vecImpulse; // 0xbac - Vector m_vecPreviousImpulse; // 0xbb8 - float m_flCurrentGustTimer; // 0xbc4 - float m_flCurrentGustLifetime; // 0xbc8 - float m_flTimeToNextGust; // 0xbcc - Vector m_vWindDir; // 0xbd0 - Vector m_vColorMod; // 0xbdc - Vector[2] m_vCachedEndPointAttachmentPos; // 0xbe8 - QAngle[2] m_vCachedEndPointAttachmentAngle; // 0xc00 + float m_Width; // 0xb8c + C_RopeKeyframe::CPhysicsDelegate m_PhysicsDelegate; // 0xb90 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xba0 + int32_t m_TextureHeight; // 0xba8 + Vector m_vecImpulse; // 0xbac + Vector m_vecPreviousImpulse; // 0xbb8 + float m_flCurrentGustTimer; // 0xbc4 + float m_flCurrentGustLifetime; // 0xbc8 + float m_flTimeToNextGust; // 0xbcc + Vector m_vWindDir; // 0xbd0 + Vector m_vColorMod; // 0xbdc + Vector m_vCachedEndPointAttachmentPos[2]; // 0xbe8 + QAngle m_vCachedEndPointAttachmentAngle[2]; // 0xc00 // MNetworkEnable - bool m_bConstrainBetweenEndpoints; // 0xc18 - uint8_t m_bEndPointAttachmentPositionsDirty:1; // 0x0 - uint8_t m_bEndPointAttachmentAnglesDirty:1; // 0x0 - uint8_t m_bNewDataThisFrame:1; // 0x0 - uint8_t m_bPhysicsInitted:1; // 0x0 + bool m_bConstrainBetweenEndpoints; // 0xc18 + struct + { + uint8_t m_bEndPointAttachmentPositionsDirty: 1; + uint8_t m_bEndPointAttachmentAnglesDirty: 1; + uint8_t m_bNewDataThisFrame: 1; + uint8_t m_bPhysicsInitted: 1; + uint8_t __pad2: 4; // @note: autoaligned + }; // 8 bits }; // Alignment: 12 // Size: 0x598 -class C_SceneEntity : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_SceneEntity : public C_PointEntity +{ public: // MNetworkEnable - bool m_bIsPlayingBack; // 0x540 + bool m_bIsPlayingBack; // 0x540 // MNetworkEnable - bool m_bPaused; // 0x541 + bool m_bPaused; // 0x541 // MNetworkEnable - bool m_bMultiplayer; // 0x542 + bool m_bMultiplayer; // 0x542 // MNetworkEnable - bool m_bAutogenerated; // 0x543 + bool m_bAutogenerated; // 0x543 // MNetworkEnable // MNetworkChangeCallback "OnResetClientTime" - float m_flForceClientTime; // 0x544 + float m_flForceClientTime; // 0x544 // MNetworkEnable // MNetworkPriority "32" - uint16_t m_nSceneStringIndex; // 0x548 - bool m_bClientOnly; // 0x54a - CHandle< C_BaseFlex > m_hOwner; // 0x54c + uint16_t m_nSceneStringIndex; // 0x548 + bool m_bClientOnly; // 0x54a +private: + [[maybe_unused]] uint8_t __pad054b[0x1]; // 0x54b +public: + CHandle< C_BaseFlex > m_hOwner; // 0x54c // MNetworkEnable // MNetworkPriority "32" - C_NetworkUtlVectorBase< CHandle< C_BaseFlex > > m_hActorList; // 0x550 - bool m_bWasPlaying; // 0x568 - CUtlVector< C_SceneEntity::QueuedEvents_t > m_QueuedEvents; // 0x578 - float m_flCurrentTime; // 0x590 + C_NetworkUtlVectorBase< CHandle< C_BaseFlex > > m_hActorList; // 0x550 + bool m_bWasPlaying; // 0x568 +private: + [[maybe_unused]] uint8_t __pad0569[0xf]; // 0x569 +public: + CUtlVector< C_SceneEntity::QueuedEvents_t > m_QueuedEvents; // 0x578 + float m_flCurrentTime; // 0x590 }; // Alignment: 1 // Size: 0xd8 class C_SunGlowOverlay : public CGlowOverlay -{ +{ public: - bool m_bModulateByDot; // 0xd0 + bool m_bModulateByDot; // 0xd0 }; // Alignment: 18 // Size: 0x898 -class C_Sun : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Sun : public C_BaseModelEntity +{ public: - ParticleIndex_t m_fxSSSunFlareEffectIndex; // 0x838 - ParticleIndex_t m_fxSunFlareEffectIndex; // 0x83c - float m_fdistNormalize; // 0x840 - Vector m_vSunPos; // 0x844 + ParticleIndex_t m_fxSSSunFlareEffectIndex; // 0x838 + ParticleIndex_t m_fxSunFlareEffectIndex; // 0x83c + float m_fdistNormalize; // 0x840 + Vector m_vSunPos; // 0x844 // MNetworkEnable - Vector m_vDirection; // 0x850 + Vector m_vDirection; // 0x850 +private: + [[maybe_unused]] uint8_t __pad085c[0x4]; // 0x85c +public: // MNetworkEnable - CUtlSymbolLarge m_iszEffectName; // 0x860 + CUtlSymbolLarge m_iszEffectName; // 0x860 // MNetworkEnable - CUtlSymbolLarge m_iszSSEffectName; // 0x868 + CUtlSymbolLarge m_iszSSEffectName; // 0x868 // MNetworkEnable - Color m_clrOverlay; // 0x870 + Color m_clrOverlay; // 0x870 // MNetworkEnable - bool m_bOn; // 0x874 + bool m_bOn; // 0x874 // MNetworkEnable - bool m_bmaxColor; // 0x875 + bool m_bmaxColor; // 0x875 +private: + [[maybe_unused]] uint8_t __pad0876[0x2]; // 0x876 +public: // MNetworkEnable // MNetworkBitCount "10" - float m_flSize; // 0x878 + float m_flSize; // 0x878 // MNetworkEnable // MNetworkBitCount "10" - float m_flHazeScale; // 0x87c + float m_flHazeScale; // 0x87c // MNetworkEnable // MNetworkMinValue "-360" // MNetworkMaxValue "360" - float m_flRotation; // 0x880 + float m_flRotation; // 0x880 // MNetworkEnable // MNetworkChangeCallback "OnHDRScaleChanged" - float m_flHDRColorScale; // 0x884 + float m_flHDRColorScale; // 0x884 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" - float m_flAlphaHaze; // 0x888 + float m_flAlphaHaze; // 0x888 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" - float m_flAlphaScale; // 0x88c + float m_flAlphaScale; // 0x88c // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" - float m_flAlphaHdr; // 0x890 + float m_flAlphaHdr; // 0x890 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "1" - float m_flFarZScale; // 0x894 + float m_flFarZScale; // 0x894 }; // Alignment: 2 // Size: 0x840 -class C_BaseTrigger : public C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BaseTrigger : public C_BaseToggle +{ public: // MNetworkEnable - bool m_bDisabled; // 0x838 + bool m_bDisabled; // 0x838 // MNetworkEnable - bool m_bClientSidePredicted; // 0x839 + bool m_bClientSidePredicted; // 0x839 }; // Alignment: 0 // Size: 0x838 -class C_TriggerVolume : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_TriggerVolume : public C_BaseModelEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x840 -class C_TriggerLerpObject : public C_BaseTrigger, C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_TriggerLerpObject : public C_BaseTrigger +{ public: // no members available }; // Alignment: 2 // Size: 0x868 -class C_TriggerBuoyancy : public C_BaseTrigger, C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_TriggerBuoyancy : public C_BaseTrigger +{ public: - CBuoyancyHelper m_BuoyancyHelper; // 0x840 + CBuoyancyHelper m_BuoyancyHelper; // 0x840 // MNetworkEnable - float m_flFluidDensity; // 0x860 + float m_flFluidDensity; // 0x860 }; // Alignment: 13 // Size: 0x30 class CClientAlphaProperty : public IClientAlphaProperty -{ +{ public: - uint8_t m_nRenderFX; // 0x10 - uint8_t m_nRenderMode; // 0x11 - uint8_t m_bAlphaOverride:1; // 0x0 - uint8_t m_bShadowAlphaOverride:1; // 0x0 - uint8_t m_nReserved:6; // 0x0 - uint8_t m_nAlpha; // 0x13 - uint16_t m_nDesyncOffset; // 0x14 - uint16_t m_nReserved2; // 0x16 - uint16_t m_nDistFadeStart; // 0x18 - uint16_t m_nDistFadeEnd; // 0x1a - float m_flFadeScale; // 0x1c - GameTime_t m_flRenderFxStartTime; // 0x20 - float m_flRenderFxDuration; // 0x24 + uint8_t m_nRenderFX; // 0x10 + uint8_t m_nRenderMode; // 0x11 + struct + { + uint8_t m_bAlphaOverride: 1; + uint8_t m_bShadowAlphaOverride: 1; + uint8_t m_nReserved: 6; + uint8_t __pad3: 8; + }; // 16 bits + uint8_t m_nAlpha; // 0x13 + uint16_t m_nDesyncOffset; // 0x14 + uint16_t m_nReserved2; // 0x16 + uint16_t m_nDistFadeStart; // 0x18 + uint16_t m_nDistFadeEnd; // 0x1a + float m_flFadeScale; // 0x1c + GameTime_t m_flRenderFxStartTime; // 0x20 + float m_flRenderFxDuration; // 0x24 }; // Alignment: 24 // Size: 0x8f8 -class C_Beam : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Beam : public C_BaseModelEntity +{ public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "-25" // MNetworkMaxValue "25" // MNetworkEncodeFlags - float m_flFrameRate; // 0x838 + float m_flFrameRate; // 0x838 // MNetworkEnable - float m_flHDRColorScale; // 0x83c - GameTime_t m_flFireTime; // 0x840 - float m_flDamage; // 0x844 + float m_flHDRColorScale; // 0x83c + GameTime_t m_flFireTime; // 0x840 + float m_flDamage; // 0x844 // MNetworkEnable - uint8_t m_nNumBeamEnts; // 0x848 - int32_t m_queryHandleHalo; // 0x84c + uint8_t m_nNumBeamEnts; // 0x848 +private: + [[maybe_unused]] uint8_t __pad0849[0x3]; // 0x849 +public: + int32_t m_queryHandleHalo; // 0x84c +private: + [[maybe_unused]] uint8_t __pad0850[0x20]; // 0x850 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x870 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x870 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x878 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x878 // MNetworkEnable - BeamType_t m_nBeamType; // 0x880 + BeamType_t m_nBeamType; // 0x880 // MNetworkEnable - uint32_t m_nBeamFlags; // 0x884 + uint32_t m_nBeamFlags; // 0x884 // MNetworkEnable - CHandle< C_BaseEntity >[10] m_hAttachEntity; // 0x888 + CHandle< C_BaseEntity > m_hAttachEntity[10]; // 0x888 // MNetworkEnable - AttachmentHandle_t[10] m_nAttachIndex; // 0x8b0 + AttachmentHandle_t m_nAttachIndex[10]; // 0x8b0 +private: + [[maybe_unused]] uint8_t __pad08ba[0x2]; // 0x8ba +public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "102.3" // MNetworkEncodeFlags - float m_fWidth; // 0x8bc + float m_fWidth; // 0x8bc // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "102.3" // MNetworkEncodeFlags - float m_fEndWidth; // 0x8c0 + float m_fEndWidth; // 0x8c0 // MNetworkEnable - float m_fFadeLength; // 0x8c4 + float m_fFadeLength; // 0x8c4 // MNetworkEnable - float m_fHaloScale; // 0x8c8 + float m_fHaloScale; // 0x8c8 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags - float m_fAmplitude; // 0x8cc + float m_fAmplitude; // 0x8cc // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags - float m_fStartFrame; // 0x8d0 + float m_fStartFrame; // 0x8d0 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "100" - float m_fSpeed; // 0x8d4 + float m_fSpeed; // 0x8d4 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags // MNetworkPriority "32" - float m_flFrame; // 0x8d8 + float m_flFrame; // 0x8d8 // MNetworkEnable - BeamClipStyle_t m_nClipStyle; // 0x8dc + BeamClipStyle_t m_nClipStyle; // 0x8dc // MNetworkEnable - bool m_bTurnedOff; // 0x8e0 + bool m_bTurnedOff; // 0x8e0 +private: + [[maybe_unused]] uint8_t __pad08e1[0x3]; // 0x8e1 +public: // MNetworkEnable // MNetworkEncoder - Vector m_vecEndPos; // 0x8e4 - CHandle< C_BaseEntity > m_hEndEntity; // 0x8f0 + Vector m_vecEndPos; // 0x8e4 + CHandle< C_BaseEntity > m_hEndEntity; // 0x8f0 }; // Alignment: 9 // Size: 0x890 -class C_FuncLadder : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_FuncLadder : public C_BaseModelEntity +{ public: // MNetworkEnable // MNetworkEncoder - Vector m_vecLadderDir; // 0x838 - CUtlVector< CHandle< C_InfoLadderDismount > > m_Dismounts; // 0x848 - Vector m_vecLocalTop; // 0x860 + Vector m_vecLadderDir; // 0x838 +private: + [[maybe_unused]] uint8_t __pad0844[0x4]; // 0x844 +public: + CUtlVector< CHandle< C_InfoLadderDismount > > m_Dismounts; // 0x848 + Vector m_vecLocalTop; // 0x860 // MNetworkEnable // MNetworkEncoder - Vector m_vecPlayerMountPositionTop; // 0x86c + Vector m_vecPlayerMountPositionTop; // 0x86c // MNetworkEnable // MNetworkEncoder - Vector m_vecPlayerMountPositionBottom; // 0x878 + Vector m_vecPlayerMountPositionBottom; // 0x878 // MNetworkEnable - float m_flAutoRideSpeed; // 0x884 - bool m_bDisabled; // 0x888 + float m_flAutoRideSpeed; // 0x884 + bool m_bDisabled; // 0x888 // MNetworkEnable - bool m_bFakeLadder; // 0x889 - bool m_bHasSlack; // 0x88a - static CUtlVector< C_FuncLadder* > &Get_s_Ladders(){ return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_FuncLadder")->m_static_fields[0]->m_instance);}; + bool m_bFakeLadder; // 0x889 + bool m_bHasSlack; // 0x88a + static CUtlVector< C_FuncLadder* > &Get_s_Ladders(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_FuncLadder")->m_static_fields[0]->m_instance);}; }; // Alignment: 7 // Size: 0x128 class CPrecipitationVData : public CEntitySubclassVDataBase -{ +{ public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szParticlePrecipitationEffect; // 0x28 - float m_flInnerDistance; // 0x108 - ParticleAttachment_t m_nAttachType; // 0x10c - bool m_bBatchSameVolumeType; // 0x110 - int32_t m_nRTEnvCP; // 0x114 - int32_t m_nRTEnvCPComponent; // 0x118 - CUtlString m_szModifier; // 0x120 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szParticlePrecipitationEffect; // 0x28 + float m_flInnerDistance; // 0x108 + ParticleAttachment_t m_nAttachType; // 0x10c + bool m_bBatchSameVolumeType; // 0x110 +private: + [[maybe_unused]] uint8_t __pad0111[0x3]; // 0x111 +public: + int32_t m_nRTEnvCP; // 0x114 + int32_t m_nRTEnvCPComponent; // 0x118 +private: + [[maybe_unused]] uint8_t __pad011c[0x4]; // 0x11c +public: + CUtlString m_szModifier; // 0x120 }; // Alignment: 24 // Size: 0x968 -class C_Sprite : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Sprite : public C_BaseModelEntity +{ public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x850 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x850 // MNetworkEnable - CHandle< C_BaseEntity > m_hAttachedToEntity; // 0x858 + CHandle< C_BaseEntity > m_hAttachedToEntity; // 0x858 // MNetworkEnable - AttachmentHandle_t m_nAttachment; // 0x85c + AttachmentHandle_t m_nAttachment; // 0x85c +private: + [[maybe_unused]] uint8_t __pad085d[0x3]; // 0x85d +public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "60" // MNetworkEncodeFlags - float m_flSpriteFramerate; // 0x860 + float m_flSpriteFramerate; // 0x860 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags - float m_flFrame; // 0x864 - GameTime_t m_flDieTime; // 0x868 + float m_flFrame; // 0x864 + GameTime_t m_flDieTime; // 0x868 +private: + [[maybe_unused]] uint8_t __pad086c[0xc]; // 0x86c +public: // MNetworkEnable - uint32_t m_nBrightness; // 0x878 + uint32_t m_nBrightness; // 0x878 // MNetworkEnable - float m_flBrightnessDuration; // 0x87c + float m_flBrightnessDuration; // 0x87c // MNetworkEnable // MNetworkChangeCallback "OnSpriteScaleChanged" - float m_flSpriteScale; // 0x880 + float m_flSpriteScale; // 0x880 // MNetworkEnable - float m_flScaleDuration; // 0x884 + float m_flScaleDuration; // 0x884 // MNetworkEnable - bool m_bWorldSpaceScale; // 0x888 + bool m_bWorldSpaceScale; // 0x888 +private: + [[maybe_unused]] uint8_t __pad0889[0x3]; // 0x889 +public: // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags - float m_flGlowProxySize; // 0x88c + float m_flGlowProxySize; // 0x88c // MNetworkEnable - float m_flHDRColorScale; // 0x890 - GameTime_t m_flLastTime; // 0x894 - float m_flMaxFrame; // 0x898 - float m_flStartScale; // 0x89c - float m_flDestScale; // 0x8a0 - GameTime_t m_flScaleTimeStart; // 0x8a4 - int32_t m_nStartBrightness; // 0x8a8 - int32_t m_nDestBrightness; // 0x8ac - GameTime_t m_flBrightnessTimeStart; // 0x8b0 - CWeakHandle< InfoForResourceTypeIMaterial2 > m_hOldSpriteMaterial; // 0x8b8 - int32_t m_nSpriteWidth; // 0x960 - int32_t m_nSpriteHeight; // 0x964 + float m_flHDRColorScale; // 0x890 + GameTime_t m_flLastTime; // 0x894 + float m_flMaxFrame; // 0x898 + float m_flStartScale; // 0x89c + float m_flDestScale; // 0x8a0 + GameTime_t m_flScaleTimeStart; // 0x8a4 + int32_t m_nStartBrightness; // 0x8a8 + int32_t m_nDestBrightness; // 0x8ac + GameTime_t m_flBrightnessTimeStart; // 0x8b0 +private: + [[maybe_unused]] uint8_t __pad08b4[0x4]; // 0x8b4 +public: + CWeakHandle< InfoForResourceTypeIMaterial2 > m_hOldSpriteMaterial; // 0x8b8 +private: + [[maybe_unused]] uint8_t __pad08c0[0xa0]; // 0x8c0 +public: + int32_t m_nSpriteWidth; // 0x960 + int32_t m_nSpriteHeight; // 0x964 }; // Alignment: 0 // Size: 0x968 -class C_SpriteOriented : public C_Sprite, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_SpriteOriented : public C_Sprite +{ public: // no members available }; // Alignment: 4 // Size: 0x868 -class C_BaseClientUIEntity : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BaseClientUIEntity : public C_BaseModelEntity +{ public: // MNetworkEnable - bool m_bEnabled; // 0x840 + bool m_bEnabled; // 0x840 +private: + [[maybe_unused]] uint8_t __pad0841[0x7]; // 0x841 +public: // MNetworkEnable - CUtlSymbolLarge m_DialogXMLName; // 0x848 + CUtlSymbolLarge m_DialogXMLName; // 0x848 // MNetworkEnable - CUtlSymbolLarge m_PanelClassName; // 0x850 + CUtlSymbolLarge m_PanelClassName; // 0x850 // MNetworkEnable - CUtlSymbolLarge m_PanelID; // 0x858 + CUtlSymbolLarge m_PanelID; // 0x858 }; // Alignment: 2 // Size: 0x870 -class C_PointClientUIDialog : public C_BaseClientUIEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointClientUIDialog : public C_BaseClientUIEntity +{ public: // MNetworkEnable // MNetworkChangeCallback "OnDialogActivatorChanged" - CHandle< C_BaseEntity > m_hActivator; // 0x868 - bool m_bStartEnabled; // 0x86c + CHandle< C_BaseEntity > m_hActivator; // 0x868 + bool m_bStartEnabled; // 0x86c }; // Alignment: 13 // Size: 0xa40 -class C_PointClientUIHUD : public C_BaseClientUIEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointClientUIHUD : public C_BaseClientUIEntity +{ +public: + bool m_bCheckCSSClasses; // 0x870 +private: + [[maybe_unused]] uint8_t __pad0871[0x187]; // 0x871 public: - bool m_bCheckCSSClasses; // 0x870 // MNetworkEnable - bool m_bIgnoreInput; // 0x9f8 + bool m_bIgnoreInput; // 0x9f8 +private: + [[maybe_unused]] uint8_t __pad09f9[0x3]; // 0x9f9 +public: // MNetworkEnable - float m_flWidth; // 0x9fc + float m_flWidth; // 0x9fc // MNetworkEnable - float m_flHeight; // 0xa00 + float m_flHeight; // 0xa00 // MNetworkEnable - float m_flDPI; // 0xa04 + float m_flDPI; // 0xa04 // MNetworkEnable - float m_flInteractDistance; // 0xa08 + float m_flInteractDistance; // 0xa08 // MNetworkEnable - float m_flDepthOffset; // 0xa0c + float m_flDepthOffset; // 0xa0c // MNetworkEnable - uint32_t m_unOwnerContext; // 0xa10 + uint32_t m_unOwnerContext; // 0xa10 // MNetworkEnable - uint32_t m_unHorizontalAlign; // 0xa14 + uint32_t m_unHorizontalAlign; // 0xa14 // MNetworkEnable - uint32_t m_unVerticalAlign; // 0xa18 + uint32_t m_unVerticalAlign; // 0xa18 // MNetworkEnable - uint32_t m_unOrientation; // 0xa1c + uint32_t m_unOrientation; // 0xa1c // MNetworkEnable - bool m_bAllowInteractionFromAllSceneWorlds; // 0xa20 + bool m_bAllowInteractionFromAllSceneWorlds; // 0xa20 +private: + [[maybe_unused]] uint8_t __pad0a21[0x7]; // 0xa21 +public: // MNetworkEnable - C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0xa28 + C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0xa28 }; // Alignment: 28 // Size: 0xaa0 -class C_PointClientUIWorldPanel : public C_BaseClientUIEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointClientUIWorldPanel : public C_BaseClientUIEntity +{ +public: + bool m_bForceRecreateNextUpdate; // 0x870 + bool m_bMoveViewToPlayerNextThink; // 0x871 + bool m_bCheckCSSClasses; // 0x872 +private: + [[maybe_unused]] uint8_t __pad0873[0xd]; // 0x873 +public: + CTransform m_anchorDeltaTransform; // 0x880 +private: + [[maybe_unused]] uint8_t __pad08a0[0x180]; // 0x8a0 +public: + CPointOffScreenIndicatorUi* m_pOffScreenIndicator; // 0xa20 +private: + [[maybe_unused]] uint8_t __pad0a28[0x20]; // 0xa28 public: - bool m_bForceRecreateNextUpdate; // 0x870 - bool m_bMoveViewToPlayerNextThink; // 0x871 - bool m_bCheckCSSClasses; // 0x872 - CTransform m_anchorDeltaTransform; // 0x880 - CPointOffScreenIndicatorUi* m_pOffScreenIndicator; // 0xa20 // MNetworkEnable - bool m_bIgnoreInput; // 0xa48 + bool m_bIgnoreInput; // 0xa48 // MNetworkEnable - bool m_bLit; // 0xa49 + bool m_bLit; // 0xa49 // MNetworkEnable - bool m_bFollowPlayerAcrossTeleport; // 0xa4a + bool m_bFollowPlayerAcrossTeleport; // 0xa4a +private: + [[maybe_unused]] uint8_t __pad0a4b[0x1]; // 0xa4b +public: // MNetworkEnable - float m_flWidth; // 0xa4c + float m_flWidth; // 0xa4c // MNetworkEnable - float m_flHeight; // 0xa50 + float m_flHeight; // 0xa50 // MNetworkEnable - float m_flDPI; // 0xa54 + float m_flDPI; // 0xa54 // MNetworkEnable - float m_flInteractDistance; // 0xa58 + float m_flInteractDistance; // 0xa58 // MNetworkEnable - float m_flDepthOffset; // 0xa5c + float m_flDepthOffset; // 0xa5c // MNetworkEnable - uint32_t m_unOwnerContext; // 0xa60 + uint32_t m_unOwnerContext; // 0xa60 // MNetworkEnable - uint32_t m_unHorizontalAlign; // 0xa64 + uint32_t m_unHorizontalAlign; // 0xa64 // MNetworkEnable - uint32_t m_unVerticalAlign; // 0xa68 + uint32_t m_unVerticalAlign; // 0xa68 // MNetworkEnable - uint32_t m_unOrientation; // 0xa6c + uint32_t m_unOrientation; // 0xa6c // MNetworkEnable - bool m_bAllowInteractionFromAllSceneWorlds; // 0xa70 + bool m_bAllowInteractionFromAllSceneWorlds; // 0xa70 +private: + [[maybe_unused]] uint8_t __pad0a71[0x7]; // 0xa71 +public: // MNetworkEnable - C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0xa78 + C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0xa78 // MNetworkEnable - bool m_bOpaque; // 0xa90 + bool m_bOpaque; // 0xa90 // MNetworkEnable - bool m_bNoDepth; // 0xa91 + bool m_bNoDepth; // 0xa91 // MNetworkEnable - bool m_bRenderBackface; // 0xa92 + bool m_bRenderBackface; // 0xa92 // MNetworkEnable - bool m_bUseOffScreenIndicator; // 0xa93 + bool m_bUseOffScreenIndicator; // 0xa93 // MNetworkEnable - bool m_bExcludeFromSaveGames; // 0xa94 + bool m_bExcludeFromSaveGames; // 0xa94 // MNetworkEnable - bool m_bGrabbable; // 0xa95 + bool m_bGrabbable; // 0xa95 // MNetworkEnable - bool m_bOnlyRenderToTexture; // 0xa96 + bool m_bOnlyRenderToTexture; // 0xa96 // MNetworkEnable - bool m_bDisableMipGen; // 0xa97 + bool m_bDisableMipGen; // 0xa97 // MNetworkEnable - int32_t m_nExplicitImageLayout; // 0xa98 + int32_t m_nExplicitImageLayout; // 0xa98 }; // Alignment: 4 // Size: 0xab0 -class CPointOffScreenIndicatorUi : public C_PointClientUIWorldPanel, C_BaseClientUIEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class CPointOffScreenIndicatorUi : public C_PointClientUIWorldPanel +{ public: - bool m_bBeenEnabled; // 0xaa0 - bool m_bHide; // 0xaa1 - float m_flSeenTargetTime; // 0xaa4 - C_PointClientUIWorldPanel* m_pTargetPanel; // 0xaa8 + bool m_bBeenEnabled; // 0xaa0 + bool m_bHide; // 0xaa1 +private: + [[maybe_unused]] uint8_t __pad0aa2[0x2]; // 0xaa2 +public: + float m_flSeenTargetTime; // 0xaa4 + C_PointClientUIWorldPanel* m_pTargetPanel; // 0xaa8 }; // Alignment: 1 // Size: 0xca0 -class C_PointClientUIWorldTextPanel : public C_PointClientUIWorldPanel, C_BaseClientUIEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointClientUIWorldTextPanel : public C_PointClientUIWorldPanel +{ public: // MNetworkEnable - char[512] m_messageText; // 0xaa0 + char m_messageText[512]; // 0xaa0 }; // Alignment: 14 // Size: 0xb40 -class C_PointHintUi : public C_PointClientUIWorldPanel, C_BaseClientUIEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointHintUi : public C_PointClientUIWorldPanel +{ public: - CUtlSymbolLarge m_pszLessonName; // 0xad0 - CUtlSymbolLarge m_pszCaption; // 0xad8 - Vector m_vOffset; // 0xae0 - WorldTextAttachmentType_t m_attachType; // 0xaec - CHandle< C_BaseEntity > m_hIconTarget; // 0xaf0 - CUtlSymbolLarge m_szTargetAttachmentName; // 0xaf8 - CUtlSymbolLarge m_pszCustomLayoutFile; // 0xb00 - int32_t m_nTrackedDeviceIndex; // 0xb08 - CHandle< C_PropVRHand > m_hHighlightHand; // 0xb0c - CUtlSymbolLarge m_pszHighlightControllerComponent; // 0xb10 - CUtlSymbolLarge m_pszHighlightControllerAction; // 0xb18 - Vector m_vecLocalHighlightPoint; // 0xb20 - CUtlSymbolLarge m_pszHighlightOtherEntityName; // 0xb30 - bool m_bUseOffScreenIndicator; // 0xb38 + CUtlSymbolLarge m_pszLessonName; // 0xad0 + CUtlSymbolLarge m_pszCaption; // 0xad8 + Vector m_vOffset; // 0xae0 + WorldTextAttachmentType_t m_attachType; // 0xaec + CHandle< C_BaseEntity > m_hIconTarget; // 0xaf0 +private: + [[maybe_unused]] uint8_t __pad0af4[0x4]; // 0xaf4 +public: + CUtlSymbolLarge m_szTargetAttachmentName; // 0xaf8 + CUtlSymbolLarge m_pszCustomLayoutFile; // 0xb00 + int32_t m_nTrackedDeviceIndex; // 0xb08 + CHandle< C_PropVRHand > m_hHighlightHand; // 0xb0c + CUtlSymbolLarge m_pszHighlightControllerComponent; // 0xb10 + CUtlSymbolLarge m_pszHighlightControllerAction; // 0xb18 + Vector m_vecLocalHighlightPoint; // 0xb20 +private: + [[maybe_unused]] uint8_t __pad0b2c[0x4]; // 0xb2c +public: + CUtlSymbolLarge m_pszHighlightOtherEntityName; // 0xb30 + bool m_bUseOffScreenIndicator; // 0xb38 }; // Alignment: 9 // Size: 0x720 -class CInfoOffscreenPanoramaTexture : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoOffscreenPanoramaTexture : public C_PointEntity +{ public: // MNetworkEnable - bool m_bDisabled; // 0x538 + bool m_bDisabled; // 0x538 +private: + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 +public: // MNetworkEnable - int32_t m_nResolutionX; // 0x53c + int32_t m_nResolutionX; // 0x53c // MNetworkEnable - int32_t m_nResolutionY; // 0x540 + int32_t m_nResolutionY; // 0x540 +private: + [[maybe_unused]] uint8_t __pad0544[0x4]; // 0x544 +public: // MNetworkEnable - CUtlSymbolLarge m_szLayoutFileName; // 0x548 + CUtlSymbolLarge m_szLayoutFileName; // 0x548 // MNetworkEnable - CUtlSymbolLarge m_RenderAttrName; // 0x550 + CUtlSymbolLarge m_RenderAttrName; // 0x550 // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_TargetEntities; // 0x558 + C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_TargetEntities; // 0x558 // MNetworkEnable - int32_t m_nTargetChangeCount; // 0x570 + int32_t m_nTargetChangeCount; // 0x570 +private: + [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 +public: // MNetworkEnable - C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x578 - bool m_bCheckCSSClasses; // 0x6f0 + C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0590[0x160]; // 0x590 +public: + bool m_bCheckCSSClasses; // 0x6f0 }; -// Alignment: 27 -// Size: 0x448 -class C_EconItemView : public IEconItemInterface -{ +// Alignment: 3 +// Size: 0x4a8 +class C_AttributeContainer : public CAttributeManager +{ public: - bool m_bInventoryImageRgbaRequested; // 0x60 - bool m_bInventoryImageTriedCache; // 0x61 - int32_t m_nInventoryImageRgbaWidth; // 0x80 - int32_t m_nInventoryImageRgbaHeight; // 0x84 - char[260] m_szCurrentLoadCachedFileName; // 0x88 - bool m_bRestoreCustomMaterialAfterPrecache; // 0x1b8 // MNetworkEnable - uint16_t m_iItemDefinitionIndex; // 0x1ba - // MNetworkEnable - int32_t m_iEntityQuality; // 0x1bc - // MNetworkEnable - uint32_t m_iEntityLevel; // 0x1c0 - uint64_t m_iItemID; // 0x1c8 - // MNetworkEnable - uint32_t m_iItemIDHigh; // 0x1d0 - // MNetworkEnable - uint32_t m_iItemIDLow; // 0x1d4 - // MNetworkEnable - uint32_t m_iAccountID; // 0x1d8 - // MNetworkEnable - uint32_t m_iInventoryPosition; // 0x1dc - // MNetworkEnable - bool m_bInitialized; // 0x1e8 - bool m_bIsStoreItem; // 0x1e9 - bool m_bIsTradeItem; // 0x1ea - int32_t m_iEntityQuantity; // 0x1ec - int32_t m_iRarityOverride; // 0x1f0 - int32_t m_iQualityOverride; // 0x1f4 - uint8_t m_unClientFlags; // 0x1f8 - uint8_t m_unOverrideStyle; // 0x1f9 - // MNetworkEnable - CAttributeList m_AttributeList; // 0x210 - // MNetworkEnable - CAttributeList m_NetworkedDynamicAttributes; // 0x270 - // MNetworkEnable - char[161] m_szCustomName; // 0x2d0 - char[161] m_szCustomNameOverride; // 0x371 - bool m_bInitializedTags; // 0x440 - static bool &Get_m_sbHasCleanedInventoryImageCacheDir(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_EconItemView")->m_static_fields[0]->m_instance);}; + C_EconItemView m_Item; // 0x50 + int32_t m_iExternalItemProviderRegisteredToken; // 0x498 +private: + [[maybe_unused]] uint8_t __pad049c[0x4]; // 0x49c +public: + uint64_t m_ullRegisteredAsItemID; // 0x4a0 }; // Alignment: 54 // Size: 0x828 -class CCSPlayerController : public CBasePlayerController, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class CCSPlayerController : public CBasePlayerController +{ public: // MNetworkEnable - CCSPlayerController_InGameMoneyServices* m_pInGameMoneyServices; // 0x6b0 + CCSPlayerController_InGameMoneyServices* m_pInGameMoneyServices; // 0x6b0 // MNetworkEnable - CCSPlayerController_InventoryServices* m_pInventoryServices; // 0x6b8 + CCSPlayerController_InventoryServices* m_pInventoryServices; // 0x6b8 // MNetworkEnable - CCSPlayerController_ActionTrackingServices* m_pActionTrackingServices; // 0x6c0 + CCSPlayerController_ActionTrackingServices* m_pActionTrackingServices; // 0x6c0 // MNetworkEnable - CCSPlayerController_DamageServices* m_pDamageServices; // 0x6c8 + CCSPlayerController_DamageServices* m_pDamageServices; // 0x6c8 // MNetworkEnable - uint32_t m_iPing; // 0x6d0 + uint32_t m_iPing; // 0x6d0 // MNetworkEnable - bool m_bHasCommunicationAbuseMute; // 0x6d4 + bool m_bHasCommunicationAbuseMute; // 0x6d4 +private: + [[maybe_unused]] uint8_t __pad06d5[0x3]; // 0x6d5 +public: // MNetworkEnable - CUtlSymbolLarge m_szCrosshairCodes; // 0x6d8 + CUtlSymbolLarge m_szCrosshairCodes; // 0x6d8 // MNetworkEnable - uint8_t m_iPendingTeamNum; // 0x6e0 + uint8_t m_iPendingTeamNum; // 0x6e0 +private: + [[maybe_unused]] uint8_t __pad06e1[0x3]; // 0x6e1 +public: // MNetworkEnable - GameTime_t m_flForceTeamTime; // 0x6e4 + GameTime_t m_flForceTeamTime; // 0x6e4 // MNetworkEnable - int32_t m_iCompTeammateColor; // 0x6e8 + int32_t m_iCompTeammateColor; // 0x6e8 // MNetworkEnable - bool m_bEverPlayedOnTeam; // 0x6ec - GameTime_t m_flPreviousForceJoinTeamTime; // 0x6f0 + bool m_bEverPlayedOnTeam; // 0x6ec +private: + [[maybe_unused]] uint8_t __pad06ed[0x3]; // 0x6ed +public: + GameTime_t m_flPreviousForceJoinTeamTime; // 0x6f0 +private: + [[maybe_unused]] uint8_t __pad06f4[0x4]; // 0x6f4 +public: // MNetworkEnable - CUtlSymbolLarge m_szClan; // 0x6f8 - CUtlString m_sSanitizedPlayerName; // 0x700 + CUtlSymbolLarge m_szClan; // 0x6f8 + CUtlString m_sSanitizedPlayerName; // 0x700 // MNetworkEnable - int32_t m_iCoachingTeam; // 0x708 + int32_t m_iCoachingTeam; // 0x708 +private: + [[maybe_unused]] uint8_t __pad070c[0x4]; // 0x70c +public: // MNetworkEnable - uint64_t m_nPlayerDominated; // 0x710 + uint64_t m_nPlayerDominated; // 0x710 // MNetworkEnable - uint64_t m_nPlayerDominatingMe; // 0x718 + uint64_t m_nPlayerDominatingMe; // 0x718 // MNetworkEnable - int32_t m_iCompetitiveRanking; // 0x720 + int32_t m_iCompetitiveRanking; // 0x720 // MNetworkEnable - int32_t m_iCompetitiveWins; // 0x724 + int32_t m_iCompetitiveWins; // 0x724 // MNetworkEnable - int8_t m_iCompetitiveRankType; // 0x728 + int8_t m_iCompetitiveRankType; // 0x728 +private: + [[maybe_unused]] uint8_t __pad0729[0x3]; // 0x729 +public: // MNetworkEnable - int32_t m_nEndMatchNextMapVote; // 0x72c + int32_t m_nEndMatchNextMapVote; // 0x72c // MNetworkEnable - uint16_t m_unActiveQuestId; // 0x730 + uint16_t m_unActiveQuestId; // 0x730 +private: + [[maybe_unused]] uint8_t __pad0732[0x2]; // 0x732 +public: // MNetworkEnable - QuestProgress::Reason m_nQuestProgressReason; // 0x734 + QuestProgress::Reason m_nQuestProgressReason; // 0x734 // MNetworkEnable - uint32_t m_unPlayerTvControlFlags; // 0x738 - int32_t m_iDraftIndex; // 0x7a8 - uint32_t m_msQueuedModeDisconnectionTimestamp; // 0x7ac - uint32_t m_uiAbandonRecordedReason; // 0x7b0 - bool m_bEverFullyConnected; // 0x7b4 - bool m_bAbandonAllowsSurrender; // 0x7b5 - bool m_bDisconnection1MinWarningPrinted; // 0x7b6 - bool m_bScoreReported; // 0x7b7 + uint32_t m_unPlayerTvControlFlags; // 0x738 +private: + [[maybe_unused]] uint8_t __pad073c[0x6c]; // 0x73c +public: + int32_t m_iDraftIndex; // 0x7a8 + uint32_t m_msQueuedModeDisconnectionTimestamp; // 0x7ac + uint32_t m_uiAbandonRecordedReason; // 0x7b0 + bool m_bEverFullyConnected; // 0x7b4 + bool m_bAbandonAllowsSurrender; // 0x7b5 + bool m_bDisconnection1MinWarningPrinted; // 0x7b6 + bool m_bScoreReported; // 0x7b7 // MNetworkEnable - int32_t m_nDisconnectionTick; // 0x7b8 + int32_t m_nDisconnectionTick; // 0x7b8 +private: + [[maybe_unused]] uint8_t __pad07bc[0xc]; // 0x7bc +public: // MNetworkEnable - bool m_bControllingBot; // 0x7c8 + bool m_bControllingBot; // 0x7c8 // MNetworkEnable - bool m_bHasControlledBotThisRound; // 0x7c9 - bool m_bHasBeenControlledByPlayerThisRound; // 0x7ca - int32_t m_nBotsControlledThisRound; // 0x7cc + bool m_bHasControlledBotThisRound; // 0x7c9 + bool m_bHasBeenControlledByPlayerThisRound; // 0x7ca +private: + [[maybe_unused]] uint8_t __pad07cb[0x1]; // 0x7cb +public: + int32_t m_nBotsControlledThisRound; // 0x7cc // MNetworkEnable - bool m_bCanControlObservedBot; // 0x7d0 + bool m_bCanControlObservedBot; // 0x7d0 +private: + [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 +public: // MNetworkEnable - CHandle< C_CSPlayerPawn > m_hPlayerPawn; // 0x7d4 + CHandle< C_CSPlayerPawn > m_hPlayerPawn; // 0x7d4 // MNetworkEnable - CHandle< C_CSObserverPawn > m_hObserverPawn; // 0x7d8 + CHandle< C_CSObserverPawn > m_hObserverPawn; // 0x7d8 // MNetworkEnable - bool m_bPawnIsAlive; // 0x7dc + bool m_bPawnIsAlive; // 0x7dc +private: + [[maybe_unused]] uint8_t __pad07dd[0x3]; // 0x7dd +public: // MNetworkEnable - uint32_t m_iPawnHealth; // 0x7e0 + uint32_t m_iPawnHealth; // 0x7e0 // MNetworkEnable - int32_t m_iPawnArmor; // 0x7e4 + int32_t m_iPawnArmor; // 0x7e4 // MNetworkEnable - bool m_bPawnHasDefuser; // 0x7e8 + bool m_bPawnHasDefuser; // 0x7e8 // MNetworkEnable - bool m_bPawnHasHelmet; // 0x7e9 + bool m_bPawnHasHelmet; // 0x7e9 // MNetworkEnable - uint16_t m_nPawnCharacterDefIndex; // 0x7ea + uint16_t m_nPawnCharacterDefIndex; // 0x7ea // MNetworkEnable - int32_t m_iPawnLifetimeStart; // 0x7ec + int32_t m_iPawnLifetimeStart; // 0x7ec // MNetworkEnable - int32_t m_iPawnLifetimeEnd; // 0x7f0 + int32_t m_iPawnLifetimeEnd; // 0x7f0 // MNetworkEnable - int32_t m_iPawnGunGameLevel; // 0x7f4 + int32_t m_iPawnGunGameLevel; // 0x7f4 // MNetworkEnable - int32_t m_iPawnBotDifficulty; // 0x7f8 + int32_t m_iPawnBotDifficulty; // 0x7f8 // MNetworkEnable - CHandle< CCSPlayerController > m_hOriginalControllerOfCurrentPawn; // 0x7fc + CHandle< CCSPlayerController > m_hOriginalControllerOfCurrentPawn; // 0x7fc // MNetworkEnable - int32_t m_iScore; // 0x800 + int32_t m_iScore; // 0x800 +private: + [[maybe_unused]] uint8_t __pad0804[0x4]; // 0x804 +public: // MNetworkEnable - C_NetworkUtlVectorBase< EKillTypes_t > m_vecKills; // 0x808 + C_NetworkUtlVectorBase< EKillTypes_t > m_vecKills; // 0x808 // MNetworkEnable - int32_t m_iMVPs; // 0x820 - bool m_bIsPlayerNameDirty; // 0x824 + int32_t m_iMVPs; // 0x820 + bool m_bIsPlayerNameDirty; // 0x824 }; // Alignment: 2 // Size: 0x850 -class C_FootstepControl : public C_BaseTrigger, C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_FootstepControl : public C_BaseTrigger +{ public: // MNetworkEnable - CUtlSymbolLarge m_source; // 0x840 + CUtlSymbolLarge m_source; // 0x840 // MNetworkEnable - CUtlSymbolLarge m_destination; // 0x848 - static CUtlVector< C_FootstepControl* > &Get_sm_footstepControllers(){ return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_FootstepControl")->m_static_fields[0]->m_instance);}; + CUtlSymbolLarge m_destination; // 0x848 + static CUtlVector< C_FootstepControl* > &Get_sm_footstepControllers(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_FootstepControl")->m_static_fields[0]->m_instance);}; }; // Alignment: 89 // Size: 0xda8 -class CWeaponCSBaseVData : public CBasePlayerWeaponVData, CEntitySubclassVDataBase -{ +class CWeaponCSBaseVData : public CBasePlayerWeaponVData +{ public: - CSWeaponType m_WeaponType; // 0x320 - CSWeaponCategory m_WeaponCategory; // 0x324 + CSWeaponType m_WeaponType; // 0x320 + CSWeaponCategory m_WeaponCategory; // 0x324 // MPropertyStartGroup "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szViewModel; // 0x328 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szPlayerModel; // 0x408 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldDroppedModel; // 0x4e8 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szAimsightLensMaskModel; // 0x5c8 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szMagazineModel; // 0x6a8 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szHeatEffect; // 0x788 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szEjectBrassEffect; // 0x868 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticleAlt; // 0x948 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashThirdPersonParticle; // 0xa28 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashThirdPersonParticleAlt; // 0xb08 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szViewModel; // 0x328 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szPlayerModel; // 0x408 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldDroppedModel; // 0x4e8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szAimsightLensMaskModel; // 0x5c8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szMagazineModel; // 0x6a8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szHeatEffect; // 0x788 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szEjectBrassEffect; // 0x868 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticleAlt; // 0x948 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashThirdPersonParticle; // 0xa28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashThirdPersonParticleAlt; // 0xb08 // MPropertyStartGroup "HUD Positions" // MPropertyFriendlyName "HUD Bucket" // MPropertyDescription "Which 'column' to display this weapon in the HUD" - gear_slot_t m_GearSlot; // 0xbe8 - int32_t m_GearSlotPosition; // 0xbec + gear_slot_t m_GearSlot; // 0xbe8 + int32_t m_GearSlotPosition; // 0xbec // MPropertyFriendlyName "HUD Bucket Position" // MPropertyDescription "Default team (non Terrorist or Counter-Terrorist) 'row' to display this weapon in the HUD." - loadout_positions_t m_DefaultLoadoutPosition; // 0xbf0 - CUtlString m_sWrongTeamMsg; // 0xbf8 + loadout_positions_t m_DefaultLoadoutPosition; // 0xbf0 +private: + [[maybe_unused]] uint8_t __pad0bf4[0x4]; // 0xbf4 +public: + CUtlString m_sWrongTeamMsg; // 0xbf8 // MPropertyStartGroup "In-Game Data" - int32_t m_nPrice; // 0xc00 - int32_t m_nKillAward; // 0xc04 - int32_t m_nPrimaryReserveAmmoMax; // 0xc08 - int32_t m_nSecondaryReserveAmmoMax; // 0xc0c - bool m_bMeleeWeapon; // 0xc10 - bool m_bHasBurstMode; // 0xc11 - bool m_bIsRevolver; // 0xc12 - bool m_bCannotShootUnderwater; // 0xc13 + int32_t m_nPrice; // 0xc00 + int32_t m_nKillAward; // 0xc04 + int32_t m_nPrimaryReserveAmmoMax; // 0xc08 + int32_t m_nSecondaryReserveAmmoMax; // 0xc0c + bool m_bMeleeWeapon; // 0xc10 + bool m_bHasBurstMode; // 0xc11 + bool m_bIsRevolver; // 0xc12 + bool m_bCannotShootUnderwater; // 0xc13 +private: + [[maybe_unused]] uint8_t __pad0c14[0x4]; // 0xc14 +public: // MPropertyFriendlyName "In-Code weapon name" - CUtlString m_szName; // 0xc18 + CUtlString m_szName; // 0xc18 // MPropertyFriendlyName "Player Animation Extension" - CUtlString m_szAnimExtension; // 0xc20 - CSWeaponSilencerType m_eSilencerType; // 0xc28 - int32_t m_nCrosshairMinDistance; // 0xc2c - int32_t m_nCrosshairDeltaDistance; // 0xc30 + CUtlString m_szAnimExtension; // 0xc20 + CSWeaponSilencerType m_eSilencerType; // 0xc28 + int32_t m_nCrosshairMinDistance; // 0xc2c + int32_t m_nCrosshairDeltaDistance; // 0xc30 // MPropertyStartGroup "Firing Mode Data" - CFiringModeFloat m_flCycleTime; // 0xc34 - CFiringModeFloat m_flMaxSpeed; // 0xc3c - CFiringModeFloat m_flSpread; // 0xc44 - CFiringModeFloat m_flInaccuracyCrouch; // 0xc4c - CFiringModeFloat m_flInaccuracyStand; // 0xc54 - CFiringModeFloat m_flInaccuracyJump; // 0xc5c - CFiringModeFloat m_flInaccuracyLand; // 0xc64 - CFiringModeFloat m_flInaccuracyLadder; // 0xc6c - CFiringModeFloat m_flInaccuracyFire; // 0xc74 - CFiringModeFloat m_flInaccuracyMove; // 0xc7c - CFiringModeFloat m_flRecoilAngle; // 0xc84 - CFiringModeFloat m_flRecoilAngleVariance; // 0xc8c - CFiringModeFloat m_flRecoilMagnitude; // 0xc94 - CFiringModeFloat m_flRecoilMagnitudeVariance; // 0xc9c - CFiringModeInt m_nTracerFrequency; // 0xca4 - float m_flInaccuracyJumpInitial; // 0xcac - float m_flInaccuracyJumpApex; // 0xcb0 - float m_flInaccuracyReload; // 0xcb4 + CFiringModeFloat m_flCycleTime; // 0xc34 + CFiringModeFloat m_flMaxSpeed; // 0xc3c + CFiringModeFloat m_flSpread; // 0xc44 + CFiringModeFloat m_flInaccuracyCrouch; // 0xc4c + CFiringModeFloat m_flInaccuracyStand; // 0xc54 + CFiringModeFloat m_flInaccuracyJump; // 0xc5c + CFiringModeFloat m_flInaccuracyLand; // 0xc64 + CFiringModeFloat m_flInaccuracyLadder; // 0xc6c + CFiringModeFloat m_flInaccuracyFire; // 0xc74 + CFiringModeFloat m_flInaccuracyMove; // 0xc7c + CFiringModeFloat m_flRecoilAngle; // 0xc84 + CFiringModeFloat m_flRecoilAngleVariance; // 0xc8c + CFiringModeFloat m_flRecoilMagnitude; // 0xc94 + CFiringModeFloat m_flRecoilMagnitudeVariance; // 0xc9c + CFiringModeInt m_nTracerFrequency; // 0xca4 + float m_flInaccuracyJumpInitial; // 0xcac + float m_flInaccuracyJumpApex; // 0xcb0 + float m_flInaccuracyReload; // 0xcb4 // MPropertyStartGroup "Firing" - int32_t m_nRecoilSeed; // 0xcb8 - int32_t m_nSpreadSeed; // 0xcbc - float m_flTimeToIdleAfterFire; // 0xcc0 - float m_flIdleInterval; // 0xcc4 - float m_flAttackMovespeedFactor; // 0xcc8 - float m_flHeatPerShot; // 0xccc - float m_flInaccuracyPitchShift; // 0xcd0 - float m_flInaccuracyAltSoundThreshold; // 0xcd4 - float m_flBotAudibleRange; // 0xcd8 - CUtlString m_szUseRadioSubtitle; // 0xce0 + int32_t m_nRecoilSeed; // 0xcb8 + int32_t m_nSpreadSeed; // 0xcbc + float m_flTimeToIdleAfterFire; // 0xcc0 + float m_flIdleInterval; // 0xcc4 + float m_flAttackMovespeedFactor; // 0xcc8 + float m_flHeatPerShot; // 0xccc + float m_flInaccuracyPitchShift; // 0xcd0 + float m_flInaccuracyAltSoundThreshold; // 0xcd4 + float m_flBotAudibleRange; // 0xcd8 +private: + [[maybe_unused]] uint8_t __pad0cdc[0x4]; // 0xcdc +public: + CUtlString m_szUseRadioSubtitle; // 0xce0 // MPropertyStartGroup "Zooming" - bool m_bUnzoomsAfterShot; // 0xce8 - bool m_bHideViewModelWhenZoomed; // 0xce9 - int32_t m_nZoomLevels; // 0xcec - int32_t m_nZoomFOV1; // 0xcf0 - int32_t m_nZoomFOV2; // 0xcf4 - float m_flZoomTime0; // 0xcf8 - float m_flZoomTime1; // 0xcfc - float m_flZoomTime2; // 0xd00 + bool m_bUnzoomsAfterShot; // 0xce8 + bool m_bHideViewModelWhenZoomed; // 0xce9 +private: + [[maybe_unused]] uint8_t __pad0cea[0x2]; // 0xcea +public: + int32_t m_nZoomLevels; // 0xcec + int32_t m_nZoomFOV1; // 0xcf0 + int32_t m_nZoomFOV2; // 0xcf4 + float m_flZoomTime0; // 0xcf8 + float m_flZoomTime1; // 0xcfc + float m_flZoomTime2; // 0xd00 // MPropertyStartGroup "Iron Sights" - float m_flIronSightPullUpSpeed; // 0xd04 - float m_flIronSightPutDownSpeed; // 0xd08 - float m_flIronSightFOV; // 0xd0c - float m_flIronSightPivotForward; // 0xd10 - float m_flIronSightLooseness; // 0xd14 - QAngle m_angPivotAngle; // 0xd18 - Vector m_vecIronSightEyePos; // 0xd24 + float m_flIronSightPullUpSpeed; // 0xd04 + float m_flIronSightPutDownSpeed; // 0xd08 + float m_flIronSightFOV; // 0xd0c + float m_flIronSightPivotForward; // 0xd10 + float m_flIronSightLooseness; // 0xd14 + QAngle m_angPivotAngle; // 0xd18 + Vector m_vecIronSightEyePos; // 0xd24 // MPropertyStartGroup "Damage" - int32_t m_nDamage; // 0xd30 - float m_flHeadshotMultiplier; // 0xd34 - float m_flArmorRatio; // 0xd38 - float m_flPenetration; // 0xd3c - float m_flRange; // 0xd40 - float m_flRangeModifier; // 0xd44 - float m_flFlinchVelocityModifierLarge; // 0xd48 - float m_flFlinchVelocityModifierSmall; // 0xd4c + int32_t m_nDamage; // 0xd30 + float m_flHeadshotMultiplier; // 0xd34 + float m_flArmorRatio; // 0xd38 + float m_flPenetration; // 0xd3c + float m_flRange; // 0xd40 + float m_flRangeModifier; // 0xd44 + float m_flFlinchVelocityModifierLarge; // 0xd48 + float m_flFlinchVelocityModifierSmall; // 0xd4c // MPropertyStartGroup "Recovery" - float m_flRecoveryTimeCrouch; // 0xd50 - float m_flRecoveryTimeStand; // 0xd54 - float m_flRecoveryTimeCrouchFinal; // 0xd58 - float m_flRecoveryTimeStandFinal; // 0xd5c - int32_t m_nRecoveryTransitionStartBullet; // 0xd60 - int32_t m_nRecoveryTransitionEndBullet; // 0xd64 + float m_flRecoveryTimeCrouch; // 0xd50 + float m_flRecoveryTimeStand; // 0xd54 + float m_flRecoveryTimeCrouchFinal; // 0xd58 + float m_flRecoveryTimeStandFinal; // 0xd5c + int32_t m_nRecoveryTransitionStartBullet; // 0xd60 + int32_t m_nRecoveryTransitionEndBullet; // 0xd64 // MPropertyStartGroup "Grenade Data" - float m_flThrowVelocity; // 0xd68 - Vector m_vSmokeColor; // 0xd6c - CUtlString m_szAnimClass; // 0xd78 + float m_flThrowVelocity; // 0xd68 + Vector m_vSmokeColor; // 0xd6c + CUtlString m_szAnimClass; // 0xd78 }; // Alignment: 0 // Size: 0x538 -class C_InfoInstructorHintHostageRescueZone : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_InfoInstructorHintHostageRescueZone : public C_PointEntity +{ public: // no members available }; // Alignment: 16 // Size: 0x948 -class C_PlayerSprayDecal : public C_ModelPointEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PlayerSprayDecal : public C_ModelPointEntity +{ public: // MNetworkEnable - int32_t m_nUniqueID; // 0x838 + int32_t m_nUniqueID; // 0x838 // MNetworkEnable - uint32_t m_unAccountID; // 0x83c + uint32_t m_unAccountID; // 0x83c // MNetworkEnable - uint32_t m_unTraceID; // 0x840 + uint32_t m_unTraceID; // 0x840 // MNetworkEnable - uint32_t m_rtGcTime; // 0x844 + uint32_t m_rtGcTime; // 0x844 // MNetworkEnable - Vector m_vecEndPos; // 0x848 + Vector m_vecEndPos; // 0x848 // MNetworkEnable - Vector m_vecStart; // 0x854 + Vector m_vecStart; // 0x854 // MNetworkEnable - Vector m_vecLeft; // 0x860 + Vector m_vecLeft; // 0x860 // MNetworkEnable - Vector m_vecNormal; // 0x86c + Vector m_vecNormal; // 0x86c // MNetworkEnable - int32_t m_nPlayer; // 0x878 + int32_t m_nPlayer; // 0x878 // MNetworkEnable - int32_t m_nEntity; // 0x87c + int32_t m_nEntity; // 0x87c // MNetworkEnable - int32_t m_nHitbox; // 0x880 + int32_t m_nHitbox; // 0x880 // MNetworkEnable - float m_flCreationTime; // 0x884 + float m_flCreationTime; // 0x884 // MNetworkEnable - int32_t m_nTintID; // 0x888 + int32_t m_nTintID; // 0x888 // MNetworkEnable - uint8_t m_nVersion; // 0x88c + uint8_t m_nVersion; // 0x88c // MNetworkEnable - uint8[128] m_ubSignature; // 0x88d - CPlayerSprayDecalRenderHelper m_SprayRenderHelper; // 0x918 + uint8_t m_ubSignature[128]; // 0x88d +private: + [[maybe_unused]] uint8_t __pad090d[0xb]; // 0x90d +public: + CPlayerSprayDecalRenderHelper m_SprayRenderHelper; // 0x918 }; // Alignment: 8 // Size: 0x880 -class C_FuncConveyor : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_FuncConveyor : public C_BaseModelEntity +{ public: // MNetworkEnable - Vector m_vecMoveDirEntitySpace; // 0x840 + Vector m_vecMoveDirEntitySpace; // 0x840 // MNetworkEnable - float m_flTargetSpeed; // 0x84c + float m_flTargetSpeed; // 0x84c // MNetworkEnable - GameTick_t m_nTransitionStartTick; // 0x850 + GameTick_t m_nTransitionStartTick; // 0x850 // MNetworkEnable - int32_t m_nTransitionDurationTicks; // 0x854 + int32_t m_nTransitionDurationTicks; // 0x854 // MNetworkEnable - float m_flTransitionStartSpeed; // 0x858 + float m_flTransitionStartSpeed; // 0x858 +private: + [[maybe_unused]] uint8_t __pad085c[0x4]; // 0x85c +public: // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_hConveyorModels; // 0x860 - float m_flCurrentConveyorOffset; // 0x878 - float m_flCurrentConveyorSpeed; // 0x87c + C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_hConveyorModels; // 0x860 + float m_flCurrentConveyorOffset; // 0x878 + float m_flCurrentConveyorSpeed; // 0x87c }; // Alignment: 2 // Size: 0x898 -class CGrenadeTracer : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class CGrenadeTracer : public C_BaseModelEntity +{ public: - float m_flTracerDuration; // 0x858 - GrenadeType_t m_nType; // 0x85c - static int32_t &Get_s_nColorIdx(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CGrenadeTracer")->m_static_fields[0]->m_instance);}; + float m_flTracerDuration; // 0x858 + GrenadeType_t m_nType; // 0x85c + static int32_t &Get_s_nColorIdx(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CGrenadeTracer")->m_static_fields[0]->m_instance);}; }; // Alignment: 23 // Size: 0x7e20 -class C_Inferno : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Inferno : public C_BaseModelEntity +{ public: - ParticleIndex_t m_nfxFireDamageEffect; // 0x878 + ParticleIndex_t m_nfxFireDamageEffect; // 0x878 // MNetworkEnable - int32[64] m_fireXDelta; // 0x87c + int32_t m_fireXDelta[64]; // 0x87c // MNetworkEnable - int32[64] m_fireYDelta; // 0x97c + int32_t m_fireYDelta[64]; // 0x97c // MNetworkEnable - int32[64] m_fireZDelta; // 0xa7c + int32_t m_fireZDelta[64]; // 0xa7c // MNetworkEnable - int32[64] m_fireParentXDelta; // 0xb7c + int32_t m_fireParentXDelta[64]; // 0xb7c // MNetworkEnable - int32[64] m_fireParentYDelta; // 0xc7c + int32_t m_fireParentYDelta[64]; // 0xc7c // MNetworkEnable - int32[64] m_fireParentZDelta; // 0xd7c + int32_t m_fireParentZDelta[64]; // 0xd7c // MNetworkEnable - bool[64] m_bFireIsBurning; // 0xe7c + bool m_bFireIsBurning[64]; // 0xe7c // MNetworkEnable - Vector[64] m_BurnNormal; // 0xebc + Vector m_BurnNormal[64]; // 0xebc // MNetworkEnable - int32_t m_fireCount; // 0x11bc + int32_t m_fireCount; // 0x11bc // MNetworkEnable - int32_t m_nInfernoType; // 0x11c0 + int32_t m_nInfernoType; // 0x11c0 // MNetworkEnable - float m_nFireLifetime; // 0x11c4 + float m_nFireLifetime; // 0x11c4 // MNetworkEnable - bool m_bInPostEffectTime; // 0x11c8 - int32_t m_lastFireCount; // 0x11cc + bool m_bInPostEffectTime; // 0x11c8 +private: + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 +public: + int32_t m_lastFireCount; // 0x11cc // MNetworkEnable - int32_t m_nFireEffectTickBegin; // 0x11d0 - int32_t m_drawableCount; // 0x7de0 - bool m_blosCheck; // 0x7de4 - int32_t m_nlosperiod; // 0x7de8 - float m_maxFireHalfWidth; // 0x7dec - float m_maxFireHeight; // 0x7df0 - Vector m_minBounds; // 0x7df4 - Vector m_maxBounds; // 0x7e00 - float m_flLastGrassBurnThink; // 0x7e0c + int32_t m_nFireEffectTickBegin; // 0x11d0 +private: + [[maybe_unused]] uint8_t __pad11d4[0x6c0c]; // 0x11d4 +public: + int32_t m_drawableCount; // 0x7de0 + bool m_blosCheck; // 0x7de4 +private: + [[maybe_unused]] uint8_t __pad7de5[0x3]; // 0x7de5 +public: + int32_t m_nlosperiod; // 0x7de8 + float m_maxFireHalfWidth; // 0x7dec + float m_maxFireHeight; // 0x7df0 + Vector m_minBounds; // 0x7df4 + Vector m_maxBounds; // 0x7e00 + float m_flLastGrassBurnThink; // 0x7e0c }; // Alignment: 0 // Size: 0x7e20 -class C_FireCrackerBlast : public C_Inferno, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_FireCrackerBlast : public C_Inferno +{ public: // no members available }; // Alignment: 49 // Size: 0xa70 -class C_BarnLight : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BarnLight : public C_BaseModelEntity +{ public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bEnabled; // 0x838 + bool m_bEnabled; // 0x838 +private: + [[maybe_unused]] uint8_t __pad0839[0x3]; // 0x839 +public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nColorMode; // 0x83c + int32_t m_nColorMode; // 0x83c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Color m_Color; // 0x840 + Color m_Color; // 0x840 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flColorTemperature; // 0x844 + float m_flColorTemperature; // 0x844 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flBrightness; // 0x848 + float m_flBrightness; // 0x848 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flBrightnessScale; // 0x84c + float m_flBrightnessScale; // 0x84c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nDirectLight; // 0x850 + int32_t m_nDirectLight; // 0x850 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nBakedShadowIndex; // 0x854 + int32_t m_nBakedShadowIndex; // 0x854 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nLuminaireShape; // 0x858 + int32_t m_nLuminaireShape; // 0x858 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flLuminaireSize; // 0x85c + float m_flLuminaireSize; // 0x85c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flLuminaireAnisotropy; // 0x860 + float m_flLuminaireAnisotropy; // 0x860 +private: + [[maybe_unused]] uint8_t __pad0864[0x4]; // 0x864 +public: // MNetworkEnable // MNetworkChangeCallback "StyleChanged" - CUtlString m_LightStyleString; // 0x868 + CUtlString m_LightStyleString; // 0x868 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - GameTime_t m_flLightStyleStartTime; // 0x870 + GameTime_t m_flLightStyleStartTime; // 0x870 +private: + [[maybe_unused]] uint8_t __pad0874[0x4]; // 0x874 +public: // MNetworkEnable - C_NetworkUtlVectorBase< CUtlString > m_QueuedLightStyleStrings; // 0x878 + C_NetworkUtlVectorBase< CUtlString > m_QueuedLightStyleStrings; // 0x878 // MNetworkEnable - C_NetworkUtlVectorBase< CUtlString > m_LightStyleEvents; // 0x890 + C_NetworkUtlVectorBase< CUtlString > m_LightStyleEvents; // 0x890 // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_LightStyleTargets; // 0x8a8 - CEntityIOOutput[4] m_StyleEvent; // 0x8c0 + C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_LightStyleTargets; // 0x8a8 + CEntityIOOutput m_StyleEvent[4]; // 0x8c0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x960 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x960 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flShape; // 0x968 + float m_flShape; // 0x968 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSoftX; // 0x96c + float m_flSoftX; // 0x96c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSoftY; // 0x970 + float m_flSoftY; // 0x970 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSkirt; // 0x974 + float m_flSkirt; // 0x974 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSkirtNear; // 0x978 + float m_flSkirtNear; // 0x978 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - Vector m_vSizeParams; // 0x97c + Vector m_vSizeParams; // 0x97c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - float m_flRange; // 0x988 + float m_flRange; // 0x988 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - Vector m_vShear; // 0x98c + Vector m_vShear; // 0x98c // MNetworkEnable - int32_t m_nBakeSpecularToCubemaps; // 0x998 + int32_t m_nBakeSpecularToCubemaps; // 0x998 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - Vector m_vBakeSpecularToCubemapsSize; // 0x99c + Vector m_vBakeSpecularToCubemapsSize; // 0x99c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nCastShadows; // 0x9a8 + int32_t m_nCastShadows; // 0x9a8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nShadowMapSize; // 0x9ac + int32_t m_nShadowMapSize; // 0x9ac // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nShadowPriority; // 0x9b0 + int32_t m_nShadowPriority; // 0x9b0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bContactShadow; // 0x9b4 + bool m_bContactShadow; // 0x9b4 +private: + [[maybe_unused]] uint8_t __pad09b5[0x3]; // 0x9b5 +public: // MNetworkEnable - int32_t m_nBounceLight; // 0x9b8 + int32_t m_nBounceLight; // 0x9b8 // MNetworkEnable - float m_flBounceScale; // 0x9bc + float m_flBounceScale; // 0x9bc // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flMinRoughness; // 0x9c0 + float m_flMinRoughness; // 0x9c0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nFog; // 0x9c4 + int32_t m_nFog; // 0x9c4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFogStrength; // 0x9c8 + float m_flFogStrength; // 0x9c8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nFogShadows; // 0x9cc + int32_t m_nFogShadows; // 0x9cc // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFogScale; // 0x9d0 + float m_flFogScale; // 0x9d0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFadeSizeStart; // 0x9d4 + float m_flFadeSizeStart; // 0x9d4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFadeSizeEnd; // 0x9d8 + float m_flFadeSizeEnd; // 0x9d8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flShadowFadeSizeStart; // 0x9dc + float m_flShadowFadeSizeStart; // 0x9dc // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flShadowFadeSizeEnd; // 0x9e0 + float m_flShadowFadeSizeEnd; // 0x9e0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bPrecomputedFieldsValid; // 0x9e4 + bool m_bPrecomputedFieldsValid; // 0x9e4 +private: + [[maybe_unused]] uint8_t __pad09e5[0x3]; // 0x9e5 +public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedBoundsMins; // 0x9e8 + Vector m_vPrecomputedBoundsMins; // 0x9e8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedBoundsMaxs; // 0x9f4 + Vector m_vPrecomputedBoundsMaxs; // 0x9f4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedOBBOrigin; // 0xa00 + Vector m_vPrecomputedOBBOrigin; // 0xa00 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - QAngle m_vPrecomputedOBBAngles; // 0xa0c + QAngle m_vPrecomputedOBBAngles; // 0xa0c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedOBBExtent; // 0xa18 + Vector m_vPrecomputedOBBExtent; // 0xa18 }; // Alignment: 1 // Size: 0xa78 -class C_RectLight : public C_BarnLight, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_RectLight : public C_BarnLight +{ public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bShowLight; // 0xa70 + bool m_bShowLight; // 0xa70 }; // Alignment: 3 // Size: 0xa80 -class C_OmniLight : public C_BarnLight, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_OmniLight : public C_BarnLight +{ public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flInnerAngle; // 0xa70 + float m_flInnerAngle; // 0xa70 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flOuterAngle; // 0xa74 + float m_flOuterAngle; // 0xa74 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bShowLight; // 0xa78 + bool m_bShowLight; // 0xa78 }; // Alignment: 12 // Size: 0x8a8 -class C_CSTeam : public C_Team, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_CSTeam : public C_Team +{ public: // MNetworkEnable - char[512] m_szTeamMatchStat; // 0x5f0 + char m_szTeamMatchStat[512]; // 0x5f0 // MNetworkEnable - int32_t m_numMapVictories; // 0x7f0 + int32_t m_numMapVictories; // 0x7f0 // MNetworkEnable - bool m_bSurrendered; // 0x7f4 + bool m_bSurrendered; // 0x7f4 +private: + [[maybe_unused]] uint8_t __pad07f5[0x3]; // 0x7f5 +public: // MNetworkEnable - int32_t m_scoreFirstHalf; // 0x7f8 + int32_t m_scoreFirstHalf; // 0x7f8 // MNetworkEnable - int32_t m_scoreSecondHalf; // 0x7fc + int32_t m_scoreSecondHalf; // 0x7fc // MNetworkEnable - int32_t m_scoreOvertime; // 0x800 + int32_t m_scoreOvertime; // 0x800 // MNetworkEnable - char[129] m_szClanTeamname; // 0x804 + char m_szClanTeamname[129]; // 0x804 +private: + [[maybe_unused]] uint8_t __pad0885[0x3]; // 0x885 +public: // MNetworkEnable - uint32_t m_iClanID; // 0x888 + uint32_t m_iClanID; // 0x888 // MNetworkEnable - CPlayerSlot m_nGGLeaderSlot_CT; // 0x88c + CPlayerSlot m_nGGLeaderSlot_CT; // 0x88c // MNetworkEnable - CPlayerSlot m_nGGLeaderSlot_T; // 0x890 + CPlayerSlot m_nGGLeaderSlot_T; // 0x890 // MNetworkEnable - char[8] m_szTeamFlagImage; // 0x894 + char m_szTeamFlagImage[8]; // 0x894 // MNetworkEnable - char[8] m_szTeamLogoImage; // 0x89c + char m_szTeamLogoImage[8]; // 0x89c }; // Alignment: 0 // Size: 0xde8 -class C_MapPreviewParticleSystem : public C_ParticleSystem, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_MapPreviewParticleSystem : public C_ParticleSystem +{ public: // no members available }; // Alignment: 5 // Size: 0x550 -class CInfoDynamicShadowHint : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoDynamicShadowHint : public C_PointEntity +{ public: - bool m_bDisabled; // 0x538 - float m_flRange; // 0x53c - int32_t m_nImportance; // 0x540 - int32_t m_nLightChoice; // 0x544 - CHandle< C_BaseEntity > m_hLight; // 0x548 - static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints(){ return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fields[0]->m_instance);}; + bool m_bDisabled; // 0x538 +private: + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 +public: + float m_flRange; // 0x53c + int32_t m_nImportance; // 0x540 + int32_t m_nLightChoice; // 0x544 + CHandle< C_BaseEntity > m_hLight; // 0x548 + static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 // Size: 0x568 -class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint, C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint +{ public: - Vector m_vBoxMins; // 0x550 - Vector m_vBoxMaxs; // 0x55c + Vector m_vBoxMins; // 0x550 + Vector m_vBoxMaxs; // 0x55c }; // Alignment: 10 // Size: 0x880 -class C_EnvSky : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_EnvSky : public C_BaseModelEntity +{ public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x838 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x838 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - bool m_bStartDisabled; // 0x840 + bool m_bStartDisabled; // 0x840 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - Color m_vTintColor; // 0x841 + Color m_vTintColor; // 0x841 +private: + [[maybe_unused]] uint8_t __pad0845[0x3]; // 0x845 +public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flBrightnessScale; // 0x848 + float m_flBrightnessScale; // 0x848 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - int32_t m_nFogType; // 0x84c + int32_t m_nFogType; // 0x84c // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMinStart; // 0x850 + float m_flFogMinStart; // 0x850 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMinEnd; // 0x854 + float m_flFogMinEnd; // 0x854 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMaxStart; // 0x858 + float m_flFogMaxStart; // 0x858 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMaxEnd; // 0x85c + float m_flFogMaxEnd; // 0x85c // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - bool m_bEnabled; // 0x860 + bool m_bEnabled; // 0x860 }; // Alignment: 0 // Size: 0x560 -class C_TonemapController2Alias_env_tonemap_controller2 : public C_TonemapController2, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_TonemapController2Alias_env_tonemap_controller2 : public C_TonemapController2 +{ public: // no members available }; // Alignment: 1 // Size: 0x840 -class C_LightEntity : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_LightEntity : public C_BaseModelEntity +{ public: // MNetworkEnable // MNetworkUserGroup "CLightComponent" // MNetworkAlias "CLightComponent" // MNetworkTypeAlias "CLightComponent" - CLightComponent* m_CLightComponent; // 0x838 + CLightComponent* m_CLightComponent; // 0x838 }; // Alignment: 0 // Size: 0x840 -class C_LightSpotEntity : public C_LightEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_LightSpotEntity : public C_LightEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x840 -class C_LightOrthoEntity : public C_LightEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_LightOrthoEntity : public C_LightEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x840 -class C_LightDirectionalEntity : public C_LightEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_LightDirectionalEntity : public C_LightEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x840 -class C_LightEnvironmentEntity : public C_LightDirectionalEntity, C_LightEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_LightEnvironmentEntity : public C_LightDirectionalEntity +{ public: // no members available }; // Alignment: 16 // Size: 0x890 -class C_PostProcessingVolume : public C_BaseTrigger, C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PostProcessingVolume : public C_BaseTrigger +{ public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x850 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x850 // MNetworkEnable - float m_flFadeDuration; // 0x858 + float m_flFadeDuration; // 0x858 // MNetworkEnable - float m_flMinLogExposure; // 0x85c + float m_flMinLogExposure; // 0x85c // MNetworkEnable - float m_flMaxLogExposure; // 0x860 + float m_flMaxLogExposure; // 0x860 // MNetworkEnable - float m_flMinExposure; // 0x864 + float m_flMinExposure; // 0x864 // MNetworkEnable - float m_flMaxExposure; // 0x868 + float m_flMaxExposure; // 0x868 // MNetworkEnable - float m_flExposureCompensation; // 0x86c + float m_flExposureCompensation; // 0x86c // MNetworkEnable - float m_flExposureFadeSpeedUp; // 0x870 + float m_flExposureFadeSpeedUp; // 0x870 // MNetworkEnable - float m_flExposureFadeSpeedDown; // 0x874 + float m_flExposureFadeSpeedDown; // 0x874 // MNetworkEnable - float m_flTonemapEVSmoothingRange; // 0x878 + float m_flTonemapEVSmoothingRange; // 0x878 // MNetworkEnable - bool m_bMaster; // 0x87c + bool m_bMaster; // 0x87c // MNetworkEnable - bool m_bExposureControl; // 0x87d + bool m_bExposureControl; // 0x87d +private: + [[maybe_unused]] uint8_t __pad087e[0x2]; // 0x87e +public: // MNetworkEnable - float m_flRate; // 0x880 + float m_flRate; // 0x880 // MNetworkEnable - float m_flTonemapPercentTarget; // 0x884 + float m_flTonemapPercentTarget; // 0x884 // MNetworkEnable - float m_flTonemapPercentBrightPixels; // 0x888 + float m_flTonemapPercentBrightPixels; // 0x888 // MNetworkEnable - float m_flTonemapMinAvgLum; // 0x88c + float m_flTonemapMinAvgLum; // 0x88c }; // Alignment: 5 // Size: 0xe00 -class C_EnvParticleGlow : public C_ParticleSystem, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_EnvParticleGlow : public C_ParticleSystem +{ public: // MNetworkEnable - float m_flAlphaScale; // 0xde8 + float m_flAlphaScale; // 0xde8 // MNetworkEnable - float m_flRadiusScale; // 0xdec + float m_flRadiusScale; // 0xdec // MNetworkEnable - float m_flSelfIllumScale; // 0xdf0 + float m_flSelfIllumScale; // 0xdf0 // MNetworkEnable - Color m_ColorTint; // 0xdf4 + Color m_ColorTint; // 0xdf4 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xdf8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xdf8 }; // Alignment: 8 // Size: 0x870 -class C_TextureBasedAnimatable : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_TextureBasedAnimatable : public C_BaseModelEntity +{ public: // MNetworkEnable - bool m_bLoop; // 0x838 + bool m_bLoop; // 0x838 +private: + [[maybe_unused]] uint8_t __pad0839[0x3]; // 0x839 +public: // MNetworkEnable - float m_flFPS; // 0x83c + float m_flFPS; // 0x83c // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x840 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x840 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x848 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x848 // MNetworkEnable - Vector m_vAnimationBoundsMin; // 0x850 + Vector m_vAnimationBoundsMin; // 0x850 // MNetworkEnable - Vector m_vAnimationBoundsMax; // 0x85c + Vector m_vAnimationBoundsMax; // 0x85c // MNetworkEnable - float m_flStartTime; // 0x868 + float m_flStartTime; // 0x868 // MNetworkEnable - float m_flStartFrame; // 0x86c + float m_flStartFrame; // 0x86c }; // Alignment: 0 // Size: 0x838 -class C_World : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_World : public C_BaseModelEntity +{ public: // no members available }; // Alignment: 13 // Size: 0x998 -class CBaseAnimGraph : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseAnimGraph : public C_BaseModelEntity +{ public: // MNetworkEnable - PhysicsRagdollPose_t* m_pRagdollPose; // 0x848 + PhysicsRagdollPose_t* m_pRagdollPose; // 0x848 // MNetworkEnable // MNetworkChangeCallback "OnClientRagdollChanged" - bool m_bClientRagdoll; // 0x850 + bool m_bClientRagdoll; // 0x850 +private: + [[maybe_unused]] uint8_t __pad0851[0x3]; // 0x851 +public: // MNetworkEnable - Vector m_vecForce; // 0x854 + Vector m_vecForce; // 0x854 // MNetworkEnable - int32_t m_nForceBone; // 0x860 + int32_t m_nForceBone; // 0x860 // MNetworkEnable - bool m_bShouldAnimateDuringGameplayPause; // 0x864 + bool m_bShouldAnimateDuringGameplayPause; // 0x864 // MNetworkEnable - bool m_bAnimGraphUpdateEnabled; // 0x865 + bool m_bAnimGraphUpdateEnabled; // 0x865 // MNetworkEnable - bool m_bInitiallyPopulateInterpHistory; // 0x866 - float m_flMaxSlopeDistance; // 0x868 - Vector m_vLastSlopeCheckPos; // 0x86c - bool m_bHasAnimatedMaterialAttributes; // 0x878 - CBaseAnimGraph* m_pClientsideRagdoll; // 0x880 - bool m_builtRagdoll; // 0x888 - bool m_bSuppressAnimEventSounds; // 0x898 + bool m_bInitiallyPopulateInterpHistory; // 0x866 +private: + [[maybe_unused]] uint8_t __pad0867[0x1]; // 0x867 +public: + float m_flMaxSlopeDistance; // 0x868 + Vector m_vLastSlopeCheckPos; // 0x86c + bool m_bHasAnimatedMaterialAttributes; // 0x878 +private: + [[maybe_unused]] uint8_t __pad0879[0x7]; // 0x879 +public: + CBaseAnimGraph* m_pClientsideRagdoll; // 0x880 + bool m_builtRagdoll; // 0x888 +private: + [[maybe_unused]] uint8_t __pad0889[0xf]; // 0x889 +public: + bool m_bSuppressAnimEventSounds; // 0x898 }; // Alignment: 4 // Size: 0x9d8 -class CBaseProp : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseProp : public CBaseAnimGraph +{ public: - bool m_bModelOverrodeBlockLOS; // 0x998 - int32_t m_iShapeType; // 0x99c - bool m_bConformToCollisionBounds; // 0x9a0 - matrix3x4_t m_mPreferredCatchTransform; // 0x9a4 + bool m_bModelOverrodeBlockLOS; // 0x998 +private: + [[maybe_unused]] uint8_t __pad0999[0x3]; // 0x999 +public: + int32_t m_iShapeType; // 0x99c + bool m_bConformToCollisionBounds; // 0x9a0 +private: + [[maybe_unused]] uint8_t __pad09a1[0x3]; // 0x9a1 +public: + matrix3x4_t m_mPreferredCatchTransform; // 0x9a4 }; // Alignment: 30 // Size: 0xae8 -class C_BreakableProp : public CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BreakableProp : public CBaseProp +{ public: - CEntityIOOutput m_OnBreak; // 0x9e0 - CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0xa08 - CEntityIOOutput m_OnTakeDamage; // 0xa30 - float m_impactEnergyScale; // 0xa58 - int32_t m_iMinHealthDmg; // 0xa5c - float m_flPressureDelay; // 0xa60 - CHandle< C_BaseEntity > m_hBreaker; // 0xa64 - PerformanceMode_t m_PerformanceMode; // 0xa68 - float m_flDmgModBullet; // 0xa6c - float m_flDmgModClub; // 0xa70 - float m_flDmgModExplosive; // 0xa74 - float m_flDmgModFire; // 0xa78 - CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xa80 - CUtlSymbolLarge m_iszBasePropData; // 0xa88 - int32_t m_iInteractions; // 0xa90 - GameTime_t m_flPreventDamageBeforeTime; // 0xa94 - bool m_bHasBreakPiecesOrCommands; // 0xa98 - float m_explodeDamage; // 0xa9c - float m_explodeRadius; // 0xaa0 - float m_explosionDelay; // 0xaa8 - CUtlSymbolLarge m_explosionBuildupSound; // 0xab0 - CUtlSymbolLarge m_explosionCustomEffect; // 0xab8 - CUtlSymbolLarge m_explosionCustomSound; // 0xac0 - CUtlSymbolLarge m_explosionModifier; // 0xac8 - CHandle< C_BasePlayerPawn > m_hPhysicsAttacker; // 0xad0 - GameTime_t m_flLastPhysicsInfluenceTime; // 0xad4 - float m_flDefaultFadeScale; // 0xad8 - CHandle< C_BaseEntity > m_hLastAttacker; // 0xadc - CHandle< C_BaseEntity > m_hFlareEnt; // 0xae0 + CEntityIOOutput m_OnBreak; // 0x9e0 + CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0xa08 + CEntityIOOutput m_OnTakeDamage; // 0xa30 + float m_impactEnergyScale; // 0xa58 + int32_t m_iMinHealthDmg; // 0xa5c + float m_flPressureDelay; // 0xa60 + CHandle< C_BaseEntity > m_hBreaker; // 0xa64 + PerformanceMode_t m_PerformanceMode; // 0xa68 + float m_flDmgModBullet; // 0xa6c + float m_flDmgModClub; // 0xa70 + float m_flDmgModExplosive; // 0xa74 + float m_flDmgModFire; // 0xa78 +private: + [[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c +public: + CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xa80 + CUtlSymbolLarge m_iszBasePropData; // 0xa88 + int32_t m_iInteractions; // 0xa90 + GameTime_t m_flPreventDamageBeforeTime; // 0xa94 + bool m_bHasBreakPiecesOrCommands; // 0xa98 +private: + [[maybe_unused]] uint8_t __pad0a99[0x3]; // 0xa99 +public: + float m_explodeDamage; // 0xa9c + float m_explodeRadius; // 0xaa0 +private: + [[maybe_unused]] uint8_t __pad0aa4[0x4]; // 0xaa4 +public: + float m_explosionDelay; // 0xaa8 +private: + [[maybe_unused]] uint8_t __pad0aac[0x4]; // 0xaac +public: + CUtlSymbolLarge m_explosionBuildupSound; // 0xab0 + CUtlSymbolLarge m_explosionCustomEffect; // 0xab8 + CUtlSymbolLarge m_explosionCustomSound; // 0xac0 + CUtlSymbolLarge m_explosionModifier; // 0xac8 + CHandle< C_BasePlayerPawn > m_hPhysicsAttacker; // 0xad0 + GameTime_t m_flLastPhysicsInfluenceTime; // 0xad4 + float m_flDefaultFadeScale; // 0xad8 + CHandle< C_BaseEntity > m_hLastAttacker; // 0xadc + CHandle< C_BaseEntity > m_hFlareEnt; // 0xae0 // MNetworkEnable - bool m_noGhostCollision; // 0xae4 + bool m_noGhostCollision; // 0xae4 }; // Alignment: 25 // Size: 0xc00 -class C_DynamicProp : public C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_DynamicProp : public C_BreakableProp +{ public: // MNetworkEnable - bool m_bUseHitboxesForRenderBox; // 0xae8 + bool m_bUseHitboxesForRenderBox; // 0xae8 // MNetworkEnable - bool m_bUseAnimGraph; // 0xae9 - CEntityIOOutput m_pOutputAnimBegun; // 0xaf0 - CEntityIOOutput m_pOutputAnimOver; // 0xb18 - CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0xb40 - CEntityIOOutput m_OnAnimReachedStart; // 0xb68 - CEntityIOOutput m_OnAnimReachedEnd; // 0xb90 - CUtlSymbolLarge m_iszDefaultAnim; // 0xbb8 - AnimLoopMode_t m_nDefaultAnimLoopMode; // 0xbc0 - bool m_bAnimateOnServer; // 0xbc4 - bool m_bRandomizeCycle; // 0xbc5 - bool m_bStartDisabled; // 0xbc6 - bool m_bScriptedMovement; // 0xbc7 - bool m_bFiredStartEndOutput; // 0xbc8 - bool m_bForceNpcExclude; // 0xbc9 - bool m_bCreateNonSolid; // 0xbca - bool m_bIsOverrideProp; // 0xbcb - int32_t m_iInitialGlowState; // 0xbcc - int32_t m_nGlowRange; // 0xbd0 - int32_t m_nGlowRangeMin; // 0xbd4 - Color m_glowColor; // 0xbd8 - int32_t m_nGlowTeam; // 0xbdc - int32_t m_iCachedFrameCount; // 0xbe0 - Vector m_vecCachedRenderMins; // 0xbe4 - Vector m_vecCachedRenderMaxs; // 0xbf0 + bool m_bUseAnimGraph; // 0xae9 +private: + [[maybe_unused]] uint8_t __pad0aea[0x6]; // 0xaea +public: + CEntityIOOutput m_pOutputAnimBegun; // 0xaf0 + CEntityIOOutput m_pOutputAnimOver; // 0xb18 + CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0xb40 + CEntityIOOutput m_OnAnimReachedStart; // 0xb68 + CEntityIOOutput m_OnAnimReachedEnd; // 0xb90 + CUtlSymbolLarge m_iszDefaultAnim; // 0xbb8 + AnimLoopMode_t m_nDefaultAnimLoopMode; // 0xbc0 + bool m_bAnimateOnServer; // 0xbc4 + bool m_bRandomizeCycle; // 0xbc5 + bool m_bStartDisabled; // 0xbc6 + bool m_bScriptedMovement; // 0xbc7 + bool m_bFiredStartEndOutput; // 0xbc8 + bool m_bForceNpcExclude; // 0xbc9 + bool m_bCreateNonSolid; // 0xbca + bool m_bIsOverrideProp; // 0xbcb + int32_t m_iInitialGlowState; // 0xbcc + int32_t m_nGlowRange; // 0xbd0 + int32_t m_nGlowRangeMin; // 0xbd4 + Color m_glowColor; // 0xbd8 + int32_t m_nGlowTeam; // 0xbdc + int32_t m_iCachedFrameCount; // 0xbe0 + Vector m_vecCachedRenderMins; // 0xbe4 + Vector m_vecCachedRenderMaxs; // 0xbf0 }; // Alignment: 0 // Size: 0xc00 -class C_DynamicPropAlias_dynamic_prop : public C_DynamicProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_DynamicPropAlias_dynamic_prop : public C_DynamicProp +{ public: // no members available }; // Alignment: 0 // Size: 0xc00 -class C_DynamicPropAlias_prop_dynamic_override : public C_DynamicProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_DynamicPropAlias_prop_dynamic_override : public C_DynamicProp +{ public: // no members available }; // Alignment: 0 // Size: 0xc00 -class C_DynamicPropAlias_cable_dynamic : public C_DynamicProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_DynamicPropAlias_cable_dynamic : public C_DynamicProp +{ public: // no members available }; // Alignment: 9 // Size: 0xa68 -class C_ColorCorrectionVolume : public C_BaseTrigger, C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_ColorCorrectionVolume : public C_BaseTrigger +{ public: - float m_LastEnterWeight; // 0x840 - float m_LastEnterTime; // 0x844 - float m_LastExitWeight; // 0x848 - float m_LastExitTime; // 0x84c + float m_LastEnterWeight; // 0x840 + float m_LastEnterTime; // 0x844 + float m_LastExitWeight; // 0x848 + float m_LastExitTime; // 0x84c // MNetworkEnable - bool m_bEnabled; // 0x850 + bool m_bEnabled; // 0x850 +private: + [[maybe_unused]] uint8_t __pad0851[0x3]; // 0x851 +public: // MNetworkEnable - float m_MaxWeight; // 0x854 + float m_MaxWeight; // 0x854 // MNetworkEnable - float m_FadeDuration; // 0x858 + float m_FadeDuration; // 0x858 // MNetworkEnable - float m_Weight; // 0x85c + float m_Weight; // 0x85c // MNetworkEnable - char[512] m_lookupFilename; // 0x860 + char m_lookupFilename[512]; // 0x860 }; // Alignment: 8 // Size: 0xd00 -class C_FuncMonitor : public C_FuncBrush, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_FuncMonitor : public C_FuncBrush +{ public: // MNetworkEnable - CUtlString m_targetCamera; // 0x838 + CUtlString m_targetCamera; // 0x838 // MNetworkEnable - int32_t m_nResolutionEnum; // 0x840 + int32_t m_nResolutionEnum; // 0x840 // MNetworkEnable - bool m_bRenderShadows; // 0x844 + bool m_bRenderShadows; // 0x844 // MNetworkEnable - bool m_bUseUniqueColorTarget; // 0x845 + bool m_bUseUniqueColorTarget; // 0x845 +private: + [[maybe_unused]] uint8_t __pad0846[0x2]; // 0x846 +public: // MNetworkEnable - CUtlString m_brushModelName; // 0x848 + CUtlString m_brushModelName; // 0x848 // MNetworkEnable - CHandle< C_BaseEntity > m_hTargetCamera; // 0x850 + CHandle< C_BaseEntity > m_hTargetCamera; // 0x850 // MNetworkEnable - bool m_bEnabled; // 0x854 + bool m_bEnabled; // 0x854 // MNetworkEnable - bool m_bDraw3DSkybox; // 0x855 + bool m_bDraw3DSkybox; // 0x855 }; // Alignment: 0 // Size: 0x838 -class C_FuncMoveLinear : public C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_FuncMoveLinear : public C_BaseToggle +{ public: // no members available }; // Alignment: 2 // Size: 0x9c8 -class C_PhysMagnet : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PhysMagnet : public CBaseAnimGraph +{ public: - CUtlVector< int32 > m_aAttachedObjectsFromServer; // 0x998 - CUtlVector< CHandle< C_BaseEntity > > m_aAttachedObjects; // 0x9b0 + CUtlVector< int32 > m_aAttachedObjectsFromServer; // 0x998 + CUtlVector< CHandle< C_BaseEntity > > m_aAttachedObjects; // 0x9b0 }; // Alignment: 13 // Size: 0x9e8 -class C_PointCommentaryNode : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointCommentaryNode : public CBaseAnimGraph +{ public: // MNetworkEnable - bool m_bActive; // 0x9a0 - bool m_bWasActive; // 0x9a1 - GameTime_t m_flEndTime; // 0x9a4 + bool m_bActive; // 0x9a0 + bool m_bWasActive; // 0x9a1 +private: + [[maybe_unused]] uint8_t __pad09a2[0x2]; // 0x9a2 +public: + GameTime_t m_flEndTime; // 0x9a4 // MNetworkEnable - GameTime_t m_flStartTime; // 0x9a8 + GameTime_t m_flStartTime; // 0x9a8 // MNetworkEnable - float m_flStartTimeInCommentary; // 0x9ac + float m_flStartTimeInCommentary; // 0x9ac // MNetworkEnable - CUtlSymbolLarge m_iszCommentaryFile; // 0x9b0 + CUtlSymbolLarge m_iszCommentaryFile; // 0x9b0 // MNetworkEnable - CUtlSymbolLarge m_iszTitle; // 0x9b8 + CUtlSymbolLarge m_iszTitle; // 0x9b8 // MNetworkEnable - CUtlSymbolLarge m_iszSpeakers; // 0x9c0 + CUtlSymbolLarge m_iszSpeakers; // 0x9c0 // MNetworkEnable - int32_t m_iNodeNumber; // 0x9c8 + int32_t m_iNodeNumber; // 0x9c8 // MNetworkEnable - int32_t m_iNodeNumberMax; // 0x9cc + int32_t m_iNodeNumberMax; // 0x9cc // MNetworkEnable - bool m_bListenedTo; // 0x9d0 + bool m_bListenedTo; // 0x9d0 +private: + [[maybe_unused]] uint8_t __pad09d1[0xf]; // 0x9d1 +public: // MNetworkEnable - CHandle< C_BaseEntity > m_hViewPosition; // 0x9e0 - bool m_bRestartAfterRestore; // 0x9e4 + CHandle< C_BaseEntity > m_hViewPosition; // 0x9e0 + bool m_bRestartAfterRestore; // 0x9e4 }; // Alignment: 0 // Size: 0x998 -class C_WaterBullet : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WaterBullet : public CBaseAnimGraph +{ public: // no members available }; // Alignment: 1 // Size: 0x840 -class C_BaseDoor : public C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BaseDoor : public C_BaseToggle +{ public: // MNetworkEnable - bool m_bIsUsable; // 0x838 + bool m_bIsUsable; // 0x838 }; // Alignment: 19 // Size: 0xb28 -class C_BaseFlex : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BaseFlex : public CBaseAnimGraph +{ public: // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags - C_NetworkUtlVectorBase< float32 > m_flexWeight; // 0x9a0 + C_NetworkUtlVectorBase< float32 > m_flexWeight; // 0x9a0 // MNetworkEnable - bool m_blinktoggle; // 0x9b8 + bool m_blinktoggle; // 0x9b8 +private: + [[maybe_unused]] uint8_t __pad09b9[0x7]; // 0x9b9 +public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnViewTargetChanged" - Vector m_vLookTargetPosition; // 0x9c0 - int32_t m_nLastFlexUpdateFrameCount; // 0xa30 - Vector m_CachedViewTarget; // 0xa34 - uint32_t m_nNextSceneEventId; // 0xa40 - int32_t m_iBlink; // 0xa44 - float m_blinktime; // 0xa48 - bool m_prevblinktoggle; // 0xa4c - int32_t m_iJawOpen; // 0xa50 - float m_flJawOpenAmount; // 0xa54 - float m_flBlinkAmount; // 0xa58 - AttachmentHandle_t m_iMouthAttachment; // 0xa5c - AttachmentHandle_t m_iEyeAttachment; // 0xa5d - bool m_bResetFlexWeightsOnModelChange; // 0xa5e - int32_t m_nEyeOcclusionRendererBone; // 0xa78 - matrix3x4_t m_mEyeOcclusionRendererCameraToBoneTransform; // 0xa7c - Vector m_vEyeOcclusionRendererHalfExtent; // 0xaac - C_BaseFlex::Emphasized_Phoneme[3] m_PhonemeClasses; // 0xac8 + Vector m_vLookTargetPosition; // 0x9c0 +private: + [[maybe_unused]] uint8_t __pad09cc[0x64]; // 0x9cc +public: + int32_t m_nLastFlexUpdateFrameCount; // 0xa30 + Vector m_CachedViewTarget; // 0xa34 + uint32_t m_nNextSceneEventId; // 0xa40 + int32_t m_iBlink; // 0xa44 + float m_blinktime; // 0xa48 + bool m_prevblinktoggle; // 0xa4c +private: + [[maybe_unused]] uint8_t __pad0a4d[0x3]; // 0xa4d +public: + int32_t m_iJawOpen; // 0xa50 + float m_flJawOpenAmount; // 0xa54 + float m_flBlinkAmount; // 0xa58 + AttachmentHandle_t m_iMouthAttachment; // 0xa5c + AttachmentHandle_t m_iEyeAttachment; // 0xa5d + bool m_bResetFlexWeightsOnModelChange; // 0xa5e +private: + [[maybe_unused]] uint8_t __pad0a5f[0x19]; // 0xa5f +public: + int32_t m_nEyeOcclusionRendererBone; // 0xa78 + matrix3x4_t m_mEyeOcclusionRendererCameraToBoneTransform; // 0xa7c + Vector m_vEyeOcclusionRendererHalfExtent; // 0xaac +private: + [[maybe_unused]] uint8_t __pad0ab8[0x10]; // 0xab8 +public: + C_BaseFlex::Emphasized_Phoneme m_PhonemeClasses[3]; // 0xac8 }; // Alignment: 14 // Size: 0xa30 -class C_ClientRagdoll : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_ClientRagdoll : public CBaseAnimGraph +{ public: - bool m_bFadeOut; // 0x998 - bool m_bImportant; // 0x999 - GameTime_t m_flEffectTime; // 0x99c - GameTime_t m_gibDespawnTime; // 0x9a0 - int32_t m_iCurrentFriction; // 0x9a4 - int32_t m_iMinFriction; // 0x9a8 - int32_t m_iMaxFriction; // 0x9ac - int32_t m_iFrictionAnimState; // 0x9b0 - bool m_bReleaseRagdoll; // 0x9b4 - AttachmentHandle_t m_iEyeAttachment; // 0x9b5 - bool m_bFadingOut; // 0x9b6 - float32[10] m_flScaleEnd; // 0x9b8 - GameTime_t[10] m_flScaleTimeStart; // 0x9e0 - GameTime_t[10] m_flScaleTimeEnd; // 0xa08 + bool m_bFadeOut; // 0x998 + bool m_bImportant; // 0x999 +private: + [[maybe_unused]] uint8_t __pad099a[0x2]; // 0x99a +public: + GameTime_t m_flEffectTime; // 0x99c + GameTime_t m_gibDespawnTime; // 0x9a0 + int32_t m_iCurrentFriction; // 0x9a4 + int32_t m_iMinFriction; // 0x9a8 + int32_t m_iMaxFriction; // 0x9ac + int32_t m_iFrictionAnimState; // 0x9b0 + bool m_bReleaseRagdoll; // 0x9b4 + AttachmentHandle_t m_iEyeAttachment; // 0x9b5 + bool m_bFadingOut; // 0x9b6 +private: + [[maybe_unused]] uint8_t __pad09b7[0x1]; // 0x9b7 +public: + float m_flScaleEnd[10]; // 0x9b8 + GameTime_t m_flScaleTimeStart[10]; // 0x9e0 + GameTime_t m_flScaleTimeEnd[10]; // 0xa08 }; // Alignment: 8 // Size: 0x890 -class C_Precipitation : public C_BaseTrigger, C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Precipitation : public C_BaseTrigger +{ public: - float m_flDensity; // 0x840 - float m_flParticleInnerDist; // 0x850 - char* m_pParticleDef; // 0x858 - TimedEvent[1] m_tParticlePrecipTraceTimer; // 0x880 - bool[1] m_bActiveParticlePrecipEmitter; // 0x888 - bool m_bParticlePrecipInitialized; // 0x889 - bool m_bHasSimulatedSinceLastSceneObjectUpdate; // 0x88a - int32_t m_nAvailableSheetSequencesMaxIndex; // 0x88c + float m_flDensity; // 0x840 +private: + [[maybe_unused]] uint8_t __pad0844[0xc]; // 0x844 +public: + float m_flParticleInnerDist; // 0x850 +private: + [[maybe_unused]] uint8_t __pad0854[0x4]; // 0x854 +public: + char* m_pParticleDef; // 0x858 +private: + [[maybe_unused]] uint8_t __pad0860[0x20]; // 0x860 +public: + TimedEvent m_tParticlePrecipTraceTimer[1]; // 0x880 + bool m_bActiveParticlePrecipEmitter[1]; // 0x888 + bool m_bParticlePrecipInitialized; // 0x889 + bool m_bHasSimulatedSinceLastSceneObjectUpdate; // 0x88a +private: + [[maybe_unused]] uint8_t __pad088b[0x1]; // 0x88b +public: + int32_t m_nAvailableSheetSequencesMaxIndex; // 0x88c }; // Alignment: 2 // Size: 0x978 -class C_FireSprite : public C_Sprite, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_FireSprite : public C_Sprite +{ public: - Vector m_vecMoveDir; // 0x968 - bool m_bFadeFromAbove; // 0x974 + Vector m_vecMoveDir; // 0x968 + bool m_bFadeFromAbove; // 0x974 }; // Alignment: 0 // Size: 0x968 -class C_FireFromAboveSprite : public C_Sprite, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_FireFromAboveSprite : public C_Sprite +{ public: // no members available }; // Alignment: 23 // Size: 0xa88 -class C_Fish : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Fish : public CBaseAnimGraph +{ public: - Vector m_pos; // 0x998 - Vector m_vel; // 0x9a4 - QAngle m_angles; // 0x9b0 - int32_t m_localLifeState; // 0x9bc - float m_deathDepth; // 0x9c0 - float m_deathAngle; // 0x9c4 - float m_buoyancy; // 0x9c8 - CountdownTimer m_wiggleTimer; // 0x9d0 - float m_wigglePhase; // 0x9e8 - float m_wiggleRate; // 0x9ec - Vector m_actualPos; // 0x9f0 - QAngle m_actualAngles; // 0x9fc + Vector m_pos; // 0x998 + Vector m_vel; // 0x9a4 + QAngle m_angles; // 0x9b0 + int32_t m_localLifeState; // 0x9bc + float m_deathDepth; // 0x9c0 + float m_deathAngle; // 0x9c4 + float m_buoyancy; // 0x9c8 +private: + [[maybe_unused]] uint8_t __pad09cc[0x4]; // 0x9cc +public: + CountdownTimer m_wiggleTimer; // 0x9d0 + float m_wigglePhase; // 0x9e8 + float m_wiggleRate; // 0x9ec + Vector m_actualPos; // 0x9f0 + QAngle m_actualAngles; // 0x9fc // MNetworkEnable // MNetworkEncoder - Vector m_poolOrigin; // 0xa08 + Vector m_poolOrigin; // 0xa08 // MNetworkEnable - float m_waterLevel; // 0xa14 - bool m_gotUpdate; // 0xa18 + float m_waterLevel; // 0xa14 + bool m_gotUpdate; // 0xa18 +private: + [[maybe_unused]] uint8_t __pad0a19[0x3]; // 0xa19 +public: // MNetworkEnable // MNetworkSerializer "fish_pos_x" // MNetworkChangeCallback "OnPosChanged" - float m_x; // 0xa1c + float m_x; // 0xa1c // MNetworkEnable // MNetworkSerializer "fish_pos_y" // MNetworkChangeCallback "OnPosChanged" - float m_y; // 0xa20 + float m_y; // 0xa20 // MNetworkEnable // MNetworkSerializer "fish_pos_z" // MNetworkChangeCallback "OnPosChanged" - float m_z; // 0xa24 + float m_z; // 0xa24 // MNetworkEnable // MNetworkSerializer "angle_normalize_positive" // MNetworkBitCount "7" @@ -6753,1959 +7839,2325 @@ public: // MNetworkMaxValue "360" // MNetworkEncodeFlags // MNetworkChangeCallback "OnAngChanged" - float m_angle; // 0xa28 - float32[20] m_errorHistory; // 0xa2c - int32_t m_errorHistoryIndex; // 0xa7c - int32_t m_errorHistoryCount; // 0xa80 - float m_averageError; // 0xa84 + float m_angle; // 0xa28 + float m_errorHistory[20]; // 0xa2c + int32_t m_errorHistoryIndex; // 0xa7c + int32_t m_errorHistoryCount; // 0xa80 + float m_averageError; // 0xa84 }; // Alignment: 1 // Size: 0xaf0 -class C_PhysicsProp : public C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PhysicsProp : public C_BreakableProp +{ public: // MNetworkEnable - bool m_bAwake; // 0xae8 + bool m_bAwake; // 0xae8 }; // Alignment: 7 // Size: 0xc40 -class C_BasePropDoor : public C_DynamicProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BasePropDoor : public C_DynamicProp +{ public: // MNetworkEnable - DoorState_t m_eDoorState; // 0xc10 - bool m_modelChanged; // 0xc14 + DoorState_t m_eDoorState; // 0xc10 + bool m_modelChanged; // 0xc14 // MNetworkEnable - bool m_bLocked; // 0xc15 + bool m_bLocked; // 0xc15 +private: + [[maybe_unused]] uint8_t __pad0c16[0x2]; // 0xc16 +public: // MNetworkEnable - Vector m_closedPosition; // 0xc18 + Vector m_closedPosition; // 0xc18 // MNetworkEnable - QAngle m_closedAngles; // 0xc24 + QAngle m_closedAngles; // 0xc24 // MNetworkEnable - CHandle< C_BasePropDoor > m_hMaster; // 0xc30 - Vector m_vWhereToSetLightingOrigin; // 0xc34 + CHandle< C_BasePropDoor > m_hMaster; // 0xc30 + Vector m_vWhereToSetLightingOrigin; // 0xc34 }; // Alignment: 12 // Size: 0xb20 -class C_PhysPropClientside : public C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PhysPropClientside : public C_BreakableProp +{ public: - GameTime_t m_flTouchDelta; // 0xae8 - GameTime_t m_fDeathTime; // 0xaec - float m_impactEnergyScale; // 0xaf0 - float m_inertiaScale; // 0xaf4 - float m_flDmgModBullet; // 0xaf8 - float m_flDmgModClub; // 0xafc - float m_flDmgModExplosive; // 0xb00 - float m_flDmgModFire; // 0xb04 - CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xb08 - CUtlSymbolLarge m_iszBasePropData; // 0xb10 - int32_t m_iInteractions; // 0xb18 - bool m_bHasBreakPiecesOrCommands; // 0xb1c + GameTime_t m_flTouchDelta; // 0xae8 + GameTime_t m_fDeathTime; // 0xaec + float m_impactEnergyScale; // 0xaf0 + float m_inertiaScale; // 0xaf4 + float m_flDmgModBullet; // 0xaf8 + float m_flDmgModClub; // 0xafc + float m_flDmgModExplosive; // 0xb00 + float m_flDmgModFire; // 0xb04 + CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xb08 + CUtlSymbolLarge m_iszBasePropData; // 0xb10 + int32_t m_iInteractions; // 0xb18 + bool m_bHasBreakPiecesOrCommands; // 0xb1c }; // Alignment: 8 // Size: 0xa10 -class C_RagdollProp : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_RagdollProp : public CBaseAnimGraph +{ public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "ragAnglesChanged" - C_NetworkUtlVectorBase< Vector > m_ragPos; // 0x9a0 + C_NetworkUtlVectorBase< Vector > m_ragPos; // 0x9a0 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "13" // MNetworkChangeCallback "ragAnglesChanged" - C_NetworkUtlVectorBase< QAngle > m_ragAngles; // 0x9b8 + C_NetworkUtlVectorBase< QAngle > m_ragAngles; // 0x9b8 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags - float m_flBlendWeight; // 0x9d0 + float m_flBlendWeight; // 0x9d0 // MNetworkEnable - CHandle< C_BaseEntity > m_hRagdollSource; // 0x9d4 - AttachmentHandle_t m_iEyeAttachment; // 0x9d8 - float m_flBlendWeightCurrent; // 0x9dc - CUtlVector< int32 > m_parentPhysicsBoneIndices; // 0x9e0 - CUtlVector< int32 > m_worldSpaceBoneComputationOrder; // 0x9f8 + CHandle< C_BaseEntity > m_hRagdollSource; // 0x9d4 + AttachmentHandle_t m_iEyeAttachment; // 0x9d8 +private: + [[maybe_unused]] uint8_t __pad09d9[0x3]; // 0x9d9 +public: + float m_flBlendWeightCurrent; // 0x9dc + CUtlVector< int32 > m_parentPhysicsBoneIndices; // 0x9e0 + CUtlVector< int32 > m_worldSpaceBoneComputationOrder; // 0x9f8 }; // Alignment: 25 // Size: 0xa58 -class C_LocalTempEntity : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_LocalTempEntity : public CBaseAnimGraph +{ public: - int32_t flags; // 0x9b0 - GameTime_t die; // 0x9b4 - float m_flFrameMax; // 0x9b8 - float x; // 0x9bc - float y; // 0x9c0 - float fadeSpeed; // 0x9c4 - float bounceFactor; // 0x9c8 - int32_t hitSound; // 0x9cc - int32_t priority; // 0x9d0 - Vector tentOffset; // 0x9d4 - QAngle m_vecTempEntAngVelocity; // 0x9e0 - int32_t tempent_renderamt; // 0x9ec - Vector m_vecNormal; // 0x9f0 - float m_flSpriteScale; // 0x9fc - int32_t m_nFlickerFrame; // 0xa00 - float m_flFrameRate; // 0xa04 - float m_flFrame; // 0xa08 - char* m_pszImpactEffect; // 0xa10 - char* m_pszParticleEffect; // 0xa18 - bool m_bParticleCollision; // 0xa20 - int32_t m_iLastCollisionFrame; // 0xa24 - Vector m_vLastCollisionOrigin; // 0xa28 - Vector m_vecTempEntVelocity; // 0xa34 - Vector m_vecPrevAbsOrigin; // 0xa40 - Vector m_vecTempEntAcceleration; // 0xa4c + int32_t flags; // 0x9b0 + GameTime_t die; // 0x9b4 + float m_flFrameMax; // 0x9b8 + float x; // 0x9bc + float y; // 0x9c0 + float fadeSpeed; // 0x9c4 + float bounceFactor; // 0x9c8 + int32_t hitSound; // 0x9cc + int32_t priority; // 0x9d0 + Vector tentOffset; // 0x9d4 + QAngle m_vecTempEntAngVelocity; // 0x9e0 + int32_t tempent_renderamt; // 0x9ec + Vector m_vecNormal; // 0x9f0 + float m_flSpriteScale; // 0x9fc + int32_t m_nFlickerFrame; // 0xa00 + float m_flFrameRate; // 0xa04 + float m_flFrame; // 0xa08 +private: + [[maybe_unused]] uint8_t __pad0a0c[0x4]; // 0xa0c +public: + char* m_pszImpactEffect; // 0xa10 + char* m_pszParticleEffect; // 0xa18 + bool m_bParticleCollision; // 0xa20 +private: + [[maybe_unused]] uint8_t __pad0a21[0x3]; // 0xa21 +public: + int32_t m_iLastCollisionFrame; // 0xa24 + Vector m_vLastCollisionOrigin; // 0xa28 + Vector m_vecTempEntVelocity; // 0xa34 + Vector m_vecPrevAbsOrigin; // 0xa40 + Vector m_vecTempEntAcceleration; // 0xa4c }; // Alignment: 1 // Size: 0xb58 -class C_ShatterGlassShardPhysics : public C_PhysicsProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_ShatterGlassShardPhysics : public C_PhysicsProp +{ public: // MNetworkEnable - shard_model_desc_t m_ShardDesc; // 0xaf8 + shard_model_desc_t m_ShardDesc; // 0xaf8 }; // Alignment: 1 // Size: 0x9c8 -class C_PointHintUIButtonHighlightModel : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointHintUIButtonHighlightModel : public CBaseAnimGraph +{ public: - matrix3x4_t m_mComponentTransform; // 0x998 + matrix3x4_t m_mComponentTransform; // 0x998 }; // Alignment: 1 // Size: 0x9c8 -class C_PointHintUIArrowHighlightModel : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointHintUIArrowHighlightModel : public CBaseAnimGraph +{ public: - matrix3x4_t m_mArrowLocalTransform; // 0x998 + matrix3x4_t m_mArrowLocalTransform; // 0x998 }; // Alignment: 4 // Size: 0xa30 -class C_PointHintUIHighlightModel : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PointHintUIHighlightModel : public CBaseAnimGraph +{ public: - CUtlVector< matrix3x4a_t > m_vecRenderModelComponentTransforms; // 0x9c8 - int32_t m_nTrackedDeviceIndex; // 0x9e0 - matrix3x4_t m_matLocalHighlight; // 0x9f8 - bool m_bVisible; // 0xa28 + CUtlVector< matrix3x4a_t > m_vecRenderModelComponentTransforms; // 0x9c8 + int32_t m_nTrackedDeviceIndex; // 0x9e0 +private: + [[maybe_unused]] uint8_t __pad09e4[0x14]; // 0x9e4 +public: + matrix3x4_t m_matLocalHighlight; // 0x9f8 + bool m_bVisible; // 0xa28 }; // Alignment: 20 // Size: 0x1070 -class C_EconEntity : public C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_EconEntity : public C_BaseFlex +{ +public: + float m_flFlexDelayTime; // 0xb38 +private: + [[maybe_unused]] uint8_t __pad0b3c[0x4]; // 0xb3c +public: + float32* m_flFlexDelayedWeight; // 0xb40 + bool m_bAttributesInitialized; // 0xb48 +private: + [[maybe_unused]] uint8_t __pad0b49[0x7]; // 0xb49 public: - float m_flFlexDelayTime; // 0xb38 - float32* m_flFlexDelayedWeight; // 0xb40 - bool m_bAttributesInitialized; // 0xb48 // MNetworkEnable - C_AttributeContainer m_AttributeManager; // 0xb50 + C_AttributeContainer m_AttributeManager; // 0xb50 // MNetworkEnable - uint32_t m_OriginalOwnerXuidLow; // 0xff8 + uint32_t m_OriginalOwnerXuidLow; // 0xff8 // MNetworkEnable - uint32_t m_OriginalOwnerXuidHigh; // 0xffc + uint32_t m_OriginalOwnerXuidHigh; // 0xffc // MNetworkEnable - int32_t m_nFallbackPaintKit; // 0x1000 + int32_t m_nFallbackPaintKit; // 0x1000 // MNetworkEnable - int32_t m_nFallbackSeed; // 0x1004 + int32_t m_nFallbackSeed; // 0x1004 // MNetworkEnable - float m_flFallbackWear; // 0x1008 + float m_flFallbackWear; // 0x1008 // MNetworkEnable - int32_t m_nFallbackStatTrak; // 0x100c - bool m_bClientside; // 0x1010 - bool m_bParticleSystemsCreated; // 0x1011 - CUtlVector< int32 > m_vecAttachedParticles; // 0x1018 - CHandle< CBaseAnimGraph > m_hViewmodelAttachment; // 0x1030 - int32_t m_iOldTeam; // 0x1034 - bool m_bAttachmentDirty; // 0x1038 - int32_t m_nUnloadedModelIndex; // 0x103c - int32_t m_iNumOwnerValidationRetries; // 0x1040 - CHandle< C_BaseEntity > m_hOldProvidee; // 0x1050 - CUtlVector< C_EconEntity::AttachedModelData_t > m_vecAttachedModels; // 0x1058 + int32_t m_nFallbackStatTrak; // 0x100c + bool m_bClientside; // 0x1010 + bool m_bParticleSystemsCreated; // 0x1011 +private: + [[maybe_unused]] uint8_t __pad1012[0x6]; // 0x1012 +public: + CUtlVector< int32 > m_vecAttachedParticles; // 0x1018 + CHandle< CBaseAnimGraph > m_hViewmodelAttachment; // 0x1030 + int32_t m_iOldTeam; // 0x1034 + bool m_bAttachmentDirty; // 0x1038 +private: + [[maybe_unused]] uint8_t __pad1039[0x3]; // 0x1039 +public: + int32_t m_nUnloadedModelIndex; // 0x103c + int32_t m_iNumOwnerValidationRetries; // 0x1040 +private: + [[maybe_unused]] uint8_t __pad1044[0xc]; // 0x1044 +public: + CHandle< C_BaseEntity > m_hOldProvidee; // 0x1050 +private: + [[maybe_unused]] uint8_t __pad1054[0x4]; // 0x1054 +public: + CUtlVector< C_EconEntity::AttachedModelData_t > m_vecAttachedModels; // 0x1058 }; // Alignment: 2 // Size: 0x1078 -class C_EconWearable : public C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_EconWearable : public C_EconEntity +{ public: - int32_t m_nForceSkin; // 0x1070 - bool m_bAlwaysAllow; // 0x1074 + int32_t m_nForceSkin; // 0x1070 + bool m_bAlwaysAllow; // 0x1074 }; // Alignment: 12 // Size: 0xb78 -class C_BaseGrenade : public C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BaseGrenade : public C_BaseFlex +{ public: - bool m_bHasWarnedAI; // 0xb28 - bool m_bIsSmokeGrenade; // 0xb29 + bool m_bHasWarnedAI; // 0xb28 + bool m_bIsSmokeGrenade; // 0xb29 // MNetworkEnable - bool m_bIsLive; // 0xb2a + bool m_bIsLive; // 0xb2a +private: + [[maybe_unused]] uint8_t __pad0b2b[0x1]; // 0xb2b +public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "1024" // MNetworkEncodeFlags - float m_DmgRadius; // 0xb2c + float m_DmgRadius; // 0xb2c // MNetworkEnable - GameTime_t m_flDetonateTime; // 0xb30 - float m_flWarnAITime; // 0xb34 + GameTime_t m_flDetonateTime; // 0xb30 + float m_flWarnAITime; // 0xb34 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags - float m_flDamage; // 0xb38 - CUtlSymbolLarge m_iszBounceSound; // 0xb40 - CUtlString m_ExplosionSound; // 0xb48 + float m_flDamage; // 0xb38 +private: + [[maybe_unused]] uint8_t __pad0b3c[0x4]; // 0xb3c +public: + CUtlSymbolLarge m_iszBounceSound; // 0xb40 + CUtlString m_ExplosionSound; // 0xb48 +private: + [[maybe_unused]] uint8_t __pad0b50[0x4]; // 0xb50 +public: // MNetworkEnable - CHandle< C_BaseEntity > m_hThrower; // 0xb54 - GameTime_t m_flNextAttack; // 0xb70 - CHandle< C_BaseEntity > m_hOriginalThrower; // 0xb74 + CHandle< C_BaseEntity > m_hThrower; // 0xb54 +private: + [[maybe_unused]] uint8_t __pad0b58[0x18]; // 0xb58 +public: + GameTime_t m_flNextAttack; // 0xb70 + CHandle< C_BaseEntity > m_hOriginalThrower; // 0xb74 }; // Alignment: 2 // Size: 0x9a8 -class C_BRC4Target : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BRC4Target : public CBaseAnimGraph +{ public: // MNetworkEnable - bool m_bBrokenOpen; // 0x9a0 + bool m_bBrokenOpen; // 0x9a0 +private: + [[maybe_unused]] uint8_t __pad09a1[0x3]; // 0x9a1 +public: // MNetworkEnable - float m_flRadius; // 0x9a4 + float m_flRadius; // 0x9a4 }; // Alignment: 6 // Size: 0x9c0 -class C_ParadropChopper : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_ParadropChopper : public CBaseAnimGraph +{ public: - Vector m_vecLastRopeTargetPos; // 0x9a0 - GameTime_t m_flLastRopeTime; // 0x9ac - int32_t m_nRappelABone; // 0x9b0 - int32_t m_nRappelBBone; // 0x9b4 + Vector m_vecLastRopeTargetPos; // 0x9a0 + GameTime_t m_flLastRopeTime; // 0x9ac + int32_t m_nRappelABone; // 0x9b0 + int32_t m_nRappelBBone; // 0x9b4 // MNetworkEnable - CHandle< C_BaseEntity > m_hCallingPlayer; // 0x9b8 - bool m_bCalledByPlayer; // 0x9bc + CHandle< C_BaseEntity > m_hCallingPlayer; // 0x9b8 + bool m_bCalledByPlayer; // 0x9bc }; // Alignment: 0 // Size: 0x998 -class C_SurvivalSpawnChopper : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_SurvivalSpawnChopper : public CBaseAnimGraph +{ public: // no members available }; // Alignment: 12 // Size: 0x9f0 -class C_Dronegun : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Dronegun : public CBaseAnimGraph +{ public: // MNetworkEnable - Vector m_vecAttentionTarget; // 0x9a0 + Vector m_vecAttentionTarget; // 0x9a0 // MNetworkEnable - Vector m_vecTargetOffset; // 0x9ac + Vector m_vecTargetOffset; // 0x9ac // MNetworkEnable - bool m_bHasTarget; // 0x9b8 - Vector m_vecAttentionCurrent; // 0x9bc - int32_t m_nPoseParamPitch; // 0x9c8 - int32_t m_nPoseParamYaw; // 0x9cc - bool m_bVarInit; // 0x9d0 - AttachmentHandle_t m_nAttachMuzzle; // 0x9d1 - GameTime_t m_flLastClientThinkTime; // 0x9d4 - GameTime_t m_flNextSpark; // 0x9d8 - int32_t m_nBoneOverrideIndex; // 0x9dc - Vector m_vecLaserTracePos; // 0x9e0 + bool m_bHasTarget; // 0x9b8 +private: + [[maybe_unused]] uint8_t __pad09b9[0x3]; // 0x9b9 +public: + Vector m_vecAttentionCurrent; // 0x9bc + int32_t m_nPoseParamPitch; // 0x9c8 + int32_t m_nPoseParamYaw; // 0x9cc + bool m_bVarInit; // 0x9d0 + AttachmentHandle_t m_nAttachMuzzle; // 0x9d1 +private: + [[maybe_unused]] uint8_t __pad09d2[0x2]; // 0x9d2 +public: + GameTime_t m_flLastClientThinkTime; // 0x9d4 + GameTime_t m_flNextSpark; // 0x9d8 + int32_t m_nBoneOverrideIndex; // 0x9dc + Vector m_vecLaserTracePos; // 0x9e0 }; // Alignment: 15 // Size: 0xd50 -class C_Drone : public C_PhysicsProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Drone : public C_PhysicsProp +{ public: - CUtlVector< Vector > m_vecClientSideTrailPositions; // 0xb00 + CUtlVector< Vector > m_vecClientSideTrailPositions; // 0xb00 // MNetworkEnable - CEntityHandle m_hMoveToThisEntity; // 0xb18 + CEntityHandle m_hMoveToThisEntity; // 0xb18 // MNetworkEnable - CEntityHandle m_hDeliveryCargo; // 0xb1c + CEntityHandle m_hDeliveryCargo; // 0xb1c // MNetworkEnable - CEntityHandle m_hRecentCargo; // 0xb20 + CEntityHandle m_hRecentCargo; // 0xb20 // MNetworkEnable - bool m_bPilotTakeoverAllowed; // 0xb24 + bool m_bPilotTakeoverAllowed; // 0xb24 +private: + [[maybe_unused]] uint8_t __pad0b25[0x3]; // 0xb25 +public: // MNetworkEnable - CEntityHandle m_hPotentialCargo; // 0xb28 + CEntityHandle m_hPotentialCargo; // 0xb28 // MNetworkEnable - CEntityHandle m_hCurrentPilot; // 0xb2c + CEntityHandle m_hCurrentPilot; // 0xb2c // MNetworkEnable - Vector[24] m_vecTagPositions; // 0xb30 + Vector m_vecTagPositions[24]; // 0xb30 // MNetworkEnable - int32[24] m_vecTagIncrements; // 0xc50 - GameTime_t m_flLastTimeCargoWasAttached; // 0xcb0 - Vector[4] m_vecLastKnownCargoAttachPositions; // 0xcb4 - Vector m_vecThrusterLastPos; // 0xce4 - Vector m_vecThrusterSmoothVel; // 0xcf0 - Vector m_vecThrusterSmoothAccel; // 0xcfc - float m_flJammedEffectAmount; // 0xd08 + int32_t m_vecTagIncrements[24]; // 0xc50 + GameTime_t m_flLastTimeCargoWasAttached; // 0xcb0 + Vector m_vecLastKnownCargoAttachPositions[4]; // 0xcb4 + Vector m_vecThrusterLastPos; // 0xce4 + Vector m_vecThrusterSmoothVel; // 0xcf0 + Vector m_vecThrusterSmoothAccel; // 0xcfc + float m_flJammedEffectAmount; // 0xd08 }; // Alignment: 0 // Size: 0xaf0 -class C_CSPropExplodingBarrel : public C_PhysicsProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_CSPropExplodingBarrel : public C_PhysicsProp +{ public: // no members available }; // Alignment: 1 // Size: 0xaf8 -class C_CSPropExplodingBarrelTop : public C_PhysicsProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_CSPropExplodingBarrelTop : public C_PhysicsProp +{ public: // MNetworkEnable - float m_flOverrideAlpha; // 0xaf0 + float m_flOverrideAlpha; // 0xaf0 }; // Alignment: 24 // Size: 0xaa8 -class C_EnvGasCanister : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_EnvGasCanister : public CBaseAnimGraph +{ public: // MNetworkEnable - bool m_bLanded; // 0x998 - bool m_bSpawnedSkyboxParticles; // 0xa00 - GameTime_t m_flKillImpactParticlesTime; // 0xa04 + bool m_bLanded; // 0x998 +private: + [[maybe_unused]] uint8_t __pad0999[0x67]; // 0x999 +public: + bool m_bSpawnedSkyboxParticles; // 0xa00 +private: + [[maybe_unused]] uint8_t __pad0a01[0x3]; // 0xa01 +public: + GameTime_t m_flKillImpactParticlesTime; // 0xa04 // MNetworkEnable - Vector m_vecImpactPosition; // 0xa08 + Vector m_vecImpactPosition; // 0xa08 // MNetworkEnable - Vector m_vecStartPosition; // 0xa14 + Vector m_vecStartPosition; // 0xa14 // MNetworkEnable - Vector m_vecEnterWorldPosition; // 0xa20 + Vector m_vecEnterWorldPosition; // 0xa20 // MNetworkEnable - Vector m_vecDirection; // 0xa2c + Vector m_vecDirection; // 0xa2c // MNetworkEnable - QAngle m_vecStartAngles; // 0xa38 + QAngle m_vecStartAngles; // 0xa38 // MNetworkEnable - float m_flFlightTime; // 0xa44 + float m_flFlightTime; // 0xa44 // MNetworkEnable - float m_flFlightSpeed; // 0xa48 + float m_flFlightSpeed; // 0xa48 // MNetworkEnable - GameTime_t m_flLaunchTime; // 0xa4c + GameTime_t m_flLaunchTime; // 0xa4c // MNetworkEnable - float m_flInitialZSpeed; // 0xa50 + float m_flInitialZSpeed; // 0xa50 // MNetworkEnable - float m_flZAcceleration; // 0xa54 + float m_flZAcceleration; // 0xa54 // MNetworkEnable - float m_flHorizSpeed; // 0xa58 + float m_flHorizSpeed; // 0xa58 // MNetworkEnable - bool m_bLaunchedFromWithinWorld; // 0xa5c + bool m_bLaunchedFromWithinWorld; // 0xa5c +private: + [[maybe_unused]] uint8_t __pad0a5d[0x3]; // 0xa5d +public: // MNetworkEnable - Vector m_vecParabolaDirection; // 0xa60 + Vector m_vecParabolaDirection; // 0xa60 // MNetworkEnable - float m_flWorldEnterTime; // 0xa6c + float m_flWorldEnterTime; // 0xa6c // MNetworkEnable - Vector m_vecSkyboxOrigin; // 0xa70 + Vector m_vecSkyboxOrigin; // 0xa70 // MNetworkEnable - float m_flSkyboxScale; // 0xa7c + float m_flSkyboxScale; // 0xa7c // MNetworkEnable - bool m_bInSkybox; // 0xa80 + bool m_bInSkybox; // 0xa80 // MNetworkEnable - bool m_bDoImpactEffects; // 0xa81 + bool m_bDoImpactEffects; // 0xa81 +private: + [[maybe_unused]] uint8_t __pad0a82[0x2]; // 0xa82 +public: // MNetworkEnable - int32_t m_nMyZoneIndex; // 0xa84 + int32_t m_nMyZoneIndex; // 0xa84 // MNetworkEnable - CHandle< C_BaseEntity > m_hSkyboxCopy; // 0xa88 - float m_flLaunchHeight; // 0xa8c + CHandle< C_BaseEntity > m_hSkyboxCopy; // 0xa88 + float m_flLaunchHeight; // 0xa8c }; // Alignment: 4 // Size: 0x9c0 -class C_PropCounter : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PropCounter : public CBaseAnimGraph +{ public: // MNetworkEnable - float m_flDisplayValue; // 0x998 - float m_flDisplayValueLocal; // 0x99c - float m_flTimeOfLastValueChange; // 0x9a0 - float m_flPreviousValue; // 0x9a4 + float m_flDisplayValue; // 0x998 + float m_flDisplayValueLocal; // 0x99c + float m_flTimeOfLastValueChange; // 0x9a0 + float m_flPreviousValue; // 0x9a4 }; // Alignment: 1 // Size: 0x9a0 -class C_ViewmodelWeapon : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_ViewmodelWeapon : public CBaseAnimGraph +{ public: - char* m_worldModel; // 0x998 + char* m_worldModel; // 0x998 }; // Alignment: 17 // Size: 0xa00 -class C_BaseViewModel : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BaseViewModel : public CBaseAnimGraph +{ public: - Vector m_vecLastFacing; // 0x9a0 + Vector m_vecLastFacing; // 0x9a0 // MNetworkEnable - uint32_t m_nViewModelIndex; // 0x9ac + uint32_t m_nViewModelIndex; // 0x9ac // MNetworkEnable - uint32_t m_nAnimationParity; // 0x9b0 + uint32_t m_nAnimationParity; // 0x9b0 // MNetworkEnable - float m_flAnimationStartTime; // 0x9b4 + float m_flAnimationStartTime; // 0x9b4 // MNetworkEnable - CHandle< C_BasePlayerWeapon > m_hWeapon; // 0x9b8 - CUtlSymbolLarge m_sVMName; // 0x9c0 - CUtlSymbolLarge m_sAnimationPrefix; // 0x9c8 - CHandle< C_ViewmodelWeapon > m_hWeaponModel; // 0x9d0 - AttachmentHandle_t m_iCameraAttachment; // 0x9d4 - QAngle m_vecLastCameraAngles; // 0x9d8 - float m_previousElapsedDuration; // 0x9e4 - float m_previousCycle; // 0x9e8 - int32_t m_nOldAnimationParity; // 0x9ec - HSequence m_hOldLayerSequence; // 0x9f0 - int32_t m_oldLayer; // 0x9f4 - float m_oldLayerStartTime; // 0x9f8 + CHandle< C_BasePlayerWeapon > m_hWeapon; // 0x9b8 +private: + [[maybe_unused]] uint8_t __pad09bc[0x4]; // 0x9bc +public: + CUtlSymbolLarge m_sVMName; // 0x9c0 + CUtlSymbolLarge m_sAnimationPrefix; // 0x9c8 + CHandle< C_ViewmodelWeapon > m_hWeaponModel; // 0x9d0 + AttachmentHandle_t m_iCameraAttachment; // 0x9d4 +private: + [[maybe_unused]] uint8_t __pad09d5[0x3]; // 0x9d5 +public: + QAngle m_vecLastCameraAngles; // 0x9d8 + float m_previousElapsedDuration; // 0x9e4 + float m_previousCycle; // 0x9e8 + int32_t m_nOldAnimationParity; // 0x9ec + HSequence m_hOldLayerSequence; // 0x9f0 + int32_t m_oldLayer; // 0x9f4 + float m_oldLayerStartTime; // 0x9f8 // MNetworkEnable - CEntityHandle m_hControlPanel; // 0x9fc + CEntityHandle m_hControlPanel; // 0x9fc }; // Alignment: 0 // Size: 0x998 -class C_ViewmodelAttachmentModel : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_ViewmodelAttachmentModel : public CBaseAnimGraph +{ public: // no members available }; // Alignment: 2 // Size: 0xa28 -class C_PredictedViewModel : public C_BaseViewModel, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PredictedViewModel : public C_BaseViewModel +{ public: - QAngle m_LagAnglesHistory; // 0xa00 - Vector m_vPredictedOffset; // 0xa18 + QAngle m_LagAnglesHistory; // 0xa00 +private: + [[maybe_unused]] uint8_t __pad0a0c[0xc]; // 0xa0c +public: + Vector m_vPredictedOffset; // 0xa18 }; // Alignment: 0 // Size: 0x998 -class C_WorldModelStattrak : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WorldModelStattrak : public CBaseAnimGraph +{ public: // no members available }; // Alignment: 0 // Size: 0x998 -class C_WorldModelNametag : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WorldModelNametag : public CBaseAnimGraph +{ public: // no members available }; // Alignment: 15 // Size: 0xc00 -class C_BaseCSGrenadeProjectile : public C_BaseGrenade, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BaseCSGrenadeProjectile : public C_BaseGrenade +{ public: // MNetworkEnable - Vector m_vInitialVelocity; // 0xb78 + Vector m_vInitialVelocity; // 0xb78 // MNetworkEnable - int32_t m_nBounces; // 0xb84 + int32_t m_nBounces; // 0xb84 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nExplodeEffectIndex; // 0xb88 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nExplodeEffectIndex; // 0xb88 // MNetworkEnable - int32_t m_nExplodeEffectTickBegin; // 0xb90 + int32_t m_nExplodeEffectTickBegin; // 0xb90 // MNetworkEnable - Vector m_vecExplodeEffectOrigin; // 0xb94 - GameTime_t m_flSpawnTime; // 0xba0 - Vector vecLastTrailLinePos; // 0xba4 - GameTime_t flNextTrailLineTime; // 0xbb0 - bool m_bExplodeEffectBegan; // 0xbb4 - bool m_bCanCreateGrenadeTrail; // 0xbb5 - ParticleIndex_t m_nSnapshotTrajectoryEffectIndex; // 0xbb8 - CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshotTrajectoryParticleSnapshot; // 0xbc0 - CUtlVector< Vector > m_arrTrajectoryTrailPoints; // 0xbc8 - CUtlVector< float32 > m_arrTrajectoryTrailPointCreationTimes; // 0xbe0 - float m_flTrajectoryTrailEffectCreationTime; // 0xbf8 - static float &Get_s_flThinkInterval(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseCSGrenadeProjectile")->m_static_fields[0]->m_instance);}; + Vector m_vecExplodeEffectOrigin; // 0xb94 + GameTime_t m_flSpawnTime; // 0xba0 + Vector vecLastTrailLinePos; // 0xba4 + GameTime_t flNextTrailLineTime; // 0xbb0 + bool m_bExplodeEffectBegan; // 0xbb4 + bool m_bCanCreateGrenadeTrail; // 0xbb5 +private: + [[maybe_unused]] uint8_t __pad0bb6[0x2]; // 0xbb6 +public: + ParticleIndex_t m_nSnapshotTrajectoryEffectIndex; // 0xbb8 +private: + [[maybe_unused]] uint8_t __pad0bbc[0x4]; // 0xbbc +public: + CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshotTrajectoryParticleSnapshot; // 0xbc0 + CUtlVector< Vector > m_arrTrajectoryTrailPoints; // 0xbc8 + CUtlVector< float32 > m_arrTrajectoryTrailPointCreationTimes; // 0xbe0 + float m_flTrajectoryTrailEffectCreationTime; // 0xbf8 + static float &Get_s_flThinkInterval(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseCSGrenadeProjectile")->m_static_fields[0]->m_instance);}; }; // Alignment: 4 // Size: 0xb90 -class C_BreachChargeProjectile : public C_BaseGrenade, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BreachChargeProjectile : public C_BaseGrenade +{ public: // MNetworkEnable - bool m_bShouldExplode; // 0xb78 + bool m_bShouldExplode; // 0xb78 +private: + [[maybe_unused]] uint8_t __pad0b79[0x3]; // 0xb79 +public: // MNetworkEnable - CHandle< C_BaseEntity > m_weaponThatThrewMe; // 0xb7c + CHandle< C_BaseEntity > m_weaponThatThrewMe; // 0xb7c // MNetworkEnable - int32_t m_nParentBoneIndex; // 0xb80 + int32_t m_nParentBoneIndex; // 0xb80 // MNetworkEnable - Vector m_vecParentBonePos; // 0xb84 + Vector m_vecParentBonePos; // 0xb84 }; // Alignment: 4 // Size: 0xbb0 -class C_BumpMineProjectile : public C_BaseGrenade, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BumpMineProjectile : public C_BaseGrenade +{ +public: + bool m_bShouldExplode; // 0xb78 +private: + [[maybe_unused]] uint8_t __pad0b79[0x3]; // 0xb79 public: - bool m_bShouldExplode; // 0xb78 // MNetworkEnable - int32_t m_nParentBoneIndex; // 0xb7c + int32_t m_nParentBoneIndex; // 0xb7c // MNetworkEnable - Vector m_vecParentBonePos; // 0xb80 + Vector m_vecParentBonePos; // 0xb80 // MNetworkEnable - bool m_bArmed; // 0xb8c + bool m_bArmed; // 0xb8c }; // Alignment: 6 // Size: 0xc10 -class C_TripWireFireProjectile : public C_BaseGrenade, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_TripWireFireProjectile : public C_BaseGrenade +{ public: // MNetworkEnable - GameTime_t m_flAttachTime; // 0xb78 + GameTime_t m_flAttachTime; // 0xb78 // MNetworkEnable - Vector[10] m_vecTripWireEndPositions; // 0xb7c + Vector m_vecTripWireEndPositions[10]; // 0xb7c // MNetworkEnable - bool[10] m_bTripWireEndPositionsUsed; // 0xbf4 - int32_t m_nTripWireStartIndex0; // 0xc00 - int32_t m_nTripWireEndIndex0; // 0xc04 - int32_t m_nTripWireCenterIndex0; // 0xc08 + bool m_bTripWireEndPositionsUsed[10]; // 0xbf4 +private: + [[maybe_unused]] uint8_t __pad0bfe[0x2]; // 0xbfe +public: + int32_t m_nTripWireStartIndex0; // 0xc00 + int32_t m_nTripWireEndIndex0; // 0xc04 + int32_t m_nTripWireCenterIndex0; // 0xc08 }; // Alignment: 0 // Size: 0xaf0 -class C_PhysicsPropMultiplayer : public C_PhysicsProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PhysicsPropMultiplayer : public C_PhysicsProp +{ public: // no members available }; // Alignment: 4 // Size: 0xb08 -class C_PhysPropLootCrate : public C_PhysicsPropMultiplayer, C_PhysicsProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PhysPropLootCrate : public C_PhysicsPropMultiplayer +{ public: // MNetworkEnable - bool m_bRenderInPSPM; // 0xaf8 + bool m_bRenderInPSPM; // 0xaf8 // MNetworkEnable - bool m_bRenderInTablet; // 0xaf9 + bool m_bRenderInTablet; // 0xaf9 +private: + [[maybe_unused]] uint8_t __pad0afa[0x2]; // 0xafa +public: // MNetworkEnable - int32_t m_iMaxHealth; // 0xafc + int32_t m_iMaxHealth; // 0xafc // MNetworkEnable - int32_t m_iHealth; // 0xb00 + int32_t m_iHealth; // 0xb00 }; // Alignment: 0 // Size: 0xaf0 -class C_PhysPropAmmoBox : public C_PhysicsPropMultiplayer, C_PhysicsProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PhysPropAmmoBox : public C_PhysicsPropMultiplayer +{ public: // no members available }; // Alignment: 0 // Size: 0xaf0 -class C_PhysPropWeaponUpgrade : public C_PhysicsPropMultiplayer, C_PhysicsProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PhysPropWeaponUpgrade : public C_PhysicsPropMultiplayer +{ public: // no members available }; // Alignment: 0 // Size: 0xaf8 -class C_PhysPropRadarJammer : public C_PhysicsPropMultiplayer, C_PhysicsProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PhysPropRadarJammer : public C_PhysicsPropMultiplayer +{ public: // no members available }; // Alignment: 0 // Size: 0xc20 -class C_SensorGrenadeProjectile : public C_BaseCSGrenadeProjectile, C_BaseGrenade, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_SensorGrenadeProjectile : public C_BaseCSGrenadeProjectile +{ public: // no members available }; // Alignment: 5 // Size: 0xbf0 -class C_CSGO_PreviewModel : public C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_CSGO_PreviewModel : public C_BaseFlex +{ public: - CUtlString m_animgraph; // 0xb28 - CUtlString m_animgraphCharacterModeString; // 0xb30 - CUtlString m_defaultAnim; // 0xb38 - AnimLoopMode_t m_nDefaultAnimLoopMode; // 0xb40 - float m_flInitialModelScale; // 0xb44 + CUtlString m_animgraph; // 0xb28 + CUtlString m_animgraphCharacterModeString; // 0xb30 + CUtlString m_defaultAnim; // 0xb38 + AnimLoopMode_t m_nDefaultAnimLoopMode; // 0xb40 + float m_flInitialModelScale; // 0xb44 }; // Alignment: 0 // Size: 0xbf0 -class C_CSGO_PreviewModelAlias_csgo_item_previewmodel : public C_CSGO_PreviewModel, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_CSGO_PreviewModelAlias_csgo_item_previewmodel : public C_CSGO_PreviewModel +{ public: // no members available }; // Alignment: 6 // Size: 0x9e8 -class C_BulletHitModel : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BulletHitModel : public CBaseAnimGraph +{ public: - matrix3x4_t m_matLocal; // 0x998 - int32_t m_iBoneIndex; // 0x9c8 - CHandle< C_BaseEntity > m_hPlayerParent; // 0x9cc - bool m_bIsHit; // 0x9d0 - float m_flTimeCreated; // 0x9d4 - Vector m_vecStartPos; // 0x9d8 + matrix3x4_t m_matLocal; // 0x998 + int32_t m_iBoneIndex; // 0x9c8 + CHandle< C_BaseEntity > m_hPlayerParent; // 0x9cc + bool m_bIsHit; // 0x9d0 +private: + [[maybe_unused]] uint8_t __pad09d1[0x3]; // 0x9d1 +public: + float m_flTimeCreated; // 0x9d4 + Vector m_vecStartPos; // 0x9d8 }; // Alignment: 6 // Size: 0x9d0 -class C_PickUpModelSlerper : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PickUpModelSlerper : public CBaseAnimGraph +{ public: - CHandle< C_BaseEntity > m_hPlayerParent; // 0x998 - CHandle< C_BaseEntity > m_hItem; // 0x99c - float m_flTimePickedUp; // 0x9a0 - QAngle m_angOriginal; // 0x9a4 - Vector m_vecPosOriginal; // 0x9b0 - QAngle m_angRandom; // 0x9c0 + CHandle< C_BaseEntity > m_hPlayerParent; // 0x998 + CHandle< C_BaseEntity > m_hItem; // 0x99c + float m_flTimePickedUp; // 0x9a0 + QAngle m_angOriginal; // 0x9a4 + Vector m_vecPosOriginal; // 0x9b0 +private: + [[maybe_unused]] uint8_t __pad09bc[0x4]; // 0x9bc +public: + QAngle m_angRandom; // 0x9c0 }; // Alignment: 0 // Size: 0x998 -class C_WorldModelGloves : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WorldModelGloves : public CBaseAnimGraph +{ public: // no members available }; // Alignment: 0 // Size: 0x9a0 -class C_HostageCarriableProp : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_HostageCarriableProp : public CBaseAnimGraph +{ public: // no members available }; // Alignment: 1 // Size: 0x9a8 -class C_Multimeter : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Multimeter : public CBaseAnimGraph +{ public: - CHandle< C_PlantedC4 > m_hTargetC4; // 0x9a0 + CHandle< C_PlantedC4 > m_hTargetC4; // 0x9a0 }; // Alignment: 21 // Size: 0xa08 -class C_PlantedC4 : public CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PlantedC4 : public CBaseAnimGraph +{ public: // MNetworkEnable - bool m_bBombTicking; // 0x998 + bool m_bBombTicking; // 0x998 +private: + [[maybe_unused]] uint8_t __pad0999[0x3]; // 0x999 +public: // MNetworkEnable - int32_t m_nBombSite; // 0x99c + int32_t m_nBombSite; // 0x99c // MNetworkEnable - int32_t m_nSourceSoundscapeHash; // 0x9a0 + int32_t m_nSourceSoundscapeHash; // 0x9a0 +private: + [[maybe_unused]] uint8_t __pad09a4[0x4]; // 0x9a4 +public: // MNetworkEnable - EntitySpottedState_t m_entitySpottedState; // 0x9a8 - GameTime_t m_flNextGlow; // 0x9c0 - GameTime_t m_flNextBeep; // 0x9c4 + EntitySpottedState_t m_entitySpottedState; // 0x9a8 + GameTime_t m_flNextGlow; // 0x9c0 + GameTime_t m_flNextBeep; // 0x9c4 // MNetworkEnable - GameTime_t m_flC4Blow; // 0x9c8 + GameTime_t m_flC4Blow; // 0x9c8 // MNetworkEnable - float m_flTimerLength; // 0x9cc - float m_bTenSecWarning; // 0x9d0 - float m_bTriggerWarning; // 0x9d4 - float m_bExplodeWarning; // 0x9d8 - bool m_bLocalBRMusicPlayed; // 0x9dc + float m_flTimerLength; // 0x9cc + float m_bTenSecWarning; // 0x9d0 + float m_bTriggerWarning; // 0x9d4 + float m_bExplodeWarning; // 0x9d8 + bool m_bLocalBRMusicPlayed; // 0x9dc +private: + [[maybe_unused]] uint8_t __pad09dd[0x3]; // 0x9dd +public: // MNetworkEnable - float m_flDefuseLength; // 0x9e0 + float m_flDefuseLength; // 0x9e0 // MNetworkEnable - GameTime_t m_flDefuseCountDown; // 0x9e4 + GameTime_t m_flDefuseCountDown; // 0x9e4 // MNetworkEnable - bool m_bBombDefused; // 0x9e8 + bool m_bBombDefused; // 0x9e8 +private: + [[maybe_unused]] uint8_t __pad09e9[0x3]; // 0x9e9 +public: // MNetworkEnable - CHandle< C_CSPlayerPawnBase > m_hBombDefuser; // 0x9ec + CHandle< C_CSPlayerPawnBase > m_hBombDefuser; // 0x9ec // MNetworkEnable - CEntityHandle m_hControlPanel; // 0x9f0 - CHandle< C_Multimeter > m_hDefuserMultimeter; // 0x9f4 - GameTime_t m_flNextRadarFlashTime; // 0x9f8 - bool m_bRadarFlash; // 0x9fc - CHandle< C_CSPlayerPawnBase > m_hLocalDefusingPlayerHandle; // 0xa00 + CEntityHandle m_hControlPanel; // 0x9f0 + CHandle< C_Multimeter > m_hDefuserMultimeter; // 0x9f4 + GameTime_t m_flNextRadarFlashTime; // 0x9f8 + bool m_bRadarFlash; // 0x9fc +private: + [[maybe_unused]] uint8_t __pad09fd[0x3]; // 0x9fd +public: + CHandle< C_CSPlayerPawnBase > m_hLocalDefusingPlayerHandle; // 0xa00 }; // Alignment: 2 // Size: 0x1178 -class C_Item : public C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Item : public C_EconEntity +{ public: // MNetworkEnable - bool m_bShouldGlow; // 0x1070 - char[256] m_pReticleHintTextName; // 0x1071 + bool m_bShouldGlow; // 0x1070 + char m_pReticleHintTextName[256]; // 0x1071 }; // Alignment: 7 // Size: 0x10d0 -class C_Chicken : public C_DynamicProp, C_BreakableProp, CBaseProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Chicken : public C_DynamicProp +{ public: - CHandle< CBaseAnimGraph > m_hHolidayHatAddon; // 0xc08 + CHandle< CBaseAnimGraph > m_hHolidayHatAddon; // 0xc08 // MNetworkEnable // MNetworkChangeCallback "OnJumpedChanged" - bool m_jumpedThisFrame; // 0xc0c + bool m_jumpedThisFrame; // 0xc0c +private: + [[maybe_unused]] uint8_t __pad0c0d[0x3]; // 0xc0d +public: // MNetworkEnable - CHandle< C_CSPlayerPawnBase > m_leader; // 0xc10 + CHandle< C_CSPlayerPawnBase > m_leader; // 0xc10 +private: + [[maybe_unused]] uint8_t __pad0c14[0x4]; // 0xc14 +public: // MNetworkEnable - C_AttributeContainer m_AttributeManager; // 0xc18 + C_AttributeContainer m_AttributeManager; // 0xc18 // MNetworkEnable - uint32_t m_OriginalOwnerXuidLow; // 0x10c0 + uint32_t m_OriginalOwnerXuidLow; // 0x10c0 // MNetworkEnable - uint32_t m_OriginalOwnerXuidHigh; // 0x10c4 - bool m_bAttributesInitialized; // 0x10c8 + uint32_t m_OriginalOwnerXuidHigh; // 0x10c4 + bool m_bAttributesInitialized; // 0x10c8 }; // Alignment: 10 // Size: 0x10a0 -class C_BasePlayerWeapon : public C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BasePlayerWeapon : public C_EconEntity +{ public: // MNetworkEnable // MNetworkChangeCallback "OnWeaponStateChanged" - WeaponState_t m_iState; // 0x1070 - WeaponState_t m_iOldState; // 0x1074 - bool m_bRemoveable; // 0x1078 + WeaponState_t m_iState; // 0x1070 + WeaponState_t m_iOldState; // 0x1074 + bool m_bRemoveable; // 0x1078 +private: + [[maybe_unused]] uint8_t __pad1079[0x3]; // 0x1079 +public: // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - GameTick_t m_nNextPrimaryAttackTick; // 0x107c + GameTick_t m_nNextPrimaryAttackTick; // 0x107c // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextPrimaryAttackTickRatio; // 0x1080 + float m_flNextPrimaryAttackTickRatio; // 0x1080 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - GameTick_t m_nNextSecondaryAttackTick; // 0x1084 + GameTick_t m_nNextSecondaryAttackTick; // 0x1084 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextSecondaryAttackTickRatio; // 0x1088 + float m_flNextSecondaryAttackTickRatio; // 0x1088 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkPriority "32" - int32_t m_iClip1; // 0x108c + int32_t m_iClip1; // 0x108c // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkUserGroup "LocalWeaponExclusive" - int32_t m_iClip2; // 0x1090 + int32_t m_iClip2; // 0x1090 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - int32[2] m_pReserveAmmo; // 0x1094 + int32_t m_pReserveAmmo[2]; // 0x1094 }; // Alignment: 7 // Size: 0xa48 -class C_RagdollPropAttached : public C_RagdollProp, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_RagdollPropAttached : public C_RagdollProp +{ public: // MNetworkEnable - uint32_t m_boneIndexAttached; // 0xa10 + uint32_t m_boneIndexAttached; // 0xa10 // MNetworkEnable - uint32_t m_ragdollAttachedObjectIndex; // 0xa14 + uint32_t m_ragdollAttachedObjectIndex; // 0xa14 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointBoneSpace; // 0xa18 + Vector m_attachmentPointBoneSpace; // 0xa18 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointRagdollSpace; // 0xa24 - Vector m_vecOffset; // 0xa30 - float m_parentTime; // 0xa3c - bool m_bHasParent; // 0xa40 + Vector m_attachmentPointRagdollSpace; // 0xa24 + Vector m_vecOffset; // 0xa30 + float m_parentTime; // 0xa3c + bool m_bHasParent; // 0xa40 }; // Alignment: 8 // Size: 0xbb8 -class C_BaseCombatCharacter : public C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BaseCombatCharacter : public C_BaseFlex +{ public: // MNetworkEnable // MNetworkChangeCallback "OnWearablesChanged" - C_NetworkUtlVectorBase< CHandle< C_EconWearable > > m_hMyWearables; // 0xb28 - int32_t m_bloodColor; // 0xb40 - AttachmentHandle_t m_leftFootAttachment; // 0xb44 - AttachmentHandle_t m_rightFootAttachment; // 0xb45 - C_BaseCombatCharacter::WaterWakeMode_t m_nWaterWakeMode; // 0xb48 - float m_flWaterWorldZ; // 0xb4c - float m_flWaterNextTraceTime; // 0xb50 + C_NetworkUtlVectorBase< CHandle< C_EconWearable > > m_hMyWearables; // 0xb28 + int32_t m_bloodColor; // 0xb40 + AttachmentHandle_t m_leftFootAttachment; // 0xb44 + AttachmentHandle_t m_rightFootAttachment; // 0xb45 +private: + [[maybe_unused]] uint8_t __pad0b46[0x2]; // 0xb46 +public: + C_BaseCombatCharacter::WaterWakeMode_t m_nWaterWakeMode; // 0xb48 + float m_flWaterWorldZ; // 0xb4c + float m_flWaterNextTraceTime; // 0xb50 // MNetworkEnable - float m_flFieldOfView; // 0xb54 + float m_flFieldOfView; // 0xb54 }; // Alignment: 23 // Size: 0xce8 -class C_BasePlayerPawn : public C_BaseCombatCharacter, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BasePlayerPawn : public C_BaseCombatCharacter +{ public: // MNetworkEnable - CPlayer_WeaponServices* m_pWeaponServices; // 0xbb8 + CPlayer_WeaponServices* m_pWeaponServices; // 0xbb8 // MNetworkEnable - CPlayer_ItemServices* m_pItemServices; // 0xbc0 + CPlayer_ItemServices* m_pItemServices; // 0xbc0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CPlayer_AutoaimServices* m_pAutoaimServices; // 0xbc8 + CPlayer_AutoaimServices* m_pAutoaimServices; // 0xbc8 // MNetworkEnable - CPlayer_ObserverServices* m_pObserverServices; // 0xbd0 + CPlayer_ObserverServices* m_pObserverServices; // 0xbd0 // MNetworkEnable - CPlayer_WaterServices* m_pWaterServices; // 0xbd8 + CPlayer_WaterServices* m_pWaterServices; // 0xbd8 // MNetworkEnable - CPlayer_UseServices* m_pUseServices; // 0xbe0 + CPlayer_UseServices* m_pUseServices; // 0xbe0 // MNetworkEnable - CPlayer_FlashlightServices* m_pFlashlightServices; // 0xbe8 + CPlayer_FlashlightServices* m_pFlashlightServices; // 0xbe8 // MNetworkEnable - CPlayer_CameraServices* m_pCameraServices; // 0xbf0 + CPlayer_CameraServices* m_pCameraServices; // 0xbf0 // MNetworkEnable - CPlayer_MovementServices* m_pMovementServices; // 0xbf8 - QAngle v_angle; // 0xc08 + CPlayer_MovementServices* m_pMovementServices; // 0xbf8 +private: + [[maybe_unused]] uint8_t __pad0c00[0x8]; // 0xc00 +public: + QAngle v_angle; // 0xc08 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_iHideHUD; // 0xc14 + uint32_t m_iHideHUD; // 0xc14 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - sky3dparams_t m_skybox3d; // 0xc18 + sky3dparams_t m_skybox3d; // 0xc18 // MNetworkEnable - GameTime_t m_flDeathTime; // 0xca8 - Vector m_vecPredictionError; // 0xcac - GameTime_t m_flPredictionErrorTime; // 0xcb8 - float m_flFOVSensitivityAdjust; // 0xcbc - float m_flMouseSensitivity; // 0xcc0 - Vector m_vOldOrigin; // 0xcc4 - float m_flOldSimulationTime; // 0xcd0 - int32_t m_nLastExecutedCommandNumber; // 0xcd4 - int32_t m_nLastExecutedCommandTick; // 0xcd8 + GameTime_t m_flDeathTime; // 0xca8 + Vector m_vecPredictionError; // 0xcac + GameTime_t m_flPredictionErrorTime; // 0xcb8 + float m_flFOVSensitivityAdjust; // 0xcbc + float m_flMouseSensitivity; // 0xcc0 + Vector m_vOldOrigin; // 0xcc4 + float m_flOldSimulationTime; // 0xcd0 + int32_t m_nLastExecutedCommandNumber; // 0xcd4 + int32_t m_nLastExecutedCommandTick; // 0xcd8 // MNetworkEnable // MNetworkChangeCallback "OnControllerChanged" - CHandle< CBasePlayerController > m_hController; // 0xcdc - bool m_bIsSwappingToPredictableController; // 0xce0 + CHandle< CBasePlayerController > m_hController; // 0xcdc + bool m_bIsSwappingToPredictableController; // 0xce0 }; // Alignment: 0 // Size: 0x1178 -class C_ItemCash : public C_Item, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_ItemCash : public C_Item +{ public: // no members available }; // Alignment: 10 // Size: 0xaa8 -class C_CSGOViewModel : public C_PredictedViewModel, C_BaseViewModel, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_CSGOViewModel : public C_PredictedViewModel +{ public: // MNetworkEnable - bool m_bShouldIgnoreOffsetAndAccuracy; // 0xa28 - Vector m_vecCamDriverLastPos; // 0xa2c - QAngle m_angCamDriverLastAng; // 0xa38 - float m_flCamDriverAppliedTime; // 0xa44 - float m_flCamDriverWeight; // 0xa48 + bool m_bShouldIgnoreOffsetAndAccuracy; // 0xa28 +private: + [[maybe_unused]] uint8_t __pad0a29[0x3]; // 0xa29 +public: + Vector m_vecCamDriverLastPos; // 0xa2c + QAngle m_angCamDriverLastAng; // 0xa38 + float m_flCamDriverAppliedTime; // 0xa44 + float m_flCamDriverWeight; // 0xa48 // MNetworkEnable - uint32_t m_nWeaponParity; // 0xa4c - uint32_t m_nOldWeaponParity; // 0xa50 - CEntityIndex m_nLastKnownAssociatedWeaponEntIndex; // 0xa54 - bool m_bNeedToQueueHighResComposite; // 0xa58 - QAngle m_vLoweredWeaponOffset; // 0xa9c + uint32_t m_nWeaponParity; // 0xa4c + uint32_t m_nOldWeaponParity; // 0xa50 + CEntityIndex m_nLastKnownAssociatedWeaponEntIndex; // 0xa54 + bool m_bNeedToQueueHighResComposite; // 0xa58 +private: + [[maybe_unused]] uint8_t __pad0a59[0x43]; // 0xa59 +public: + QAngle m_vLoweredWeaponOffset; // 0xa9c }; // Alignment: 58 // Size: 0x13d0 -class C_WeaponCSBase : public C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponCSBase : public C_BasePlayerWeapon +{ public: // MNetworkEnable - float m_flFireSequenceStartTime; // 0x10d8 + float m_flFireSequenceStartTime; // 0x10d8 // MNetworkEnable - int32_t m_nFireSequenceStartTimeChange; // 0x10dc - int32_t m_nFireSequenceStartTimeAck; // 0x10e0 + int32_t m_nFireSequenceStartTimeChange; // 0x10dc + int32_t m_nFireSequenceStartTimeAck; // 0x10e0 // MNetworkEnable - bool m_bPlayerFireEventIsPrimary; // 0x10e4 - HSequence m_seqIdle; // 0x10e8 - HSequence m_seqFirePrimary; // 0x10ec - HSequence m_seqFireSecondary; // 0x10f0 - float m_flCrosshairDistance; // 0x1108 - int32_t m_iAmmoLastCheck; // 0x110c - int32_t m_iAlpha; // 0x1110 - int32_t m_iScopeTextureID; // 0x1114 - int32_t m_iCrosshairTextureID; // 0x1118 - float m_flGunAccuracyPosition; // 0x111c + bool m_bPlayerFireEventIsPrimary; // 0x10e4 +private: + [[maybe_unused]] uint8_t __pad10e5[0x3]; // 0x10e5 +public: + HSequence m_seqIdle; // 0x10e8 + HSequence m_seqFirePrimary; // 0x10ec + HSequence m_seqFireSecondary; // 0x10f0 +private: + [[maybe_unused]] uint8_t __pad10f4[0x14]; // 0x10f4 +public: + float m_flCrosshairDistance; // 0x1108 + int32_t m_iAmmoLastCheck; // 0x110c + int32_t m_iAlpha; // 0x1110 + int32_t m_iScopeTextureID; // 0x1114 + int32_t m_iCrosshairTextureID; // 0x1118 + float m_flGunAccuracyPosition; // 0x111c // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - uint32_t m_nViewModelIndex; // 0x1120 - bool m_bReloadsWithClips; // 0x1124 + uint32_t m_nViewModelIndex; // 0x1120 + bool m_bReloadsWithClips; // 0x1124 +private: + [[maybe_unused]] uint8_t __pad1125[0x3]; // 0x1125 +public: // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" // MNetworkPriority "32" - GameTime_t m_flTimeWeaponIdle; // 0x1128 - bool m_bFireOnEmpty; // 0x112c - CEntityIOOutput m_OnPlayerPickup; // 0x1130 + GameTime_t m_flTimeWeaponIdle; // 0x1128 + bool m_bFireOnEmpty; // 0x112c +private: + [[maybe_unused]] uint8_t __pad112d[0x3]; // 0x112d +public: + CEntityIOOutput m_OnPlayerPickup; // 0x1130 // MNetworkEnable - CSWeaponMode m_weaponMode; // 0x1158 - float m_flTurningInaccuracyDelta; // 0x115c - Vector m_vecTurningInaccuracyEyeDirLast; // 0x1160 - float m_flTurningInaccuracy; // 0x116c + CSWeaponMode m_weaponMode; // 0x1158 + float m_flTurningInaccuracyDelta; // 0x115c + Vector m_vecTurningInaccuracyEyeDirLast; // 0x1160 + float m_flTurningInaccuracy; // 0x116c // MNetworkEnable - float m_fAccuracyPenalty; // 0x1170 - GameTime_t m_flLastAccuracyUpdateTime; // 0x1174 - float m_fAccuracySmoothedForZoom; // 0x1178 - GameTime_t m_fScopeZoomEndTime; // 0x117c + float m_fAccuracyPenalty; // 0x1170 + GameTime_t m_flLastAccuracyUpdateTime; // 0x1174 + float m_fAccuracySmoothedForZoom; // 0x1178 + GameTime_t m_fScopeZoomEndTime; // 0x117c // MNetworkEnable - int32_t m_iRecoilIndex; // 0x1180 + int32_t m_iRecoilIndex; // 0x1180 // MNetworkEnable - float m_flRecoilIndex; // 0x1184 + float m_flRecoilIndex; // 0x1184 // MNetworkEnable - bool m_bBurstMode; // 0x1188 + bool m_bBurstMode; // 0x1188 +private: + [[maybe_unused]] uint8_t __pad1189[0x3]; // 0x1189 +public: // MNetworkEnable - GameTime_t m_flPostponeFireReadyTime; // 0x118c + GameTime_t m_flPostponeFireReadyTime; // 0x118c // MNetworkEnable - bool m_bInReload; // 0x1190 + bool m_bInReload; // 0x1190 // MNetworkEnable - bool m_bReloadVisuallyComplete; // 0x1191 + bool m_bReloadVisuallyComplete; // 0x1191 +private: + [[maybe_unused]] uint8_t __pad1192[0x2]; // 0x1192 +public: // MNetworkEnable - GameTime_t m_flDroppedAtTime; // 0x1194 + GameTime_t m_flDroppedAtTime; // 0x1194 // MNetworkEnable - bool m_bIsHauledBack; // 0x1198 + bool m_bIsHauledBack; // 0x1198 // MNetworkEnable - bool m_bSilencerOn; // 0x1199 + bool m_bSilencerOn; // 0x1199 +private: + [[maybe_unused]] uint8_t __pad119a[0x2]; // 0x119a +public: // MNetworkEnable - GameTime_t m_flTimeSilencerSwitchComplete; // 0x119c + GameTime_t m_flTimeSilencerSwitchComplete; // 0x119c // MNetworkEnable - int32_t m_iOriginalTeamNumber; // 0x11a0 - float m_flNextAttackRenderTimeOffset; // 0x11a4 - bool m_bVisualsDataSet; // 0x1230 - bool m_bOldFirstPersonSpectatedState; // 0x1231 - CHandle< C_BaseEntity > m_hOurPing; // 0x1234 - CEntityIndex m_nOurPingIndex; // 0x1238 - Vector m_vecOurPingPos; // 0x123c - bool m_bGlowForPing; // 0x1248 - bool m_bUIWeapon; // 0x1249 + int32_t m_iOriginalTeamNumber; // 0x11a0 + float m_flNextAttackRenderTimeOffset; // 0x11a4 +private: + [[maybe_unused]] uint8_t __pad11a8[0x88]; // 0x11a8 +public: + bool m_bVisualsDataSet; // 0x1230 + bool m_bOldFirstPersonSpectatedState; // 0x1231 +private: + [[maybe_unused]] uint8_t __pad1232[0x2]; // 0x1232 +public: + CHandle< C_BaseEntity > m_hOurPing; // 0x1234 + CEntityIndex m_nOurPingIndex; // 0x1238 + Vector m_vecOurPingPos; // 0x123c + bool m_bGlowForPing; // 0x1248 + bool m_bUIWeapon; // 0x1249 +private: + [[maybe_unused]] uint8_t __pad124a[0xe]; // 0x124a +public: // MNetworkEnable - CHandle< C_CSPlayerPawnBase > m_hPrevOwner; // 0x1258 - bool m_donated; // 0x127c + CHandle< C_CSPlayerPawnBase > m_hPrevOwner; // 0x1258 +private: + [[maybe_unused]] uint8_t __pad125c[0x20]; // 0x125c +public: + bool m_donated; // 0x127c +private: + [[maybe_unused]] uint8_t __pad127d[0x3]; // 0x127d +public: // MNetworkEnable - GameTime_t m_fLastShotTime; // 0x1280 - bool m_bWasOwnedByCT; // 0x1284 - bool m_bWasOwnedByTerrorist; // 0x1285 - float m_gunHeat; // 0x1288 - uint32_t m_smokeAttachments; // 0x128c - GameTime_t m_lastSmokeTime; // 0x1290 - float m_flLastClientFireBulletTime; // 0x1294 - C_IronSightController m_IronSightController; // 0x12f0 + GameTime_t m_fLastShotTime; // 0x1280 + bool m_bWasOwnedByCT; // 0x1284 + bool m_bWasOwnedByTerrorist; // 0x1285 +private: + [[maybe_unused]] uint8_t __pad1286[0x2]; // 0x1286 +public: + float m_gunHeat; // 0x1288 + uint32_t m_smokeAttachments; // 0x128c + GameTime_t m_lastSmokeTime; // 0x1290 + float m_flLastClientFireBulletTime; // 0x1294 +private: + [[maybe_unused]] uint8_t __pad1298[0x58]; // 0x1298 +public: + C_IronSightController m_IronSightController; // 0x12f0 // MNetworkEnable - int32_t m_iIronSightMode; // 0x13a0 - GameTime_t m_flLastLOSTraceFailureTime; // 0x13b0 + int32_t m_iIronSightMode; // 0x13a0 +private: + [[maybe_unused]] uint8_t __pad13a4[0xc]; // 0x13a4 +public: + GameTime_t m_flLastLOSTraceFailureTime; // 0x13b0 // MNetworkEnable - int32_t m_iNumEmptyAttacks; // 0x13b4 + int32_t m_iNumEmptyAttacks; // 0x13b4 }; // Alignment: 6 // Size: 0x13f0 -class C_WeaponCSBaseGun : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponCSBaseGun : public C_WeaponCSBase +{ public: // MNetworkEnable - int32_t m_zoomLevel; // 0x13d0 + int32_t m_zoomLevel; // 0x13d0 // MNetworkEnable - int32_t m_iBurstShotsRemaining; // 0x13d4 - int32_t m_iSilencerBodygroup; // 0x13d8 - int32_t m_silencedModelIndex; // 0x13e8 - bool m_inPrecache; // 0x13ec + int32_t m_iBurstShotsRemaining; // 0x13d4 + int32_t m_iSilencerBodygroup; // 0x13d8 +private: + [[maybe_unused]] uint8_t __pad13dc[0xc]; // 0x13dc +public: + int32_t m_silencedModelIndex; // 0x13e8 + bool m_inPrecache; // 0x13ec // MNetworkEnable - bool m_bNeedsBoltAction; // 0x13ed + bool m_bNeedsBoltAction; // 0x13ed }; // Alignment: 12 // Size: 0x1430 -class C_C4 : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_C4 : public C_WeaponCSBase +{ public: - char[32] m_szScreenText; // 0x13d0 - ParticleIndex_t m_bombdroppedlightParticleIndex; // 0x13f0 + char m_szScreenText[32]; // 0x13d0 + ParticleIndex_t m_bombdroppedlightParticleIndex; // 0x13f0 // MNetworkEnable - bool m_bStartedArming; // 0x13f4 + bool m_bStartedArming; // 0x13f4 +private: + [[maybe_unused]] uint8_t __pad13f5[0x3]; // 0x13f5 +public: // MNetworkEnable - GameTime_t m_fArmedTime; // 0x13f8 + GameTime_t m_fArmedTime; // 0x13f8 // MNetworkEnable - bool m_bBombPlacedAnimation; // 0x13fc + bool m_bBombPlacedAnimation; // 0x13fc // MNetworkEnable - bool m_bShowC4LED; // 0x13fd + bool m_bShowC4LED; // 0x13fd // MNetworkEnable - bool m_bIsPlantingViaUse; // 0x13fe + bool m_bIsPlantingViaUse; // 0x13fe +private: + [[maybe_unused]] uint8_t __pad13ff[0x1]; // 0x13ff +public: // MNetworkEnable - EntitySpottedState_t m_entitySpottedState; // 0x1400 - int32_t m_nSpotRules; // 0x1418 - bool[7] m_bPlayedArmingBeeps; // 0x141c - bool m_bBombPlanted; // 0x1423 - bool m_bDroppedFromDeath; // 0x1424 + EntitySpottedState_t m_entitySpottedState; // 0x1400 + int32_t m_nSpotRules; // 0x1418 + bool m_bPlayedArmingBeeps[7]; // 0x141c + bool m_bBombPlanted; // 0x1423 + bool m_bDroppedFromDeath; // 0x1424 }; // Alignment: 0 // Size: 0x13f0 -class C_DEagle : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_DEagle : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponElite : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponElite : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13d0 -class C_WeaponNOVA : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponNOVA : public C_WeaponCSBase +{ public: // no members available }; // Alignment: 0 // Size: 0x13d0 -class C_WeaponSawedoff : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponSawedoff : public C_WeaponCSBase +{ public: // no members available }; // Alignment: 1 // Size: 0x1400 -class C_WeaponTaser : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponTaser : public C_WeaponCSBaseGun +{ public: // MNetworkEnable - GameTime_t m_fFireTime; // 0x13f0 + GameTime_t m_fFireTime; // 0x13f0 }; // Alignment: 0 // Size: 0x13d0 -class C_WeaponXM1014 : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponXM1014 : public C_WeaponCSBase +{ public: // no members available }; // Alignment: 0 // Size: 0x13d0 -class C_Knife : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Knife : public C_WeaponCSBase +{ public: // no members available }; // Alignment: 0 // Size: 0x13d0 -class C_KnifeGG : public C_Knife, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_KnifeGG : public C_Knife +{ public: // no members available }; // Alignment: 1 // Size: 0x13e0 -class C_Melee : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Melee : public C_WeaponCSBase +{ public: // MNetworkEnable - GameTime_t m_flThrowAt; // 0x13d0 + GameTime_t m_flThrowAt; // 0x13d0 }; // Alignment: 2 // Size: 0x1400 -class C_WeaponZoneRepulsor : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponZoneRepulsor : public C_WeaponCSBaseGun +{ public: - float m_flPitchLocal; // 0x13f0 - GameTime_t m_flLastTimeNotIdle; // 0x13f4 + float m_flPitchLocal; // 0x13f0 + GameTime_t m_flLastTimeNotIdle; // 0x13f4 }; // Alignment: 1 // Size: 0x1400 -class C_WeaponShield : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponShield : public C_WeaponCSBaseGun +{ public: // MNetworkEnable - float m_flDisplayHealth; // 0x13f0 + float m_flDisplayHealth; // 0x13f0 }; // Alignment: 1 // Size: 0xc28 -class C_MolotovProjectile : public C_BaseCSGrenadeProjectile, C_BaseGrenade, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_MolotovProjectile : public C_BaseCSGrenadeProjectile +{ public: // MNetworkEnable - bool m_bIsIncGrenade; // 0xc00 + bool m_bIsIncGrenade; // 0xc00 }; // Alignment: 1 // Size: 0xc28 -class C_DecoyProjectile : public C_BaseCSGrenadeProjectile, C_BaseGrenade, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_DecoyProjectile : public C_BaseCSGrenadeProjectile +{ public: - GameTime_t m_flTimeParticleEffectSpawn; // 0xc20 + GameTime_t m_flTimeParticleEffectSpawn; // 0xc20 }; // Alignment: 8 // Size: 0xd90 -class C_SmokeGrenadeProjectile : public C_BaseCSGrenadeProjectile, C_BaseGrenade, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_SmokeGrenadeProjectile : public C_BaseCSGrenadeProjectile +{ public: // MNetworkEnable - int32_t m_nSmokeEffectTickBegin; // 0xc08 + int32_t m_nSmokeEffectTickBegin; // 0xc08 // MNetworkEnable - bool m_bDidSmokeEffect; // 0xc0c + bool m_bDidSmokeEffect; // 0xc0c +private: + [[maybe_unused]] uint8_t __pad0c0d[0x3]; // 0xc0d +public: // MNetworkEnable - int32_t m_nRandomSeed; // 0xc10 + int32_t m_nRandomSeed; // 0xc10 // MNetworkEnable - Vector m_vSmokeColor; // 0xc14 + Vector m_vSmokeColor; // 0xc14 // MNetworkEnable - Vector m_vSmokeDetonationPos; // 0xc20 + Vector m_vSmokeDetonationPos; // 0xc20 +private: + [[maybe_unused]] uint8_t __pad0c2c[0x4]; // 0xc2c +public: // MNetworkEnable // MNetworkChangeCallback "OnSimulationChanged" - CUtlVector< uint8 > m_VoxelFrameData; // 0xc30 - bool m_bSmokeVolumeDataReceived; // 0xc48 - bool m_bSmokeEffectSpawned; // 0xc49 + CUtlVector< uint8 > m_VoxelFrameData; // 0xc30 + bool m_bSmokeVolumeDataReceived; // 0xc48 + bool m_bSmokeEffectSpawned; // 0xc49 }; // Alignment: 8 // Size: 0x1410 -class C_BaseCSGrenade : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BaseCSGrenade : public C_WeaponCSBase +{ public: // MNetworkEnable - bool m_bRedraw; // 0x13f0 + bool m_bRedraw; // 0x13f0 // MNetworkEnable - bool m_bIsHeldByPlayer; // 0x13f1 + bool m_bIsHeldByPlayer; // 0x13f1 // MNetworkEnable - bool m_bPinPulled; // 0x13f2 + bool m_bPinPulled; // 0x13f2 +private: + [[maybe_unused]] uint8_t __pad13f3[0x1]; // 0x13f3 +public: // MNetworkEnable - EGrenadeThrowState m_eThrowStatus; // 0x13f4 + EGrenadeThrowState m_eThrowStatus; // 0x13f4 // MNetworkEnable - GameTime_t m_fThrowTime; // 0x13f8 + GameTime_t m_fThrowTime; // 0x13f8 // MNetworkEnable - float m_flThrowStrength; // 0x13fc + float m_flThrowStrength; // 0x13fc // MNetworkEnable - float m_flThrowStrengthApproach; // 0x1400 + float m_flThrowStrengthApproach; // 0x1400 // MNetworkEnable - GameTime_t m_fDropTime; // 0x1404 + GameTime_t m_fDropTime; // 0x1404 }; // Alignment: 2 // Size: 0x13f0 -class C_WeaponBaseItem : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponBaseItem : public C_WeaponCSBase +{ public: // MNetworkEnable - CountdownTimer m_SequenceCompleteTimer; // 0x13d0 + CountdownTimer m_SequenceCompleteTimer; // 0x13d0 // MNetworkEnable - bool m_bRedraw; // 0x13e8 + bool m_bRedraw; // 0x13e8 }; // Alignment: 2 // Size: 0x1180 -class C_ItemDogtags : public C_Item, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_ItemDogtags : public C_Item +{ public: // MNetworkEnable - CHandle< C_CSPlayerPawnBase > m_OwningPlayer; // 0x1178 + CHandle< C_CSPlayerPawnBase > m_OwningPlayer; // 0x1178 // MNetworkEnable - CHandle< C_CSPlayerPawnBase > m_KillingPlayer; // 0x117c + CHandle< C_CSPlayerPawnBase > m_KillingPlayer; // 0x117c }; // Alignment: 0 // Size: 0x13f0 -class C_Item_Healthshot : public C_WeaponBaseItem, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Item_Healthshot : public C_WeaponBaseItem +{ public: // no members available }; // Alignment: 2 // Size: 0x13e0 -class C_Fists : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Fists : public C_WeaponCSBase +{ public: // MNetworkEnable - bool m_bPlayingUninterruptableAct; // 0x13d0 + bool m_bPlayingUninterruptableAct; // 0x13d0 +private: + [[maybe_unused]] uint8_t __pad13d1[0x3]; // 0x13d1 +public: // MNetworkEnable // MNetworkChangeCallback "OnUninterruptChanged" - PlayerAnimEvent_t m_nUninterruptableActivity; // 0x13d4 + PlayerAnimEvent_t m_nUninterruptableActivity; // 0x13d4 }; // Alignment: 27 // Size: 0x1b30 -class C_Tablet : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Tablet : public C_WeaponCSBase +{ public: // MNetworkEnable - GameTime_t[4] m_flUpgradeExpirationTime; // 0x13d8 + GameTime_t m_flUpgradeExpirationTime[4]; // 0x13d8 // MNetworkEnable - int32[42] m_vecLocalHexFlags; // 0x13e8 + int32_t m_vecLocalHexFlags[42]; // 0x13e8 // MNetworkEnable - int32_t m_nContractKillGridIndex; // 0x1490 + int32_t m_nContractKillGridIndex; // 0x1490 // MNetworkEnable - int32_t m_nContractKillGridHighResIndex; // 0x1494 + int32_t m_nContractKillGridHighResIndex; // 0x1494 // MNetworkEnable - bool m_bTabletReceptionIsBlocked; // 0x1498 + bool m_bTabletReceptionIsBlocked; // 0x1498 +private: + [[maybe_unused]] uint8_t __pad1499[0x3]; // 0x1499 +public: // MNetworkEnable - float m_flScanProgress; // 0x149c + float m_flScanProgress; // 0x149c // MNetworkEnable - GameTime_t m_flBootTime; // 0x14a0 + GameTime_t m_flBootTime; // 0x14a0 // MNetworkEnable - GameTime_t m_flShowMapTime; // 0x14a4 + GameTime_t m_flShowMapTime; // 0x14a4 // MNetworkEnable - Vector m_vecNearestMetalCratePos; // 0x14a8 + Vector m_vecNearestMetalCratePos; // 0x14a8 // MNetworkEnable - tablet_skin_state_t m_skinState; // 0x14b4 + tablet_skin_state_t m_skinState; // 0x14b4 +private: + [[maybe_unused]] uint8_t __pad14b5[0x3]; // 0x14b5 +public: // MNetworkEnable - int32[8] m_vecNotificationIds; // 0x14b8 + int32_t m_vecNotificationIds[8]; // 0x14b8 // MNetworkEnable - GameTime_t[8] m_vecNotificationTimestamps; // 0x14d8 + GameTime_t m_vecNotificationTimestamps[8]; // 0x14d8 // MNetworkEnable - int32_t m_nLastPurchaseIndex; // 0x14f8 + int32_t m_nLastPurchaseIndex; // 0x14f8 // MNetworkEnable - Vector[24] m_vecPlayerPositionHistory; // 0x14fc - int32[42] m_vecLocalHexFlagsClientCopy; // 0x161c - GameTime_t[6][42] m_vecLastHexPlayerOccupancyChange; // 0x16c4 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_radarMaterial; // 0x1ae8 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_buildingMaterial; // 0x1af0 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hZoneOverlayMaterial; // 0x1af8 - float m_flNoiseFadeAlpha; // 0x1b00 - Color m_WorkingColor; // 0x1b04 - Vector m_vecLastCameraPos; // 0x1b08 - QAngle m_angLastCameraAng; // 0x1b14 - int32_t m_nDrawElementCount; // 0x1b20 - float m_flPrevScanProgress; // 0x1b24 - int32_t m_nRenderTargetRes; // 0x1b28 - float m_flLastClosePoseParamVal; // 0x1b2c + Vector m_vecPlayerPositionHistory[24]; // 0x14fc + int32_t m_vecLocalHexFlagsClientCopy[42]; // 0x161c + GameTime_t m_vecLastHexPlayerOccupancyChange[42][6]; // 0x16c4 +private: + [[maybe_unused]] uint8_t __pad1ab4[0x34]; // 0x1ab4 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_radarMaterial; // 0x1ae8 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_buildingMaterial; // 0x1af0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hZoneOverlayMaterial; // 0x1af8 + float m_flNoiseFadeAlpha; // 0x1b00 + Color m_WorkingColor; // 0x1b04 + Vector m_vecLastCameraPos; // 0x1b08 + QAngle m_angLastCameraAng; // 0x1b14 + int32_t m_nDrawElementCount; // 0x1b20 + float m_flPrevScanProgress; // 0x1b24 + int32_t m_nRenderTargetRes; // 0x1b28 + float m_flLastClosePoseParamVal; // 0x1b2c }; // Alignment: 0 // Size: 0x13e0 -class C_BreachCharge : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BreachCharge : public C_WeaponCSBase +{ public: // no members available }; // Alignment: 0 // Size: 0x13d0 -class C_BumpMine : public C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_BumpMine : public C_WeaponCSBase +{ public: // no members available }; // Alignment: 0 // Size: 0x1410 -class C_TripWireFire : public C_BaseCSGrenade, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_TripWireFire : public C_BaseCSGrenade +{ public: // no members available }; // Alignment: 0 // Size: 0xa08 -class C_PlantedC4Survival : public C_PlantedC4, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_PlantedC4Survival : public C_PlantedC4 +{ public: // no members available }; // Alignment: 0 // Size: 0x1410 -class C_SensorGrenade : public C_BaseCSGrenade, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_SensorGrenade : public C_BaseCSGrenade +{ public: // no members available }; // Alignment: 187 // Size: 0x12a0 -class C_CSPlayerPawnBase : public C_BasePlayerPawn, C_BaseCombatCharacter, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_CSPlayerPawnBase : public C_BasePlayerPawn +{ public: // MNetworkEnable - CCSPlayer_ActionTrackingServices* m_pActionTrackingServices; // 0xd00 + CCSPlayer_ActionTrackingServices* m_pActionTrackingServices; // 0xd00 // MNetworkEnable - CCSPlayer_PingServices* m_pPingServices; // 0xd08 + CCSPlayer_PingServices* m_pPingServices; // 0xd08 // MNetworkEnable - CCSPlayer_ViewModelServices* m_pViewModelServices; // 0xd10 - float32[4] m_fRenderingClipPlane; // 0xd18 - int32_t m_nLastClipPlaneSetupFrame; // 0xd28 - Vector m_vecLastClipCameraPos; // 0xd2c - Vector m_vecLastClipCameraForward; // 0xd38 - bool m_bClipHitStaticWorld; // 0xd44 - bool m_bCachedPlaneIsValid; // 0xd45 - C_WeaponCSBase* m_pClippingWeapon; // 0xd48 - CSPlayerState m_previousPlayerState; // 0xd50 - float m_flLastCollisionCeiling; // 0xd54 - float m_flLastCollisionCeilingChangeTime; // 0xd58 - bool m_bInLanding; // 0xdb8 - float m_flLandingTime; // 0xdbc - GameTime_t m_grenadeParameterStashTime; // 0xdc0 - bool m_bGrenadeParametersStashed; // 0xdc4 - QAngle m_angStashedShootAngles; // 0xdc8 - Vector m_vecStashedGrenadeThrowPosition; // 0xdd4 - Vector m_vecStashedVelocity; // 0xde0 - QAngle[2] m_angShootAngleHistory; // 0xdec - Vector[2] m_vecThrowPositionHistory; // 0xe04 - Vector[2] m_vecVelocityHistory; // 0xe1c + CCSPlayer_ViewModelServices* m_pViewModelServices; // 0xd10 + float m_fRenderingClipPlane[4]; // 0xd18 + int32_t m_nLastClipPlaneSetupFrame; // 0xd28 + Vector m_vecLastClipCameraPos; // 0xd2c + Vector m_vecLastClipCameraForward; // 0xd38 + bool m_bClipHitStaticWorld; // 0xd44 + bool m_bCachedPlaneIsValid; // 0xd45 +private: + [[maybe_unused]] uint8_t __pad0d46[0x2]; // 0xd46 +public: + C_WeaponCSBase* m_pClippingWeapon; // 0xd48 + CSPlayerState m_previousPlayerState; // 0xd50 + float m_flLastCollisionCeiling; // 0xd54 + float m_flLastCollisionCeilingChangeTime; // 0xd58 +private: + [[maybe_unused]] uint8_t __pad0d5c[0x5c]; // 0xd5c +public: + bool m_bInLanding; // 0xdb8 +private: + [[maybe_unused]] uint8_t __pad0db9[0x3]; // 0xdb9 +public: + float m_flLandingTime; // 0xdbc + GameTime_t m_grenadeParameterStashTime; // 0xdc0 + bool m_bGrenadeParametersStashed; // 0xdc4 +private: + [[maybe_unused]] uint8_t __pad0dc5[0x3]; // 0xdc5 +public: + QAngle m_angStashedShootAngles; // 0xdc8 + Vector m_vecStashedGrenadeThrowPosition; // 0xdd4 + Vector m_vecStashedVelocity; // 0xde0 + QAngle m_angShootAngleHistory[2]; // 0xdec + Vector m_vecThrowPositionHistory[2]; // 0xe04 + Vector m_vecVelocityHistory[2]; // 0xe1c +private: + [[maybe_unused]] uint8_t __pad0e34[0x4]; // 0xe34 +public: // MNetworkEnable // MNetworkBitCount "32" // MNetworkEncoder // MNetworkChangeCallback "OnThirdPersonHeadingChanged" // MNetworkPriority "32" - QAngle m_thirdPersonHeading; // 0xe38 + QAngle m_thirdPersonHeading; // 0xe38 +private: + [[maybe_unused]] uint8_t __pad0e44[0xc]; // 0xe44 +public: // MNetworkEnable // MNetworkChangeCallback "OnSlopeDropOffsetChanged" // MNetworkPriority "32" - float m_flSlopeDropOffset; // 0xe50 + float m_flSlopeDropOffset; // 0xe50 +private: + [[maybe_unused]] uint8_t __pad0e54[0xc]; // 0xe54 +public: // MNetworkEnable // MNetworkChangeCallback "OnSlopeDropHeightChanged" // MNetworkPriority "32" - float m_flSlopeDropHeight; // 0xe60 + float m_flSlopeDropHeight; // 0xe60 +private: + [[maybe_unused]] uint8_t __pad0e64[0xc]; // 0xe64 +public: // MNetworkEnable // MNetworkChangeCallback "OnHeadConstraintChanged" // MNetworkPriority "32" - Vector m_vHeadConstraintOffset; // 0xe70 - bool m_bClientTransparentImmunityAlphaEffectEnabled; // 0xe88 - bool m_bClientDeferDrawToImmunityAlphaPass; // 0xe89 + Vector m_vHeadConstraintOffset; // 0xe70 +private: + [[maybe_unused]] uint8_t __pad0e7c[0xc]; // 0xe7c +public: + bool m_bClientTransparentImmunityAlphaEffectEnabled; // 0xe88 + bool m_bClientDeferDrawToImmunityAlphaPass; // 0xe89 // MNetworkEnable - bool m_bIsScoped; // 0xe8a + bool m_bIsScoped; // 0xe8a // MNetworkEnable - bool m_bIsWalking; // 0xe8b + bool m_bIsWalking; // 0xe8b // MNetworkEnable - bool m_bResumeZoom; // 0xe8c + bool m_bResumeZoom; // 0xe8c +private: + [[maybe_unused]] uint8_t __pad0e8d[0x3]; // 0xe8d +public: // MNetworkEnable - CSPlayerState m_iPlayerState; // 0xe90 + CSPlayerState m_iPlayerState; // 0xe90 // MNetworkEnable - bool m_bIsDefusing; // 0xe94 + bool m_bIsDefusing; // 0xe94 // MNetworkEnable - bool m_bIsGrabbingHostage; // 0xe95 + bool m_bIsGrabbingHostage; // 0xe95 +private: + [[maybe_unused]] uint8_t __pad0e96[0x2]; // 0xe96 +public: // MNetworkEnable - CSPlayerBlockingUseAction_t m_iBlockingUseActionInProgress; // 0xe98 + CSPlayerBlockingUseAction_t m_iBlockingUseActionInProgress; // 0xe98 // MNetworkEnable - bool m_bIsRescuing; // 0xe9c + bool m_bIsRescuing; // 0xe9c +private: + [[maybe_unused]] uint8_t __pad0e9d[0x3]; // 0xe9d +public: // MNetworkEnable - GameTime_t m_fImmuneToGunGameDamageTime; // 0xea0 - GameTime_t m_fImmuneToGunGameDamageTimeLast; // 0xea4 + GameTime_t m_fImmuneToGunGameDamageTime; // 0xea0 + GameTime_t m_fImmuneToGunGameDamageTimeLast; // 0xea4 // MNetworkEnable - bool m_bGunGameImmunity; // 0xea8 + bool m_bGunGameImmunity; // 0xea8 // MNetworkEnable - bool m_bHasMovedSinceSpawn; // 0xea9 + bool m_bHasMovedSinceSpawn; // 0xea9 // MNetworkEnable - bool m_bMadeFinalGunGameProgressiveKill; // 0xeaa + bool m_bMadeFinalGunGameProgressiveKill; // 0xeaa +private: + [[maybe_unused]] uint8_t __pad0eab[0x1]; // 0xeab +public: // MNetworkEnable - int32_t m_iGunGameProgressiveWeaponIndex; // 0xeac + int32_t m_iGunGameProgressiveWeaponIndex; // 0xeac // MNetworkEnable - int32_t m_iNumGunGameTRKillPoints; // 0xeb0 + int32_t m_iNumGunGameTRKillPoints; // 0xeb0 // MNetworkEnable - int32_t m_iNumGunGameKillsWithCurrentWeapon; // 0xeb4 + int32_t m_iNumGunGameKillsWithCurrentWeapon; // 0xeb4 // MNetworkEnable - uint32_t m_unTotalRoundDamageDealt; // 0xeb8 + uint32_t m_unTotalRoundDamageDealt; // 0xeb8 // MNetworkEnable - float m_fMolotovUseTime; // 0xebc + float m_fMolotovUseTime; // 0xebc // MNetworkEnable - float m_fMolotovDamageTime; // 0xec0 + float m_fMolotovDamageTime; // 0xec0 // MNetworkEnable - bool m_bInBombZone; // 0xec4 + bool m_bInBombZone; // 0xec4 +private: + [[maybe_unused]] uint8_t __pad0ec5[0x3]; // 0xec5 +public: // MNetworkEnable - int32_t m_nWhichBombZone; // 0xec8 + int32_t m_nWhichBombZone; // 0xec8 // MNetworkEnable - bool m_bInBuyZone; // 0xecc + bool m_bInBuyZone; // 0xecc // MNetworkEnable - bool m_bInNoDefuseArea; // 0xecd + bool m_bInNoDefuseArea; // 0xecd +private: + [[maybe_unused]] uint8_t __pad0ece[0x2]; // 0xece +public: // MNetworkEnable - int32_t m_iThrowGrenadeCounter; // 0xed0 + int32_t m_iThrowGrenadeCounter; // 0xed0 // MNetworkEnable - bool m_bWaitForNoAttack; // 0xed4 + bool m_bWaitForNoAttack; // 0xed4 // MNetworkEnable - bool m_bIsRespawningForDMBonus; // 0xed5 + bool m_bIsRespawningForDMBonus; // 0xed5 +private: + [[maybe_unused]] uint8_t __pad0ed6[0x2]; // 0xed6 +public: // MNetworkEnable - float m_flGuardianTooFarDistFrac; // 0xed8 + float m_flGuardianTooFarDistFrac; // 0xed8 // MNetworkEnable - GameTime_t m_flDetectedByEnemySensorTime; // 0xedc - float m_flNextGuardianTooFarWarning; // 0xee0 - bool m_bSuppressGuardianTooFarWarningAudio; // 0xee4 + GameTime_t m_flDetectedByEnemySensorTime; // 0xedc + float m_flNextGuardianTooFarWarning; // 0xee0 + bool m_bSuppressGuardianTooFarWarningAudio; // 0xee4 // MNetworkEnable - bool m_bKilledByTaser; // 0xee5 + bool m_bKilledByTaser; // 0xee5 +private: + [[maybe_unused]] uint8_t __pad0ee6[0x2]; // 0xee6 +public: // MNetworkEnable - int32_t m_iMoveState; // 0xee8 + int32_t m_iMoveState; // 0xee8 // MNetworkEnable - bool m_bCanMoveDuringFreezePeriod; // 0xeec + bool m_bCanMoveDuringFreezePeriod; // 0xeec // MNetworkEnable - bool m_isCurrentGunGameLeader; // 0xeed + bool m_isCurrentGunGameLeader; // 0xeed // MNetworkEnable - bool m_isCurrentGunGameTeamLeader; // 0xeee + bool m_isCurrentGunGameTeamLeader; // 0xeee +private: + [[maybe_unused]] uint8_t __pad0eef[0x1]; // 0xeef +public: // MNetworkEnable - float m_flLowerBodyYawTarget; // 0xef0 + float m_flLowerBodyYawTarget; // 0xef0 // MNetworkEnable - bool m_bStrafing; // 0xef4 + bool m_bStrafing; // 0xef4 // MNetworkEnable - char[18] m_szLastPlaceName; // 0xef5 + char m_szLastPlaceName[18]; // 0xef5 +private: + [[maybe_unused]] uint8_t __pad0f07[0x1]; // 0xf07 +public: // MNetworkEnable - float m_flLastExoJumpTime; // 0xf08 - GameTime_t m_flLastSpawnTimeIndex; // 0xf18 + float m_flLastExoJumpTime; // 0xf08 +private: + [[maybe_unused]] uint8_t __pad0f0c[0xc]; // 0xf0c +public: + GameTime_t m_flLastSpawnTimeIndex; // 0xf18 // MNetworkEnable - int32_t m_iAddonBits; // 0xf1c + int32_t m_iAddonBits; // 0xf1c // MNetworkEnable - int32_t m_iPrimaryAddon; // 0xf20 + int32_t m_iPrimaryAddon; // 0xf20 // MNetworkEnable - int32_t m_iSecondaryAddon; // 0xf24 + int32_t m_iSecondaryAddon; // 0xf24 // MNetworkEnable - int32_t m_iProgressBarDuration; // 0xf28 + int32_t m_iProgressBarDuration; // 0xf28 // MNetworkEnable - float m_flProgressBarStartTime; // 0xf2c + float m_flProgressBarStartTime; // 0xf2c // MNetworkEnable - float m_flStamina; // 0xf30 + float m_flStamina; // 0xf30 // MNetworkEnable - int32_t m_iDirection; // 0xf34 + int32_t m_iDirection; // 0xf34 // MNetworkEnable - int32_t m_iShotsFired; // 0xf38 + int32_t m_iShotsFired; // 0xf38 // MNetworkEnable // MNetworkChangeCallback "OnNightVisionChanged" - bool m_bNightVisionOn; // 0xf3c + bool m_bNightVisionOn; // 0xf3c // MNetworkEnable - bool m_bHasNightVision; // 0xf3d + bool m_bHasNightVision; // 0xf3d +private: + [[maybe_unused]] uint8_t __pad0f3e[0x2]; // 0xf3e +public: // MNetworkEnable - float m_flVelocityModifier; // 0xf40 + float m_flVelocityModifier; // 0xf40 // MNetworkEnable - float m_flGroundAccelLinearFracLastTime; // 0xf44 + float m_flGroundAccelLinearFracLastTime; // 0xf44 // MNetworkEnable - int32_t m_iStartAccount; // 0xf48 + int32_t m_iStartAccount; // 0xf48 // MNetworkEnable - bool m_bIsSpawnRappelling; // 0xf4c + bool m_bIsSpawnRappelling; // 0xf4c +private: + [[maybe_unused]] uint8_t __pad0f4d[0x3]; // 0xf4d +public: // MNetworkEnable - Vector m_vecSpawnRappellingRopeOrigin; // 0xf50 - float m_flSpawnRappellingFadeOutForClientViewOffset; // 0xf5c + Vector m_vecSpawnRappellingRopeOrigin; // 0xf50 + float m_flSpawnRappellingFadeOutForClientViewOffset; // 0xf5c // MNetworkEnable - int32_t m_nSurvivalTeam; // 0xf60 + int32_t m_nSurvivalTeam; // 0xf60 // MNetworkEnable - CHandle< C_CSPlayerPawnBase > m_hSurvivalAssassinationTarget; // 0xf64 + CHandle< C_CSPlayerPawnBase > m_hSurvivalAssassinationTarget; // 0xf64 // MNetworkEnable - float m_flHealthShotBoostExpirationTime; // 0xf68 - float m_flLastKnownParachuteScreenEffectAmount; // 0xf6c - Vector m_vecIntroStartEyePosition; // 0xf70 - Vector m_vecIntroStartPlayerForward; // 0xf7c - float m_flClientDeathTime; // 0xf88 - float m_flNightVisionAlpha; // 0xf94 - bool m_bScreenTearFrameCaptured; // 0xf98 - float m_flFlashBangTime; // 0xf9c - float m_flFlashScreenshotAlpha; // 0xfa0 - float m_flFlashOverlayAlpha; // 0xfa4 - bool m_bFlashBuildUp; // 0xfa8 - bool m_bFlashDspHasBeenCleared; // 0xfa9 - bool m_bFlashScreenshotHasBeenGrabbed; // 0xfaa + float m_flHealthShotBoostExpirationTime; // 0xf68 + float m_flLastKnownParachuteScreenEffectAmount; // 0xf6c + Vector m_vecIntroStartEyePosition; // 0xf70 + Vector m_vecIntroStartPlayerForward; // 0xf7c + float m_flClientDeathTime; // 0xf88 +private: + [[maybe_unused]] uint8_t __pad0f8c[0x8]; // 0xf8c +public: + float m_flNightVisionAlpha; // 0xf94 + bool m_bScreenTearFrameCaptured; // 0xf98 +private: + [[maybe_unused]] uint8_t __pad0f99[0x3]; // 0xf99 +public: + float m_flFlashBangTime; // 0xf9c + float m_flFlashScreenshotAlpha; // 0xfa0 + float m_flFlashOverlayAlpha; // 0xfa4 + bool m_bFlashBuildUp; // 0xfa8 + bool m_bFlashDspHasBeenCleared; // 0xfa9 + bool m_bFlashScreenshotHasBeenGrabbed; // 0xfaa +private: + [[maybe_unused]] uint8_t __pad0fab[0x1]; // 0xfab +public: // MNetworkEnable // MNetworkChangeCallback "OnFlashMaxAlphaChanged" - float m_flFlashMaxAlpha; // 0xfac + float m_flFlashMaxAlpha; // 0xfac // MNetworkEnable // MNetworkChangeCallback "OnFlashDurationChanged" - float m_flFlashDuration; // 0xfb0 - float m_flLastFiredWeaponTime; // 0xfb4 - Vector m_lastStandingPos; // 0xfb8 - Vector m_vecLastMuzzleFlashPos; // 0xfc4 - QAngle m_angLastMuzzleFlashAngle; // 0xfd0 - CHandle< C_BaseEntity > m_hMuzzleFlashShape; // 0xfdc - int32_t m_iHealthBarRenderMaskIndex; // 0xfe0 - float m_flHealthFadeValue; // 0xfe4 - float m_flHealthFadeAlpha; // 0xfe8 - int32_t m_nMyCollisionGroup; // 0xfec - float m_ignoreLadderJumpTime; // 0xff0 - CountdownTimer m_ladderSurpressionTimer; // 0xff8 - Vector m_lastLadderNormal; // 0x1010 - Vector m_lastLadderPos; // 0x101c - float m_flDeathCCWeight; // 0x1030 - bool m_bOldIsScoped; // 0x1034 - float m_flPrevRoundEndTime; // 0x1038 - float m_flPrevMatchEndTime; // 0x103c + float m_flFlashDuration; // 0xfb0 + float m_flLastFiredWeaponTime; // 0xfb4 + Vector m_lastStandingPos; // 0xfb8 + Vector m_vecLastMuzzleFlashPos; // 0xfc4 + QAngle m_angLastMuzzleFlashAngle; // 0xfd0 + CHandle< C_BaseEntity > m_hMuzzleFlashShape; // 0xfdc + int32_t m_iHealthBarRenderMaskIndex; // 0xfe0 + float m_flHealthFadeValue; // 0xfe4 + float m_flHealthFadeAlpha; // 0xfe8 + int32_t m_nMyCollisionGroup; // 0xfec + float m_ignoreLadderJumpTime; // 0xff0 +private: + [[maybe_unused]] uint8_t __pad0ff4[0x4]; // 0xff4 +public: + CountdownTimer m_ladderSurpressionTimer; // 0xff8 + Vector m_lastLadderNormal; // 0x1010 + Vector m_lastLadderPos; // 0x101c +private: + [[maybe_unused]] uint8_t __pad1028[0x8]; // 0x1028 +public: + float m_flDeathCCWeight; // 0x1030 + bool m_bOldIsScoped; // 0x1034 +private: + [[maybe_unused]] uint8_t __pad1035[0x3]; // 0x1035 +public: + float m_flPrevRoundEndTime; // 0x1038 + float m_flPrevMatchEndTime; // 0x103c // MNetworkEnable - uint16_t m_unCurrentEquipmentValue; // 0x1040 + uint16_t m_unCurrentEquipmentValue; // 0x1040 // MNetworkEnable - uint16_t m_unRoundStartEquipmentValue; // 0x1042 + uint16_t m_unRoundStartEquipmentValue; // 0x1042 // MNetworkEnable - uint16_t m_unFreezetimeEndEquipmentValue; // 0x1044 + uint16_t m_unFreezetimeEndEquipmentValue; // 0x1044 // MNetworkEnable - bool[4] m_passiveItems; // 0x1046 - Vector m_vecThirdPersonViewPositionOverride; // 0x104c + bool m_passiveItems[4]; // 0x1046 +private: + [[maybe_unused]] uint8_t __pad104a[0x2]; // 0x104a +public: + Vector m_vecThirdPersonViewPositionOverride; // 0x104c // MNetworkEnable - int32_t m_nHeavyAssaultSuitCooldownRemaining; // 0x1058 + int32_t m_nHeavyAssaultSuitCooldownRemaining; // 0x1058 // MNetworkEnable - int32_t m_ArmorValue; // 0x105c + int32_t m_ArmorValue; // 0x105c // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "32" // MNetworkChangeCallback "playerEyeAnglesChanged" // MNetworkPriority "32" - QAngle m_angEyeAngles; // 0x1060 + QAngle m_angEyeAngles; // 0x1060 +private: + [[maybe_unused]] uint8_t __pad106c[0xc]; // 0x106c +public: // MNetworkEnable - bool m_bInHostageRescueZone; // 0x1078 - float m_fNextThinkPushAway; // 0x107c - bool m_bShouldAutobuyDMWeapons; // 0x1080 - bool m_bShouldAutobuyNow; // 0x1081 + bool m_bInHostageRescueZone; // 0x1078 +private: + [[maybe_unused]] uint8_t __pad1079[0x3]; // 0x1079 +public: + float m_fNextThinkPushAway; // 0x107c + bool m_bShouldAutobuyDMWeapons; // 0x1080 + bool m_bShouldAutobuyNow; // 0x1081 // MNetworkEnable - bool m_bHud_MiniScoreHidden; // 0x1082 + bool m_bHud_MiniScoreHidden; // 0x1082 // MNetworkEnable - bool m_bHud_RadarHidden; // 0x1083 + bool m_bHud_RadarHidden; // 0x1083 // MNetworkEnable - CEntityIndex m_nLastKillerIndex; // 0x1084 + CEntityIndex m_nLastKillerIndex; // 0x1084 // MNetworkEnable - int32_t m_nLastConcurrentKilled; // 0x1088 + int32_t m_nLastConcurrentKilled; // 0x1088 // MNetworkEnable - int32_t m_nDeathCamMusic; // 0x108c - CEntityIndex m_iIDEntIndex; // 0x1090 - CountdownTimer m_delayTargetIDTimer; // 0x1098 - CEntityIndex m_iTargetedWeaponEntIndex; // 0x10b0 - CEntityIndex m_iOldIDEntIndex; // 0x10b4 - CountdownTimer m_holdTargetIDTimer; // 0x10b8 - float m_flCurrentMusicStartTime; // 0x111c - float m_flMusicRoundStartTime; // 0x1120 + int32_t m_nDeathCamMusic; // 0x108c + CEntityIndex m_iIDEntIndex; // 0x1090 +private: + [[maybe_unused]] uint8_t __pad1094[0x4]; // 0x1094 +public: + CountdownTimer m_delayTargetIDTimer; // 0x1098 + CEntityIndex m_iTargetedWeaponEntIndex; // 0x10b0 + CEntityIndex m_iOldIDEntIndex; // 0x10b4 + CountdownTimer m_holdTargetIDTimer; // 0x10b8 +private: + [[maybe_unused]] uint8_t __pad10d0[0x4c]; // 0x10d0 +public: + float m_flCurrentMusicStartTime; // 0x111c + float m_flMusicRoundStartTime; // 0x1120 // MNetworkEnable - int32_t m_cycleLatch; // 0x1124 - float m_serverIntendedCycle; // 0x1128 + int32_t m_cycleLatch; // 0x1124 + float m_serverIntendedCycle; // 0x1128 // MNetworkEnable // MNetworkChangeCallback "RecvProxy_PatchEconIndices" - uint32[5] m_vecPlayerPatchEconIndices; // 0x112c - bool m_bClientEconPatchesNeedUpdate; // 0x1140 + uint32_t m_vecPlayerPatchEconIndices[5]; // 0x112c + bool m_bClientEconPatchesNeedUpdate; // 0x1140 // MNetworkEnable - bool m_bHideTargetID; // 0x1141 - float m_nextTaserShakeTime; // 0x1144 - float m_firstTaserShakeTime; // 0x1148 - float m_flLastSmokeOverlayAlpha; // 0x114c - Vector m_vLastSmokeOverlayColor; // 0x1150 - ParticleIndex_t m_nPlayerSmokedFx; // 0x115c - float m_flLastKnownAccumulatedWeaponEncumbrance; // 0x1160 - float m_flLastTimeComputedAccumulatedWeaponEncumbrance; // 0x1164 - float m_flNextMagDropTime; // 0x1168 - int32_t m_nLastMagDropAttachmentIndex; // 0x116c - CUtlVector< C_BulletHitModel* > m_vecBulletHitModels; // 0x1170 - CUtlVector< C_PickUpModelSlerper* > m_vecPickupModelSlerpers; // 0x1188 - Vector m_vecLastAliveLocalVelocity; // 0x11a0 - float m_flLastNearbyItemHighlightCheck; // 0x11ac - bool m_bInSurvivalDangerZone; // 0x11b0 - bool m_bNearDangerZone; // 0x11b1 + bool m_bHideTargetID; // 0x1141 +private: + [[maybe_unused]] uint8_t __pad1142[0x2]; // 0x1142 +public: + float m_nextTaserShakeTime; // 0x1144 + float m_firstTaserShakeTime; // 0x1148 + float m_flLastSmokeOverlayAlpha; // 0x114c + Vector m_vLastSmokeOverlayColor; // 0x1150 + ParticleIndex_t m_nPlayerSmokedFx; // 0x115c + float m_flLastKnownAccumulatedWeaponEncumbrance; // 0x1160 + float m_flLastTimeComputedAccumulatedWeaponEncumbrance; // 0x1164 + float m_flNextMagDropTime; // 0x1168 + int32_t m_nLastMagDropAttachmentIndex; // 0x116c + CUtlVector< C_BulletHitModel* > m_vecBulletHitModels; // 0x1170 + CUtlVector< C_PickUpModelSlerper* > m_vecPickupModelSlerpers; // 0x1188 + Vector m_vecLastAliveLocalVelocity; // 0x11a0 + float m_flLastNearbyItemHighlightCheck; // 0x11ac + bool m_bInSurvivalDangerZone; // 0x11b0 + bool m_bNearDangerZone; // 0x11b1 +private: + [[maybe_unused]] uint8_t __pad11b2[0x36]; // 0x11b2 +public: // MNetworkEnable - EntitySpottedState_t m_entitySpottedState; // 0x11e8 + EntitySpottedState_t m_entitySpottedState; // 0x11e8 // MNetworkEnable - float m_flTimeOfLastInjury; // 0x1200 + float m_flTimeOfLastInjury; // 0x1200 // MNetworkEnable - RelativeDamagedDirection_t m_nRelativeDirectionOfLastInjury; // 0x1204 + RelativeDamagedDirection_t m_nRelativeDirectionOfLastInjury; // 0x1204 // MNetworkEnable - int32_t m_nSurvivalTeamNumber; // 0x1208 + int32_t m_nSurvivalTeamNumber; // 0x1208 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flNextSprayDecalTime; // 0x120c - bool m_bPreviouslyInBuyZone; // 0x1210 - uint32_t m_unPreviousWeaponHash; // 0x1214 - uint32_t m_unWeaponHash; // 0x1218 - bool m_bPrevDefuser; // 0x121c - bool m_bPrevHelmet; // 0x121d - int32_t m_nPrevArmorVal; // 0x1220 - bool m_bGuardianShouldSprayCustomXMark; // 0x1224 + float m_flNextSprayDecalTime; // 0x120c + bool m_bPreviouslyInBuyZone; // 0x1210 +private: + [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 +public: + uint32_t m_unPreviousWeaponHash; // 0x1214 + uint32_t m_unWeaponHash; // 0x1218 + bool m_bPrevDefuser; // 0x121c + bool m_bPrevHelmet; // 0x121d +private: + [[maybe_unused]] uint8_t __pad121e[0x2]; // 0x121e +public: + int32_t m_nPrevArmorVal; // 0x1220 + bool m_bGuardianShouldSprayCustomXMark; // 0x1224 +private: + [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 +public: // MNetworkEnable // MNetworkBitCount "32" - QAngle m_aimPunchAngle; // 0x1228 + QAngle m_aimPunchAngle; // 0x1228 // MNetworkEnable // MNetworkBitCount "32" - QAngle m_aimPunchAngleVel; // 0x1234 + QAngle m_aimPunchAngleVel; // 0x1234 // MNetworkEnable - int32_t m_aimPunchTickBase; // 0x1240 + int32_t m_aimPunchTickBase; // 0x1240 // MNetworkEnable - float m_aimPunchTickFraction; // 0x1244 - CUtlVector< QAngle > m_aimPunchCache; // 0x1248 - float m_flOldFallVelocity; // 0x1268 - bool m_bHasDeathInfo; // 0x126c - float m_flDeathInfoTime; // 0x1270 - Vector m_vecDeathInfoOrigin; // 0x1274 + float m_aimPunchTickFraction; // 0x1244 + CUtlVector< QAngle > m_aimPunchCache; // 0x1248 +private: + [[maybe_unused]] uint8_t __pad1260[0x8]; // 0x1260 +public: + float m_flOldFallVelocity; // 0x1268 + bool m_bHasDeathInfo; // 0x126c +private: + [[maybe_unused]] uint8_t __pad126d[0x3]; // 0x126d +public: + float m_flDeathInfoTime; // 0x1270 + Vector m_vecDeathInfoOrigin; // 0x1274 // MNetworkEnable - bool m_bKilledByHeadshot; // 0x1280 + bool m_bKilledByHeadshot; // 0x1280 +private: + [[maybe_unused]] uint8_t __pad1281[0x3]; // 0x1281 +public: // MNetworkEnable - CHandle< CCSPlayerController > m_hOriginalController; // 0x1284 - float m_flLandseconds; // 0x1298 + CHandle< CCSPlayerController > m_hOriginalController; // 0x1284 +private: + [[maybe_unused]] uint8_t __pad1288[0x10]; // 0x1288 +public: + float m_flLandseconds; // 0x1298 }; // Alignment: 1 // Size: 0x12a8 -class C_CSObserverPawn : public C_CSPlayerPawnBase, C_BasePlayerPawn, C_BaseCombatCharacter, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_CSObserverPawn : public C_CSPlayerPawnBase +{ public: - CEntityHandle m_hDetectParentChange; // 0x12a0 + CEntityHandle m_hDetectParentChange; // 0x12a0 }; // Alignment: 20 // Size: 0x19a8 -class C_CSPlayerPawn : public C_CSPlayerPawnBase, C_BasePlayerPawn, C_BaseCombatCharacter, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_CSPlayerPawn : public C_CSPlayerPawnBase +{ public: // MNetworkEnable - CCSPlayer_BulletServices* m_pBulletServices; // 0x12a0 + CCSPlayer_BulletServices* m_pBulletServices; // 0x12a0 // MNetworkEnable - CCSPlayer_HostageServices* m_pHostageServices; // 0x12a8 + CCSPlayer_HostageServices* m_pHostageServices; // 0x12a8 // MNetworkEnable - CCSPlayer_GlowServices* m_pGlowServices; // 0x12b0 + CCSPlayer_GlowServices* m_pGlowServices; // 0x12b0 // MNetworkEnable - bool m_bIsBuyMenuOpen; // 0x12b8 + bool m_bIsBuyMenuOpen; // 0x12b8 +private: + [[maybe_unused]] uint8_t __pad12b9[0xcf]; // 0x12b9 +public: // MNetworkEnable // MNetworkChangeCallback "OnRetakesOfferingChanged" - int32_t m_iRetakesOffering; // 0x1388 + int32_t m_iRetakesOffering; // 0x1388 // MNetworkEnable // MNetworkChangeCallback "OnRetakesOfferingCardChanged" - int32_t m_iRetakesOfferingCard; // 0x138c + int32_t m_iRetakesOfferingCard; // 0x138c // MNetworkEnable - bool m_bRetakesHasDefuseKit; // 0x1390 + bool m_bRetakesHasDefuseKit; // 0x1390 // MNetworkEnable - bool m_bRetakesMVPLastRound; // 0x1391 + bool m_bRetakesMVPLastRound; // 0x1391 +private: + [[maybe_unused]] uint8_t __pad1392[0x2]; // 0x1392 +public: // MNetworkEnable - int32_t m_iRetakesMVPBoostItem; // 0x1394 + int32_t m_iRetakesMVPBoostItem; // 0x1394 // MNetworkEnable - loadout_positions_t m_RetakesMVPBoostExtraUtility; // 0x1398 - bool m_bNeedToReApplyGloves; // 0x13ac + loadout_positions_t m_RetakesMVPBoostExtraUtility; // 0x1398 +private: + [[maybe_unused]] uint8_t __pad139c[0x10]; // 0x139c +public: + bool m_bNeedToReApplyGloves; // 0x13ac +private: + [[maybe_unused]] uint8_t __pad13ad[0x3]; // 0x13ad +public: // MNetworkEnable - C_EconItemView m_EconGloves; // 0x13b0 - bool m_bMustSyncRagdollState; // 0x17f8 + C_EconItemView m_EconGloves; // 0x13b0 + bool m_bMustSyncRagdollState; // 0x17f8 +private: + [[maybe_unused]] uint8_t __pad17f9[0x3]; // 0x17f9 +public: // MNetworkEnable - int32_t m_nRagdollDamageBone; // 0x17fc + int32_t m_nRagdollDamageBone; // 0x17fc // MNetworkEnable - Vector m_vRagdollDamageForce; // 0x1800 + Vector m_vRagdollDamageForce; // 0x1800 // MNetworkEnable - Vector m_vRagdollDamagePosition; // 0x180c + Vector m_vRagdollDamagePosition; // 0x180c // MNetworkEnable - char[64] m_szRagdollDamageWeaponName; // 0x1818 + char m_szRagdollDamageWeaponName[64]; // 0x1818 // MNetworkEnable - bool m_bRagdollDamageHeadshot; // 0x1858 - bool m_bLastHeadBoneTransformIsValid; // 0x1980 + bool m_bRagdollDamageHeadshot; // 0x1858 +private: + [[maybe_unused]] uint8_t __pad1859[0x127]; // 0x1859 +public: + bool m_bLastHeadBoneTransformIsValid; // 0x1980 +private: + [[maybe_unused]] uint8_t __pad1981[0x1b]; // 0x1981 +public: // MNetworkEnable - QAngle m_qDeathEyeAngles; // 0x199c + QAngle m_qDeathEyeAngles; // 0x199c }; // Alignment: 16 // Size: 0xc40 -class C_Hostage : public C_BaseCombatCharacter, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Hostage : public C_BaseCombatCharacter +{ public: // MNetworkEnable - EntitySpottedState_t m_entitySpottedState; // 0xbb8 + EntitySpottedState_t m_entitySpottedState; // 0xbb8 // MNetworkEnable - CHandle< C_BaseEntity > m_leader; // 0xbd0 + CHandle< C_BaseEntity > m_leader; // 0xbd0 // MNetworkEnable - Vector m_vel; // 0xbd4 + Vector m_vel; // 0xbd4 // MNetworkEnable // MNetworkChangeCallback "RecvProxy_Rescued" - bool m_isRescued; // 0xbe0 + bool m_isRescued; // 0xbe0 // MNetworkEnable // MNetworkChangeCallback "RecvProxy_Jumped" - bool m_jumpedThisFrame; // 0xbe1 + bool m_jumpedThisFrame; // 0xbe1 +private: + [[maybe_unused]] uint8_t __pad0be2[0x2]; // 0xbe2 +public: // MNetworkEnable - int32_t m_nHostageState; // 0xbe4 + int32_t m_nHostageState; // 0xbe4 // MNetworkEnable - GameTime_t m_flRescueStartTime; // 0xbe8 + GameTime_t m_flRescueStartTime; // 0xbe8 // MNetworkEnable - GameTime_t m_flGrabSuccessTime; // 0xbec + GameTime_t m_flGrabSuccessTime; // 0xbec // MNetworkEnable - GameTime_t m_flDropStartTime; // 0xbf0 - GameTime_t m_flDeadOrRescuedTime; // 0xbf4 - CountdownTimer m_blinkTimer; // 0xbf8 - Vector m_lookAt; // 0xc10 - CountdownTimer m_lookAroundTimer; // 0xc20 - bool m_isInit; // 0xc38 - AttachmentHandle_t m_eyeAttachment; // 0xc39 - AttachmentHandle_t m_chestAttachment; // 0xc3a + GameTime_t m_flDropStartTime; // 0xbf0 + GameTime_t m_flDeadOrRescuedTime; // 0xbf4 + CountdownTimer m_blinkTimer; // 0xbf8 + Vector m_lookAt; // 0xc10 +private: + [[maybe_unused]] uint8_t __pad0c1c[0x4]; // 0xc1c +public: + CountdownTimer m_lookAroundTimer; // 0xc20 + bool m_isInit; // 0xc38 + AttachmentHandle_t m_eyeAttachment; // 0xc39 + AttachmentHandle_t m_chestAttachment; // 0xc3a }; // Alignment: 0 // Size: 0xbb8 -class C_NetTestBaseCombatCharacter : public C_BaseCombatCharacter, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_NetTestBaseCombatCharacter : public C_BaseCombatCharacter +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_AK47 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_AK47 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponAug : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponAug : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponAWP : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponAWP : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponBizon : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponBizon : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponFamas : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponFamas : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponFiveSeven : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponFiveSeven : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponG3SG1 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponG3SG1 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponGalilAR : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponGalilAR : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponGlock : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponGlock : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponHKP2000 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponHKP2000 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponM4A1 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponM4A1 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponMAC10 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponMAC10 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponMag7 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponMag7 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponMP7 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponMP7 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponMP9 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponMP9 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponNegev : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponNegev : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponP250 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponP250 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponP90 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponP90 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponSCAR20 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponSCAR20 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponSG556 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponSG556 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponSSG08 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponSSG08 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponTec9 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponTec9 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponUMP45 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponUMP45 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x13f0 -class C_WeaponM249 : public C_WeaponCSBaseGun, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_WeaponM249 : public C_WeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0x1430 -class C_MolotovGrenade : public C_BaseCSGrenade, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_MolotovGrenade : public C_BaseCSGrenade +{ public: // no members available }; // Alignment: 0 // Size: 0x1430 -class C_IncendiaryGrenade : public C_MolotovGrenade, C_BaseCSGrenade, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_IncendiaryGrenade : public C_MolotovGrenade +{ public: // no members available }; // Alignment: 0 // Size: 0x1410 -class C_DecoyGrenade : public C_BaseCSGrenade, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_DecoyGrenade : public C_BaseCSGrenade +{ public: // no members available }; // Alignment: 0 // Size: 0x1410 -class C_Flashbang : public C_BaseCSGrenade, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_Flashbang : public C_BaseCSGrenade +{ public: // no members available }; // Alignment: 0 // Size: 0x1410 -class C_HEGrenade : public C_BaseCSGrenade, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_HEGrenade : public C_BaseCSGrenade +{ public: // no members available }; // Alignment: 0 // Size: 0x1410 -class C_SmokeGrenade : public C_BaseCSGrenade, C_WeaponCSBase, C_BasePlayerWeapon, C_EconEntity, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_SmokeGrenade : public C_BaseCSGrenade +{ public: // no members available }; // Alignment: 3 // Size: 0x1a30 -class C_CSGO_PreviewPlayer : public C_CSPlayerPawn, C_CSPlayerPawnBase, C_BasePlayerPawn, C_BaseCombatCharacter, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_CSGO_PreviewPlayer : public C_CSPlayerPawn +{ public: - CUtlString m_animgraph; // 0x19a8 - CUtlString m_animgraphCharacterModeString; // 0x19b0 - float m_flInitialModelScale; // 0x19b8 + CUtlString m_animgraph; // 0x19a8 + CUtlString m_animgraphCharacterModeString; // 0x19b0 + float m_flInitialModelScale; // 0x19b8 }; // Alignment: 0 // Size: 0x1a30 -class C_CSGO_PreviewPlayerAlias_csgo_player_previewmodel : public C_CSGO_PreviewPlayer, C_CSPlayerPawn, C_CSPlayerPawnBase, C_BasePlayerPawn, C_BaseCombatCharacter, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_CSGO_PreviewPlayerAlias_csgo_player_previewmodel : public C_CSGO_PreviewPlayer +{ public: // no members available }; // Alignment: 0 // Size: 0x1a30 -class C_CSGO_TeamPreviewModel : public C_CSGO_PreviewPlayer, C_CSPlayerPawn, C_CSPlayerPawnBase, C_BasePlayerPawn, C_BaseCombatCharacter, C_BaseFlex, CBaseAnimGraph, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity -{ +class C_CSGO_TeamPreviewModel : public C_CSGO_PreviewPlayer +{ public: // no members available }; diff --git a/sdk/engine2.hpp b/sdk/engine2.hpp index 12f110f5..b4309f3f 100644 --- a/sdk/engine2.hpp +++ b/sdk/engine2.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: engine2.dll // Classes count: 50 // Enums count: 4 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x3 enum class SpawnDebugOverrideState_t : uint32_t -{ +{ SPAWN_DEBUG_OVERRIDE_NONE = 0x0, SPAWN_DEBUG_OVERRIDE_FORCE_ENABLED = 0x1, SPAWN_DEBUG_OVERRIDE_FORCE_DISABLED = 0x2, @@ -20,7 +21,7 @@ enum class SpawnDebugOverrideState_t : uint32_t // Alignment: 4 // Size: 0x5 enum class SpawnDebugRestrictionOverrideState_t : uint32_t -{ +{ SPAWN_DEBUG_RESTRICT_NONE = 0x0, SPAWN_DEBUG_RESTRICT_IGNORE_MANAGER_DISTANCE_REQS = 0x1, SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_DISTANCE_LOS_REQS = 0x2, @@ -31,7 +32,7 @@ enum class SpawnDebugRestrictionOverrideState_t : uint32_t // Alignment: 4 // Size: 0x3 enum class EntityDormancyType_t : uint32_t -{ +{ ENTITY_NOT_DORMANT = 0x0, ENTITY_DORMANT = 0x1, ENTITY_SUSPENDED = 0x2, @@ -40,257 +41,267 @@ enum class EntityDormancyType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class EntityIOTargetType_t : uint32_t -{ +{ ENTITY_IO_TARGET_INVALID = 0xffffffffffffffff, ENTITY_IO_TARGET_ENTITYNAME = 0x2, ENTITY_IO_TARGET_EHANDLE = 0x6, ENTITY_IO_TARGET_ENTITYNAME_OR_CLASSNAME = 0x7, }; +struct EngineLoopState_t; +struct ChangeAccessorFieldPathIndex_t; +struct CEntityComponentHelper; +struct EntComponentInfo_t; +struct CEntityIdentity; +struct CScriptComponent; + // Alignment: 4 // Size: 0x28 -struct EngineLoopState_t : public -{ +struct EngineLoopState_t +{ public: - int32_t m_nPlatWindowWidth; // 0x18 - int32_t m_nPlatWindowHeight; // 0x1c - int32_t m_nRenderWidth; // 0x20 - int32_t m_nRenderHeight; // 0x24 + int32_t m_nPlatWindowWidth; // 0x18 + int32_t m_nPlatWindowHeight; // 0x1c + int32_t m_nRenderWidth; // 0x20 + int32_t m_nRenderHeight; // 0x24 }; // Alignment: 0 // Size: 0x1 -struct EventModInitialized_t : public -{ +struct EventModInitialized_t +{ public: // no members available }; // Alignment: 1 // Size: 0x4 -struct EventFrameBoundary_t : public -{ +struct EventFrameBoundary_t +{ public: - float m_flFrameTime; // 0x0 + float m_flFrameTime; // 0x0 }; // Alignment: 1 // Size: 0x4 -struct EventProfileStorageAvailable_t : public -{ +struct EventProfileStorageAvailable_t +{ public: - CSplitScreenSlot m_nSplitScreenSlot; // 0x0 + CSplitScreenSlot m_nSplitScreenSlot; // 0x0 }; // Alignment: 0 // Size: 0x1 -struct EventSplitScreenStateChanged_t : public -{ +struct EventSplitScreenStateChanged_t +{ public: // no members available }; // Alignment: 8 // Size: 0x60 -struct EventSetTime_t : public -{ +struct EventSetTime_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - int32_t m_nClientOutputFrames; // 0x28 - double m_flRealTime; // 0x30 - double m_flRenderTime; // 0x38 - double m_flRenderFrameTime; // 0x40 - double m_flRenderFrameTimeUnbounded; // 0x48 - double m_flRenderFrameTimeUnscaled; // 0x50 - double m_flTickRemainder; // 0x58 + EngineLoopState_t m_LoopState; // 0x0 + int32_t m_nClientOutputFrames; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + double m_flRealTime; // 0x30 + double m_flRenderTime; // 0x38 + double m_flRenderFrameTime; // 0x40 + double m_flRenderFrameTimeUnbounded; // 0x48 + double m_flRenderFrameTimeUnscaled; // 0x50 + double m_flTickRemainder; // 0x58 }; // Alignment: 2 // Size: 0x30 -struct EventClientPollInput_t : public -{ +struct EventClientPollInput_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 }; // Alignment: 2 // Size: 0x30 -struct EventClientProcessInput_t : public -{ +struct EventClientProcessInput_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 }; // Alignment: 3 // Size: 0x30 -struct EventClientProcessGameInput_t : public -{ +struct EventClientProcessGameInput_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 - float m_flFrameTime; // 0x2c + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 + float m_flFrameTime; // 0x2c }; // Alignment: 6 // Size: 0x48 -struct EventClientPreOutput_t : public -{ +struct EventClientPreOutput_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - double m_flRenderTime; // 0x28 - double m_flRenderFrameTime; // 0x30 - double m_flRenderFrameTimeUnbounded; // 0x38 - float m_flRealTime; // 0x40 - bool m_bRenderOnly; // 0x44 + EngineLoopState_t m_LoopState; // 0x0 + double m_flRenderTime; // 0x28 + double m_flRenderFrameTime; // 0x30 + double m_flRenderFrameTimeUnbounded; // 0x38 + float m_flRealTime; // 0x40 + bool m_bRenderOnly; // 0x44 }; // Alignment: 1 // Size: 0x1 -struct EventClientSceneSystemThreadStateChange_t : public -{ +struct EventClientSceneSystemThreadStateChange_t +{ public: - bool m_bThreadsActive; // 0x0 + bool m_bThreadsActive; // 0x0 }; // Alignment: 5 // Size: 0x38 -struct EventClientOutput_t : public -{ +struct EventClientOutput_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRenderTime; // 0x28 - float m_flRealTime; // 0x2c - float m_flRenderFrameTimeUnbounded; // 0x30 - bool m_bRenderOnly; // 0x34 + EngineLoopState_t m_LoopState; // 0x0 + float m_flRenderTime; // 0x28 + float m_flRealTime; // 0x2c + float m_flRenderFrameTimeUnbounded; // 0x30 + bool m_bRenderOnly; // 0x34 }; // Alignment: 5 // Size: 0x40 -struct EventClientPostOutput_t : public -{ +struct EventClientPostOutput_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - double m_flRenderTime; // 0x28 - float m_flRenderFrameTime; // 0x30 - float m_flRenderFrameTimeUnbounded; // 0x34 - bool m_bRenderOnly; // 0x38 + EngineLoopState_t m_LoopState; // 0x0 + double m_flRenderTime; // 0x28 + float m_flRenderFrameTime; // 0x30 + float m_flRenderFrameTimeUnbounded; // 0x34 + bool m_bRenderOnly; // 0x38 }; // Alignment: 3 // Size: 0x30 -struct EventClientFrameSimulate_t : public -{ +struct EventClientFrameSimulate_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 - float m_flFrameTime; // 0x2c + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 + float m_flFrameTime; // 0x2c }; // Alignment: 3 // Size: 0x30 -struct EventSimpleLoopFrameUpdate_t : public -{ +struct EventSimpleLoopFrameUpdate_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 - float m_flFrameTime; // 0x2c + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 + float m_flFrameTime; // 0x2c }; // Alignment: 3 // Size: 0x30 -struct EventSimulate_t : public -{ +struct EventSimulate_t +{ public: - EngineLoopState_t m_LoopState; // 0x0 - bool m_bFirstTick; // 0x28 - bool m_bLastTick; // 0x29 + EngineLoopState_t m_LoopState; // 0x0 + bool m_bFirstTick; // 0x28 + bool m_bLastTick; // 0x29 }; // Alignment: 4 // Size: 0x40 struct EventAdvanceTick_t : public EventSimulate_t -{ +{ public: - int32_t m_nCurrentTick; // 0x30 - int32_t m_nCurrentTickThisFrame; // 0x34 - int32_t m_nTotalTicksThisFrame; // 0x38 - int32_t m_nTotalTicks; // 0x3c + int32_t m_nCurrentTick; // 0x30 + int32_t m_nCurrentTickThisFrame; // 0x34 + int32_t m_nTotalTicksThisFrame; // 0x38 + int32_t m_nTotalTicks; // 0x3c }; // Alignment: 4 // Size: 0x40 struct EventPostAdvanceTick_t : public EventSimulate_t -{ +{ public: - int32_t m_nCurrentTick; // 0x30 - int32_t m_nCurrentTickThisFrame; // 0x34 - int32_t m_nTotalTicksThisFrame; // 0x38 - int32_t m_nTotalTicks; // 0x3c + int32_t m_nCurrentTick; // 0x30 + int32_t m_nCurrentTickThisFrame; // 0x34 + int32_t m_nTotalTicksThisFrame; // 0x38 + int32_t m_nTotalTicks; // 0x3c }; // Alignment: 0 // Size: 0x40 -struct EventServerAdvanceTick_t : public EventAdvanceTick_t, EventSimulate_t -{ +struct EventServerAdvanceTick_t : public EventAdvanceTick_t +{ public: // no members available }; // Alignment: 0 // Size: 0x40 -struct EventServerPostAdvanceTick_t : public EventPostAdvanceTick_t, EventSimulate_t -{ +struct EventServerPostAdvanceTick_t : public EventPostAdvanceTick_t +{ public: // no members available }; // Alignment: 0 // Size: 0x40 -struct EventClientAdvanceTick_t : public EventAdvanceTick_t, EventSimulate_t -{ +struct EventClientAdvanceTick_t : public EventAdvanceTick_t +{ public: // no members available }; // Alignment: 0 // Size: 0x40 -struct EventClientPostAdvanceTick_t : public EventPostAdvanceTick_t, EventSimulate_t -{ +struct EventClientPostAdvanceTick_t : public EventPostAdvanceTick_t +{ public: // no members available }; // Alignment: 2 // Size: 0x8 -struct EventClientSendInput_t : public -{ +struct EventClientSendInput_t +{ public: - bool m_bFinalClientCommandTick; // 0x0 - int32_t m_nAdditionalClientCommandsToCreate; // 0x4 + bool m_bFinalClientCommandTick; // 0x0 + int32_t m_nAdditionalClientCommandsToCreate; // 0x4 }; // Alignment: 0 // Size: 0x1 -struct EventClientPredictionPostNetupdate_t : public -{ +struct EventClientPredictionPostNetupdate_t +{ public: // no members available }; // Alignment: 1 // Size: 0x4 -struct EventClientPollNetworking_t : public -{ +struct EventClientPollNetworking_t +{ public: - int32_t m_nTickCount; // 0x0 + int32_t m_nTickCount; // 0x0 }; // Alignment: 0 // Size: 0x1 -struct EventClientProcessNetworking_t : public -{ +struct EventClientProcessNetworking_t +{ public: // no members available }; @@ -298,7 +309,7 @@ public: // Alignment: 0 // Size: 0x30 struct EventClientPreSimulate_t : public EventSimulate_t -{ +{ public: // no members available }; @@ -306,7 +317,7 @@ public: // Alignment: 0 // Size: 0x30 struct EventClientSimulate_t : public EventSimulate_t -{ +{ public: // no members available }; @@ -314,7 +325,7 @@ public: // Alignment: 0 // Size: 0x30 struct EventServerPollNetworking_t : public EventSimulate_t -{ +{ public: // no members available }; @@ -322,7 +333,7 @@ public: // Alignment: 0 // Size: 0x30 struct EventServerProcessNetworking_t : public EventSimulate_t -{ +{ public: // no members available }; @@ -330,7 +341,7 @@ public: // Alignment: 0 // Size: 0x30 struct EventServerSimulate_t : public EventSimulate_t -{ +{ public: // no members available }; @@ -338,7 +349,7 @@ public: // Alignment: 0 // Size: 0x30 struct EventServerPostSimulate_t : public EventSimulate_t -{ +{ public: // no members available }; @@ -346,7 +357,7 @@ public: // Alignment: 0 // Size: 0x30 struct EventClientPostSimulate_t : public EventSimulate_t -{ +{ public: // no members available }; @@ -354,138 +365,156 @@ public: // Alignment: 0 // Size: 0x30 struct EventClientPauseSimulate_t : public EventSimulate_t -{ +{ public: // no members available }; // Alignment: 1 // Size: 0x10 -struct EventPostDataUpdate_t : public -{ +struct EventPostDataUpdate_t +{ public: - int32_t m_nCount; // 0x0 + int32_t m_nCount; // 0x0 }; // Alignment: 1 // Size: 0x10 -struct EventPreDataUpdate_t : public -{ +struct EventPreDataUpdate_t +{ public: - int32_t m_nCount; // 0x0 + int32_t m_nCount; // 0x0 }; // Alignment: 1 // Size: 0x4 -struct EventAppShutdown_t : public -{ +struct EventAppShutdown_t +{ public: - int32_t m_nDummy0; // 0x0 + int32_t m_nDummy0; // 0x0 }; // Alignment: 0 // Size: 0x8 -class IHandleEntity : public -{ +class IHandleEntity +{ public: // no members available }; // Alignment: 1 // Size: 0x28 -class CNetworkVarChainer : public -{ +class CNetworkVarChainer +{ public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x20 + ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x20 }; // Alignment: 0 // Size: 0x1 -class CVariantDefaultAllocator : public -{ +class CVariantDefaultAllocator +{ public: // no members available }; // Alignment: 0 // Size: 0x10 -struct EntOutput_t : public -{ +struct EntOutput_t +{ public: // no members available }; // Alignment: 8 // Size: 0x78 -struct EntComponentInfo_t : public -{ +struct EntComponentInfo_t +{ public: - V_uuid_t m_id; // 0x0 - char* m_pName; // 0x10 - char* m_pCPPClassname; // 0x18 - char* m_pNetworkDataReferencedDescription; // 0x20 - char* m_pNetworkDataReferencedPtrPropDescription; // 0x28 - int32_t m_nRuntimeIndex; // 0x30 - uint32_t m_nFlags; // 0x34 - CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x70 + V_uuid_t m_id; // 0x0 + char* m_pName; // 0x10 + char* m_pCPPClassname; // 0x18 + char* m_pNetworkDataReferencedDescription; // 0x20 + char* m_pNetworkDataReferencedPtrPropDescription; // 0x28 + int32_t m_nRuntimeIndex; // 0x30 + uint32_t m_nFlags; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0038[0x38]; // 0x38 +public: + CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x70 }; // Alignment: 0 // Size: 0x8 -class CEntityComponent : public -{ +class CEntityComponent +{ public: // no members available }; // Alignment: 0 // Size: 0x30 -struct EntInput_t : public -{ +struct EntInput_t +{ public: // no members available }; // Alignment: 4 // Size: 0x28 -class CEntityComponentHelper : public -{ +class CEntityComponentHelper +{ public: - uint32_t m_flags; // 0x8 - EntComponentInfo_t* m_pInfo; // 0x10 - int32_t m_nPriority; // 0x18 - CEntityComponentHelper* m_pNext; // 0x20 + uint32_t m_flags; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + EntComponentInfo_t* m_pInfo; // 0x10 + int32_t m_nPriority; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + CEntityComponentHelper* m_pNext; // 0x20 }; // Alignment: 11 // Size: 0x78 -class CEntityIdentity : public -{ +class CEntityIdentity +{ public: // MNetworkEnable // MNetworkChangeCallback "entityIdentityNameChanged" - int32_t m_nameStringableIndex; // 0x14 - CUtlSymbolLarge m_name; // 0x18 - CUtlSymbolLarge m_designerName; // 0x20 - uint32_t m_flags; // 0x30 + int32_t m_nameStringableIndex; // 0x14 + CUtlSymbolLarge m_name; // 0x18 + CUtlSymbolLarge m_designerName; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 +public: + uint32_t m_flags; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: // MNetworkDisable - WorldGroupId_t m_worldGroupId; // 0x38 - uint32_t m_fDataObjectTypes; // 0x3c + WorldGroupId_t m_worldGroupId; // 0x38 + uint32_t m_fDataObjectTypes; // 0x3c // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x40 - CEntityIdentity* m_pPrev; // 0x58 - CEntityIdentity* m_pNext; // 0x60 - CEntityIdentity* m_pPrevByClass; // 0x68 - CEntityIdentity* m_pNextByClass; // 0x70 + ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0042[0x16]; // 0x42 +public: + CEntityIdentity* m_pPrev; // 0x58 + CEntityIdentity* m_pNext; // 0x60 + CEntityIdentity* m_pPrevByClass; // 0x68 + CEntityIdentity* m_pNextByClass; // 0x70 }; // Alignment: 0 // Size: 0x8 -class CEmptyEntityInstance : public -{ +class CEmptyEntityInstance +{ public: // no members available }; @@ -493,33 +522,36 @@ public: // Alignment: 3 // Size: 0x30 class CEntityInstance : public IHandleEntity -{ +{ public: // MNetworkDisable - CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 + CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 // MNetworkEnable // MNetworkPriority "56" - CEntityIdentity* m_pEntity; // 0x10 + CEntityIdentity* m_pEntity; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0018[0x10]; // 0x18 +public: // MNetworkEnable // MNetworkDisable - CScriptComponent* m_CScriptComponent; // 0x28 + CScriptComponent* m_CScriptComponent; // 0x28 }; // Alignment: 1 // Size: 0x28 -class CEntityIOOutput : public -{ +class CEntityIOOutput +{ public: - CVariantBase< CVariantDefaultAllocator > m_Value; // 0x18 + CVariantBase< CVariantDefaultAllocator > m_Value; // 0x18 }; // Alignment: 1 // Size: 0x38 class CScriptComponent : public CEntityComponent -{ +{ public: - CUtlSymbolLarge m_scriptClassName; // 0x30 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("engine2.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("engine2.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[1]->m_instance);}; + CUtlSymbolLarge m_scriptClassName; // 0x30 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("engine2.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("engine2.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[1]->m_instance);}; }; diff --git a/sdk/materialsystem2.hpp b/sdk/materialsystem2.hpp index ef66d071..ffcfc884 100644 --- a/sdk/materialsystem2.hpp +++ b/sdk/materialsystem2.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: materialsystem2.dll // Classes count: 13 // Enums count: 5 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x4 enum class HorizJustification_e : uint32_t -{ +{ HORIZ_JUSTIFICATION_LEFT = 0x0, HORIZ_JUSTIFICATION_CENTER = 0x1, HORIZ_JUSTIFICATION_RIGHT = 0x2, @@ -21,7 +22,7 @@ enum class HorizJustification_e : uint32_t // Alignment: 4 // Size: 0x4 enum class VertJustification_e : uint32_t -{ +{ VERT_JUSTIFICATION_TOP = 0x0, VERT_JUSTIFICATION_CENTER = 0x1, VERT_JUSTIFICATION_BOTTOM = 0x2, @@ -31,7 +32,7 @@ enum class VertJustification_e : uint32_t // Alignment: 4 // Size: 0x3 enum class LayoutPositionType_e : uint32_t -{ +{ LAYOUTPOSITIONTYPE_VIEWPORT_RELATIVE = 0x0, LAYOUTPOSITIONTYPE_FRACTIONAL = 0x1, LAYOUTPOSITIONTYPE_NONE = 0x2, @@ -40,7 +41,7 @@ enum class LayoutPositionType_e : uint32_t // Alignment: 4 // Size: 0x3 enum class BloomBlendMode_t : uint32_t -{ +{ BLOOM_BLEND_ADD = 0x0, BLOOM_BLEND_SCREEN = 0x1, BLOOM_BLEND_BLUR = 0x2, @@ -49,168 +50,182 @@ enum class BloomBlendMode_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ViewFadeMode_t : uint32_t -{ +{ VIEW_FADE_CONSTANT_COLOR = 0x0, VIEW_FADE_MODULATE = 0x1, VIEW_FADE_MOD2X = 0x2, }; +struct PostProcessingTonemapParameters_t; +struct PostProcessingBloomParameters_t; +struct PostProcessingVignetteParameters_t; +struct PostProcessingLocalContrastParameters_t; + // Alignment: 1 // Size: 0x8 -struct MaterialParam_t : public -{ +struct MaterialParam_t +{ public: - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 }; // Alignment: 1 // Size: 0x10 struct MaterialParamInt_t : public MaterialParam_t -{ +{ public: - int32_t m_nValue; // 0x8 + int32_t m_nValue; // 0x8 }; // Alignment: 1 // Size: 0x10 struct MaterialParamFloat_t : public MaterialParam_t -{ +{ public: - float m_flValue; // 0x8 + float m_flValue; // 0x8 }; // Alignment: 1 // Size: 0x18 struct MaterialParamVector_t : public MaterialParam_t -{ +{ public: - Vector4D m_value; // 0x8 + Vector4D m_value; // 0x8 }; // Alignment: 1 // Size: 0x10 struct MaterialParamTexture_t : public MaterialParam_t -{ +{ public: - CStrongHandle< InfoForResourceTypeCTextureBase > m_pValue; // 0x8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pValue; // 0x8 }; // Alignment: 1 // Size: 0x10 struct MaterialParamString_t : public MaterialParam_t -{ +{ public: - CUtlString m_value; // 0x8 + CUtlString m_value; // 0x8 }; // Alignment: 1 // Size: 0x20 struct MaterialParamBuffer_t : public MaterialParam_t -{ +{ public: - CUtlBinaryBlock m_value; // 0x8 + CUtlBinaryBlock m_value; // 0x8 }; // Alignment: 14 // Size: 0x130 -struct MaterialResourceData_t : public -{ +struct MaterialResourceData_t +{ public: - CUtlString m_materialName; // 0x0 - CUtlString m_shaderName; // 0x8 - CUtlVector< MaterialParamInt_t > m_intParams; // 0x10 - CUtlVector< MaterialParamFloat_t > m_floatParams; // 0x28 - CUtlVector< MaterialParamVector_t > m_vectorParams; // 0x40 - CUtlVector< MaterialParamTexture_t > m_textureParams; // 0x58 - CUtlVector< MaterialParamBuffer_t > m_dynamicParams; // 0x70 - CUtlVector< MaterialParamBuffer_t > m_dynamicTextureParams; // 0x88 - CUtlVector< MaterialParamInt_t > m_intAttributes; // 0xa0 - CUtlVector< MaterialParamFloat_t > m_floatAttributes; // 0xb8 - CUtlVector< MaterialParamVector_t > m_vectorAttributes; // 0xd0 - CUtlVector< MaterialParamTexture_t > m_textureAttributes; // 0xe8 - CUtlVector< MaterialParamString_t > m_stringAttributes; // 0x100 - CUtlVector< CUtlString > m_renderAttributesUsed; // 0x118 + CUtlString m_materialName; // 0x0 + CUtlString m_shaderName; // 0x8 + CUtlVector< MaterialParamInt_t > m_intParams; // 0x10 + CUtlVector< MaterialParamFloat_t > m_floatParams; // 0x28 + CUtlVector< MaterialParamVector_t > m_vectorParams; // 0x40 + CUtlVector< MaterialParamTexture_t > m_textureParams; // 0x58 + CUtlVector< MaterialParamBuffer_t > m_dynamicParams; // 0x70 + CUtlVector< MaterialParamBuffer_t > m_dynamicTextureParams; // 0x88 + CUtlVector< MaterialParamInt_t > m_intAttributes; // 0xa0 + CUtlVector< MaterialParamFloat_t > m_floatAttributes; // 0xb8 + CUtlVector< MaterialParamVector_t > m_vectorAttributes; // 0xd0 + CUtlVector< MaterialParamTexture_t > m_textureAttributes; // 0xe8 + CUtlVector< MaterialParamString_t > m_stringAttributes; // 0x100 + CUtlVector< CUtlString > m_renderAttributesUsed; // 0x118 }; // Alignment: 15 // Size: 0x3c -struct PostProcessingTonemapParameters_t : public -{ +struct PostProcessingTonemapParameters_t +{ public: - float m_flExposureBias; // 0x0 - float m_flShoulderStrength; // 0x4 - float m_flLinearStrength; // 0x8 - float m_flLinearAngle; // 0xc - float m_flToeStrength; // 0x10 - float m_flToeNum; // 0x14 - float m_flToeDenom; // 0x18 - float m_flWhitePoint; // 0x1c - float m_flLuminanceSource; // 0x20 - float m_flExposureBiasShadows; // 0x24 - float m_flExposureBiasHighlights; // 0x28 - float m_flMinShadowLum; // 0x2c - float m_flMaxShadowLum; // 0x30 - float m_flMinHighlightLum; // 0x34 - float m_flMaxHighlightLum; // 0x38 + float m_flExposureBias; // 0x0 + float m_flShoulderStrength; // 0x4 + float m_flLinearStrength; // 0x8 + float m_flLinearAngle; // 0xc + float m_flToeStrength; // 0x10 + float m_flToeNum; // 0x14 + float m_flToeDenom; // 0x18 + float m_flWhitePoint; // 0x1c + float m_flLuminanceSource; // 0x20 + float m_flExposureBiasShadows; // 0x24 + float m_flExposureBiasHighlights; // 0x28 + float m_flMinShadowLum; // 0x2c + float m_flMaxShadowLum; // 0x30 + float m_flMinHighlightLum; // 0x34 + float m_flMaxHighlightLum; // 0x38 }; // Alignment: 10 // Size: 0x70 -struct PostProcessingBloomParameters_t : public -{ +struct PostProcessingBloomParameters_t +{ public: - BloomBlendMode_t m_blendMode; // 0x0 - float m_flBloomStrength; // 0x4 - float m_flScreenBloomStrength; // 0x8 - float m_flBlurBloomStrength; // 0xc - float m_flBloomThreshold; // 0x10 - float m_flBloomThresholdWidth; // 0x14 - float m_flSkyboxBloomStrength; // 0x18 - float m_flBloomStartValue; // 0x1c - float32[5] m_flBlurWeight; // 0x20 - Vector[5] m_vBlurTint; // 0x34 + BloomBlendMode_t m_blendMode; // 0x0 + float m_flBloomStrength; // 0x4 + float m_flScreenBloomStrength; // 0x8 + float m_flBlurBloomStrength; // 0xc + float m_flBloomThreshold; // 0x10 + float m_flBloomThresholdWidth; // 0x14 + float m_flSkyboxBloomStrength; // 0x18 + float m_flBloomStartValue; // 0x1c + float m_flBlurWeight[5]; // 0x20 + Vector m_vBlurTint[5]; // 0x34 }; // Alignment: 6 // Size: 0x24 -struct PostProcessingVignetteParameters_t : public -{ +struct PostProcessingVignetteParameters_t +{ public: - float m_flVignetteStrength; // 0x0 - Vector2D m_vCenter; // 0x4 - float m_flRadius; // 0xc - float m_flRoundness; // 0x10 - float m_flFeather; // 0x14 - Vector m_vColorTint; // 0x18 + float m_flVignetteStrength; // 0x0 + Vector2D m_vCenter; // 0x4 + float m_flRadius; // 0xc + float m_flRoundness; // 0x10 + float m_flFeather; // 0x14 + Vector m_vColorTint; // 0x18 }; // Alignment: 5 // Size: 0x14 -struct PostProcessingLocalContrastParameters_t : public -{ +struct PostProcessingLocalContrastParameters_t +{ public: - float m_flLocalContrastStrength; // 0x0 - float m_flLocalContrastEdgeStrength; // 0x4 - float m_flLocalContrastVignetteStart; // 0x8 - float m_flLocalContrastVignetteEnd; // 0xc - float m_flLocalContrastVignetteBlur; // 0x10 + float m_flLocalContrastStrength; // 0x0 + float m_flLocalContrastEdgeStrength; // 0x4 + float m_flLocalContrastVignetteStart; // 0x8 + float m_flLocalContrastVignetteEnd; // 0xc + float m_flLocalContrastVignetteBlur; // 0x10 }; // Alignment: 11 // Size: 0x118 -struct PostProcessingResource_t : public -{ +struct PostProcessingResource_t +{ public: - bool m_bHasTonemapParams; // 0x0 - PostProcessingTonemapParameters_t m_toneMapParams; // 0x4 - bool m_bHasBloomParams; // 0x40 - PostProcessingBloomParameters_t m_bloomParams; // 0x44 - bool m_bHasVignetteParams; // 0xb4 - PostProcessingVignetteParameters_t m_vignetteParams; // 0xb8 - bool m_bHasLocalContrastParams; // 0xdc - PostProcessingLocalContrastParameters_t m_localConstrastParams; // 0xe0 - int32_t m_nColorCorrectionVolumeDim; // 0xf4 - CUtlBinaryBlock m_colorCorrectionVolumeData; // 0xf8 - bool m_bHasColorCorrection; // 0x110 + bool m_bHasTonemapParams; // 0x0 + PostProcessingTonemapParameters_t m_toneMapParams; // 0x4 + bool m_bHasBloomParams; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: + PostProcessingBloomParameters_t m_bloomParams; // 0x44 + bool m_bHasVignetteParams; // 0xb4 +private: + [[maybe_unused]] uint8_t __pad00b5[0x3]; // 0xb5 +public: + PostProcessingVignetteParameters_t m_vignetteParams; // 0xb8 + bool m_bHasLocalContrastParams; // 0xdc +private: + [[maybe_unused]] uint8_t __pad00dd[0x3]; // 0xdd +public: + PostProcessingLocalContrastParameters_t m_localConstrastParams; // 0xe0 + int32_t m_nColorCorrectionVolumeDim; // 0xf4 + CUtlBinaryBlock m_colorCorrectionVolumeData; // 0xf8 + bool m_bHasColorCorrection; // 0x110 }; diff --git a/sdk/meshsystem.hpp b/sdk/meshsystem.hpp index 537b02c6..a4622895 100644 --- a/sdk/meshsystem.hpp +++ b/sdk/meshsystem.hpp @@ -2,9 +2,10 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: meshsystem.dll // Classes count: 0 // Enums count: 0 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// diff --git a/sdk/networksystem.hpp b/sdk/networksystem.hpp index 880e8f7b..7faacbd8 100644 --- a/sdk/networksystem.hpp +++ b/sdk/networksystem.hpp @@ -2,17 +2,18 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: networksystem.dll // Classes count: 1 // Enums count: 0 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 1 // Size: 0x2 -struct ChangeAccessorFieldPathIndex_t : public -{ +struct ChangeAccessorFieldPathIndex_t +{ public: - int16_t m_Value; // 0x0 + int16_t m_Value; // 0x0 }; diff --git a/sdk/panorama.hpp b/sdk/panorama.hpp index 154a0507..a20b9120 100644 --- a/sdk/panorama.hpp +++ b/sdk/panorama.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: panorama.dll // Classes count: 0 // Enums count: 2 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0xd enum class ELayoutNodeType : uint32_t -{ +{ ROOT = 0x0, STYLES = 0x1, SCRIPT_BODY = 0x2, @@ -30,7 +31,7 @@ enum class ELayoutNodeType : uint32_t // Alignment: 4 // Size: 0xf enum class EStyleNodeType : uint32_t -{ +{ ROOT = 0x0, EXPRESSION = 0x1, PROPERTY = 0x2, diff --git a/sdk/particles.hpp b/sdk/particles.hpp index 297cab97..8df388c4 100644 --- a/sdk/particles.hpp +++ b/sdk/particles.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: particles.dll // Classes count: 418 // Enums count: 66 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x6 enum class ParticleControlPointAxis_t : uint32_t -{ +{ PARTICLE_CP_AXIS_X = 0x0, PARTICLE_CP_AXIS_Y = 0x1, PARTICLE_CP_AXIS_Z = 0x2, @@ -23,7 +24,7 @@ enum class ParticleControlPointAxis_t : uint32_t // Alignment: 4 // Size: 0x6 enum class ParticleImpulseType_t : uint32_t -{ +{ IMPULSE_TYPE_NONE = 0x0, IMPULSE_TYPE_GENERIC = 0x1, IMPULSE_TYPE_ROPE = 0x2, @@ -35,7 +36,7 @@ enum class ParticleImpulseType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleFalloffFunction_t : uint32_t -{ +{ PARTICLE_FALLOFF_CONSTANT = 0x0, PARTICLE_FALLOFF_LINEAR = 0x1, PARTICLE_FALLOFF_EXPONENTIAL = 0x2, @@ -44,7 +45,7 @@ enum class ParticleFalloffFunction_t : uint32_t // Alignment: 4 // Size: 0x3 enum class AnimationType_t : uint32_t -{ +{ ANIMATION_TYPE_FIXED_RATE = 0x0, ANIMATION_TYPE_FIT_LIFETIME = 0x1, ANIMATION_TYPE_MANUAL_FRAMES = 0x2, @@ -53,7 +54,7 @@ enum class AnimationType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ClosestPointTestType_t : uint32_t -{ +{ PARTICLE_CLOSEST_TYPE_BOX = 0x0, PARTICLE_CLOSEST_TYPE_CAPSULE = 0x1, PARTICLE_CLOSEST_TYPE_HYBRID = 0x2, @@ -62,7 +63,7 @@ enum class ClosestPointTestType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class InheritableBoolType_t : uint32_t -{ +{ INHERITABLE_BOOL_INHERIT = 0x0, INHERITABLE_BOOL_FALSE = 0x1, INHERITABLE_BOOL_TRUE = 0x2, @@ -71,7 +72,7 @@ enum class InheritableBoolType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ParticleHitboxBiasType_t : uint32_t -{ +{ PARTICLE_HITBOX_BIAS_ENTITY = 0x0, PARTICLE_HITBOX_BIAS_HITBOX = 0x1, }; @@ -79,7 +80,7 @@ enum class ParticleHitboxBiasType_t : uint32_t // Alignment: 4 // Size: 0x7 enum class PFuncVisualizationType_t : uint32_t -{ +{ PFUNC_VISUALIZATION_SPHERE_WIREFRAME = 0x0, PFUNC_VISUALIZATION_SPHERE_SOLID = 0x1, PFUNC_VISUALIZATION_BOX = 0x2, @@ -92,7 +93,7 @@ enum class PFuncVisualizationType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class PetGroundType_t : uint32_t -{ +{ PET_GROUND_NONE = 0x0, PET_GROUND_GRID = 0x1, PET_GROUND_PLANE = 0x2, @@ -101,7 +102,7 @@ enum class PetGroundType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class SpriteCardShaderType_t : uint32_t -{ +{ SPRITECARD_SHADER_BASE = 0x0, SPRITECARD_SHADER_CUSTOM = 0x1, }; @@ -109,7 +110,7 @@ enum class SpriteCardShaderType_t : uint32_t // Alignment: 4 // Size: 0x5 enum class ParticleTopology_t : uint32_t -{ +{ PARTICLE_TOPOLOGY_POINTS = 0x0, PARTICLE_TOPOLOGY_LINES = 0x1, PARTICLE_TOPOLOGY_TRIS = 0x2, @@ -120,7 +121,7 @@ enum class ParticleTopology_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ParticleDetailLevel_t : uint32_t -{ +{ PARTICLEDETAIL_LOW = 0x0, PARTICLEDETAIL_MEDIUM = 0x1, PARTICLEDETAIL_HIGH = 0x2, @@ -130,7 +131,7 @@ enum class ParticleDetailLevel_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleTraceSet_t : uint32_t -{ +{ PARTICLE_TRACE_SET_ALL = 0x0, PARTICLE_TRACE_SET_STATIC = 0x1, PARTICLE_TRACE_SET_DYNAMIC = 0x2, @@ -139,7 +140,7 @@ enum class ParticleTraceSet_t : uint32_t // Alignment: 4 // Size: 0x5 enum class ParticleCollisionMode_t : uint32_t -{ +{ COLLISION_MODE_PER_PARTICLE_TRACE = 0x3, COLLISION_MODE_USE_NEAREST_TRACE = 0x2, COLLISION_MODE_PER_FRAME_PLANESET = 0x1, @@ -150,7 +151,7 @@ enum class ParticleCollisionMode_t : uint32_t // Alignment: 4 // Size: 0x5 enum class ParticleColorBlendMode_t : uint32_t -{ +{ PARTICLEBLEND_DEFAULT = 0x0, PARTICLEBLEND_OVERLAY = 0x1, PARTICLEBLEND_DARKEN = 0x2, @@ -161,7 +162,7 @@ enum class ParticleColorBlendMode_t : uint32_t // Alignment: 4 // Size: 0x7 enum class Detail2Combo_t : uint32_t -{ +{ DETAIL_2_COMBO_UNINITIALIZED = 0xffffffffffffffff, DETAIL_2_COMBO_OFF = 0x0, DETAIL_2_COMBO_ADD = 0x1, @@ -174,7 +175,7 @@ enum class Detail2Combo_t : uint32_t // Alignment: 4 // Size: 0x4 enum class DetailCombo_t : uint32_t -{ +{ DETAIL_COMBO_OFF = 0x0, DETAIL_COMBO_ADD = 0x1, DETAIL_COMBO_ADD_SELF_ILLUM = 0x2, @@ -184,7 +185,7 @@ enum class DetailCombo_t : uint32_t // Alignment: 4 // Size: 0x9 enum class ScalarExpressionType_t : uint32_t -{ +{ SCALAR_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff, SCALAR_EXPRESSION_ADD = 0x0, SCALAR_EXPRESSION_SUBTRACT = 0x1, @@ -199,7 +200,7 @@ enum class ScalarExpressionType_t : uint32_t // Alignment: 4 // Size: 0x9 enum class VectorExpressionType_t : uint32_t -{ +{ VECTOR_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff, VECTOR_EXPRESSION_ADD = 0x0, VECTOR_EXPRESSION_SUBTRACT = 0x1, @@ -214,7 +215,7 @@ enum class VectorExpressionType_t : uint32_t // Alignment: 4 // Size: 0x7 enum class VectorFloatExpressionType_t : uint32_t -{ +{ VECTOR_FLOAT_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff, VECTOR_FLOAT_EXPRESSION_DOTPRODUCT = 0x0, VECTOR_FLOAT_EXPRESSION_DISTANCE = 0x1, @@ -227,7 +228,7 @@ enum class VectorFloatExpressionType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class MissingParentInheritBehavior_t : uint32_t -{ +{ MISSING_PARENT_DO_NOTHING = 0xffffffffffffffff, MISSING_PARENT_KILL = 0x0, MISSING_PARENT_FIND_NEW = 0x1, @@ -237,7 +238,7 @@ enum class MissingParentInheritBehavior_t : uint32_t // Alignment: 4 // Size: 0x2 enum class HitboxLerpType_t : uint32_t -{ +{ HITBOX_LERP_LIFETIME = 0x0, HITBOX_LERP_CONSTANT = 0x1, }; @@ -245,7 +246,7 @@ enum class HitboxLerpType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleSelection_t : uint32_t -{ +{ PARTICLE_SELECTION_FIRST = 0x0, PARTICLE_SELECTION_LAST = 0x1, PARTICLE_SELECTION_NUMBER = 0x2, @@ -254,7 +255,7 @@ enum class ParticleSelection_t : uint32_t // Alignment: 4 // Size: 0xb enum class ParticlePinDistance_t : uint32_t -{ +{ PARTICLE_PIN_DISTANCE_NONE = 0xffffffffffffffff, PARTICLE_PIN_DISTANCE_NEIGHBOR = 0x0, PARTICLE_PIN_DISTANCE_FARTHEST = 0x1, @@ -271,7 +272,7 @@ enum class ParticlePinDistance_t : uint32_t // Alignment: 4 // Size: 0xd enum class ParticleColorBlendType_t : uint32_t -{ +{ PARTICLE_COLOR_BLEND_MULTIPLY = 0x0, PARTICLE_COLOR_BLEND_MULTIPLY2X = 0x1, PARTICLE_COLOR_BLEND_DIVIDE = 0x2, @@ -290,7 +291,7 @@ enum class ParticleColorBlendType_t : uint32_t // Alignment: 4 // Size: 0x6 enum class ParticleSetMethod_t : uint32_t -{ +{ PARTICLE_SET_REPLACE_VALUE = 0x0, PARTICLE_SET_SCALE_INITIAL_VALUE = 0x1, PARTICLE_SET_ADD_TO_INITIAL_VALUE = 0x2, @@ -302,7 +303,7 @@ enum class ParticleSetMethod_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleDirectionNoiseType_t : uint32_t -{ +{ PARTICLE_DIR_NOISE_PERLIN = 0x0, PARTICLE_DIR_NOISE_CURL = 0x1, PARTICLE_DIR_NOISE_WORLEY_BASIC = 0x2, @@ -311,7 +312,7 @@ enum class ParticleDirectionNoiseType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleRotationLockType_t : uint32_t -{ +{ PARTICLE_ROTATION_LOCK_NONE = 0x0, PARTICLE_ROTATION_LOCK_ROTATIONS = 0x1, PARTICLE_ROTATION_LOCK_NORMAL = 0x2, @@ -320,7 +321,7 @@ enum class ParticleRotationLockType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleEndcapMode_t : uint32_t -{ +{ PARTICLE_ENDCAP_ALWAYS_ON = 0xffffffffffffffff, PARTICLE_ENDCAP_ENDCAP_OFF = 0x0, PARTICLE_ENDCAP_ENDCAP_ON = 0x1, @@ -329,7 +330,7 @@ enum class ParticleEndcapMode_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleLightingQuality_t : uint32_t -{ +{ PARTICLE_LIGHTING_PER_PARTICLE = 0x0, PARTICLE_LIGHTING_PER_VERTEX = 0x1, PARTICLE_LIGHTING_PER_PIXEL = 0xffffffffffffffff, @@ -338,7 +339,7 @@ enum class ParticleLightingQuality_t : uint32_t // Alignment: 4 // Size: 0x2 enum class StandardLightingAttenuationStyle_t : uint32_t -{ +{ LIGHT_STYLE_OLD = 0x0, LIGHT_STYLE_NEW = 0x1, }; @@ -346,7 +347,7 @@ enum class StandardLightingAttenuationStyle_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleTraceMissBehavior_t : uint32_t -{ +{ PARTICLE_TRACE_MISS_BEHAVIOR_NONE = 0x0, PARTICLE_TRACE_MISS_BEHAVIOR_KILL = 0x1, PARTICLE_TRACE_MISS_BEHAVIOR_TRACE_END = 0x2, @@ -355,7 +356,7 @@ enum class ParticleTraceMissBehavior_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ParticleOrientationSetMode_t : uint32_t -{ +{ PARTICLE_ORIENTATION_SET_FROM_VELOCITY = 0x0, PARTICLE_ORIENTATION_SET_FROM_ROTATIONS = 0x1, }; @@ -363,7 +364,7 @@ enum class ParticleOrientationSetMode_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ParticleLightnintBranchBehavior_t : uint32_t -{ +{ PARTICLE_LIGHTNING_BRANCH_CURRENT_DIR = 0x0, PARTICLE_LIGHTNING_BRANCH_ENDPOINT_DIR = 0x1, }; @@ -371,7 +372,7 @@ enum class ParticleLightnintBranchBehavior_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleLightFogLightingMode_t : uint32_t -{ +{ PARTICLE_LIGHT_FOG_LIGHTING_MODE_NONE = 0x0, PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC = 0x2, PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC_NOSHADOWS = 0x4, @@ -380,7 +381,7 @@ enum class ParticleLightFogLightingMode_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleSequenceCropOverride_t : uint32_t -{ +{ PARTICLE_SEQUENCE_CROP_OVERRIDE_DEFAULT = 0xffffffffffffffff, PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_OFF = 0x0, PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_ON = 0x1, @@ -389,7 +390,7 @@ enum class ParticleSequenceCropOverride_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleParentSetMode_t : uint32_t -{ +{ PARTICLE_SET_PARENT_NO = 0x0, PARTICLE_SET_PARENT_IMMEDIATE = 0x1, PARTICLE_SET_PARENT_ROOT = 0x1, @@ -398,7 +399,7 @@ enum class ParticleParentSetMode_t : uint32_t // Alignment: 4 // Size: 0x2 enum class MaterialProxyType_t : uint32_t -{ +{ MATERIAL_PROXY_STATUS_EFFECT = 0x0, MATERIAL_PROXY_TINT = 0x1, }; @@ -406,7 +407,7 @@ enum class MaterialProxyType_t : uint32_t // Alignment: 4 // Size: 0x6 enum class ParticleOrientationChoiceList_t : uint32_t -{ +{ PARTICLE_ORIENTATION_SCREEN_ALIGNED = 0x0, PARTICLE_ORIENTATION_SCREEN_Z_ALIGNED = 0x1, PARTICLE_ORIENTATION_WORLD_Z_ALIGNED = 0x2, @@ -418,7 +419,7 @@ enum class ParticleOrientationChoiceList_t : uint32_t // Alignment: 4 // Size: 0x7 enum class ParticleOutputBlendMode_t : uint32_t -{ +{ PARTICLE_OUTPUT_BLEND_MODE_ALPHA = 0x0, PARTICLE_OUTPUT_BLEND_MODE_ADD = 0x1, PARTICLE_OUTPUT_BLEND_MODE_BLEND_ADD = 0x2, @@ -431,7 +432,7 @@ enum class ParticleOutputBlendMode_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ParticleAlphaReferenceType_t : uint32_t -{ +{ PARTICLE_ALPHA_REFERENCE_ALPHA_ALPHA = 0x0, PARTICLE_ALPHA_REFERENCE_OPAQUE_ALPHA = 0x1, PARTICLE_ALPHA_REFERENCE_ALPHA_OPAQUE = 0x2, @@ -441,7 +442,7 @@ enum class ParticleAlphaReferenceType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class BlurFilterType_t : uint32_t -{ +{ BLURFILTER_GAUSSIAN = 0x0, BLURFILTER_BOX = 0x1, }; @@ -449,7 +450,7 @@ enum class BlurFilterType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ParticleLightTypeChoiceList_t : uint32_t -{ +{ PARTICLE_LIGHT_TYPE_POINT = 0x0, PARTICLE_LIGHT_TYPE_SPOT = 0x1, PARTICLE_LIGHT_TYPE_FX = 0x2, @@ -459,7 +460,7 @@ enum class ParticleLightTypeChoiceList_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ParticleLightUnitChoiceList_t : uint32_t -{ +{ PARTICLE_LIGHT_UNIT_CANDELAS = 0x0, PARTICLE_LIGHT_UNIT_LUMENS = 0x1, }; @@ -467,7 +468,7 @@ enum class ParticleLightUnitChoiceList_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ParticleOmni2LightTypeChoiceList_t : uint32_t -{ +{ PARTICLE_OMNI2_LIGHT_TYPE_POINT = 0x0, PARTICLE_OMNI2_LIGHT_TYPE_SPHERE = 0x1, }; @@ -475,7 +476,7 @@ enum class ParticleOmni2LightTypeChoiceList_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleLightBehaviorChoiceList_t : uint32_t -{ +{ PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION = 0x0, PARTICLE_LIGHT_BEHAVIOR_ROPE = 0x1, PARTICLE_LIGHT_BEHAVIOR_TRAILS = 0x2, @@ -484,7 +485,7 @@ enum class ParticleLightBehaviorChoiceList_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleDepthFeatheringMode_t : uint32_t -{ +{ PARTICLE_DEPTH_FEATHERING_OFF = 0x0, PARTICLE_DEPTH_FEATHERING_ON_OPTIONAL = 0x1, PARTICLE_DEPTH_FEATHERING_ON_REQUIRED = 0x2, @@ -493,7 +494,7 @@ enum class ParticleDepthFeatheringMode_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ParticleVRHandChoiceList_t : uint32_t -{ +{ PARTICLE_VRHAND_LEFT = 0x0, PARTICLE_VRHAND_RIGHT = 0x1, PARTICLE_VRHAND_CP = 0x2, @@ -503,7 +504,7 @@ enum class ParticleVRHandChoiceList_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ParticleSortingChoiceList_t : uint32_t -{ +{ PARTICLE_SORTING_NEAREST = 0x0, PARTICLE_SORTING_CREATION_TIME = 0x1, }; @@ -511,7 +512,7 @@ enum class ParticleSortingChoiceList_t : uint32_t // Alignment: 4 // Size: 0xa enum class SpriteCardTextureType_t : uint32_t -{ +{ SPRITECARD_TEXTURE_DIFFUSE = 0x0, SPRITECARD_TEXTURE_ZOOM = 0x1, SPRITECARD_TEXTURE_1D_COLOR_LOOKUP = 0x2, @@ -527,7 +528,7 @@ enum class SpriteCardTextureType_t : uint32_t // Alignment: 4 // Size: 0xf enum class SpriteCardTextureChannel_t : uint32_t -{ +{ SPRITECARD_TEXTURE_CHANNEL_MIX_RGB = 0x0, SPRITECARD_TEXTURE_CHANNEL_MIX_RGBA = 0x1, SPRITECARD_TEXTURE_CHANNEL_MIX_A = 0x2, @@ -548,7 +549,7 @@ enum class SpriteCardTextureChannel_t : uint32_t // Alignment: 4 // Size: 0xe enum class SpriteCardPerParticleScale_t : uint32_t -{ +{ SPRITECARD_TEXTURE_PP_SCALE_NONE = 0x0, SPRITECARD_TEXTURE_PP_SCALE_PARTICLE_AGE = 0x1, SPRITECARD_TEXTURE_PP_SCALE_ANIMATION_FRAME = 0x2, @@ -568,7 +569,7 @@ enum class SpriteCardPerParticleScale_t : uint32_t // Alignment: 4 // Size: 0x7 enum class ParticleTextureLayerBlendType_t : uint32_t -{ +{ SPRITECARD_TEXTURE_BLEND_MULTIPLY = 0x0, SPRITECARD_TEXTURE_BLEND_MOD2X = 0x1, SPRITECARD_TEXTURE_BLEND_REPLACE = 0x2, @@ -581,7 +582,7 @@ enum class ParticleTextureLayerBlendType_t : uint32_t // Alignment: 4 // Size: 0x6 enum class ParticlePostProcessPriorityGroup_t : uint32_t -{ +{ PARTICLE_POST_PROCESS_PRIORITY_LEVEL_VOLUME = 0x0, PARTICLE_POST_PROCESS_PRIORITY_LEVEL_OVERRIDE = 0x1, PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_EFFECT = 0x2, @@ -593,7 +594,7 @@ enum class ParticlePostProcessPriorityGroup_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ParticleFogType_t : uint32_t -{ +{ PARTICLE_FOG_GAME_DEFAULT = 0x0, PARTICLE_FOG_ENABLED = 0x1, PARTICLE_FOG_DISABLED = 0x2, @@ -602,7 +603,7 @@ enum class ParticleFogType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class TextureRepetitionMode_t : uint32_t -{ +{ TEXTURE_REPETITION_PARTICLE = 0x0, TEXTURE_REPETITION_PATH = 0x1, }; @@ -610,7 +611,7 @@ enum class TextureRepetitionMode_t : uint32_t // Alignment: 4 // Size: 0x14 enum class ParticleFloatType_t : uint32_t -{ +{ PF_TYPE_INVALID = 0xffffffffffffffff, PF_TYPE_LITERAL = 0x0, PF_TYPE_NAMED_VALUE = 0x1, @@ -636,7 +637,7 @@ enum class ParticleFloatType_t : uint32_t // Alignment: 4 // Size: 0x5 enum class ParticleFloatBiasType_t : uint32_t -{ +{ PF_BIAS_TYPE_INVALID = 0xffffffffffffffff, PF_BIAS_TYPE_STANDARD = 0x0, PF_BIAS_TYPE_GAIN = 0x1, @@ -647,7 +648,7 @@ enum class ParticleFloatBiasType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class PFNoiseType_t : uint32_t -{ +{ PF_NOISE_TYPE_PERLIN = 0x0, PF_NOISE_TYPE_SIMPLEX = 0x1, PF_NOISE_TYPE_WORLEY = 0x2, @@ -657,7 +658,7 @@ enum class PFNoiseType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class PFNoiseModifier_t : uint32_t -{ +{ PF_NOISE_MODIFIER_NONE = 0x0, PF_NOISE_MODIFIER_LINES = 0x1, PF_NOISE_MODIFIER_CLUMPS = 0x2, @@ -667,7 +668,7 @@ enum class PFNoiseModifier_t : uint32_t // Alignment: 4 // Size: 0x6 enum class PFNoiseTurbulence_t : uint32_t -{ +{ PF_NOISE_TURB_NONE = 0x0, PF_NOISE_TURB_HIGHLIGHT = 0x1, PF_NOISE_TURB_FEEDBACK = 0x2, @@ -679,7 +680,7 @@ enum class PFNoiseTurbulence_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ParticleFloatRandomMode_t : uint32_t -{ +{ PF_RANDOM_MODE_INVALID = 0xffffffffffffffff, PF_RANDOM_MODE_CONSTANT = 0x0, PF_RANDOM_MODE_VARYING = 0x1, @@ -689,7 +690,7 @@ enum class ParticleFloatRandomMode_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ParticleFloatInputMode_t : uint32_t -{ +{ PF_INPUT_MODE_INVALID = 0xffffffffffffffff, PF_INPUT_MODE_CLAMPED = 0x0, PF_INPUT_MODE_LOOPED = 0x1, @@ -699,7 +700,7 @@ enum class ParticleFloatInputMode_t : uint32_t // Alignment: 4 // Size: 0x8 enum class ParticleFloatMapType_t : uint32_t -{ +{ PF_MAP_TYPE_INVALID = 0xffffffffffffffff, PF_MAP_TYPE_DIRECT = 0x0, PF_MAP_TYPE_MULT = 0x1, @@ -713,7 +714,7 @@ enum class ParticleFloatMapType_t : uint32_t // Alignment: 4 // Size: 0x5 enum class ParticleTransformType_t : uint32_t -{ +{ PT_TYPE_INVALID = 0x0, PT_TYPE_NAMED_VALUE = 0x1, PT_TYPE_CONTROL_POINT = 0x2, @@ -724,7 +725,7 @@ enum class ParticleTransformType_t : uint32_t // Alignment: 4 // Size: 0x11 enum class ParticleVecType_t : uint32_t -{ +{ PVEC_TYPE_INVALID = 0xffffffffffffffff, PVEC_TYPE_LITERAL = 0x0, PVEC_TYPE_LITERAL_COLOR = 0x1, @@ -744,524 +745,646 @@ enum class ParticleVecType_t : uint32_t PVEC_TYPE_COUNT = 0xf, }; +struct ParticleAttributeIndex_t; +struct ParticlePreviewState_t; +struct CParticleCollectionFloatInput; +struct CParticleVisibilityInputs; +struct TextureControls_t; +struct CParticleCollectionVecInput; +struct CParticleTransformInput; +struct CParticleFloatInput; +struct CNewParticleEffect; +struct IParticleCollection; +struct PARTICLE_EHANDLE__; +struct CParticleProperty; +struct CPerParticleFloatInput; +struct CPathParameters; +struct CPerParticleVecInput; +struct CRandomNumberGeneratorParameters; +struct CParticleRemapFloatInput; +struct ControlPointReference_t; + // Alignment: 2 // Size: 0x8 -class CRandomNumberGeneratorParameters : public -{ +class CRandomNumberGeneratorParameters +{ public: // MPropertyFriendlyName "Distribute evenly" - bool m_bDistributeEvenly; // 0x0 + bool m_bDistributeEvenly; // 0x0 // MPropertyFriendlyName "Seed (negative values=randomize)" // MPropertySuppressExpr "!m_bDistributeEvenly" - int32_t m_nSeed; // 0x4 -}; - -// Alignment: 3 -// Size: 0x10 -struct MaterialVariable_t : public -{ -public: - // MPropertyFriendlyName "material variable" - CUtlString m_strVariable; // 0x0 - // MPropertyFriendlyName "particle field" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nVariableField; // 0x8 - // MPropertyFriendlyName "scale" - float m_flScale; // 0xc + int32_t m_nSeed; // 0x4 }; // Alignment: 1 // Size: 0x4 -struct ParticleAttributeIndex_t : public -{ +struct ParticleAttributeIndex_t +{ public: - int32_t m_Value; // 0x0 + int32_t m_Value; // 0x0 +}; + +// Alignment: 3 +// Size: 0x10 +struct MaterialVariable_t +{ +public: + // MPropertyFriendlyName "material variable" + CUtlString m_strVariable; // 0x0 + // MPropertyFriendlyName "particle field" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nVariableField; // 0x8 + // MPropertyFriendlyName "scale" + float m_flScale; // 0xc }; // Alignment: 2 // Size: 0x10 -struct ParticlePreviewBodyGroup_t : public -{ +struct ParticlePreviewBodyGroup_t +{ public: - CUtlString m_bodyGroupName; // 0x0 - int32_t m_nValue; // 0x8 + CUtlString m_bodyGroupName; // 0x0 + int32_t m_nValue; // 0x8 }; // Alignment: 15 // Size: 0x58 -struct ParticlePreviewState_t : public -{ +struct ParticlePreviewState_t +{ public: - CUtlString m_previewModel; // 0x0 - uint32_t m_nModSpecificData; // 0x8 - PetGroundType_t m_groundType; // 0xc - CUtlString m_sequenceName; // 0x10 - int32_t m_nFireParticleOnSequenceFrame; // 0x18 - CUtlString m_hitboxSetName; // 0x20 - CUtlString m_materialGroupName; // 0x28 - CUtlVector< ParticlePreviewBodyGroup_t > m_vecBodyGroups; // 0x30 - float m_flPlaybackSpeed; // 0x48 - float m_flParticleSimulationRate; // 0x4c - bool m_bShouldDrawHitboxes; // 0x50 - bool m_bShouldDrawAttachments; // 0x51 - bool m_bShouldDrawAttachmentNames; // 0x52 - bool m_bShouldDrawControlPointAxes; // 0x53 - bool m_bAnimationNonLooping; // 0x54 + CUtlString m_previewModel; // 0x0 + uint32_t m_nModSpecificData; // 0x8 + PetGroundType_t m_groundType; // 0xc + CUtlString m_sequenceName; // 0x10 + int32_t m_nFireParticleOnSequenceFrame; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + CUtlString m_hitboxSetName; // 0x20 + CUtlString m_materialGroupName; // 0x28 + CUtlVector< ParticlePreviewBodyGroup_t > m_vecBodyGroups; // 0x30 + float m_flPlaybackSpeed; // 0x48 + float m_flParticleSimulationRate; // 0x4c + bool m_bShouldDrawHitboxes; // 0x50 + bool m_bShouldDrawAttachments; // 0x51 + bool m_bShouldDrawAttachmentNames; // 0x52 + bool m_bShouldDrawControlPointAxes; // 0x53 + bool m_bAnimationNonLooping; // 0x54 }; // Alignment: 6 // Size: 0x30 -struct ParticleControlPointDriver_t : public -{ +struct ParticleControlPointDriver_t +{ public: - int32_t m_iControlPoint; // 0x0 - ParticleAttachment_t m_iAttachType; // 0x4 - CUtlString m_attachmentName; // 0x8 - Vector m_vecOffset; // 0x10 - QAngle m_angOffset; // 0x1c - CUtlString m_entityName; // 0x28 + int32_t m_iControlPoint; // 0x0 + ParticleAttachment_t m_iAttachType; // 0x4 + CUtlString m_attachmentName; // 0x8 + Vector m_vecOffset; // 0x10 + QAngle m_angOffset; // 0x1c + CUtlString m_entityName; // 0x28 }; // Alignment: 3 // Size: 0x78 -struct ParticleControlPointConfiguration_t : public -{ +struct ParticleControlPointConfiguration_t +{ public: - CUtlString m_name; // 0x0 - CUtlVector< ParticleControlPointDriver_t > m_drivers; // 0x8 - ParticlePreviewState_t m_previewState; // 0x20 + CUtlString m_name; // 0x0 + CUtlVector< ParticleControlPointDriver_t > m_drivers; // 0x8 + ParticlePreviewState_t m_previewState; // 0x20 }; // Alignment: 0 // Size: 0x10 -class IParticleCollection : public -{ +class IParticleCollection +{ public: // no members available }; // Alignment: 0 // Size: 0x8 -class IControlPointEditorData : public -{ +class IControlPointEditorData +{ public: // no members available }; // Alignment: 0 // Size: 0x8 -class IParticleSystemDefinition : public -{ +class IParticleSystemDefinition +{ public: // no members available }; // Alignment: 18 // Size: 0x44 -class CParticleVisibilityInputs : public -{ +class CParticleVisibilityInputs +{ public: // MPropertyFriendlyName "camera depth bias" - float m_flCameraBias; // 0x0 + float m_flCameraBias; // 0x0 // MPropertyFriendlyName "input control point number" - int32_t m_nCPin; // 0x4 + int32_t m_nCPin; // 0x4 // MPropertyFriendlyName "input proxy radius" // MPropertySuppressExpr "m_nCPin == -1" - float m_flProxyRadius; // 0x8 + float m_flProxyRadius; // 0x8 // MPropertyFriendlyName "input proxy visibility minimum" // MPropertySuppressExpr "m_nCPin == -1" - float m_flInputMin; // 0xc + float m_flInputMin; // 0xc // MPropertyFriendlyName "input proxy visibility maximum" // MPropertySuppressExpr "m_nCPin == -1" - float m_flInputMax; // 0x10 + float m_flInputMax; // 0x10 // MPropertyFriendlyName "input proxy unsupported hardware fallback value" // MPropertySuppressExpr "m_nCPin == -1" - float m_flNoPixelVisibilityFallback; // 0x14 + float m_flNoPixelVisibilityFallback; // 0x14 // MPropertyFriendlyName "input distance minimum" // MPropertySuppressExpr "m_nCPin == -1" - float m_flDistanceInputMin; // 0x18 + float m_flDistanceInputMin; // 0x18 // MPropertyFriendlyName "input distance maximum" // MPropertySuppressExpr "m_nCPin == -1" - float m_flDistanceInputMax; // 0x1c + float m_flDistanceInputMax; // 0x1c // MPropertyFriendlyName "input dot minimum" // MPropertySuppressExpr "m_nCPin == -1" - float m_flDotInputMin; // 0x20 + float m_flDotInputMin; // 0x20 // MPropertyFriendlyName "input dot maximum" // MPropertySuppressExpr "m_nCPin == -1" - float m_flDotInputMax; // 0x24 + float m_flDotInputMax; // 0x24 // MPropertyFriendlyName "input dot use CP angles" // MPropertySuppressExpr "m_nCPin == -1" - bool m_bDotCPAngles; // 0x28 + bool m_bDotCPAngles; // 0x28 // MPropertyFriendlyName "input dot use Camera angles" // MPropertySuppressExpr "m_nCPin == -1" - bool m_bDotCameraAngles; // 0x29 + bool m_bDotCameraAngles; // 0x29 +private: + [[maybe_unused]] uint8_t __pad002a[0x2]; // 0x2a +public: // MPropertyFriendlyName "output alpha scale minimum" // MPropertySuppressExpr "m_nCPin == -1" - float m_flAlphaScaleMin; // 0x2c + float m_flAlphaScaleMin; // 0x2c // MPropertyFriendlyName "output alpha scale maximum" // MPropertySuppressExpr "m_nCPin == -1" - float m_flAlphaScaleMax; // 0x30 + float m_flAlphaScaleMax; // 0x30 // MPropertyFriendlyName "output radius scale minimum" // MPropertySuppressExpr "m_nCPin == -1" - float m_flRadiusScaleMin; // 0x34 + float m_flRadiusScaleMin; // 0x34 // MPropertyFriendlyName "output radius scale maximum" // MPropertySuppressExpr "m_nCPin == -1" - float m_flRadiusScaleMax; // 0x38 + float m_flRadiusScaleMax; // 0x38 // MPropertyFriendlyName "output radius FOV scale base" // MPropertySuppressExpr "m_nCPin == -1" - float m_flRadiusScaleFOVBase; // 0x3c + float m_flRadiusScaleFOVBase; // 0x3c // MPropertyFriendlyName "vr camera right eye" // MParticleAdvancedField - bool m_bRightEye; // 0x40 + bool m_bRightEye; // 0x40 }; // Alignment: 8 // Size: 0x40 -class CPathParameters : public -{ +class CPathParameters +{ public: // MPropertyFriendlyName "start control point number" - int32_t m_nStartControlPointNumber; // 0x0 + int32_t m_nStartControlPointNumber; // 0x0 // MPropertyFriendlyName "end control point number" - int32_t m_nEndControlPointNumber; // 0x4 + int32_t m_nEndControlPointNumber; // 0x4 // MPropertyFriendlyName "bulge control 0=random 1=orientation of start pnt 2=orientation of end point" - int32_t m_nBulgeControl; // 0x8 + int32_t m_nBulgeControl; // 0x8 // MPropertyFriendlyName "random bulge" - float m_flBulge; // 0xc + float m_flBulge; // 0xc // MPropertyFriendlyName "mid point position" - float m_flMidPoint; // 0x10 + float m_flMidPoint; // 0x10 // MPropertyFriendlyName "Offset from curve start point for path start" // MVectorIsCoordinate - Vector m_vStartPointOffset; // 0x14 + Vector m_vStartPointOffset; // 0x14 // MPropertyFriendlyName "Offset from curve midpoint for curve center" // MVectorIsCoordinate - Vector m_vMidPointOffset; // 0x20 + Vector m_vMidPointOffset; // 0x20 // MPropertyFriendlyName "Offset from control point for path end" // MVectorIsCoordinate - Vector m_vEndOffset; // 0x2c + Vector m_vEndOffset; // 0x2c }; // Alignment: 5 // Size: 0x20 -struct ParticleChildrenInfo_t : public -{ +struct ParticleChildrenInfo_t +{ public: // MPropertySuppressField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_ChildRef; // 0x0 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_ChildRef; // 0x0 // MPropertyFriendlyName "delay" - float m_flDelay; // 0x8 + float m_flDelay; // 0x8 // MPropertyFriendlyName "end cap effect" - bool m_bEndCap; // 0xc + bool m_bEndCap; // 0xc // MPropertySuppressField - bool m_bDisableChild; // 0xd + bool m_bDisableChild; // 0xd +private: + [[maybe_unused]] uint8_t __pad000e[0x2]; // 0xe +public: // MPropertyFriendlyName "disable at detail levels below" - ParticleDetailLevel_t m_nDetailLevel; // 0x10 + ParticleDetailLevel_t m_nDetailLevel; // 0x10 }; // Alignment: 3 // Size: 0x14 -struct ControlPointReference_t : public -{ +struct ControlPointReference_t +{ public: // MPropertyFriendlyName "Control point" - int32_t m_controlPointNameString; // 0x0 + int32_t m_controlPointNameString; // 0x0 // MPropertyFriendlyName "Offset from control point" - Vector m_vOffsetFromControlPoint; // 0x4 + Vector m_vOffsetFromControlPoint; // 0x4 // MPropertyFriendlyName "Use local space offset" - bool m_bOffsetInLocalSpace; // 0x10 + bool m_bOffsetInLocalSpace; // 0x10 }; // Alignment: 2 // Size: 0x10 -struct ModelReference_t : public -{ +struct ModelReference_t +{ public: // MPropertyFriendlyName "model" - CStrongHandle< InfoForResourceTypeCModel > m_model; // 0x0 + CStrongHandle< InfoForResourceTypeCModel > m_model; // 0x0 // MPropertyFriendlyName "Relative probability" - float m_flRelativeProbabilityOfSpawn; // 0x8 + float m_flRelativeProbabilityOfSpawn; // 0x8 }; // Alignment: 2 // Size: 0x8 -struct SequenceWeightedList_t : public -{ +struct SequenceWeightedList_t +{ public: // MPropertyFriendlyName "sequence" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequence; // 0x0 + int32_t m_nSequence; // 0x0 // MPropertyFriendlyName "weight" - float m_flRelativeWeight; // 0x4 + float m_flRelativeWeight; // 0x4 }; // Alignment: 1 // Size: 0x4 -struct CollisionGroupContext_t : public -{ +struct CollisionGroupContext_t +{ public: - int32_t m_nCollisionGroupNumber; // 0x0 + int32_t m_nCollisionGroupNumber; // 0x0 }; // Alignment: 3 // Size: 0x14 -struct PointDefinition_t : public -{ +struct PointDefinition_t +{ public: // MPropertyFriendlyName "Control point" - int32_t m_nControlPoint; // 0x0 + int32_t m_nControlPoint; // 0x0 // MPropertyFriendlyName "Use local coordinates for offset" - bool m_bLocalCoords; // 0x4 + bool m_bLocalCoords; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: // MPropertyFriendlyName "Offset from control point" - Vector m_vOffset; // 0x8 + Vector m_vOffset; // 0x8 }; // Alignment: 1 // Size: 0x18 struct PointDefinitionWithTimeValues_t : public PointDefinition_t -{ +{ public: // MPropertyFriendlyName "Duration value for path point" - float m_flTimeDuration; // 0x14 + float m_flTimeDuration; // 0x14 }; // Alignment: 60 // Size: 0x3a0 class CParticleSystemDefinition : public IParticleSystemDefinition -{ +{ public: // MPropertyFriendlyName "version" // MPropertySuppressField - int32_t m_nBehaviorVersion; // 0x8 + int32_t m_nBehaviorVersion; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: // MPropertySuppressField - CUtlVector< CParticleFunctionPreEmission* > m_PreEmissionOperators; // 0x10 + CUtlVector< CParticleFunctionPreEmission* > m_PreEmissionOperators; // 0x10 // MPropertySuppressField - CUtlVector< CParticleFunctionEmitter* > m_Emitters; // 0x28 + CUtlVector< CParticleFunctionEmitter* > m_Emitters; // 0x28 // MPropertySuppressField - CUtlVector< CParticleFunctionInitializer* > m_Initializers; // 0x40 + CUtlVector< CParticleFunctionInitializer* > m_Initializers; // 0x40 // MPropertySuppressField - CUtlVector< CParticleFunctionOperator* > m_Operators; // 0x58 + CUtlVector< CParticleFunctionOperator* > m_Operators; // 0x58 // MPropertySuppressField - CUtlVector< CParticleFunctionForce* > m_ForceGenerators; // 0x70 + CUtlVector< CParticleFunctionForce* > m_ForceGenerators; // 0x70 // MPropertySuppressField - CUtlVector< CParticleFunctionConstraint* > m_Constraints; // 0x88 + CUtlVector< CParticleFunctionConstraint* > m_Constraints; // 0x88 // MPropertySuppressField - CUtlVector< CParticleFunctionRenderer* > m_Renderers; // 0xa0 + CUtlVector< CParticleFunctionRenderer* > m_Renderers; // 0xa0 // MPropertySuppressField - CUtlVector< ParticleChildrenInfo_t > m_Children; // 0xb8 + CUtlVector< ParticleChildrenInfo_t > m_Children; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00d0[0xa8]; // 0xd0 +public: // MPropertySuppressField - int32_t m_nFirstMultipleOverride_BackwardCompat; // 0x178 + int32_t m_nFirstMultipleOverride_BackwardCompat; // 0x178 +private: + [[maybe_unused]] uint8_t __pad017c[0x74]; // 0x17c +public: // MPropertyStartGroup "+Collection Options" // MPropertyFriendlyName "initial particles" - int32_t m_nInitialParticles; // 0x1f0 + int32_t m_nInitialParticles; // 0x1f0 // MPropertyFriendlyName "max particles" - int32_t m_nMaxParticles; // 0x1f4 + int32_t m_nMaxParticles; // 0x1f4 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1f8 + int32_t m_nGroupID; // 0x1f8 // MPropertyStartGroup "Bounding Box" // MPropertyFriendlyName "bounding box bloat min" // MVectorIsCoordinate - Vector m_BoundingBoxMin; // 0x1fc + Vector m_BoundingBoxMin; // 0x1fc // MPropertyFriendlyName "bounding box bloat max" // MVectorIsCoordinate - Vector m_BoundingBoxMax; // 0x208 + Vector m_BoundingBoxMax; // 0x208 // MPropertyFriendlyName "bounding box depth sort bias" - float m_flDepthSortBias; // 0x214 + float m_flDepthSortBias; // 0x214 // MPropertyFriendlyName "sort override position CP" - int32_t m_nSortOverridePositionCP; // 0x218 + int32_t m_nSortOverridePositionCP; // 0x218 // MPropertyFriendlyName "infinite bounds - don't cull" - bool m_bInfiniteBounds; // 0x21c + bool m_bInfiniteBounds; // 0x21c // MPropertyStartGroup "+Base Properties" // MPropertyFriendlyName "color" // MPropertyColorPlusAlpha - Color m_ConstantColor; // 0x21d + Color m_ConstantColor; // 0x21d +private: + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 +public: // MPropertyFriendlyName "normal" // MVectorIsCoordinate - Vector m_ConstantNormal; // 0x224 + Vector m_ConstantNormal; // 0x224 // MPropertyFriendlyName "radius" // MPropertyAttributeRange "biased 0 500" - float m_flConstantRadius; // 0x230 + float m_flConstantRadius; // 0x230 // MPropertyFriendlyName "rotation" - float m_flConstantRotation; // 0x234 + float m_flConstantRotation; // 0x234 // MPropertyFriendlyName "rotation speed" - float m_flConstantRotationSpeed; // 0x238 + float m_flConstantRotationSpeed; // 0x238 // MPropertyFriendlyName "lifetime" - float m_flConstantLifespan; // 0x23c + float m_flConstantLifespan; // 0x23c // MPropertyFriendlyName "sequence number" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nConstantSequenceNumber; // 0x240 + int32_t m_nConstantSequenceNumber; // 0x240 // MPropertyFriendlyName "sequence number 1" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nConstantSequenceNumber1; // 0x244 + int32_t m_nConstantSequenceNumber1; // 0x244 // MPropertyStartGroup "Snapshot Options" - int32_t m_nSnapshotControlPoint; // 0x248 - CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x250 + int32_t m_nSnapshotControlPoint; // 0x248 +private: + [[maybe_unused]] uint8_t __pad024c[0x4]; // 0x24c +public: + CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x250 // MPropertyStartGroup "Replacement Options" // MPropertyFriendlyName "cull replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x258 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x258 // MPropertyFriendlyName "cull radius" - float m_flCullRadius; // 0x260 + float m_flCullRadius; // 0x260 // MPropertyFriendlyName "cull cost" - float m_flCullFillCost; // 0x264 + float m_flCullFillCost; // 0x264 // MPropertyFriendlyName "cull control point" - int32_t m_nCullControlPoint; // 0x268 + int32_t m_nCullControlPoint; // 0x268 +private: + [[maybe_unused]] uint8_t __pad026c[0x4]; // 0x26c +public: // MPropertyFriendlyName "fallback replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x270 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x270 // MPropertyFriendlyName "fallback max count" - int32_t m_nFallbackMaxCount; // 0x278 + int32_t m_nFallbackMaxCount; // 0x278 +private: + [[maybe_unused]] uint8_t __pad027c[0x4]; // 0x27c +public: // MPropertyFriendlyName "low violence definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x280 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x280 // MPropertyFriendlyName "reference replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x288 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x288 // MPropertyStartGroup "Simulation Options" // MPropertyFriendlyName "pre-simulation time" - float m_flPreSimulationTime; // 0x290 + float m_flPreSimulationTime; // 0x290 // MPropertyFriendlyName "freeze simulation after time" - float m_flStopSimulationAfterTime; // 0x294 + float m_flStopSimulationAfterTime; // 0x294 // MPropertyFriendlyName "maximum time step" - float m_flMaximumTimeStep; // 0x298 + float m_flMaximumTimeStep; // 0x298 // MPropertyFriendlyName "maximum sim tick rate" - float m_flMaximumSimTime; // 0x29c + float m_flMaximumSimTime; // 0x29c // MPropertyFriendlyName "minimum sim tick rate" - float m_flMinimumSimTime; // 0x2a0 + float m_flMinimumSimTime; // 0x2a0 // MPropertyFriendlyName "minimum simulation time step" - float m_flMinimumTimeStep; // 0x2a4 + float m_flMinimumTimeStep; // 0x2a4 // MPropertyFriendlyName "minimum required rendered frames" - int32_t m_nMinimumFrames; // 0x2a8 + int32_t m_nMinimumFrames; // 0x2a8 // MPropertyStartGroup "Performance Options" // MPropertyFriendlyName "minimum CPU level" - int32_t m_nMinCPULevel; // 0x2ac + int32_t m_nMinCPULevel; // 0x2ac // MPropertyFriendlyName "minimum GPU level" - int32_t m_nMinGPULevel; // 0x2b0 + int32_t m_nMinGPULevel; // 0x2b0 // MPropertyFriendlyName "time to sleep when not drawn" - float m_flNoDrawTimeToGoToSleep; // 0x2b4 + float m_flNoDrawTimeToGoToSleep; // 0x2b4 // MPropertyFriendlyName "maximum draw distance" - float m_flMaxDrawDistance; // 0x2b8 + float m_flMaxDrawDistance; // 0x2b8 // MPropertyFriendlyName "start fade distance" - float m_flStartFadeDistance; // 0x2bc + float m_flStartFadeDistance; // 0x2bc // MPropertyFriendlyName "maximum creation distance" - float m_flMaxCreationDistance; // 0x2c0 + float m_flMaxCreationDistance; // 0x2c0 // MPropertyFriendlyName "minimum free particles to aggregate" - int32_t m_nAggregationMinAvailableParticles; // 0x2c4 + int32_t m_nAggregationMinAvailableParticles; // 0x2c4 // MPropertyFriendlyName "aggregation radius" - float m_flAggregateRadius; // 0x2c8 + float m_flAggregateRadius; // 0x2c8 // MPropertyFriendlyName "batch particle systems" - bool m_bShouldBatch; // 0x2cc + bool m_bShouldBatch; // 0x2cc // MPropertyFriendlyName "Hitboxes fall back to render bounds" - bool m_bShouldHitboxesFallbackToRenderBounds; // 0x2cd + bool m_bShouldHitboxesFallbackToRenderBounds; // 0x2cd +private: + [[maybe_unused]] uint8_t __pad02ce[0x2]; // 0x2ce +public: // MPropertyStartGroup "Rendering Options" // MPropertyFriendlyName "view model effect" // MPropertySuppressExpr "m_bScreenSpaceEffect" - InheritableBoolType_t m_nViewModelEffect; // 0x2d0 + InheritableBoolType_t m_nViewModelEffect; // 0x2d0 // MPropertyFriendlyName "screen space effect" // MPropertySuppressExpr "m_nViewModelEffect == INHERITABLE_BOOL_TRUE" - bool m_bScreenSpaceEffect; // 0x2d4 + bool m_bScreenSpaceEffect; // 0x2d4 +private: + [[maybe_unused]] uint8_t __pad02d5[0x3]; // 0x2d5 +public: // MPropertyFriendlyName "target layer ID for rendering" - CUtlSymbolLarge m_pszTargetLayerID; // 0x2d8 + CUtlSymbolLarge m_pszTargetLayerID; // 0x2d8 // MPropertyFriendlyName "control point to disable rendering if it is the camera" - int32_t m_nSkipRenderControlPoint; // 0x2e0 + int32_t m_nSkipRenderControlPoint; // 0x2e0 // MPropertyFriendlyName "control point to only enable rendering if it is the camera" - int32_t m_nAllowRenderControlPoint; // 0x2e4 + int32_t m_nAllowRenderControlPoint; // 0x2e4 // MPropertyFriendlyName "sort particles (DEPRECATED - USE RENDERER OPTION)" // MParticleAdvancedField - bool m_bShouldSort; // 0x2e8 + bool m_bShouldSort; // 0x2e8 +private: + [[maybe_unused]] uint8_t __pad02e9[0x3f]; // 0x2e9 +public: // MPropertySuppressField - CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x328 + CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x328 +}; + +// Alignment: 43 +// Size: 0x138 +class CParticleFloatInput +{ +public: + ParticleFloatType_t m_nType; // 0x0 + ParticleFloatMapType_t m_nMapType; // 0x4 + float m_flLiteralValue; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CKV3MemberNameWithStorage m_NamedValue; // 0x10 + int32_t m_nControlPoint; // 0x48 + ParticleAttributeIndex_t m_nScalarAttribute; // 0x4c + ParticleAttributeIndex_t m_nVectorAttribute; // 0x50 + int32_t m_nVectorComponent; // 0x54 + float m_flRandomMin; // 0x58 + float m_flRandomMax; // 0x5c + bool m_bHasRandomSignFlip; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0061[0x3]; // 0x61 +public: + ParticleFloatRandomMode_t m_nRandomMode; // 0x64 +private: + [[maybe_unused]] uint8_t __pad0068[0x4]; // 0x68 +public: + float m_flLOD0; // 0x6c + float m_flLOD1; // 0x70 + float m_flLOD2; // 0x74 + float m_flLOD3; // 0x78 + ParticleAttributeIndex_t m_nNoiseInputVectorAttribute; // 0x7c + float m_flNoiseOutputMin; // 0x80 + float m_flNoiseOutputMax; // 0x84 + float m_flNoiseScale; // 0x88 + Vector m_vecNoiseOffsetRate; // 0x8c + float m_flNoiseOffset; // 0x98 + int32_t m_nNoiseOctaves; // 0x9c + PFNoiseTurbulence_t m_nNoiseTurbulence; // 0xa0 + PFNoiseType_t m_nNoiseType; // 0xa4 + PFNoiseModifier_t m_nNoiseModifier; // 0xa8 + float m_flNoiseTurbulenceScale; // 0xac + float m_flNoiseTurbulenceMix; // 0xb0 + float m_flNoiseImgPreviewScale; // 0xb4 + bool m_bNoiseImgPreviewLive; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00b9[0x7]; // 0xb9 +public: + ParticleFloatInputMode_t m_nInputMode; // 0xc0 + float m_flMultFactor; // 0xc4 + float m_flInput0; // 0xc8 + float m_flInput1; // 0xcc + float m_flOutput0; // 0xd0 + float m_flOutput1; // 0xd4 + float m_flNotchedRangeMin; // 0xd8 + float m_flNotchedRangeMax; // 0xdc + float m_flNotchedOutputOutside; // 0xe0 + float m_flNotchedOutputInside; // 0xe4 + ParticleFloatBiasType_t m_nBiasType; // 0xe8 + float m_flBiasParameter; // 0xec + CPiecewiseCurve m_Curve; // 0xf0 +}; + +// Alignment: 0 +// Size: 0x138 +class CParticleCollectionFloatInput : public CParticleFloatInput +{ +public: + // no members available }; // Alignment: 16 // Size: 0x1f0 -class CParticleFunction : public -{ +class CParticleFunction +{ public: // MPropertyFriendlyName "operator strength" // MPropertySortPriority "-100" - CParticleCollectionFloatInput m_flOpStrength; // 0x8 + CParticleCollectionFloatInput m_flOpStrength; // 0x8 // MPropertyFriendlyName "operator end cap state" // MPropertySortPriority "-100" - ParticleEndcapMode_t m_nOpEndCapState; // 0x140 + ParticleEndcapMode_t m_nOpEndCapState; // 0x140 // MPropertyStartGroup "Operator Fade" // MPropertyFriendlyName "operator start fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeInTime; // 0x144 + float m_flOpStartFadeInTime; // 0x144 // MPropertyFriendlyName "operator end fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeInTime; // 0x148 + float m_flOpEndFadeInTime; // 0x148 // MPropertyFriendlyName "operator start fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeOutTime; // 0x14c + float m_flOpStartFadeOutTime; // 0x14c // MPropertyFriendlyName "operator end fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeOutTime; // 0x150 + float m_flOpEndFadeOutTime; // 0x150 // MPropertyFriendlyName "operator fade oscillate" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpFadeOscillatePeriod; // 0x154 + float m_flOpFadeOscillatePeriod; // 0x154 // MPropertyFriendlyName "normalize fade times to endcap" // MParticleAdvancedField // MPropertySortPriority "-100" - bool m_bNormalizeToStopTime; // 0x158 + bool m_bNormalizeToStopTime; // 0x158 +private: + [[maybe_unused]] uint8_t __pad0159[0x3]; // 0x159 +public: // MPropertyStartGroup "Operator Fade Time Offset" // MPropertyFriendlyName "operator fade time offset min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMin; // 0x15c + float m_flOpTimeOffsetMin; // 0x15c // MPropertyFriendlyName "operator fade time offset max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMax; // 0x160 + float m_flOpTimeOffsetMax; // 0x160 // MPropertyFriendlyName "operator fade time offset seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeOffsetSeed; // 0x164 + int32_t m_nOpTimeOffsetSeed; // 0x164 // MPropertyStartGroup "Operator Fade Timescale Modifiers" // MPropertyFriendlyName "operator fade time scale seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeScaleSeed; // 0x168 + int32_t m_nOpTimeScaleSeed; // 0x168 // MPropertyFriendlyName "operator fade time scale min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMin; // 0x16c + float m_flOpTimeScaleMin; // 0x16c // MPropertyFriendlyName "operator fade time scale max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMax; // 0x170 + float m_flOpTimeScaleMax; // 0x170 +private: + [[maybe_unused]] uint8_t __pad0174[0x1]; // 0x174 +public: // MPropertyStartGroup // MPropertySuppressField - bool m_bDisableOperator; // 0x175 + bool m_bDisableOperator; // 0x175 +private: + [[maybe_unused]] uint8_t __pad0176[0x2]; // 0x176 +public: // MPropertyFriendlyName "operator help and notes" // MParticleHelpField // MParticleAdvancedField // MPropertySortPriority "-100" - CUtlString m_Notes; // 0x178 -}; - -// Alignment: 1 -// Size: 0x1f0 -class CParticleFunctionInitializer : public CParticleFunction -{ -public: - // MPropertyFriendlyName "Associated emitter Index" - int32_t m_nAssociatedEmitterIndex; // 0x1e8 -}; - -// Alignment: 1 -// Size: 0x1f0 -class CParticleFunctionEmitter : public CParticleFunction -{ -public: - // MPropertyFriendlyName "Emitter Index" - int32_t m_nEmitterIndex; // 0x1e8 + CUtlString m_Notes; // 0x178 }; // Alignment: 0 // Size: 0x1f0 class CParticleFunctionConstraint : public CParticleFunction -{ +{ public: // no members available }; @@ -1269,7 +1392,7 @@ public: // Alignment: 0 // Size: 0x1f0 class CParticleFunctionForce : public CParticleFunction -{ +{ public: // no members available }; @@ -1277,683 +1400,712 @@ public: // Alignment: 0 // Size: 0x1f0 class CParticleFunctionOperator : public CParticleFunction -{ +{ public: // no members available }; // Alignment: 1 // Size: 0x200 -class CParticleFunctionPreEmission : public CParticleFunctionOperator, CParticleFunction -{ +class CParticleFunctionPreEmission : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Run Only Once" - bool m_bRunOnce; // 0x1f0 + bool m_bRunOnce; // 0x1f0 }; // Alignment: 3 // Size: 0x230 class CParticleFunctionRenderer : public CParticleFunction -{ +{ public: // MPropertySortPriority "-1" - CParticleVisibilityInputs VisibilityInputs; // 0x1e8 + CParticleVisibilityInputs VisibilityInputs; // 0x1e8 // MPropertyStartGroup "Rendering filter" // MPropertyFriendlyName "I cannot be refracted through refracting objects like water" // MPropertySortPriority "-1" - bool m_bCannotBeRefracted; // 0x22c + bool m_bCannotBeRefracted; // 0x22c // MPropertyFriendlyName "Skip rendering on mobile" // MPropertySortPriority "-1" - bool m_bSkipRenderingOnMobile; // 0x22d + bool m_bSkipRenderingOnMobile; // 0x22d }; // Alignment: 16 // Size: 0x8a8 -struct TextureControls_t : public -{ +struct TextureControls_t +{ public: // MPropertyFriendlyName "horizontal texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0 + CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0 // MPropertyFriendlyName "vertical texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0x138 + CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0x138 // MPropertyFriendlyName "horizontal texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x270 + CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x270 // MPropertyFriendlyName "vertical texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x3a8 + CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x3a8 // MPropertyFriendlyName "texture rotation / animation rate scale" - CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x4e0 + CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x4e0 // MPropertyFriendlyName "Infinite Zoom Scale" - CParticleCollectionFloatInput m_flZoomScale; // 0x618 + CParticleCollectionFloatInput m_flZoomScale; // 0x618 // MPropertyFriendlyName "Distortion Amount" - CParticleCollectionFloatInput m_flDistortion; // 0x750 + CParticleCollectionFloatInput m_flDistortion; // 0x750 // MPropertyFriendlyName "Randomize Initial Offset" - bool m_bRandomizeOffsets; // 0x888 + bool m_bRandomizeOffsets; // 0x888 // MPropertyFriendlyName "Clamp UVs" - bool m_bClampUVs; // 0x889 + bool m_bClampUVs; // 0x889 +private: + [[maybe_unused]] uint8_t __pad088a[0x2]; // 0x88a +public: // MPropertyFriendlyName "per-particle scalar for blend" - SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x88c + SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x88c // MPropertyFriendlyName "per-particle scalar for scale" - SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x890 + SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x890 // MPropertyFriendlyName "per-particle scalar for horizontal offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x894 + SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x894 // MPropertyFriendlyName "per-particle scalar for vertical offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x898 + SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x898 // MPropertyFriendlyName "per-particle scalar for rotation" - SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x89c + SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x89c // MPropertyFriendlyName "per-particle scalar for zoom" - SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x8a0 + SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x8a0 // MPropertyFriendlyName "per-particle scalar for distortion" - SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x8a4 + SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x8a4 }; // Alignment: 9 // Size: 0xa18 -struct TextureGroup_t : public -{ +struct TextureGroup_t +{ public: // MPropertyFriendlyName "Enabled" - bool m_bEnabled; // 0x0 + bool m_bEnabled; // 0x0 // MPropertyFriendlyName "Author Texture As Gradient" // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - bool m_bReplaceTextureWithGradient; // 0x1 + bool m_bReplaceTextureWithGradient; // 0x1 +private: + [[maybe_unused]] uint8_t __pad0002[0x6]; // 0x2 +public: // MPropertyFriendlyName "Texture" // MPropertySuppressExpr "m_bReplaceTextureWithGradient" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x8 // MPropertyFriendlyName "Gradient" // MPropertySuppressExpr "!m_bReplaceTextureWithGradient" - CColorGradient m_Gradient; // 0x10 + CColorGradient m_Gradient; // 0x10 // MPropertyFriendlyName "Texture Type" - SpriteCardTextureType_t m_nTextureType; // 0x28 + SpriteCardTextureType_t m_nTextureType; // 0x28 // MPropertyFriendlyName "Channel Mix" // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - SpriteCardTextureChannel_t m_nTextureChannels; // 0x2c + SpriteCardTextureChannel_t m_nTextureChannels; // 0x2c // MPropertyFriendlyName "Mix Blend Mode" // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - ParticleTextureLayerBlendType_t m_nTextureBlendMode; // 0x30 + ParticleTextureLayerBlendType_t m_nTextureBlendMode; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: // MPropertyFriendlyName "Blend Amount" // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - CParticleCollectionFloatInput m_flTextureBlend; // 0x38 + CParticleCollectionFloatInput m_flTextureBlend; // 0x38 // MPropertyFriendlyName "Texture Controls" // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - TextureControls_t m_TextureControls; // 0x170 -}; - -// Alignment: 60 -// Size: 0x2050 -class CBaseRendererSource2 : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyStartGroup "+Renderer Modifiers" - // MPropertyFriendlyName "radius scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x230 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x368 - // MPropertyFriendlyName "rotation roll scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x4a0 - // MPropertyFriendlyName "per-particle alpha scale attribute" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x5d8 - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x5e0 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xba8 - // MPropertyStartGroup "+Material" - // MPropertyFriendlyName "Shader" - // MPropertySortPriority "600" - SpriteCardShaderType_t m_nShaderType; // 0xbac - // MPropertyFriendlyName "Custom Shader" - // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" - // MPropertySortPriority "600" - CUtlString m_strShaderOverride; // 0xbb0 - // MPropertyFriendlyName "X offset of center point" - // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterXOffset; // 0xbb8 - // MPropertyFriendlyName "Y offset of center point" - // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterYOffset; // 0xcf0 - // MPropertyFriendlyName "Bump Strength" - // MPropertySortPriority "600" - float m_flBumpStrength; // 0xe28 - // MPropertyFriendlyName "Sheet Crop Behavior" - // MPropertySortPriority "600" - ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xe2c - // MPropertyFriendlyName "Textures" - // MParticleRequireDefaultArrayEntry - // MPropertyAutoExpandSelf - // MPropertySortPriority "600" - CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xe30 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animation rate" - // MPropertyAttributeRange "0 5" - // MPropertySortPriority "500" - float m_flAnimationRate; // 0xe48 - // MPropertyFriendlyName "animation type" - // MPropertySortPriority "500" - AnimationType_t m_nAnimationType; // 0xe4c - // MPropertyFriendlyName "set animation value in FPS" - // MPropertySortPriority "500" - bool m_bAnimateInFPS; // 0xe50 - // MPropertyStartGroup "Lighting and Shadows" - // MPropertyFriendlyName "self illum amount" - // MPropertyAttributeRange "0 2" - // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flSelfIllumAmount; // 0xe58 - // MPropertyFriendlyName "diffuse lighting amount" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flDiffuseAmount; // 0xf90 - // MPropertyFriendlyName "diffuse lighting origin Control Point" - // MPropertySortPriority "400" - int32_t m_nLightingControlPoint; // 0x10c8 - // MPropertyFriendlyName "self illum per-particle" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "400" - ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x10cc - // MPropertyStartGroup "+Color and alpha adjustments" - // MPropertyFriendlyName "output blend mode" - // MPropertySortPriority "300" - ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x10d0 - // MPropertyFriendlyName "Gamma-correct vertex colors" - // MPropertySortPriority "300" - bool m_bGammaCorrectVertexColors; // 0x10d4 - // MPropertyFriendlyName "Saturate color pre alphablend" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod!=dota" - bool m_bSaturateColorPreAlphaBlend; // 0x10d5 - // MPropertyFriendlyName "add self amount over alphablend" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAddSelfAmount; // 0x10d8 - // MPropertyFriendlyName "desaturation amount" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flDesaturation; // 0x1210 - // MPropertyFriendlyName "overbright factor" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flOverbrightFactor; // 0x1348 - // MPropertyFriendlyName "HSV Shift Control Point" - // MPropertySortPriority "300" - int32_t m_nHSVShiftControlPoint; // 0x1480 - // MPropertyFriendlyName "Apply fog to particle" - // MPropertySortPriority "300" - ParticleFogType_t m_nFogType; // 0x1484 - // MPropertyFriendlyName "Apply fog of war to color" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod != dota" - bool m_bTintByFOW; // 0x1488 - // MPropertyFriendlyName "Apply global light to color" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod != dota" - bool m_bTintByGlobalLight; // 0x1489 - // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" - // MPropertyFriendlyName "alpha reference" - // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x148c - // MPropertyFriendlyName "alpha reference window size" - // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1490 - // MPropertyFriendlyName "alpha reference type" - // MPropertySortPriority "300" - ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1494 - // MPropertyFriendlyName "alpha reference softness" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0x1498 - // MPropertyFriendlyName "source alpha value to map to alpha of zero" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0x15d0 - // MPropertyFriendlyName "source alpha value to map to alpha of 1" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1708 - // MPropertyStartGroup "Refraction" - // MPropertyFriendlyName "refract background" - // MPropertySortPriority "200" - bool m_bRefract; // 0x1840 - // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - bool m_bRefractSolid; // 0x1841 - // MPropertyFriendlyName "refract amount" - // MPropertyAttributeRange "-2 2" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - CParticleCollectionFloatInput m_flRefractAmount; // 0x1848 - // MPropertyFriendlyName "refract blur radius" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - int32_t m_nRefractBlurRadius; // 0x1980 - // MPropertyFriendlyName "refract blur type" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - BlurFilterType_t m_nRefractBlurType; // 0x1984 - // MPropertyStartGroup - // MPropertyFriendlyName "Only Render in effects bloom pass" - // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x1988 - // MPropertyFriendlyName "Only Render in effects water pass" - // MPropertySortPriority "1050" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x1989 - // MPropertyFriendlyName "Use Mixed Resolution Rendering" - // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x198a - // MPropertyFriendlyName "Only Render in effects game overlay pass" - // MPropertySortPriority "1210" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x198b - // MPropertyStartGroup "Stencil" - // MPropertyFriendlyName "stencil test ID" - // MPropertySortPriority "0" - char[128] m_stencilTestID; // 0x198c - // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" - // MPropertySortPriority "0" - bool m_bStencilTestExclude; // 0x1a0c - // MPropertyFriendlyName "stencil write ID" - // MPropertySortPriority "0" - char[128] m_stencilWriteID; // 0x1a0d - // MPropertyFriendlyName "write stencil on z-buffer test success" - // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthPass; // 0x1a8d - // MPropertyFriendlyName "write stencil on z-buffer test failure" - // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthFail; // 0x1a8e - // MPropertyStartGroup "Depth buffer control and effects" - // MPropertyFriendlyName "reverse z-buffer test" - // MPropertySortPriority "900" - bool m_bReverseZBuffering; // 0x1a8f - // MPropertyFriendlyName "disable z-buffer test" - // MPropertySortPriority "900" - bool m_bDisableZBuffering; // 0x1a90 - // MPropertyFriendlyName "Depth feathering mode" - // MPropertySortPriority "900" - ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1a94 - // MPropertyFriendlyName "particle feathering closest distance to surface" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1a98 - // MPropertyFriendlyName "particle feathering farthest distance to surface" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1bd0 - // MPropertyFriendlyName "particle feathering filter" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringFilter; // 0x1d08 - // MPropertyFriendlyName "depth comparison bias" - // MPropertySortPriority "900" - float m_flDepthBias; // 0x1e40 - // MPropertyFriendlyName "Sort Method" - // MPropertySortPriority "900" - ParticleSortingChoiceList_t m_nSortMethod; // 0x1e44 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "blend sequence animation frames" - // MPropertySortPriority "500" - bool m_bBlendFramesSeq0; // 0x1e48 - // MPropertyFriendlyName "use max-luminance blending for sequence" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bBlendFramesSeq0" - bool m_bMaxLuminanceBlendingSequence0; // 0x1e49 -}; - -// Alignment: 27 -// Size: 0x26c0 -class C_OP_RenderSprites : public CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "sequence id override" - // MPropertySortPriority "500" - CParticleCollectionFloatInput m_nSequenceOverride; // 0x2050 - // MPropertyStartGroup "Orientation" - // MPropertyFriendlyName "orientation type" - // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2188 - // MPropertyFriendlyName "orientation control point" - // MPropertySortPriority "750" - // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - int32_t m_nOrientationControlPoint; // 0x218c - // MPropertyFriendlyName "enable yaw for particles aligned to normals" - // MPropertySortPriority "750" - // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - bool m_bUseYawWithNormalAligned; // 0x2190 - // MPropertyStartGroup "Fading and culling" - // MPropertyFriendlyName "minimum visual screen size" - // MPropertySortPriority "1000" - float m_flMinSize; // 0x2194 - // MPropertyFriendlyName "maximum visual screen size" - // MPropertySortPriority "1000" - float m_flMaxSize; // 0x2198 - // MPropertyFriendlyName "Factor to map size adjustment to alpha" - // MPropertySortPriority "1000" - float m_flAlphaAdjustWithSizeAdjust; // 0x219c - // MPropertyFriendlyName "screen size to start fading" - // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x21a0 - // MPropertyFriendlyName "screen size to fade away" - // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x22d8 - // MPropertyFriendlyName "start fade dot product of normal vs view" - // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2410 - // MPropertyFriendlyName "end fade dot product of normal vs view" - // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2414 - // MPropertyStartGroup "Distance to alpha coding" - // MPropertyFriendlyName "distance alpha" - // MPropertySortPriority "0" - bool m_bDistanceAlpha; // 0x2418 - // MPropertyFriendlyName "use soft edges for distance alpha" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bDistanceAlpha" - bool m_bSoftEdges; // 0x2419 - // MPropertyFriendlyName "start value for soft edges for distance alpha" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessStart; // 0x241c - // MPropertyFriendlyName "end value for soft edges for distance alpha" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessEnd; // 0x2420 - // MPropertyStartGroup "Outlining" - // MPropertyFriendlyName "enable particle outlining" - // MPropertySortPriority "0" - bool m_bOutline; // 0x2424 - // MPropertyFriendlyName "outline color" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - Color m_OutlineColor; // 0x2425 - // MPropertyFriendlyName "outline alpha" - // MPropertyAttributeRange "0 255" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - int32_t m_nOutlineAlpha; // 0x242c - // MPropertyFriendlyName "outline start 0" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart0; // 0x2430 - // MPropertyFriendlyName "outline start 1" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart1; // 0x2434 - // MPropertyFriendlyName "outline end 0" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd0; // 0x2438 - // MPropertyFriendlyName "outline end 1" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd1; // 0x243c - // MPropertyStartGroup "Lighting and Shadows" - // MPropertyFriendlyName "lighting mode" - // MPropertySortPriority "400" - // MPropertySuppressExpr "mod != hlx" - ParticleLightingQuality_t m_nLightingMode; // 0x2440 - // MPropertyFriendlyName "vertex lighting tessellation (0-5)" - // MPropertyAttributeRange "0 5" - // MPropertySortPriority "400" - // MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX" - CParticleCollectionFloatInput m_flLightingTessellation; // 0x2448 - // MPropertyFriendlyName "lighting directionality" - // MPropertySortPriority "400" - // MPropertySuppressExpr "mod != hlx" - CParticleCollectionFloatInput m_flLightingDirectionality; // 0x2580 - // MPropertyFriendlyName "Particle Shadows" - // MPropertySortPriority "400" - bool m_bParticleShadows; // 0x26b8 - // MPropertyFriendlyName "Shadow Density" - // MPropertySortPriority "400" - // MPropertySuppressExpr "!m_bParticleShadows" - float m_flShadowDensity; // 0x26bc -}; - -// Alignment: 2 -// Size: 0x140 -struct FloatInputMaterialVariable_t : public -{ -public: - // MPropertyFriendlyName "material variable" - CUtlString m_strVariable; // 0x0 - // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInput; // 0x8 -}; - -// Alignment: 2 -// Size: 0x5d0 -struct VecInputMaterialVariable_t : public -{ -public: - // MPropertyFriendlyName "material variable" - CUtlString m_strVariable; // 0x0 - // MPropertyFriendlyName "input" - CParticleCollectionVecInput m_vecInput; // 0x8 -}; - -// Alignment: 22 -// Size: 0x12a0 -class C_OP_RenderCables : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyStartGroup "Renderer Modifiers" - // MPropertyFriendlyName "Radius Scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x230 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x368 - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x4a0 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xa68 - // MPropertyStartGroup - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xa70 - // MPropertyFriendlyName "texture repetition mode" - TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xa78 - // MPropertyFriendlyName "texture repetitions" - CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xa80 - // MPropertyFriendlyName "texture repetitions around cable" - CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xbb8 - // MPropertyFriendlyName "color map offset along path" - CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xcf0 - // MPropertyFriendlyName "color map offset around cable" - CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xe28 - // MPropertyFriendlyName "normal map offset along path" - CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xf60 - // MPropertyFriendlyName "normal map offset around cable" - CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1098 - // MPropertyFriendlyName "draw caps at each end of the cable" - bool m_bDrawCableCaps; // 0x11d0 - // MPropertyFriendlyName "cable end cap shape factor" - // MPropertyAttributeRange "0 2" - float m_flCapRoundness; // 0x11d4 - // MPropertyFriendlyName "cable end cap offset amount" - // MPropertyAttributeRange "0 2" - float m_flCapOffsetAmount; // 0x11d8 - // MPropertyFriendlyName "tessellation scale factor" - float m_flTessScale; // 0x11dc - // MPropertyFriendlyName "minimum steps between particles" - int32_t m_nMinTesselation; // 0x11e0 - // MPropertyFriendlyName "maximum steps between particles" - int32_t m_nMaxTesselation; // 0x11e4 - // MPropertyFriendlyName "roundness factor" - int32_t m_nRoundness; // 0x11e8 - // MPropertyFriendlyName "diffuse lighting origin" - // MParticleTransformInputOptional - CParticleTransformInput m_LightingTransform; // 0x11f0 - // MPropertyFriendlyName "material float variables" - CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x1240 - // MPropertyFriendlyName "material vector variables" - CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1270 -}; - -// Alignment: 43 -// Size: 0x138 -class CParticleFloatInput : public -{ -public: - ParticleFloatType_t m_nType; // 0x0 - ParticleFloatMapType_t m_nMapType; // 0x4 - float m_flLiteralValue; // 0x8 - CKV3MemberNameWithStorage m_NamedValue; // 0x10 - int32_t m_nControlPoint; // 0x48 - ParticleAttributeIndex_t m_nScalarAttribute; // 0x4c - ParticleAttributeIndex_t m_nVectorAttribute; // 0x50 - int32_t m_nVectorComponent; // 0x54 - float m_flRandomMin; // 0x58 - float m_flRandomMax; // 0x5c - bool m_bHasRandomSignFlip; // 0x60 - ParticleFloatRandomMode_t m_nRandomMode; // 0x64 - float m_flLOD0; // 0x6c - float m_flLOD1; // 0x70 - float m_flLOD2; // 0x74 - float m_flLOD3; // 0x78 - ParticleAttributeIndex_t m_nNoiseInputVectorAttribute; // 0x7c - float m_flNoiseOutputMin; // 0x80 - float m_flNoiseOutputMax; // 0x84 - float m_flNoiseScale; // 0x88 - Vector m_vecNoiseOffsetRate; // 0x8c - float m_flNoiseOffset; // 0x98 - int32_t m_nNoiseOctaves; // 0x9c - PFNoiseTurbulence_t m_nNoiseTurbulence; // 0xa0 - PFNoiseType_t m_nNoiseType; // 0xa4 - PFNoiseModifier_t m_nNoiseModifier; // 0xa8 - float m_flNoiseTurbulenceScale; // 0xac - float m_flNoiseTurbulenceMix; // 0xb0 - float m_flNoiseImgPreviewScale; // 0xb4 - bool m_bNoiseImgPreviewLive; // 0xb8 - ParticleFloatInputMode_t m_nInputMode; // 0xc0 - float m_flMultFactor; // 0xc4 - float m_flInput0; // 0xc8 - float m_flInput1; // 0xcc - float m_flOutput0; // 0xd0 - float m_flOutput1; // 0xd4 - float m_flNotchedRangeMin; // 0xd8 - float m_flNotchedRangeMax; // 0xdc - float m_flNotchedOutputOutside; // 0xe0 - float m_flNotchedOutputInside; // 0xe4 - ParticleFloatBiasType_t m_nBiasType; // 0xe8 - float m_flBiasParameter; // 0xec - CPiecewiseCurve m_Curve; // 0xf0 -}; - -// Alignment: 0 -// Size: 0x138 -class CPerParticleFloatInput : public CParticleFloatInput -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x138 -class CParticleCollectionFloatInput : public CParticleFloatInput -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x138 -class CParticleRemapFloatInput : public CParticleFloatInput -{ -public: - // no members available -}; - -// Alignment: 8 -// Size: 0x50 -class CParticleTransformInput : public -{ -public: - ParticleTransformType_t m_nType; // 0x4 - CKV3MemberNameWithStorage m_NamedValue; // 0x8 - bool m_bFollowNamedValue; // 0x40 - bool m_bSupportsDisabled; // 0x41 - bool m_bUseOrientation; // 0x42 - int32_t m_nControlPoint; // 0x44 - int32_t m_nControlPointRangeMax; // 0x48 - float m_flEndCPGrowthTime; // 0x4c + TextureControls_t m_TextureControls; // 0x170 }; // Alignment: 22 // Size: 0x5c8 -class CParticleVecInput : public -{ +class CParticleVecInput +{ public: - ParticleVecType_t m_nType; // 0x0 - Vector m_vLiteralValue; // 0x4 - Color m_LiteralColor; // 0x10 - CKV3MemberNameWithStorage m_NamedValue; // 0x18 - bool m_bFollowNamedValue; // 0x50 - ParticleAttributeIndex_t m_nVectorAttribute; // 0x54 - Vector m_vVectorAttributeScale; // 0x58 - int32_t m_nControlPoint; // 0x64 - Vector m_vCPValueScale; // 0x68 - Vector m_vCPRelativePosition; // 0x74 - Vector m_vCPRelativeDir; // 0x80 - CParticleFloatInput m_FloatComponentX; // 0x90 - CParticleFloatInput m_FloatComponentY; // 0x1c8 - CParticleFloatInput m_FloatComponentZ; // 0x300 - CParticleFloatInput m_FloatInterp; // 0x438 - float m_flInterpInput0; // 0x570 - float m_flInterpInput1; // 0x574 - Vector m_vInterpOutput0; // 0x578 - Vector m_vInterpOutput1; // 0x584 - CColorGradient m_Gradient; // 0x590 - Vector m_vRandomMin; // 0x5a8 - Vector m_vRandomMax; // 0x5b4 -}; - -// Alignment: 0 -// Size: 0x5c8 -class CPerParticleVecInput : public CParticleVecInput -{ + ParticleVecType_t m_nType; // 0x0 + Vector m_vLiteralValue; // 0x4 + Color m_LiteralColor; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 public: - // no members available + CKV3MemberNameWithStorage m_NamedValue; // 0x18 + bool m_bFollowNamedValue; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + ParticleAttributeIndex_t m_nVectorAttribute; // 0x54 + Vector m_vVectorAttributeScale; // 0x58 + int32_t m_nControlPoint; // 0x64 + Vector m_vCPValueScale; // 0x68 + Vector m_vCPRelativePosition; // 0x74 + Vector m_vCPRelativeDir; // 0x80 +private: + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c +public: + CParticleFloatInput m_FloatComponentX; // 0x90 + CParticleFloatInput m_FloatComponentY; // 0x1c8 + CParticleFloatInput m_FloatComponentZ; // 0x300 + CParticleFloatInput m_FloatInterp; // 0x438 + float m_flInterpInput0; // 0x570 + float m_flInterpInput1; // 0x574 + Vector m_vInterpOutput0; // 0x578 + Vector m_vInterpOutput1; // 0x584 + CColorGradient m_Gradient; // 0x590 + Vector m_vRandomMin; // 0x5a8 + Vector m_vRandomMax; // 0x5b4 }; // Alignment: 0 // Size: 0x5c8 class CParticleCollectionVecInput : public CParticleVecInput -{ +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x140 +struct FloatInputMaterialVariable_t +{ +public: + // MPropertyFriendlyName "material variable" + CUtlString m_strVariable; // 0x0 + // MPropertyFriendlyName "input" + CParticleCollectionFloatInput m_flInput; // 0x8 +}; + +// Alignment: 2 +// Size: 0x5d0 +struct VecInputMaterialVariable_t +{ +public: + // MPropertyFriendlyName "material variable" + CUtlString m_strVariable; // 0x0 + // MPropertyFriendlyName "input" + CParticleCollectionVecInput m_vecInput; // 0x8 +}; + +// Alignment: 8 +// Size: 0x50 +class CParticleTransformInput +{ +public: + ParticleTransformType_t m_nType; // 0x4 + CKV3MemberNameWithStorage m_NamedValue; // 0x8 + bool m_bFollowNamedValue; // 0x40 + bool m_bSupportsDisabled; // 0x41 + bool m_bUseOrientation; // 0x42 +private: + [[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43 +public: + int32_t m_nControlPoint; // 0x44 + int32_t m_nControlPointRangeMax; // 0x48 + float m_flEndCPGrowthTime; // 0x4c +}; + +// Alignment: 1 +// Size: 0x1f0 +class CParticleFunctionEmitter : public CParticleFunction +{ +public: + // MPropertyFriendlyName "Emitter Index" + int32_t m_nEmitterIndex; // 0x1e8 +}; + +// Alignment: 0 +// Size: 0x138 +class CPerParticleFloatInput : public CParticleFloatInput +{ public: // no members available }; // Alignment: 1 -// Size: 0x4 -class PARTICLE_EHANDLE__ : public -{ +// Size: 0x1f0 +class CParticleFunctionInitializer : public CParticleFunction +{ public: - int32_t unused; // 0x0 + // MPropertyFriendlyName "Associated emitter Index" + int32_t m_nAssociatedEmitterIndex; // 0x1e8 +}; + +// Alignment: 0 +// Size: 0x138 +class CParticleRemapFloatInput : public CParticleFloatInput +{ +public: + // no members available +}; + +// Alignment: 22 +// Size: 0x12a0 +class C_OP_RenderCables : public CParticleFunctionRenderer +{ +public: + // MPropertyStartGroup "Renderer Modifiers" + // MPropertyFriendlyName "Radius Scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRadiusScale; // 0x230 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flAlphaScale; // 0x368 + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionVecInput m_vecColorScale; // 0x4a0 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0xa68 +private: + [[maybe_unused]] uint8_t __pad0a6c[0x4]; // 0xa6c +public: + // MPropertyStartGroup + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xa70 + // MPropertyFriendlyName "texture repetition mode" + TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xa78 +private: + [[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c +public: + // MPropertyFriendlyName "texture repetitions" + CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xa80 + // MPropertyFriendlyName "texture repetitions around cable" + CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xbb8 + // MPropertyFriendlyName "color map offset along path" + CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xcf0 + // MPropertyFriendlyName "color map offset around cable" + CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xe28 + // MPropertyFriendlyName "normal map offset along path" + CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xf60 + // MPropertyFriendlyName "normal map offset around cable" + CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1098 + // MPropertyFriendlyName "draw caps at each end of the cable" + bool m_bDrawCableCaps; // 0x11d0 +private: + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 +public: + // MPropertyFriendlyName "cable end cap shape factor" + // MPropertyAttributeRange "0 2" + float m_flCapRoundness; // 0x11d4 + // MPropertyFriendlyName "cable end cap offset amount" + // MPropertyAttributeRange "0 2" + float m_flCapOffsetAmount; // 0x11d8 + // MPropertyFriendlyName "tessellation scale factor" + float m_flTessScale; // 0x11dc + // MPropertyFriendlyName "minimum steps between particles" + int32_t m_nMinTesselation; // 0x11e0 + // MPropertyFriendlyName "maximum steps between particles" + int32_t m_nMaxTesselation; // 0x11e4 + // MPropertyFriendlyName "roundness factor" + int32_t m_nRoundness; // 0x11e8 +private: + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec +public: + // MPropertyFriendlyName "diffuse lighting origin" + // MParticleTransformInputOptional + CParticleTransformInput m_LightingTransform; // 0x11f0 + // MPropertyFriendlyName "material float variables" + CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x1240 +private: + [[maybe_unused]] uint8_t __pad1258[0x18]; // 0x1258 +public: + // MPropertyFriendlyName "material vector variables" + CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1270 +}; + +// Alignment: 60 +// Size: 0x2050 +class CBaseRendererSource2 : public CParticleFunctionRenderer +{ +public: + // MPropertyStartGroup "+Renderer Modifiers" + // MPropertyFriendlyName "radius scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRadiusScale; // 0x230 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flAlphaScale; // 0x368 + // MPropertyFriendlyName "rotation roll scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRollScale; // 0x4a0 + // MPropertyFriendlyName "per-particle alpha scale attribute" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "700" + ParticleAttributeIndex_t m_nAlpha2Field; // 0x5d8 +private: + [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc +public: + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionVecInput m_vecColorScale; // 0x5e0 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0xba8 + // MPropertyStartGroup "+Material" + // MPropertyFriendlyName "Shader" + // MPropertySortPriority "600" + SpriteCardShaderType_t m_nShaderType; // 0xbac + // MPropertyFriendlyName "Custom Shader" + // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" + // MPropertySortPriority "600" + CUtlString m_strShaderOverride; // 0xbb0 + // MPropertyFriendlyName "X offset of center point" + // MPropertySortPriority "600" + CParticleCollectionFloatInput m_flCenterXOffset; // 0xbb8 + // MPropertyFriendlyName "Y offset of center point" + // MPropertySortPriority "600" + CParticleCollectionFloatInput m_flCenterYOffset; // 0xcf0 + // MPropertyFriendlyName "Bump Strength" + // MPropertySortPriority "600" + float m_flBumpStrength; // 0xe28 + // MPropertyFriendlyName "Sheet Crop Behavior" + // MPropertySortPriority "600" + ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xe2c + // MPropertyFriendlyName "Textures" + // MParticleRequireDefaultArrayEntry + // MPropertyAutoExpandSelf + // MPropertySortPriority "600" + CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xe30 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animation rate" + // MPropertyAttributeRange "0 5" + // MPropertySortPriority "500" + float m_flAnimationRate; // 0xe48 + // MPropertyFriendlyName "animation type" + // MPropertySortPriority "500" + AnimationType_t m_nAnimationType; // 0xe4c + // MPropertyFriendlyName "set animation value in FPS" + // MPropertySortPriority "500" + bool m_bAnimateInFPS; // 0xe50 +private: + [[maybe_unused]] uint8_t __pad0e51[0x7]; // 0xe51 +public: + // MPropertyStartGroup "Lighting and Shadows" + // MPropertyFriendlyName "self illum amount" + // MPropertyAttributeRange "0 2" + // MPropertySortPriority "400" + CParticleCollectionFloatInput m_flSelfIllumAmount; // 0xe58 + // MPropertyFriendlyName "diffuse lighting amount" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "400" + CParticleCollectionFloatInput m_flDiffuseAmount; // 0xf90 + // MPropertyFriendlyName "diffuse lighting origin Control Point" + // MPropertySortPriority "400" + int32_t m_nLightingControlPoint; // 0x10c8 + // MPropertyFriendlyName "self illum per-particle" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "400" + ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x10cc + // MPropertyStartGroup "+Color and alpha adjustments" + // MPropertyFriendlyName "output blend mode" + // MPropertySortPriority "300" + ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x10d0 + // MPropertyFriendlyName "Gamma-correct vertex colors" + // MPropertySortPriority "300" + bool m_bGammaCorrectVertexColors; // 0x10d4 + // MPropertyFriendlyName "Saturate color pre alphablend" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod!=dota" + bool m_bSaturateColorPreAlphaBlend; // 0x10d5 +private: + [[maybe_unused]] uint8_t __pad10d6[0x2]; // 0x10d6 +public: + // MPropertyFriendlyName "add self amount over alphablend" + // MPropertySortPriority "300" + CParticleCollectionFloatInput m_flAddSelfAmount; // 0x10d8 + // MPropertyFriendlyName "desaturation amount" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionFloatInput m_flDesaturation; // 0x1210 + // MPropertyFriendlyName "overbright factor" + // MPropertySortPriority "300" + CParticleCollectionFloatInput m_flOverbrightFactor; // 0x1348 + // MPropertyFriendlyName "HSV Shift Control Point" + // MPropertySortPriority "300" + int32_t m_nHSVShiftControlPoint; // 0x1480 + // MPropertyFriendlyName "Apply fog to particle" + // MPropertySortPriority "300" + ParticleFogType_t m_nFogType; // 0x1484 + // MPropertyFriendlyName "Apply fog of war to color" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != dota" + bool m_bTintByFOW; // 0x1488 + // MPropertyFriendlyName "Apply global light to color" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != dota" + bool m_bTintByGlobalLight; // 0x1489 +private: + [[maybe_unused]] uint8_t __pad148a[0x2]; // 0x148a +public: + // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" + // MPropertyFriendlyName "alpha reference" + // MPropertySortPriority "300" + SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x148c + // MPropertyFriendlyName "alpha reference window size" + // MPropertySortPriority "300" + SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1490 + // MPropertyFriendlyName "alpha reference type" + // MPropertySortPriority "300" + ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1494 + // MPropertyFriendlyName "alpha reference softness" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0x1498 + // MPropertyFriendlyName "source alpha value to map to alpha of zero" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0x15d0 + // MPropertyFriendlyName "source alpha value to map to alpha of 1" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1708 + // MPropertyStartGroup "Refraction" + // MPropertyFriendlyName "refract background" + // MPropertySortPriority "200" + bool m_bRefract; // 0x1840 + // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + bool m_bRefractSolid; // 0x1841 +private: + [[maybe_unused]] uint8_t __pad1842[0x6]; // 0x1842 +public: + // MPropertyFriendlyName "refract amount" + // MPropertyAttributeRange "-2 2" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + CParticleCollectionFloatInput m_flRefractAmount; // 0x1848 + // MPropertyFriendlyName "refract blur radius" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + int32_t m_nRefractBlurRadius; // 0x1980 + // MPropertyFriendlyName "refract blur type" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + BlurFilterType_t m_nRefractBlurType; // 0x1984 + // MPropertyStartGroup + // MPropertyFriendlyName "Only Render in effects bloom pass" + // MPropertySortPriority "1100" + bool m_bOnlyRenderInEffectsBloomPass; // 0x1988 + // MPropertyFriendlyName "Only Render in effects water pass" + // MPropertySortPriority "1050" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffectsWaterPass; // 0x1989 + // MPropertyFriendlyName "Use Mixed Resolution Rendering" + // MPropertySortPriority "1200" + bool m_bUseMixedResolutionRendering; // 0x198a + // MPropertyFriendlyName "Only Render in effects game overlay pass" + // MPropertySortPriority "1210" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffecsGameOverlay; // 0x198b + // MPropertyStartGroup "Stencil" + // MPropertyFriendlyName "stencil test ID" + // MPropertySortPriority "0" + char m_stencilTestID[128]; // 0x198c + // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" + // MPropertySortPriority "0" + bool m_bStencilTestExclude; // 0x1a0c + // MPropertyFriendlyName "stencil write ID" + // MPropertySortPriority "0" + char m_stencilWriteID[128]; // 0x1a0d + // MPropertyFriendlyName "write stencil on z-buffer test success" + // MPropertySortPriority "0" + bool m_bWriteStencilOnDepthPass; // 0x1a8d + // MPropertyFriendlyName "write stencil on z-buffer test failure" + // MPropertySortPriority "0" + bool m_bWriteStencilOnDepthFail; // 0x1a8e + // MPropertyStartGroup "Depth buffer control and effects" + // MPropertyFriendlyName "reverse z-buffer test" + // MPropertySortPriority "900" + bool m_bReverseZBuffering; // 0x1a8f + // MPropertyFriendlyName "disable z-buffer test" + // MPropertySortPriority "900" + bool m_bDisableZBuffering; // 0x1a90 +private: + [[maybe_unused]] uint8_t __pad1a91[0x3]; // 0x1a91 +public: + // MPropertyFriendlyName "Depth feathering mode" + // MPropertySortPriority "900" + ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1a94 + // MPropertyFriendlyName "particle feathering closest distance to surface" + // MPropertySortPriority "900" + CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1a98 + // MPropertyFriendlyName "particle feathering farthest distance to surface" + // MPropertySortPriority "900" + CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1bd0 + // MPropertyFriendlyName "particle feathering filter" + // MPropertySortPriority "900" + CParticleCollectionFloatInput m_flFeatheringFilter; // 0x1d08 + // MPropertyFriendlyName "depth comparison bias" + // MPropertySortPriority "900" + float m_flDepthBias; // 0x1e40 + // MPropertyFriendlyName "Sort Method" + // MPropertySortPriority "900" + ParticleSortingChoiceList_t m_nSortMethod; // 0x1e44 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "blend sequence animation frames" + // MPropertySortPriority "500" + bool m_bBlendFramesSeq0; // 0x1e48 + // MPropertyFriendlyName "use max-luminance blending for sequence" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bBlendFramesSeq0" + bool m_bMaxLuminanceBlendingSequence0; // 0x1e49 +}; + +// Alignment: 0 +// Size: 0x5c8 +class CPerParticleVecInput : public CParticleVecInput +{ +public: + // no members available +}; + +// Alignment: 27 +// Size: 0x26c0 +class C_OP_RenderSprites : public CBaseRendererSource2 +{ +public: + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "sequence id override" + // MPropertySortPriority "500" + CParticleCollectionFloatInput m_nSequenceOverride; // 0x2050 + // MPropertyStartGroup "Orientation" + // MPropertyFriendlyName "orientation type" + // MPropertySortPriority "750" + ParticleOrientationChoiceList_t m_nOrientationType; // 0x2188 + // MPropertyFriendlyName "orientation control point" + // MPropertySortPriority "750" + // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" + int32_t m_nOrientationControlPoint; // 0x218c + // MPropertyFriendlyName "enable yaw for particles aligned to normals" + // MPropertySortPriority "750" + // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" + bool m_bUseYawWithNormalAligned; // 0x2190 +private: + [[maybe_unused]] uint8_t __pad2191[0x3]; // 0x2191 +public: + // MPropertyStartGroup "Fading and culling" + // MPropertyFriendlyName "minimum visual screen size" + // MPropertySortPriority "1000" + float m_flMinSize; // 0x2194 + // MPropertyFriendlyName "maximum visual screen size" + // MPropertySortPriority "1000" + float m_flMaxSize; // 0x2198 + // MPropertyFriendlyName "Factor to map size adjustment to alpha" + // MPropertySortPriority "1000" + float m_flAlphaAdjustWithSizeAdjust; // 0x219c + // MPropertyFriendlyName "screen size to start fading" + // MPropertySortPriority "1000" + CParticleCollectionFloatInput m_flStartFadeSize; // 0x21a0 + // MPropertyFriendlyName "screen size to fade away" + // MPropertySortPriority "1000" + CParticleCollectionFloatInput m_flEndFadeSize; // 0x22d8 + // MPropertyFriendlyName "start fade dot product of normal vs view" + // MPropertySortPriority "1000" + float m_flStartFadeDot; // 0x2410 + // MPropertyFriendlyName "end fade dot product of normal vs view" + // MPropertySortPriority "1000" + float m_flEndFadeDot; // 0x2414 + // MPropertyStartGroup "Distance to alpha coding" + // MPropertyFriendlyName "distance alpha" + // MPropertySortPriority "0" + bool m_bDistanceAlpha; // 0x2418 + // MPropertyFriendlyName "use soft edges for distance alpha" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bDistanceAlpha" + bool m_bSoftEdges; // 0x2419 +private: + [[maybe_unused]] uint8_t __pad241a[0x2]; // 0x241a +public: + // MPropertyFriendlyName "start value for soft edges for distance alpha" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bDistanceAlpha" + float m_flEdgeSoftnessStart; // 0x241c + // MPropertyFriendlyName "end value for soft edges for distance alpha" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bDistanceAlpha" + float m_flEdgeSoftnessEnd; // 0x2420 + // MPropertyStartGroup "Outlining" + // MPropertyFriendlyName "enable particle outlining" + // MPropertySortPriority "0" + bool m_bOutline; // 0x2424 + // MPropertyFriendlyName "outline color" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + Color m_OutlineColor; // 0x2425 +private: + [[maybe_unused]] uint8_t __pad2429[0x3]; // 0x2429 +public: + // MPropertyFriendlyName "outline alpha" + // MPropertyAttributeRange "0 255" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + int32_t m_nOutlineAlpha; // 0x242c + // MPropertyFriendlyName "outline start 0" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + float m_flOutlineStart0; // 0x2430 + // MPropertyFriendlyName "outline start 1" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + float m_flOutlineStart1; // 0x2434 + // MPropertyFriendlyName "outline end 0" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + float m_flOutlineEnd0; // 0x2438 + // MPropertyFriendlyName "outline end 1" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + float m_flOutlineEnd1; // 0x243c + // MPropertyStartGroup "Lighting and Shadows" + // MPropertyFriendlyName "lighting mode" + // MPropertySortPriority "400" + // MPropertySuppressExpr "mod != hlx" + ParticleLightingQuality_t m_nLightingMode; // 0x2440 +private: + [[maybe_unused]] uint8_t __pad2444[0x4]; // 0x2444 +public: + // MPropertyFriendlyName "vertex lighting tessellation (0-5)" + // MPropertyAttributeRange "0 5" + // MPropertySortPriority "400" + // MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX" + CParticleCollectionFloatInput m_flLightingTessellation; // 0x2448 + // MPropertyFriendlyName "lighting directionality" + // MPropertySortPriority "400" + // MPropertySuppressExpr "mod != hlx" + CParticleCollectionFloatInput m_flLightingDirectionality; // 0x2580 + // MPropertyFriendlyName "Particle Shadows" + // MPropertySortPriority "400" + bool m_bParticleShadows; // 0x26b8 +private: + [[maybe_unused]] uint8_t __pad26b9[0x3]; // 0x26b9 +public: + // MPropertyFriendlyName "Shadow Density" + // MPropertySortPriority "400" + // MPropertySuppressExpr "!m_bParticleShadows" + float m_flShadowDensity; // 0x26bc }; // Alignment: 1 // Size: 0x4 -class PARTICLE_WORLD_HANDLE__ : public -{ +class PARTICLE_EHANDLE__ +{ public: - int32_t unused; // 0x0 + int32_t unused; // 0x0 +}; + +// Alignment: 1 +// Size: 0x4 +class PARTICLE_WORLD_HANDLE__ +{ +public: + int32_t unused; // 0x0 }; // Alignment: 0 // Size: 0x8 -class IParticleEffect : public -{ +class IParticleEffect +{ public: // no members available }; // Alignment: 0 // Size: 0x28 -class CParticleProperty : public -{ +class CParticleProperty +{ public: // no members available }; @@ -1961,7565 +2113,8232 @@ public: // Alignment: 32 // Size: 0xc8 class CNewParticleEffect : public IParticleEffect -{ +{ public: - CNewParticleEffect* m_pNext; // 0x10 - CNewParticleEffect* m_pPrev; // 0x18 - IParticleCollection* m_pParticles; // 0x20 - char* m_pDebugName; // 0x28 - uint8_t m_bDontRemove:1; // 0x0 - uint8_t m_bRemove:1; // 0x0 - uint8_t m_bNeedsBBoxUpdate:1; // 0x0 - uint8_t m_bIsFirstFrame:1; // 0x0 - uint8_t m_bAutoUpdateBBox:1; // 0x0 - uint8_t m_bAllocated:1; // 0x0 - uint8_t m_bSimulate:1; // 0x0 - uint8_t m_bShouldPerformCullCheck:1; // 0x0 - uint8_t m_bForceNoDraw:1; // 0x0 - uint8_t m_bShouldSave:1; // 0x0 - uint8_t m_bDisableAggregation:1; // 0x0 - uint8_t m_bShouldSimulateDuringGamePaused:1; // 0x0 - uint8_t m_bShouldCheckFoW:1; // 0x0 - Vector m_vSortOrigin; // 0x40 - float m_flScale; // 0x4c - PARTICLE_EHANDLE__* m_hOwner; // 0x50 - CParticleProperty* m_pOwningParticleProperty; // 0x58 - float m_flFreezeTransitionStart; // 0x70 - float m_flFreezeTransitionDuration; // 0x74 - float m_flFreezeTransitionOverride; // 0x78 - bool m_bFreezeTransitionActive; // 0x7c - bool m_bFreezeTargetState; // 0x7d - bool m_bCanFreeze; // 0x7e - Vector m_LastMin; // 0x80 - Vector m_LastMax; // 0x8c - CSplitScreenSlot m_nSplitScreenUser; // 0x98 - Vector m_vecAggregationCenter; // 0x9c - int32_t m_RefCount; // 0xc0 + CNewParticleEffect* m_pNext; // 0x10 + CNewParticleEffect* m_pPrev; // 0x18 + IParticleCollection* m_pParticles; // 0x20 + char* m_pDebugName; // 0x28 + struct + { + uint8_t m_bDontRemove: 1; + uint8_t m_bRemove: 1; + uint8_t m_bNeedsBBoxUpdate: 1; + uint8_t m_bIsFirstFrame: 1; + uint8_t m_bAutoUpdateBBox: 1; + uint8_t m_bAllocated: 1; + uint8_t m_bSimulate: 1; + uint8_t m_bShouldPerformCullCheck: 1; + uint8_t m_bForceNoDraw: 1; + uint8_t m_bShouldSave: 1; + uint8_t m_bDisableAggregation: 1; + uint8_t m_bShouldSimulateDuringGamePaused: 1; + uint8_t m_bShouldCheckFoW: 1; + uint256_t __pad0: 179; + }; // 192 bits + Vector m_vSortOrigin; // 0x40 + float m_flScale; // 0x4c + PARTICLE_EHANDLE__* m_hOwner; // 0x50 + CParticleProperty* m_pOwningParticleProperty; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0060[0x10]; // 0x60 +public: + float m_flFreezeTransitionStart; // 0x70 + float m_flFreezeTransitionDuration; // 0x74 + float m_flFreezeTransitionOverride; // 0x78 + bool m_bFreezeTransitionActive; // 0x7c + bool m_bFreezeTargetState; // 0x7d + bool m_bCanFreeze; // 0x7e +private: + [[maybe_unused]] uint8_t __pad007f[0x1]; // 0x7f +public: + Vector m_LastMin; // 0x80 + Vector m_LastMax; // 0x8c + CSplitScreenSlot m_nSplitScreenUser; // 0x98 + Vector m_vecAggregationCenter; // 0x9c +private: + [[maybe_unused]] uint8_t __pad00a8[0x18]; // 0xa8 +public: + int32_t m_RefCount; // 0xc0 }; // Alignment: 5 // Size: 0x480 -class C_OP_ConstrainDistance : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_ConstrainDistance : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "minimum distance" - CParticleCollectionFloatInput m_fMinDistance; // 0x1f0 + CParticleCollectionFloatInput m_fMinDistance; // 0x1f0 // MPropertyFriendlyName "maximum distance" - CParticleCollectionFloatInput m_fMaxDistance; // 0x328 + CParticleCollectionFloatInput m_fMaxDistance; // 0x328 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x460 + int32_t m_nControlPointNumber; // 0x460 // MPropertyFriendlyName "offset of center" // MVectorIsCoordinate - Vector m_CenterOffset; // 0x464 + Vector m_CenterOffset; // 0x464 // MPropertyFriendlyName "global center point" - bool m_bGlobalCenter; // 0x470 + bool m_bGlobalCenter; // 0x470 }; // Alignment: 2 // Size: 0x460 -class C_OP_CollideWithSelf : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_CollideWithSelf : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x1f0 + CPerParticleFloatInput m_flRadiusScale; // 0x1f0 // MPropertyFriendlyName "minimum speed for check" - CPerParticleFloatInput m_flMinimumSpeed; // 0x328 + CPerParticleFloatInput m_flMinimumSpeed; // 0x328 }; // Alignment: 2 // Size: 0x460 -class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "parent particle radius scale" - CPerParticleFloatInput m_flParentRadiusScale; // 0x1f0 + CPerParticleFloatInput m_flParentRadiusScale; // 0x1f0 // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x328 + CPerParticleFloatInput m_flRadiusScale; // 0x328 }; // Alignment: 8 // Size: 0x250 -class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1f0 + float m_fMinDistance; // 0x1f0 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance0; // 0x1f4 + float m_flMaxDistance0; // 0x1f4 // MPropertyFriendlyName "maximum distance middle" - float m_flMaxDistanceMid; // 0x1f8 + float m_flMaxDistanceMid; // 0x1f8 // MPropertyFriendlyName "maximum distance end" - float m_flMaxDistance1; // 0x1fc - CPathParameters m_PathParameters; // 0x200 + float m_flMaxDistance1; // 0x1fc + CPathParameters m_PathParameters; // 0x200 // MPropertyFriendlyName "travel time" - float m_flTravelTime; // 0x240 + float m_flTravelTime; // 0x240 // MPropertyFriendlyName "travel time scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldScale; // 0x244 + ParticleAttributeIndex_t m_nFieldScale; // 0x244 // MPropertyFriendlyName "manual time placement field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nManualTField; // 0x248 + ParticleAttributeIndex_t m_nManualTField; // 0x248 }; // Alignment: 5 // Size: 0x220 -class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1f0 + float m_fMinDistance; // 0x1f0 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance; // 0x1f4 + float m_flMaxDistance; // 0x1f4 // MPropertyFriendlyName "Time scale" - float m_flTimeScale; // 0x1f8 + float m_flTimeScale; // 0x1f8 // MPropertyFriendlyName "Treat path as a loop" - bool m_bLoopedPath; // 0x1fc + bool m_bLoopedPath; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: // MPropertyFriendlyName "path points" - CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x200 + CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x200 }; // Alignment: 7 // Size: 0x480 -class C_OP_PlanarConstraint : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_PlanarConstraint : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "plane point" // MVectorIsCoordinate - Vector m_PointOnPlane; // 0x1f0 + Vector m_PointOnPlane; // 0x1f0 // MPropertyFriendlyName "plane normal" - Vector m_PlaneNormal; // 0x1fc + Vector m_PlaneNormal; // 0x1fc // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x208 + int32_t m_nControlPointNumber; // 0x208 // MPropertyFriendlyName "global origin" - bool m_bGlobalOrigin; // 0x20c + bool m_bGlobalOrigin; // 0x20c // MPropertyFriendlyName "global normal" - bool m_bGlobalNormal; // 0x20d + bool m_bGlobalNormal; // 0x20d +private: + [[maybe_unused]] uint8_t __pad020e[0x2]; // 0x20e +public: // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x210 + CPerParticleFloatInput m_flRadiusScale; // 0x210 // MPropertyFriendlyName "falloff distance from control point" - CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x348 + CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x348 }; // Alignment: 0 // Size: 0x1f0 -class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint +{ public: // no members available }; // Alignment: 26 // Size: 0x8e0 -class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "control point for fast collision tests" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x1f0 // MPropertyFriendlyName "control point offset for fast collisions" // MVectorIsCoordinate - Vector m_vecCpOffset; // 0x1f4 + Vector m_vecCpOffset; // 0x1f4 // MPropertyFriendlyName "collision mode" - ParticleCollisionMode_t m_nCollisionMode; // 0x200 + ParticleCollisionMode_t m_nCollisionMode; // 0x200 // MPropertyFriendlyName "minimum detail collision mode" - ParticleCollisionMode_t m_nCollisionModeMin; // 0x204 + ParticleCollisionMode_t m_nCollisionModeMin; // 0x204 // MPropertyStartGroup "Collision Options" // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x208 + ParticleTraceSet_t m_nTraceSet; // 0x208 // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x20c + char m_CollisionGroupName[128]; // 0x20c // MPropertyFriendlyName "World Only" - bool m_bWorldOnly; // 0x28c + bool m_bWorldOnly; // 0x28c // MPropertyFriendlyName "brush only" - bool m_bBrushOnly; // 0x28d + bool m_bBrushOnly; // 0x28d // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x28e + bool m_bIncludeWater; // 0x28e +private: + [[maybe_unused]] uint8_t __pad028f[0x1]; // 0x28f +public: // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x290 + int32_t m_nIgnoreCP; // 0x290 // MPropertyFriendlyName "control point movement distance tolerance" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCpMovementTolerance; // 0x294 + float m_flCpMovementTolerance; // 0x294 // MPropertyFriendlyName "plane cache retest rate" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_PER_FRAME_PLANESET" - float m_flRetestRate; // 0x298 + float m_flRetestRate; // 0x298 // MPropertyFriendlyName "trace accuracy tolerance" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_USE_NEAREST_TRACE" - float m_flTraceTolerance; // 0x29c + float m_flTraceTolerance; // 0x29c // MPropertyFriendlyName "Confirm Collision Speed Threshold" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCollisionConfirmationSpeed; // 0x2a0 + float m_flCollisionConfirmationSpeed; // 0x2a0 // MPropertyFriendlyName "Max Confirmation Traces Per Fame" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_nMaxTracesPerFrame; // 0x2a4 + float m_nMaxTracesPerFrame; // 0x2a4 // MPropertyStartGroup "Impact Options" // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x2a8 + CPerParticleFloatInput m_flRadiusScale; // 0x2a8 // MPropertyFriendlyName "amount of bounce" - CPerParticleFloatInput m_flBounceAmount; // 0x3e0 + CPerParticleFloatInput m_flBounceAmount; // 0x3e0 // MPropertyFriendlyName "amount of slide" - CPerParticleFloatInput m_flSlideAmount; // 0x518 + CPerParticleFloatInput m_flSlideAmount; // 0x518 // MPropertyFriendlyName "Random Direction scale" - CPerParticleFloatInput m_flRandomDirScale; // 0x650 + CPerParticleFloatInput m_flRandomDirScale; // 0x650 // MPropertyFriendlyName "Add Decay to Bounce" - bool m_bDecayBounce; // 0x788 + bool m_bDecayBounce; // 0x788 // MPropertyFriendlyName "kill particle on collision" - bool m_bKillonContact; // 0x789 + bool m_bKillonContact; // 0x789 +private: + [[maybe_unused]] uint8_t __pad078a[0x2]; // 0x78a +public: // MPropertyFriendlyName "minimum speed to kill on collision" - float m_flMinSpeed; // 0x78c + float m_flMinSpeed; // 0x78c // MPropertyFriendlyName "Set Normal" - bool m_bSetNormal; // 0x790 + bool m_bSetNormal; // 0x790 +private: + [[maybe_unused]] uint8_t __pad0791[0x3]; // 0x791 +public: // MPropertyFriendlyName "Stick On Collision Cache Field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x794 + ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x794 // MPropertyFriendlyName "Speed to stop when sticking" - CPerParticleFloatInput m_flStopSpeed; // 0x798 + CPerParticleFloatInput m_flStopSpeed; // 0x798 // MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nEntityStickDataField; // 0x8d0 + ParticleAttributeIndex_t m_nEntityStickDataField; // 0x8d0 }; // Alignment: 4 // Size: 0x210 -class C_OP_BoxConstraint : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_BoxConstraint : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "min coords" - Vector m_vecMin; // 0x1f0 + Vector m_vecMin; // 0x1f0 // MPropertyFriendlyName "max coords" - Vector m_vecMax; // 0x1fc + Vector m_vecMax; // 0x1fc // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x208 + int32_t m_nCP; // 0x208 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x20c + bool m_bLocalSpace; // 0x20c }; // Alignment: 5 // Size: 0x6e0 -class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "slack" - CParticleCollectionFloatInput m_flRestLength; // 0x1f0 + CParticleCollectionFloatInput m_flRestLength; // 0x1f0 // MPropertyFriendlyName "minimum segment length %" - CParticleCollectionFloatInput m_flMinDistance; // 0x328 + CParticleCollectionFloatInput m_flMinDistance; // 0x328 // MPropertyFriendlyName "maximum segment length %" - CParticleCollectionFloatInput m_flMaxDistance; // 0x460 + CParticleCollectionFloatInput m_flMaxDistance; // 0x460 // MPropertyFriendlyName "scale factor for spring correction" - float m_flAdjustmentScale; // 0x598 + float m_flAdjustmentScale; // 0x598 +private: + [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c +public: // MPropertyFriendlyName "manual resting spacing" - CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5a0 + CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5a0 }; // Alignment: 5 // Size: 0xca0 -class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "slack" - CPerParticleFloatInput m_flRestLength; // 0x1f0 + CPerParticleFloatInput m_flRestLength; // 0x1f0 // MPropertyFriendlyName "minimum segment length %" - CPerParticleFloatInput m_flMinDistance; // 0x328 + CPerParticleFloatInput m_flMinDistance; // 0x328 // MPropertyFriendlyName "maximum segment length %" - CPerParticleFloatInput m_flMaxDistance; // 0x460 + CPerParticleFloatInput m_flMaxDistance; // 0x460 // MPropertyFriendlyName "resting spacing" - CPerParticleFloatInput m_flRestingLength; // 0x598 + CPerParticleFloatInput m_flRestingLength; // 0x598 // MPropertyFriendlyName "anchor vector" - CPerParticleVecInput m_vecAnchorVector; // 0x6d0 + CPerParticleVecInput m_vecAnchorVector; // 0x6d0 }; // Alignment: 2 // Size: 0x200 -class C_OP_ConstrainLineLength : public CParticleFunctionConstraint, CParticleFunction -{ +class C_OP_ConstrainLineLength : public CParticleFunctionConstraint +{ public: // MPropertyFriendlyName "minimum length" - float m_flMinDistance; // 0x1f0 + float m_flMinDistance; // 0x1f0 // MPropertyFriendlyName "maximum length" - float m_flMaxDistance; // 0x1f4 + float m_flMaxDistance; // 0x1f4 }; // Alignment: 11 // Size: 0xc10 -class C_INIT_RingWave : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RingWave : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "input transform" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "even distribution count" - CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x240 + CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x240 // MPropertyFriendlyName "initial radius" - CPerParticleFloatInput m_flInitialRadius; // 0x378 + CPerParticleFloatInput m_flInitialRadius; // 0x378 // MPropertyFriendlyName "thickness" - CPerParticleFloatInput m_flThickness; // 0x4b0 + CPerParticleFloatInput m_flThickness; // 0x4b0 // MPropertyFriendlyName "min initial speed" - CPerParticleFloatInput m_flInitialSpeedMin; // 0x5e8 + CPerParticleFloatInput m_flInitialSpeedMin; // 0x5e8 // MPropertyFriendlyName "max initial speed" - CPerParticleFloatInput m_flInitialSpeedMax; // 0x720 + CPerParticleFloatInput m_flInitialSpeedMax; // 0x720 // MPropertyFriendlyName "roll" - CPerParticleFloatInput m_flRoll; // 0x858 + CPerParticleFloatInput m_flRoll; // 0x858 // MPropertyFriendlyName "pitch" - CPerParticleFloatInput m_flPitch; // 0x990 + CPerParticleFloatInput m_flPitch; // 0x990 // MPropertyFriendlyName "yaw" - CPerParticleFloatInput m_flYaw; // 0xac8 + CPerParticleFloatInput m_flYaw; // 0xac8 // MPropertyFriendlyName "even distribution" - bool m_bEvenDistribution; // 0xc00 + bool m_bEvenDistribution; // 0xc00 // MPropertyFriendlyName "XY velocity only" - bool m_bXYVelocityOnly; // 0xc01 + bool m_bXYVelocityOnly; // 0xc01 }; // Alignment: 7 // Size: 0x210 -class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "override CP (X/Y/Z *= radius/density/speed)" - int32_t m_nOverrideCP; // 0x1f4 + int32_t m_nOverrideCP; // 0x1f4 // MPropertyFriendlyName "density" - int32_t m_nDensity; // 0x1f8 + int32_t m_nDensity; // 0x1f8 // MPropertyFriendlyName "initial radius" - float m_flInitialRadius; // 0x1fc + float m_flInitialRadius; // 0x1fc // MPropertyFriendlyName "min initial speed" - float m_flInitialSpeedMin; // 0x200 + float m_flInitialSpeedMin; // 0x200 // MPropertyFriendlyName "max initial speed" - float m_flInitialSpeedMax; // 0x204 + float m_flInitialSpeedMax; // 0x204 // MPropertyFriendlyName "use particle count as density scale" - bool m_bUseParticleCount; // 0x208 + bool m_bUseParticleCount; // 0x208 }; // Alignment: 10 // Size: 0x6f0 -class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "first dimension 0-2 (-1 disables)" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent1; // 0x1f0 + int32_t m_nComponent1; // 0x1f0 // MPropertyFriendlyName "second dimension 0-2 (-1 disables)" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent2; // 0x1f4 + int32_t m_nComponent2; // 0x1f4 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "particle density" - CPerParticleFloatInput m_flParticleDensity; // 0x200 + CPerParticleFloatInput m_flParticleDensity; // 0x200 // MPropertyFriendlyName "point offset" - CPerParticleFloatInput m_flOffset; // 0x338 + CPerParticleFloatInput m_flOffset; // 0x338 // MPropertyFriendlyName "radius 1" - CPerParticleFloatInput m_flRadius1; // 0x470 + CPerParticleFloatInput m_flRadius1; // 0x470 // MPropertyFriendlyName "radius 2" - CPerParticleFloatInput m_flRadius2; // 0x5a8 + CPerParticleFloatInput m_flRadius2; // 0x5a8 // MPropertyFriendlyName "use particle count instead of creation time" - bool m_bUseCount; // 0x6e0 + bool m_bUseCount; // 0x6e0 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x6e1 + bool m_bUseLocalCoords; // 0x6e1 // MPropertyFriendlyName "offset from existing position" - bool m_bOffsetExistingPos; // 0x6e2 + bool m_bOffsetExistingPos; // 0x6e2 }; // Alignment: 14 // Size: 0x220 -class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "scale size multiplier from CP" - int32_t m_nScaleCP; // 0x1f4 + int32_t m_nScaleCP; // 0x1f4 // MPropertyFriendlyName "scale CP component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1f8 + int32_t m_nComponent; // 0x1f8 // MPropertyFriendlyName "center core radius" - float m_fRadCentCore; // 0x1fc + float m_fRadCentCore; // 0x1fc // MPropertyFriendlyName "radius multiplier" - float m_fRadPerPoint; // 0x200 + float m_fRadPerPoint; // 0x200 // MPropertyFriendlyName "radius max (-1 procedural growth)" - float m_fRadPerPointTo; // 0x204 + float m_fRadPerPointTo; // 0x204 // MPropertyFriendlyName "golden angle (is 137.508)" - float m_fpointAngle; // 0x208 + float m_fpointAngle; // 0x208 // MPropertyFriendlyName "overall size multiplier (-1 count based distribution)" - float m_fsizeOverall; // 0x20c + float m_fsizeOverall; // 0x20c // MPropertyFriendlyName "radius bias" - float m_fRadBias; // 0x210 + float m_fRadBias; // 0x210 // MPropertyFriendlyName "radius min " - float m_fMinRad; // 0x214 + float m_fMinRad; // 0x214 // MPropertyFriendlyName "distribution bias" - float m_fDistBias; // 0x218 + float m_fDistBias; // 0x218 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x21c + bool m_bUseLocalCoords; // 0x21c // MPropertyFriendlyName "use continuous emission" - bool m_bUseWithContEmit; // 0x21d + bool m_bUseWithContEmit; // 0x21d // MPropertyFriendlyName "scale radius from initial value" - bool m_bUseOrigRadius; // 0x21e + bool m_bUseOrigRadius; // 0x21e }; // Alignment: 12 // Size: 0xf60 -class C_INIT_CreateOnModel : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateOnModel : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x1f4 + int32_t m_nForceInModel; // 0x1f4 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f8 + int32_t m_nDesiredHitbox; // 0x1f8 // MPropertyFriendlyName "Control Point Providing Hitbox index" - int32_t m_nHitboxValueFromControlPointIndex; // 0x1fc + int32_t m_nHitboxValueFromControlPointIndex; // 0x1fc // MPropertyFriendlyName "hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 // MPropertyFriendlyName "inherited velocity scale" - float m_flBoneVelocity; // 0x7c8 + float m_flBoneVelocity; // 0x7c8 // MPropertyFriendlyName "maximum inherited velocity" - float m_flMaxBoneVelocity; // 0x7cc + float m_flMaxBoneVelocity; // 0x7cc // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x7d0 + CParticleCollectionVecInput m_vecDirectionBias; // 0x7d0 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0xd98 + char m_HitboxSetName[128]; // 0xd98 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xe18 + bool m_bLocalCoords; // 0xe18 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0xe19 + bool m_bUseBones; // 0xe19 +private: + [[maybe_unused]] uint8_t __pad0e1a[0x6]; // 0xe1a +public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0xe20 + CParticleCollectionFloatInput m_flShellSize; // 0xe20 }; // Alignment: 14 // Size: 0x11c0 -class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f0 + bool m_bUseBones; // 0x1f0 // MPropertyFriendlyName "force creation height to desired height" - bool m_bForceZ; // 0x1f1 + bool m_bForceZ; // 0x1f1 +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x1f4 // MPropertyFriendlyName "height override control point number" - int32_t m_nHeightCP; // 0x1f8 + int32_t m_nHeightCP; // 0x1f8 // MPropertyFriendlyName "desired height is relative to water" - bool m_bUseWaterHeight; // 0x1fc + bool m_bUseWaterHeight; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: // MPropertyFriendlyName "relative desired height" - CParticleCollectionFloatInput m_flDesiredHeight; // 0x200 + CParticleCollectionFloatInput m_flDesiredHeight; // 0x200 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x338 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x338 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x900 + CParticleCollectionVecInput m_vecDirectionBias; // 0x900 // MPropertyFriendlyName "bias type" - ParticleHitboxBiasType_t m_nBiasType; // 0xec8 + ParticleHitboxBiasType_t m_nBiasType; // 0xec8 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xecc + bool m_bLocalCoords; // 0xecc // MPropertyFriendlyName "bias prefers moving hitboxes" - bool m_bPreferMovingBoxes; // 0xecd + bool m_bPreferMovingBoxes; // 0xecd // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0xece + char m_HitboxSetName[128]; // 0xece +private: + [[maybe_unused]] uint8_t __pad0f4e[0x2]; // 0xf4e +public: // MPropertyFriendlyName "hitbox velocity inherited scale" - CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xf50 + CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xf50 // MPropertyFriendlyName "max hitbox velocity" - CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1088 + CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1088 }; // Alignment: 9 // Size: 0x990 -class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f4 + int32_t m_nDesiredHitbox; // 0x1f4 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x1f8 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x1f8 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x7c0 + char m_HitboxSetName[128]; // 0x7c0 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x840 + bool m_bUseBones; // 0x840 // MPropertyFriendlyName "get closest point on closest hitbox" - bool m_bUseClosestPointOnHitbox; // 0x841 + bool m_bUseClosestPointOnHitbox; // 0x841 +private: + [[maybe_unused]] uint8_t __pad0842[0x2]; // 0x842 +public: // MPropertyFriendlyName "closest point test type" - ClosestPointTestType_t m_nTestType; // 0x844 + ClosestPointTestType_t m_nTestType; // 0x844 // MPropertyFriendlyName "hybrid ratio" - CParticleCollectionFloatInput m_flHybridRatio; // 0x848 + CParticleCollectionFloatInput m_flHybridRatio; // 0x848 // MPropertyFriendlyName "set initial position" - bool m_bUpdatePosition; // 0x980 + bool m_bUpdatePosition; // 0x980 }; // Alignment: 9 // Size: 0x990 -class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x1f4 + int32_t m_nForceInModel; // 0x1f4 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f8 + int32_t m_nDesiredHitbox; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - Vector m_vecDirectionBias; // 0x7c8 + Vector m_vecDirectionBias; // 0x7c8 // MPropertyFriendlyName "maintain existing hitbox" - bool m_bMaintainHitbox; // 0x7d4 + bool m_bMaintainHitbox; // 0x7d4 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x7d5 + bool m_bUseBones; // 0x7d5 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x7d6 + char m_HitboxSetName[128]; // 0x7d6 +private: + [[maybe_unused]] uint8_t __pad0856[0x2]; // 0x856 +public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0x858 + CParticleCollectionFloatInput m_flShellSize; // 0x858 }; // Alignment: 14 // Size: 0x18a0 -class C_INIT_CreateWithinSphereTransform : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateWithinSphereTransform : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "distance min" - CPerParticleFloatInput m_fRadiusMin; // 0x1f0 + CPerParticleFloatInput m_fRadiusMin; // 0x1f0 // MPropertyFriendlyName "distance max" - CPerParticleFloatInput m_fRadiusMax; // 0x328 + CPerParticleFloatInput m_fRadiusMax; // 0x328 // MPropertyFriendlyName "distance bias" // MVectorIsCoordinate - CPerParticleVecInput m_vecDistanceBias; // 0x460 + CPerParticleVecInput m_vecDistanceBias; // 0x460 // MPropertyFriendlyName "distance bias absolute value" // MVectorIsCoordinate - Vector m_vecDistanceBiasAbs; // 0xa28 + Vector m_vecDistanceBiasAbs; // 0xa28 +private: + [[maybe_unused]] uint8_t __pad0a34[0x4]; // 0xa34 +public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0xa38 + CParticleTransformInput m_TransformInput; // 0xa38 // MPropertyFriendlyName "speed min" - CPerParticleFloatInput m_fSpeedMin; // 0xa88 + CPerParticleFloatInput m_fSpeedMin; // 0xa88 // MPropertyFriendlyName "speed max" - CPerParticleFloatInput m_fSpeedMax; // 0xbc0 + CPerParticleFloatInput m_fSpeedMax; // 0xbc0 // MPropertyFriendlyName "speed random exponent" - float m_fSpeedRandExp; // 0xcf8 + float m_fSpeedRandExp; // 0xcf8 // MPropertyFriendlyName "bias in local system" - bool m_bLocalCoords; // 0xcfc + bool m_bLocalCoords; // 0xcfc +private: + [[maybe_unused]] uint8_t __pad0cfd[0x3]; // 0xcfd +public: // MPropertyFriendlyName "randomly distribution growth time" - float m_flEndCPGrowthTime; // 0xd00 + float m_flEndCPGrowthTime; // 0xd00 +private: + [[maybe_unused]] uint8_t __pad0d04[0x4]; // 0xd04 +public: // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xd08 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xd08 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x12d0 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x12d0 // MPropertyFriendlyName "Output vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1898 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1898 // MPropertyFriendlyName "Velocity vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldVelocity; // 0x189c + ParticleAttributeIndex_t m_nFieldVelocity; // 0x189c }; // Alignment: 5 // Size: 0xd90 -class C_INIT_CreateWithinBox : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateWithinBox : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "min" // MVectorIsCoordinate - CPerParticleVecInput m_vecMin; // 0x1f0 + CPerParticleVecInput m_vecMin; // 0x1f0 // MPropertyFriendlyName "max" // MVectorIsCoordinate - CPerParticleVecInput m_vecMax; // 0x7b8 + CPerParticleVecInput m_vecMax; // 0x7b8 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xd80 + int32_t m_nControlPointNumber; // 0xd80 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0xd84 + bool m_bLocalSpace; // 0xd84 +private: + [[maybe_unused]] uint8_t __pad0d85[0x3]; // 0xd85 +public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xd88 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xd88 }; // Alignment: 10 // Size: 0x950 -class C_INIT_CreateOnGrid : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateOnGrid : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "X Dimension Count" - CParticleCollectionFloatInput m_nXCount; // 0x1f0 + CParticleCollectionFloatInput m_nXCount; // 0x1f0 // MPropertyFriendlyName "Y Dimension Count" - CParticleCollectionFloatInput m_nYCount; // 0x328 + CParticleCollectionFloatInput m_nYCount; // 0x328 // MPropertyFriendlyName "Z Dimension Count" - CParticleCollectionFloatInput m_nZCount; // 0x460 + CParticleCollectionFloatInput m_nZCount; // 0x460 // MPropertyFriendlyName "X Dimension Spacing" - CParticleCollectionFloatInput m_nXSpacing; // 0x598 + CParticleCollectionFloatInput m_nXSpacing; // 0x598 // MPropertyFriendlyName "Y Dimension Spacing" - CParticleCollectionFloatInput m_nYSpacing; // 0x6d0 + CParticleCollectionFloatInput m_nYSpacing; // 0x6d0 // MPropertyFriendlyName "Z Dimension Spacing" - CParticleCollectionFloatInput m_nZSpacing; // 0x808 + CParticleCollectionFloatInput m_nZSpacing; // 0x808 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x940 + int32_t m_nControlPointNumber; // 0x940 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x944 + bool m_bLocalSpace; // 0x944 // MPropertyFriendlyName "center around control point" - bool m_bCenter; // 0x945 + bool m_bCenter; // 0x945 // MPropertyFriendlyName "hollow" - bool m_bHollow; // 0x946 + bool m_bHollow; // 0x946 }; // Alignment: 6 // Size: 0xde0 -class C_INIT_PositionOffset : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_PositionOffset : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMin; // 0x1f0 + CPerParticleVecInput m_OffsetMin; // 0x1f0 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMax; // 0x7b8 + CPerParticleVecInput m_OffsetMax; // 0x7b8 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0xd80 + CParticleTransformInput m_TransformInput; // 0xd80 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0xdd0 + bool m_bLocalCoords; // 0xdd0 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0xdd1 + bool m_bProportional; // 0xdd1 +private: + [[maybe_unused]] uint8_t __pad0dd2[0x2]; // 0xdd2 +public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xdd4 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xdd4 }; // Alignment: 3 // Size: 0x200 -class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "creation control point number" - int32_t m_nControlPointNumberStart; // 0x1f0 + int32_t m_nControlPointNumberStart; // 0x1f0 // MPropertyFriendlyName "offset control point number" - int32_t m_nControlPointNumberEnd; // 0x1f4 + int32_t m_nControlPointNumberEnd; // 0x1f4 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x1f8 + bool m_bLocalCoords; // 0x1f8 }; // Alignment: 13 // Size: 0x510 -class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1f0 + CPerParticleFloatInput m_flOffset; // 0x1f0 // MPropertyFriendlyName "max trace length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x328 + CPerParticleFloatInput m_flMaxTraceLength; // 0x328 // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x460 + char m_CollisionGroupName[128]; // 0x460 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x4e0 + ParticleTraceSet_t m_nTraceSet; // 0x4e0 +private: + [[maybe_unused]] uint8_t __pad04e4[0xc]; // 0x4e4 +public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x4f0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x4f0 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x4f4 + bool m_bIncludeWater; // 0x4f4 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x4f5 + bool m_bSetNormal; // 0x4f5 // MPropertyFriendlyName "set Previous XYZ only" - bool m_bSetPXYZOnly; // 0x4f6 + bool m_bSetPXYZOnly; // 0x4f6 // MPropertyFriendlyName "Trace along particle normal" - bool m_bTraceAlongNormal; // 0x4f7 + bool m_bTraceAlongNormal; // 0x4f7 // MPropertyFriendlyName "Offset only if trace hit" - bool m_bOffsetonColOnly; // 0x4f8 + bool m_bOffsetonColOnly; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 +public: // MPropertyFriendlyName "offset final position by this fraction of the particle radius" - float m_flOffsetByRadiusFactor; // 0x4fc + float m_flOffsetByRadiusFactor; // 0x4fc // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x500 + int32_t m_nPreserveOffsetCP; // 0x500 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x504 + int32_t m_nIgnoreCP; // 0x504 }; // Alignment: 3 // Size: 0x200 -class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x1f0 + float m_fSpeedMin; // 0x1f0 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x1f4 + float m_fSpeedMax; // 0x1f4 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x1f8 + bool m_bIgnoreDt; // 0x1f8 }; // Alignment: 7 // Size: 0x1010 -class C_INIT_VelocityRandom : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_VelocityRandom : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "random speed min" - CPerParticleFloatInput m_fSpeedMin; // 0x1f8 + CPerParticleFloatInput m_fSpeedMin; // 0x1f8 // MPropertyFriendlyName "random speed max" - CPerParticleFloatInput m_fSpeedMax; // 0x330 + CPerParticleFloatInput m_fSpeedMax; // 0x330 // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x468 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x468 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xa30 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xa30 // MPropertyFriendlyName "Ignore delta time (RenderTrails)" - bool m_bIgnoreDT; // 0xff8 + bool m_bIgnoreDT; // 0xff8 +private: + [[maybe_unused]] uint8_t __pad0ff9[0x3]; // 0xff9 +public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xffc + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xffc }; // Alignment: 10 // Size: 0x1760 -class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "absolute value" // MVectorIsCoordinate - Vector m_vecAbsVal; // 0x1f0 + Vector m_vecAbsVal; // 0x1f0 // MPropertyFriendlyName "invert abs value" // MVectorIsCoordinate - Vector m_vecAbsValInv; // 0x1fc + Vector m_vecAbsValInv; // 0x1fc // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetLoc; // 0x208 + CPerParticleVecInput m_vecOffsetLoc; // 0x208 // MPropertyFriendlyName "time coordinate offset" - CPerParticleFloatInput m_flOffset; // 0x7d0 + CPerParticleFloatInput m_flOffset; // 0x7d0 // MPropertyFriendlyName "output minimum" - CPerParticleVecInput m_vecOutputMin; // 0x908 + CPerParticleVecInput m_vecOutputMin; // 0x908 // MPropertyFriendlyName "output maximum" - CPerParticleVecInput m_vecOutputMax; // 0xed0 + CPerParticleVecInput m_vecOutputMax; // 0xed0 // MPropertyFriendlyName "time noise coordinate scale" - CPerParticleFloatInput m_flNoiseScale; // 0x1498 + CPerParticleFloatInput m_flNoiseScale; // 0x1498 // MPropertyFriendlyName "spatial noise coordinate scale" - CPerParticleFloatInput m_flNoiseScaleLoc; // 0x15d0 + CPerParticleFloatInput m_flNoiseScaleLoc; // 0x15d0 // MPropertyFriendlyName "input local space velocity (optional)" // MParticleTransformInputOptional - CParticleTransformInput m_TransformInput; // 0x1708 + CParticleTransformInput m_TransformInput; // 0x1708 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x1758 + bool m_bIgnoreDt; // 0x1758 }; // Alignment: 5 // Size: 0x280 -class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "velocity minimum" - float m_flVelocityMin; // 0x1f0 + float m_flVelocityMin; // 0x1f0 // MPropertyFriendlyName "velocity maximum" - float m_flVelocityMax; // 0x1f4 + float m_flVelocityMax; // 0x1f4 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x1f8 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x1fc + char m_HitboxSetName[128]; // 0x1fc // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x27c + bool m_bUseBones; // 0x27c }; // Alignment: 5 // Size: 0x210 -class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x1f4 + float m_fSpeedMin; // 0x1f4 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x1f8 + float m_fSpeedMax; // 0x1f8 // MPropertyFriendlyName "local space scale" - Vector m_vecLocalCoordinateSystemSpeedScale; // 0x1fc + Vector m_vecLocalCoordinateSystemSpeedScale; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad0208[0x1]; // 0x208 +public: // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x209 + bool m_bIgnoreDelta; // 0x209 }; // Alignment: 3 // Size: 0x200 -class C_INIT_RandomLifeTime : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomLifeTime : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "lifetime min" // MPropertyAttributeRange "0 20" - float m_fLifetimeMin; // 0x1f0 + float m_fLifetimeMin; // 0x1f0 // MPropertyFriendlyName "lifetime max" // MPropertyAttributeRange "0 20" - float m_fLifetimeMax; // 0x1f4 + float m_fLifetimeMax; // 0x1f4 // MPropertyFriendlyName "lifetime random exponent" - float m_fLifetimeRandExponent; // 0x1f8 + float m_fLifetimeRandExponent; // 0x1f8 }; // Alignment: 4 // Size: 0x200 -class C_INIT_RandomScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomScalar : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x1f0 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x1f4 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1f8 + float m_flExponent; // 0x1f8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc }; // Alignment: 4 // Size: 0x220 -class C_INIT_RandomVector : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomVector : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "min" // MVectorIsSometimesCoordinate - Vector m_vecMin; // 0x1f0 + Vector m_vecMin; // 0x1f0 // MPropertyFriendlyName "max" // MVectorIsSometimesCoordinate - Vector m_vecMax; // 0x1fc + Vector m_vecMax; // 0x1fc // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x208 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x20c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x20c }; // Alignment: 4 // Size: 0x200 -class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x1f0 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x1f4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 // MPropertyFriendlyName "component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1fc + int32_t m_nComponent; // 0x1fc }; // Alignment: 6 // Size: 0x230 -class C_INIT_AddVectorToVector : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_AddVectorToVector : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "component scale factor" - Vector m_vecScale; // 0x1f0 + Vector m_vecScale; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x200 + ParticleAttributeIndex_t m_nFieldInput; // 0x200 // MPropertyFriendlyName "random offset min" - Vector m_vOffsetMin; // 0x204 + Vector m_vOffsetMin; // 0x204 // MPropertyFriendlyName "random offset max" - Vector m_vOffsetMax; // 0x210 + Vector m_vOffsetMax; // 0x210 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x21c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x21c }; // Alignment: 3 // Size: 0x200 -class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x1f0 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x1f4 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1f8 + float m_flExponent; // 0x1f8 }; // Alignment: 3 // Size: 0x200 -class C_INIT_RandomRadius : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomRadius : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "radius min" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMin; // 0x1f0 + float m_flRadiusMin; // 0x1f0 // MPropertyFriendlyName "radius max" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMax; // 0x1f4 + float m_flRadiusMax; // 0x1f4 // MPropertyFriendlyName "radius random exponent" // MPropertyAttributeRange "-2 2" - float m_flRadiusRandExponent; // 0x1f8 + float m_flRadiusRandExponent; // 0x1f8 }; // Alignment: 4 // Size: 0x210 -class C_INIT_RandomAlpha : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomAlpha : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "alpha min" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMin; // 0x1f4 + int32_t m_nAlphaMin; // 0x1f4 // MPropertyFriendlyName "alpha max" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMax; // 0x1f8 + int32_t m_nAlphaMax; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x8]; // 0x1fc +public: // MPropertyFriendlyName "alpha random exponent" - float m_flAlphaRandExponent; // 0x204 + float m_flAlphaRandExponent; // 0x204 }; // Alignment: 6 // Size: 0x210 -class CGeneralRandomRotation : public CParticleFunctionInitializer, CParticleFunction -{ +class CGeneralRandomRotation : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "rotation initial" - float m_flDegrees; // 0x1f4 + float m_flDegrees; // 0x1f4 // MPropertyFriendlyName "rotation offset from initial min" - float m_flDegreesMin; // 0x1f8 + float m_flDegreesMin; // 0x1f8 // MPropertyFriendlyName "rotation offset from initial max" - float m_flDegreesMax; // 0x1fc + float m_flDegreesMax; // 0x1fc // MPropertyFriendlyName "rotation offset exponent" - float m_flRotationRandExponent; // 0x200 + float m_flRotationRandExponent; // 0x200 // MPropertyFriendlyName "randomly flip direction" - bool m_bRandomlyFlipDirection; // 0x204 + bool m_bRandomlyFlipDirection; // 0x204 }; // Alignment: 0 // Size: 0x210 -class C_INIT_RandomRotation : public CGeneralRandomRotation, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomRotation : public CGeneralRandomRotation +{ public: // no members available }; // Alignment: 3 // Size: 0x200 -class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x1f0 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f8 + float m_flRotOffset; // 0x1f8 }; // Alignment: 0 // Size: 0x210 -class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation +{ public: // no members available }; // Alignment: 0 // Size: 0x210 -class C_INIT_RandomYaw : public CGeneralRandomRotation, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomYaw : public CGeneralRandomRotation +{ public: // no members available }; // Alignment: 10 // Size: 0x240 -class C_INIT_RandomColor : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomColor : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x20c + Color m_ColorMin; // 0x20c // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x210 + Color m_ColorMax; // 0x210 // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x214 + Color m_TintMin; // 0x214 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x218 + Color m_TintMax; // 0x218 // MPropertyFriendlyName "tint perc" - float m_flTintPerc; // 0x21c + float m_flTintPerc; // 0x21c // MPropertyFriendlyName "tint update movement threshold" - float m_flUpdateThreshold; // 0x220 + float m_flUpdateThreshold; // 0x220 // MPropertyFriendlyName "tint control point" - int32_t m_nTintCP; // 0x224 + int32_t m_nTintCP; // 0x224 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x228 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x22c + ParticleColorBlendMode_t m_nTintBlendMode; // 0x22c // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x230 + float m_flLightAmplification; // 0x230 }; // Alignment: 7 // Size: 0x230 -class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x208 + Color m_ColorMin; // 0x208 // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x20c + Color m_ColorMax; // 0x20c // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x210 + Color m_TintMin; // 0x210 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x214 + Color m_TintMax; // 0x214 // MPropertyFriendlyName "light bias" - float m_flTintPerc; // 0x218 + float m_flTintPerc; // 0x218 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x21c + ParticleColorBlendMode_t m_nTintBlendMode; // 0x21c // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x220 + float m_flLightAmplification; // 0x220 }; // Alignment: 3 // Size: 0x200 -class C_INIT_RandomTrailLength : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomTrailLength : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "length min" - float m_flMinLength; // 0x1f0 + float m_flMinLength; // 0x1f0 // MPropertyFriendlyName "length max" - float m_flMaxLength; // 0x1f4 + float m_flMaxLength; // 0x1f4 // MPropertyFriendlyName "length random exponent" - float m_flLengthRandExponent; // 0x1f8 + float m_flLengthRandExponent; // 0x1f8 }; // Alignment: 5 // Size: 0x220 -class C_INIT_RandomSequence : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomSequence : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMin; // 0x1f0 + int32_t m_nSequenceMin; // 0x1f0 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMax; // 0x1f4 + int32_t m_nSequenceMax; // 0x1f4 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x1f8 + bool m_bShuffle; // 0x1f8 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x1f9 + bool m_bLinear; // 0x1f9 +private: + [[maybe_unused]] uint8_t __pad01fa[0x6]; // 0x1fa +public: // MPropertyFriendlyName "weighted list" - CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x200 + CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x200 }; // Alignment: 4 // Size: 0x210 -class C_INIT_SequenceFromCP : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_SequenceFromCP : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "kill unused" - bool m_bKillUnused; // 0x1f0 + bool m_bKillUnused; // 0x1f0 // MPropertyFriendlyName "offset propotional to radius" - bool m_bRadiusScale; // 0x1f1 + bool m_bRadiusScale; // 0x1f1 +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f4 + int32_t m_nCP; // 0x1f4 // MPropertyFriendlyName "per particle spatial offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1f8 + Vector m_vecOffset; // 0x1f8 }; // Alignment: 3 // Size: 0x400 -class C_INIT_RandomModelSequence : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomModelSequence : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "activity" // MPropertySuppressExpr "mod != dota" - char[256] m_ActivityName; // 0x1f0 + char m_ActivityName[256]; // 0x1f0 // MPropertyFriendlyName "sequence" // MPropertySuppressExpr "mod == dota" - char[256] m_SequenceName; // 0x2f0 + char m_SequenceName[256]; // 0x2f0 // MPropertyFriendlyName "model" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x3f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x3f0 }; // Alignment: 1 // Size: 0x7c0 -class C_INIT_ScaleVelocity : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_ScaleVelocity : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "velocity scale" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecScale; // 0x1f0 + CParticleCollectionVecInput m_vecScale; // 0x1f0 }; // Alignment: 10 // Size: 0xda0 -class C_INIT_PositionWarp : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_PositionWarp : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMin; // 0x1f0 + CParticleCollectionVecInput m_vecWarpMin; // 0x1f0 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMax; // 0x7b8 + CParticleCollectionVecInput m_vecWarpMax; // 0x7b8 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0xd80 + int32_t m_nScaleControlPointNumber; // 0xd80 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xd84 + int32_t m_nControlPointNumber; // 0xd84 // MPropertyFriendlyName "radius scale component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nRadiusComponent; // 0xd88 + int32_t m_nRadiusComponent; // 0xd88 // MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)" - float m_flWarpTime; // 0xd8c + float m_flWarpTime; // 0xd8c // MPropertyFriendlyName "warp transition start time" - float m_flWarpStartTime; // 0xd90 + float m_flWarpStartTime; // 0xd90 // MPropertyFriendlyName "previous position sacale" - float m_flPrevPosScale; // 0xd94 + float m_flPrevPosScale; // 0xd94 // MPropertyFriendlyName "reverse warp (0/1)" - bool m_bInvertWarp; // 0xd98 + bool m_bInvertWarp; // 0xd98 // MPropertyFriendlyName "use particle count instead of time" - bool m_bUseCount; // 0xd99 + bool m_bUseCount; // 0xd99 }; // Alignment: 6 // Size: 0x350 -class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - Vector m_vecWarpMin; // 0x1f0 + Vector m_vecWarpMin; // 0x1f0 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - Vector m_vecWarpMax; // 0x1fc + Vector m_vecWarpMax; // 0x1fc // MPropertyFriendlyName "warp amount" - CPerParticleFloatInput m_InputValue; // 0x208 + CPerParticleFloatInput m_InputValue; // 0x208 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x340 + float m_flPrevPosScale; // 0x340 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0x344 + int32_t m_nScaleControlPointNumber; // 0x344 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x348 + int32_t m_nControlPointNumber; // 0x348 }; // Alignment: 10 // Size: 0x220 -class C_INIT_CreationNoise : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreationNoise : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x1f4 + bool m_bAbsVal; // 0x1f4 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x1f5 + bool m_bAbsValInv; // 0x1f5 +private: + [[maybe_unused]] uint8_t __pad01f6[0x2]; // 0x1f6 +public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x1f8 + float m_flOffset; // 0x1f8 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x1fc // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x200 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x204 + float m_flNoiseScale; // 0x204 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x208 + float m_flNoiseScaleLoc; // 0x208 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x20c + Vector m_vecOffsetLoc; // 0x20c // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x218 + float m_flWorldTimeScale; // 0x218 }; // Alignment: 5 // Size: 0x260 -class C_INIT_CreateAlongPath : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateAlongPath : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 - CPathParameters m_PathParams; // 0x200 + float m_fMaxDistance; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0xc]; // 0x1f4 +public: + CPathParameters m_PathParams; // 0x200 // MPropertyFriendlyName "randomly select sequential CP pairs between start and end points" - bool m_bUseRandomCPs; // 0x240 + bool m_bUseRandomCPs; // 0x240 +private: + [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 +public: // MPropertyFriendlyName "Offset from control point for path end" // MVectorIsCoordinate - Vector m_vEndOffset; // 0x244 + Vector m_vEndOffset; // 0x244 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x250 + bool m_bSaveOffset; // 0x250 }; // Alignment: 7 // Size: 0x810 -class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "minimum speed" - CPerParticleFloatInput m_flSpeedMin; // 0x1f0 + CPerParticleFloatInput m_flSpeedMin; // 0x1f0 // MPropertyFriendlyName "maximum speed" - CPerParticleFloatInput m_flSpeedMax; // 0x328 + CPerParticleFloatInput m_flSpeedMax; // 0x328 // MPropertyFriendlyName "end spread" - CPerParticleFloatInput m_flEndSpread; // 0x460 + CPerParticleFloatInput m_flEndSpread; // 0x460 // MPropertyFriendlyName "start offset" - CPerParticleFloatInput m_flStartOffset; // 0x598 + CPerParticleFloatInput m_flStartOffset; // 0x598 // MPropertyFriendlyName "end offset" - CPerParticleFloatInput m_flEndOffset; // 0x6d0 + CPerParticleFloatInput m_flEndOffset; // 0x6d0 // MPropertyFriendlyName "end control point" - int32_t m_nEndControlPointNumber; // 0x808 + int32_t m_nEndControlPointNumber; // 0x808 // MPropertyFriendlyName "bias lifetime by trail length" - bool m_bTrailBias; // 0x80c + bool m_bTrailBias; // 0x80c }; // Alignment: 11 // Size: 0x220 -class C_INIT_RemapScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapScalar : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x204 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x208 + float m_flStartTime; // 0x208 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x20c + float m_flEndTime; // 0x20c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x210 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x214 + bool m_bActiveRange; // 0x214 +private: + [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 +public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x218 + float m_flRemapBias; // 0x218 }; // Alignment: 12 // Size: 0x220 -class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1f4 + int32_t m_nInputMin; // 0x1f4 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1f8 + int32_t m_nInputMax; // 0x1f8 // MPropertyFriendlyName "input scale control point" - int32_t m_nScaleControlPoint; // 0x1fc + int32_t m_nScaleControlPoint; // 0x1fc // MPropertyFriendlyName "input scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x200 + int32_t m_nScaleControlPointField; // 0x200 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x204 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x208 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x20c // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x210 + bool m_bActiveRange; // 0x210 // MPropertyFriendlyName "invert input from total particle count" - bool m_bInvert; // 0x211 + bool m_bInvert; // 0x211 // MPropertyFriendlyName "wrap input" - bool m_bWrap; // 0x212 + bool m_bWrap; // 0x212 +private: + [[maybe_unused]] uint8_t __pad0213[0x1]; // 0x213 +public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x214 + float m_flRemapBias; // 0x214 }; // Alignment: 4 // Size: 0x240 -class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar +{ public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 // MPropertyFriendlyName "output min name" - CUtlString m_outputMinName; // 0x228 + CUtlString m_outputMinName; // 0x228 // MPropertyFriendlyName "output max name" - CUtlString m_outputMaxName; // 0x230 - bool m_bModelFromRenderer; // 0x238 + CUtlString m_outputMaxName; // 0x230 + bool m_bModelFromRenderer; // 0x238 }; // Alignment: 0 // Size: 0x240 -class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar, C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar +{ public: // no members available }; // Alignment: 0 // Size: 0x240 -class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar, C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar +{ public: // no members available }; // Alignment: 0 // Size: 0x240 -class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar, C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar +{ public: // no members available }; // Alignment: 2 // Size: 0x200 -class C_INIT_InheritVelocity : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InheritVelocity : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x1f4 + float m_flVelocityScale; // 0x1f4 }; // Alignment: 5 // Size: 0x210 -class C_INIT_VelocityFromCP : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_VelocityFromCP : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x1f0 // MPropertyFriendlyName "comparison control point number" - int32_t m_nControlPointCompare; // 0x1f4 + int32_t m_nControlPointCompare; // 0x1f4 // MPropertyFriendlyName "local space control point number" - int32_t m_nControlPointLocal; // 0x1f8 + int32_t m_nControlPointLocal; // 0x1f8 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x1fc + float m_flVelocityScale; // 0x1fc // MPropertyFriendlyName "direction only" - bool m_bDirectionOnly; // 0x200 + bool m_bDirectionOnly; // 0x200 }; // Alignment: 8 // Size: 0x220 -class C_INIT_AgeNoise : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_AgeNoise : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x1f0 + bool m_bAbsVal; // 0x1f0 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x1f1 + bool m_bAbsValInv; // 0x1f1 +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x1f4 + float m_flOffset; // 0x1f4 // MPropertyFriendlyName "start age minimum" - float m_flAgeMin; // 0x1f8 + float m_flAgeMin; // 0x1f8 // MPropertyFriendlyName "start age maximum" - float m_flAgeMax; // 0x1fc + float m_flAgeMax; // 0x1fc // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x200 + float m_flNoiseScale; // 0x200 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x204 + float m_flNoiseScaleLoc; // 0x204 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x208 + Vector m_vecOffsetLoc; // 0x208 }; // Alignment: 1 // Size: 0x200 -class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "frames per second" - float m_flFramerate; // 0x1f0 + float m_flFramerate; // 0x1f0 }; // Alignment: 12 // Size: 0x240 -class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x200 + Vector m_vecOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x20c + Vector m_vecOutputMax; // 0x20c // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x218 + float m_flStartTime; // 0x218 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x21c + float m_flEndTime; // 0x21c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x220 + ParticleSetMethod_t m_nSetMethod; // 0x220 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x224 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "use local system" - bool m_bLocalCoords; // 0x228 + bool m_bLocalCoords; // 0x228 +private: + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 +public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x22c + float m_flRemapBias; // 0x22c }; // Alignment: 5 // Size: 0x220 -class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "output offset minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1f8 + Vector m_vecOutputMin; // 0x1f8 // MPropertyFriendlyName "output offset maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x204 + Vector m_vecOutputMax; // 0x204 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x210 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x210 }; // Alignment: 6 // Size: 0x4c0 -class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_fMaxDistance; // 0x1f0 + CPerParticleFloatInput m_fMaxDistance; // 0x1f0 // MPropertyFriendlyName "particles to map from start to end" - CParticleCollectionFloatInput m_flNumToAssign; // 0x328 + CParticleCollectionFloatInput m_flNumToAssign; // 0x328 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x460 + bool m_bLoop; // 0x460 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x461 + bool m_bCPPairs; // 0x461 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x462 - CPathParameters m_PathParams; // 0x470 + bool m_bSaveOffset; // 0x462 +private: + [[maybe_unused]] uint8_t __pad0463[0xd]; // 0x463 +public: + CPathParameters m_PathParams; // 0x470 }; // Alignment: 6 // Size: 0x240 -class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x1f0 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1f4 + float m_flNumToAssign; // 0x1f4 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x1f8 + bool m_bLoop; // 0x1f8 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1f9 + bool m_bCPPairs; // 0x1f9 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x1fa - CPathParameters m_PathParams; // 0x200 + bool m_bSaveOffset; // 0x1fa +private: + [[maybe_unused]] uint8_t __pad01fb[0x5]; // 0x1fb +public: + CPathParameters m_PathParams; // 0x200 }; // Alignment: 13 // Size: 0x2b0 -class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x1f0 + char m_CollisionGroupName[128]; // 0x1f0 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x270 + ParticleTraceSet_t m_nTraceSet; // 0x270 // MPropertyFriendlyName "minimum velocity" // MVectorIsCoordinate - Vector m_vecOutputMin; // 0x274 + Vector m_vecOutputMin; // 0x274 // MPropertyFriendlyName "maximum velocity" // MVectorIsCoordinate - Vector m_vecOutputMax; // 0x280 + Vector m_vecOutputMax; // 0x280 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x28c + int32_t m_nControlPointNumber; // 0x28c // MPropertyFriendlyName "per particle world collision tests" - bool m_bPerParticle; // 0x290 + bool m_bPerParticle; // 0x290 // MPropertyFriendlyName "offset instead of accelerate" - bool m_bTranslate; // 0x291 + bool m_bTranslate; // 0x291 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0x292 + bool m_bProportional; // 0x292 +private: + [[maybe_unused]] uint8_t __pad0293[0x1]; // 0x293 +public: // MPropertyFriendlyName "trace length" - float m_flTraceLength; // 0x294 + float m_flTraceLength; // 0x294 // MPropertyFriendlyName "use radius for per particle trace length" - bool m_bPerParticleTR; // 0x298 + bool m_bPerParticleTR; // 0x298 // MPropertyFriendlyName "inherit from parent" - bool m_bInherit; // 0x299 + bool m_bInherit; // 0x299 +private: + [[maybe_unused]] uint8_t __pad029a[0x2]; // 0x29a +public: // MPropertyFriendlyName "control points to broadcast to children (n + 1)" - int32_t m_nChildCP; // 0x29c + int32_t m_nChildCP; // 0x29c // MPropertyFriendlyName "child group ID to affect" - int32_t m_nChildGroupID; // 0x2a0 + int32_t m_nChildGroupID; // 0x2a0 }; // Alignment: 1 // Size: 0x200 -class C_INIT_RandomYawFlip : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomYawFlip : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "flip percentage" - float m_flPercent; // 0x1f0 + float m_flPercent; // 0x1f0 }; // Alignment: 2 // Size: 0x200 -class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMin; // 0x1f0 + int32_t m_nSequenceMin; // 0x1f0 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMax; // 0x1f4 + int32_t m_nSequenceMax; // 0x1f4 }; // Alignment: 11 // Size: 0x220 -class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1f8 + int32_t m_nField; // 0x1f8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x1fc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x200 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x204 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x208 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x20c + float m_flStartTime; // 0x20c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x210 + float m_flEndTime; // 0x210 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x214 + ParticleSetMethod_t m_nSetMethod; // 0x214 // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x218 + float m_flRemapBias; // 0x218 }; // Alignment: 13 // Size: 0x2e0 -class C_INIT_RemapTransformToVector : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapTransformToVector : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "input minimum" // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1f4 + Vector m_vInputMin; // 0x1f4 // MPropertyFriendlyName "input maximum" // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x200 + Vector m_vInputMax; // 0x200 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x20c + Vector m_vOutputMin; // 0x20c // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x218 + Vector m_vOutputMax; // 0x218 +private: + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 +public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x228 + CParticleTransformInput m_TransformInput; // 0x228 // MPropertyFriendlyName "local space transform" // MParticleTransformInputOptional - CParticleTransformInput m_LocalSpaceTransform; // 0x278 + CParticleTransformInput m_LocalSpaceTransform; // 0x278 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x2c8 + float m_flStartTime; // 0x2c8 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x2cc + float m_flEndTime; // 0x2cc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2d0 + ParticleSetMethod_t m_nSetMethod; // 0x2d0 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x2d4 + bool m_bOffset; // 0x2d4 // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x2d5 + bool m_bAccelerate; // 0x2d5 +private: + [[maybe_unused]] uint8_t __pad02d6[0x2]; // 0x2d6 +public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x2d8 + float m_flRemapBias; // 0x2d8 }; // Alignment: 9 // Size: 0x220 -class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "pickover A parameter" - float m_flAParm; // 0x1f0 + float m_flAParm; // 0x1f0 // MPropertyFriendlyName "pickover B parameter" - float m_flBParm; // 0x1f4 + float m_flBParm; // 0x1f4 // MPropertyFriendlyName "pickover C parameter" - float m_flCParm; // 0x1f8 + float m_flCParm; // 0x1f8 // MPropertyFriendlyName "pickover D parameter" - float m_flDParm; // 0x1fc + float m_flDParm; // 0x1fc // MPropertyFriendlyName "scale" - float m_flScale; // 0x200 + float m_flScale; // 0x200 // MPropertyFriendlyName "speed min" - float m_flSpeedMin; // 0x204 + float m_flSpeedMin; // 0x204 // MPropertyFriendlyName "speed max" - float m_flSpeedMax; // 0x208 + float m_flSpeedMax; // 0x208 // MPropertyFriendlyName "relative control point number" - int32_t m_nBaseCP; // 0x20c + int32_t m_nBaseCP; // 0x20c // MPropertyFriendlyName "uniform speed" - bool m_bUniformSpeed; // 0x210 + bool m_bUniformSpeed; // 0x210 }; // Alignment: 5 // Size: 0x210 -class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "inherited velocity scale" - float m_flVelocityScale; // 0x1f0 + float m_flVelocityScale; // 0x1f0 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x1f4 + float m_flIncrement; // 0x1f4 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1f8 + bool m_bRandomDistribution; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x1fc // MPropertyFriendlyName "sub frame interpolation" - bool m_bSubFrame; // 0x200 + bool m_bSubFrame; // 0x200 }; // Alignment: 5 // Size: 0x210 -class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x1f0 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x1f8 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x200 + int32_t m_nRandomSeed; // 0x200 }; // Alignment: 4 // Size: 0x340 -class C_INIT_CreateFromCPs : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateFromCPs : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point increment amount" - int32_t m_nIncrement; // 0x1f0 + int32_t m_nIncrement; // 0x1f0 // MPropertyFriendlyName "starting control point" - int32_t m_nMinCP; // 0x1f4 + int32_t m_nMinCP; // 0x1f4 // MPropertyFriendlyName "ending control point" // MParticleMinVersion - int32_t m_nMaxCP; // 0x1f8 + int32_t m_nMaxCP; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "dynamic control point count" - CParticleCollectionFloatInput m_nDynamicCPCount; // 0x200 + CParticleCollectionFloatInput m_nDynamicCPCount; // 0x200 }; // Alignment: 15 // Size: 0x8c0 -class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x1f8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x330 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x468 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5a0 // MPropertyFriendlyName "control point" - int32_t m_nStartCP; // 0x6d8 + int32_t m_nStartCP; // 0x6d8 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x6dc + bool m_bLOS; // 0x6dc // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x6dd + char m_CollisionGroupName[128]; // 0x6dd +private: + [[maybe_unused]] uint8_t __pad075d[0x3]; // 0x75d +public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x760 + ParticleTraceSet_t m_nTraceSet; // 0x760 +private: + [[maybe_unused]] uint8_t __pad0764[0x4]; // 0x764 +public: // MPropertyFriendlyName "Maximum Trace Length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x768 + CPerParticleFloatInput m_flMaxTraceLength; // 0x768 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x8a0 + float m_flLOSScale; // 0x8a0 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x8a4 + ParticleSetMethod_t m_nSetMethod; // 0x8a4 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x8a8 + bool m_bActiveRange; // 0x8a8 +private: + [[maybe_unused]] uint8_t __pad08a9[0x3]; // 0x8a9 +public: // MPropertyFriendlyName "distance component scale" - Vector m_vecDistanceScale; // 0x8ac + Vector m_vecDistanceScale; // 0x8ac // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x8b8 + float m_flRemapBias; // 0x8b8 }; // Alignment: 8 // Size: 0x2b0 -class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "bias distance" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1f0 + Vector m_vecComponentScale; // 0x1f0 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1fc + float m_flTraceOffset; // 0x1fc // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x200 + float m_flMaxTraceLength; // 0x200 // MPropertyFriendlyName "trace recycle tolerance" - float m_flTraceTolerance; // 0x204 + float m_flTraceTolerance; // 0x204 // MPropertyFriendlyName "maximum points to cache" - int32_t m_nMaxPlanes; // 0x208 + int32_t m_nMaxPlanes; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c +public: // MPropertyFriendlyName "trace collision group" - char[128] m_CollisionGroupName; // 0x210 + char m_CollisionGroupName[128]; // 0x210 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x290 + ParticleTraceSet_t m_nTraceSet; // 0x290 +private: + [[maybe_unused]] uint8_t __pad0294[0xc]; // 0x294 +public: // MPropertyFriendlyName "collide with water" - bool m_bIncludeWater; // 0x2a0 + bool m_bIncludeWater; // 0x2a0 }; // Alignment: 3 // Size: 0x210 -class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "local offset min" // MVectorIsCoordinate - Vector m_vecOffsetMin; // 0x1f0 + Vector m_vecOffsetMin; // 0x1f0 // MPropertyFriendlyName "local offset max" // MVectorIsCoordinate - Vector m_vecOffsetMax; // 0x1fc + Vector m_vecOffsetMax; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad0208[0x1]; // 0x208 +public: // MPropertyFriendlyName "set normal" - bool m_bUseNormal; // 0x209 + bool m_bUseNormal; // 0x209 }; // Alignment: 5 // Size: 0x280 -class C_INIT_ModelCull : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_ModelCull : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x1f4 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1f5 + bool m_bCullOutside; // 0x1f5 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x1f6 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x1f7 + char m_HitboxSetName[128]; // 0x1f7 }; // Alignment: 3 // Size: 0x340 -class C_INIT_DistanceCull : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_DistanceCull : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "cull distance" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x1f8 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x330 + bool m_bCullInside; // 0x330 }; // Alignment: 3 // Size: 0x340 -class C_INIT_PlaneCull : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_PlaneCull : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point of plane" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "cull offset" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x1f8 // MPropertyFriendlyName "flip cull normal" - bool m_bCullInside; // 0x330 + bool m_bCullInside; // 0x330 }; // Alignment: 1 // Size: 0x330 -class C_INIT_DistanceToNeighborCull : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_DistanceToNeighborCull : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "cull distance" - CPerParticleFloatInput m_flDistance; // 0x1f0 + CPerParticleFloatInput m_flDistance; // 0x1f0 }; // Alignment: 8 // Size: 0x2a0 -class C_INIT_RtEnvCull : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RtEnvCull : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1f0 + Vector m_vecTestDir; // 0x1f0 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1fc + Vector m_vecTestNormal; // 0x1fc // MPropertyFriendlyName "use velocity for test direction" - bool m_bUseVelocity; // 0x208 + bool m_bUseVelocity; // 0x208 // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x209 + bool m_bCullOnMiss; // 0x209 // MPropertyFriendlyName "velocity test adjust lifespan" - bool m_bLifeAdjust; // 0x20a + bool m_bLifeAdjust; // 0x20a // MPropertyFriendlyName "ray trace environment name" - char[128] m_RtEnvName; // 0x20b + char m_RtEnvName[128]; // 0x20b +private: + [[maybe_unused]] uint8_t __pad028b[0x1]; // 0x28b +public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x28c + int32_t m_nRTEnvCP; // 0x28c // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x290 + int32_t m_nComponent; // 0x290 }; // Alignment: 2 // Size: 0x200 -class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "control point axis" - ParticleControlPointAxis_t m_nControlPointAxis; // 0x1f4 + ParticleControlPointAxis_t m_nControlPointAxis; // 0x1f4 }; // Alignment: 5 // Size: 0x210 -class C_INIT_NormalOffset : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_NormalOffset : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - Vector m_OffsetMin; // 0x1f0 + Vector m_OffsetMin; // 0x1f0 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - Vector m_OffsetMax; // 0x1fc + Vector m_OffsetMax; // 0x1fc // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x208 + int32_t m_nControlPointNumber; // 0x208 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x20c + bool m_bLocalCoords; // 0x20c // MPropertyFriendlyName "normalize output 0/1" - bool m_bNormalize; // 0x20d + bool m_bNormalize; // 0x20d }; // Alignment: 10 // Size: 0x220 -class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "control point number (ignored if per particle)" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x1f4 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1f8 + float m_flStartTime; // 0x1f8 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1fc + float m_flEndTime; // 0x1fc // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x200 + float m_flInputMin; // 0x200 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x204 + float m_flInputMax; // 0x204 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x208 + float m_flOutputMin; // 0x208 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x20c + float m_flOutputMax; // 0x20c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x210 // MPropertyFriendlyName "per particle" - bool m_bPerParticle; // 0x214 + bool m_bPerParticle; // 0x214 }; // Alignment: 9 // Size: 0x350 -class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1fc + int32_t m_nLocalSpaceCP; // 0x1fc // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x200 + bool m_bRandom; // 0x200 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x201 + bool m_bReverse; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0x6]; // 0x202 +public: // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x208 + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x208 // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x340 + int32_t m_nRandomSeed; // 0x340 // MPropertyFriendlyName "local space angles" - bool m_bLocalSpaceAngles; // 0x344 + bool m_bLocalSpaceAngles; // 0x344 }; // Alignment: 17 // Size: 0x230 -class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f0 + int32_t m_nSnapshotControlPointNumber; // 0x1f0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x1f4 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1f8 + bool m_bRandom; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x1fc // MPropertyFriendlyName "prepare for rigid lock" - bool m_bRigid; // 0x200 + bool m_bRigid; // 0x200 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x201 + bool m_bSetNormal; // 0x201 // MPropertyFriendlyName "normal velocity ignore delta time" - bool m_bIgnoreDt; // 0x202 + bool m_bIgnoreDt; // 0x202 +private: + [[maybe_unused]] uint8_t __pad0203[0x1]; // 0x203 +public: // MPropertyFriendlyName "normal velocity min" - float m_flMinNormalVelocity; // 0x204 + float m_flMinNormalVelocity; // 0x204 // MPropertyFriendlyName "normal velocity max" - float m_flMaxNormalVelocity; // 0x208 + float m_flMaxNormalVelocity; // 0x208 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x20c + float m_flIncrement; // 0x20c // MPropertyFriendlyName "Full Loop Increment Amount" - int32_t m_nFullLoopIncrement; // 0x210 + int32_t m_nFullLoopIncrement; // 0x210 // MPropertyFriendlyName "Snapshot start point" - int32_t m_nSnapShotStartPoint; // 0x214 + int32_t m_nSnapShotStartPoint; // 0x214 // MPropertyFriendlyName "inherited bone velocity" - float m_flBoneVelocity; // 0x218 + float m_flBoneVelocity; // 0x218 // MPropertyFriendlyName "max inherited bone velocity" - float m_flBoneVelocityMax; // 0x21c + float m_flBoneVelocityMax; // 0x21c // MPropertyFriendlyName "Set Color" - bool m_bCopyColor; // 0x220 + bool m_bCopyColor; // 0x220 // MPropertyFriendlyName "Set Alpha" - bool m_bCopyAlpha; // 0x221 + bool m_bCopyAlpha; // 0x221 // MPropertyFriendlyName "Set Radius" - bool m_bSetRadius; // 0x222 + bool m_bSetRadius; // 0x222 }; // Alignment: 1 // Size: 0x280 -class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "field to init" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToCopy; // 0x1f0 + ParticleAttributeIndex_t m_nAttributeToCopy; // 0x1f0 }; // Alignment: 5 // Size: 0x7d0 -class C_INIT_InitFromVectorFieldSnapshot : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitFromVectorFieldSnapshot : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1f4 + int32_t m_nLocalSpaceCP; // 0x1f4 // MPropertyFriendlyName "weight update control point" - int32_t m_nWeightUpdateCP; // 0x1f8 + int32_t m_nWeightUpdateCP; // 0x1f8 // MPropertyFriendlyName "use vertical velocity for weighting" - bool m_bUseVerticalVelocity; // 0x1fc + bool m_bUseVerticalVelocity; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x200 + CPerParticleVecInput m_vecScale; // 0x200 }; // Alignment: 6 // Size: 0x260 -class C_INIT_RemapInitialDirectionToTransformToVector : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapInitialDirectionToTransformToVector : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x240 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x244 + float m_flScale; // 0x244 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x248 + float m_flOffsetRot; // 0x248 // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x24c + Vector m_vecOffsetAxis; // 0x24c // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x258 + bool m_bNormalize; // 0x258 }; // Alignment: 4 // Size: 0x250 -class C_INIT_RemapInitialTransformDirectionToRotation : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapInitialTransformDirectionToRotation : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x240 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x244 + float m_flOffsetRot; // 0x244 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x248 + int32_t m_nComponent; // 0x248 }; // Alignment: 1 // Size: 0x240 -class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 }; // Alignment: 4 // Size: 0x250 -class C_INIT_RemapTransformOrientationToRotations : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapTransformOrientationToRotations : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x240 + Vector m_vecRotation; // 0x240 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x24c + bool m_bUseQuat; // 0x24c // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x24d + bool m_bWriteNormal; // 0x24d }; // Alignment: 4 // Size: 0x200 -class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 // MPropertyFriendlyName "attribute to cache to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 // MPropertyFriendlyName "local space" - bool m_bLocalSpace; // 0x1fc + bool m_bLocalSpace; // 0x1fc }; // Alignment: 5 // Size: 0x210 -class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x204 }; // Alignment: 1 // Size: 0x200 -class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x1f0 }; // Alignment: 8 // Size: 0x210 -class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x1fc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x200 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x204 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x208 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x20c }; // Alignment: 6 // Size: 0x200 -class C_INIT_GlobalScale : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_GlobalScale : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "scale amount" - float m_flScale; // 0x1f0 + float m_flScale; // 0x1f0 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPointNumber; // 0x1f4 + int32_t m_nScaleControlPointNumber; // 0x1f4 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x1f8 // MPropertyFriendlyName "scale radius" - bool m_bScaleRadius; // 0x1fc + bool m_bScaleRadius; // 0x1fc // MPropertyFriendlyName "scale position" - bool m_bScalePosition; // 0x1fd + bool m_bScalePosition; // 0x1fd // MPropertyFriendlyName "scale velocity" - bool m_bScaleVelocity; // 0x1fe + bool m_bScaleVelocity; // 0x1fe }; // Alignment: 5 // Size: 0x220 -class C_INIT_PointList : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_PointList : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 + CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x210 + bool m_bPlaceAlongPath; // 0x210 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x211 + bool m_bClosedLoop; // 0x211 +private: + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 +public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x214 + int32_t m_nNumPointsAlongPath; // 0x214 }; // Alignment: 6 // Size: 0x220 -class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer +{ public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x1f8 + CUtlVector< CUtlString > m_names; // 0x1f8 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x210 + bool m_bShuffle; // 0x210 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x211 + bool m_bLinear; // 0x211 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x212 + bool m_bModelFromRenderer; // 0x212 +private: + [[maybe_unused]] uint8_t __pad0213[0x1]; // 0x213 +public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x214 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 0 // Size: 0x220 -class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement +{ public: // no members available }; // Alignment: 0 // Size: 0x220 -class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement +{ public: // no members available }; // Alignment: 0 // Size: 0x220 -class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement +{ public: // no members available }; // Alignment: 7 // Size: 0x240 -class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer +{ public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x1f8 + CUtlVector< CUtlString > m_names; // 0x1f8 // MPropertyFriendlyName "remap values for names" - CUtlVector< float32 > m_values; // 0x210 + CUtlVector< float32 > m_values; // 0x210 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x228 + ParticleAttributeIndex_t m_nFieldInput; // 0x228 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x22c + ParticleAttributeIndex_t m_nFieldOutput; // 0x22c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x230 + ParticleSetMethod_t m_nSetMethod; // 0x230 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x234 + bool m_bModelFromRenderer; // 0x234 }; // Alignment: 0 // Size: 0x240 -class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar +{ public: // no members available }; // Alignment: 0 // Size: 0x240 -class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar +{ public: // no members available }; // Alignment: 0 // Size: 0x240 -class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar, CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar +{ public: // no members available }; // Alignment: 18 // Size: 0x250 -class C_INIT_StatusEffect : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_StatusEffect : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "D_DETAIL_2" - Detail2Combo_t m_nDetail2Combo; // 0x1f0 + Detail2Combo_t m_nDetail2Combo; // 0x1f0 // MPropertyFriendlyName "$DETAIL2ROTATION" - float m_flDetail2Rotation; // 0x1f4 + float m_flDetail2Rotation; // 0x1f4 // MPropertyFriendlyName "$DETAIL2SCALE" - float m_flDetail2Scale; // 0x1f8 + float m_flDetail2Scale; // 0x1f8 // MPropertyFriendlyName "$DETAIL2BLENDFACTOR" - float m_flDetail2BlendFactor; // 0x1fc + float m_flDetail2BlendFactor; // 0x1fc // MPropertyFriendlyName "$COLORWARPINTENSITY" - float m_flColorWarpIntensity; // 0x200 + float m_flColorWarpIntensity; // 0x200 // MPropertyFriendlyName "$DIFFUSEWARPBLENDTOFULL" - float m_flDiffuseWarpBlendToFull; // 0x204 + float m_flDiffuseWarpBlendToFull; // 0x204 // MPropertyFriendlyName "$ENVMAPINTENSITY" - float m_flEnvMapIntensity; // 0x208 + float m_flEnvMapIntensity; // 0x208 // MPropertyFriendlyName "$AMBIENTSCALE" - float m_flAmbientScale; // 0x20c + float m_flAmbientScale; // 0x20c // MPropertyFriendlyName "$SPECULARCOLOR" - Color m_specularColor; // 0x210 + Color m_specularColor; // 0x210 // MPropertyFriendlyName "$SPECULARSCALE" - float m_flSpecularScale; // 0x214 + float m_flSpecularScale; // 0x214 // MPropertyFriendlyName "$SPECULAREXPONENT" - float m_flSpecularExponent; // 0x218 + float m_flSpecularExponent; // 0x218 // MPropertyFriendlyName "$SPECULAREXPONENTBLENDTOFULL" - float m_flSpecularExponentBlendToFull; // 0x21c + float m_flSpecularExponentBlendToFull; // 0x21c // MPropertyFriendlyName "$SPECULARBLENDTOFULL" - float m_flSpecularBlendToFull; // 0x220 + float m_flSpecularBlendToFull; // 0x220 // MPropertyFriendlyName "$RIMLIGHTCOLOR" - Color m_rimLightColor; // 0x224 + Color m_rimLightColor; // 0x224 // MPropertyFriendlyName "$RIMLIGHTSCALE" - float m_flRimLightScale; // 0x228 + float m_flRimLightScale; // 0x228 // MPropertyFriendlyName "$REFLECTIONSTINTBYBASEBLENDTONONE" - float m_flReflectionsTintByBaseBlendToNone; // 0x22c + float m_flReflectionsTintByBaseBlendToNone; // 0x22c // MPropertyFriendlyName "$METALNESSBLENDTOFULL" - float m_flMetalnessBlendToFull; // 0x230 + float m_flMetalnessBlendToFull; // 0x230 // MPropertyFriendlyName "$SELFILLUMBLENDTOFULL" - float m_flSelfIllumBlendToFull; // 0x234 + float m_flSelfIllumBlendToFull; // 0x234 }; // Alignment: 19 // Size: 0x240 -class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "$SFXColorWarpAmount" - float m_flSFXColorWarpAmount; // 0x1f0 + float m_flSFXColorWarpAmount; // 0x1f0 // MPropertyFriendlyName "$SFXNormalAmount" - float m_flSFXNormalAmount; // 0x1f4 + float m_flSFXNormalAmount; // 0x1f4 // MPropertyFriendlyName "$SFXMetalnessAmount" - float m_flSFXMetalnessAmount; // 0x1f8 + float m_flSFXMetalnessAmount; // 0x1f8 // MPropertyFriendlyName "$SFXRoughnessAmount" - float m_flSFXRoughnessAmount; // 0x1fc + float m_flSFXRoughnessAmount; // 0x1fc // MPropertyFriendlyName "$SFXSelfIllumAmount" - float m_flSFXSelfIllumAmount; // 0x200 + float m_flSFXSelfIllumAmount; // 0x200 // MPropertyFriendlyName "$SFXTextureScale" - float m_flSFXSScale; // 0x204 + float m_flSFXSScale; // 0x204 // MPropertyFriendlyName "$SFXTextureScrollX" - float m_flSFXSScrollX; // 0x208 + float m_flSFXSScrollX; // 0x208 // MPropertyFriendlyName "$SFXTextureScrollY" - float m_flSFXSScrollY; // 0x20c + float m_flSFXSScrollY; // 0x20c // MPropertyFriendlyName "$SFXTextureScrollZ" - float m_flSFXSScrollZ; // 0x210 + float m_flSFXSScrollZ; // 0x210 // MPropertyFriendlyName "$SFXTextureOffsetX" - float m_flSFXSOffsetX; // 0x214 + float m_flSFXSOffsetX; // 0x214 // MPropertyFriendlyName "$SFXTextureOffsetY" - float m_flSFXSOffsetY; // 0x218 + float m_flSFXSOffsetY; // 0x218 // MPropertyFriendlyName "$SFXTextureOffsetZ" - float m_flSFXSOffsetZ; // 0x21c + float m_flSFXSOffsetZ; // 0x21c // MPropertyFriendlyName "D_DETAIL" - DetailCombo_t m_nDetailCombo; // 0x220 + DetailCombo_t m_nDetailCombo; // 0x220 // MPropertyFriendlyName "$SFXDetailAmount" - float m_flSFXSDetailAmount; // 0x224 + float m_flSFXSDetailAmount; // 0x224 // MPropertyFriendlyName "$SFXDetailTextureScale" - float m_flSFXSDetailScale; // 0x228 + float m_flSFXSDetailScale; // 0x228 // MPropertyFriendlyName "$SFXDetailTextureScrollX" - float m_flSFXSDetailScrollX; // 0x22c + float m_flSFXSDetailScrollX; // 0x22c // MPropertyFriendlyName "$SFXDetailTextureScrollY" - float m_flSFXSDetailScrollY; // 0x230 + float m_flSFXSDetailScrollY; // 0x230 // MPropertyFriendlyName "$SFXDetailTextureScrollZ" - float m_flSFXSDetailScrollZ; // 0x234 + float m_flSFXSDetailScrollZ; // 0x234 // MPropertyFriendlyName "$SFXUseModelUVs" - float m_flSFXSUseModelUVs; // 0x238 + float m_flSFXSUseModelUVs; // 0x238 }; // Alignment: 5 // Size: 0x5b0 -class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "radius" - CPerParticleFloatInput m_InputRadius; // 0x1f0 + CPerParticleFloatInput m_InputRadius; // 0x1f0 // MPropertyFriendlyName "magnitude" - CPerParticleFloatInput m_InputMagnitude; // 0x328 + CPerParticleFloatInput m_InputMagnitude; // 0x328 // MPropertyFriendlyName "force falloff function" - ParticleFalloffFunction_t m_nFalloffFunction; // 0x460 + ParticleFalloffFunction_t m_nFalloffFunction; // 0x460 +private: + [[maybe_unused]] uint8_t __pad0464[0x4]; // 0x464 +public: // MPropertyFriendlyName "exponential falloff exponent" - CPerParticleFloatInput m_InputFalloffExp; // 0x468 + CPerParticleFloatInput m_InputFalloffExp; // 0x468 // MPropertyFriendlyName "impulse type" - ParticleImpulseType_t m_nImpulseType; // 0x5a0 + ParticleImpulseType_t m_nImpulseType; // 0x5a0 }; // Alignment: 2 // Size: 0x330 -class C_INIT_QuantizeFloat : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_QuantizeFloat : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "interval to snap to" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x328 }; // Alignment: 6 // Size: 0xe00 -class C_INIT_SetVectorAttributeToVectorExpression : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_SetVectorAttributeToVectorExpression : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1f0 + VectorExpressionType_t m_nExpression; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x1f8 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x7c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xd88 + ParticleAttributeIndex_t m_nOutputField; // 0xd88 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd8c + ParticleSetMethod_t m_nSetMethod; // 0xd8c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd90 + bool m_bNormalizedOutput; // 0xd90 }; // Alignment: 2 // Size: 0x330 -class C_INIT_InitFloatCollection : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitFloatCollection : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1f0 + CParticleCollectionFloatInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x328 }; // Alignment: 4 // Size: 0x470 -class C_INIT_InitFloat : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitFloat : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x328 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x32c // MPropertyFriendlyName "per-particle strength" - CPerParticleFloatInput m_InputStrength; // 0x330 + CPerParticleFloatInput m_InputStrength; // 0x330 }; // Alignment: 2 // Size: 0x7c0 -class C_INIT_InitVecCollection : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitVecCollection : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "value" - CParticleCollectionVecInput m_InputValue; // 0x1f0 + CParticleCollectionVecInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x7b8 }; // Alignment: 5 // Size: 0x7d0 -class C_INIT_InitVec : public CParticleFunctionInitializer, CParticleFunction -{ +class C_INIT_InitVec : public CParticleFunctionInitializer +{ public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1f0 + CPerParticleVecInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x7b8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7bc + ParticleSetMethod_t m_nSetMethod; // 0x7bc // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x7c0 + bool m_bNormalizedOutput; // 0x7c0 // MPropertyFriendlyName "set previous position" // MPropertySuppressExpr "m_nOutputField != PARTICLE_ATTRIBUTE_XYZ" - bool m_bWritePreviousPosition; // 0x7c1 + bool m_bWritePreviousPosition; // 0x7c1 }; // Alignment: 5 // Size: 0x470 -class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter, CParticleFunction -{ +class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter +{ public: // MPropertyFriendlyName "num to emit" // MPropertyAttributeRange "1 1000" - CParticleCollectionFloatInput m_nParticlesToEmit; // 0x1f0 + CParticleCollectionFloatInput m_nParticlesToEmit; // 0x1f0 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x328 + CParticleCollectionFloatInput m_flStartTime; // 0x328 // MPropertyFriendlyName "emission scale from killed parent particles" - float m_flInitFromKilledParentParticles; // 0x460 + float m_flInitFromKilledParentParticles; // 0x460 // MPropertyFriendlyName "maximum emission per frame" - int32_t m_nMaxEmittedPerFrame; // 0x464 + int32_t m_nMaxEmittedPerFrame; // 0x464 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x468 + int32_t m_nSnapshotControlPoint; // 0x468 }; // Alignment: 9 // Size: 0x5b0 -class C_OP_ContinuousEmitter : public CParticleFunctionEmitter, CParticleFunction -{ +class C_OP_ContinuousEmitter : public CParticleFunctionEmitter +{ public: // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f0 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f0 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x328 + CParticleCollectionFloatInput m_flStartTime; // 0x328 // MPropertyFriendlyName "emission rate" - CParticleCollectionFloatInput m_flEmitRate; // 0x460 + CParticleCollectionFloatInput m_flEmitRate; // 0x460 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x598 + float m_flEmissionScale; // 0x598 // MPropertyFriendlyName "scale emission by parent particle count" - float m_flScalePerParentParticle; // 0x59c + float m_flScalePerParentParticle; // 0x59c // MPropertyFriendlyName "emit particles for killed parent particles" - bool m_bInitFromKilledParentParticles; // 0x5a0 + bool m_bInitFromKilledParentParticles; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 +public: // MPropertyFriendlyName "limit per update" - int32_t m_nLimitPerUpdate; // 0x5a4 + int32_t m_nLimitPerUpdate; // 0x5a4 // MPropertyFriendlyName "force emit on first update" - bool m_bForceEmitOnFirstUpdate; // 0x5a8 + bool m_bForceEmitOnFirstUpdate; // 0x5a8 // MPropertyFriendlyName "force emit on last update" - bool m_bForceEmitOnLastUpdate; // 0x5a9 + bool m_bForceEmitOnLastUpdate; // 0x5a9 }; // Alignment: 15 // Size: 0x230 -class C_OP_NoiseEmitter : public CParticleFunctionEmitter, CParticleFunction -{ +class C_OP_NoiseEmitter : public CParticleFunctionEmitter +{ public: // MPropertyFriendlyName "emission duration" - float m_flEmissionDuration; // 0x1f0 + float m_flEmissionDuration; // 0x1f0 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x1f4 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x1f8 + float m_flEmissionScale; // 0x1f8 // MPropertyFriendlyName "emission count scale control point" - int32_t m_nScaleControlPoint; // 0x1fc + int32_t m_nScaleControlPoint; // 0x1fc // MPropertyFriendlyName "emission count scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x200 + int32_t m_nScaleControlPointField; // 0x200 // MPropertyFriendlyName "world noise scale control point" - int32_t m_nWorldNoisePoint; // 0x204 + int32_t m_nWorldNoisePoint; // 0x204 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x208 + bool m_bAbsVal; // 0x208 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x209 + bool m_bAbsValInv; // 0x209 +private: + [[maybe_unused]] uint8_t __pad020a[0x2]; // 0x20a +public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x20c + float m_flOffset; // 0x20c // MPropertyFriendlyName "emission minimum" - float m_flOutputMin; // 0x210 + float m_flOutputMin; // 0x210 // MPropertyFriendlyName "emission maximum" - float m_flOutputMax; // 0x214 + float m_flOutputMax; // 0x214 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x218 + float m_flNoiseScale; // 0x218 // MPropertyFriendlyName "world spatial noise coordinate scale" - float m_flWorldNoiseScale; // 0x21c + float m_flWorldNoiseScale; // 0x21c // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x220 + Vector m_vecOffsetLoc; // 0x220 // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x22c + float m_flWorldTimeScale; // 0x22c }; // Alignment: 8 // Size: 0x480 -class C_OP_MaintainEmitter : public CParticleFunctionEmitter, CParticleFunction -{ +class C_OP_MaintainEmitter : public CParticleFunctionEmitter +{ public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1f0 + int32_t m_nParticlesToMaintain; // 0x1f0 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x1f4 // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f8 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f8 // MPropertyFriendlyName "emission rate" - float m_flEmissionRate; // 0x330 + float m_flEmissionRate; // 0x330 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x334 + int32_t m_nSnapshotControlPoint; // 0x334 // MPropertyFriendlyName "group emission times for new particles" - bool m_bEmitInstantaneously; // 0x338 + bool m_bEmitInstantaneously; // 0x338 // MPropertyFriendlyName "perform final emit on stop" - bool m_bFinalEmitOnStop; // 0x339 + bool m_bFinalEmitOnStop; // 0x339 +private: + [[maybe_unused]] uint8_t __pad033a[0x6]; // 0x33a +public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x340 + CParticleCollectionFloatInput m_flScale; // 0x340 }; // Alignment: 2 // Size: 0x210 -class C_OP_RandomForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_RandomForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "min force" // MVectorIsCoordinate - Vector m_MinForce; // 0x1f0 + Vector m_MinForce; // 0x1f0 // MPropertyFriendlyName "max force" // MVectorIsCoordinate - Vector m_MaxForce; // 0x1fc + Vector m_MaxForce; // 0x1fc }; // Alignment: 2 // Size: 0x330 -class C_OP_CPVelocityForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_CPVelocityForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "velocity scale" - CPerParticleFloatInput m_flScale; // 0x1f8 + CPerParticleFloatInput m_flScale; // 0x1f8 }; // Alignment: 3 // Size: 0x210 -class C_OP_ParentVortices : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_ParentVortices : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "amount of force" - float m_flForceScale; // 0x1f0 + float m_flForceScale; // 0x1f0 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_vecTwistAxis; // 0x1f4 + Vector m_vecTwistAxis; // 0x1f4 // MPropertyFriendlyName "flip twist axis with yaw" - bool m_bFlipBasedOnYaw; // 0x200 + bool m_bFlipBasedOnYaw; // 0x200 }; // Alignment: 4 // Size: 0x210 -class C_OP_TwistAroundAxis : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_TwistAroundAxis : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "amount of force" - float m_fForceAmount; // 0x1f0 + float m_fForceAmount; // 0x1f0 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_TwistAxis; // 0x1f4 + Vector m_TwistAxis; // 0x1f4 // MPropertyFriendlyName "object local space axis 0/1" - bool m_bLocalSpace; // 0x200 + bool m_bLocalSpace; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 +public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x204 + int32_t m_nControlPointNumber; // 0x204 }; // Alignment: 6 // Size: 0x4d0 -class C_OP_AttractToControlPoint : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_AttractToControlPoint : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "component scale" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1f0 + Vector m_vecComponentScale; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "amount of force (or Max Force)" - CPerParticleFloatInput m_fForceAmount; // 0x200 + CPerParticleFloatInput m_fForceAmount; // 0x200 // MPropertyFriendlyName "falloff power" - float m_fFalloffPower; // 0x338 + float m_fFalloffPower; // 0x338 +private: + [[maybe_unused]] uint8_t __pad033c[0x4]; // 0x33c +public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0x340 + CParticleTransformInput m_TransformInput; // 0x340 // MPropertyFriendlyName "Min Pullforce" - CPerParticleFloatInput m_fForceAmountMin; // 0x390 + CPerParticleFloatInput m_fForceAmountMin; // 0x390 // MPropertyFriendlyName "Apply Min Pullforce" - bool m_bApplyMinForce; // 0x4c8 + bool m_bApplyMinForce; // 0x4c8 }; // Alignment: 7 // Size: 0x230 -class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "min distance from plane" - float m_flMinDist; // 0x1f0 + float m_flMinDist; // 0x1f0 // MPropertyFriendlyName "force at min distance" // MVectorIsCoordinate - Vector m_vecForceAtMinDist; // 0x1f4 + Vector m_vecForceAtMinDist; // 0x1f4 // MPropertyFriendlyName "max distance from plane" - float m_flMaxDist; // 0x200 + float m_flMaxDist; // 0x200 // MPropertyFriendlyName "force at max distance" // MVectorIsCoordinate - Vector m_vecForceAtMaxDist; // 0x204 + Vector m_vecForceAtMaxDist; // 0x204 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneNormal; // 0x210 + Vector m_vecPlaneNormal; // 0x210 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x21c + int32_t m_nControlPointNumber; // 0x21c // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x220 + float m_flExponent; // 0x220 }; // Alignment: 4 // Size: 0x210 -class C_OP_TimeVaryingForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_TimeVaryingForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "time to start transition" - float m_flStartLerpTime; // 0x1f0 + float m_flStartLerpTime; // 0x1f0 // MPropertyFriendlyName "starting force" // MVectorIsCoordinate - Vector m_StartingForce; // 0x1f4 + Vector m_StartingForce; // 0x1f4 // MPropertyFriendlyName "time to end transition" - float m_flEndLerpTime; // 0x200 + float m_flEndLerpTime; // 0x200 // MPropertyFriendlyName "ending force" // MVectorIsCoordinate - Vector m_EndingForce; // 0x204 + Vector m_EndingForce; // 0x204 }; // Alignment: 8 // Size: 0x230 -class C_OP_TurbulenceForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_TurbulenceForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "noise scale 0" - float m_flNoiseCoordScale0; // 0x1f0 + float m_flNoiseCoordScale0; // 0x1f0 // MPropertyFriendlyName "noise scale 1" - float m_flNoiseCoordScale1; // 0x1f4 + float m_flNoiseCoordScale1; // 0x1f4 // MPropertyFriendlyName "noise scale 2" - float m_flNoiseCoordScale2; // 0x1f8 + float m_flNoiseCoordScale2; // 0x1f8 // MPropertyFriendlyName "noise scale 3" - float m_flNoiseCoordScale3; // 0x1fc + float m_flNoiseCoordScale3; // 0x1fc // MPropertyFriendlyName "noise amount 0" // MVectorIsCoordinate - Vector m_vecNoiseAmount0; // 0x200 + Vector m_vecNoiseAmount0; // 0x200 // MPropertyFriendlyName "noise amount 1" // MVectorIsCoordinate - Vector m_vecNoiseAmount1; // 0x20c + Vector m_vecNoiseAmount1; // 0x20c // MPropertyFriendlyName "noise amount 2" // MVectorIsCoordinate - Vector m_vecNoiseAmount2; // 0x218 + Vector m_vecNoiseAmount2; // 0x218 // MPropertyFriendlyName "noise amount 3" // MVectorIsCoordinate - Vector m_vecNoiseAmount3; // 0x224 + Vector m_vecNoiseAmount3; // 0x224 }; // Alignment: 6 // Size: 0x15c0 -class C_OP_CurlNoiseForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_CurlNoiseForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "noise type" - ParticleDirectionNoiseType_t m_nNoiseType; // 0x1f0 + ParticleDirectionNoiseType_t m_nNoiseType; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "noise frequency" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseFreq; // 0x1f8 + CPerParticleVecInput m_vecNoiseFreq; // 0x1f8 // MPropertyFriendlyName "noise amplitude" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseScale; // 0x7c0 + CPerParticleVecInput m_vecNoiseScale; // 0x7c0 // MPropertyFriendlyName "offset rate" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetRate; // 0xd88 + CPerParticleVecInput m_vecOffsetRate; // 0xd88 // MPropertyFriendlyName "worley seed" - CPerParticleFloatInput m_flWorleySeed; // 0x1350 + CPerParticleFloatInput m_flWorleySeed; // 0x1350 // MPropertyFriendlyName "worley jitter" - CPerParticleFloatInput m_flWorleyJitter; // 0x1488 + CPerParticleFloatInput m_flWorleyJitter; // 0x1488 }; // Alignment: 3 // Size: 0x900 -class C_OP_PerParticleForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_PerParticleForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1f0 + CPerParticleFloatInput m_flForceScale; // 0x1f0 // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - CPerParticleVecInput m_vForce; // 0x328 + CPerParticleVecInput m_vForce; // 0x328 // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x8f0 + int32_t m_nCP; // 0x8f0 }; // Alignment: 1 // Size: 0x200 -class C_OP_WindForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_WindForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - Vector m_vForce; // 0x1f0 + Vector m_vForce; // 0x1f0 }; // Alignment: 4 // Size: 0xd90 -class C_OP_ExternalWindForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_ExternalWindForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "sample position" - CPerParticleVecInput m_vecSamplePosition; // 0x1f0 + CPerParticleVecInput m_vecSamplePosition; // 0x1f0 // MPropertyFriendlyName "force scale" - CPerParticleVecInput m_vecScale; // 0x7b8 + CPerParticleVecInput m_vecScale; // 0x7b8 // MPropertyFriendlyName "sample wind" - bool m_bSampleWind; // 0xd80 + bool m_bSampleWind; // 0xd80 // MPropertyFriendlyName "sample water current" - bool m_bSampleWater; // 0xd81 + bool m_bSampleWater; // 0xd81 }; // Alignment: 5 // Size: 0x330 -class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1f0 + CPerParticleFloatInput m_flForceScale; // 0x1f0 // MPropertyFriendlyName "rope shake" - bool m_bRopes; // 0x328 + bool m_bRopes; // 0x328 // MPropertyFriendlyName "limit rope impulses to Z" - bool m_bRopesZOnly; // 0x329 + bool m_bRopesZOnly; // 0x329 // MPropertyFriendlyName "explosions" - bool m_bExplosions; // 0x32a + bool m_bExplosions; // 0x32a // MPropertyFriendlyName "particle systems" - bool m_bParticles; // 0x32b + bool m_bParticles; // 0x32b }; // Alignment: 3 // Size: 0x7c0 -class C_OP_LocalAccelerationForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_LocalAccelerationForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x1f0 // MPropertyFriendlyName "scale control point" - int32_t m_nScaleCP; // 0x1f4 + int32_t m_nScaleCP; // 0x1f4 // MPropertyFriendlyName "local space acceleration" - CParticleCollectionVecInput m_vecAccel; // 0x1f8 + CParticleCollectionVecInput m_vecAccel; // 0x1f8 }; // Alignment: 1 // Size: 0x200 -class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "Acceleration" - float m_flAccel; // 0x1f0 + float m_flAccel; // 0x1f0 }; // Alignment: 5 // Size: 0x210 -class C_OP_ExternalGenericForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_ExternalGenericForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "strength" - float m_flStrength; // 0x1f0 + float m_flStrength; // 0x1f0 // MPropertyFriendlyName "curl strength" - float m_flCurlStrength; // 0x1f4 + float m_flCurlStrength; // 0x1f4 // MPropertyFriendlyName "linear strength" - float m_flLinearStrength; // 0x1f8 + float m_flLinearStrength; // 0x1f8 // MPropertyFriendlyName "radial strength" - float m_flRadialStrength; // 0x1fc + float m_flRadialStrength; // 0x1fc // MPropertyFriendlyName "rotation strength" - float m_flRotationStrength; // 0x200 + float m_flRotationStrength; // 0x200 }; // Alignment: 2 // Size: 0x200 -class C_OP_DensityForce : public CParticleFunctionForce, CParticleFunction -{ +class C_OP_DensityForce : public CParticleFunctionForce +{ public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x1f0 // MPropertyFriendlyName "Scale of force" - float m_flForceScale; // 0x1f4 + float m_flForceScale; // 0x1f4 }; // Alignment: 3 // Size: 0x210 -class C_OP_BasicMovement : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_BasicMovement : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "gravity" // MVectorIsCoordinate - Vector m_Gravity; // 0x1f0 + Vector m_Gravity; // 0x1f0 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x1fc + float m_fDrag; // 0x1fc // MPropertyFriendlyName "max constraint passes" - int32_t m_nMaxConstraintPasses; // 0x200 + int32_t m_nMaxConstraintPasses; // 0x200 }; // Alignment: 7 // Size: 0x210 -class C_OP_FadeAndKill : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_FadeAndKill : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1f0 + float m_flStartFadeInTime; // 0x1f0 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1f4 + float m_flEndFadeInTime; // 0x1f4 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1f8 + float m_flStartFadeOutTime; // 0x1f8 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1fc + float m_flEndFadeOutTime; // 0x1fc // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x200 + float m_flStartAlpha; // 0x200 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x204 + float m_flEndAlpha; // 0x204 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x208 + bool m_bForcePreserveParticleOrder; // 0x208 }; // Alignment: 6 // Size: 0x210 -class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1f0 + float m_flStartFadeInTime; // 0x1f0 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1f4 + float m_flEndFadeInTime; // 0x1f4 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1f8 + float m_flStartFadeOutTime; // 0x1f8 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1fc + float m_flEndFadeOutTime; // 0x1fc // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x200 + float m_flStartAlpha; // 0x200 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x204 + float m_flEndAlpha; // 0x204 }; // Alignment: 4 // Size: 0x200 -class C_OP_FadeIn : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_FadeIn : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "fade in time min" - float m_flFadeInTimeMin; // 0x1f0 + float m_flFadeInTimeMin; // 0x1f0 // MPropertyFriendlyName "fade in time max" - float m_flFadeInTimeMax; // 0x1f4 + float m_flFadeInTimeMax; // 0x1f4 // MPropertyFriendlyName "fade in time exponent" - float m_flFadeInTimeExp; // 0x1f8 + float m_flFadeInTimeExp; // 0x1f8 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1fc + bool m_bProportional; // 0x1fc }; // Alignment: 6 // Size: 0x240 -class C_OP_FadeOut : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_FadeOut : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "fade out time min" - float m_flFadeOutTimeMin; // 0x1f0 + float m_flFadeOutTimeMin; // 0x1f0 // MPropertyFriendlyName "fade out time max" - float m_flFadeOutTimeMax; // 0x1f4 + float m_flFadeOutTimeMax; // 0x1f4 // MPropertyFriendlyName "fade out time exponent" - float m_flFadeOutTimeExp; // 0x1f8 + float m_flFadeOutTimeExp; // 0x1f8 // MPropertyFriendlyName "fade bias" - float m_flFadeBias; // 0x1fc + float m_flFadeBias; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad0200[0x30]; // 0x200 +public: // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x230 + bool m_bProportional; // 0x230 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x231 + bool m_bEaseInAndOut; // 0x231 }; // Alignment: 2 // Size: 0x200 -class C_OP_FadeInSimple : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_FadeInSimple : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "proportional fade in time" - float m_flFadeInTime; // 0x1f0 + float m_flFadeInTime; // 0x1f0 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 }; // Alignment: 2 // Size: 0x200 -class C_OP_FadeOutSimple : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_FadeOutSimple : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "proportional fade out time" - float m_flFadeOutTime; // 0x1f0 + float m_flFadeOutTime; // 0x1f0 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 }; // Alignment: 3 // Size: 0x470 -class C_OP_ClampScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ClampScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x1f8 + CPerParticleFloatInput m_flOutputMin; // 0x1f8 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x330 + CPerParticleFloatInput m_flOutputMax; // 0x330 }; // Alignment: 3 // Size: 0xd90 -class C_OP_ClampVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ClampVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMin; // 0x1f8 + CPerParticleVecInput m_vecOutputMin; // 0x1f8 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMax; // 0x7c0 + CPerParticleVecInput m_vecOutputMax; // 0x7c0 }; // Alignment: 13 // Size: 0x220 -class C_OP_OscillateScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_OscillateScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "oscillation rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x1f0 // MPropertyFriendlyName "oscillation rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x1f4 // MPropertyFriendlyName "oscillation frequency min" - float m_FrequencyMin; // 0x1f8 + float m_FrequencyMin; // 0x1f8 // MPropertyFriendlyName "oscillation frequency max" - float m_FrequencyMax; // 0x1fc + float m_FrequencyMax; // 0x1fc // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x200 + ParticleAttributeIndex_t m_nField; // 0x200 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x204 + bool m_bProportional; // 0x204 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x205 + bool m_bProportionalOp; // 0x205 +private: + [[maybe_unused]] uint8_t __pad0206[0x2]; // 0x206 +public: // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x208 + float m_flStartTime_min; // 0x208 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x20c + float m_flStartTime_max; // 0x20c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x210 + float m_flEndTime_min; // 0x210 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x214 + float m_flEndTime_max; // 0x214 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x218 + float m_flOscMult; // 0x218 // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x21c + float m_flOscAdd; // 0x21c }; // Alignment: 5 // Size: 0x230 -class C_OP_OscillateScalarSimple : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_OscillateScalarSimple : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "oscillation rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x1f0 // MPropertyFriendlyName "oscillation frequency" - float m_Frequency; // 0x1f4 + float m_Frequency; // 0x1f4 // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1f8 + ParticleAttributeIndex_t m_nField; // 0x1f8 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1fc + float m_flOscMult; // 0x1fc // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x200 + float m_flOscAdd; // 0x200 }; // Alignment: 15 // Size: 0x5e0 -class C_OP_OscillateVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_OscillateVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "oscillation rate min" // MVectorIsSometimesCoordinate - Vector m_RateMin; // 0x1f0 + Vector m_RateMin; // 0x1f0 // MPropertyFriendlyName "oscillation rate max" // MVectorIsSometimesCoordinate - Vector m_RateMax; // 0x1fc + Vector m_RateMax; // 0x1fc // MPropertyFriendlyName "oscillation frequency min" // MVectorIsSometimesCoordinate - Vector m_FrequencyMin; // 0x208 + Vector m_FrequencyMin; // 0x208 // MPropertyFriendlyName "oscillation frequency max" // MVectorIsSometimesCoordinate - Vector m_FrequencyMax; // 0x214 + Vector m_FrequencyMax; // 0x214 // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x220 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x224 + bool m_bProportional; // 0x224 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x225 + bool m_bProportionalOp; // 0x225 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x226 + bool m_bOffset; // 0x226 +private: + [[maybe_unused]] uint8_t __pad0227[0x1]; // 0x227 +public: // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x228 + float m_flStartTime_min; // 0x228 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x22c + float m_flStartTime_max; // 0x22c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x230 + float m_flEndTime_min; // 0x230 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x234 + float m_flEndTime_max; // 0x234 // MPropertyFriendlyName "oscillation multiplier" - CPerParticleFloatInput m_flOscMult; // 0x238 + CPerParticleFloatInput m_flOscMult; // 0x238 // MPropertyFriendlyName "oscillation start phase" - CPerParticleFloatInput m_flOscAdd; // 0x370 + CPerParticleFloatInput m_flOscAdd; // 0x370 // MPropertyFriendlyName "rate scale" - CPerParticleFloatInput m_flRateScale; // 0x4a8 + CPerParticleFloatInput m_flRateScale; // 0x4a8 }; // Alignment: 6 // Size: 0x220 -class C_OP_OscillateVectorSimple : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_OscillateVectorSimple : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "oscillation rate" // MVectorIsSometimesCoordinate - Vector m_Rate; // 0x1f0 + Vector m_Rate; // 0x1f0 // MPropertyFriendlyName "oscillation frequency" - Vector m_Frequency; // 0x1fc + Vector m_Frequency; // 0x1fc // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x208 + ParticleAttributeIndex_t m_nField; // 0x208 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x20c + float m_flOscMult; // 0x20c // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x210 + float m_flOscAdd; // 0x210 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x214 + bool m_bOffset; // 0x214 }; // Alignment: 9 // Size: 0x210 -class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "difference minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "difference maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x204 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x208 // MPropertyFriendlyName "only active within specified difference" - bool m_bActiveRange; // 0x20c + bool m_bActiveRange; // 0x20c // MPropertyFriendlyName "also set ouput to previous particle" - bool m_bSetPreviousParticle; // 0x20d + bool m_bSetPreviousParticle; // 0x20d }; // Alignment: 2 // Size: 0x330 -class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f8 + CPerParticleFloatInput m_flInterpolation; // 0x1f8 }; // Alignment: 6 // Size: 0x210 -class C_OP_RemapScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x204 }; // Alignment: 6 // Size: 0x220 -class C_OP_RemapDensityToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapDensityToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x1f0 // MPropertyFriendlyName "Output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "Density value to map to min value" - float m_flDensityMin; // 0x1f8 + float m_flDensityMin; // 0x1f8 // MPropertyFriendlyName "Density value to map to max value" - float m_flDensityMax; // 0x1fc + float m_flDensityMax; // 0x1fc // MPropertyFriendlyName "Output minimum" - Vector m_vecOutputMin; // 0x200 + Vector m_vecOutputMin; // 0x200 // MPropertyFriendlyName "Output maximum" - Vector m_vecOutputMax; // 0x20c + Vector m_vecOutputMax; // 0x20c }; // Alignment: 6 // Size: 0x210 -class C_OP_RemapScalarEndCap : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapScalarEndCap : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x204 }; // Alignment: 3 // Size: 0x200 -class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "minimum" - float m_flOutputMin; // 0x1f4 + float m_flOutputMin; // 0x1f4 // MPropertyFriendlyName "maximum" - float m_flOutputMax; // 0x1f8 + float m_flOutputMax; // 0x1f8 }; // Alignment: 8 // Size: 0x210 -class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x1f0 + bool m_bProportional; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f1[0x3]; // 0x1f1 +public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x1fc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x200 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x204 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x208 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x20c + float m_flRemapTime; // 0x20c }; // Alignment: 7 // Size: 0x210 -class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1f4 + int32_t m_nInputMin; // 0x1f4 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1f8 + int32_t m_nInputMax; // 0x1f8 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x1fc // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x200 // MPropertyFriendlyName "count back from last particle" - bool m_bBackwards; // 0x204 + bool m_bBackwards; // 0x204 +private: + [[maybe_unused]] uint8_t __pad0205[0x3]; // 0x205 +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x208 }; // Alignment: 7 // Size: 0x6e0 -class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_nInputMin; // 0x1f8 + CParticleCollectionFloatInput m_nInputMin; // 0x1f8 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_nInputMax; // 0x330 + CParticleCollectionFloatInput m_nInputMax; // 0x330 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x468 + CParticleCollectionFloatInput m_flOutputMin; // 0x468 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5a0 + CParticleCollectionFloatInput m_flOutputMax; // 0x5a0 // MPropertyFriendlyName - bool m_bActiveRange; // 0x6d8 + bool m_bActiveRange; // 0x6d8 +private: + [[maybe_unused]] uint8_t __pad06d9[0x3]; // 0x6d9 +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x6dc + ParticleSetMethod_t m_nSetMethod; // 0x6dc }; // Alignment: 7 // Size: 0x210 -class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x1f8 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x1fc // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x200 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x204 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x208 + float m_flRadiusScale; // 0x208 }; // Alignment: 8 // Size: 0x260 -class C_OP_RemapTransformVisibilityToScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapTransformVisibilityToScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f0 + ParticleSetMethod_t m_nSetMethod; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f8 + CParticleTransformInput m_TransformInput; // 0x1f8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x248 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x24c + float m_flInputMin; // 0x24c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x250 + float m_flInputMax; // 0x250 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x254 + float m_flOutputMin; // 0x254 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x258 + float m_flOutputMax; // 0x258 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x25c + float m_flRadius; // 0x25c }; // Alignment: 8 // Size: 0x270 -class C_OP_RemapTransformVisibilityToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapTransformVisibilityToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f0 + ParticleSetMethod_t m_nSetMethod; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f8 + CParticleTransformInput m_TransformInput; // 0x1f8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x248 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x24c + float m_flInputMin; // 0x24c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x250 + float m_flInputMax; // 0x250 // MPropertyFriendlyName "output minimum" - Vector m_vecOutputMin; // 0x254 + Vector m_vecOutputMin; // 0x254 // MPropertyFriendlyName "output maximum" - Vector m_vecOutputMax; // 0x260 + Vector m_vecOutputMax; // 0x260 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x26c + float m_flRadius; // 0x26c }; // Alignment: 4 // Size: 0x340 -class C_OP_LerpScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LerpScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "value to lerp to" - CPerParticleFloatInput m_flOutput; // 0x1f8 + CPerParticleFloatInput m_flOutput; // 0x1f8 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x330 + float m_flStartTime; // 0x330 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x334 + float m_flEndTime; // 0x334 }; // Alignment: 3 // Size: 0x200 -class C_OP_LerpEndCapScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LerpEndCapScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "value to lerp to" - float m_flOutput; // 0x1f4 + float m_flOutput; // 0x1f4 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x1f8 + float m_flLerpTime; // 0x1f8 }; // Alignment: 3 // Size: 0x210 -class C_OP_LerpEndCapVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LerpEndCapVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1f4 + Vector m_vecOutput; // 0x1f4 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x200 + float m_flLerpTime; // 0x200 }; // Alignment: 5 // Size: 0x210 -class C_OP_LerpVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LerpVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1f4 + Vector m_vecOutput; // 0x1f4 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x200 + float m_flStartTime; // 0x200 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x204 + float m_flEndTime; // 0x204 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x208 }; // Alignment: 4 // Size: 0x360 -class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f0 + CPerParticleFloatInput m_flInterpolation; // 0x1f0 // MPropertyFriendlyName "input attribute from" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInputFrom; // 0x328 + ParticleAttributeIndex_t m_nFieldInputFrom; // 0x328 // MPropertyFriendlyName "input attribute to" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x32c + ParticleAttributeIndex_t m_nFieldInput; // 0x32c // MPropertyFriendlyName "output attribute" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x330 + ParticleAttributeIndex_t m_nFieldOutput; // 0x330 }; // Alignment: 7 // Size: 0x210 -class C_OP_RemapSpeed : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapSpeed : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x1f4 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x1f8 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x1fc // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x200 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x204 + ParticleSetMethod_t m_nSetMethod; // 0x204 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x208 + bool m_bIgnoreDelta; // 0x208 }; // Alignment: 3 // Size: 0x200 -class C_OP_RemapVectortoCP : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapVectortoCP : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1f0 + int32_t m_nOutControlPointNumber; // 0x1f0 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 // MPropertyFriendlyName "particle number to read" - int32_t m_nParticleNumber; // 0x1f8 + int32_t m_nParticleNumber; // 0x1f8 }; // Alignment: 8 // Size: 0x240 -class C_OP_RampScalarLinear : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RampScalarLinear : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x1f0 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x1f4 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1f8 + float m_flStartTime_min; // 0x1f8 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1fc + float m_flStartTime_max; // 0x1fc // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x200 + float m_flEndTime_min; // 0x200 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x204 + float m_flEndTime_max; // 0x204 +private: + [[maybe_unused]] uint8_t __pad0208[0x28]; // 0x208 +public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x230 + ParticleAttributeIndex_t m_nField; // 0x230 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x234 + bool m_bProportionalOp; // 0x234 }; // Alignment: 10 // Size: 0x240 -class C_OP_RampScalarSpline : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RampScalarSpline : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x1f0 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x1f4 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1f8 + float m_flStartTime_min; // 0x1f8 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1fc + float m_flStartTime_max; // 0x1fc // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x200 + float m_flEndTime_min; // 0x200 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x204 + float m_flEndTime_max; // 0x204 // MPropertyFriendlyName "bias" - float m_flBias; // 0x208 + float m_flBias; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x24]; // 0x20c +public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x230 + ParticleAttributeIndex_t m_nField; // 0x230 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x234 + bool m_bProportionalOp; // 0x234 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x235 + bool m_bEaseOut; // 0x235 }; // Alignment: 4 // Size: 0x230 -class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x1f0 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x1f4 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f8 + float m_flEndTime; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x24]; // 0x1fc +public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x220 }; // Alignment: 5 // Size: 0x230 -class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x1f0 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x1f4 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f8 + float m_flEndTime; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x24]; // 0x1fc +public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x220 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x224 + bool m_bEaseOut; // 0x224 }; // Alignment: 10 // Size: 0x1280 -class C_OP_ChladniWave : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ChladniWave : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "wave minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x1f8 // MPropertyFriendlyName "wave maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x330 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x468 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5a0 // MPropertyFriendlyName "wave length" - CPerParticleVecInput m_vecWaveLength; // 0x6d8 + CPerParticleVecInput m_vecWaveLength; // 0x6d8 // MPropertyFriendlyName "harmonics" - CPerParticleVecInput m_vecHarmonics; // 0xca0 + CPerParticleVecInput m_vecHarmonics; // 0xca0 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1268 + ParticleSetMethod_t m_nSetMethod; // 0x1268 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalSpaceControlPoint; // 0x126c + int32_t m_nLocalSpaceControlPoint; // 0x126c // MPropertyFriendlyName "3D" - bool m_b3D; // 0x1270 + bool m_b3D; // 0x1270 }; // Alignment: 6 // Size: 0x210 -class C_OP_Noise : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_Noise : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1f4 + float m_flOutputMin; // 0x1f4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1f8 + float m_flOutputMax; // 0x1f8 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x1fc + float m_fl4NoiseScale; // 0x1fc // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x200 + bool m_bAdditive; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 +public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x204 + float m_flNoiseAnimationTimeScale; // 0x204 }; // Alignment: 7 // Size: 0x220 -class C_OP_VectorNoise : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_VectorNoise : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1f4 + Vector m_vecOutputMin; // 0x1f4 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x200 + Vector m_vecOutputMax; // 0x200 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x20c + float m_fl4NoiseScale; // 0x20c // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x210 + bool m_bAdditive; // 0x210 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x211 + bool m_bOffset; // 0x211 +private: + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 +public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x214 + float m_flNoiseAnimationTimeScale; // 0x214 }; // Alignment: 2 // Size: 0x200 -class C_OP_Decay : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_Decay : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Reduce rope popping on decay" - bool m_bRopeDecay; // 0x1f0 + bool m_bRopeDecay; // 0x1f0 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x1f1 + bool m_bForcePreserveParticleOrder; // 0x1f1 }; // Alignment: 1 // Size: 0x330 -class C_OP_DecayOffscreen : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DecayOffscreen : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Offscreen Time Before Decay" - CParticleCollectionFloatInput m_flOffscreenTime; // 0x1f0 + CParticleCollectionFloatInput m_flOffscreenTime; // 0x1f0 }; // Alignment: 1 // Size: 0x330 -class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "freeze time" - CParticleCollectionFloatInput m_flFreezeTime; // 0x1f0 + CParticleCollectionFloatInput m_flFreezeTime; // 0x1f0 }; // Alignment: 1 // Size: 0x200 -class C_OP_EndCapTimedDecay : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_EndCapTimedDecay : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "decay time" - float m_flDecayTime; // 0x1f0 + float m_flDecayTime; // 0x1f0 }; // Alignment: 0 // Size: 0x1f0 -class C_OP_EndCapDecay : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_EndCapDecay : public CParticleFunctionOperator +{ public: // no members available }; // Alignment: 1 // Size: 0x200 -class C_OP_VelocityDecay : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_VelocityDecay : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "minimum velocity" - float m_flMinVelocity; // 0x1f0 + float m_flMinVelocity; // 0x1f0 }; // Alignment: 1 // Size: 0x200 -class C_OP_AlphaDecay : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_AlphaDecay : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "minimum alpha" - float m_flMinAlpha; // 0x1f0 + float m_flMinAlpha; // 0x1f0 }; // Alignment: 1 // Size: 0x200 -class C_OP_RadiusDecay : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RadiusDecay : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "minimum radius" - float m_flMinRadius; // 0x1f0 + float m_flMinRadius; // 0x1f0 }; // Alignment: 6 // Size: 0x340 -class C_OP_DecayMaintainCount : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DecayMaintainCount : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1f0 + int32_t m_nParticlesToMaintain; // 0x1f0 // MPropertyFriendlyName "decay delay" - float m_flDecayDelay; // 0x1f4 + float m_flDecayDelay; // 0x1f4 // MPropertyFriendlyName "snapshot control point for count" - int32_t m_nSnapshotControlPoint; // 0x1f8 + int32_t m_nSnapshotControlPoint; // 0x1f8 // MPropertyFriendlyName "decay on lifespan" - bool m_bLifespanDecay; // 0x1fc + bool m_bLifespanDecay; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x200 + CParticleCollectionFloatInput m_flScale; // 0x200 // MPropertyFriendlyName "kill newest instead of oldest" - bool m_bKillNewest; // 0x338 + bool m_bKillNewest; // 0x338 }; // Alignment: 1 // Size: 0x330 -class C_OP_DecayClampCount : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DecayClampCount : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Maximum Count" - CParticleCollectionFloatInput m_nCount; // 0x1f0 + CParticleCollectionFloatInput m_nCount; // 0x1f0 }; // Alignment: 4 // Size: 0x200 -class C_OP_Cull : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_Cull : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "cull percentage" - float m_flCullPerc; // 0x1f0 + float m_flCullPerc; // 0x1f0 // MPropertyFriendlyName "cull start time" - float m_flCullStart; // 0x1f4 + float m_flCullStart; // 0x1f4 // MPropertyFriendlyName "cull end time" - float m_flCullEnd; // 0x1f8 + float m_flCullEnd; // 0x1f8 // MPropertyFriendlyName "cull time exponent" - float m_flCullExp; // 0x1fc + float m_flCullExp; // 0x1fc }; // Alignment: 3 // Size: 0x210 -class CGeneralSpin : public CParticleFunctionOperator, CParticleFunction -{ +class CGeneralSpin : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "spin rate degrees" - int32_t m_nSpinRateDegrees; // 0x1f0 + int32_t m_nSpinRateDegrees; // 0x1f0 // MPropertyFriendlyName "spin rate min" - int32_t m_nSpinRateMinDegrees; // 0x1f4 + int32_t m_nSpinRateMinDegrees; // 0x1f4 +private: + [[maybe_unused]] uint8_t __pad01f8[0x4]; // 0x1f8 +public: // MPropertyFriendlyName "spin stop time" - float m_fSpinRateStopTime; // 0x1fc + float m_fSpinRateStopTime; // 0x1fc }; // Alignment: 0 // Size: 0x1f0 -class CSpinUpdateBase : public CParticleFunctionOperator, CParticleFunction -{ +class CSpinUpdateBase : public CParticleFunctionOperator +{ public: // no members available }; // Alignment: 0 // Size: 0x210 -class C_OP_Spin : public CGeneralSpin, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_Spin : public CGeneralSpin +{ public: // no members available }; // Alignment: 0 // Size: 0x1f0 -class C_OP_SpinUpdate : public CSpinUpdateBase, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SpinUpdate : public CSpinUpdateBase +{ public: // no members available }; // Alignment: 0 // Size: 0x210 -class C_OP_SpinYaw : public CGeneralSpin, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SpinYaw : public CGeneralSpin +{ public: // no members available }; // Alignment: 6 // Size: 0x240 -class C_OP_InterpolateRadius : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_InterpolateRadius : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f0 + float m_flStartTime; // 0x1f0 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f4 + float m_flEndTime; // 0x1f4 // MPropertyFriendlyName "radius start scale" - float m_flStartScale; // 0x1f8 + float m_flStartScale; // 0x1f8 // MPropertyFriendlyName "radius end scale" - float m_flEndScale; // 0x1fc + float m_flEndScale; // 0x1fc // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x200 + bool m_bEaseInAndOut; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 +public: // MPropertyFriendlyName "scale bias" - float m_flBias; // 0x204 + float m_flBias; // 0x204 }; // Alignment: 5 // Size: 0x210 -class C_OP_ColorInterpolate : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ColorInterpolate : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "color fade" - Color m_ColorFade; // 0x1f0 + Color m_ColorFade; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0xc]; // 0x1f4 +public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x200 + float m_flFadeStartTime; // 0x200 // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x204 + float m_flFadeEndTime; // 0x204 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x208 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x20c + bool m_bEaseInOut; // 0x20c }; // Alignment: 6 // Size: 0x230 -class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "color fade min" - Color m_ColorFadeMin; // 0x1f0 + Color m_ColorFadeMin; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x18]; // 0x1f4 +public: // MPropertyFriendlyName "color fade max" - Color m_ColorFadeMax; // 0x20c + Color m_ColorFadeMax; // 0x20c +private: + [[maybe_unused]] uint8_t __pad0210[0xc]; // 0x210 +public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x21c + float m_flFadeStartTime; // 0x21c // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x220 + float m_flFadeEndTime; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x224 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x228 + bool m_bEaseInOut; // 0x228 }; // Alignment: 15 // Size: 0x980 -class C_OP_PositionLock : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PositionLock : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "start fadeout min" - float m_flStartTime_min; // 0x240 + float m_flStartTime_min; // 0x240 // MPropertyFriendlyName "start fadeout max" - float m_flStartTime_max; // 0x244 + float m_flStartTime_max; // 0x244 // MPropertyFriendlyName "start fadeout exponent" - float m_flStartTime_exp; // 0x248 + float m_flStartTime_exp; // 0x248 // MPropertyFriendlyName "end fadeout min" - float m_flEndTime_min; // 0x24c + float m_flEndTime_min; // 0x24c // MPropertyFriendlyName "end fadeout max" - float m_flEndTime_max; // 0x250 + float m_flEndTime_max; // 0x250 // MPropertyFriendlyName "end fadeout exponent" - float m_flEndTime_exp; // 0x254 + float m_flEndTime_exp; // 0x254 // MPropertyFriendlyName "distance fade range" - float m_flRange; // 0x258 + float m_flRange; // 0x258 +private: + [[maybe_unused]] uint8_t __pad025c[0x4]; // 0x25c +public: // MPropertyFriendlyName "distance fade bias" - CParticleCollectionFloatInput m_flRangeBias; // 0x260 + CParticleCollectionFloatInput m_flRangeBias; // 0x260 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x398 + float m_flJumpThreshold; // 0x398 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x39c + float m_flPrevPosScale; // 0x39c // MPropertyFriendlyName "lock rotation" - bool m_bLockRot; // 0x3a0 + bool m_bLockRot; // 0x3a0 +private: + [[maybe_unused]] uint8_t __pad03a1[0x7]; // 0x3a1 +public: // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x3a8 + CParticleCollectionVecInput m_vecScale; // 0x3a8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x970 + ParticleAttributeIndex_t m_nFieldOutput; // 0x970 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x974 + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x974 }; // Alignment: 33 // Size: 0x740 -class C_OP_ControlpointLight : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ControlpointLight : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1f0 + float m_flScale; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4cc]; // 0x1f4 +public: // MPropertyFriendlyName "light 1 control point" - int32_t m_nControlPoint1; // 0x6c0 + int32_t m_nControlPoint1; // 0x6c0 // MPropertyFriendlyName "light 2 control point" - int32_t m_nControlPoint2; // 0x6c4 + int32_t m_nControlPoint2; // 0x6c4 // MPropertyFriendlyName "light 3 control point" - int32_t m_nControlPoint3; // 0x6c8 + int32_t m_nControlPoint3; // 0x6c8 // MPropertyFriendlyName "light 4 control point" - int32_t m_nControlPoint4; // 0x6cc + int32_t m_nControlPoint4; // 0x6cc // MPropertyFriendlyName "light 1 control point offset" - Vector m_vecCPOffset1; // 0x6d0 + Vector m_vecCPOffset1; // 0x6d0 // MPropertyFriendlyName "light 2 control point offset" - Vector m_vecCPOffset2; // 0x6dc + Vector m_vecCPOffset2; // 0x6dc // MPropertyFriendlyName "light 3 control point offset" - Vector m_vecCPOffset3; // 0x6e8 + Vector m_vecCPOffset3; // 0x6e8 // MPropertyFriendlyName "light 4 control point offset" - Vector m_vecCPOffset4; // 0x6f4 + Vector m_vecCPOffset4; // 0x6f4 // MPropertyFriendlyName "light 1 50% distance" - float m_LightFiftyDist1; // 0x700 + float m_LightFiftyDist1; // 0x700 // MPropertyFriendlyName "light 1 0% distance" - float m_LightZeroDist1; // 0x704 + float m_LightZeroDist1; // 0x704 // MPropertyFriendlyName "light 2 50% distance" - float m_LightFiftyDist2; // 0x708 + float m_LightFiftyDist2; // 0x708 // MPropertyFriendlyName "light 2 0% distance" - float m_LightZeroDist2; // 0x70c + float m_LightZeroDist2; // 0x70c // MPropertyFriendlyName "light 3 50% distance" - float m_LightFiftyDist3; // 0x710 + float m_LightFiftyDist3; // 0x710 // MPropertyFriendlyName "light 3 0% distance" - float m_LightZeroDist3; // 0x714 + float m_LightZeroDist3; // 0x714 // MPropertyFriendlyName "light 4 50% distance" - float m_LightFiftyDist4; // 0x718 + float m_LightFiftyDist4; // 0x718 // MPropertyFriendlyName "light 4 0% distance" - float m_LightZeroDist4; // 0x71c + float m_LightZeroDist4; // 0x71c // MPropertyFriendlyName "light 1 color" - Color m_LightColor1; // 0x720 + Color m_LightColor1; // 0x720 // MPropertyFriendlyName "light 2 color" - Color m_LightColor2; // 0x724 + Color m_LightColor2; // 0x724 // MPropertyFriendlyName "light 3 color" - Color m_LightColor3; // 0x728 + Color m_LightColor3; // 0x728 // MPropertyFriendlyName "light 4 color" - Color m_LightColor4; // 0x72c + Color m_LightColor4; // 0x72c // MPropertyFriendlyName "light 1 type 0=point 1=spot" - bool m_bLightType1; // 0x730 + bool m_bLightType1; // 0x730 // MPropertyFriendlyName "light 2 type 0=point 1=spot" - bool m_bLightType2; // 0x731 + bool m_bLightType2; // 0x731 // MPropertyFriendlyName "light 3 type 0=point 1=spot" - bool m_bLightType3; // 0x732 + bool m_bLightType3; // 0x732 // MPropertyFriendlyName "light 4 type 0=point 1=spot" - bool m_bLightType4; // 0x733 + bool m_bLightType4; // 0x733 // MPropertyFriendlyName "light 1 dynamic light" - bool m_bLightDynamic1; // 0x734 + bool m_bLightDynamic1; // 0x734 // MPropertyFriendlyName "light 2 dynamic light" - bool m_bLightDynamic2; // 0x735 + bool m_bLightDynamic2; // 0x735 // MPropertyFriendlyName "light 3 dynamic light" - bool m_bLightDynamic3; // 0x736 + bool m_bLightDynamic3; // 0x736 // MPropertyFriendlyName "light 4 dynamic light" - bool m_bLightDynamic4; // 0x737 + bool m_bLightDynamic4; // 0x737 // MPropertyFriendlyName "compute normals from control points" - bool m_bUseNormal; // 0x738 + bool m_bUseNormal; // 0x738 // MPropertyFriendlyName "half-lambert normals" - bool m_bUseHLambert; // 0x739 + bool m_bUseHLambert; // 0x739 +private: + [[maybe_unused]] uint8_t __pad073a[0x4]; // 0x73a +public: // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x73e + bool m_bClampLowerRange; // 0x73e // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x73f + bool m_bClampUpperRange; // 0x73f }; // Alignment: 3 // Size: 0x200 -class C_OP_GlobalLight : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_GlobalLight : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1f0 + float m_flScale; // 0x1f0 // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x1f4 + bool m_bClampLowerRange; // 0x1f4 // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x1f5 + bool m_bClampUpperRange; // 0x1f5 }; // Alignment: 5 // Size: 0x340 -class C_OP_SetChildControlPoints : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetChildControlPoints : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x1f0 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x1f4 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x200 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x200 // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x338 + bool m_bSetOrientation; // 0x338 }; // Alignment: 7 // Size: 0x210 -class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x1f0 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x1f4 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x1f8 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x1fc + int32_t m_nFirstSourcePoint; // 0x1fc // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x200 + bool m_bSetOrientation; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 +public: // MPropertyFriendlyName "orientation style" - ParticleOrientationSetMode_t m_nOrientationMode; // 0x204 + ParticleOrientationSetMode_t m_nOrientationMode; // 0x204 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x208 + ParticleParentSetMode_t m_nSetParent; // 0x208 }; // Alignment: 7 // Size: 0x300 -class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x1f0 + char m_HitboxSetName[128]; // 0x1f0 // MPropertyFriendlyName "attachment to follow" - char[128] m_AttachmentName; // 0x270 + char m_AttachmentName[128]; // 0x270 // MPropertyFriendlyName "First control point to set" - int32_t m_nFirstControlPoint; // 0x2f0 + int32_t m_nFirstControlPoint; // 0x2f0 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x2f4 + int32_t m_nNumControlPoints; // 0x2f4 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x2f8 + int32_t m_nFirstSourcePoint; // 0x2f8 // MPropertyFriendlyName "use skinning instead of hitboxes" - bool m_bSkin; // 0x2fc + bool m_bSkin; // 0x2fc // MPropertyFriendlyName "follow attachment" - bool m_bAttachment; // 0x2fd + bool m_bAttachment; // 0x2fd }; // Alignment: 8 // Size: 0x480 -class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x1f0 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x1f4 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_nParticleIncrement; // 0x200 + CParticleCollectionFloatInput m_nParticleIncrement; // 0x200 // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x338 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x338 // MPropertyFriendlyName "set orientation from velocity" - bool m_bSetOrientation; // 0x470 + bool m_bSetOrientation; // 0x470 +private: + [[maybe_unused]] uint8_t __pad0471[0x3]; // 0x471 +public: // MPropertyFriendlyName "orientation vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOrientationField; // 0x474 + ParticleAttributeIndex_t m_nOrientationField; // 0x474 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x478 + bool m_bNumBasedOnParticleCount; // 0x478 }; // Alignment: 8 // Size: 0x210 -class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x1f0 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x1f4 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x1f8 // MPropertyFriendlyName "particle increment amount" - int32_t m_nParticleIncrement; // 0x1fc + int32_t m_nParticleIncrement; // 0x1fc // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x200 + int32_t m_nFirstSourcePoint; // 0x200 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x204 + bool m_bNumBasedOnParticleCount; // 0x204 +private: + [[maybe_unused]] uint8_t __pad0205[0x3]; // 0x205 +public: // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x208 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x208 // MPropertyFriendlyName "control point field for scalars" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x20c + int32_t m_nCPField; // 0x20c }; // Alignment: 4 // Size: 0x250 -class C_OP_RemapTransformOrientationToYaw : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapTransformOrientationToYaw : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x240 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x244 + float m_flRotOffset; // 0x244 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x248 + float m_flSpinStrength; // 0x248 }; // Alignment: 3 // Size: 0x200 -class C_OP_DampenToCP : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DampenToCP : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "falloff range" - float m_flRange; // 0x1f4 + float m_flRange; // 0x1f4 // MPropertyFriendlyName "dampen scale" - float m_flScale; // 0x1f8 + float m_flScale; // 0x1f8 }; // Alignment: 3 // Size: 0x210 -class C_OP_SetToCP : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetToCP : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "offset" - Vector m_vecOffset; // 0x1f4 + Vector m_vecOffset; // 0x1f4 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x200 + bool m_bOffsetLocal; // 0x200 }; // Alignment: 12 // Size: 0xdf0 -class C_OP_PinParticleToCP : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PinParticleToCP : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "offset" - CParticleCollectionVecInput m_vecOffset; // 0x1f8 + CParticleCollectionVecInput m_vecOffset; // 0x1f8 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x7c0 + bool m_bOffsetLocal; // 0x7c0 +private: + [[maybe_unused]] uint8_t __pad07c1[0x3]; // 0x7c1 +public: // MPropertyFriendlyName "particle to use" - ParticleSelection_t m_nParticleSelection; // 0x7c4 + ParticleSelection_t m_nParticleSelection; // 0x7c4 // MPropertyFriendlyName "particle number" - CParticleCollectionFloatInput m_nParticleNumber; // 0x7c8 + CParticleCollectionFloatInput m_nParticleNumber; // 0x7c8 // MPropertyFriendlyName "pin break type" - ParticlePinDistance_t m_nPinBreakType; // 0x900 + ParticlePinDistance_t m_nPinBreakType; // 0x900 +private: + [[maybe_unused]] uint8_t __pad0904[0x4]; // 0x904 +public: // MPropertyFriendlyName "break length %" - CParticleCollectionFloatInput m_flBreakDistance; // 0x908 + CParticleCollectionFloatInput m_flBreakDistance; // 0x908 // MPropertyFriendlyName "break speed" - CParticleCollectionFloatInput m_flBreakSpeed; // 0xa40 + CParticleCollectionFloatInput m_flBreakSpeed; // 0xa40 // MPropertyFriendlyName "break age" - CParticleCollectionFloatInput m_flAge; // 0xb78 + CParticleCollectionFloatInput m_flAge; // 0xb78 // MPropertyFriendlyName "break comparison control point 1" - int32_t m_nBreakControlPointNumber; // 0xcb0 + int32_t m_nBreakControlPointNumber; // 0xcb0 // MPropertyFriendlyName "break comparison control point 2" - int32_t m_nBreakControlPointNumber2; // 0xcb4 + int32_t m_nBreakControlPointNumber2; // 0xcb4 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0xcb8 + CPerParticleFloatInput m_flInterpolation; // 0xcb8 }; // Alignment: 6 // Size: 0x210 -class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPoint; // 0x1f4 + int32_t m_nScaleControlPoint; // 0x1f4 // MPropertyFriendlyName "scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleCPField; // 0x1f8 + int32_t m_nScaleCPField; // 0x1f8 // MPropertyFriendlyName "cache attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1fc + ParticleAttributeIndex_t m_nFieldInput; // 0x1fc // MPropertyFriendlyName "attribute to write to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x200 + ParticleAttributeIndex_t m_nFieldOutput; // 0x200 // MPropertyFriendlyName "local space" - bool m_bOffsetLocal; // 0x204 + bool m_bOffsetLocal; // 0x204 }; // Alignment: 5 // Size: 0xa40 -class C_OP_LerpToInitialPosition : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LerpToInitialPosition : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f8 + CPerParticleFloatInput m_flInterpolation; // 0x1f8 // MPropertyFriendlyName "position cache attribute" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nCacheField; // 0x330 + ParticleAttributeIndex_t m_nCacheField; // 0x330 +private: + [[maybe_unused]] uint8_t __pad0334[0x4]; // 0x334 +public: // MPropertyFriendlyName "scale" - CParticleCollectionFloatInput m_flScale; // 0x338 + CParticleCollectionFloatInput m_flScale; // 0x338 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x470 + CParticleCollectionVecInput m_vecScale; // 0x470 }; // Alignment: 13 // Size: 0x810 -class C_OP_DistanceBetweenTransforms : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DistanceBetweenTransforms : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x1f8 + CParticleTransformInput m_TransformStart; // 0x1f8 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x248 + CParticleTransformInput m_TransformEnd; // 0x248 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x298 + CPerParticleFloatInput m_flInputMin; // 0x298 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x3d0 + CPerParticleFloatInput m_flInputMax; // 0x3d0 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x508 + CPerParticleFloatInput m_flOutputMin; // 0x508 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x640 + CPerParticleFloatInput m_flOutputMax; // 0x640 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x778 + float m_flMaxTraceLength; // 0x778 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x77c + float m_flLOSScale; // 0x77c // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x780 + char m_CollisionGroupName[128]; // 0x780 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x800 + ParticleTraceSet_t m_nTraceSet; // 0x800 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x804 + bool m_bLOS; // 0x804 +private: + [[maybe_unused]] uint8_t __pad0805[0x3]; // 0x805 +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x808 + ParticleSetMethod_t m_nSetMethod; // 0x808 }; // Alignment: 10 // Size: 0x2b0 -class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x1f4 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x1f8 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x1fc // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 +public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x208 + CParticleTransformInput m_TransformStart; // 0x208 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x258 + CParticleTransformInput m_TransformEnd; // 0x258 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2a8 + ParticleSetMethod_t m_nSetMethod; // 0x2a8 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2ac + bool m_bActiveRange; // 0x2ac // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2ad + bool m_bRadialCheck; // 0x2ad }; // Alignment: 10 // Size: 0x2c0 -class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x1f4 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x1f8 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1fc + Vector m_vecOutputMin; // 0x1fc // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x208 + Vector m_vecOutputMax; // 0x208 +private: + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 +public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x218 + CParticleTransformInput m_TransformStart; // 0x218 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x268 + CParticleTransformInput m_TransformEnd; // 0x268 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2b8 + ParticleSetMethod_t m_nSetMethod; // 0x2b8 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2bc + bool m_bActiveRange; // 0x2bc // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2bd + bool m_bRadialCheck; // 0x2bd }; // Alignment: 12 // Size: 0x2c0 -class C_OP_PercentageBetweenTransformLerpCPs : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PercentageBetweenTransformLerpCPs : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x1f4 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x200 + CParticleTransformInput m_TransformStart; // 0x200 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x250 + CParticleTransformInput m_TransformEnd; // 0x250 // MPropertyFriendlyName "output starting control point number" - int32_t m_nOutputStartCP; // 0x2a0 + int32_t m_nOutputStartCP; // 0x2a0 // MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z" - int32_t m_nOutputStartField; // 0x2a4 + int32_t m_nOutputStartField; // 0x2a4 // MPropertyFriendlyName "output ending control point number" - int32_t m_nOutputEndCP; // 0x2a8 + int32_t m_nOutputEndCP; // 0x2a8 // MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z" - int32_t m_nOutputEndField; // 0x2ac + int32_t m_nOutputEndField; // 0x2ac // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2b0 + ParticleSetMethod_t m_nSetMethod; // 0x2b0 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2b4 + bool m_bActiveRange; // 0x2b4 // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2b5 + bool m_bRadialCheck; // 0x2b5 }; // Alignment: 9 // Size: 0x1270 -class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1f8 + CPerParticleVecInput m_vecPoint1; // 0x1f8 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7c0 + CPerParticleVecInput m_vecPoint2; // 0x7c0 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0xd88 + CPerParticleFloatInput m_flInputMin; // 0xd88 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0xec0 + CPerParticleFloatInput m_flInputMax; // 0xec0 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0xff8 + CPerParticleFloatInput m_flOutputMin; // 0xff8 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x1130 + CPerParticleFloatInput m_flOutputMax; // 0x1130 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1268 + ParticleSetMethod_t m_nSetMethod; // 0x1268 // MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)" - bool m_bDeltaTime; // 0x126c + bool m_bDeltaTime; // 0x126c }; // Alignment: 3 // Size: 0xd90 -class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1f8 + CPerParticleVecInput m_vecPoint1; // 0x1f8 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7c0 + CPerParticleVecInput m_vecPoint2; // 0x7c0 }; // Alignment: 15 // Size: 0xd90 -class C_OP_DistanceToTransform : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DistanceToTransform : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x1f8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x330 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x468 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5a0 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformStart; // 0x6d8 + CParticleTransformInput m_TransformStart; // 0x6d8 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x728 + bool m_bLOS; // 0x728 // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x729 + char m_CollisionGroupName[128]; // 0x729 +private: + [[maybe_unused]] uint8_t __pad07a9[0x3]; // 0x7a9 +public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x7ac + ParticleTraceSet_t m_nTraceSet; // 0x7ac // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x7b0 + float m_flMaxTraceLength; // 0x7b0 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x7b4 + float m_flLOSScale; // 0x7b4 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7b8 + ParticleSetMethod_t m_nSetMethod; // 0x7b8 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x7bc + bool m_bActiveRange; // 0x7bc // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x7bd + bool m_bAdditive; // 0x7bd +private: + [[maybe_unused]] uint8_t __pad07be[0x2]; // 0x7be +public: // MPropertyFriendlyName "component scale" - CPerParticleVecInput m_vecComponentScale; // 0x7c0 + CPerParticleVecInput m_vecComponentScale; // 0x7c0 }; // Alignment: 11 // Size: 0x780 -class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "cylinder inner radius" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x1f8 // MPropertyFriendlyName "cylinder outer radius" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x330 // MPropertyFriendlyName "cylinder inner output" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x468 // MPropertyFriendlyName "cylinder outer output" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5a0 // MPropertyFriendlyName "cylindrical top transform" - CParticleTransformInput m_TransformStart; // 0x6d8 + CParticleTransformInput m_TransformStart; // 0x6d8 // MPropertyFriendlyName "cylindrical bottom transform" - CParticleTransformInput m_TransformEnd; // 0x728 + CParticleTransformInput m_TransformEnd; // 0x728 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x778 + ParticleSetMethod_t m_nSetMethod; // 0x778 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x77c + bool m_bActiveRange; // 0x77c // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x77d + bool m_bAdditive; // 0x77d // MPropertyFriendlyName "apply radius to ends (capsule)" - bool m_bCapsule; // 0x77e + bool m_bCapsule; // 0x77e }; // Alignment: 7 // Size: 0x2a0 -class C_OP_RtEnvCull : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RtEnvCull : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1f0 + Vector m_vecTestDir; // 0x1f0 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1fc + Vector m_vecTestNormal; // 0x1fc // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x208 + bool m_bCullOnMiss; // 0x208 // MPropertyFriendlyName "stick instead of cull" - bool m_bStickInsteadOfCull; // 0x209 + bool m_bStickInsteadOfCull; // 0x209 // MPropertyFriendlyName "ray trace environment name" - char[128] m_RtEnvName; // 0x20a + char m_RtEnvName[128]; // 0x20a +private: + [[maybe_unused]] uint8_t __pad028a[0x2]; // 0x28a +public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x28c + int32_t m_nRTEnvCP; // 0x28c // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x290 + int32_t m_nComponent; // 0x290 }; // Alignment: 4 // Size: 0x900 -class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "distance maximum" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x1f8 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x330 + CParticleCollectionVecInput m_vecScale; // 0x330 // MPropertyFriendlyName "distance squared output attribute" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDistSqrAttr; // 0x8f8 + ParticleAttributeIndex_t m_nDistSqrAttr; // 0x8f8 }; // Alignment: 8 // Size: 0x3d0 -class C_OP_MoveToHitbox : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MoveToHitbox : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "lifetime lerp start" - float m_flLifeTimeLerpStart; // 0x1f8 + float m_flLifeTimeLerpStart; // 0x1f8 // MPropertyFriendlyName "lifetime lerp end" - float m_flLifeTimeLerpEnd; // 0x1fc + float m_flLifeTimeLerpEnd; // 0x1fc // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x200 + float m_flPrevPosScale; // 0x200 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x204 + char m_HitboxSetName[128]; // 0x204 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x284 + bool m_bUseBones; // 0x284 +private: + [[maybe_unused]] uint8_t __pad0285[0x3]; // 0x285 +public: // MPropertyFriendlyName "lerp type" - HitboxLerpType_t m_nLerpType; // 0x288 + HitboxLerpType_t m_nLerpType; // 0x288 +private: + [[maybe_unused]] uint8_t __pad028c[0x4]; // 0x28c +public: // MPropertyFriendlyName "Constant Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x290 + CPerParticleFloatInput m_flInterpolation; // 0x290 }; // Alignment: 14 // Size: 0x9a0 -class C_OP_LockToBone : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LockToBone : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control_point_number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1f4 + float m_flLifeTimeFadeStart; // 0x1f4 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1f8 + float m_flLifeTimeFadeEnd; // 0x1f8 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x1fc + float m_flJumpThreshold; // 0x1fc // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x200 + float m_flPrevPosScale; // 0x200 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x204 + char m_HitboxSetName[128]; // 0x204 // MPropertyFriendlyName "rigid lock" - bool m_bRigid; // 0x284 + bool m_bRigid; // 0x284 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x285 + bool m_bUseBones; // 0x285 +private: + [[maybe_unused]] uint8_t __pad0286[0x2]; // 0x286 +public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x288 + ParticleAttributeIndex_t m_nFieldOutput; // 0x288 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x28c + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x28c // MPropertyStartGroup "Set Rotations to Bones" // MPropertyFriendlyName "lock rotations to bone orientation" - ParticleRotationLockType_t m_nRotationSetType; // 0x290 + ParticleRotationLockType_t m_nRotationSetType; // 0x290 // MPropertyFriendlyName "rigid set rotation from bones" - bool m_bRigidRotationLock; // 0x294 + bool m_bRigidRotationLock; // 0x294 +private: + [[maybe_unused]] uint8_t __pad0295[0x3]; // 0x295 +public: // MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll" - CPerParticleVecInput m_vecRotation; // 0x298 + CPerParticleVecInput m_vecRotation; // 0x298 // MPropertyFriendlyName "rigid rotation interpolation" - CPerParticleFloatInput m_flRotLerp; // 0x860 + CPerParticleFloatInput m_flRotLerp; // 0x860 }; // Alignment: 3 // Size: 0x200 -class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1f0 + bool m_bTransformNormals; // 0x1f0 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1f1 + bool m_bTransformRadii; // 0x1f1 +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x1f4 }; // Alignment: 7 // Size: 0x210 -class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1f0 + bool m_bTransformNormals; // 0x1f0 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1f1 + bool m_bTransformRadii; // 0x1f1 +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x1f4 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1f8 + float m_flLifeTimeFadeStart; // 0x1f8 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1fc + float m_flLifeTimeFadeEnd; // 0x1fc // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x200 + float m_flJumpThreshold; // 0x200 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x204 + float m_flPrevPosScale; // 0x204 }; // Alignment: 11 // Size: 0x220 -class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f0 + float m_flInputMin; // 0x1f0 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f4 + float m_flInputMax; // 0x1f4 // MPropertyFriendlyName "percentage bias" - float m_flInputBias; // 0x1f8 + float m_flInputBias; // 0x1f8 // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x1fc + int32_t m_nStartCP; // 0x1fc // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x200 + int32_t m_nEndCP; // 0x200 // MPropertyFriendlyName "offset control point" - int32_t m_nOffsetCP; // 0x204 + int32_t m_nOffsetCP; // 0x204 // MPropertyFriendlyName "output control point" - int32_t m_nOuputCP; // 0x208 + int32_t m_nOuputCP; // 0x208 // MPropertyFriendlyName "input control point" - int32_t m_nInputCP; // 0x20c + int32_t m_nInputCP; // 0x20c // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x210 + bool m_bRadialCheck; // 0x210 // MPropertyFriendlyName "treat offset as scale of total distance" - bool m_bScaleOffset; // 0x211 + bool m_bScaleOffset; // 0x211 +private: + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 +public: // MPropertyFriendlyName "offset amount" // MVectorIsCoordinate - Vector m_vecOffset; // 0x214 + Vector m_vecOffset; // 0x214 }; // Alignment: 4 // Size: 0x210 -class C_OP_PlaneCull : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PlaneCull : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point for point on plane" - int32_t m_nPlaneControlPoint; // 0x1f0 + int32_t m_nPlaneControlPoint; // 0x1f0 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneDirection; // 0x1f4 + Vector m_vecPlaneDirection; // 0x1f4 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x200 + bool m_bLocalSpace; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 +public: // MPropertyFriendlyName "cull plane offset" - float m_flPlaneOffset; // 0x204 + float m_flPlaneOffset; // 0x204 }; // Alignment: 4 // Size: 0x210 -class C_OP_DistanceCull : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DistanceCull : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x1f0 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecPointOffset; // 0x1f4 + Vector m_vecPointOffset; // 0x1f4 // MPropertyFriendlyName "cull distance" - float m_flDistance; // 0x200 + float m_flDistance; // 0x200 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x204 + bool m_bCullInside; // 0x204 }; // Alignment: 5 // Size: 0x280 -class C_OP_ModelCull : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ModelCull : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x1f4 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1f5 + bool m_bCullOutside; // 0x1f5 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x1f6 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x1f7 + char m_HitboxSetName[128]; // 0x1f7 }; // Alignment: 7 // Size: 0x850 -class C_OP_ModelDampenMovement : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ModelDampenMovement : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x1f4 // MPropertyFriendlyName "dampen outside instead of inside" - bool m_bOutside; // 0x1f5 + bool m_bOutside; // 0x1f5 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x1f6 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x1f7 + char m_HitboxSetName[128]; // 0x1f7 +private: + [[maybe_unused]] uint8_t __pad0277[0x1]; // 0x277 +public: // MPropertyFriendlyName "test position offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecPosOffset; // 0x278 + CPerParticleVecInput m_vecPosOffset; // 0x278 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x840 + float m_fDrag; // 0x840 }; // Alignment: 8 // Size: 0x210 -class C_OP_SequenceFromModel : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SequenceFromModel : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x1fc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x200 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x204 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x208 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x20c }; // Alignment: 3 // Size: 0x200 -class C_OP_VelocityMatchingForce : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_VelocityMatchingForce : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "direction matching strength" - float m_flDirScale; // 0x1f0 + float m_flDirScale; // 0x1f0 // MPropertyFriendlyName "speed matching strength" - float m_flSpdScale; // 0x1f4 + float m_flSpdScale; // 0x1f4 // MPropertyFriendlyName "control point to broadcast speed and direction to" - int32_t m_nCPBroadcast; // 0x1f8 + int32_t m_nCPBroadcast; // 0x1f8 }; // Alignment: 3 // Size: 0x210 -class C_OP_MovementMaintainOffset : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementMaintainOffset : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "desired offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1f0 + Vector m_vecOffset; // 0x1f0 // MPropertyFriendlyName "local space CP" - int32_t m_nCP; // 0x1fc + int32_t m_nCP; // 0x1fc // MPropertyFriendlyName "scale by radius" - bool m_bRadiusScale; // 0x200 + bool m_bRadiusScale; // 0x200 }; // Alignment: 17 // Size: 0x3f0 -class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1f0 + CPerParticleFloatInput m_flOffset; // 0x1f0 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x328 + float m_flMaxTraceLength; // 0x328 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x32c + float m_flTolerance; // 0x32c // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x330 + float m_flTraceOffset; // 0x330 // MPropertyFriendlyName "interpolation rate" - float m_flLerpRate; // 0x334 + float m_flLerpRate; // 0x334 // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x338 + char m_CollisionGroupName[128]; // 0x338 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3b8 + ParticleTraceSet_t m_nTraceSet; // 0x3b8 // MPropertyFriendlyName "reference CP 1" - int32_t m_nRefCP1; // 0x3bc + int32_t m_nRefCP1; // 0x3bc // MPropertyFriendlyName "reference CP 2" - int32_t m_nRefCP2; // 0x3c0 + int32_t m_nRefCP2; // 0x3c0 // MPropertyFriendlyName "interploation distance tolerance cp" - int32_t m_nLerpCP; // 0x3c4 + int32_t m_nLerpCP; // 0x3c4 +private: + [[maybe_unused]] uint8_t __pad03c8[0x8]; // 0x3c8 +public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3d0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3d0 // MPropertyFriendlyName "include default contents trace hulls" - bool m_bIncludeShotHull; // 0x3d4 + bool m_bIncludeShotHull; // 0x3d4 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x3d5 + bool m_bIncludeWater; // 0x3d5 +private: + [[maybe_unused]] uint8_t __pad03d6[0x2]; // 0x3d6 +public: // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x3d8 + bool m_bSetNormal; // 0x3d8 // MPropertyFriendlyName "treat offset as scalar of particle radius" - bool m_bScaleOffset; // 0x3d9 + bool m_bScaleOffset; // 0x3d9 +private: + [[maybe_unused]] uint8_t __pad03da[0x2]; // 0x3da +public: // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x3dc + int32_t m_nPreserveOffsetCP; // 0x3dc // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x3e0 + int32_t m_nIgnoreCP; // 0x3e0 }; // Alignment: 4 // Size: 0x200 -class C_OP_InheritFromParentParticles : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_InheritFromParentParticles : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x1f0 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x1f8 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x1fc }; // Alignment: 5 // Size: 0x210 -class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x1f0 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x1f8 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: // MPropertyFriendlyName "behavior if parent particle dies" - MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x200 + MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x200 }; // Alignment: 5 // Size: 0x470 -class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_DistanceCheck; // 0x200 + CPerParticleFloatInput m_DistanceCheck; // 0x200 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x338 + CPerParticleFloatInput m_flInterpolation; // 0x338 }; // Alignment: 4 // Size: 0x200 -class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 // MPropertyFriendlyName "particle neighbor increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x1f8 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1fc + int32_t m_nGroupID; // 0x1fc }; // Alignment: 3 // Size: 0x200 -class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Input Vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 // MPropertyFriendlyName "Output Scalar" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "Vector Component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1f8 + int32_t m_nComponent; // 0x1f8 }; // Alignment: 3 // Size: 0x200 -class C_OP_OrientTo2dDirection : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_OrientTo2dDirection : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f0 + float m_flRotOffset; // 0x1f0 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1f4 + float m_flSpinStrength; // 0x1f4 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 }; // Alignment: 6 // Size: 0x210 -class C_OP_RestartAfterDuration : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RestartAfterDuration : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "minimum restart time" - float m_flDurationMin; // 0x1f0 + float m_flDurationMin; // 0x1f0 // MPropertyFriendlyName "maximum restart time" - float m_flDurationMax; // 0x1f4 + float m_flDurationMax; // 0x1f4 // MPropertyFriendlyName "control point to scale duration" - int32_t m_nCP; // 0x1f8 + int32_t m_nCP; // 0x1f8 // MPropertyFriendlyName "control point field X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1fc + int32_t m_nCPField; // 0x1fc // MPropertyFriendlyName "child group ID" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x200 // MPropertyFriendlyName "only restart children" - bool m_bOnlyChildren; // 0x204 + bool m_bOnlyChildren; // 0x204 }; // Alignment: 4 // Size: 0x200 -class C_OP_Orient2DRelToCP : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_Orient2DRelToCP : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f0 + float m_flRotOffset; // 0x1f0 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1f4 + float m_flSpinStrength; // 0x1f4 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f8 + int32_t m_nCP; // 0x1f8 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc }; // Alignment: 4 // Size: 0x950 -class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x1f0 + CParticleCollectionVecInput m_vecRotAxis; // 0x1f0 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7b8 + CParticleCollectionFloatInput m_flRotRate; // 0x7b8 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x8f0 + CParticleTransformInput m_TransformInput; // 0x8f0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x940 + bool m_bLocalSpace; // 0x940 }; // Alignment: 7 // Size: 0x350 -class C_OP_RotateVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RotateVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "rotation axis min" // MVectorIsCoordinate - Vector m_vecRotAxisMin; // 0x1f4 + Vector m_vecRotAxisMin; // 0x1f4 // MPropertyFriendlyName "rotation axis max" // MVectorIsCoordinate - Vector m_vecRotAxisMax; // 0x200 + Vector m_vecRotAxisMax; // 0x200 // MPropertyFriendlyName "rotation rate min" - float m_flRotRateMin; // 0x20c + float m_flRotRateMin; // 0x20c // MPropertyFriendlyName "rotation rate max" - float m_flRotRateMax; // 0x210 + float m_flRotRateMax; // 0x210 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x214 + bool m_bNormalize; // 0x214 +private: + [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 +public: // MPropertyFriendlyName "per particle scale" - CPerParticleFloatInput m_flScale; // 0x218 + CPerParticleFloatInput m_flScale; // 0x218 }; // Alignment: 3 // Size: 0x200 -class C_OP_MaxVelocity : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MaxVelocity : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "maximum velocity" - float m_flMaxVelocity; // 0x1f0 + float m_flMaxVelocity; // 0x1f0 // MPropertyFriendlyName "override max velocity from this CP" - int32_t m_nOverrideCP; // 0x1f4 + int32_t m_nOverrideCP; // 0x1f4 // MPropertyFriendlyName "override CP field" - int32_t m_nOverrideCPField; // 0x1f8 + int32_t m_nOverrideCPField; // 0x1f8 }; // Alignment: 4 // Size: 0x200 -class C_OP_LagCompensation : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LagCompensation : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "desired velocity CP" - int32_t m_nDesiredVelocityCP; // 0x1f0 + int32_t m_nDesiredVelocityCP; // 0x1f0 // MPropertyFriendlyName "latency CP" - int32_t m_nLatencyCP; // 0x1f4 + int32_t m_nLatencyCP; // 0x1f4 // MPropertyFriendlyName "latency CP field" - int32_t m_nLatencyCPField; // 0x1f8 + int32_t m_nLatencyCPField; // 0x1f8 // MPropertyFriendlyName "desired velocity CP field override(for speed only)" - int32_t m_nDesiredVelocityCPField; // 0x1fc + int32_t m_nDesiredVelocityCPField; // 0x1fc }; // Alignment: 7 // Size: 0x250 -class C_OP_MaintainSequentialPath : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MaintainSequentialPath : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x1f0 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1f4 + float m_flNumToAssign; // 0x1f4 // MPropertyFriendlyName "cohesion strength" - float m_flCohesionStrength; // 0x1f8 + float m_flCohesionStrength; // 0x1f8 // MPropertyFriendlyName "control point movement tolerance" - float m_flTolerance; // 0x1fc + float m_flTolerance; // 0x1fc // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x200 + bool m_bLoop; // 0x200 // MPropertyFriendlyName "use existing particle count" - bool m_bUseParticleCount; // 0x201 - CPathParameters m_PathParams; // 0x210 + bool m_bUseParticleCount; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0xe]; // 0x202 +public: + CPathParameters m_PathParams; // 0x210 }; // Alignment: 4 // Size: 0x240 -class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1f0 + float m_flFadeStart; // 0x1f0 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1f4 + float m_flFadeEnd; // 0x1f4 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1f8 - CPathParameters m_PathParams; // 0x200 + bool m_bCPPairs; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01f9[0x7]; // 0x1f9 +public: + CPathParameters m_PathParams; // 0x200 }; // Alignment: 4 // Size: 0x240 -class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1f4 + float m_flFadeStart; // 0x1f4 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1f8 + float m_flFadeEnd; // 0x1f8 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1fc - CPathParameters m_PathParams; // 0x200 + bool m_bCPPairs; // 0x1fc +private: + [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd +public: + CPathParameters m_PathParams; // 0x200 }; // Alignment: 11 // Size: 0x220 -class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x1f0 + int32_t m_nInputCP1; // 0x1f0 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x1f4 + int32_t m_nInputCP2; // 0x1f4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 // MPropertyFriendlyName "input minimum (-1 to 1)" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x1fc // MPropertyFriendlyName "input maximum (-1 to 1)" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x200 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x204 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x208 // MPropertyFriendlyName "use particle velocity for first input" - bool m_bUseParticleVelocity; // 0x20c + bool m_bUseParticleVelocity; // 0x20c +private: + [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x210 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x214 + bool m_bActiveRange; // 0x214 // MPropertyFriendlyName "use particle normal for first input" - bool m_bUseParticleNormal; // 0x215 + bool m_bUseParticleNormal; // 0x215 }; // Alignment: 11 // Size: 0x220 -class C_OP_RemapCPtoScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapCPtoScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1f8 + int32_t m_nField; // 0x1f8 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x1fc // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x200 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x204 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x208 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x20c + float m_flStartTime; // 0x20c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x210 + float m_flEndTime; // 0x210 // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x214 + float m_flInterpRate; // 0x214 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x218 + ParticleSetMethod_t m_nSetMethod; // 0x218 }; // Alignment: 1 // Size: 0x200 -class C_OP_NormalLock : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_NormalLock : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 }; // Alignment: 13 // Size: 0x240 -class C_OP_RemapCPtoVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapCPtoVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "local space CP" - int32_t m_nLocalSpaceCP; // 0x1f8 + int32_t m_nLocalSpaceCP; // 0x1f8 // MPropertyFriendlyName "input minimum" // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1fc + Vector m_vInputMin; // 0x1fc // MPropertyFriendlyName "input maximum" // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x208 + Vector m_vInputMax; // 0x208 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x214 + Vector m_vOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x220 + Vector m_vOutputMax; // 0x220 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x22c + float m_flStartTime; // 0x22c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x230 + float m_flEndTime; // 0x230 // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x234 + float m_flInterpRate; // 0x234 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x238 + ParticleSetMethod_t m_nSetMethod; // 0x238 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x23c + bool m_bOffset; // 0x23c // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x23d + bool m_bAccelerate; // 0x23d }; // Alignment: 2 // Size: 0x200 -class C_OP_SetCPtoVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetCPtoVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 }; // Alignment: 1 // Size: 0x240 -class C_OP_RemapTransformToVelocity : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapTransformToVelocity : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 }; // Alignment: 3 // Size: 0x200 -class C_OP_RemapVelocityToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapVelocityToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x1f4 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1f8 + bool m_bNormalize; // 0x1f8 }; // Alignment: 4 // Size: 0x200 -class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f8 + float m_flScale; // 0x1f8 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1fc + bool m_bNormalize; // 0x1fc }; // Alignment: 2 // Size: 0x200 -class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input control point" - int32_t m_nInputControlPoint; // 0x1f0 + int32_t m_nInputControlPoint; // 0x1f0 // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x1f4 + int32_t m_nOutputControlPoint; // 0x1f4 }; // Alignment: 7 // Size: 0x220 -class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f8 + float m_flScale; // 0x1f8 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1fc + float m_flOffsetRot; // 0x1fc // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x200 + Vector m_vecOffsetAxis; // 0x200 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x20c + bool m_bNormalize; // 0x20c +private: + [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d +public: // MPropertyFriendlyName "strength field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldStrength; // 0x210 + ParticleAttributeIndex_t m_nFieldStrength; // 0x210 }; // Alignment: 4 // Size: 0xd90 -class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "input vector 1" - CPerParticleVecInput m_InputVec1; // 0x1f0 + CPerParticleVecInput m_InputVec1; // 0x1f0 // MPropertyFriendlyName "input vector 2" - CPerParticleVecInput m_InputVec2; // 0x7b8 + CPerParticleVecInput m_InputVec2; // 0x7b8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0xd80 + ParticleAttributeIndex_t m_nFieldOutput; // 0xd80 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0xd84 + bool m_bNormalize; // 0xd84 }; // Alignment: 2 // Size: 0x200 -class C_OP_NormalizeVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_NormalizeVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x1f4 }; // Alignment: 3 // Size: 0x200 -class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x1f4 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x1f8 }; // Alignment: 9 // Size: 0x2a0 -class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "interpolation rate" - float m_flInterpRate; // 0x1f0 + float m_flInterpRate; // 0x1f0 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x1f4 + float m_flMaxTraceLength; // 0x1f4 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x1f8 + float m_flTolerance; // 0x1f8 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1fc + float m_flTraceOffset; // 0x1fc // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x200 + char m_CollisionGroupName[128]; // 0x200 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x280 + ParticleTraceSet_t m_nTraceSet; // 0x280 // MPropertyFriendlyName "CP to trace from" - int32_t m_nInputCP; // 0x284 + int32_t m_nInputCP; // 0x284 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x288 + int32_t m_nOutputCP; // 0x288 +private: + [[maybe_unused]] uint8_t __pad028c[0xc]; // 0x28c +public: // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x298 + bool m_bIncludeWater; // 0x298 }; // Alignment: 4 // Size: 0x250 -class C_OP_RemapTransformOrientationToRotations : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapTransformOrientationToRotations : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x1f0 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x240 + Vector m_vecRotation; // 0x240 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x24c + bool m_bUseQuat; // 0x24c // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x24d + bool m_bWriteNormal; // 0x24d }; // Alignment: 4 // Size: 0x200 -class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x1f0 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1f8 + float m_flOffsetRot; // 0x1f8 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1fc + int32_t m_nComponent; // 0x1fc }; // Alignment: 5 // Size: 0x220 -class C_OP_LockToPointList : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LockToPointList : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 + CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x210 + bool m_bPlaceAlongPath; // 0x210 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x211 + bool m_bClosedLoop; // 0x211 +private: + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 +public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x214 + int32_t m_nNumPointsAlongPath; // 0x214 }; // Alignment: 9 // Size: 0x250 -class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator +{ public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1f8 + CUtlVector< CUtlString > m_inNames; // 0x1f8 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x210 + CUtlVector< CUtlString > m_outNames; // 0x210 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x228 + CUtlVector< CUtlString > m_fallbackNames; // 0x228 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x240 + bool m_bModelFromRenderer; // 0x240 // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x241 + bool m_bProportional; // 0x241 +private: + [[maybe_unused]] uint8_t __pad0242[0x2]; // 0x242 +public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x244 + ParticleAttributeIndex_t m_nFieldInput; // 0x244 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x248 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x24c + float m_flRemapTime; // 0x24c }; // Alignment: 0 // Size: 0x250 -class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed +{ public: // no members available }; // Alignment: 0 // Size: 0x250 -class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed +{ public: // no members available }; // Alignment: 0 // Size: 0x250 -class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed +{ public: // no members available }; // Alignment: 7 // Size: 0x250 -class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator +{ public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1f8 + CUtlVector< CUtlString > m_inNames; // 0x1f8 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x210 + CUtlVector< CUtlString > m_outNames; // 0x210 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x228 + CUtlVector< CUtlString > m_fallbackNames; // 0x228 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x240 + bool m_bModelFromRenderer; // 0x240 +private: + [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 +public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x244 + ParticleAttributeIndex_t m_nFieldInput; // 0x244 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x248 }; // Alignment: 0 // Size: 0x250 -class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap +{ public: // no members available }; // Alignment: 0 // Size: 0x250 -class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap +{ public: // no members available }; // Alignment: 0 // Size: 0x250 -class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap +{ public: // no members available }; // Alignment: 11 // Size: 0x5c0 -class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1fc + int32_t m_nLocalSpaceCP; // 0x1fc // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x200 + bool m_bRandom; // 0x200 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x201 + bool m_bReverse; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x204 + int32_t m_nRandomSeed; // 0x204 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x208 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x208 // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x340 + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x340 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x478 + CPerParticleFloatInput m_flInterpolation; // 0x478 // MPropertyFriendlyName "Sub-Sample Between Input Points" - bool m_bSubSample; // 0x5b0 + bool m_bSubSample; // 0x5b0 }; // Alignment: 9 // Size: 0x910 -class C_OP_VectorFieldSnapshot : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_VectorFieldSnapshot : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "extra velocity field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f4 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1f8 + int32_t m_nLocalSpaceCP; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc +public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x200 + CPerParticleFloatInput m_flInterpolation; // 0x200 // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x338 + CPerParticleVecInput m_vecScale; // 0x338 // MPropertyFriendlyName "Boundary Dampening" - float m_flBoundaryDampening; // 0x900 + float m_flBoundaryDampening; // 0x900 // MPropertyFriendlyName "Set Velocity" - bool m_bSetVelocity; // 0x904 + bool m_bSetVelocity; // 0x904 // MPropertyFriendlyName "Lock to Surface" - bool m_bLockToSurface; // 0x905 + bool m_bLockToSurface; // 0x905 +private: + [[maybe_unused]] uint8_t __pad0906[0x2]; // 0x906 +public: // MPropertyFriendlyName "Vector Field Grid Spacing Override" - float m_flGridSpacing; // 0x908 + float m_flGridSpacing; // 0x908 }; // Alignment: 5 // Size: 0x490 -class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x1f0 + ScalarExpressionType_t m_nExpression; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "input 1" - CPerParticleFloatInput m_flInput1; // 0x1f8 + CPerParticleFloatInput m_flInput1; // 0x1f8 // MPropertyFriendlyName "input 2" - CPerParticleFloatInput m_flInput2; // 0x330 + CPerParticleFloatInput m_flInput2; // 0x330 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x468 + ParticleAttributeIndex_t m_nOutputField; // 0x468 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x46c + ParticleSetMethod_t m_nSetMethod; // 0x46c }; // Alignment: 6 // Size: 0xe00 -class C_OP_SetVectorAttributeToVectorExpression : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetVectorAttributeToVectorExpression : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1f0 + VectorExpressionType_t m_nExpression; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x1f8 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x7c0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xd88 + ParticleAttributeIndex_t m_nOutputField; // 0xd88 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd8c + ParticleSetMethod_t m_nSetMethod; // 0xd8c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd90 + bool m_bNormalizedOutput; // 0xd90 }; // Alignment: 6 // Size: 0xed0 -class C_OP_SetFloatAttributeToVectorExpression : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetFloatAttributeToVectorExpression : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x1f0 + VectorFloatExpressionType_t m_nExpression; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 +public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x1f8 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x7c0 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xd88 + CParticleRemapFloatInput m_flOutputRemap; // 0xd88 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0xec0 + ParticleAttributeIndex_t m_nOutputField; // 0xec0 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xec4 + ParticleSetMethod_t m_nSetMethod; // 0xec4 }; // Alignment: 10 // Size: 0x6f0 -class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f0 + int32_t m_nSnapshotControlPointNumber; // 0x1f0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x1f4 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1f8 + bool m_bRandom; // 0x1f8 +private: + [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x1fc // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x200 + bool m_bSetNormal; // 0x200 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x201 + bool m_bSetRadius; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0x6]; // 0x202 +public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_flIncrement; // 0x208 + CParticleCollectionFloatInput m_flIncrement; // 0x208 // MPropertyFriendlyName "Full Loop Increment Amount" - CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x340 + CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x340 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x478 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x478 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x5b0 + CPerParticleFloatInput m_flInterpolation; // 0x5b0 }; // Alignment: 6 // Size: 0x470 -class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x1f0 // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f4 + int32_t m_nSnapshotControlPointNumber; // 0x1f4 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x1f8 + bool m_bSetNormal; // 0x1f8 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x1f9 + bool m_bSetRadius; // 0x1f9 +private: + [[maybe_unused]] uint8_t __pad01fa[0x6]; // 0x1fa +public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x200 + CPerParticleFloatInput m_flInterpolation; // 0x200 // MPropertyFriendlyName "Snapshot Index T Value" - CPerParticleFloatInput m_flTValue; // 0x338 + CPerParticleFloatInput m_flTValue; // 0x338 }; // Alignment: 2 // Size: 0x350 -class C_OP_QuantizeFloat : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_QuantizeFloat : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x328 }; // Alignment: 4 // Size: 0x490 -class C_OP_SetFloatCollection : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetFloatCollection : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1f0 + CParticleCollectionFloatInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x328 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x32c // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_Lerp; // 0x330 + CParticleCollectionFloatInput m_Lerp; // 0x330 }; // Alignment: 4 // Size: 0x490 -class C_OP_SetFloat : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetFloat : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x328 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x32c // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x330 + CPerParticleFloatInput m_Lerp; // 0x330 }; // Alignment: 5 // Size: 0x900 -class C_OP_SetVec : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetVec : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1f0 + CPerParticleVecInput m_InputValue; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x7b8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7bc + ParticleSetMethod_t m_nSetMethod; // 0x7bc // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x7c0 + CPerParticleFloatInput m_Lerp; // 0x7c0 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x8f8 + bool m_bNormalizedOutput; // 0x8f8 }; // Alignment: 2 // Size: 0x200 -class C_OP_RemapDensityGradientToVectorAttribute : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapDensityGradientToVectorAttribute : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x1f0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 }; // Alignment: 6 // Size: 0x210 -class C_OP_LockPoints : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LockPoints : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "min column/particle index to affect" - int32_t m_nMinCol; // 0x1f0 + int32_t m_nMinCol; // 0x1f0 // MPropertyFriendlyName "max column/particle index to affect" - int32_t m_nMaxCol; // 0x1f4 + int32_t m_nMaxCol; // 0x1f4 // MPropertyFriendlyName "min row/particle index to affect" - int32_t m_nMinRow; // 0x1f8 + int32_t m_nMinRow; // 0x1f8 // MPropertyFriendlyName "max row/particle index to affect" - int32_t m_nMaxRow; // 0x1fc + int32_t m_nMaxRow; // 0x1fc // MPropertyFriendlyName "control point to lock to" - int32_t m_nControlPoint; // 0x200 + int32_t m_nControlPoint; // 0x200 // MPropertyFriendlyName "amount of current position to preserve" - float m_flBlendValue; // 0x204 + float m_flBlendValue; // 0x204 }; // Alignment: 5 // Size: 0x210 -class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point 0" - int32_t m_nCP0; // 0x1f0 + int32_t m_nCP0; // 0x1f0 // MPropertyFriendlyName "control point 1" - int32_t m_nCP1; // 0x1f4 + int32_t m_nCP1; // 0x1f4 // MPropertyFriendlyName "min distance value" - float m_flMinInputValue; // 0x1f8 + float m_flMinInputValue; // 0x1f8 // MPropertyFriendlyName "max distance value" - float m_flMaxInputValue; // 0x1fc + float m_flMaxInputValue; // 0x1fc // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" - bool m_bInfiniteLine; // 0x200 + bool m_bInfiniteLine; // 0x200 }; // Alignment: 3 // Size: 0x220 -class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "output value at min distance" - float m_flMinOutputValue; // 0x214 + float m_flMinOutputValue; // 0x214 // MPropertyFriendlyName "output value at max distance" - float m_flMaxOutputValue; // 0x218 + float m_flMaxOutputValue; // 0x218 }; // Alignment: 3 // Size: 0x230 -class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase +{ public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "output value at min distance" - Vector m_vMinOutputValue; // 0x214 + Vector m_vMinOutputValue; // 0x214 // MPropertyFriendlyName "output value at max distance" - Vector m_vMaxOutputValue; // 0x220 + Vector m_vMaxOutputValue; // 0x220 }; // Alignment: 11 // Size: 0x230 -class C_OP_TeleportBeam : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_TeleportBeam : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "Position Control Point" - int32_t m_nCPPosition; // 0x1f0 + int32_t m_nCPPosition; // 0x1f0 // MPropertyFriendlyName "Velocity Control Point" - int32_t m_nCPVelocity; // 0x1f4 + int32_t m_nCPVelocity; // 0x1f4 // MPropertyFriendlyName "Misc Control Point" - int32_t m_nCPMisc; // 0x1f8 + int32_t m_nCPMisc; // 0x1f8 // MPropertyFriendlyName "Color Control Point" - int32_t m_nCPColor; // 0x1fc + int32_t m_nCPColor; // 0x1fc // MPropertyFriendlyName "Invalid Color Control Point" - int32_t m_nCPInvalidColor; // 0x200 + int32_t m_nCPInvalidColor; // 0x200 // MPropertyFriendlyName "Extra Arc Data Point" - int32_t m_nCPExtraArcData; // 0x204 + int32_t m_nCPExtraArcData; // 0x204 // MPropertyFriendlyName "Gravity" - Vector m_vGravity; // 0x208 + Vector m_vGravity; // 0x208 // MPropertyFriendlyName "Arc Duration Maximum" - float m_flArcMaxDuration; // 0x214 + float m_flArcMaxDuration; // 0x214 // MPropertyFriendlyName "Segment Break" - float m_flSegmentBreak; // 0x218 + float m_flSegmentBreak; // 0x218 // MPropertyFriendlyName "Arc Speed" - float m_flArcSpeed; // 0x21c + float m_flArcSpeed; // 0x21c // MPropertyFriendlyName "Alpha" - float m_flAlpha; // 0x220 + float m_flAlpha; // 0x220 }; // Alignment: 10 // Size: 0x220 -class C_OP_CycleScalar : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_CycleScalar : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "destination scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDestField; // 0x1f0 + ParticleAttributeIndex_t m_nDestField; // 0x1f0 // MPropertyFriendlyName "Value at start of cycle" - float m_flStartValue; // 0x1f4 + float m_flStartValue; // 0x1f4 // MPropertyFriendlyName "Value at end of cycle" - float m_flEndValue; // 0x1f8 + float m_flEndValue; // 0x1f8 // MPropertyFriendlyName "Cycle time" - float m_flCycleTime; // 0x1fc + float m_flCycleTime; // 0x1fc // MPropertyFriendlyName "Do not repeat cycle" - bool m_bDoNotRepeatCycle; // 0x200 + bool m_bDoNotRepeatCycle; // 0x200 // MPropertyFriendlyName "Synchronize particles" - bool m_bSynchronizeParticles; // 0x201 + bool m_bSynchronizeParticles; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 +public: // MPropertyFriendlyName "Scale Start/End Control Point" - int32_t m_nCPScale; // 0x204 + int32_t m_nCPScale; // 0x204 // MPropertyFriendlyName "start scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMin; // 0x208 + int32_t m_nCPFieldMin; // 0x208 // MPropertyFriendlyName "end scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMax; // 0x20c + int32_t m_nCPFieldMax; // 0x20c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x210 }; // Alignment: 11 // Size: 0x250 -class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "start value" - Vector m_vStartValue; // 0x1f0 + Vector m_vStartValue; // 0x1f0 // MPropertyFriendlyName "input field 1" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput1; // 0x1fc + ParticleAttributeIndex_t m_nFieldInput1; // 0x1fc // MPropertyFriendlyName "input scale 1" - float m_flInputScale1; // 0x200 + float m_flInputScale1; // 0x200 // MPropertyFriendlyName "input field 2" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput2; // 0x204 + ParticleAttributeIndex_t m_nFieldInput2; // 0x204 // MPropertyFriendlyName "input scale 2" - float m_flInputScale2; // 0x208 + float m_flInputScale2; // 0x208 // MPropertyFriendlyName "control point input 1" - ControlPointReference_t m_nControlPointInput1; // 0x20c + ControlPointReference_t m_nControlPointInput1; // 0x20c // MPropertyFriendlyName "control point scale 1" - float m_flControlPointScale1; // 0x220 + float m_flControlPointScale1; // 0x220 // MPropertyFriendlyName "control point input 2" - ControlPointReference_t m_nControlPointInput2; // 0x224 + ControlPointReference_t m_nControlPointInput2; // 0x224 // MPropertyFriendlyName "control point scale 2" - float m_flControlPointScale2; // 0x238 + float m_flControlPointScale2; // 0x238 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x23c + ParticleAttributeIndex_t m_nFieldOutput; // 0x23c // MPropertyFriendlyName "final per component scale" - Vector m_vFinalOutputScale; // 0x240 + Vector m_vFinalOutputScale; // 0x240 }; // Alignment: 3 // Size: 0x5a0 -class C_OP_ColorAdjustHSL : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ColorAdjustHSL : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "hue adjust" - CPerParticleFloatInput m_flHueAdjust; // 0x1f0 + CPerParticleFloatInput m_flHueAdjust; // 0x1f0 // MPropertyFriendlyName "saturation adjust" - CPerParticleFloatInput m_flSaturationAdjust; // 0x328 + CPerParticleFloatInput m_flSaturationAdjust; // 0x328 // MPropertyFriendlyName "lightness adjust" - CPerParticleFloatInput m_flLightnessAdjust; // 0x460 + CPerParticleFloatInput m_flLightnessAdjust; // 0x460 }; // Alignment: 2 // Size: 0x200 -class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f0 + int32_t m_nFirstControlPoint; // 0x1f0 // MPropertyFriendlyName "Second Control point to set" - int32_t m_nSecondControlPoint; // 0x1f4 + int32_t m_nSecondControlPoint; // 0x1f4 }; // Alignment: 6 // Size: 0x210 -class C_OP_UpdateLightSource : public CParticleFunctionOperator, CParticleFunction -{ +class C_OP_UpdateLightSource : public CParticleFunctionOperator +{ public: // MPropertyFriendlyName "color tint" - Color m_vColorTint; // 0x1f0 + Color m_vColorTint; // 0x1f0 // MPropertyFriendlyName "amount to multiply light brightness by" - float m_flBrightnessScale; // 0x1f4 + float m_flBrightnessScale; // 0x1f4 // MPropertyFriendlyName "amount to multiply particle system radius by to get light radius" - float m_flRadiusScale; // 0x1f8 + float m_flRadiusScale; // 0x1f8 // MPropertyFriendlyName "minimum radius for created lights" - float m_flMinimumLightingRadius; // 0x1fc + float m_flMinimumLightingRadius; // 0x1fc // MPropertyFriendlyName "maximum radius for created lights" - float m_flMaximumLightingRadius; // 0x200 + float m_flMaximumLightingRadius; // 0x200 // MPropertyFriendlyName "amount of damping of changes" - float m_flPositionDampingConstant; // 0x204 + float m_flPositionDampingConstant; // 0x204 }; // Alignment: 8 // Size: 0x220 -class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x200 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x204 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x208 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x20c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x210 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x218 // MPropertyFriendlyName "use delta of velocity instead of constant speed" - bool m_bUseDeltaV; // 0x21c + bool m_bUseDeltaV; // 0x21c }; // Alignment: 10 // Size: 0xd40 -class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x200 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x204 // MPropertyFriendlyName "Output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c +public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_flInputMin; // 0x210 + CParticleCollectionFloatInput m_flInputMin; // 0x210 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_flInputMax; // 0x348 + CParticleCollectionFloatInput m_flInputMax; // 0x348 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x480 + CParticleCollectionFloatInput m_flOutputMin; // 0x480 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 // MPropertyFriendlyName "intersection height CP" - int32_t m_nHeightControlPointNumber; // 0x6f0 + int32_t m_nHeightControlPointNumber; // 0x6f0 +private: + [[maybe_unused]] uint8_t __pad06f4[0x4]; // 0x6f4 +public: // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x6f8 + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x6f8 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0xcc0 + char m_HitboxSetName[128]; // 0xcc0 }; // Alignment: 8 // Size: 0x6f0 -class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x200 + int32_t m_nInputCP1; // 0x200 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x204 + int32_t m_nInputCP2; // 0x204 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x208 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x20c + int32_t m_nOutVectorField; // 0x20c // MPropertyFriendlyName "input minimum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMin; // 0x210 + CParticleCollectionFloatInput m_flInputMin; // 0x210 // MPropertyFriendlyName "input maximum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMax; // 0x348 + CParticleCollectionFloatInput m_flInputMax; // 0x348 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x480 + CParticleCollectionFloatInput m_flOutputMin; // 0x480 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 }; // Alignment: 6 // Size: 0x5c0 -class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x200 + ScalarExpressionType_t m_nExpression; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 +public: // MPropertyFriendlyName "input 1" - CParticleCollectionFloatInput m_flInput1; // 0x208 + CParticleCollectionFloatInput m_flInput1; // 0x208 // MPropertyFriendlyName "input 2" - CParticleCollectionFloatInput m_flInput2; // 0x340 + CParticleCollectionFloatInput m_flInput2; // 0x340 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0x478 + CParticleRemapFloatInput m_flOutputRemap; // 0x478 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x5b0 + int32_t m_nOutputCP; // 0x5b0 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x5b4 + int32_t m_nOutVectorField; // 0x5b4 }; // Alignment: 6 // Size: 0xee0 -class C_OP_SetControlPointFieldFromVectorExpression : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointFieldFromVectorExpression : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x200 + VectorFloatExpressionType_t m_nExpression; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 +public: // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vecInput1; // 0x208 + CParticleCollectionVecInput m_vecInput1; // 0x208 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vecInput2; // 0x7d0 + CParticleCollectionVecInput m_vecInput2; // 0x7d0 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xd98 + CParticleRemapFloatInput m_flOutputRemap; // 0xd98 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0xed0 + int32_t m_nOutputCP; // 0xed0 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0xed4 + int32_t m_nOutVectorField; // 0xed4 }; // Alignment: 5 // Size: 0xda0 -class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x200 + VectorExpressionType_t m_nExpression; // 0x200 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x204 + int32_t m_nOutputCP; // 0x204 // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vInput1; // 0x208 + CParticleCollectionVecInput m_vInput1; // 0x208 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vInput2; // 0x7d0 + CParticleCollectionVecInput m_vInput2; // 0x7d0 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd98 + bool m_bNormalizedOutput; // 0xd98 }; // Alignment: 7 // Size: 0x220 -class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x200 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x204 // MPropertyFriendlyName "output CP component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x208 // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x20c // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x210 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x218 }; // Alignment: 5 // Size: 0x220 -class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x200 // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x204 + float m_flInputMin; // 0x204 // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x208 + float m_flInputMax; // 0x208 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x20c + float m_flOutputMin; // 0x20c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x210 + float m_flOutputMax; // 0x210 }; // Alignment: 7 // Size: 0x220 -class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x200 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x204 + int32_t m_nOutVectorField; // 0x204 // MPropertyFriendlyName "scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x208 + ParticleAttributeIndex_t m_nField; // 0x208 // MPropertyFriendlyName "input volume minimum" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x20c // MPropertyFriendlyName "input volume maximum" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x210 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x218 }; // Alignment: 3 // Size: 0x220 -class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x200 // MPropertyFriendlyName "ramp rate min" - Vector m_vecRateMin; // 0x204 + Vector m_vecRateMin; // 0x204 // MPropertyFriendlyName "ramp rate max" - Vector m_vecRateMax; // 0x210 + Vector m_vecRateMax; // 0x210 }; // Alignment: 5 // Size: 0x220 -class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x200 // MPropertyFriendlyName "control point to set" - int32_t m_nChildControlPoint; // 0x204 + int32_t m_nChildControlPoint; // 0x204 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x208 + int32_t m_nNumControlPoints; // 0x208 // MPropertyFriendlyName "first parent control point to set from" - int32_t m_nFirstSourcePoint; // 0x20c + int32_t m_nFirstSourcePoint; // 0x20c // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x210 + bool m_bSetOrientation; // 0x210 }; // Alignment: 12 // Size: 0x250 -class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x200 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x201 + bool m_bOrient; // 0x201 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x202 + bool m_bSetOnce; // 0x202 +private: + [[maybe_unused]] uint8_t __pad0203[0x1]; // 0x203 +public: // MPropertyFriendlyName "first control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x204 // MPropertyFriendlyName "second control point number" - int32_t m_nCP2; // 0x208 + int32_t m_nCP2; // 0x208 // MPropertyFriendlyName "third control point number" - int32_t m_nCP3; // 0x20c + int32_t m_nCP3; // 0x20c // MPropertyFriendlyName "fourth control point number" - int32_t m_nCP4; // 0x210 + int32_t m_nCP4; // 0x210 // MPropertyFriendlyName "first control point location" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x214 + Vector m_vecCP1Pos; // 0x214 // MPropertyFriendlyName "second control point location" // MVectorIsCoordinate - Vector m_vecCP2Pos; // 0x220 + Vector m_vecCP2Pos; // 0x220 // MPropertyFriendlyName "third control point location" // MVectorIsCoordinate - Vector m_vecCP3Pos; // 0x22c + Vector m_vecCP3Pos; // 0x22c // MPropertyFriendlyName "fourth control point location" // MVectorIsCoordinate - Vector m_vecCP4Pos; // 0x238 + Vector m_vecCP4Pos; // 0x238 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x244 + int32_t m_nHeadLocation; // 0x244 }; // Alignment: 5 // Size: 0x7e0 -class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x200 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x201 + bool m_bSetOnce; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 +public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x204 // MPropertyFriendlyName "control point location" - CParticleCollectionVecInput m_vecCP1Pos; // 0x208 + CParticleCollectionVecInput m_vecCP1Pos; // 0x208 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x7d0 + int32_t m_nHeadLocation; // 0x7d0 }; // Alignment: 4 // Size: 0x350 -class C_OP_SetControlPointPositionToRandomActiveCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointPositionToRandomActiveCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x200 // MPropertyFriendlyName "min active CP" - int32_t m_nHeadLocationMin; // 0x204 + int32_t m_nHeadLocationMin; // 0x204 // MPropertyFriendlyName "max active CP" - int32_t m_nHeadLocationMax; // 0x208 + int32_t m_nHeadLocationMax; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c +public: // MPropertyFriendlyName "reset rate" - CParticleCollectionFloatInput m_flResetRate; // 0x210 + CParticleCollectionFloatInput m_flResetRate; // 0x210 }; // Alignment: 8 // Size: 0x4a0 -class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x200 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x201 + bool m_bOrient; // 0x201 +private: + [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 +public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x204 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x208 + int32_t m_nHeadLocation; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c +public: // MPropertyFriendlyName "re-randomize rate (-1 for once only)" - CParticleCollectionFloatInput m_flReRandomRate; // 0x210 + CParticleCollectionFloatInput m_flReRandomRate; // 0x210 // MPropertyFriendlyName "control point min" - Vector m_vecCPMinPos; // 0x348 + Vector m_vecCPMinPos; // 0x348 // MPropertyFriendlyName "control point max" - Vector m_vecCPMaxPos; // 0x354 + Vector m_vecCPMaxPos; // 0x354 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x360 + CParticleCollectionFloatInput m_flInterpolation; // 0x360 }; // Alignment: 8 // Size: 0x360 -class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "set orientation in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0201[0x1]; // 0x201 +public: // MPropertyFriendlyName "randomize" - bool m_bRandomize; // 0x202 + bool m_bRandomize; // 0x202 // MPropertyFriendlyName "only set orientation once" - bool m_bSetOnce; // 0x203 + bool m_bSetOnce; // 0x203 // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x204 + int32_t m_nCP; // 0x204 // MPropertyFriendlyName "control point to offset orientation from" - int32_t m_nHeadLocation; // 0x208 + int32_t m_nHeadLocation; // 0x208 // MPropertyFriendlyName "pitch yaw roll" - QAngle m_vecRotation; // 0x20c + QAngle m_vecRotation; // 0x20c // MPropertyFriendlyName "pitch yaw roll max" - QAngle m_vecRotationB; // 0x218 + QAngle m_vecRotationB; // 0x218 +private: + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 +public: // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x228 + CParticleCollectionFloatInput m_flInterpolation; // 0x228 }; // Alignment: 2 // Size: 0x210 -class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x200 // MPropertyFriendlyName "output control point number" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x204 }; // Alignment: 15 // Size: 0x2c0 -class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x200 + int32_t m_nStartCP; // 0x200 // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x204 + int32_t m_nEndCP; // 0x204 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x208 // MPropertyFriendlyName "output control point field" - int32_t m_nOutputCPField; // 0x20c + int32_t m_nOutputCPField; // 0x20c // MPropertyFriendlyName "only set distance once" - bool m_bSetOnce; // 0x210 + bool m_bSetOnce; // 0x210 +private: + [[maybe_unused]] uint8_t __pad0211[0x3]; // 0x211 +public: // MPropertyFriendlyName "distance minimum" - float m_flInputMin; // 0x214 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "distance maximum" - float m_flInputMax; // 0x218 + float m_flInputMax; // 0x218 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x21c + float m_flOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x220 + float m_flOutputMax; // 0x220 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x224 + float m_flMaxTraceLength; // 0x224 // MPropertyFriendlyName "LOS Failure Scale" - float m_flLOSScale; // 0x228 + float m_flLOSScale; // 0x228 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x22c + bool m_bLOS; // 0x22c // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x22d + char m_CollisionGroupName[128]; // 0x22d +private: + [[maybe_unused]] uint8_t __pad02ad[0x3]; // 0x2ad +public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x2b0 + ParticleTraceSet_t m_nTraceSet; // 0x2b0 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x2b4 + ParticleParentSetMode_t m_nSetParent; // 0x2b4 }; // Alignment: 3 // Size: 0x220 -class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x200 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x204 // MPropertyFriendlyName "use eye orientation" - bool m_bOrientToEyes; // 0x210 + bool m_bOrientToEyes; // 0x210 }; // Alignment: 4 // Size: 0x220 -class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x200 // MPropertyFriendlyName "hand" - int32_t m_nHand; // 0x204 + int32_t m_nHand; // 0x204 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x208 + Vector m_vecCP1Pos; // 0x208 // MPropertyFriendlyName "use hand orientation" - bool m_bOrientToHand; // 0x214 + bool m_bOrientToHand; // 0x214 }; // Alignment: 3 // Size: 0x220 -class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x200 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x204 // MPropertyFriendlyName "use hmd orientation" - bool m_bOrientToHMD; // 0x210 + bool m_bOrientToHMD; // 0x210 }; // Alignment: 3 // Size: 0x2a0 -class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x200 + int32_t m_nControlPointNumber; // 0x200 // MPropertyFriendlyName "time-of-day parameter" - char[128] m_pszTimeOfDayParameter; // 0x204 + char m_pszTimeOfDayParameter[128]; // 0x204 // MPropertyFriendlyName "default value" - Vector m_vecDefaultValue; // 0x284 + Vector m_vecDefaultValue; // 0x284 }; // Alignment: 2 // Size: 0x210 -class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point number to set" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x200 // MPropertyFriendlyName "center offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x204 }; // Alignment: 6 // Size: 0x7e0 -class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point input" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x200 // MPropertyFriendlyName "control point number to set velocity" - int32_t m_nCPOutputVel; // 0x204 + int32_t m_nCPOutputVel; // 0x204 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x208 + bool m_bNormalize; // 0x208 +private: + [[maybe_unused]] uint8_t __pad0209[0x3]; // 0x209 +public: // MPropertyFriendlyName "control point number to set magnitude" - int32_t m_nCPOutputMag; // 0x20c + int32_t m_nCPOutputMag; // 0x20c // MPropertyFriendlyName "control point field for magnitude" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x210 + int32_t m_nCPField; // 0x210 +private: + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 +public: // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x218 + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x218 }; // Alignment: 2 // Size: 0x210 -class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point input for velocity" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x200 // MPropertyFriendlyName "control point output for orientation" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x204 }; // Alignment: 3 // Size: 0x340 -class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "duration at which to stop" - CParticleCollectionFloatInput m_flDuration; // 0x200 + CParticleCollectionFloatInput m_flDuration; // 0x200 // MPropertyFriendlyName "destroy all particles immediately" - bool m_bDestroyImmediately; // 0x338 + bool m_bDestroyImmediately; // 0x338 // MPropertyFriendlyName "play end cap effect" - bool m_bPlayEndCap; // 0x339 + bool m_bPlayEndCap; // 0x339 }; // Alignment: 4 // Size: 0x910 -class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x200 + CParticleCollectionVecInput m_vecRotAxis; // 0x200 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7c8 + CParticleCollectionFloatInput m_flRotRate; // 0x7c8 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x900 + int32_t m_nCP; // 0x900 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalCP; // 0x904 + int32_t m_nLocalCP; // 0x904 }; // Alignment: 10 // Size: 0x230 -class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "input control point number" - int32_t m_nInputControlPoint; // 0x200 + int32_t m_nInputControlPoint; // 0x200 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputControlPoint; // 0x204 + int32_t m_nOutputControlPoint; // 0x204 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nInputField; // 0x208 + int32_t m_nInputField; // 0x208 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x20c + int32_t m_nOutputField; // 0x20c // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x210 + float m_flInputMin; // 0x210 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x214 + float m_flInputMax; // 0x214 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x218 + float m_flOutputMin; // 0x218 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x21c + float m_flOutputMax; // 0x21c // MPropertyFriendlyName "use the derivative" - bool m_bDerivative; // 0x220 + bool m_bDerivative; // 0x220 +private: + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 +public: // MPropertyFriendlyName "interpolation" - float m_flInterpRate; // 0x224 + float m_flInterpRate; // 0x224 }; // Alignment: 4 // Size: 0x220 -class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "Target color control point number" - int32_t m_nColorCP; // 0x200 + int32_t m_nColorCP; // 0x200 // MPropertyFriendlyName "Color Gem Enable control point number" - int32_t m_nColorGemEnableCP; // 0x204 + int32_t m_nColorGemEnableCP; // 0x204 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x208 // MPropertyFriendlyName "Default HSV Color" - Color m_DefaultHSVColor; // 0x20c + Color m_DefaultHSVColor; // 0x20c }; // Alignment: 11 // Size: 0x3f0 -class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point to set" - int32_t m_nCPOut; // 0x200 + int32_t m_nCPOut; // 0x200 // MPropertyFriendlyName "control point to trace from" - int32_t m_nCPIn; // 0x204 + int32_t m_nCPIn; // 0x204 // MPropertyFriendlyName "trace update rate" - float m_flUpdateRate; // 0x208 + float m_flUpdateRate; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c +public: // MPropertyFriendlyName "max trace length" - CParticleCollectionFloatInput m_flTraceLength; // 0x210 + CParticleCollectionFloatInput m_flTraceLength; // 0x210 // MPropertyFriendlyName "offset start point amount" - float m_flStartOffset; // 0x348 + float m_flStartOffset; // 0x348 // MPropertyFriendlyName "offset end point amount" - float m_flOffset; // 0x34c + float m_flOffset; // 0x34c // MPropertyFriendlyName "trace direction override" // MVectorIsCoordinate - Vector m_vecTraceDir; // 0x350 + Vector m_vecTraceDir; // 0x350 // MPropertyFriendlyName "trace collision group" - char[128] m_CollisionGroupName; // 0x35c + char m_CollisionGroupName[128]; // 0x35c // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3dc + ParticleTraceSet_t m_nTraceSet; // 0x3dc // MPropertyFriendlyName "set to trace endpoint if no collision" - bool m_bSetToEndpoint; // 0x3e0 + bool m_bSetToEndpoint; // 0x3e0 // MPropertyFriendlyName "trace to closest surface along all cardinal directions" - bool m_bTraceToClosestSurface; // 0x3e1 + bool m_bTraceToClosestSurface; // 0x3e1 }; // Alignment: 6 // Size: 0x350 -class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "CP to point towards" - int32_t m_nInputCP; // 0x200 + int32_t m_nInputCP; // 0x200 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x204 + int32_t m_nOutputCP; // 0x204 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x208 + CParticleCollectionFloatInput m_flInterpolation; // 0x208 // MPropertyFriendlyName "2D Orient" - bool m_b2DOrientation; // 0x340 + bool m_b2DOrientation; // 0x340 // MPropertyFriendlyName "Avoid Vertical Axis Singularity" - bool m_bAvoidSingularity; // 0x341 + bool m_bAvoidSingularity; // 0x341 // MPropertyFriendlyName "Point Away" - bool m_bPointAway; // 0x342 + bool m_bPointAway; // 0x342 }; // Alignment: 3 // Size: 0x340 -class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x200 // MPropertyFriendlyName "first child to enable" - int32_t m_nFirstChild; // 0x204 + int32_t m_nFirstChild; // 0x204 // MPropertyFriendlyName "max # of children to enable (-1 for max particle count)" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x208 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x208 }; // Alignment: 5 // Size: 0x5b0 -class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "group ID to affect" - CParticleCollectionFloatInput m_nChildGroupID; // 0x200 + CParticleCollectionFloatInput m_nChildGroupID; // 0x200 // MPropertyFriendlyName "first child to enable" - CParticleCollectionFloatInput m_nFirstChild; // 0x338 + CParticleCollectionFloatInput m_nFirstChild; // 0x338 // MPropertyFriendlyName "# of children to enable" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x470 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x470 // MPropertyFriendlyName "play endcap when children are removed" - bool m_bPlayEndcapOnStop; // 0x5a8 + bool m_bPlayEndcapOnStop; // 0x5a8 // MPropertyFriendlyName "destroy particles immediately when child is removed" - bool m_bDestroyImmediately; // 0x5a9 + bool m_bDestroyImmediately; // 0x5a9 }; // Alignment: 2 // Size: 0x210 -class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "play when emission ends" - bool m_bFireOnEmissionEnd; // 0x200 + bool m_bFireOnEmissionEnd; // 0x200 // MPropertyFriendlyName "wait for children to finish" - bool m_bIncludeChildren; // 0x201 + bool m_bIncludeChildren; // 0x201 }; // Alignment: 1 // Size: 0x210 -class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point" - int32_t m_ControlPoint; // 0x200 + int32_t m_ControlPoint; // 0x200 }; // Alignment: 9 // Size: 0x240 -class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x200 + int32_t m_nOutputControlPoint; // 0x200 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x204 + int32_t m_nOutputField; // 0x204 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x208 + float m_flInputMin; // 0x208 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x20c + float m_flInputMax; // 0x20c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x210 + float m_flOutputMin; // 0x210 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x214 + float m_flOutputMax; // 0x214 // MPropertyFriendlyName "sound stack name" - CUtlString m_StackName; // 0x218 + CUtlString m_StackName; // 0x218 // MPropertyFriendlyName "sound operator name" - CUtlString m_OperatorName; // 0x220 + CUtlString m_OperatorName; // 0x220 // MPropertyFriendlyName "sound field name" - CUtlString m_FieldName; // 0x228 + CUtlString m_FieldName; // 0x228 }; // Alignment: 3 // Size: 0x210 -class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x200 + int32_t m_nSourceCP; // 0x200 // MPropertyFriendlyName "dest CP" - int32_t m_nDestCP; // 0x204 + int32_t m_nDestCP; // 0x204 // MPropertyFriendlyName "dest control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x208 + int32_t m_nCPField; // 0x208 }; // Alignment: 7 // Size: 0x360 -class C_OP_SetControlPointToWaterSurface : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetControlPointToWaterSurface : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x200 + int32_t m_nSourceCP; // 0x200 // MPropertyFriendlyName "CP to set to surface" - int32_t m_nDestCP; // 0x204 + int32_t m_nDestCP; // 0x204 // MPropertyFriendlyName "CP to set to surface current flow velocity" // MPropertySuppressExpr "mod != hlx" - int32_t m_nFlowCP; // 0x208 + int32_t m_nFlowCP; // 0x208 // MPropertyFriendlyName "CP to set component of if water" - int32_t m_nActiveCP; // 0x20c + int32_t m_nActiveCP; // 0x20c // MPropertyFriendlyName "CP component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nActiveCPField; // 0x210 + int32_t m_nActiveCPField; // 0x210 +private: + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 +public: // MPropertyFriendlyName "retest rate" - CParticleCollectionFloatInput m_flRetestRate; // 0x218 + CParticleCollectionFloatInput m_flRetestRate; // 0x218 // MPropertyFriendlyName "adaptive retest on moving surface" - bool m_bAdaptiveThreshold; // 0x350 + bool m_bAdaptiveThreshold; // 0x350 }; // Alignment: 5 // Size: 0x5c0 -class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 +public: // MPropertyFriendlyName "Within-Cluster Refire Time" - CParticleCollectionFloatInput m_flClusterRefireTime; // 0x208 + CParticleCollectionFloatInput m_flClusterRefireTime; // 0x208 // MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown" - CParticleCollectionFloatInput m_flClusterSize; // 0x340 + CParticleCollectionFloatInput m_flClusterSize; // 0x340 // MPropertyFriendlyName "Cluster Cooldown Time" - CParticleCollectionFloatInput m_flClusterCooldown; // 0x478 + CParticleCollectionFloatInput m_flClusterCooldown; // 0x478 // MPropertyFriendlyName "limit active children to parent particle count" - bool m_bLimitChildCount; // 0x5b0 + bool m_bLimitChildCount; // 0x5b0 }; // Alignment: 2 // Size: 0x340 -class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x200 +private: + [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 +public: // MPropertyFriendlyName "Number of Children to Use" - CParticleCollectionFloatInput m_flNumberOfChildren; // 0x208 + CParticleCollectionFloatInput m_flNumberOfChildren; // 0x208 }; // Alignment: 1 // Size: 0x340 -class C_OP_SetSimulationRate : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_SetSimulationRate : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "simulation timescale" - CParticleCollectionFloatInput m_flSimulationScale; // 0x200 + CParticleCollectionFloatInput m_flSimulationScale; // 0x200 }; // Alignment: 5 // Size: 0x220 -class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "source Control Point in World" - int32_t m_nCPIn; // 0x200 + int32_t m_nCPIn; // 0x200 // MPropertyFriendlyName "Source Control Point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x204 // MPropertyFriendlyName "Set control point number" - int32_t m_nCPOut; // 0x210 + int32_t m_nCPOut; // 0x210 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPOutField; // 0x214 + int32_t m_nCPOutField; // 0x214 // MPropertyFriendlyName "Ss Pos and Dot OUT CP" - int32_t m_nCPSSPosOut; // 0x218 + int32_t m_nCPSSPosOut; // 0x218 }; // Alignment: 15 // Size: 0xf80 -class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nCPSnapshot; // 0x200 + int32_t m_nCPSnapshot; // 0x200 // MPropertyFriendlyName "start control point number" - int32_t m_nCPStartPnt; // 0x204 + int32_t m_nCPStartPnt; // 0x204 // MPropertyFriendlyName "end control point number" - int32_t m_nCPEndPnt; // 0x208 + int32_t m_nCPEndPnt; // 0x208 +private: + [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c +public: // MPropertyFriendlyName "Recursion Depth" - CParticleCollectionFloatInput m_flSegments; // 0x210 + CParticleCollectionFloatInput m_flSegments; // 0x210 // MPropertyFriendlyName "Offset" - CParticleCollectionFloatInput m_flOffset; // 0x348 + CParticleCollectionFloatInput m_flOffset; // 0x348 // MPropertyFriendlyName "Offset Decay" - CParticleCollectionFloatInput m_flOffsetDecay; // 0x480 + CParticleCollectionFloatInput m_flOffsetDecay; // 0x480 // MPropertyFriendlyName "Recalculation Rate" - CParticleCollectionFloatInput m_flRecalcRate; // 0x5b8 + CParticleCollectionFloatInput m_flRecalcRate; // 0x5b8 // MPropertyFriendlyName "UV Scale" - CParticleCollectionFloatInput m_flUVScale; // 0x6f0 + CParticleCollectionFloatInput m_flUVScale; // 0x6f0 // MPropertyFriendlyName "UV Offset" - CParticleCollectionFloatInput m_flUVOffset; // 0x828 + CParticleCollectionFloatInput m_flUVOffset; // 0x828 // MPropertyFriendlyName "Branch Split Rate" - CParticleCollectionFloatInput m_flSplitRate; // 0x960 + CParticleCollectionFloatInput m_flSplitRate; // 0x960 // MPropertyFriendlyName "Branch Twist" - CParticleCollectionFloatInput m_flBranchTwist; // 0xa98 + CParticleCollectionFloatInput m_flBranchTwist; // 0xa98 // MPropertyFriendlyName "Branch Behavior" - ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xbd0 + ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xbd0 +private: + [[maybe_unused]] uint8_t __pad0bd4[0x4]; // 0xbd4 +public: // MPropertyFriendlyName "Start Radius" - CParticleCollectionFloatInput m_flRadiusStart; // 0xbd8 + CParticleCollectionFloatInput m_flRadiusStart; // 0xbd8 // MPropertyFriendlyName "End Radius" - CParticleCollectionFloatInput m_flRadiusEnd; // 0xd10 + CParticleCollectionFloatInput m_flRadiusEnd; // 0xd10 // MPropertyFriendlyName "Dedicated Particle Pool Count" - CParticleCollectionFloatInput m_flDedicatedPool; // 0xe48 + CParticleCollectionFloatInput m_flDedicatedPool; // 0xe48 }; // Alignment: 5 // Size: 0x7e0 -class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "control point to sample wind" - int32_t m_nCP; // 0x200 + int32_t m_nCP; // 0x200 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x204 // MPropertyFriendlyName "wind scale" - CParticleCollectionVecInput m_vecScale; // 0x208 + CParticleCollectionVecInput m_vecScale; // 0x208 // MPropertyFriendlyName "set magnitude instead of vector" - bool m_bSetMagnitude; // 0x7d0 + bool m_bSetMagnitude; // 0x7d0 +private: + [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 +public: // MPropertyFriendlyName "magnitude output component" // MPropertyAttributeChoiceName "vector_component" // MPropertySuppressExpr "!m_bSetMagnitude" - int32_t m_nOutVectorField; // 0x7d4 + int32_t m_nOutVectorField; // 0x7d4 }; // Alignment: 4 // Size: 0x480 -class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ +class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission +{ public: // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInputValue; // 0x200 + CParticleCollectionFloatInput m_flInputValue; // 0x200 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x338 + int32_t m_nCPOutput; // 0x338 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x33c + int32_t m_nOutVectorField; // 0x33c // MPropertyFriendlyName "interval to snap to" - CParticleCollectionFloatInput m_flQuantizeValue; // 0x340 + CParticleCollectionFloatInput m_flQuantizeValue; // 0x340 }; // Alignment: 1 // Size: 0x240 -class C_OP_RenderPoints : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderPoints : public CParticleFunctionRenderer +{ public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x230 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x230 }; // Alignment: 7 // Size: 0x22e0 -class CBaseTrailRenderer : public CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction -{ +class CBaseTrailRenderer : public CBaseRendererSource2 +{ public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2050 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x2050 // MPropertyFriendlyName "orientation control point" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - int32_t m_nOrientationControlPoint; // 0x2054 + int32_t m_nOrientationControlPoint; // 0x2054 // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "minimum visual screen-size" // MPropertySortPriority "900" - float m_flMinSize; // 0x2058 + float m_flMinSize; // 0x2058 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySortPriority "900" - float m_flMaxSize; // 0x205c + float m_flMaxSize; // 0x205c // MPropertyFriendlyName "start fade screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x2060 + CParticleCollectionFloatInput m_flStartFadeSize; // 0x2060 // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x2198 + CParticleCollectionFloatInput m_flEndFadeSize; // 0x2198 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" // MPropertySortPriority "800" - bool m_bClampV; // 0x22d0 + bool m_bClampV; // 0x22d0 }; // Alignment: 20 // Size: 0x3390 -class C_OP_RenderTrails : public CBaseTrailRenderer, CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderTrails : public CBaseTrailRenderer +{ public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x22e0 + bool m_bEnableFadingAndClamping; // 0x22e0 +private: + [[maybe_unused]] uint8_t __pad22e1[0x3]; // 0x22e1 +public: // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x22e4 + float m_flStartFadeDot; // 0x22e4 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x22e8 + float m_flEndFadeDot; // 0x22e8 // MPropertyStartGroup "+Trail Length" // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x22ec + ParticleAttributeIndex_t m_nPrevPntSource; // 0x22ec // MPropertyFriendlyName "max length" // MPropertySortPriority "800" - float m_flMaxLength; // 0x22f0 + float m_flMaxLength; // 0x22f0 // MPropertyFriendlyName "min length" // MPropertySortPriority "800" - float m_flMinLength; // 0x22f4 + float m_flMinLength; // 0x22f4 // MPropertyFriendlyName "ignore delta time" // MPropertySortPriority "800" - bool m_bIgnoreDT; // 0x22f8 + bool m_bIgnoreDT; // 0x22f8 +private: + [[maybe_unused]] uint8_t __pad22f9[0x3]; // 0x22f9 +public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySortPriority "800" - float m_flConstrainRadiusToLengthRatio; // 0x22fc + float m_flConstrainRadiusToLengthRatio; // 0x22fc // MPropertyFriendlyName "amount to scale trail length by" - float m_flLengthScale; // 0x2300 + float m_flLengthScale; // 0x2300 // MPropertyFriendlyName "how long before a trail grows to its full length" - float m_flLengthFadeInTime; // 0x2304 + float m_flLengthFadeInTime; // 0x2304 // MPropertyStartGroup "Trail Head & Tail" // MPropertyFriendlyName "head taper scale" // MPropertySortPriority "800" - CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2308 + CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2308 // MPropertyFriendlyName "head color scale" - CParticleCollectionVecInput m_vecHeadColorScale; // 0x2440 + CParticleCollectionVecInput m_vecHeadColorScale; // 0x2440 // MPropertyFriendlyName "head alpha scale" - CPerParticleFloatInput m_flHeadAlphaScale; // 0x2a08 + CPerParticleFloatInput m_flHeadAlphaScale; // 0x2a08 // MPropertyFriendlyName "tail taper scale" - CPerParticleFloatInput m_flRadiusTaper; // 0x2b40 + CPerParticleFloatInput m_flRadiusTaper; // 0x2b40 // MPropertyFriendlyName "tail color scale" - CParticleCollectionVecInput m_vecTailColorScale; // 0x2c78 + CParticleCollectionVecInput m_vecTailColorScale; // 0x2c78 // MPropertyFriendlyName "tail alpha scale" - CPerParticleFloatInput m_flTailAlphaScale; // 0x3240 + CPerParticleFloatInput m_flTailAlphaScale; // 0x3240 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "texture UV horizontal Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nHorizCropField; // 0x3378 + ParticleAttributeIndex_t m_nHorizCropField; // 0x3378 // MPropertyFriendlyName "texture UV vertical Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVertCropField; // 0x337c + ParticleAttributeIndex_t m_nVertCropField; // 0x337c // MPropertyFriendlyName "Trail forward shift (fraction)" - float m_flForwardShift; // 0x3380 + float m_flForwardShift; // 0x3380 // MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI" - bool m_bFlipUVBasedOnPitchYaw; // 0x3384 + bool m_bFlipUVBasedOnPitchYaw; // 0x3384 }; // Alignment: 30 // Size: 0x2460 -class C_OP_RenderRopes : public CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderRopes : public CBaseRendererSource2 +{ public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x2050 + bool m_bEnableFadingAndClamping; // 0x2050 +private: + [[maybe_unused]] uint8_t __pad2051[0x3]; // 0x2051 +public: // MPropertyFriendlyName "minimum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMinSize; // 0x2054 + float m_flMinSize; // 0x2054 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMaxSize; // 0x2058 + float m_flMaxSize; // 0x2058 // MPropertyFriendlyName "start fade screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flStartFadeSize; // 0x205c + float m_flStartFadeSize; // 0x205c // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flEndFadeSize; // 0x2060 + float m_flEndFadeSize; // 0x2060 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2064 + float m_flStartFadeDot; // 0x2064 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2068 + float m_flEndFadeDot; // 0x2068 // MPropertyStartGroup "Rope Tesselation" // MPropertyFriendlyName "amount to taper the width of the trail end by" - float m_flRadiusTaper; // 0x206c + float m_flRadiusTaper; // 0x206c // MPropertyFriendlyName "minium number of quads per render segment" // MPropertySortPriority "850" - int32_t m_nMinTesselation; // 0x2070 + int32_t m_nMinTesselation; // 0x2070 // MPropertyFriendlyName "maximum number of quads per render segment" - int32_t m_nMaxTesselation; // 0x2074 + int32_t m_nMaxTesselation; // 0x2074 // MPropertyFriendlyName "tesselation resolution scale factor" - float m_flTessScale; // 0x2078 + float m_flTessScale; // 0x2078 +private: + [[maybe_unused]] uint8_t __pad207c[0x4]; // 0x207c +public: // MPropertyStartGroup "+Rope Global UV Controls" // MPropertyFriendlyName "global texture V World Size" // MPropertySortPriority "800" - CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x2080 + CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x2080 // MPropertyFriendlyName "global texture V Scroll Rate" - CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x21b8 + CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x21b8 // MPropertyFriendlyName "global texture V Offset" - CParticleCollectionFloatInput m_flTextureVOffset; // 0x22f0 + CParticleCollectionFloatInput m_flTextureVOffset; // 0x22f0 // MPropertyFriendlyName "global texture V Params CP" - int32_t m_nTextureVParamsCP; // 0x2428 + int32_t m_nTextureVParamsCP; // 0x2428 // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" - bool m_bClampV; // 0x242c + bool m_bClampV; // 0x242c +private: + [[maybe_unused]] uint8_t __pad242d[0x3]; // 0x242d +public: // MPropertyStartGroup "Rope Global UV Controls/CP Scaling" // MPropertyFriendlyName "scale CP start" - int32_t m_nScaleCP1; // 0x2430 + int32_t m_nScaleCP1; // 0x2430 // MPropertyFriendlyName "scale CP end" - int32_t m_nScaleCP2; // 0x2434 + int32_t m_nScaleCP2; // 0x2434 // MPropertyFriendlyName "scale V world size by CP distance" - float m_flScaleVSizeByControlPointDistance; // 0x2438 + float m_flScaleVSizeByControlPointDistance; // 0x2438 // MPropertyFriendlyName "scale V scroll rate by CP distance" - float m_flScaleVScrollByControlPointDistance; // 0x243c + float m_flScaleVScrollByControlPointDistance; // 0x243c // MPropertyFriendlyName "scale V offset by CP distance" - float m_flScaleVOffsetByControlPointDistance; // 0x2440 + float m_flScaleVOffsetByControlPointDistance; // 0x2440 +private: + [[maybe_unused]] uint8_t __pad2444[0x1]; // 0x2444 +public: // MPropertyStartGroup "Rope Global UV Controls" // MPropertyFriendlyName "Use scalar attribute for texture coordinate" - bool m_bUseScalarForTextureCoordinate; // 0x2445 + bool m_bUseScalarForTextureCoordinate; // 0x2445 +private: + [[maybe_unused]] uint8_t __pad2446[0x2]; // 0x2446 +public: // MPropertyFriendlyName "scalar to use for texture coordinate" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x2448 + ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x2448 // MPropertyFriendlyName "scale value to map attribute to texture coordinate" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - float m_flScalarAttributeTextureCoordScale; // 0x244c + float m_flScalarAttributeTextureCoordScale; // 0x244c // MPropertyStartGroup "Rope Order Controls" // MPropertyFriendlyName "reverse point order" // MPropertySortPriority "800" - bool m_bReverseOrder; // 0x2450 + bool m_bReverseOrder; // 0x2450 // MPropertyFriendlyName "Closed loop" - bool m_bClosedLoop; // 0x2451 + bool m_bClosedLoop; // 0x2451 +private: + [[maybe_unused]] uint8_t __pad2452[0x2]; // 0x2452 +public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation_type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2454 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x2454 // MPropertyFriendlyName "attribute to use for normal" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x2458 + ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x2458 // MPropertyStartGroup "Material" // MPropertyFriendlyName "draw as opaque" - bool m_bDrawAsOpaque; // 0x245c + bool m_bDrawAsOpaque; // 0x245c // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "generate normals for cylinder" - bool m_bGenerateNormals; // 0x245d + bool m_bGenerateNormals; // 0x245d }; // Alignment: 8 // Size: 0x270 -class C_OP_RenderAsModels : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderAsModels : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "models" // MParticleRequireDefaultArrayEntry - CUtlVector< ModelReference_t > m_ModelList; // 0x230 + CUtlVector< ModelReference_t > m_ModelList; // 0x230 +private: + [[maybe_unused]] uint8_t __pad0248[0x4]; // 0x248 +public: // MPropertyFriendlyName "scale factor for radius" - float m_flModelScale; // 0x24c + float m_flModelScale; // 0x24c // MPropertyFriendlyName "scale model to match particle size" - bool m_bFitToModelSize; // 0x250 + bool m_bFitToModelSize; // 0x250 // MPropertyFriendlyName "non-uniform scaling" - bool m_bNonUniformScaling; // 0x251 + bool m_bNonUniformScaling; // 0x251 +private: + [[maybe_unused]] uint8_t __pad0252[0x2]; // 0x252 +public: // MPropertyFriendlyName "X axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x254 + ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x254 // MPropertyFriendlyName "Y axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x258 + ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x258 // MPropertyFriendlyName "Z axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x25c + ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x25c // MPropertyFriendlyName "model size cull bloat" // MPropertyAttributeChoiceName "particlefield_size_cull_bloat" - int32_t m_nSizeCullBloat; // 0x260 + int32_t m_nSizeCullBloat; // 0x260 }; // Alignment: 7 // Size: 0x260 -class C_OP_RenderLights : public C_OP_RenderPoints, CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderLights : public C_OP_RenderPoints +{ public: // MPropertyFriendlyName "animation rate" - float m_flAnimationRate; // 0x240 + float m_flAnimationRate; // 0x240 // MPropertyFriendlyName "animation type" - AnimationType_t m_nAnimationType; // 0x244 + AnimationType_t m_nAnimationType; // 0x244 // MPropertyFriendlyName "set animation value in FPS" - bool m_bAnimateInFPS; // 0x248 + bool m_bAnimateInFPS; // 0x248 +private: + [[maybe_unused]] uint8_t __pad0249[0x3]; // 0x249 +public: // MPropertyFriendlyName "minimum visual size" - float m_flMinSize; // 0x24c + float m_flMinSize; // 0x24c // MPropertyFriendlyName "maximum visual size" - float m_flMaxSize; // 0x250 + float m_flMaxSize; // 0x250 // MPropertyFriendlyName "size at which to start fading" - float m_flStartFadeSize; // 0x254 + float m_flStartFadeSize; // 0x254 // MPropertyFriendlyName "size at which to fade away" - float m_flEndFadeSize; // 0x258 + float m_flEndFadeSize; // 0x258 }; // Alignment: 5 // Size: 0x5f0 -class C_OP_RenderBlobs : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderBlobs : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "cube width" - CParticleCollectionFloatInput m_cubeWidth; // 0x230 + CParticleCollectionFloatInput m_cubeWidth; // 0x230 // MPropertyFriendlyName "cutoff radius" - CParticleCollectionFloatInput m_cutoffRadius; // 0x368 + CParticleCollectionFloatInput m_cutoffRadius; // 0x368 // MPropertyFriendlyName "render radius" - CParticleCollectionFloatInput m_renderRadius; // 0x4a0 + CParticleCollectionFloatInput m_renderRadius; // 0x4a0 // MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)" - int32_t m_nScaleCP; // 0x5d8 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x5e0 + int32_t m_nScaleCP; // 0x5d8 +private: + [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x5e0 }; // Alignment: 2 // Size: 0x240 -class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "rotate rate(dps)" - float m_flRotateRateDegrees; // 0x230 + float m_flRotateRateDegrees; // 0x230 // MPropertyFriendlyName "forward angle" - float m_flForwardDegrees; // 0x234 + float m_flForwardDegrees; // 0x234 }; // Alignment: 48 // Size: 0x21d0 -class C_OP_RenderModels : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderModels : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "Only Render in effects bloom pass" // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x230 + bool m_bOnlyRenderInEffectsBloomPass; // 0x230 // MPropertyFriendlyName "Only Render in effects water pass" // MPropertySortPriority "1050" // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x231 + bool m_bOnlyRenderInEffectsWaterPass; // 0x231 // MPropertyFriendlyName "Use Mixed Resolution Rendering" // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x232 + bool m_bUseMixedResolutionRendering; // 0x232 // MPropertyFriendlyName "Only Render in effects game overlay pass" // MPropertySortPriority "1210" // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x233 + bool m_bOnlyRenderInEffecsGameOverlay; // 0x233 +private: + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 +public: // MPropertyFriendlyName "models" // MParticleRequireDefaultArrayEntry // MPropertyAutoExpandSelf // MPropertySortPriority "775" - CUtlVector< ModelReference_t > m_ModelList; // 0x238 + CUtlVector< ModelReference_t > m_ModelList; // 0x238 +private: + [[maybe_unused]] uint8_t __pad0250[0x4]; // 0x250 +public: // MPropertyFriendlyName "bodygroup field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nBodyGroupField; // 0x254 + ParticleAttributeIndex_t m_nBodyGroupField; // 0x254 // MPropertyFriendlyName "submodel field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSubModelField; // 0x258 + ParticleAttributeIndex_t m_nSubModelField; // 0x258 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "ignore normal" // MPropertySortPriority "750" - bool m_bIgnoreNormal; // 0x25c + bool m_bIgnoreNormal; // 0x25c // MPropertyFriendlyName "orient model z to normal" // MPropertySortPriority "750" // MPropertySuppressExpr "m_bIgnoreNormal" - bool m_bOrientZ; // 0x25d + bool m_bOrientZ; // 0x25d // MPropertyFriendlyName "center mesh" // MPropertySortPriority "750" - bool m_bCenterOffset; // 0x25e + bool m_bCenterOffset; // 0x25e +private: + [[maybe_unused]] uint8_t __pad025f[0x1]; // 0x25f +public: // MPropertyFriendlyName "model local offset" // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalOffset; // 0x260 + CPerParticleVecInput m_vecLocalOffset; // 0x260 // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalRotation; // 0x828 + CPerParticleVecInput m_vecLocalRotation; // 0x828 // MPropertyStartGroup "Model Scale" // MPropertyFriendlyName "ignore radius" // MPropertySortPriority "700" - bool m_bIgnoreRadius; // 0xdf0 + bool m_bIgnoreRadius; // 0xdf0 +private: + [[maybe_unused]] uint8_t __pad0df1[0x3]; // 0xdf1 +public: // MPropertyFriendlyName "model scale CP" // MPropertySortPriority "700" - int32_t m_nModelScaleCP; // 0xdf4 + int32_t m_nModelScaleCP; // 0xdf4 // MPropertyFriendlyName "model component scale" // MPropertySortPriority "700" - CPerParticleVecInput m_vecComponentScale; // 0xdf8 + CPerParticleVecInput m_vecComponentScale; // 0xdf8 // MPropertyFriendlyName "apply scales in local model space" // MPropertySortPriority "700" - bool m_bLocalScale; // 0x13c0 + bool m_bLocalScale; // 0x13c0 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animated" // MPropertySortPriority "500" - bool m_bAnimated; // 0x13c1 + bool m_bAnimated; // 0x13c1 +private: + [[maybe_unused]] uint8_t __pad13c2[0x2]; // 0x13c2 +public: // MPropertyFriendlyName "animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - float m_flAnimationRate; // 0x13c4 + float m_flAnimationRate; // 0x13c4 // MPropertyFriendlyName "scale animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bScaleAnimationRate; // 0x13c8 + bool m_bScaleAnimationRate; // 0x13c8 // MPropertyFriendlyName "force looping animations" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bForceLoopingAnimation; // 0x13c9 + bool m_bForceLoopingAnimation; // 0x13c9 // MPropertyFriendlyName "reset animation frame on stop" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bResetAnimOnStop; // 0x13ca + bool m_bResetAnimOnStop; // 0x13ca // MPropertyFriendlyName "set animation frame manually" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bManualAnimFrame; // 0x13cb + bool m_bManualAnimFrame; // 0x13cb // MPropertyFriendlyName "animation rate scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - ParticleAttributeIndex_t m_nAnimationScaleField; // 0x13cc + ParticleAttributeIndex_t m_nAnimationScaleField; // 0x13cc // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animation sequence field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" - ParticleAttributeIndex_t m_nAnimationField; // 0x13d0 + ParticleAttributeIndex_t m_nAnimationField; // 0x13d0 // MPropertyFriendlyName "manual animation frame field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" - ParticleAttributeIndex_t m_nManualFrameField; // 0x13d4 + ParticleAttributeIndex_t m_nManualFrameField; // 0x13d4 // MPropertyFriendlyName "activity override" // MPropertySuppressExpr "mod != dota" // MPropertySortPriority "500" - char[256] m_ActivityName; // 0x13d8 + char m_ActivityName[256]; // 0x13d8 // MPropertyFriendlyName "sequence override" // MPropertySuppressExpr "mod == dota" // MPropertySortPriority "500" - char[256] m_SequenceName; // 0x14d8 + char m_SequenceName[256]; // 0x14d8 // MPropertyFriendlyName "Enable Cloth Simulation" - bool m_bEnableClothSimulation; // 0x15d8 + bool m_bEnableClothSimulation; // 0x15d8 +private: + [[maybe_unused]] uint8_t __pad15d9[0x7]; // 0x15d9 +public: // MPropertyStartGroup "Material" // MPropertyFriendlyName "material override" // MPropertySortPriority "600" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x15e0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x15e0 // MPropertyFriendlyName "override translucent materials" // MPropertySortPriority "600" - bool m_bOverrideTranslucentMaterials; // 0x15e8 + bool m_bOverrideTranslucentMaterials; // 0x15e8 +private: + [[maybe_unused]] uint8_t __pad15e9[0x3]; // 0x15e9 +public: // MPropertyFriendlyName "skin number" // MPropertySortPriority "600" - int32_t m_nSkin; // 0x15ec + int32_t m_nSkin; // 0x15ec // MPropertyFriendlyName "skin override CP" // MPropertySortPriority "600" - int32_t m_nSkinCP; // 0x15f0 + int32_t m_nSkinCP; // 0x15f0 +private: + [[maybe_unused]] uint8_t __pad15f4[0x4]; // 0x15f4 +public: // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf // MPropertySortPriority "600" - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x15f8 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x15f8 // MPropertyStartGroup "Model Overrides" // MPropertyFriendlyName "model LOD" - int32_t m_nLOD; // 0x1610 + int32_t m_nLOD; // 0x1610 // MPropertyFriendlyName "model override CP" - int32_t m_nModelCP; // 0x1614 + int32_t m_nModelCP; // 0x1614 // MPropertyFriendlyName "model override economy loadout slot type" - char[256] m_EconSlotName; // 0x1618 + char m_EconSlotName[256]; // 0x1618 // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" - bool m_bOriginalModel; // 0x1718 + bool m_bOriginalModel; // 0x1718 // MPropertyFriendlyName "suppress tinting of the model" - bool m_bSuppressTint; // 0x1719 + bool m_bSuppressTint; // 0x1719 // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" - bool m_bUseRawMeshGroup; // 0x171a + bool m_bUseRawMeshGroup; // 0x171a // MPropertyFriendlyName "disable shadows" - bool m_bDisableShadows; // 0x171b + bool m_bDisableShadows; // 0x171b // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" - bool m_bForceDrawInterlevedWithSiblings; // 0x171c + bool m_bForceDrawInterlevedWithSiblings; // 0x171c // MPropertyFriendlyName "render attribute" - char[260] m_szRenderAttribute; // 0x171d + char m_szRenderAttribute[260]; // 0x171d +private: + [[maybe_unused]] uint8_t __pad1821[0x7]; // 0x1821 +public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "Radius Scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1828 + CParticleCollectionFloatInput m_flRadiusScale; // 0x1828 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x1960 + CParticleCollectionFloatInput m_flAlphaScale; // 0x1960 // MPropertyFriendlyName "rotation roll scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x1a98 + CParticleCollectionFloatInput m_flRollScale; // 0x1a98 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x1bd0 + ParticleAttributeIndex_t m_nAlpha2Field; // 0x1bd0 +private: + [[maybe_unused]] uint8_t __pad1bd4[0x4]; // 0x1bd4 +public: // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x1bd8 + CParticleCollectionVecInput m_vecColorScale; // 0x1bd8 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x21a0 + ParticleColorBlendType_t m_nColorBlendType; // 0x21a0 }; // Alignment: 8 // Size: 0xab0 -class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "Control Point for Model" - int32_t m_nMaterialControlPoint; // 0x230 + int32_t m_nMaterialControlPoint; // 0x230 // MPropertyFriendlyName "proxy type" - MaterialProxyType_t m_nProxyType; // 0x234 + MaterialProxyType_t m_nProxyType; // 0x234 // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x238 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x238 // MPropertyFriendlyName "material override" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x250 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x250 // MPropertyFriendlyName "material override enable" - CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x258 + CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x258 // MPropertyFriendlyName "model tint" - CParticleCollectionVecInput m_vecColorScale; // 0x390 + CParticleCollectionVecInput m_vecColorScale; // 0x390 // MPropertyFriendlyName "model alpha" - CPerParticleFloatInput m_flAlpha; // 0x958 + CPerParticleFloatInput m_flAlpha; // 0x958 // MPropertyFriendlyName "model tint blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0xa90 + ParticleColorBlendType_t m_nColorBlendType; // 0xa90 }; // Alignment: 11 // Size: 0x280 -class C_OP_RenderProjected : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderProjected : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "project on characters" - bool m_bProjectCharacter; // 0x230 + bool m_bProjectCharacter; // 0x230 // MPropertyFriendlyName "project on world" - bool m_bProjectWorld; // 0x231 + bool m_bProjectWorld; // 0x231 // MPropertyFriendlyName "project on water" - bool m_bProjectWater; // 0x232 + bool m_bProjectWater; // 0x232 // MPropertyFriendlyName "flip horizontal" - bool m_bFlipHorizontal; // 0x233 + bool m_bFlipHorizontal; // 0x233 // MPropertyFriendlyName "enable projected depth controls" - bool m_bEnableProjectedDepthControls; // 0x234 + bool m_bEnableProjectedDepthControls; // 0x234 +private: + [[maybe_unused]] uint8_t __pad0235[0x3]; // 0x235 +public: // MPropertyFriendlyName "min projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMinProjectionDepth; // 0x238 + float m_flMinProjectionDepth; // 0x238 // MPropertyFriendlyName "max projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMaxProjectionDepth; // 0x23c + float m_flMaxProjectionDepth; // 0x23c // MPropertyFriendlyName "material" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x240 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x240 // MPropertyFriendlyName "sheet animation time scale" - float m_flAnimationTimeScale; // 0x248 + float m_flAnimationTimeScale; // 0x248 // MPropertyFriendlyName "orient to normal" - bool m_bOrientToNormal; // 0x24c + bool m_bOrientToNormal; // 0x24c +private: + [[maybe_unused]] uint8_t __pad024d[0x3]; // 0x24d +public: // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x250 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x250 }; // Alignment: 16 // Size: 0x840 -class C_OP_RenderDeferredLight : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderDeferredLight : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "projected texture use alpha test window" // MPropertySuppressExpr "!m_bUseTexture" - bool m_bUseAlphaTestWindow; // 0x230 + bool m_bUseAlphaTestWindow; // 0x230 // MPropertyFriendlyName "projected texture light" - bool m_bUseTexture; // 0x231 + bool m_bUseTexture; // 0x231 +private: + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 +public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "radius scale" // MPropertySortPriority "700" - float m_flRadiusScale; // 0x234 + float m_flRadiusScale; // 0x234 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - float m_flAlphaScale; // 0x238 + float m_flAlphaScale; // 0x238 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x23c + ParticleAttributeIndex_t m_nAlpha2Field; // 0x23c // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x240 + CParticleCollectionVecInput m_vecColorScale; // 0x240 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x808 + ParticleColorBlendType_t m_nColorBlendType; // 0x808 // MPropertyStartGroup // MPropertyFriendlyName "spotlight distance" - float m_flLightDistance; // 0x80c + float m_flLightDistance; // 0x80c // MPropertyFriendlyName "light start falloff" - float m_flStartFalloff; // 0x810 + float m_flStartFalloff; // 0x810 // MPropertyFriendlyName "spotlight distance falloff" - float m_flDistanceFalloff; // 0x814 + float m_flDistanceFalloff; // 0x814 // MPropertyFriendlyName "spotlight FoV" - float m_flSpotFoV; // 0x818 + float m_flSpotFoV; // 0x818 // MPropertyFriendlyName "projected texture alpha test point scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x81c + ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x81c // MPropertyFriendlyName "projected texture alpha test range scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x820 + ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x820 // MPropertyFriendlyName "projected texture alpha test sharpness scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x824 + ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x824 // MPropertyFriendlyName "texture" // MPropertySuppressExpr "!m_bUseTexture" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x828 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x828 // MPropertyFriendlyName "HSV Shift Control Point" - int32_t m_nHSVShiftControlPoint; // 0x830 + int32_t m_nHSVShiftControlPoint; // 0x830 }; // Alignment: 29 // Size: 0x1220 -class C_OP_RenderStandardLight : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderStandardLight : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "light type" - ParticleLightTypeChoiceList_t m_nLightType; // 0x230 + ParticleLightTypeChoiceList_t m_nLightType; // 0x230 +private: + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 +public: // MPropertyFriendlyName "color blend" - CParticleCollectionVecInput m_vecColorScale; // 0x238 + CParticleCollectionVecInput m_vecColorScale; // 0x238 // MPropertyFriendlyName "color blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0x800 + ParticleColorBlendType_t m_nColorBlendType; // 0x800 +private: + [[maybe_unused]] uint8_t __pad0804[0x4]; // 0x804 +public: // MPropertyFriendlyName "intensity" - CParticleCollectionFloatInput m_flIntensity; // 0x808 + CParticleCollectionFloatInput m_flIntensity; // 0x808 // MPropertyFriendlyName "cast shadows" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bCastShadows; // 0x940 + bool m_bCastShadows; // 0x940 +private: + [[maybe_unused]] uint8_t __pad0941[0x7]; // 0x941 +public: // MPropertyFriendlyName "inner cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flTheta; // 0x948 + CParticleCollectionFloatInput m_flTheta; // 0x948 // MPropertyFriendlyName "outer cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flPhi; // 0xa80 + CParticleCollectionFloatInput m_flPhi; // 0xa80 // MPropertyFriendlyName "light radius multiplier" - CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xbb8 + CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xbb8 // MPropertyFriendlyName "attenuation type" - StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xcf0 + StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xcf0 +private: + [[maybe_unused]] uint8_t __pad0cf4[0x4]; // 0xcf4 +public: // MPropertyFriendlyName "falloff linearity" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )" - CParticleCollectionFloatInput m_flFalloffLinearity; // 0xcf8 + CParticleCollectionFloatInput m_flFalloffLinearity; // 0xcf8 // MPropertyFriendlyName "falloff fifty percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xe30 + CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xe30 // MPropertyFriendlyName "falloff zero percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xf68 + CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xf68 // MPropertyFriendlyName "render diffuse" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderDiffuse; // 0x10a0 + bool m_bRenderDiffuse; // 0x10a0 // MPropertyFriendlyName "render specular" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderSpecular; // 0x10a1 + bool m_bRenderSpecular; // 0x10a1 +private: + [[maybe_unused]] uint8_t __pad10a2[0x6]; // 0x10a2 +public: // MPropertyFriendlyName "light cookie string" - CUtlString m_lightCookie; // 0x10a8 + CUtlString m_lightCookie; // 0x10a8 // MPropertyFriendlyName "light priority" - int32_t m_nPriority; // 0x10b0 + int32_t m_nPriority; // 0x10b0 // MPropertyFriendlyName "fog lighting mode" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x10b4 + ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x10b4 // MPropertyFriendlyName "fog contribution" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - CParticleCollectionFloatInput m_flFogContribution; // 0x10b8 + CParticleCollectionFloatInput m_flFogContribution; // 0x10b8 // MPropertyFriendlyName "capsule behavior" - ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x11f0 + ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x11f0 // MPropertyStartGroup "Capsule Light Controls" // MPropertyFriendlyName "capsule length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - float m_flCapsuleLength; // 0x11f4 + float m_flCapsuleLength; // 0x11f4 // MPropertyFriendlyName "reverse point order" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bReverseOrder; // 0x11f8 + bool m_bReverseOrder; // 0x11f8 // MPropertyFriendlyName "Closed loop" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bClosedLoop; // 0x11f9 + bool m_bClosedLoop; // 0x11f9 +private: + [[maybe_unused]] uint8_t __pad11fa[0x2]; // 0x11fa +public: // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x11fc + ParticleAttributeIndex_t m_nPrevPntSource; // 0x11fc // MPropertyFriendlyName "max length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMaxLength; // 0x1200 + float m_flMaxLength; // 0x1200 // MPropertyFriendlyName "min length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMinLength; // 0x1204 + float m_flMinLength; // 0x1204 // MPropertyFriendlyName "ignore delta time" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - bool m_bIgnoreDT; // 0x1208 + bool m_bIgnoreDT; // 0x1208 +private: + [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 +public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flConstrainRadiusToLengthRatio; // 0x120c + float m_flConstrainRadiusToLengthRatio; // 0x120c // MPropertyFriendlyName "amount to scale trail length by" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthScale; // 0x1210 + float m_flLengthScale; // 0x1210 // MPropertyFriendlyName "how long before a trail grows to its full length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthFadeInTime; // 0x1214 + float m_flLengthFadeInTime; // 0x1214 }; // Alignment: 13 // Size: 0x10b0 -class C_OP_RenderOmni2Light : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderOmni2Light : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "Type" - ParticleOmni2LightTypeChoiceList_t m_nLightType; // 0x230 + ParticleOmni2LightTypeChoiceList_t m_nLightType; // 0x230 +private: + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 +public: // MPropertyFriendlyName "Color Blend" - CParticleCollectionVecInput m_vColorBlend; // 0x238 + CParticleCollectionVecInput m_vColorBlend; // 0x238 // MPropertyFriendlyName "Color Blend Type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x800 - ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x804 + ParticleColorBlendType_t m_nColorBlendType; // 0x800 + ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x804 // MPropertyFriendlyName "Lumens" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_LUMENS" - CPerParticleFloatInput m_flBrightnessLumens; // 0x808 + CPerParticleFloatInput m_flBrightnessLumens; // 0x808 // MPropertyFriendlyName "Candelas" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_CANDELAS" - CPerParticleFloatInput m_flBrightnessCandelas; // 0x940 + CPerParticleFloatInput m_flBrightnessCandelas; // 0x940 // MPropertyFriendlyName "Shadows" // MPropertySuppressExpr "mod == csgo" - bool m_bCastShadows; // 0xa78 + bool m_bCastShadows; // 0xa78 +private: + [[maybe_unused]] uint8_t __pad0a79[0x7]; // 0xa79 +public: // MPropertyFriendlyName "Light Radius" // MPropertySuppressExpr "!m_bAreaLight" - CPerParticleFloatInput m_flLuminaireRadius; // 0xa80 + CPerParticleFloatInput m_flLuminaireRadius; // 0xa80 // MPropertyFriendlyName "Skirt" - CPerParticleFloatInput m_flSkirt; // 0xbb8 + CPerParticleFloatInput m_flSkirt; // 0xbb8 // MPropertyFriendlyName "Range" - CPerParticleFloatInput m_flRange; // 0xcf0 + CPerParticleFloatInput m_flRange; // 0xcf0 // MPropertyFriendlyName "Inner Cone Angle" - CPerParticleFloatInput m_flInnerConeAngle; // 0xe28 + CPerParticleFloatInput m_flInnerConeAngle; // 0xe28 // MPropertyFriendlyName "Outer Cone Angle" - CPerParticleFloatInput m_flOuterConeAngle; // 0xf60 + CPerParticleFloatInput m_flOuterConeAngle; // 0xf60 // MPropertyFriendlyName "Cookie" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1098 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1098 }; // Alignment: 0 // Size: 0x230 -class C_OP_RenderClothForce : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderClothForce : public CParticleFunctionRenderer +{ public: // no members available }; // Alignment: 0 // Size: 0x230 -class C_OP_Callback : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_Callback : public CParticleFunctionRenderer +{ public: // no members available }; // Alignment: 9 // Size: 0x260 -class C_OP_RenderScreenShake : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderScreenShake : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x230 + float m_flDurationScale; // 0x230 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x234 + float m_flRadiusScale; // 0x234 // MPropertyFriendlyName "frequence scale" - float m_flFrequencyScale; // 0x238 + float m_flFrequencyScale; // 0x238 // MPropertyFriendlyName "amplitude scale" - float m_flAmplitudeScale; // 0x23c + float m_flAmplitudeScale; // 0x23c // MPropertyFriendlyName "radius field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusField; // 0x240 + ParticleAttributeIndex_t m_nRadiusField; // 0x240 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x244 + ParticleAttributeIndex_t m_nDurationField; // 0x244 // MPropertyFriendlyName "frequency field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFrequencyField; // 0x248 + ParticleAttributeIndex_t m_nFrequencyField; // 0x248 // MPropertyFriendlyName "amplitude field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nAmplitudeField; // 0x24c + ParticleAttributeIndex_t m_nAmplitudeField; // 0x24c // MPropertyFriendlyName "control point of shake recipient (-1 = global)" - int32_t m_nFilterCP; // 0x250 + int32_t m_nFilterCP; // 0x250 }; // Alignment: 4 // Size: 0x240 -class C_OP_RenderTonemapController : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderTonemapController : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "tonemap level scale" - float m_flTonemapLevel; // 0x230 + float m_flTonemapLevel; // 0x230 // MPropertyFriendlyName "tonemap weight scale" - float m_flTonemapWeight; // 0x234 + float m_flTonemapWeight; // 0x234 // MPropertyFriendlyName "tonemap level" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapLevelField; // 0x238 + ParticleAttributeIndex_t m_nTonemapLevelField; // 0x238 // MPropertyFriendlyName "tonemap weight" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapWeightField; // 0x23c + ParticleAttributeIndex_t m_nTonemapWeightField; // 0x23c }; // Alignment: 3 // Size: 0x380 -class C_OP_RenderPostProcessing : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderPostProcessing : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "Post Processing Strength" - CPerParticleFloatInput m_flPostProcessStrength; // 0x230 + CPerParticleFloatInput m_flPostProcessStrength; // 0x230 // MPropertyFriendlyName "Post Processing File" // MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x368 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x368 // MPropertyFriendlyName "Post Processing Priority Group" - ParticlePostProcessPriorityGroup_t m_nPriority; // 0x370 + ParticlePostProcessPriorityGroup_t m_nPriority; // 0x370 }; // Alignment: 12 // Size: 0x360 -class C_OP_RenderSound : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderSound : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x230 + float m_flDurationScale; // 0x230 // MPropertyFriendlyName "decibel level scale" - float m_flSndLvlScale; // 0x234 + float m_flSndLvlScale; // 0x234 // MPropertyFriendlyName "pitch scale" - float m_flPitchScale; // 0x238 + float m_flPitchScale; // 0x238 // MPropertyFriendlyName "volume scale" - float m_flVolumeScale; // 0x23c + float m_flVolumeScale; // 0x23c // MPropertyFriendlyName "decibel level field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSndLvlField; // 0x240 + ParticleAttributeIndex_t m_nSndLvlField; // 0x240 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x244 + ParticleAttributeIndex_t m_nDurationField; // 0x244 // MPropertyFriendlyName "pitch field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPitchField; // 0x248 + ParticleAttributeIndex_t m_nPitchField; // 0x248 // MPropertyFriendlyName "volume field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVolumeField; // 0x24c + ParticleAttributeIndex_t m_nVolumeField; // 0x24c // MPropertyFriendlyName "sound channel" // MPropertyAttributeChoiceName "sound_channel" - int32_t m_nChannel; // 0x250 + int32_t m_nChannel; // 0x250 // MPropertyFriendlyName "sound control point number" - int32_t m_nCPReference; // 0x254 + int32_t m_nCPReference; // 0x254 // MPropertyFriendlyName "sound" // MPropertyAttributeEditor "SoundPicker()" - char[256] m_pszSoundName; // 0x258 + char m_pszSoundName[256]; // 0x258 // MPropertyFriendlyName "suppress stop event" - bool m_bSuppressStopSoundEvent; // 0x358 + bool m_bSuppressStopSoundEvent; // 0x358 }; // Alignment: 7 // Size: 0x270 -class C_OP_RenderStatusEffect : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderStatusEffect : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 // MPropertyFriendlyName "detail 2 texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x238 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x238 // MPropertyFriendlyName "diffuse warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x240 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x240 // MPropertyFriendlyName "fresnel color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x248 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x248 // MPropertyFriendlyName "fresnel warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x250 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x250 // MPropertyFriendlyName "specular warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x258 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x258 // MPropertyFriendlyName "environment map texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x260 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x260 }; // Alignment: 6 // Size: 0x260 -class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 // MPropertyFriendlyName "normal texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x238 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x238 // MPropertyFriendlyName "metalness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x240 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x240 // MPropertyFriendlyName "roughness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x248 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x248 // MPropertyFriendlyName "self illum texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x250 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x250 // MPropertyFriendlyName "detail texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x258 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x258 }; // Alignment: 3 // Size: 0x240 -class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "flattening strength" - float m_flFlattenStrength; // 0x230 + float m_flFlattenStrength; // 0x230 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x234 + ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x234 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x238 + float m_flRadiusScale; // 0x238 }; // Alignment: 10 // Size: 0x260 -class C_OP_RenderTreeShake : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderTreeShake : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "peak strength" - float m_flPeakStrength; // 0x230 + float m_flPeakStrength; // 0x230 // MPropertyFriendlyName "peak strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x234 + ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x234 // MPropertyFriendlyName "radius" - float m_flRadius; // 0x238 + float m_flRadius; // 0x238 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x23c + ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x23c // MPropertyFriendlyName "shake duration after end" - float m_flShakeDuration; // 0x240 + float m_flShakeDuration; // 0x240 // MPropertyFriendlyName "amount of time taken to smooth between different shake parameters" - float m_flTransitionTime; // 0x244 + float m_flTransitionTime; // 0x244 // MPropertyFriendlyName "Twist amount (-1..1)" - float m_flTwistAmount; // 0x248 + float m_flTwistAmount; // 0x248 // MPropertyFriendlyName "Radial Amount (-1..1)" - float m_flRadialAmount; // 0x24c + float m_flRadialAmount; // 0x24c // MPropertyFriendlyName "Control Point Orientation Amount (-1..1)" - float m_flControlPointOrientationAmount; // 0x250 + float m_flControlPointOrientationAmount; // 0x250 // MPropertyFriendlyName "Control Point for Orientation Amount" - int32_t m_nControlPointForLinearDirection; // 0x254 + int32_t m_nControlPointForLinearDirection; // 0x254 }; // Alignment: 2 // Size: 0x240 -class C_OP_RenderText : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderText : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "outline color" - Color m_OutlineColor; // 0x230 + Color m_OutlineColor; // 0x230 +private: + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 +public: // MPropertyFriendlyName "default text" - CUtlString m_DefaultText; // 0x238 + CUtlString m_DefaultText; // 0x238 }; // Alignment: 4 // Size: 0x380 -class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer, CParticleFunction -{ +class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer +{ public: // MPropertyFriendlyName "haptic hand" - ParticleVRHandChoiceList_t m_nHand; // 0x230 + ParticleVRHandChoiceList_t m_nHand; // 0x230 // MPropertyFriendlyName "hand control point number" - int32_t m_nOutputHandCP; // 0x234 + int32_t m_nOutputHandCP; // 0x234 // MPropertyFriendlyName "cp field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x238 + int32_t m_nOutputField; // 0x238 +private: + [[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c +public: // MPropertyFriendlyName "amplitude" - CPerParticleFloatInput m_flAmplitude; // 0x240 + CPerParticleFloatInput m_flAmplitude; // 0x240 }; diff --git a/sdk/rendersystemdx11.hpp b/sdk/rendersystemdx11.hpp index 68f9a667..215c8fba 100644 --- a/sdk/rendersystemdx11.hpp +++ b/sdk/rendersystemdx11.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: rendersystemdx11.dll // Classes count: 3 // Enums count: 5 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x3 enum class RenderSlotType_t : uint32_t -{ +{ RENDER_SLOT_INVALID = 0xffffffffffffffff, RENDER_SLOT_PER_VERTEX = 0x0, RENDER_SLOT_PER_INSTANCE = 0x1, @@ -20,7 +21,7 @@ enum class RenderSlotType_t : uint32_t // Alignment: 4 // Size: 0x9 enum class RenderBufferFlags_t : uint32_t -{ +{ RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1, RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2, RENDER_BUFFER_USAGE_SHADER_RESOURCE = 0x4, @@ -35,7 +36,7 @@ enum class RenderBufferFlags_t : uint32_t // Alignment: 4 // Size: 0x2d enum class RenderPrimitiveType_t : uint32_t -{ +{ RENDER_PRIM_POINTS = 0x0, RENDER_PRIM_LINES = 0x1, RENDER_PRIM_LINES_WITH_ADJACENCY = 0x2, @@ -86,7 +87,7 @@ enum class RenderPrimitiveType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class InputLayoutVariation_t : uint32_t -{ +{ INPUT_LAYOUT_VARIATION_DEFAULT = 0x0, INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID = 0x1, INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID_MORPH_VERT_ID = 0x2, @@ -96,7 +97,7 @@ enum class InputLayoutVariation_t : uint32_t // Alignment: 4 // Size: 0x8 enum class RenderMultisampleType_t : uint32_t -{ +{ RENDER_MULTISAMPLE_INVALID = 0xffffffffffffffff, RENDER_MULTISAMPLE_NONE = 0x0, RENDER_MULTISAMPLE_2X = 0x1, @@ -109,34 +110,34 @@ enum class RenderMultisampleType_t : uint32_t // Alignment: 7 // Size: 0x38 -struct RenderInputLayoutField_t : public -{ +struct RenderInputLayoutField_t +{ public: - uint8[32] m_pSemanticName; // 0x0 - int32_t m_nSemanticIndex; // 0x20 - uint32_t m_Format; // 0x24 - int32_t m_nOffset; // 0x28 - int32_t m_nSlot; // 0x2c - RenderSlotType_t m_nSlotType; // 0x30 - int32_t m_nInstanceStepRate; // 0x34 + uint8_t m_pSemanticName[32]; // 0x0 + int32_t m_nSemanticIndex; // 0x20 + uint32_t m_Format; // 0x24 + int32_t m_nOffset; // 0x28 + int32_t m_nSlot; // 0x2c + RenderSlotType_t m_nSlotType; // 0x30 + int32_t m_nInstanceStepRate; // 0x34 }; // Alignment: 4 // Size: 0xc4 -struct VsInputSignatureElement_t : public -{ +struct VsInputSignatureElement_t +{ public: - char[64] m_pName; // 0x0 - char[64] m_pSemantic; // 0x40 - char[64] m_pD3DSemanticName; // 0x80 - int32_t m_nD3DSemanticIndex; // 0xc0 + char m_pName[64]; // 0x0 + char m_pSemantic[64]; // 0x40 + char m_pD3DSemanticName[64]; // 0x80 + int32_t m_nD3DSemanticIndex; // 0xc0 }; // Alignment: 1 // Size: 0x18 -struct VsInputSignature_t : public -{ +struct VsInputSignature_t +{ public: - CUtlVector< VsInputSignatureElement_t > m_elems; // 0x0 + CUtlVector< VsInputSignatureElement_t > m_elems; // 0x0 }; diff --git a/sdk/resourcesystem.hpp b/sdk/resourcesystem.hpp index 0287cb9f..5a7e0af4 100644 --- a/sdk/resourcesystem.hpp +++ b/sdk/resourcesystem.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: resourcesystem.dll // Classes count: 52 // Enums count: 2 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 1 // Size: 0x2 enum class FuseVariableAccess_t : uint8_t -{ +{ WRITABLE = 0x0, READ_ONLY = 0x1, }; @@ -19,7 +20,7 @@ enum class FuseVariableAccess_t : uint8_t // Alignment: 1 // Size: 0x9 enum class FuseVariableType_t : uint8_t -{ +{ INVALID = 0x0, BOOL = 0x1, INT8 = 0x2, @@ -31,444 +32,447 @@ enum class FuseVariableType_t : uint8_t FLOAT32 = 0x8, }; +struct FuseVariableIndex_t; +struct FuseFunctionIndex_t; + // Alignment: 1 // Size: 0x8 -struct TestResource_t : public -{ +struct TestResource_t +{ public: // MKV3TransferName "name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 }; // Alignment: 0 // Size: 0x1 -struct InfoForResourceTypeTestResource_t : public -{ +struct InfoForResourceTypeTestResource_t +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -struct InfoForResourceTypeProceduralTestResource_t : public -{ +struct InfoForResourceTypeProceduralTestResource_t +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -struct InfoForResourceTypeManifestTestResource_t : public -{ +struct InfoForResourceTypeManifestTestResource_t +{ public: // no members available }; // Alignment: 2 // Size: 0x10 -struct ManifestTestResource_t : public -{ +struct ManifestTestResource_t +{ public: // MKV3TransferName "name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 // MKV3TransferName "child" - CStrongHandle< InfoForResourceTypeManifestTestResource_t > m_child; // 0x8 + CStrongHandle< InfoForResourceTypeManifestTestResource_t > m_child; // 0x8 }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCVDataResource : public -{ +class InfoForResourceTypeCVDataResource +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeIParticleSystemDefinition : public -{ +class InfoForResourceTypeIParticleSystemDefinition +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeIParticleSnapshot : public -{ +class InfoForResourceTypeIParticleSnapshot +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCAnimData : public -{ +class InfoForResourceTypeCAnimData +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCAnimationGroup : public -{ +class InfoForResourceTypeCAnimationGroup +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCSequenceGroupData : public -{ +class InfoForResourceTypeCSequenceGroupData +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeIMaterial2 : public -{ +class InfoForResourceTypeIMaterial2 +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCMorphSetData : public -{ +class InfoForResourceTypeCMorphSetData +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCRenderMesh : public -{ +class InfoForResourceTypeCRenderMesh +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCModel : public -{ +class InfoForResourceTypeCModel +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCTextureBase : public -{ +class InfoForResourceTypeCTextureBase +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeIVectorGraphic : public -{ +class InfoForResourceTypeIVectorGraphic +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCVSoundEventScriptList : public -{ +class InfoForResourceTypeCVSoundEventScriptList +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCVSoundStackScriptList : public -{ +class InfoForResourceTypeCVSoundStackScriptList +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -struct InfoForResourceTypeVSound_t : public -{ +struct InfoForResourceTypeVSound_t +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCVMixListResource : public -{ +class InfoForResourceTypeCVMixListResource +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPhysAggregateData : public -{ +class InfoForResourceTypeCPhysAggregateData +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCVPhysXSurfacePropertiesList : public -{ +class InfoForResourceTypeCVPhysXSurfacePropertiesList +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCEntityLump : public -{ +class InfoForResourceTypeCEntityLump +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCWorldNode : public -{ +class InfoForResourceTypeCWorldNode +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -struct InfoForResourceTypeWorld_t : public -{ +struct InfoForResourceTypeWorld_t +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCVoxelVisibility : public -{ +class InfoForResourceTypeCVoxelVisibility +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPostProcessingResource : public -{ +class InfoForResourceTypeCPostProcessingResource +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPanoramaStyle : public -{ +class InfoForResourceTypeCPanoramaStyle +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPanoramaLayout : public -{ +class InfoForResourceTypeCPanoramaLayout +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPanoramaDynamicImages : public -{ +class InfoForResourceTypeCPanoramaDynamicImages +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCDotaItemDefinitionResource : public -{ +class InfoForResourceTypeCDotaItemDefinitionResource +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPanoramaScript : public -{ +class InfoForResourceTypeCPanoramaScript +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCPanoramaTypeScript : public -{ +class InfoForResourceTypeCPanoramaTypeScript +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCDOTAPatchNotesList : public -{ +class InfoForResourceTypeCDOTAPatchNotesList +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeIAnimGraphModelBinding : public -{ +class InfoForResourceTypeIAnimGraphModelBinding +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCChoreoSceneFileData : public -{ +class InfoForResourceTypeCChoreoSceneFileData +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCDACGameDefsData : public -{ +class InfoForResourceTypeCDACGameDefsData +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCCompositeMaterialKit : public -{ +class InfoForResourceTypeCCompositeMaterialKit +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCSmartProp : public -{ +class InfoForResourceTypeCSmartProp +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCCSGOEconItem : public -{ +class InfoForResourceTypeCCSGOEconItem +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCResponseRulesList : public -{ +class InfoForResourceTypeCResponseRulesList +{ public: // no members available }; // Alignment: 1 // Size: 0x2 -struct FuseVariableIndex_t : public -{ +struct FuseVariableIndex_t +{ public: - uint16_t m_Value; // 0x0 + uint16_t m_Value; // 0x0 }; // Alignment: 1 // Size: 0x2 -struct FuseFunctionIndex_t : public -{ +struct FuseFunctionIndex_t +{ public: - uint16_t m_Value; // 0x0 + uint16_t m_Value; // 0x0 }; // Alignment: 3 // Size: 0x10 -struct ConstantInfo_t : public -{ +struct ConstantInfo_t +{ public: - CUtlString m_name; // 0x0 - CUtlStringToken m_nameToken; // 0x8 - float m_flValue; // 0xc + CUtlString m_name; // 0x0 + CUtlStringToken m_nameToken; // 0x8 + float m_flValue; // 0xc }; // Alignment: 6 // Size: 0x18 -struct VariableInfo_t : public -{ +struct VariableInfo_t +{ public: - CUtlString m_name; // 0x0 - CUtlStringToken m_nameToken; // 0x8 - FuseVariableIndex_t m_nIndex; // 0xc - uint8_t m_nNumComponents; // 0xe - FuseVariableType_t m_eVarType; // 0xf - FuseVariableAccess_t m_eAccess; // 0x10 + CUtlString m_name; // 0x0 + CUtlStringToken m_nameToken; // 0x8 + FuseVariableIndex_t m_nIndex; // 0xc + uint8_t m_nNumComponents; // 0xe + FuseVariableType_t m_eVarType; // 0xf + FuseVariableAccess_t m_eAccess; // 0x10 }; // Alignment: 5 // Size: 0x20 -struct FunctionInfo_t : public -{ +struct FunctionInfo_t +{ public: - CUtlString m_name; // 0x8 - CUtlStringToken m_nameToken; // 0x10 - int32_t m_nParamCount; // 0x14 - FuseFunctionIndex_t m_nIndex; // 0x18 - bool m_bIsPure; // 0x1a + CUtlString m_name; // 0x8 + CUtlStringToken m_nameToken; // 0x10 + int32_t m_nParamCount; // 0x14 + FuseFunctionIndex_t m_nIndex; // 0x18 + bool m_bIsPure; // 0x1a }; // Alignment: 4 // Size: 0x50 -class CFuseProgram : public -{ +class CFuseProgram +{ public: - CUtlVector< uint8 > m_programBuffer; // 0x0 - CUtlVector< FuseVariableIndex_t > m_variablesRead; // 0x18 - CUtlVector< FuseVariableIndex_t > m_variablesWritten; // 0x30 - int32_t m_nMaxTempVarsUsed; // 0x48 + CUtlVector< uint8 > m_programBuffer; // 0x0 + CUtlVector< FuseVariableIndex_t > m_variablesRead; // 0x18 + CUtlVector< FuseVariableIndex_t > m_variablesWritten; // 0x30 + int32_t m_nMaxTempVarsUsed; // 0x48 }; // Alignment: 3 // Size: 0x68 -class CFuseSymbolTable : public -{ +class CFuseSymbolTable +{ public: - CUtlHashtable< CUtlStringToken, ConstantInfo_t > m_constants; // 0x8 - CUtlHashtable< CUtlStringToken, VariableInfo_t > m_variables; // 0x28 - CUtlHashtable< CUtlStringToken, FunctionInfo_t > m_functions; // 0x48 + CUtlHashtable< CUtlStringToken, ConstantInfo_t > m_constants; // 0x8 + CUtlHashtable< CUtlStringToken, VariableInfo_t > m_variables; // 0x28 + CUtlHashtable< CUtlStringToken, FunctionInfo_t > m_functions; // 0x48 }; // Alignment: 2 // Size: 0x18 -struct AABB_t : public -{ +struct AABB_t +{ public: - Vector m_vMinBounds; // 0x0 - Vector m_vMaxBounds; // 0xc + Vector m_vMinBounds; // 0x0 + Vector m_vMaxBounds; // 0xc }; // Alignment: 2 // Size: 0x8 -struct PackedAABB_t : public -{ +struct PackedAABB_t +{ public: - uint32_t m_nPackedMin; // 0x0 - uint32_t m_nPackedMax; // 0x4 + uint32_t m_nPackedMin; // 0x0 + uint32_t m_nPackedMax; // 0x4 }; // Alignment: 4 // Size: 0x40 -class FourQuaternions : public -{ +class FourQuaternions +{ public: - fltx4 x; // 0x0 - fltx4 y; // 0x10 - fltx4 z; // 0x20 - fltx4 w; // 0x30 + fltx4 x; // 0x0 + fltx4 y; // 0x10 + fltx4 z; // 0x20 + fltx4 w; // 0x30 }; diff --git a/sdk/scenefilecache.hpp b/sdk/scenefilecache.hpp index 4adf5155..e4a28b67 100644 --- a/sdk/scenefilecache.hpp +++ b/sdk/scenefilecache.hpp @@ -2,9 +2,10 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: scenefilecache.dll // Classes count: 0 // Enums count: 0 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// diff --git a/sdk/scenesystem.hpp b/sdk/scenesystem.hpp index 1912d495..952a935d 100644 --- a/sdk/scenesystem.hpp +++ b/sdk/scenesystem.hpp @@ -2,101 +2,107 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: scenesystem.dll // Classes count: 9 // Enums count: 1 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 1 // Size: 0x4 enum class DisableShadows_t : uint8_t -{ +{ kDisableShadows_None = 0x0, kDisableShadows_All = 0x1, kDisableShadows_Baked = 0x2, kDisableShadows_Realtime = 0x3, }; +struct SceneViewId_t; + // Alignment: 2 // Size: 0x10 -class CSSDSEndFrameViewInfo : public -{ +class CSSDSEndFrameViewInfo +{ public: - uint64_t m_nViewId; // 0x0 - CUtlString m_ViewName; // 0x8 + uint64_t m_nViewId; // 0x0 + CUtlString m_ViewName; // 0x8 }; // Alignment: 1 // Size: 0x18 -class CSSDSMsg_EndFrame : public -{ +class CSSDSMsg_EndFrame +{ public: - CUtlVector< CSSDSEndFrameViewInfo > m_Views; // 0x0 + CUtlVector< CSSDSEndFrameViewInfo > m_Views; // 0x0 }; // Alignment: 2 // Size: 0x10 -struct SceneViewId_t : public -{ +struct SceneViewId_t +{ public: - uint64_t m_nViewId; // 0x0 - uint64_t m_nFrameCount; // 0x8 + uint64_t m_nViewId; // 0x0 + uint64_t m_nFrameCount; // 0x8 }; // Alignment: 2 // Size: 0x18 -class CSSDSMsg_ViewRender : public -{ +class CSSDSMsg_ViewRender +{ public: - SceneViewId_t m_viewId; // 0x0 - CUtlString m_ViewName; // 0x10 + SceneViewId_t m_viewId; // 0x0 + CUtlString m_ViewName; // 0x10 }; // Alignment: 6 // Size: 0x38 -class CSSDSMsg_LayerBase : public -{ +class CSSDSMsg_LayerBase +{ public: - SceneViewId_t m_viewId; // 0x0 - CUtlString m_ViewName; // 0x10 - int32_t m_nLayerIndex; // 0x18 - uint64_t m_nLayerId; // 0x20 - CUtlString m_LayerName; // 0x28 - CUtlString m_displayText; // 0x30 + SceneViewId_t m_viewId; // 0x0 + CUtlString m_ViewName; // 0x10 + int32_t m_nLayerIndex; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + uint64_t m_nLayerId; // 0x20 + CUtlString m_LayerName; // 0x28 + CUtlString m_displayText; // 0x30 }; // Alignment: 10 // Size: 0x30 -class CSSDSMsg_ViewTarget : public -{ +class CSSDSMsg_ViewTarget +{ public: - CUtlString m_Name; // 0x0 - uint64_t m_TextureId; // 0x8 - int32_t m_nWidth; // 0x10 - int32_t m_nHeight; // 0x14 - int32_t m_nRequestedWidth; // 0x18 - int32_t m_nRequestedHeight; // 0x1c - int32_t m_nNumMipLevels; // 0x20 - int32_t m_nDepth; // 0x24 - int32_t m_nMultisampleNumSamples; // 0x28 - int32_t m_nFormat; // 0x2c + CUtlString m_Name; // 0x0 + uint64_t m_TextureId; // 0x8 + int32_t m_nWidth; // 0x10 + int32_t m_nHeight; // 0x14 + int32_t m_nRequestedWidth; // 0x18 + int32_t m_nRequestedHeight; // 0x1c + int32_t m_nNumMipLevels; // 0x20 + int32_t m_nDepth; // 0x24 + int32_t m_nMultisampleNumSamples; // 0x28 + int32_t m_nFormat; // 0x2c }; // Alignment: 3 // Size: 0x30 -class CSSDSMsg_ViewTargetList : public -{ +class CSSDSMsg_ViewTargetList +{ public: - SceneViewId_t m_viewId; // 0x0 - CUtlString m_ViewName; // 0x10 - CUtlVector< CSSDSMsg_ViewTarget > m_Targets; // 0x18 + SceneViewId_t m_viewId; // 0x0 + CUtlString m_ViewName; // 0x10 + CUtlVector< CSSDSMsg_ViewTarget > m_Targets; // 0x18 }; // Alignment: 0 // Size: 0x38 class CSSDSMsg_PreLayer : public CSSDSMsg_LayerBase -{ +{ public: // no members available }; @@ -104,7 +110,7 @@ public: // Alignment: 0 // Size: 0x38 class CSSDSMsg_PostLayer : public CSSDSMsg_LayerBase -{ +{ public: // no members available }; diff --git a/sdk/schemasystem.hpp b/sdk/schemasystem.hpp index 6e4cfb69..24c51083 100644 --- a/sdk/schemasystem.hpp +++ b/sdk/schemasystem.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: schemasystem.dll // Classes count: 7 // Enums count: 2 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x3 enum class ThreeState_t : uint32_t -{ +{ TRS_FALSE = 0x0, TRS_TRUE = 0x1, TRS_NONE = 0x2, @@ -20,7 +21,7 @@ enum class ThreeState_t : uint32_t // Alignment: 1 // Size: 0x50 enum class fieldtype_t : uint8_t -{ +{ FIELD_VOID = 0x0, FIELD_FLOAT32 = 0x1, FIELD_STRING = 0x2, @@ -105,79 +106,88 @@ enum class fieldtype_t : uint8_t // Alignment: 22 // Size: 0x180 -class CSchemaSystemInternalRegistration : public -{ +class CSchemaSystemInternalRegistration +{ public: - Vector2D m_Vector2D; // 0x0 - Vector m_Vector; // 0x8 - VectorAligned m_VectorAligned; // 0x20 - Quaternion m_Quaternion; // 0x30 - QAngle m_QAngle; // 0x40 - RotationVector m_RotationVector; // 0x4c - RadianEuler m_RadianEuler; // 0x58 - DegreeEuler m_DegreeEuler; // 0x64 - QuaternionStorage m_QuaternionStorage; // 0x70 - matrix3x4_t m_matrix3x4_t; // 0x80 - matrix3x4a_t m_matrix3x4a_t; // 0xb0 - Color m_Color; // 0xe0 - Vector4D m_Vector4D; // 0xe4 - CTransform m_CTransform; // 0x100 - KeyValues* m_pKeyValues; // 0x120 - CUtlBinaryBlock m_CUtlBinaryBlock; // 0x128 - CUtlString m_CUtlString; // 0x140 - CUtlSymbol m_CUtlSymbol; // 0x148 - CUtlStringToken m_stringToken; // 0x14c - CUtlStringTokenWithStorage m_stringTokenWithStorage; // 0x150 - CResourceArray< CResourcePointer< CResourceString > > m_ResourceTypes; // 0x168 - KeyValues3 m_KV3; // 0x170 + Vector2D m_Vector2D; // 0x0 + Vector m_Vector; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0014[0xc]; // 0x14 +public: + VectorAligned m_VectorAligned; // 0x20 + Quaternion m_Quaternion; // 0x30 + QAngle m_QAngle; // 0x40 + RotationVector m_RotationVector; // 0x4c + RadianEuler m_RadianEuler; // 0x58 + DegreeEuler m_DegreeEuler; // 0x64 + QuaternionStorage m_QuaternionStorage; // 0x70 + matrix3x4_t m_matrix3x4_t; // 0x80 + matrix3x4a_t m_matrix3x4a_t; // 0xb0 + Color m_Color; // 0xe0 + Vector4D m_Vector4D; // 0xe4 +private: + [[maybe_unused]] uint8_t __pad00f4[0xc]; // 0xf4 +public: + CTransform m_CTransform; // 0x100 + KeyValues* m_pKeyValues; // 0x120 + CUtlBinaryBlock m_CUtlBinaryBlock; // 0x128 + CUtlString m_CUtlString; // 0x140 + CUtlSymbol m_CUtlSymbol; // 0x148 +private: + [[maybe_unused]] uint8_t __pad014a[0x2]; // 0x14a +public: + CUtlStringToken m_stringToken; // 0x14c + CUtlStringTokenWithStorage m_stringTokenWithStorage; // 0x150 + CResourceArray< CResourcePointer< CResourceString > > m_ResourceTypes; // 0x168 + KeyValues3 m_KV3; // 0x170 }; // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCResourceManifestInternal : public -{ +class InfoForResourceTypeCResourceManifestInternal +{ public: // no members available }; // Alignment: 1 // Size: 0x8 -struct ResourceId_t : public -{ +struct ResourceId_t +{ public: - uint64_t m_Value; // 0x0 + uint64_t m_Value; // 0x0 }; // Alignment: 2 // Size: 0x8 -class CExampleSchemaVData_Monomorphic : public -{ +class CExampleSchemaVData_Monomorphic +{ public: - int32_t m_nExample1; // 0x0 - int32_t m_nExample2; // 0x4 + int32_t m_nExample1; // 0x0 + int32_t m_nExample2; // 0x4 }; // Alignment: 1 // Size: 0x10 -class CExampleSchemaVData_PolymorphicBase : public -{ +class CExampleSchemaVData_PolymorphicBase +{ public: - int32_t m_nBase; // 0x8 + int32_t m_nBase; // 0x8 }; // Alignment: 1 // Size: 0x18 class CExampleSchemaVData_PolymorphicDerivedA : public CExampleSchemaVData_PolymorphicBase -{ +{ public: - int32_t m_nDerivedA; // 0x10 + int32_t m_nDerivedA; // 0x10 }; // Alignment: 1 // Size: 0x18 class CExampleSchemaVData_PolymorphicDerivedB : public CExampleSchemaVData_PolymorphicBase -{ +{ public: - int32_t m_nDerivedB; // 0x10 + int32_t m_nDerivedB; // 0x10 }; diff --git a/sdk/server.hpp b/sdk/server.hpp index c84fc6b3..503a8b80 100644 --- a/sdk/server.hpp +++ b/sdk/server.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: server.dll // Classes count: 769 // Enums count: 123 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x13 enum class NavAttributeEnum : uint32_t -{ +{ NAV_MESH_AVOID = 0x80, NAV_MESH_STAIRS = 0x1000, NAV_MESH_NON_ZUP = 0x8000, @@ -36,7 +37,7 @@ enum class NavAttributeEnum : uint32_t // Alignment: 4 // Size: 0x5 enum class NavDirType : uint32_t -{ +{ NORTH = 0x0, EAST = 0x1, SOUTH = 0x2, @@ -47,7 +48,7 @@ enum class NavDirType : uint32_t // Alignment: 4 // Size: 0x3 enum class PointTemplateOwnerSpawnGroupType_t : uint32_t -{ +{ INSERT_INTO_POINT_TEMPLATE_SPAWN_GROUP = 0x0, INSERT_INTO_CURRENTLY_ACTIVE_SPAWN_GROUP = 0x1, INSERT_INTO_NEWLY_CREATED_SPAWN_GROUP = 0x2, @@ -56,7 +57,7 @@ enum class PointTemplateOwnerSpawnGroupType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class PointTemplateClientOnlyEntityBehavior_t : uint32_t -{ +{ CREATE_FOR_CURRENTLY_CONNECTED_CLIENTS_ONLY = 0x0, CREATE_FOR_CLIENTS_WHO_CONNECT_LATER = 0x1, }; @@ -64,7 +65,7 @@ enum class PointTemplateClientOnlyEntityBehavior_t : uint32_t // Alignment: 4 // Size: 0x4 enum class PerformanceMode_t : uint32_t -{ +{ PM_NORMAL = 0x0, PM_NO_GIBS = 0x1, PM_FULL_GIBS = 0x2, @@ -74,7 +75,7 @@ enum class PerformanceMode_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ChatIgnoreType_t : uint32_t -{ +{ CHAT_IGNORE_NONE = 0x0, CHAT_IGNORE_ALL = 0x1, CHAT_IGNORE_TEAM = 0x2, @@ -83,7 +84,7 @@ enum class ChatIgnoreType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class CommandExecMode_t : uint32_t -{ +{ EXEC_MANUAL = 0x0, EXEC_LEVELSTART = 0x1, EXEC_PERIODIC = 0x2, @@ -93,7 +94,7 @@ enum class CommandExecMode_t : uint32_t // Alignment: 4 // Size: 0x2 enum class CommandEntitySpecType_t : uint32_t -{ +{ SPEC_SEARCH = 0x0, SPEC_TYPES_COUNT = 0x1, }; @@ -101,7 +102,7 @@ enum class CommandEntitySpecType_t : uint32_t // Alignment: 4 // Size: 0x2a enum class GameAnimEventIndex_t : uint32_t -{ +{ AE_EMPTY = 0x0, AE_CL_PLAYSOUND = 0x1, AE_CL_PLAYSOUND_ATTACHMENT = 0x2, @@ -149,7 +150,7 @@ enum class GameAnimEventIndex_t : uint32_t // Alignment: 4 // Size: 0x7 enum class ObserverMode_t : uint32_t -{ +{ OBS_MODE_NONE = 0x0, OBS_MODE_FIXED = 0x1, OBS_MODE_IN_EYE = 0x2, @@ -162,7 +163,7 @@ enum class ObserverMode_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ObserverInterpState_t : uint32_t -{ +{ OBSERVER_INTERP_NONE = 0x0, OBSERVER_INTERP_TRAVELING = 0x1, OBSERVER_INTERP_SETTLING = 0x2, @@ -171,7 +172,7 @@ enum class ObserverInterpState_t : uint32_t // Alignment: 4 // Size: 0x1b enum class RumbleEffect_t : uint32_t -{ +{ RUMBLE_INVALID = 0xffffffffffffffff, RUMBLE_STOP_ALL = 0x0, RUMBLE_PISTOL = 0x1, @@ -204,7 +205,7 @@ enum class RumbleEffect_t : uint32_t // Alignment: 4 // Size: 0x15 enum class WeaponSound_t : uint32_t -{ +{ WEAPON_SOUND_EMPTY = 0x0, WEAPON_SOUND_SINGLE = 0x1, WEAPON_SOUND_DOUBLE = 0x2, @@ -231,7 +232,7 @@ enum class WeaponSound_t : uint32_t // Alignment: 4 // Size: 0x400 enum class BaseActivity_t : uint32_t -{ +{ ACT_RESET = 0x0, ACT_IDLE = 0x1, ACT_TRANSITION = 0x2, @@ -1261,7 +1262,7 @@ enum class BaseActivity_t : uint32_t // Alignment: 4 // Size: 0x3 enum class AmmoFlags_t : uint32_t -{ +{ AMMO_FORCE_DROP_IF_CARRIED = 0x1, AMMO_RESERVE_STAYS_WITH_WEAPON = 0x2, AMMO_FLAG_MAX = 0x2, @@ -1270,7 +1271,7 @@ enum class AmmoFlags_t : uint32_t // Alignment: 4 // Size: 0xe enum class TakeDamageFlags_t : uint32_t -{ +{ DFLAG_NONE = 0x0, DFLAG_SUPPRESS_HEALTH_CHANGES = 0x1, DFLAG_SUPPRESS_PHYSICS_FORCE = 0x2, @@ -1290,7 +1291,7 @@ enum class TakeDamageFlags_t : uint32_t // Alignment: 4 // Size: 0x18 enum class DamageTypes_t : uint32_t -{ +{ DMG_GENERIC = 0x0, DMG_CRUSH = 0x1, DMG_BULLET = 0x2, @@ -1320,7 +1321,7 @@ enum class DamageTypes_t : uint32_t // Alignment: 4 // Size: 0x11 enum class BaseExplosionTypes_t : uint32_t -{ +{ EXPLOSION_TYPE_DEFAULT = 0x0, EXPLOSION_TYPE_GRENADE = 0x1, EXPLOSION_TYPE_MOLOTOV = 0x2, @@ -1343,7 +1344,7 @@ enum class BaseExplosionTypes_t : uint32_t // Alignment: 4 // Size: 0x6 enum class HierarchyType_t : uint32_t -{ +{ HIERARCHY_NONE = 0x0, HIERARCHY_BONE_MERGE = 0x1, HIERARCHY_ATTACHMENT = 0x2, @@ -1355,7 +1356,7 @@ enum class HierarchyType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class CanPlaySequence_t : uint32_t -{ +{ CANNOT_PLAY = 0x0, CAN_PLAY_NOW = 0x1, CAN_PLAY_ENQUEUED = 0x2, @@ -1364,7 +1365,7 @@ enum class CanPlaySequence_t : uint32_t // Alignment: 4 // Size: 0x6 enum class ScriptedMoveTo_t : uint32_t -{ +{ CINE_MOVETO_WAIT = 0x0, CINE_MOVETO_WALK = 0x1, CINE_MOVETO_RUN = 0x2, @@ -1376,7 +1377,7 @@ enum class ScriptedMoveTo_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ScriptedOnDeath_t : uint32_t -{ +{ SS_ONDEATH_NOT_APPLICABLE = 0xffffffffffffffff, SS_ONDEATH_UNDEFINED = 0x0, SS_ONDEATH_RAGDOLL = 0x1, @@ -1386,7 +1387,7 @@ enum class ScriptedOnDeath_t : uint32_t // Alignment: 4 // Size: 0x7 enum class IChoreoServices__ScriptState_t : uint32_t -{ +{ SCRIPT_PLAYING = 0x0, SCRIPT_WAIT = 0x1, SCRIPT_POST_IDLE = 0x2, @@ -1399,7 +1400,7 @@ enum class IChoreoServices__ScriptState_t : uint32_t // Alignment: 4 // Size: 0x7 enum class IChoreoServices__ChoreoState_t : uint32_t -{ +{ STATE_PRE_SCRIPT = 0x0, STATE_WAIT_FOR_SCRIPT = 0x1, STATE_WALK_TO_MARK = 0x2, @@ -1412,7 +1413,7 @@ enum class IChoreoServices__ChoreoState_t : uint32_t // Alignment: 8 // Size: 0x15 enum class InputBitMask_t : uint64_t -{ +{ IN_NONE = 0x0, IN_ALL = 0xffffffffffffffff, IN_ATTACK = 0x1, @@ -1439,7 +1440,7 @@ enum class InputBitMask_t : uint64_t // Alignment: 4 // Size: 0x9 enum class EInButtonState : uint32_t -{ +{ IN_BUTTON_UP = 0x0, IN_BUTTON_DOWN = 0x1, IN_BUTTON_DOWN_UP = 0x2, @@ -1454,7 +1455,7 @@ enum class EInButtonState : uint32_t // Alignment: 4 // Size: 0x6 enum class ShakeCommand_t : uint32_t -{ +{ SHAKE_START = 0x0, SHAKE_STOP = 0x1, SHAKE_AMPLITUDE = 0x2, @@ -1466,7 +1467,7 @@ enum class ShakeCommand_t : uint32_t // Alignment: 4 // Size: 0x5 enum class TimelineCompression_t : uint32_t -{ +{ TIMELINE_COMPRESSION_SUM = 0x0, TIMELINE_COMPRESSION_COUNT_PER_INTERVAL = 0x1, TIMELINE_COMPRESSION_AVERAGE = 0x2, @@ -1477,7 +1478,7 @@ enum class TimelineCompression_t : uint32_t // Alignment: 8 // Size: 0x28 enum class DebugOverlayBits_t : uint64_t -{ +{ OVERLAY_TEXT_BIT = 0x1, OVERLAY_NAME_BIT = 0x2, OVERLAY_BBOX_BIT = 0x4, @@ -1523,7 +1524,7 @@ enum class DebugOverlayBits_t : uint64_t // Alignment: 1 // Size: 0xe enum class MoveType_t : uint8_t -{ +{ MOVETYPE_NONE = 0x0, MOVETYPE_OBSOLETE = 0x1, MOVETYPE_WALK = 0x2, @@ -1543,7 +1544,7 @@ enum class MoveType_t : uint8_t // Alignment: 1 // Size: 0x6 enum class MoveCollide_t : uint8_t -{ +{ MOVECOLLIDE_DEFAULT = 0x0, MOVECOLLIDE_FLY_BOUNCE = 0x1, MOVECOLLIDE_FLY_CUSTOM = 0x2, @@ -1555,7 +1556,7 @@ enum class MoveCollide_t : uint8_t // Alignment: 1 // Size: 0x9 enum class SolidType_t : uint8_t -{ +{ SOLID_NONE = 0x0, SOLID_BSP = 0x1, SOLID_BBOX = 0x2, @@ -1570,7 +1571,7 @@ enum class SolidType_t : uint8_t // Alignment: 4 // Size: 0x3 enum class BrushSolidities_e : uint32_t -{ +{ BRUSHSOLID_TOGGLE = 0x0, BRUSHSOLID_NEVER = 0x1, BRUSHSOLID_ALWAYS = 0x2, @@ -1579,7 +1580,7 @@ enum class BrushSolidities_e : uint32_t // Alignment: 1 // Size: 0xd enum class RenderMode_t : uint8_t -{ +{ kRenderNormal = 0x0, kRenderTransColor = 0x1, kRenderTransTexture = 0x2, @@ -1598,7 +1599,7 @@ enum class RenderMode_t : uint8_t // Alignment: 1 // Size: 0x14 enum class RenderFx_t : uint8_t -{ +{ kRenderFxNone = 0x0, kRenderFxPulseSlow = 0x1, kRenderFxPulseFast = 0x2, @@ -1624,7 +1625,7 @@ enum class RenderFx_t : uint8_t // Alignment: 4 // Size: 0x2 enum class CRR_Response__ResponseEnum_t : uint32_t -{ +{ MAX_RESPONSE_NAME = 0xc0, MAX_RULE_NAME = 0x80, }; @@ -1632,7 +1633,7 @@ enum class CRR_Response__ResponseEnum_t : uint32_t // Alignment: 4 // Size: 0x3 enum class LessonPanelLayoutFileTypes_t : uint32_t -{ +{ LAYOUT_HAND_DEFAULT = 0x0, LAYOUT_WORLD_DEFAULT = 0x1, LAYOUT_CUSTOM = 0x2, @@ -1641,7 +1642,7 @@ enum class LessonPanelLayoutFileTypes_t : uint32_t // Alignment: 4 // Size: 0x5 enum class Touch_t : uint32_t -{ +{ touch_none = 0x0, touch_player_only = 0x1, touch_npc_only = 0x2, @@ -1652,7 +1653,7 @@ enum class Touch_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ScriptedMoveType_t : uint32_t -{ +{ SCRIPTED_MOVETYPE_NONE = 0x0, SCRIPTED_MOVETYPE_TO_WITH_DURATION = 0x1, SCRIPTED_MOVETYPE_TO_WITH_MOVESPEED = 0x2, @@ -1662,7 +1663,7 @@ enum class ScriptedMoveType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ForcedCrouchState_t : uint32_t -{ +{ FORCEDCROUCH_NONE = 0x0, FORCEDCROUCH_CROUCHED = 0x1, FORCEDCROUCH_UNCROUCHED = 0x2, @@ -1671,7 +1672,7 @@ enum class ForcedCrouchState_t : uint32_t // Alignment: 4 // Size: 0xb enum class Hull_t : uint32_t -{ +{ HULL_HUMAN = 0x0, HULL_SMALL_CENTERED = 0x1, HULL_WIDE_HUMAN = 0x2, @@ -1688,14 +1689,14 @@ enum class Hull_t : uint32_t // Alignment: 4 // Size: 0x1 enum class navproperties_t : uint32_t -{ +{ NAV_IGNORE = 0x1, }; // Alignment: 4 // Size: 0x4 enum class CLogicBranchList__LogicBranchListenerLastState_t : uint32_t -{ +{ LOGIC_BRANCH_LISTENER_NOT_INIT = 0x0, LOGIC_BRANCH_LISTENER_ALL_TRUE = 0x1, LOGIC_BRANCH_LISTENER_ALL_FALSE = 0x2, @@ -1705,7 +1706,7 @@ enum class CLogicBranchList__LogicBranchListenerLastState_t : uint32_t // Alignment: 4 // Size: 0x3 enum class EntFinderMethod_t : uint32_t -{ +{ ENT_FIND_METHOD_NEAREST = 0x0, ENT_FIND_METHOD_FARTHEST = 0x1, ENT_FIND_METHOD_RANDOM = 0x2, @@ -1714,7 +1715,7 @@ enum class EntFinderMethod_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ValueRemapperInputType_t : uint32_t -{ +{ InputType_PlayerShootPosition = 0x0, InputType_PlayerShootPositionAroundAxis = 0x1, }; @@ -1722,7 +1723,7 @@ enum class ValueRemapperInputType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ValueRemapperOutputType_t : uint32_t -{ +{ OutputType_AnimationCycle = 0x0, OutputType_RotationX = 0x1, OutputType_RotationY = 0x2, @@ -1732,7 +1733,7 @@ enum class ValueRemapperOutputType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ValueRemapperHapticsType_t : uint32_t -{ +{ HaticsType_Default = 0x0, HaticsType_None = 0x1, }; @@ -1740,7 +1741,7 @@ enum class ValueRemapperHapticsType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class ValueRemapperMomentumType_t : uint32_t -{ +{ MomentumType_None = 0x0, MomentumType_Friction = 0x1, MomentumType_SpringTowardSnapValue = 0x2, @@ -1750,7 +1751,7 @@ enum class ValueRemapperMomentumType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ValueRemapperRatchetType_t : uint32_t -{ +{ RatchetType_Absolute = 0x0, RatchetType_EachEngage = 0x1, }; @@ -1758,7 +1759,7 @@ enum class ValueRemapperRatchetType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class PointWorldTextJustifyHorizontal_t : uint32_t -{ +{ POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_LEFT = 0x0, POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_CENTER = 0x1, POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT = 0x2, @@ -1767,7 +1768,7 @@ enum class PointWorldTextJustifyHorizontal_t : uint32_t // Alignment: 4 // Size: 0x3 enum class PointWorldTextJustifyVertical_t : uint32_t -{ +{ POINT_WORLD_TEXT_JUSTIFY_VERTICAL_BOTTOM = 0x0, POINT_WORLD_TEXT_JUSTIFY_VERTICAL_CENTER = 0x1, POINT_WORLD_TEXT_JUSTIFY_VERTICAL_TOP = 0x2, @@ -1776,7 +1777,7 @@ enum class PointWorldTextJustifyVertical_t : uint32_t // Alignment: 4 // Size: 0x2 enum class PointWorldTextReorientMode_t : uint32_t -{ +{ POINT_WORLD_TEXT_REORIENT_NONE = 0x0, POINT_WORLD_TEXT_REORIENT_AROUND_UP = 0x1, }; @@ -1784,7 +1785,7 @@ enum class PointWorldTextReorientMode_t : uint32_t // Alignment: 4 // Size: 0x3 enum class doorCheck_e : uint32_t -{ +{ DOOR_CHECK_FORWARD = 0x0, DOOR_CHECK_BACKWARD = 0x1, DOOR_CHECK_FULL = 0x2, @@ -1793,7 +1794,7 @@ enum class doorCheck_e : uint32_t // Alignment: 4 // Size: 0x4 enum class PropDoorRotatingSpawnPos_t : uint32_t -{ +{ DOOR_SPAWN_CLOSED = 0x0, DOOR_SPAWN_OPEN_FORWARD = 0x1, DOOR_SPAWN_OPEN_BACK = 0x2, @@ -1803,7 +1804,7 @@ enum class PropDoorRotatingSpawnPos_t : uint32_t // Alignment: 4 // Size: 0x3 enum class PropDoorRotatingOpenDirection_e : uint32_t -{ +{ DOOR_ROTATING_OPEN_BOTH_WAYS = 0x0, DOOR_ROTATING_OPEN_FORWARD = 0x1, DOOR_ROTATING_OPEN_BACKWARD = 0x2, @@ -1812,7 +1813,7 @@ enum class PropDoorRotatingOpenDirection_e : uint32_t // Alignment: 4 // Size: 0x2 enum class SceneOnPlayerDeath_t : uint32_t -{ +{ SCENE_ONPLAYERDEATH_DO_NOTHING = 0x0, SCENE_ONPLAYERDEATH_CANCEL = 0x1, }; @@ -1820,7 +1821,7 @@ enum class SceneOnPlayerDeath_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ScriptedConflictResponse_t : uint32_t -{ +{ SS_CONFLICT_ENQUEUE = 0x0, SS_CONFLICT_INTERRUPT = 0x1, }; @@ -1828,7 +1829,7 @@ enum class ScriptedConflictResponse_t : uint32_t // Alignment: 4 // Size: 0x3 enum class TRAIN_CODE : uint32_t -{ +{ TRAIN_SAFE = 0x0, TRAIN_BLOCKING = 0x1, TRAIN_FOLLOWING = 0x2, @@ -1837,7 +1838,7 @@ enum class TRAIN_CODE : uint32_t // Alignment: 4 // Size: 0x8 enum class TOGGLE_STATE : uint32_t -{ +{ TS_AT_TOP = 0x0, TS_AT_BOTTOM = 0x1, TS_GOING_UP = 0x2, @@ -1851,7 +1852,7 @@ enum class TOGGLE_STATE : uint32_t // Alignment: 4 // Size: 0x2 enum class FuncDoorSpawnPos_t : uint32_t -{ +{ FUNC_DOOR_SPAWN_CLOSED = 0x0, FUNC_DOOR_SPAWN_OPEN = 0x1, }; @@ -1859,7 +1860,7 @@ enum class FuncDoorSpawnPos_t : uint32_t // Alignment: 4 // Size: 0x2 enum class filter_t : uint32_t -{ +{ FILTER_AND = 0x0, FILTER_OR = 0x1, }; @@ -1867,7 +1868,7 @@ enum class filter_t : uint32_t // Alignment: 4 // Size: 0x3 enum class Explosions : uint32_t -{ +{ expRandom = 0x0, expDirected = 0x1, expUsePrecise = 0x2, @@ -1876,7 +1877,7 @@ enum class Explosions : uint32_t // Alignment: 4 // Size: 0xc enum class Materials : uint32_t -{ +{ matGlass = 0x0, matWood = 0x1, matMetal = 0x2, @@ -1894,7 +1895,7 @@ enum class Materials : uint32_t // Alignment: 4 // Size: 0x3 enum class EOverrideBlockLOS_t : uint32_t -{ +{ BLOCK_LOS_DEFAULT = 0x0, BLOCK_LOS_FORCE_FALSE = 0x1, BLOCK_LOS_FORCE_TRUE = 0x2, @@ -1903,7 +1904,7 @@ enum class EOverrideBlockLOS_t : uint32_t // Alignment: 4 // Size: 0x3 enum class MoveLinearAuthoredPos_t : uint32_t -{ +{ MOVELINEAR_AUTHORED_AT_START_POSITION = 0x0, MOVELINEAR_AUTHORED_AT_OPEN_POSITION = 0x1, MOVELINEAR_AUTHORED_AT_CLOSED_POSITION = 0x2, @@ -1912,7 +1913,7 @@ enum class MoveLinearAuthoredPos_t : uint32_t // Alignment: 4 // Size: 0x3 enum class TrackOrientationType_t : uint32_t -{ +{ TrackOrientation_Fixed = 0x0, TrackOrientation_FacePath = 0x1, TrackOrientation_FacePathAngles = 0x2, @@ -1921,7 +1922,7 @@ enum class TrackOrientationType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t : uint32_t -{ +{ kMIN_THRESHOLD = 0x0, kMIN_FULL = 0x1, kHIGHWATER = 0x2, @@ -1930,7 +1931,7 @@ enum class SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_ // Alignment: 4 // Size: 0x17 enum class SoundFlags_t : uint32_t -{ +{ SOUND_NONE = 0x0, SOUND_COMBAT = 0x1, SOUND_WORLD = 0x2, @@ -1959,7 +1960,7 @@ enum class SoundFlags_t : uint32_t // Alignment: 4 // Size: 0x3 enum class TrainVelocityType_t : uint32_t -{ +{ TrainVelocity_Instantaneous = 0x0, TrainVelocity_LinearBlend = 0x1, TrainVelocity_EaseInEaseOut = 0x2, @@ -1968,7 +1969,7 @@ enum class TrainVelocityType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class TrainOrientationType_t : uint32_t -{ +{ TrainOrientation_Fixed = 0x0, TrainOrientation_AtPathTracks = 0x1, TrainOrientation_LinearBlend = 0x2, @@ -1978,7 +1979,7 @@ enum class TrainOrientationType_t : uint32_t // Alignment: 4 // Size: 0x7 enum class BeamType_t : uint32_t -{ +{ BEAM_INVALID = 0x0, BEAM_POINTS = 0x1, BEAM_ENTPOINT = 0x2, @@ -1991,7 +1992,7 @@ enum class BeamType_t : uint32_t // Alignment: 4 // Size: 0x4 enum class BeamClipStyle_t : uint32_t -{ +{ kNOCLIP = 0x0, kGEOCLIP = 0x1, kMODELCLIP = 0x2, @@ -2001,7 +2002,7 @@ enum class BeamClipStyle_t : uint32_t // Alignment: 1 // Size: 0x9 enum class SurroundingBoundsType_t : uint8_t -{ +{ USE_OBB_COLLISION_BOUNDS = 0x0, USE_BEST_COLLISION_BOUNDS = 0x1, USE_HITBOXES = 0x2, @@ -2016,7 +2017,7 @@ enum class SurroundingBoundsType_t : uint8_t // Alignment: 1 // Size: 0x2 enum class ShatterPanelMode : uint8_t -{ +{ SHATTER_GLASS = 0x0, SHATTER_DRYWALL = 0x1, }; @@ -2024,7 +2025,7 @@ enum class ShatterPanelMode : uint8_t // Alignment: 1 // Size: 0x5 enum class ShatterDamageCause : uint8_t -{ +{ SHATTERDAMAGE_BULLET = 0x0, SHATTERDAMAGE_MELEE = 0x1, SHATTERDAMAGE_THROWN = 0x2, @@ -2035,7 +2036,7 @@ enum class ShatterDamageCause : uint8_t // Alignment: 1 // Size: 0x5 enum class ShatterGlassStressType : uint8_t -{ +{ SHATTERGLASS_BLUNT = 0x0, SHATTERGLASS_BALLISTIC = 0x1, SHATTERGLASS_PULSE = 0x2, @@ -2046,7 +2047,7 @@ enum class ShatterGlassStressType : uint8_t // Alignment: 1 // Size: 0x3 enum class OnFrame : uint8_t -{ +{ ONFRAME_UNKNOWN = 0x0, ONFRAME_TRUE = 0x1, ONFRAME_FALSE = 0x2, @@ -2055,7 +2056,7 @@ enum class OnFrame : uint8_t // Alignment: 1 // Size: 0x2 enum class ShardSolid_t : uint8_t -{ +{ SHARD_SOLID = 0x0, SHARD_DEBRIS = 0x1, }; @@ -2063,7 +2064,7 @@ enum class ShardSolid_t : uint8_t // Alignment: 4 // Size: 0x5 enum class AnimLoopMode_t : uint32_t -{ +{ ANIM_LOOP_MODE_INVALID = 0xffffffffffffffff, ANIM_LOOP_MODE_NOT_LOOPING = 0x0, ANIM_LOOP_MODE_LOOPING = 0x1, @@ -2074,7 +2075,7 @@ enum class AnimLoopMode_t : uint32_t // Alignment: 4 // Size: 0x4 enum class EntitySubclassScope_t : uint32_t -{ +{ SUBCLASS_SCOPE_NONE = 0xffffffffffffffff, SUBCLASS_SCOPE_PRECIPITATION = 0x0, SUBCLASS_SCOPE_PLAYER_WEAPONS = 0x1, @@ -2084,7 +2085,7 @@ enum class EntitySubclassScope_t : uint32_t // Alignment: 4 // Size: 0x3 enum class SubclassVDataChangeType_t : uint32_t -{ +{ SUBCLASS_VDATA_CREATED = 0x0, SUBCLASS_VDATA_SUBCLASS_CHANGED = 0x1, SUBCLASS_VDATA_RELOADED = 0x2, @@ -2093,7 +2094,7 @@ enum class SubclassVDataChangeType_t : uint32_t // Alignment: 4 // Size: 0x7 enum class PlayerConnectedState : uint32_t -{ +{ PlayerNeverConnected = 0xffffffffffffffff, PlayerConnected = 0x0, PlayerConnecting = 0x1, @@ -2106,7 +2107,7 @@ enum class PlayerConnectedState : uint32_t // Alignment: 4 // Size: 0x23 enum class vote_create_failed_t : uint32_t -{ +{ VOTE_FAILED_GENERIC = 0x0, VOTE_FAILED_TRANSITIONING_PLAYERS = 0x1, VOTE_FAILED_RATE_EXCEEDED = 0x2, @@ -2147,7 +2148,7 @@ enum class vote_create_failed_t : uint32_t // Alignment: 4 // Size: 0x3 enum class WeaponState_t : uint32_t -{ +{ WEAPON_NOT_CARRIED = 0x0, WEAPON_IS_CARRIED_BY_PLAYER = 0x1, WEAPON_IS_ACTIVE = 0x2, @@ -2156,7 +2157,7 @@ enum class WeaponState_t : uint32_t // Alignment: 1 // Size: 0x9 enum class ItemFlagTypes_t : uint8_t -{ +{ ITEM_FLAG_NONE = 0x0, ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO = 0x1, ITEM_FLAG_NOAUTORELOAD = 0x2, @@ -2171,7 +2172,7 @@ enum class ItemFlagTypes_t : uint8_t // Alignment: 4 // Size: 0x5 enum class EntityDisolveType_t : uint32_t -{ +{ ENTITY_DISSOLVE_INVALID = 0xffffffffffffffff, ENTITY_DISSOLVE_NORMAL = 0x0, ENTITY_DISSOLVE_ELECTRICAL = 0x1, @@ -2182,7 +2183,7 @@ enum class EntityDisolveType_t : uint32_t // Alignment: 4 // Size: 0xe enum class HitGroup_t : uint32_t -{ +{ HITGROUP_INVALID = 0xffffffffffffffff, HITGROUP_GENERIC = 0x0, HITGROUP_HEAD = 0x1, @@ -2202,7 +2203,7 @@ enum class HitGroup_t : uint32_t // Alignment: 1 // Size: 0x6 enum class WaterLevel_t : uint8_t -{ +{ WL_NotInWater = 0x0, WL_Feet = 0x1, WL_Waist = 0x2, @@ -2214,7 +2215,7 @@ enum class WaterLevel_t : uint8_t // Alignment: 4 // Size: 0x5 enum class DoorState_t : uint32_t -{ +{ DOOR_STATE_CLOSED = 0x0, DOOR_STATE_OPENING = 0x1, DOOR_STATE_OPEN = 0x2, @@ -2225,7 +2226,7 @@ enum class DoorState_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ShadowType_t : uint32_t -{ +{ SHADOWS_NONE = 0x0, SHADOWS_SIMPLE = 0x1, }; @@ -2233,7 +2234,7 @@ enum class ShadowType_t : uint32_t // Alignment: 4 // Size: 0x9 enum class Class_T : uint32_t -{ +{ CLASS_NONE = 0x0, CLASS_PLAYER = 0x1, CLASS_PLAYER_ALLY = 0x2, @@ -2248,7 +2249,7 @@ enum class Class_T : uint32_t // Alignment: 4 // Size: 0xa enum class Disposition_t : uint32_t -{ +{ D_ER = 0x0, D_HT = 0x1, D_FR = 0x2, @@ -2264,7 +2265,7 @@ enum class Disposition_t : uint32_t // Alignment: 4 // Size: 0x6 enum class LatchDirtyPermission_t : uint32_t -{ +{ LATCH_DIRTY_DISALLOW = 0x0, LATCH_DIRTY_SERVER_CONTROLLED = 0x1, LATCH_DIRTY_CLIENT_SIMULATED = 0x2, @@ -2276,7 +2277,7 @@ enum class LatchDirtyPermission_t : uint32_t // Alignment: 4 // Size: 0x5 enum class LifeState_t : uint32_t -{ +{ LIFE_ALIVE = 0x0, LIFE_DYING = 0x1, LIFE_DEAD = 0x2, @@ -2287,7 +2288,7 @@ enum class LifeState_t : uint32_t // Alignment: 4 // Size: 0x4 enum class StanceType_t : uint32_t -{ +{ STANCE_CURRENT = 0xffffffffffffffff, STANCE_DEFAULT = 0x0, STANCE_CROUCHING = 0x1, @@ -2297,7 +2298,7 @@ enum class StanceType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class ModifyDamageReturn_t : uint32_t -{ +{ CONTINUE_TO_APPLY_DAMAGE = 0x0, ABORT_DO_NOT_APPLY_DAMAGE = 0x1, }; @@ -2305,7 +2306,7 @@ enum class ModifyDamageReturn_t : uint32_t // Alignment: 4 // Size: 0x3 enum class WorldTextPanelHorizontalAlign_t : uint32_t -{ +{ WORLDTEXT_HORIZONTAL_ALIGN_LEFT = 0x0, WORLDTEXT_HORIZONTAL_ALIGN_CENTER = 0x1, WORLDTEXT_HORIZONTAL_ALIGN_RIGHT = 0x2, @@ -2314,7 +2315,7 @@ enum class WorldTextPanelHorizontalAlign_t : uint32_t // Alignment: 4 // Size: 0x3 enum class WorldTextPanelVerticalAlign_t : uint32_t -{ +{ WORLDTEXT_VERTICAL_ALIGN_TOP = 0x0, WORLDTEXT_VERTICAL_ALIGN_CENTER = 0x1, WORLDTEXT_VERTICAL_ALIGN_BOTTOM = 0x2, @@ -2323,7 +2324,7 @@ enum class WorldTextPanelVerticalAlign_t : uint32_t // Alignment: 4 // Size: 0x3 enum class WorldTextPanelOrientation_t : uint32_t -{ +{ WORLDTEXT_ORIENTATION_DEFAULT = 0x0, WORLDTEXT_ORIENTATION_FACEUSER = 0x1, WORLDTEXT_ORIENTATION_FACEUSER_UPRIGHT = 0x2, @@ -2332,7 +2333,7 @@ enum class WorldTextPanelOrientation_t : uint32_t // Alignment: 4 // Size: 0x4 enum class WorldTextAttachmentType_t : uint32_t -{ +{ ATTACHED_NONE = 0x0, ATTACHED_ENTITY = 0x1, ATTACHED_ENTITY_LARGE = 0x2, @@ -2342,7 +2343,7 @@ enum class WorldTextAttachmentType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class attributeprovidertypes_t : uint32_t -{ +{ PROVIDER_GENERIC = 0x0, PROVIDER_WEAPON = 0x1, }; @@ -2350,7 +2351,7 @@ enum class attributeprovidertypes_t : uint32_t // Alignment: 4 // Size: 0x4 enum class SpawnPointCoopEnemy__BotDefaultBehavior_t : uint32_t -{ +{ DEFEND_AREA = 0x0, HUNT = 0x1, CHARGE_ENEMY = 0x2, @@ -2360,7 +2361,7 @@ enum class SpawnPointCoopEnemy__BotDefaultBehavior_t : uint32_t // Alignment: 4 // Size: 0x4 enum class MoveMountingAmount_t : uint32_t -{ +{ MOVE_MOUNT_NONE = 0x0, MOVE_MOUNT_LOW = 0x1, MOVE_MOUNT_HIGH = 0x2, @@ -2370,7 +2371,7 @@ enum class MoveMountingAmount_t : uint32_t // Alignment: 4 // Size: 0xa enum class CSPlayerState : uint32_t -{ +{ STATE_ACTIVE = 0x0, STATE_WELCOME = 0x1, STATE_PICKINGTEAM = 0x2, @@ -2386,7 +2387,7 @@ enum class CSPlayerState : uint32_t // Alignment: 4 // Size: 0x12 enum class CSPlayerBlockingUseAction_t : uint32_t -{ +{ k_CSPlayerBlockingUseAction_None = 0x0, k_CSPlayerBlockingUseAction_DefusingDefault = 0x1, k_CSPlayerBlockingUseAction_DefusingWithKit = 0x2, @@ -2410,7 +2411,7 @@ enum class CSPlayerBlockingUseAction_t : uint32_t // Alignment: 4 // Size: 0x8 enum class GrenadeType_t : uint32_t -{ +{ GRENADE_TYPE_EXPLOSIVE = 0x0, GRENADE_TYPE_FLASH = 0x1, GRENADE_TYPE_FIRE = 0x2, @@ -2424,7 +2425,7 @@ enum class GrenadeType_t : uint32_t // Alignment: 4 // Size: 0x6 enum class RelativeDamagedDirection_t : uint32_t -{ +{ DAMAGED_DIR_NONE = 0x0, DAMAGED_DIR_FRONT = 0x1, DAMAGED_DIR_BACK = 0x2, @@ -2436,7 +2437,7 @@ enum class RelativeDamagedDirection_t : uint32_t // Alignment: 4 // Size: 0xd enum class QuestProgress__Reason : uint32_t -{ +{ QUEST_NONINITIALIZED = 0x0, QUEST_OK = 0x1, QUEST_NOT_ENOUGH_PLAYERS = 0x2, @@ -2455,7 +2456,7 @@ enum class QuestProgress__Reason : uint32_t // Alignment: 4 // Size: 0x49 enum class loadout_positions_t : uint32_t -{ +{ LOADOUT_POSITION_INVALID = 0xffffffffffffffff, LOADOUT_POSITION_MELEE = 0x0, LOADOUT_POSITION_C4 = 0x1, @@ -2534,7 +2535,7 @@ enum class loadout_positions_t : uint32_t // Alignment: 1 // Size: 0x7 enum class EKillTypes_t : uint8_t -{ +{ KILL_NONE = 0x0, KILL_DEFAULT = 0x1, KILL_HEADSHOT = 0x2, @@ -2547,7 +2548,7 @@ enum class EKillTypes_t : uint8_t // Alignment: 4 // Size: 0x14 enum class CSWeaponType : uint32_t -{ +{ WEAPONTYPE_KNIFE = 0x0, WEAPONTYPE_PISTOL = 0x1, WEAPONTYPE_SUBMACHINEGUN = 0x2, @@ -2573,7 +2574,7 @@ enum class CSWeaponType : uint32_t // Alignment: 4 // Size: 0x7 enum class CSWeaponCategory : uint32_t -{ +{ WEAPONCATEGORY_OTHER = 0x0, WEAPONCATEGORY_MELEE = 0x1, WEAPONCATEGORY_SECONDARY = 0x2, @@ -2586,7 +2587,7 @@ enum class CSWeaponCategory : uint32_t // Alignment: 4 // Size: 0x3 enum class CSWeaponSilencerType : uint32_t -{ +{ WEAPONSILENCER_NONE = 0x0, WEAPONSILENCER_DETACHABLE = 0x1, WEAPONSILENCER_INTEGRATED = 0x2, @@ -2595,7 +2596,7 @@ enum class CSWeaponSilencerType : uint32_t // Alignment: 4 // Size: 0x17 enum class PlayerAnimEvent_t : uint32_t -{ +{ PLAYERANIMEVENT_FIRE_GUN_PRIMARY = 0x0, PLAYERANIMEVENT_FIRE_GUN_SECONDARY = 0x1, PLAYERANIMEVENT_GRENADE_PULL_PIN = 0x2, @@ -2624,7 +2625,7 @@ enum class PlayerAnimEvent_t : uint32_t // Alignment: 4 // Size: 0x5 enum class MedalRank_t : uint32_t -{ +{ MEDAL_RANK_NONE = 0x0, MEDAL_RANK_BRONZE = 0x1, MEDAL_RANK_SILVER = 0x2, @@ -2635,7 +2636,7 @@ enum class MedalRank_t : uint32_t // Alignment: 1 // Size: 0xa enum class ESurvivalSpawnTileState : uint8_t -{ +{ kSurvivalSpawn_Available = 0x0, kSurvivalSpawn_Unused = 0x1, kSurvivalSpawn_Blocked = 0x2, @@ -2651,7 +2652,7 @@ enum class ESurvivalSpawnTileState : uint8_t // Alignment: 4 // Size: 0x7 enum class ESurvivalGameRuleDecision_t : uint32_t -{ +{ k_ESurvivalGameRuleDecision_Unknown = 0x0, k_ESurvivalGameRuleDecision_Tablet_Purchase_Pistol_DefIdx = 0x1, k_ESurvivalGameRuleDecision_Tablet_Purchase_SMG_DefIdx = 0x2, @@ -2664,7 +2665,7 @@ enum class ESurvivalGameRuleDecision_t : uint32_t // Alignment: 4 // Size: 0x8 enum class SpawnStage_t : uint32_t -{ +{ SPAWN_STAGE_NONE = 0x0, SPAWN_STAGE_SELECTION = 0x1, SPAWN_STAGE_LOCKED = 0x3, @@ -2678,7 +2679,7 @@ enum class SpawnStage_t : uint32_t // Alignment: 4 // Size: 0x3 enum class CSWeaponMode : uint32_t -{ +{ Primary_Mode = 0x0, Secondary_Mode = 0x1, WeaponMode_MAX = 0x2, @@ -2687,7 +2688,7 @@ enum class CSWeaponMode : uint32_t // Alignment: 4 // Size: 0x3 enum class EGrenadeThrowState : uint32_t -{ +{ NotThrowing = 0x0, Throwing = 0x1, ThrowComplete = 0x2, @@ -2696,7 +2697,7 @@ enum class EGrenadeThrowState : uint32_t // Alignment: 1 // Size: 0x3 enum class tablet_skin_state_t : uint8_t -{ +{ TABLET_SKIN_STATE_BLANK = 0x0, TABLET_SKIN_STATE_RADAR = 0x1, TABLET_SKIN_STATE_BUYMENU = 0x2, @@ -2705,7 +2706,7 @@ enum class tablet_skin_state_t : uint8_t // Alignment: 4 // Size: 0x11 enum class gear_slot_t : uint32_t -{ +{ GEAR_SLOT_INVALID = 0xffffffffffffffff, GEAR_SLOT_RIFLE = 0x0, GEAR_SLOT_PISTOL = 0x1, @@ -2728,7 +2729,7 @@ enum class gear_slot_t : uint32_t // Alignment: 4 // Size: 0x7 enum class ChickenActivity : uint32_t -{ +{ IDLE = 0x0, WALK = 0x1, RUN = 0x2, @@ -2738,35 +2739,154 @@ enum class ChickenActivity : uint32_t LAND = 0x6, }; +struct ChangeAccessorFieldPathIndex_t; +struct CEntityIdentity; +struct CScriptComponent; +struct CGameSceneNode; +struct CNetworkVarChainer; +struct CSkeletonInstance; +struct GameTime_t; +struct CSkillFloat; +struct GameTick_t; +struct fogplayerparams_t; +struct audioparams_t; +struct CInButtonState; +struct CRangeInt; +struct CRangeFloat; +struct CBaseAnimGraphController; +struct ModelConfigHandle_t; +struct CEntityInstance; +struct CGameSceneNodeHandle; +struct CNetworkOriginCellCoordQuantizedVector; +struct HSequence; +struct CModelState; +struct ResponseFollowup; +struct ResponseParams; +struct CRR_Response; +struct CBaseFlex; +struct CResponseCriteriaSet; +struct CSoundEnvelope; +struct CCopyRecipientFilter; +struct CBodyComponent; +struct CNetworkTransmitComponent; +struct CEntityIOOutput; +struct CNetworkVelocityVector; +struct CCollisionProperty; +struct CountdownTimer; +struct VelocitySampler; +struct SimpleConstraintSoundProfile; +struct sky3dparams_t; +struct CSkyCamera; +struct CBaseEntity; +struct AttachmentHandle_t; +struct ParticleIndex_t; +struct VPhysicsCollisionAttribute_t; +struct fogparams_t; +struct AmmoIndex_t; +struct CTakeDamageInfo; +struct CTakeDamageResult; +struct CAttributeManager; +struct CEconItemView; +struct CCSGameRules; +struct CSurvivalGameRules; +struct CRetakeGameRules; +struct CBasePlayerWeapon; +struct CSMatchStats_t; +struct CBasePlayerController; +struct CVoteController; +struct CCSPlayerPawnBase; +struct CPointCamera; +struct CNetworkedSequenceOperation; +struct CAnimGraphNetworkedVariables; +struct AnimationUpdateListHandle_t; +struct CRenderComponent; +struct CHitboxComponent; +struct CGlowProperty; +struct CNetworkViewOffsetVector; +struct CEnvWindShared; +struct CPhysicsShake; +struct hudtextparms_t; +struct CPathKeyFrame; +struct CConstantForceController; +struct CMotorController; +struct ConstraintSoundInfo; +struct constraint_hingeparams_t; +struct dynpitchvol_t; +struct locksound_t; +struct CPathTrack; +struct CBuoyancyHelper; +struct ragdoll_t; +struct CAttributeList; +struct CCSPlayerController_InGameMoneyServices; +struct CCSPlayerController_InventoryServices; +struct CCSPlayerController_ActionTrackingServices; +struct CCSPlayerController_DamageServices; +struct IntervalTimer; +struct CFiringModeFloat; +struct CFiringModeInt; +struct Extent; +struct CBasePlayerPawn; +struct CLightComponent; +struct PhysicsRagdollPose_t; +struct IChoreoServices; +struct CFuncTrackTrain; +struct CSprite; +struct shard_model_desc_t; +struct CAttributeContainer; +struct CSoundPatch; +struct EntitySpottedState_t; +struct CPlayer_WeaponServices; +struct CPlayer_ItemServices; +struct CPlayer_AutoaimServices; +struct CPlayer_ObserverServices; +struct CPlayer_WaterServices; +struct CPlayer_UseServices; +struct CPlayer_FlashlightServices; +struct CPlayer_CameraServices; +struct CPlayer_MovementServices; +struct CAI_Expresser; +struct CIronSightController; +struct CTouchExpansionComponent; +struct CCSPlayer_ActionTrackingServices; +struct CCSPlayer_ViewModelServices; +struct CCSBot; +struct CCSPlayer_ParachuteServices; +struct CCSPlayer_BulletServices; +struct CCSPlayer_HostageServices; +struct CCSPlayer_BuyServices; +struct CCSPlayer_PingServices; +struct CCSPlayer_RadioServices; +struct CCSPlayer_DamageReactServices; + // Alignment: 1 // Size: 0x8 -class CRangeFloat : public -{ +class CRangeFloat +{ public: - float32[2] m_pValue; // 0x0 + float m_pValue[2]; // 0x0 }; // Alignment: 1 // Size: 0x8 -class CRangeInt : public -{ +class CRangeInt +{ public: - int32[2] m_pValue; // 0x0 + int32_t m_pValue[2]; // 0x0 }; // Alignment: 2 // Size: 0x18 -class Extent : public -{ +class Extent +{ public: - Vector lo; // 0x0 - Vector hi; // 0xc + Vector lo; // 0x0 + Vector hi; // 0xc }; // Alignment: 0 // Size: 0x70 -class CNavVolume : public -{ +class CNavVolume +{ public: // no members available }; @@ -2774,15 +2894,15 @@ public: // Alignment: 1 // Size: 0x98 class CNavVolumeVector : public CNavVolume -{ +{ public: - bool m_bHasBeenPreFiltered; // 0x78 + bool m_bHasBeenPreFiltered; // 0x78 }; // Alignment: 0 // Size: 0x98 -class CNavVolumeAll : public CNavVolumeVector, CNavVolume -{ +class CNavVolumeAll : public CNavVolumeVector +{ public: // no members available }; @@ -2790,744 +2910,119 @@ public: // Alignment: 2 // Size: 0x80 class CNavVolumeSphere : public CNavVolume -{ +{ public: - Vector m_vCenter; // 0x70 - float m_flRadius; // 0x7c + Vector m_vCenter; // 0x70 + float m_flRadius; // 0x7c }; // Alignment: 1 // Size: 0x88 -class CNavVolumeSphericalShell : public CNavVolumeSphere, CNavVolume -{ +class CNavVolumeSphericalShell : public CNavVolumeSphere +{ public: - float m_flRadiusInner; // 0x80 + float m_flRadiusInner; // 0x80 }; // Alignment: 11 // Size: 0x78 -class CEntityIdentity : public -{ +class CEntityIdentity +{ public: // MNetworkEnable // MNetworkChangeCallback "entityIdentityNameChanged" - int32_t m_nameStringableIndex; // 0x14 - CUtlSymbolLarge m_name; // 0x18 - CUtlSymbolLarge m_designerName; // 0x20 - uint32_t m_flags; // 0x30 + int32_t m_nameStringableIndex; // 0x14 + CUtlSymbolLarge m_name; // 0x18 + CUtlSymbolLarge m_designerName; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 +public: + uint32_t m_flags; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: // MNetworkDisable - WorldGroupId_t m_worldGroupId; // 0x38 - uint32_t m_fDataObjectTypes; // 0x3c + WorldGroupId_t m_worldGroupId; // 0x38 + uint32_t m_fDataObjectTypes; // 0x3c // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x40 - CEntityIdentity* m_pPrev; // 0x58 - CEntityIdentity* m_pNext; // 0x60 - CEntityIdentity* m_pPrevByClass; // 0x68 - CEntityIdentity* m_pNextByClass; // 0x70 + ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0042[0x16]; // 0x42 +public: + CEntityIdentity* m_pPrev; // 0x58 + CEntityIdentity* m_pNext; // 0x60 + CEntityIdentity* m_pPrevByClass; // 0x68 + CEntityIdentity* m_pNextByClass; // 0x70 }; // Alignment: 3 // Size: 0x30 class CEntityInstance : public IHandleEntity -{ +{ public: // MNetworkDisable - CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 + CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 // MNetworkEnable // MNetworkPriority "56" - CEntityIdentity* m_pEntity; // 0x10 + CEntityIdentity* m_pEntity; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0018[0x10]; // 0x18 +public: // MNetworkEnable // MNetworkDisable - CScriptComponent* m_CScriptComponent; // 0x28 + CScriptComponent* m_CScriptComponent; // 0x28 }; // Alignment: 1 // Size: 0x38 class CScriptComponent : public CEntityComponent -{ +{ public: - CUtlSymbolLarge m_scriptClassName; // 0x30 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[1]->m_instance);}; + CUtlSymbolLarge m_scriptClassName; // 0x30 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 2 // Size: 0x50 class CBodyComponent : public CEntityComponent -{ +{ public: // MNetworkDisable - CGameSceneNode* m_pSceneNode; // 0x8 - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x20 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[1]->m_instance);}; -}; - -// Alignment: 2 -// Size: 0x1d0 -class CBodyComponentPoint : public CBodyComponent, CEntityComponent -{ -public: - // MNetworkEnable - CGameSceneNode m_sceneNode; // 0x50 - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x1a0 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[1]->m_instance);}; -}; - -// Alignment: 2 -// Size: 0x470 -class CBodyComponentSkeletonInstance : public CBodyComponent, CEntityComponent -{ -public: - // MNetworkEnable - CSkeletonInstance m_skeletonInstance; // 0x50 - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x440 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[1]->m_instance);}; -}; - -// Alignment: 1 -// Size: 0x28 -class CHitboxComponent : public CEntityComponent -{ -public: - // MNetworkEnable - uint32[1] m_bvDisabledHitGroups; // 0x24 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_referenced_but_impl_is_contained(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[1]->m_instance);}; -}; - -// Alignment: 68 -// Size: 0x1d0 -class CLightComponent : public CEntityComponent -{ + CGameSceneNode* m_pSceneNode; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0010[0x10]; // 0x10 public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x48 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - Color m_Color; // 0x85 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - Color m_SecondaryColor; // 0x89 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flBrightness; // 0x90 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flBrightnessScale; // 0x94 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flBrightnessMult; // 0x98 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flRange; // 0x9c - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flFalloff; // 0xa0 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flAttenuation0; // 0xa4 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flAttenuation1; // 0xa8 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flAttenuation2; // 0xac - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flTheta; // 0xb0 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flPhi; // 0xb4 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0xb8 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nCascades; // 0xc0 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nCastShadows; // 0xc4 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowWidth; // 0xc8 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowHeight; // 0xcc - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderDiffuse; // 0xd0 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nRenderSpecular; // 0xd4 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderTransmissive; // 0xd8 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flOrthoLightWidth; // 0xdc - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flOrthoLightHeight; // 0xe0 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nStyle; // 0xe4 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - CUtlString m_Pattern; // 0xe8 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nCascadeRenderStaticObjects; // 0xf0 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeCrossFade; // 0xf4 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistanceFade; // 0xf8 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance0; // 0xfc - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance1; // 0x100 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance2; // 0x104 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance3; // 0x108 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution0; // 0x10c - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution1; // 0x110 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution2; // 0x114 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution3; // 0x118 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - bool m_bUsesBakedShadowing; // 0x11c - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowPriority; // 0x120 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nBakedShadowIndex; // 0x124 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderToCubemaps; // 0x128 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - CUtlSymbolLarge m_LightGroups; // 0x130 - // MNetworkEnable - int32_t m_nDirectLight; // 0x138 - // MNetworkEnable - int32_t m_nIndirectLight; // 0x13c - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flFadeMinDist; // 0x140 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flFadeMaxDist; // 0x144 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowFadeMinDist; // 0x148 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowFadeMaxDist; // 0x14c - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - bool m_bEnabled; // 0x150 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - bool m_bFlicker; // 0x151 - // MNetworkEnable - bool m_bPrecomputedFieldsValid; // 0x152 - // MNetworkEnable - Vector m_vPrecomputedBoundsMins; // 0x154 - // MNetworkEnable - Vector m_vPrecomputedBoundsMaxs; // 0x160 - // MNetworkEnable - Vector m_vPrecomputedOBBOrigin; // 0x16c - // MNetworkEnable - QAngle m_vPrecomputedOBBAngles; // 0x178 - // MNetworkEnable - Vector m_vPrecomputedOBBExtent; // 0x184 - // MNetworkEnable - float m_flPrecomputedMaxRange; // 0x190 - // MNetworkEnable - int32_t m_nFogLightingMode; // 0x194 - // MNetworkEnable - float m_flFogContributionStength; // 0x198 - // MNetworkEnable - float m_flNearClipPlane; // 0x19c - // MNetworkEnable - Color m_SkyColor; // 0x1a0 - // MNetworkEnable - float m_flSkyIntensity; // 0x1a4 - // MNetworkEnable - Color m_SkyAmbientBounce; // 0x1a8 - // MNetworkEnable - bool m_bUseSecondaryColor; // 0x1ac - // MNetworkEnable - // MNetworkChangeCallback "MixedShadowsChanged" - bool m_bMixedShadows; // 0x1ad - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - GameTime_t m_flLightStyleStartTime; // 0x1b0 - // MNetworkEnable - float m_flCapsuleLength; // 0x1b4 - // MNetworkEnable - // MNetworkChangeCallback "LightRenderingChanged" - float m_flMinRoughness; // 0x1b8 - bool m_bPvsModifyEntity; // 0x1c8 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[1]->m_instance);}; -}; - -// Alignment: 1 -// Size: 0x1a0 -class CNetworkTransmitComponent : public -{ -public: - uint8_t m_nTransmitStateOwnedCounter; // 0x16c - static int32_t &Get_s_nDebugStateChange(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_s_nWatchTransmitEntity(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[1]->m_instance);}; - static bool &Get_s_bUseNetworkVars(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[2]->m_instance);}; - static bool &Get_s_bNetworkVarPerFieldTracking(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[3]->m_instance);}; - static bool &Get_s_bNetworkVarValidate(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[4]->m_instance);}; - static bool &Get_s_bUsingPVSConvars(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[5]->m_instance);}; -}; - -// Alignment: 5 -// Size: 0xb8 -class CRenderComponent : public CEntityComponent -{ -public: - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x10 - bool m_bIsRenderingWithViewModels; // 0x50 - uint32_t m_nSplitscreenFlags; // 0x54 - bool m_bEnableRendering; // 0x60 - bool m_bInterpolationReadyToDraw; // 0xb0 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[1]->m_instance);}; -}; - -// Alignment: 1 -// Size: 0x4 -struct AnimationUpdateListHandle_t : public -{ -public: - uint32_t m_Value; // 0x0 -}; - -// Alignment: 1 -// Size: 0x20 -class CBuoyancyHelper : public -{ -public: - float m_flFluidDensity; // 0x18 -}; - -// Alignment: 1 -// Size: 0x10 -class CSkillFloat : public -{ -public: - float32[4] m_pValue; // 0x0 -}; - -// Alignment: 1 -// Size: 0x10 -class CSkillInt : public -{ -public: - int32[4] m_pValue; // 0x0 -}; - -// Alignment: 2 -// Size: 0x14 -class CSkillDamage : public -{ -public: - // MPropertyDescription "Damage Dealt (in the case of NPC vs NPC damage, medium skill is used)" - CSkillFloat m_flDamage; // 0x0 - // MPropertyDescription "If specified, the damage used to compute physics forces. Otherwise normal damage is used." - float m_flPhysicsForceDamage; // 0x10 -}; - -// Alignment: 1 -// Size: 0x10 -class CRemapFloat : public -{ -public: - float32[4] m_pValue; // 0x0 -}; - -// Alignment: 2 -// Size: 0xa0 -class CScriptUniformRandomStream : public -{ -public: - HSCRIPT m_hScriptScope; // 0x8 - int32_t m_nInitialSeed; // 0x9c - static CUtlVector< CScriptUniformRandomStream* > &Get_sm_UniformStreams(){ return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptUniformRandomStream")->m_static_fields[0]->m_instance);}; -}; - -// Alignment: 12 -// Size: 0x50 -struct CommandToolCommand_t : public -{ -public: - bool m_bEnabled; // 0x0 - bool m_bOpened; // 0x1 - uint32_t m_InternalId; // 0x4 - CUtlString m_ShortName; // 0x8 - CommandExecMode_t m_ExecMode; // 0x10 - CUtlString m_SpawnGroup; // 0x18 - float m_PeriodicExecDelay; // 0x20 - CommandEntitySpecType_t m_SpecType; // 0x24 - CUtlString m_EntitySpec; // 0x28 - CUtlString m_Commands; // 0x30 - DebugOverlayBits_t m_SetDebugBits; // 0x38 - DebugOverlayBits_t m_ClearDebugBits; // 0x40 -}; - -// Alignment: 1 -// Size: 0x40 -class CPlayerPawnComponent : public -{ -public: - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 -}; - -// Alignment: 1 -// Size: 0x40 -class CPlayerControllerComponent : public -{ -public: - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 -}; - -// Alignment: 0 -// Size: 0x40 -class CPlayer_AutoaimServices : public CPlayerPawnComponent -{ -public: - // no members available -}; - -// Alignment: 5 -// Size: 0x78 -struct audioparams_t : public -{ -public: - // MNetworkEnable - // MNetworkEncoder - Vector[8] localSound; // 0x8 - // MNetworkEnable - int32_t soundscapeIndex; // 0x68 - // MNetworkEnable - uint8_t localBits; // 0x6c - // MNetworkEnable - int32_t soundscapeEntityListIndex; // 0x70 - // MNetworkEnable - uint32_t soundEventHash; // 0x74 -}; - -// Alignment: 17 -// Size: 0x188 -class CPlayer_CameraServices : public CPlayerPawnComponent -{ -public: - // MNetworkEnable - uint32_t m_iFOV; // 0x40 - // MNetworkEnable - uint32_t m_iFOVStart; // 0x44 - // MNetworkEnable - GameTime_t m_flFOVTime; // 0x48 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - float m_flFOVRate; // 0x4c - // MNetworkEnable - // MNetworkPriority "32" - // MNetworkBitCount "32" - QAngle m_vecPunchAngle; // 0x50 - // MNetworkEnable - // MNetworkBitCount "32" - QAngle m_vecPunchAngleVel; // 0x5c - // MNetworkEnable - // MNetworkChangeCallback "OnPunchJoltChanged" - GameTick_t m_nPunchAngleJoltTick; // 0x68 - // MNetworkEnable - CHandle< CBaseEntity > m_hZoomOwner; // 0x6c - // MNetworkEnable - fogplayerparams_t m_PlayerFog; // 0x70 - // MNetworkEnable - CHandle< CColorCorrection > m_hColorCorrectionCtrl; // 0xb0 - // MNetworkEnable - CHandle< CBaseEntity > m_hViewEntity; // 0xb4 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerAndObserversExclusive" - CHandle< CTonemapController2 > m_hTonemapController; // 0xb8 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerAndObserversExclusive" - audioparams_t m_audio; // 0xc0 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerAndObserversExclusive" - CNetworkUtlVectorBase< CHandle< CPostProcessingVolume > > m_PostProcessingVolumes; // 0x138 - float m_flOldPlayerZ; // 0x150 - float m_flOldPlayerViewOffsetZ; // 0x154 - CUtlVector< CHandle< CEnvSoundscapeTriggerable > > m_hTriggerSoundscapeList; // 0x170 -}; - -// Alignment: 0 -// Size: 0x40 -class CPlayer_FlashlightServices : public CPlayerPawnComponent -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x40 -class CPlayer_ItemServices : public CPlayerPawnComponent -{ -public: - // no members available -}; - -// Alignment: 14 -// Size: 0x1b8 -class CPlayer_MovementServices : public CPlayerPawnComponent -{ -public: - int32_t m_nImpulse; // 0x40 - CInButtonState m_nButtons; // 0x48 - uint64_t m_nQueuedButtonDownMask; // 0x68 - uint64_t m_nQueuedButtonChangeMask; // 0x70 - uint64_t m_nButtonDoublePressed; // 0x78 - uint32[64] m_pButtonPressedCmdNumber; // 0x80 - uint32_t m_nLastCommandNumberProcessed; // 0x180 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - uint64_t m_nToggleButtonDownMask; // 0x188 - // MNetworkEnable - // MNetworkBitCount "12" - // MNetworkMinValue "0" - // MNetworkMaxValue "2048" - // MNetworkEncodeFlags - float m_flMaxspeed; // 0x190 - // MNetworkEnable - float m_flForceSubtickMoveWhen; // 0x194 - float m_flForwardMove; // 0x198 - float m_flLeftMove; // 0x19c - float m_flUpMove; // 0x1a0 - QAngle m_vecOldViewAngles; // 0x1a4 -}; - -// Alignment: 14 -// Size: 0x208 -class CPlayer_MovementServices_Humanoid : public CPlayer_MovementServices, CPlayerPawnComponent -{ -public: - float m_flStepSoundTime; // 0x1b8 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - // MNetworkBitCount "17" - // MNetworkMinValue "-4096" - // MNetworkMaxValue "4096" - // MNetworkEncodeFlags - float m_flFallVelocity; // 0x1bc - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bInCrouch; // 0x1c0 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nCrouchState; // 0x1c4 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - GameTime_t m_flCrouchTransitionStartTime; // 0x1c8 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bDucked; // 0x1cc - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bDucking; // 0x1cd - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bInDuckJump; // 0x1ce - Vector m_groundNormal; // 0x1d0 - float m_flSurfaceFriction; // 0x1dc - CUtlStringToken m_surfaceProps; // 0x1e0 - int32_t m_nStepside; // 0x1f0 - int32_t m_iTargetVolume; // 0x1f4 - Vector m_vecSmoothedVelocity; // 0x1f8 -}; - -// Alignment: 4 -// Size: 0x50 -class CPlayer_ObserverServices : public CPlayerPawnComponent -{ -public: - // MNetworkEnable - // MNetworkChangeCallback "OnObserverModeChanged" - uint8_t m_iObserverMode; // 0x40 - // MNetworkEnable - // MNetworkChangeCallback "OnObserverTargetChanged" - CHandle< CBaseEntity > m_hObserverTarget; // 0x44 - ObserverMode_t m_iObserverLastMode; // 0x48 - bool m_bForcedObserverMode; // 0x4c -}; - -// Alignment: 0 -// Size: 0x40 -class CPlayer_UseServices : public CPlayerPawnComponent -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x40 -class CPlayer_WaterServices : public CPlayerPawnComponent -{ -public: - // no members available -}; - -// Alignment: 6 -// Size: 0xb0 -class CPlayer_WeaponServices : public CPlayerPawnComponent -{ -public: - bool m_bAllowSwitchToNoWeapon; // 0x40 - // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBasePlayerWeapon > > m_hMyWeapons; // 0x48 - // MNetworkEnable - CHandle< CBasePlayerWeapon > m_hActiveWeapon; // 0x60 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - CHandle< CBasePlayerWeapon > m_hLastWeapon; // 0x64 - // MNetworkEnable - uint16[32] m_iAmmo; // 0x68 - bool m_bPreventWeaponPickup; // 0xa8 -}; - -// Alignment: 5 -// Size: 0x38 -struct AmmoTypeInfo_t : public -{ -public: - int32_t m_nMaxCarry; // 0x10 - CRangeInt m_nSplashSize; // 0x1c - AmmoFlags_t m_nFlags; // 0x24 - float m_flMass; // 0x28 - CRangeFloat m_flSpeed; // 0x2c -}; - -// Alignment: 2 -// Size: 0x750 -class CBodyComponentBaseAnimGraph : public CBodyComponentSkeletonInstance, CBodyComponent, CEntityComponent -{ -public: - // MNetworkEnable - CBaseAnimGraphController m_animationController; // 0x470 - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x720 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[1]->m_instance);}; -}; - -// Alignment: 2 -// Size: 0x48 -struct EntityRenderAttribute_t : public -{ -public: - // MNetworkEnable - CUtlStringToken m_ID; // 0x30 - // MNetworkEnable - Vector4D m_Values; // 0x34 -}; - -// Alignment: 1 -// Size: 0x4 -struct ModelConfigHandle_t : public -{ -public: - uint32_t m_Value; // 0x0 -}; - -// Alignment: 4 -// Size: 0x68 -struct ActiveModelConfig_t : public -{ -public: - // MNetworkEnable - ModelConfigHandle_t m_Handle; // 0x28 - // MNetworkEnable - CUtlSymbolLarge m_Name; // 0x30 - // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_AssociatedEntities; // 0x38 - // MNetworkEnable - CNetworkUtlVectorBase< CUtlSymbolLarge > m_AssociatedEntityNames; // 0x50 -}; - -// Alignment: 1 -// Size: 0x4a0 -class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance, CBodyComponent, CEntityComponent -{ -public: - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x470 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[1]->m_instance);}; + CNetworkVarChainer __m_pChainEntity; // 0x20 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 7 // Size: 0x30 -class CNetworkOriginCellCoordQuantizedVector : public -{ +class CNetworkOriginCellCoordQuantizedVector +{ public: // MNetworkEnable // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "cellx" - uint16_t m_cellX; // 0x10 + uint16_t m_cellX; // 0x10 // MNetworkEnable // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "celly" - uint16_t m_cellY; // 0x12 + uint16_t m_cellY; // 0x12 // MNetworkEnable // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "cellz" - uint16_t m_cellZ; // 0x14 + uint16_t m_cellZ; // 0x14 // MNetworkEnable - uint16_t m_nOutsideWorld; // 0x16 + uint16_t m_nOutsideWorld; // 0x16 // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1024" @@ -3535,7 +3030,7 @@ public: // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "posx" - CNetworkedQuantizedFloat m_vecX; // 0x18 + CNetworkedQuantizedFloat m_vecX; // 0x18 // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1024" @@ -3543,7 +3038,7 @@ public: // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "posy" - CNetworkedQuantizedFloat m_vecY; // 0x20 + CNetworkedQuantizedFloat m_vecY; // 0x20 // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1024" @@ -3551,235 +3046,981 @@ public: // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "posz" - CNetworkedQuantizedFloat m_vecZ; // 0x28 -}; - -// Alignment: 3 -// Size: 0x28 -class CNetworkOriginQuantizedVector : public -{ -public: - // MNetworkBitCount "19" - // MNetworkMinValue "-16384" - // MNetworkMaxValue "16384" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkOriginQuantizedVector" - CNetworkedQuantizedFloat m_vecX; // 0x10 - // MNetworkBitCount "19" - // MNetworkMinValue "-16384" - // MNetworkMaxValue "16384" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkOriginQuantizedVector" - CNetworkedQuantizedFloat m_vecY; // 0x18 - // MNetworkBitCount "19" - // MNetworkMinValue "-16384" - // MNetworkMaxValue "16384" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkOriginQuantizedVector" - CNetworkedQuantizedFloat m_vecZ; // 0x20 -}; - -// Alignment: 3 -// Size: 0x28 -class CNetworkVelocityVector : public -{ -public: - // MNetworkBitCount "18" - // MNetworkMinValue "-4096" - // MNetworkMaxValue "4096" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkVelocityVector" - CNetworkedQuantizedFloat m_vecX; // 0x10 - // MNetworkBitCount "18" - // MNetworkMinValue "-4096" - // MNetworkMaxValue "4096" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkVelocityVector" - CNetworkedQuantizedFloat m_vecY; // 0x18 - // MNetworkBitCount "18" - // MNetworkMinValue "-4096" - // MNetworkMaxValue "4096" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkVelocityVector" - CNetworkedQuantizedFloat m_vecZ; // 0x20 -}; - -// Alignment: 3 -// Size: 0x28 -class CNetworkViewOffsetVector : public -{ -public: - // MNetworkBitCount "10" - // MNetworkMinValue "-64" - // MNetworkMaxValue "64" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkViewOffsetVector" - CNetworkedQuantizedFloat m_vecX; // 0x10 - // MNetworkBitCount "10" - // MNetworkMinValue "-64" - // MNetworkMaxValue "64" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkViewOffsetVector" - CNetworkedQuantizedFloat m_vecY; // 0x18 - // MNetworkBitCount "20" - // MNetworkMinValue "0" - // MNetworkMaxValue "128" - // MNetworkEncodeFlags - // MNetworkChangeCallback "CNetworkViewOffsetVector" - CNetworkedQuantizedFloat m_vecZ; // 0x20 -}; - -// Alignment: 1 -// Size: 0x4 -struct GameTime_t : public -{ -public: - float m_Value; // 0x0 - static GameTime_t &Get_Zero(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("GameTime_t")->m_static_fields[0]->m_instance);}; -}; - -// Alignment: 1 -// Size: 0x4 -struct GameTick_t : public -{ -public: - int32_t m_Value; // 0x0 - static GameTick_t &Get_Zero(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("GameTick_t")->m_static_fields[0]->m_instance);}; + CNetworkedQuantizedFloat m_vecZ; // 0x28 }; // Alignment: 2 // Size: 0x10 -class CGameSceneNodeHandle : public -{ +class CGameSceneNodeHandle +{ public: // MNetworkEnable - CEntityHandle m_hOwner; // 0x8 + CEntityHandle m_hOwner; // 0x8 // MNetworkEnable - CUtlStringToken m_name; // 0xc + CUtlStringToken m_name; // 0xc }; -// Alignment: 33 -// Size: 0x150 -class CGameSceneNode : public -{ +// Alignment: 1 +// Size: 0x28 +class CHitboxComponent : public CEntityComponent +{ +public: + // MNetworkEnable + uint32_t m_bvDisabledHitGroups[1]; // 0x24 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_referenced_but_impl_is_contained(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[1]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x4 +struct GameTime_t +{ +public: + float m_Value; // 0x0 + static GameTime_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("GameTime_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x1a0 +class CNetworkTransmitComponent +{ +public: + uint8_t m_nTransmitStateOwnedCounter; // 0x16c + static int32_t &Get_s_nDebugStateChange(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_s_nWatchTransmitEntity(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[1]->m_instance);}; + static bool &Get_s_bUseNetworkVars(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[2]->m_instance);}; + static bool &Get_s_bNetworkVarPerFieldTracking(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[3]->m_instance);}; + static bool &Get_s_bNetworkVarValidate(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[4]->m_instance);}; + static bool &Get_s_bUsingPVSConvars(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[5]->m_instance);}; +}; + +// Alignment: 5 +// Size: 0xb8 +class CRenderComponent : public CEntityComponent +{ public: // MNetworkDisable - CTransform m_nodeToWorld; // 0x10 + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 +public: + bool m_bIsRenderingWithViewModels; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + uint32_t m_nSplitscreenFlags; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0058[0x8]; // 0x58 +public: + bool m_bEnableRendering; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0061[0x4f]; // 0x61 +public: + bool m_bInterpolationReadyToDraw; // 0xb0 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[1]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x4 +struct AnimationUpdateListHandle_t +{ +public: + uint32_t m_Value; // 0x0 +}; + +// Alignment: 1 +// Size: 0x20 +class CBuoyancyHelper +{ +public: + float m_flFluidDensity; // 0x18 +}; + +// Alignment: 1 +// Size: 0x10 +class CSkillFloat +{ +public: + float m_pValue[4]; // 0x0 +}; + +// Alignment: 1 +// Size: 0x10 +class CSkillInt +{ +public: + int32_t m_pValue[4]; // 0x0 +}; + +// Alignment: 2 +// Size: 0x14 +class CSkillDamage +{ +public: + // MPropertyDescription "Damage Dealt (in the case of NPC vs NPC damage, medium skill is used)" + CSkillFloat m_flDamage; // 0x0 + // MPropertyDescription "If specified, the damage used to compute physics forces. Otherwise normal damage is used." + float m_flPhysicsForceDamage; // 0x10 +}; + +// Alignment: 1 +// Size: 0x10 +class CRemapFloat +{ +public: + float m_pValue[4]; // 0x0 +}; + +// Alignment: 2 +// Size: 0xa0 +class CScriptUniformRandomStream +{ +public: + HSCRIPT m_hScriptScope; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0010[0x8c]; // 0x10 +public: + int32_t m_nInitialSeed; // 0x9c + static CUtlVector< CScriptUniformRandomStream* > &Get_sm_UniformStreams(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptUniformRandomStream")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 12 +// Size: 0x50 +struct CommandToolCommand_t +{ +public: + bool m_bEnabled; // 0x0 + bool m_bOpened; // 0x1 +private: + [[maybe_unused]] uint8_t __pad0002[0x2]; // 0x2 +public: + uint32_t m_InternalId; // 0x4 + CUtlString m_ShortName; // 0x8 + CommandExecMode_t m_ExecMode; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CUtlString m_SpawnGroup; // 0x18 + float m_PeriodicExecDelay; // 0x20 + CommandEntitySpecType_t m_SpecType; // 0x24 + CUtlString m_EntitySpec; // 0x28 + CUtlString m_Commands; // 0x30 + DebugOverlayBits_t m_SetDebugBits; // 0x38 + DebugOverlayBits_t m_ClearDebugBits; // 0x40 +}; + +// Alignment: 1 +// Size: 0x40 +class CPlayerPawnComponent +{ +public: // MNetworkDisable - CEntityInstance* m_pOwner; // 0x30 + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x8 +}; + +// Alignment: 1 +// Size: 0x40 +class CPlayerControllerComponent +{ +public: // MNetworkDisable - CGameSceneNode* m_pParent; // 0x38 - // MNetworkDisable - CGameSceneNode* m_pChild; // 0x40 - // MNetworkDisable - CGameSceneNode* m_pNextSibling; // 0x48 - // MNetworkEnable - // MNetworkSerializer "gameSceneNode" - // MNetworkChangeCallback "gameSceneNodeHierarchyParentChanged" - // MNetworkPriority "32" - // MNetworkVarEmbeddedFieldOffsetDelta "8" - CGameSceneNodeHandle m_hParent; // 0x70 - // MNetworkEnable - // MNetworkPriority "32" - // MNetworkUserGroup "Origin" - // MNetworkChangeCallback "gameSceneNodeLocalOriginChanged" - CNetworkOriginCellCoordQuantizedVector m_vecOrigin; // 0x80 - // MNetworkEnable - // MNetworkPriority "32" - // MNetworkSerializer "gameSceneNodeStepSimulationAnglesSerializer" - // MNetworkChangeCallback "gameSceneNodeLocalAnglesChanged" - QAngle m_angRotation; // 0xb8 - // MNetworkEnable - // MNetworkChangeCallback "gameSceneNodeLocalScaleChanged" - // MNetworkPriority "32" - float m_flScale; // 0xc4 - // MNetworkDisable - Vector m_vecAbsOrigin; // 0xc8 - // MNetworkDisable - QAngle m_angAbsRotation; // 0xd4 - // MNetworkDisable - float m_flAbsScale; // 0xe0 - // MNetworkDisable - int16_t m_nParentAttachmentOrBone; // 0xe4 - // MNetworkDisable - bool m_bDebugAbsOriginChanges; // 0xe6 - // MNetworkDisable - bool m_bDormant; // 0xe7 - // MNetworkDisable - bool m_bForceParentToBeNetworked; // 0xe8 - // MNetworkDisable - uint8_t m_bDirtyHierarchy:1; // 0x0 - // MNetworkDisable - uint8_t m_bDirtyBoneMergeInfo:1; // 0x0 - // MNetworkDisable - uint8_t m_bNetworkedPositionChanged:1; // 0x0 - // MNetworkDisable - uint8_t m_bNetworkedAnglesChanged:1; // 0x0 - // MNetworkDisable - uint8_t m_bNetworkedScaleChanged:1; // 0x0 - // MNetworkDisable - uint8_t m_bWillBeCallingPostDataUpdate:1; // 0x0 - // MNetworkDisable - uint8_t m_bNotifyBoneTransformsChanged:1; // 0x0 - // MNetworkDisable - uint8_t m_bBoneMergeFlex:1; // 0x0 - // MNetworkDisable - uint8_t m_nLatchAbsOrigin:2; // 0x0 - // MNetworkDisable - uint8_t m_bDirtyBoneMergeBoneToRoot:1; // 0x0 - // MNetworkDisable - uint8_t m_nHierarchicalDepth; // 0xeb - // MNetworkDisable - uint8_t m_nHierarchyType; // 0xec - // MNetworkDisable - uint8_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount; // 0xed - // MNetworkEnable - CUtlStringToken m_name; // 0xf0 - // MNetworkEnable - // MNetworkChangeCallback "gameSceneNodeHierarchyAttachmentChanged" - CUtlStringToken m_hierarchyAttachName; // 0x130 - // MNetworkDisable - float m_flZOffset; // 0x134 - // MNetworkDisable - Vector m_vRenderOrigin; // 0x138 + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x8 }; // Alignment: 0 -// Size: 0x8 -class IChoreoServices : public -{ +// Size: 0x40 +class CPlayer_AutoaimServices : public CPlayerPawnComponent +{ +public: + // no members available +}; + +// Alignment: 5 +// Size: 0x78 +struct audioparams_t +{ +public: + // MNetworkEnable + // MNetworkEncoder + Vector localSound[8]; // 0x8 + // MNetworkEnable + int32_t soundscapeIndex; // 0x68 + // MNetworkEnable + uint8_t localBits; // 0x6c +private: + [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d +public: + // MNetworkEnable + int32_t soundscapeEntityListIndex; // 0x70 + // MNetworkEnable + uint32_t soundEventHash; // 0x74 +}; + +// Alignment: 1 +// Size: 0x4 +struct GameTick_t +{ +public: + int32_t m_Value; // 0x0 + static GameTick_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("GameTick_t")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x40 +class CPlayer_FlashlightServices : public CPlayerPawnComponent +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x40 +class CPlayer_ItemServices : public CPlayerPawnComponent +{ public: - static uint32_t &Get_ms_uSequenceId(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("IChoreoServices")->m_static_fields[0]->m_instance);}; // no members available }; // Alignment: 1 // Size: 0x20 -class CInButtonState : public -{ +class CInButtonState +{ public: - uint64[3] m_pButtonStates; // 0x8 + uint64_t m_pButtonStates[3]; // 0x8 +}; + +// Alignment: 14 +// Size: 0x1b8 +class CPlayer_MovementServices : public CPlayerPawnComponent +{ +public: + int32_t m_nImpulse; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + CInButtonState m_nButtons; // 0x48 + uint64_t m_nQueuedButtonDownMask; // 0x68 + uint64_t m_nQueuedButtonChangeMask; // 0x70 + uint64_t m_nButtonDoublePressed; // 0x78 + uint32_t m_pButtonPressedCmdNumber[64]; // 0x80 + uint32_t m_nLastCommandNumberProcessed; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + uint64_t m_nToggleButtonDownMask; // 0x188 + // MNetworkEnable + // MNetworkBitCount "12" + // MNetworkMinValue "0" + // MNetworkMaxValue "2048" + // MNetworkEncodeFlags + float m_flMaxspeed; // 0x190 + // MNetworkEnable + float m_flForceSubtickMoveWhen; // 0x194 + float m_flForwardMove; // 0x198 + float m_flLeftMove; // 0x19c + float m_flUpMove; // 0x1a0 + QAngle m_vecOldViewAngles; // 0x1a4 +}; + +// Alignment: 4 +// Size: 0x50 +class CPlayer_ObserverServices : public CPlayerPawnComponent +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "OnObserverModeChanged" + uint8_t m_iObserverMode; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: + // MNetworkEnable + // MNetworkChangeCallback "OnObserverTargetChanged" + CHandle< CBaseEntity > m_hObserverTarget; // 0x44 + ObserverMode_t m_iObserverLastMode; // 0x48 + bool m_bForcedObserverMode; // 0x4c +}; + +// Alignment: 0 +// Size: 0x40 +class CPlayer_UseServices : public CPlayerPawnComponent +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x40 +class CPlayer_WaterServices : public CPlayerPawnComponent +{ +public: + // no members available +}; + +// Alignment: 6 +// Size: 0xb0 +class CPlayer_WeaponServices : public CPlayerPawnComponent +{ +public: + bool m_bAllowSwitchToNoWeapon; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x7]; // 0x41 +public: + // MNetworkEnable + CNetworkUtlVectorBase< CHandle< CBasePlayerWeapon > > m_hMyWeapons; // 0x48 + // MNetworkEnable + CHandle< CBasePlayerWeapon > m_hActiveWeapon; // 0x60 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + CHandle< CBasePlayerWeapon > m_hLastWeapon; // 0x64 + // MNetworkEnable + uint16_t m_iAmmo[32]; // 0x68 + bool m_bPreventWeaponPickup; // 0xa8 +}; + +// Alignment: 5 +// Size: 0x38 +struct AmmoTypeInfo_t +{ +public: + int32_t m_nMaxCarry; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x8]; // 0x14 +public: + CRangeInt m_nSplashSize; // 0x1c + AmmoFlags_t m_nFlags; // 0x24 + float m_flMass; // 0x28 + CRangeFloat m_flSpeed; // 0x2c +}; + +// Alignment: 33 +// Size: 0x150 +class CGameSceneNode +{ +public: + // MNetworkDisable + CTransform m_nodeToWorld; // 0x10 + // MNetworkDisable + CEntityInstance* m_pOwner; // 0x30 + // MNetworkDisable + CGameSceneNode* m_pParent; // 0x38 + // MNetworkDisable + CGameSceneNode* m_pChild; // 0x40 + // MNetworkDisable + CGameSceneNode* m_pNextSibling; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0050[0x20]; // 0x50 +public: + // MNetworkEnable + // MNetworkSerializer "gameSceneNode" + // MNetworkChangeCallback "gameSceneNodeHierarchyParentChanged" + // MNetworkPriority "32" + // MNetworkVarEmbeddedFieldOffsetDelta "8" + CGameSceneNodeHandle m_hParent; // 0x70 + // MNetworkEnable + // MNetworkPriority "32" + // MNetworkUserGroup "Origin" + // MNetworkChangeCallback "gameSceneNodeLocalOriginChanged" + CNetworkOriginCellCoordQuantizedVector m_vecOrigin; // 0x80 +private: + [[maybe_unused]] uint8_t __pad00b0[0x8]; // 0xb0 +public: + // MNetworkEnable + // MNetworkPriority "32" + // MNetworkSerializer "gameSceneNodeStepSimulationAnglesSerializer" + // MNetworkChangeCallback "gameSceneNodeLocalAnglesChanged" + QAngle m_angRotation; // 0xb8 + // MNetworkEnable + // MNetworkChangeCallback "gameSceneNodeLocalScaleChanged" + // MNetworkPriority "32" + float m_flScale; // 0xc4 + // MNetworkDisable + Vector m_vecAbsOrigin; // 0xc8 + // MNetworkDisable + QAngle m_angAbsRotation; // 0xd4 + // MNetworkDisable + float m_flAbsScale; // 0xe0 + // MNetworkDisable + int16_t m_nParentAttachmentOrBone; // 0xe4 + // MNetworkDisable + bool m_bDebugAbsOriginChanges; // 0xe6 + // MNetworkDisable + bool m_bDormant; // 0xe7 + // MNetworkDisable + bool m_bForceParentToBeNetworked; // 0xe8 + struct + { + // MNetworkDisable + uint8_t m_bDirtyHierarchy: 1; + // MNetworkDisable + uint8_t m_bDirtyBoneMergeInfo: 1; + // MNetworkDisable + uint8_t m_bNetworkedPositionChanged: 1; + // MNetworkDisable + uint8_t m_bNetworkedAnglesChanged: 1; + // MNetworkDisable + uint8_t m_bNetworkedScaleChanged: 1; + // MNetworkDisable + uint8_t m_bWillBeCallingPostDataUpdate: 1; + // MNetworkDisable + uint8_t m_bNotifyBoneTransformsChanged: 1; + // MNetworkDisable + uint8_t m_bBoneMergeFlex: 1; + // MNetworkDisable + uint8_t m_nLatchAbsOrigin: 2; + // MNetworkDisable + uint8_t m_bDirtyBoneMergeBoneToRoot: 1; + uint16_t __pad0: 13; + }; // 24 bits + // MNetworkDisable + uint8_t m_nHierarchicalDepth; // 0xeb + // MNetworkDisable + uint8_t m_nHierarchyType; // 0xec + // MNetworkDisable + uint8_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount; // 0xed +private: + [[maybe_unused]] uint8_t __pad00ee[0x2]; // 0xee +public: + // MNetworkEnable + CUtlStringToken m_name; // 0xf0 +private: + [[maybe_unused]] uint8_t __pad00f4[0x3c]; // 0xf4 +public: + // MNetworkEnable + // MNetworkChangeCallback "gameSceneNodeHierarchyAttachmentChanged" + CUtlStringToken m_hierarchyAttachName; // 0x130 + // MNetworkDisable + float m_flZOffset; // 0x134 + // MNetworkDisable + Vector m_vRenderOrigin; // 0x138 +}; + +// Alignment: 2 +// Size: 0x48 +struct EntityRenderAttribute_t +{ +public: + // MNetworkEnable + CUtlStringToken m_ID; // 0x30 + // MNetworkEnable + Vector4D m_Values; // 0x34 +}; + +// Alignment: 1 +// Size: 0x4 +struct ModelConfigHandle_t +{ +public: + uint32_t m_Value; // 0x0 +}; + +// Alignment: 4 +// Size: 0x68 +struct ActiveModelConfig_t +{ +public: + // MNetworkEnable + ModelConfigHandle_t m_Handle; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + // MNetworkEnable + CUtlSymbolLarge m_Name; // 0x30 + // MNetworkEnable + CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_AssociatedEntities; // 0x38 + // MNetworkEnable + CNetworkUtlVectorBase< CUtlSymbolLarge > m_AssociatedEntityNames; // 0x50 +}; + +// Alignment: 7 +// Size: 0x230 +class CModelState +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "skeletonModelChanged" + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0xa0 + // MNetworkDisable + CUtlSymbolLarge m_ModelName; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00b0[0x38]; // 0xb0 +public: + // MNetworkEnable + bool m_bClientClothCreationSuppressed; // 0xe8 +private: + [[maybe_unused]] uint8_t __pad00e9[0x97]; // 0xe9 +public: + // MNetworkEnable + // MNetworkChangeCallback "skeletonMeshGroupMaskChanged" + uint64_t m_MeshGroupMask; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0188[0x9a]; // 0x188 +public: + // MNetworkEnable + // MNetworkChangeCallback "skeletonMotionTypeChanged" + int8_t m_nIdealMotionType; // 0x222 + // MNetworkDisable + int8_t m_nForceLOD; // 0x223 + // MNetworkDisable + int8_t m_nClothUpdateFlags; // 0x224 +}; + +// Alignment: 8 +// Size: 0x3f0 +class CSkeletonInstance : public CGameSceneNode +{ +public: + // MNetworkEnable + CModelState m_modelState; // 0x160 + // MNetworkEnable + bool m_bIsAnimationEnabled; // 0x390 + // MNetworkEnable + bool m_bUseParentRenderBounds; // 0x391 + // MNetworkDisable + bool m_bDisableSolidCollisionsForHierarchy; // 0x392 + struct + { + // MNetworkDisable + uint8_t m_bDirtyMotionType: 1; + // MNetworkDisable + uint8_t m_bIsGeneratingLatchedParentSpaceState: 1; + uint16_t __pad1: 14; + }; // 16 bits + // MNetworkEnable + // MNetworkChangeCallback "skeletonMaterialGroupChanged" + CUtlStringToken m_materialGroup; // 0x394 + // MNetworkEnable + uint8_t m_nHitboxSet; // 0x398 +}; + +// Alignment: 3 +// Size: 0x28 +class CNetworkOriginQuantizedVector +{ +public: + // MNetworkBitCount "19" + // MNetworkMinValue "-16384" + // MNetworkMaxValue "16384" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkOriginQuantizedVector" + CNetworkedQuantizedFloat m_vecX; // 0x10 + // MNetworkBitCount "19" + // MNetworkMinValue "-16384" + // MNetworkMaxValue "16384" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkOriginQuantizedVector" + CNetworkedQuantizedFloat m_vecY; // 0x18 + // MNetworkBitCount "19" + // MNetworkMinValue "-16384" + // MNetworkMaxValue "16384" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkOriginQuantizedVector" + CNetworkedQuantizedFloat m_vecZ; // 0x20 +}; + +// Alignment: 3 +// Size: 0x28 +class CNetworkVelocityVector +{ +public: + // MNetworkBitCount "18" + // MNetworkMinValue "-4096" + // MNetworkMaxValue "4096" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkVelocityVector" + CNetworkedQuantizedFloat m_vecX; // 0x10 + // MNetworkBitCount "18" + // MNetworkMinValue "-4096" + // MNetworkMaxValue "4096" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkVelocityVector" + CNetworkedQuantizedFloat m_vecY; // 0x18 + // MNetworkBitCount "18" + // MNetworkMinValue "-4096" + // MNetworkMaxValue "4096" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkVelocityVector" + CNetworkedQuantizedFloat m_vecZ; // 0x20 +}; + +// Alignment: 3 +// Size: 0x28 +class CNetworkViewOffsetVector +{ +public: + // MNetworkBitCount "10" + // MNetworkMinValue "-64" + // MNetworkMaxValue "64" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkViewOffsetVector" + CNetworkedQuantizedFloat m_vecX; // 0x10 + // MNetworkBitCount "10" + // MNetworkMinValue "-64" + // MNetworkMaxValue "64" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkViewOffsetVector" + CNetworkedQuantizedFloat m_vecY; // 0x18 + // MNetworkBitCount "20" + // MNetworkMinValue "0" + // MNetworkMaxValue "128" + // MNetworkEncodeFlags + // MNetworkChangeCallback "CNetworkViewOffsetVector" + CNetworkedQuantizedFloat m_vecZ; // 0x20 +}; + +// Alignment: 68 +// Size: 0x1d0 +class CLightComponent : public CEntityComponent +{ +public: + // MNetworkDisable + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0070[0x15]; // 0x70 +public: + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + Color m_Color; // 0x85 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + Color m_SecondaryColor; // 0x89 +private: + [[maybe_unused]] uint8_t __pad008d[0x3]; // 0x8d +public: + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flBrightness; // 0x90 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flBrightnessScale; // 0x94 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flBrightnessMult; // 0x98 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flRange; // 0x9c + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flFalloff; // 0xa0 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flAttenuation0; // 0xa4 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flAttenuation1; // 0xa8 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flAttenuation2; // 0xac + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flTheta; // 0xb0 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flPhi; // 0xb4 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0xb8 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nCascades; // 0xc0 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nCastShadows; // 0xc4 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nShadowWidth; // 0xc8 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nShadowHeight; // 0xcc + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + bool m_bRenderDiffuse; // 0xd0 +private: + [[maybe_unused]] uint8_t __pad00d1[0x3]; // 0xd1 +public: + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nRenderSpecular; // 0xd4 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + bool m_bRenderTransmissive; // 0xd8 +private: + [[maybe_unused]] uint8_t __pad00d9[0x3]; // 0xd9 +public: + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flOrthoLightWidth; // 0xdc + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flOrthoLightHeight; // 0xe0 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nStyle; // 0xe4 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + CUtlString m_Pattern; // 0xe8 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nCascadeRenderStaticObjects; // 0xf0 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flShadowCascadeCrossFade; // 0xf4 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flShadowCascadeDistanceFade; // 0xf8 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flShadowCascadeDistance0; // 0xfc + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flShadowCascadeDistance1; // 0x100 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flShadowCascadeDistance2; // 0x104 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flShadowCascadeDistance3; // 0x108 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nShadowCascadeResolution0; // 0x10c + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nShadowCascadeResolution1; // 0x110 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nShadowCascadeResolution2; // 0x114 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nShadowCascadeResolution3; // 0x118 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + bool m_bUsesBakedShadowing; // 0x11c +private: + [[maybe_unused]] uint8_t __pad011d[0x3]; // 0x11d +public: + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nShadowPriority; // 0x120 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + int32_t m_nBakedShadowIndex; // 0x124 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + bool m_bRenderToCubemaps; // 0x128 +private: + [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 +public: + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + CUtlSymbolLarge m_LightGroups; // 0x130 + // MNetworkEnable + int32_t m_nDirectLight; // 0x138 + // MNetworkEnable + int32_t m_nIndirectLight; // 0x13c + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flFadeMinDist; // 0x140 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flFadeMaxDist; // 0x144 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flShadowFadeMinDist; // 0x148 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flShadowFadeMaxDist; // 0x14c + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + bool m_bEnabled; // 0x150 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + bool m_bFlicker; // 0x151 + // MNetworkEnable + bool m_bPrecomputedFieldsValid; // 0x152 +private: + [[maybe_unused]] uint8_t __pad0153[0x1]; // 0x153 +public: + // MNetworkEnable + Vector m_vPrecomputedBoundsMins; // 0x154 + // MNetworkEnable + Vector m_vPrecomputedBoundsMaxs; // 0x160 + // MNetworkEnable + Vector m_vPrecomputedOBBOrigin; // 0x16c + // MNetworkEnable + QAngle m_vPrecomputedOBBAngles; // 0x178 + // MNetworkEnable + Vector m_vPrecomputedOBBExtent; // 0x184 + // MNetworkEnable + float m_flPrecomputedMaxRange; // 0x190 + // MNetworkEnable + int32_t m_nFogLightingMode; // 0x194 + // MNetworkEnable + float m_flFogContributionStength; // 0x198 + // MNetworkEnable + float m_flNearClipPlane; // 0x19c + // MNetworkEnable + Color m_SkyColor; // 0x1a0 + // MNetworkEnable + float m_flSkyIntensity; // 0x1a4 + // MNetworkEnable + Color m_SkyAmbientBounce; // 0x1a8 + // MNetworkEnable + bool m_bUseSecondaryColor; // 0x1ac + // MNetworkEnable + // MNetworkChangeCallback "MixedShadowsChanged" + bool m_bMixedShadows; // 0x1ad +private: + [[maybe_unused]] uint8_t __pad01ae[0x2]; // 0x1ae +public: + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + GameTime_t m_flLightStyleStartTime; // 0x1b0 + // MNetworkEnable + float m_flCapsuleLength; // 0x1b4 + // MNetworkEnable + // MNetworkChangeCallback "LightRenderingChanged" + float m_flMinRoughness; // 0x1b8 +private: + [[maybe_unused]] uint8_t __pad01bc[0xc]; // 0x1bc +public: + bool m_bPvsModifyEntity; // 0x1c8 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[1]->m_instance);}; +}; + +// Alignment: 14 +// Size: 0x40 +struct fogplayerparams_t +{ +public: + // MNetworkEnable + // MNetworkUserGroup "PlayerFogController" + CHandle< CFogController > m_hCtrl; // 0x8 + float m_flTransitionTime; // 0xc + Color m_OldColor; // 0x10 + float m_flOldStart; // 0x14 + float m_flOldEnd; // 0x18 + float m_flOldMaxDensity; // 0x1c + float m_flOldHDRColorScale; // 0x20 + float m_flOldFarZ; // 0x24 + Color m_NewColor; // 0x28 + float m_flNewStart; // 0x2c + float m_flNewEnd; // 0x30 + float m_flNewMaxDensity; // 0x34 + float m_flNewHDRColorScale; // 0x38 + float m_flNewFarZ; // 0x3c +}; + +// Alignment: 2 +// Size: 0x470 +class CBodyComponentSkeletonInstance : public CBodyComponent +{ +public: + // MNetworkEnable + CSkeletonInstance m_skeletonInstance; // 0x50 + // MNetworkDisable + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x440 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[1]->m_instance);}; +}; + +// Alignment: 2 +// Size: 0x1d0 +class CBodyComponentPoint : public CBodyComponent +{ +public: + // MNetworkEnable + CGameSceneNode m_sceneNode; // 0x50 + // MNetworkDisable + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x1a0 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[1]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x8 +class IChoreoServices +{ +public: + static uint32_t &Get_ms_uSequenceId(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("IChoreoServices")->m_static_fields[0]->m_instance);}; + // no members available +}; + +// Alignment: 14 +// Size: 0x208 +class CPlayer_MovementServices_Humanoid : public CPlayer_MovementServices +{ +public: + float m_flStepSoundTime; // 0x1b8 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + // MNetworkBitCount "17" + // MNetworkMinValue "-4096" + // MNetworkMaxValue "4096" + // MNetworkEncodeFlags + float m_flFallVelocity; // 0x1bc + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + bool m_bInCrouch; // 0x1c0 +private: + [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 +public: + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + uint32_t m_nCrouchState; // 0x1c4 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + GameTime_t m_flCrouchTransitionStartTime; // 0x1c8 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + bool m_bDucked; // 0x1cc + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + bool m_bDucking; // 0x1cd + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + bool m_bInDuckJump; // 0x1ce +private: + [[maybe_unused]] uint8_t __pad01cf[0x1]; // 0x1cf +public: + Vector m_groundNormal; // 0x1d0 + float m_flSurfaceFriction; // 0x1dc + CUtlStringToken m_surfaceProps; // 0x1e0 +private: + [[maybe_unused]] uint8_t __pad01e4[0xc]; // 0x1e4 +public: + int32_t m_nStepside; // 0x1f0 + int32_t m_iTargetVolume; // 0x1f4 + Vector m_vecSmoothedVelocity; // 0x1f8 }; // Alignment: 1 // Size: 0x10 -class CSkeletonAnimationController : public -{ +class CSkeletonAnimationController +{ public: // MNetworkDisable - CSkeletonInstance* m_pSkeletonInstance; // 0x8 + CSkeletonInstance* m_pSkeletonInstance; // 0x8 }; // Alignment: 8 // Size: 0x28 -class CNetworkedSequenceOperation : public -{ +class CNetworkedSequenceOperation +{ public: // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkChangeCallback "sequenceOpSequenceChanged" // MNetworkPriority "32" - HSequence m_hSequence; // 0x8 + HSequence m_hSequence; // 0x8 // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0" @@ -3788,7 +4029,7 @@ public: // MNetworkPriority "32" // MNetworkSendProxyRecipientsFilter // MNetworkUserGroup "m_flCycle" - float m_flPrevCycle; // 0xc + float m_flPrevCycle; // 0xc // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0" @@ -3798,4188 +4039,224 @@ public: // MNetworkSendProxyRecipientsFilter // MNetworkUserGroup "m_flCycle" // MNetworkChangeCallback "sequenceOpCycleChanged" - float m_flCycle; // 0x10 + float m_flCycle; // 0x10 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags - CNetworkedQuantizedFloat m_flWeight; // 0x14 + CNetworkedQuantizedFloat m_flWeight; // 0x14 // MNetworkDisable - bool m_bSequenceChangeNetworked; // 0x1c + bool m_bSequenceChangeNetworked; // 0x1c // MNetworkDisable - bool m_bDiscontinuity; // 0x1d + bool m_bDiscontinuity; // 0x1d +private: + [[maybe_unused]] uint8_t __pad001e[0x2]; // 0x1e +public: // MNetworkDisable - float m_flPrevCycleFromDiscontinuity; // 0x20 + float m_flPrevCycleFromDiscontinuity; // 0x20 // MNetworkDisable - float m_flPrevCycleForAnimEventDetection; // 0x24 + float m_flPrevCycleForAnimEventDetection; // 0x24 }; -// Alignment: 7 -// Size: 0x230 -class CModelState : public -{ +// Alignment: 1 +// Size: 0x4a0 +class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance +{ public: - // MNetworkEnable - // MNetworkChangeCallback "skeletonModelChanged" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0xa0 // MNetworkDisable - CUtlSymbolLarge m_ModelName; // 0xa8 - // MNetworkEnable - bool m_bClientClothCreationSuppressed; // 0xe8 - // MNetworkEnable - // MNetworkChangeCallback "skeletonMeshGroupMaskChanged" - uint64_t m_MeshGroupMask; // 0x180 - // MNetworkEnable - // MNetworkChangeCallback "skeletonMotionTypeChanged" - int8_t m_nIdealMotionType; // 0x222 - // MNetworkDisable - int8_t m_nForceLOD; // 0x223 - // MNetworkDisable - int8_t m_nClothUpdateFlags; // 0x224 -}; - -// Alignment: 8 -// Size: 0x3f0 -class CSkeletonInstance : public CGameSceneNode -{ -public: - // MNetworkEnable - CModelState m_modelState; // 0x160 - // MNetworkEnable - bool m_bIsAnimationEnabled; // 0x390 - // MNetworkEnable - bool m_bUseParentRenderBounds; // 0x391 - // MNetworkDisable - bool m_bDisableSolidCollisionsForHierarchy; // 0x392 - // MNetworkDisable - uint8_t m_bDirtyMotionType:1; // 0x0 - // MNetworkDisable - uint8_t m_bIsGeneratingLatchedParentSpaceState:1; // 0x0 - // MNetworkEnable - // MNetworkChangeCallback "skeletonMaterialGroupChanged" - CUtlStringToken m_materialGroup; // 0x394 - // MNetworkEnable - uint8_t m_nHitboxSet; // 0x398 -}; - -// Alignment: 2 -// Size: 0x10 -class IntervalTimer : public -{ -public: - // MNetworkEnable - GameTime_t m_timestamp; // 0x8 - // MNetworkEnable - WorldGroupId_t m_nWorldGroupId; // 0xc -}; - -// Alignment: 4 -// Size: 0x18 -class CountdownTimer : public -{ -public: - // MNetworkEnable - float m_duration; // 0x8 - // MNetworkEnable - GameTime_t m_timestamp; // 0xc - // MNetworkEnable - float m_timescale; // 0x10 - // MNetworkEnable - WorldGroupId_t m_nWorldGroupId; // 0x14 -}; - -// Alignment: 3 -// Size: 0x18 -class EngineCountdownTimer : public -{ -public: - // MNetworkEnable - float m_duration; // 0x8 - // MNetworkEnable - float m_timestamp; // 0xc - // MNetworkEnable - float m_timescale; // 0x10 -}; - -// Alignment: 7 -// Size: 0x228 -class CTimeline : public IntervalTimer -{ -public: - // MNetworkEnable - float32[64] m_flValues; // 0x10 - // MNetworkEnable - int32[64] m_nValueCounts; // 0x110 - // MNetworkEnable - int32_t m_nBucketCount; // 0x210 - // MNetworkEnable - float m_flInterval; // 0x214 - // MNetworkEnable - float m_flFinalValue; // 0x218 - // MNetworkEnable - TimelineCompression_t m_nCompressionType; // 0x21c - // MNetworkEnable - bool m_bStopped; // 0x220 + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x470 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[1]->m_instance);}; }; // Alignment: 20 // Size: 0x1a8 -class CAnimGraphNetworkedVariables : public -{ +class CAnimGraphNetworkedVariables +{ public: // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetBoolVarChanged" // MNetworkAlias "m_PredBoolVariables" - CNetworkUtlVectorBase< uint32 > m_PredNetBoolVariables; // 0x8 + CNetworkUtlVectorBase< uint32 > m_PredNetBoolVariables; // 0x8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetByteVarChanged" // MNetworkAlias "m_PredByteVariables" - CNetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0x20 + CNetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0x20 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetUInt16VarChanged" // MNetworkAlias "m_PredUInt16Variables" - CNetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0x38 + CNetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0x38 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetIntVarChanged" // MNetworkAlias "m_PredIntVariables" - CNetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x50 + CNetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x50 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetUInt32VarChanged" // MNetworkAlias "m_PredUInt32Variables" - CNetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x68 + CNetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x68 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetFloatVarChanged" // MNetworkAlias "m_PredFloatVariables" - CNetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x80 + CNetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x80 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVectorVarChanged" // MNetworkAlias "m_PredVectorVariables" - CNetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x98 + CNetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x98 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetQuaternionVarChanged" // MNetworkAlias "m_PredQuaternionVariables" - CNetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0xb0 + CNetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0xb0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOBoolVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetBoolVariables" - CNetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetBoolVariables; // 0xc8 + CNetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetBoolVariables; // 0xc8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOByteVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetByteVariables" - CNetworkUtlVectorBase< uint8 > m_OwnerOnlyPredNetByteVariables; // 0xe0 + CNetworkUtlVectorBase< uint8 > m_OwnerOnlyPredNetByteVariables; // 0xe0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOUInt16VarChanged" // MNetworkAlias "m_OwnerOnlyPredNetUInt16Variables" - CNetworkUtlVectorBase< uint16 > m_OwnerOnlyPredNetUInt16Variables; // 0xf8 + CNetworkUtlVectorBase< uint16 > m_OwnerOnlyPredNetUInt16Variables; // 0xf8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOIntVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetIntVariables" - CNetworkUtlVectorBase< int32 > m_OwnerOnlyPredNetIntVariables; // 0x110 + CNetworkUtlVectorBase< int32 > m_OwnerOnlyPredNetIntVariables; // 0x110 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOUInt32VarChanged" // MNetworkAlias "m_OwnerOnlyPredNetUInt32Variables" - CNetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetUInt32Variables; // 0x128 + CNetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetUInt32Variables; // 0x128 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOFloatVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetFloatVariables" - CNetworkUtlVectorBase< float32 > m_OwnerOnlyPredNetFloatVariables; // 0x140 + CNetworkUtlVectorBase< float32 > m_OwnerOnlyPredNetFloatVariables; // 0x140 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOVectorVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetVectorVariables" - CNetworkUtlVectorBase< Vector > m_OwnerOnlyPredNetVectorVariables; // 0x158 + CNetworkUtlVectorBase< Vector > m_OwnerOnlyPredNetVectorVariables; // 0x158 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOQuaternionVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetQuaternionVariables" - CNetworkUtlVectorBase< Quaternion > m_OwnerOnlyPredNetQuaternionVariables; // 0x170 + CNetworkUtlVectorBase< Quaternion > m_OwnerOnlyPredNetQuaternionVariables; // 0x170 // MNetworkEnable - int32_t m_nBoolVariablesCount; // 0x188 + int32_t m_nBoolVariablesCount; // 0x188 // MNetworkEnable - int32_t m_nOwnerOnlyBoolVariablesCount; // 0x18c + int32_t m_nOwnerOnlyBoolVariablesCount; // 0x18c // MNetworkEnable - int32_t m_nRandomSeedOffset; // 0x190 + int32_t m_nRandomSeedOffset; // 0x190 // MNetworkEnable // MNetworkUserGroup "animationgraph" - float m_flLastTeleportTime; // 0x194 -}; - -// Alignment: 0 -// Size: 0x8 -class CFootstepTableHandle : public -{ -public: - // no members available -}; - -// Alignment: 8 -// Size: 0x31 -class ResponseFollowup : public -{ -public: - char* followup_concept; // 0x0 - char* followup_contexts; // 0x8 - float followup_delay; // 0x10 - char* followup_target; // 0x14 - char* followup_entityiotarget; // 0x1c - char* followup_entityioinput; // 0x24 - float followup_entityiodelay; // 0x2c - bool bFired; // 0x30 -}; - -// Alignment: 3 -// Size: 0x20 -class ResponseParams : public -{ -public: - int16_t odds; // 0x10 - int16_t flags; // 0x12 - ResponseFollowup* m_pFollowup; // 0x18 -}; - -// Alignment: 2 -// Size: 0x30 -class CResponseCriteriaSet : public -{ -public: - int32_t m_nNumPrefixedContexts; // 0x28 - bool m_bOverrideOnAppend; // 0x2c -}; - -// Alignment: 10 -// Size: 0x1e8 -class CRR_Response : public -{ -public: - uint8_t m_Type; // 0x0 - char[192] m_szResponseName; // 0x1 - char[128] m_szMatchingRule; // 0xc1 - ResponseParams m_Params; // 0x148 - float m_fMatchScore; // 0x168 - char* m_szSpeakerContext; // 0x170 - char* m_szWorldContext; // 0x178 - ResponseFollowup m_Followup; // 0x180 - CUtlVector< CUtlSymbol > m_pchCriteriaNames; // 0x1b8 - CUtlVector< char* > m_pchCriteriaValues; // 0x1d0 -}; - -// Alignment: 2 -// Size: 0x1f0 -struct ConceptHistory_t : public -{ -public: - float timeSpoken; // 0x0 - CRR_Response m_response; // 0x8 -}; - -// Alignment: 9 -// Size: 0x60 -class CAI_Expresser : public -{ -public: - GameTime_t m_flStopTalkTime; // 0x38 - GameTime_t m_flStopTalkTimeWithoutDelay; // 0x3c - GameTime_t m_flBlockedTalkTime; // 0x40 - int32_t m_voicePitch; // 0x44 - GameTime_t m_flLastTimeAcceptedSpeak; // 0x48 - bool m_bAllowSpeakingInterrupts; // 0x4c - bool m_bConsiderSceneInvolvementAsSpeech; // 0x4d - int32_t m_nLastSpokenPriority; // 0x50 - CBaseFlex* m_pOuter; // 0x58 -}; - -// Alignment: 1 -// Size: 0x68 -class CResponseQueue : public -{ -public: - CUtlVector< CAI_Expresser* > m_ExpresserTargets; // 0x50 -}; - -// Alignment: 5 -// Size: 0x240 -class CResponseQueue::CDeferredResponse : public -{ -public: - CResponseCriteriaSet m_contexts; // 0x10 - float m_fDispatchTime; // 0x40 - CHandle< CBaseEntity > m_hIssuer; // 0x44 - CRR_Response m_response; // 0x50 - bool m_bResponseValid; // 0x238 -}; - -// Alignment: 1 -// Size: 0x70 -class CAI_ExpresserWithFollowup : public CAI_Expresser -{ -public: - ResponseFollowup* m_pPostponedFollowup; // 0x60 -}; - -// Alignment: 1 -// Size: 0x78 -class CMultiplayer_Expresser : public CAI_ExpresserWithFollowup, CAI_Expresser -{ -public: - bool m_bAllowMultipleScenes; // 0x70 -}; - -// Alignment: 10 -// Size: 0x60 -class CCommentarySystem : public -{ -public: - bool m_bCommentaryConvarsChanging; // 0x11 - bool m_bCommentaryEnabledMidGame; // 0x12 - GameTime_t m_flNextTeleportTime; // 0x14 - int32_t m_iTeleportStage; // 0x18 - bool m_bCheatState; // 0x1c - bool m_bIsFirstSpawnGroupToLoad; // 0x1d - CHandle< CPointCommentaryNode > m_hCurrentNode; // 0x38 - CHandle< CPointCommentaryNode > m_hActiveCommentaryNode; // 0x3c - CHandle< CPointCommentaryNode > m_hLastCommentaryNode; // 0x40 - CUtlVector< CHandle< CPointCommentaryNode > > m_vecNodes; // 0x48 -}; - -// Alignment: 1 -// Size: 0x18 -class CPhysicsShake : public -{ -public: - Vector m_force; // 0x8 -}; - -// Alignment: 16 -// Size: 0x5c -class CGameScriptedMoveData : public -{ -public: - Vector m_vDest; // 0x0 - Vector m_vSrc; // 0xc - QAngle m_angSrc; // 0x18 - QAngle m_angDst; // 0x24 - QAngle m_angCurrent; // 0x30 - float m_flAngRate; // 0x3c - float m_flDuration; // 0x40 - GameTime_t m_flStartTime; // 0x44 - MoveType_t m_nPrevMoveType; // 0x48 - bool m_bActive; // 0x49 - bool m_bTeleportOnEnd; // 0x4a - bool m_bIgnoreRotation; // 0x4b - ScriptedMoveType_t m_nType; // 0x4c - bool m_bSuccess; // 0x50 - ForcedCrouchState_t m_nForcedCrouchState; // 0x54 - bool m_bIgnoreCollisions; // 0x58 -}; - -// Alignment: 5 -// Size: 0x20 -class CGameChoreoServices : public IChoreoServices -{ -public: - CHandle< CBaseAnimGraph > m_hOwner; // 0x8 - CHandle< CScriptedSequence > m_hScriptedSequence; // 0xc - IChoreoServices::ScriptState_t m_scriptState; // 0x10 - IChoreoServices::ChoreoState_t m_choreoState; // 0x14 - GameTime_t m_flTimeStartedState; // 0x18 -}; - -// Alignment: 9 -// Size: 0x9 -struct HullFlags_t : public -{ -public: - bool m_bHull_Human; // 0x0 - bool m_bHull_SmallCentered; // 0x1 - bool m_bHull_WideHuman; // 0x2 - bool m_bHull_Tiny; // 0x3 - bool m_bHull_Medium; // 0x4 - bool m_bHull_TinyCentered; // 0x5 - bool m_bHull_Large; // 0x6 - bool m_bHull_LargeCentered; // 0x7 - bool m_bHull_MediumTall; // 0x8 -}; - -// Alignment: 4 -// Size: 0x40 -class CConstantForceController : public -{ -public: - Vector m_linear; // 0xc - RotationVector m_angular; // 0x18 - Vector m_linearSave; // 0x24 - RotationVector m_angularSave; // 0x30 -}; - -// Alignment: 4 -// Size: 0x20 -class CMotorController : public -{ -public: - float m_speed; // 0x8 - float m_maxTorque; // 0xc - Vector m_axis; // 0x10 - float m_inertiaFactor; // 0x1c -}; - -// Alignment: 4 -// Size: 0x10 -class CSoundEnvelope : public -{ -public: - float m_current; // 0x0 - float m_target; // 0x4 - float m_rate; // 0x8 - bool m_forceupdate; // 0xc -}; - -// Alignment: 2 -// Size: 0x28 -class CCopyRecipientFilter : public -{ -public: - int32_t m_Flags; // 0x8 - CUtlVector< CPlayerSlot > m_Recipients; // 0x10 -}; - -// Alignment: 13 -// Size: 0x90 -class CSoundPatch : public -{ -public: - CSoundEnvelope m_pitch; // 0x8 - CSoundEnvelope m_volume; // 0x18 - float m_shutdownTime; // 0x30 - float m_flLastTime; // 0x34 - CUtlSymbolLarge m_iszSoundScriptName; // 0x38 - CHandle< CBaseEntity > m_hEnt; // 0x40 - CEntityIndex m_soundEntityIndex; // 0x44 - Vector m_soundOrigin; // 0x48 - int32_t m_isPlaying; // 0x54 - CCopyRecipientFilter m_Filter; // 0x58 - float m_flCloseCaptionDuration; // 0x80 - bool m_bUpdatedSoundOrigin; // 0x84 - CUtlSymbolLarge m_iszClassName; // 0x88 - static int32_t &Get_g_SoundPatchCount(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CSoundPatch")->m_static_fields[0]->m_instance);}; -}; - -// Alignment: 0 -// Size: 0x20 -class CTouchExpansionComponent : public CEntityComponent -{ -public: - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTouchExpansionComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_referenced_but_impl_is_contained(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTouchExpansionComponent")->m_static_fields[1]->m_instance);}; - // no members available -}; - -// Alignment: 25 -// Size: 0x64 -struct dynpitchvol_base_t : public -{ -public: - int32_t preset; // 0x0 - int32_t pitchrun; // 0x4 - int32_t pitchstart; // 0x8 - int32_t spinup; // 0xc - int32_t spindown; // 0x10 - int32_t volrun; // 0x14 - int32_t volstart; // 0x18 - int32_t fadein; // 0x1c - int32_t fadeout; // 0x20 - int32_t lfotype; // 0x24 - int32_t lforate; // 0x28 - int32_t lfomodpitch; // 0x2c - int32_t lfomodvol; // 0x30 - int32_t cspinup; // 0x34 - int32_t cspincount; // 0x38 - int32_t pitch; // 0x3c - int32_t spinupsav; // 0x40 - int32_t spindownsav; // 0x44 - int32_t pitchfrac; // 0x48 - int32_t vol; // 0x4c - int32_t fadeinsav; // 0x50 - int32_t fadeoutsav; // 0x54 - int32_t volfrac; // 0x58 - int32_t lfofrac; // 0x5c - int32_t lfomult; // 0x60 -}; - -// Alignment: 0 -// Size: 0x64 -struct dynpitchvol_t : public dynpitchvol_base_t -{ -public: - // no members available -}; - -// Alignment: 3 -// Size: 0x18 -struct ResponseContext_t : public -{ -public: - CUtlSymbolLarge m_iszName; // 0x0 - CUtlSymbolLarge m_iszValue; // 0x8 - GameTime_t m_fExpirationTime; // 0x10 -}; - -// Alignment: 2 -// Size: 0x8 -struct Relationship_t : public -{ -public: - Disposition_t disposition; // 0x0 - int32_t priority; // 0x4 -}; - -// Alignment: 77 -// Size: 0x4a0 -class CBaseEntity : public CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - // MNetworkUserGroup "CBodyComponent" - // MNetworkAlias "CBodyComponent" - // MNetworkTypeAlias "CBodyComponent" - // MNetworkPriority "48" - CBodyComponent* m_CBodyComponent; // 0x30 - CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x38 - CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x218 - int32_t m_iCurrentThinkContext; // 0x230 - GameTick_t m_nLastThinkTick; // 0x234 - CBitVec< 64 > m_isSteadyState; // 0x240 - float m_lastNetworkChange; // 0x248 - CUtlVector< ResponseContext_t > m_ResponseContexts; // 0x258 - CUtlSymbolLarge m_iszResponseContext; // 0x270 - // MNetworkEnable - // MNetworkSerializer "ClampHealth" - // MNetworkUserGroup "Player" - // MNetworkPriority "32" - int32_t m_iHealth; // 0x298 - // MNetworkEnable - int32_t m_iMaxHealth; // 0x29c - // MNetworkEnable - // MNetworkUserGroup "Player" - // MNetworkPriority "32" - uint8_t m_lifeState; // 0x2a0 - float m_flDamageAccumulator; // 0x2a4 - // MNetworkEnable - bool m_bTakesDamage; // 0x2a8 - // MNetworkEnable - TakeDamageFlags_t m_nTakeDamageFlags; // 0x2ac - // MNetworkEnable - MoveCollide_t m_MoveCollide; // 0x2b1 - // MNetworkEnable - MoveType_t m_MoveType; // 0x2b2 - uint8_t m_nWaterTouch; // 0x2b3 - uint8_t m_nSlimeTouch; // 0x2b4 - bool m_bRestoreInHierarchy; // 0x2b5 - CUtlSymbolLarge m_target; // 0x2b8 - float m_flMoveDoneTime; // 0x2c0 - CHandle< CBaseFilter > m_hDamageFilter; // 0x2c4 - CUtlSymbolLarge m_iszDamageFilterName; // 0x2c8 - // MNetworkEnable - // MNetworkSendProxyRecipientsFilter - CUtlStringToken m_nSubclassID; // 0x2d0 - // MNetworkEnable - // MNetworkPriority "0" - // MNetworkSerializer "animTimeSerializer" - // MNetworkSendProxyRecipientsFilter - float m_flAnimTime; // 0x2e0 - // MNetworkEnable - // MNetworkPriority "1" - // MNetworkSerializer "simulationTimeSerializer" - float m_flSimulationTime; // 0x2e4 - // MNetworkEnable - GameTime_t m_flCreateTime; // 0x2e8 - // MNetworkEnable - bool m_bClientSideRagdoll; // 0x2ec - // MNetworkEnable - uint8_t m_ubInterpolationFrame; // 0x2ed - Vector m_vPrevVPhysicsUpdatePos; // 0x2f0 - // MNetworkEnable - uint8_t m_iTeamNum; // 0x2fc - CUtlSymbolLarge m_iGlobalname; // 0x300 - int32_t m_iSentToClients; // 0x308 - float m_flSpeed; // 0x30c - CUtlString m_sUniqueHammerID; // 0x310 - // MNetworkEnable - uint32_t m_spawnflags; // 0x318 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - GameTick_t m_nNextThinkTick; // 0x31c - int32_t m_nSimulationTick; // 0x320 - CEntityIOOutput m_OnKilled; // 0x328 - // MNetworkEnable - // MNetworkPriority "32" - // MNetworkUserGroup "Player" - uint32_t m_fFlags; // 0x350 - Vector m_vecAbsVelocity; // 0x354 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - // MNetworkPriority "32" - CNetworkVelocityVector m_vecVelocity; // 0x360 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - Vector m_vecBaseVelocity; // 0x390 - int32_t m_nPushEnumCount; // 0x39c - CCollisionProperty* m_pCollision; // 0x3a0 - // MNetworkEnable - CHandle< CBaseEntity > m_hEffectEntity; // 0x3a8 - // MNetworkEnable - // MNetworkPriority "32" - CHandle< CBaseEntity > m_hOwnerEntity; // 0x3ac - // MNetworkEnable - // MNetworkChangeCallback "OnEffectsChanged" - uint32_t m_fEffects; // 0x3b0 - // MNetworkEnable - // MNetworkPriority "32" - // MNetworkUserGroup "Player" - CHandle< CBaseEntity > m_hGroundEntity; // 0x3b4 - // MNetworkEnable - // MNetworkBitCount "8" - // MNetworkMinValue "0" - // MNetworkMaxValue "4" - // MNetworkEncodeFlags - // MNetworkUserGroup "LocalPlayerExclusive" - float m_flFriction; // 0x3b8 - // MNetworkEnable - // MNetworkEncoder - float m_flElasticity; // 0x3bc - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - float m_flGravityScale; // 0x3c0 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - float m_flTimeScale; // 0x3c4 - // MNetworkEnable - // MNetworkUserGroup "Water" - // MNetworkBitCount "8" - // MNetworkMinValue "0" - // MNetworkMaxValue "1" - // MNetworkEncodeFlags - float m_flWaterLevel; // 0x3c8 - // MNetworkEnable - bool m_bSimulatedEveryTick; // 0x3cc - // MNetworkEnable - bool m_bAnimatedEveryTick; // 0x3cd - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMinCPULevel; // 0x3ce - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMaxCPULevel; // 0x3cf - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMinGPULevel; // 0x3d0 - // MNetworkEnable - // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMaxGPULevel; // 0x3d1 - bool m_bDisableLowViolence; // 0x3d2 - uint8_t m_nWaterType; // 0x3d3 - int32_t m_iEFlags; // 0x3d4 - CEntityIOOutput m_OnUser1; // 0x3d8 - CEntityIOOutput m_OnUser2; // 0x400 - CEntityIOOutput m_OnUser3; // 0x428 - CEntityIOOutput m_OnUser4; // 0x450 - int32_t m_iInitialTeamNum; // 0x478 - // MNetworkEnable - GameTime_t m_flNavIgnoreUntilTime; // 0x47c - QAngle m_vecAngVelocity; // 0x480 - bool m_bNetworkQuantizeOriginAndAngles; // 0x48c - bool m_bLagCompensate; // 0x48d - float m_flOverriddenFriction; // 0x490 - CHandle< CBaseEntity > m_pBlocker; // 0x494 - float m_flLocalTime; // 0x498 - float m_flVPhysicsUpdateLocalTime; // 0x49c - static Relationship_t** &Get_sm_DefaultRelationship(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[0]->m_instance);}; - static bool &Get_sm_bAccurateTriggerBboxChecks(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[1]->m_instance);}; - static bool &Get_sm_bDisableTouchFuncs(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[2]->m_instance);}; - static bool &Get_m_bAllowPrecache(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[3]->m_instance);}; - static bool &Get_s_bAbsQueriesValid(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[4]->m_instance);}; - static bool &Get_s_bPreventingSetAnimRunAnimEvents(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[5]->m_instance);}; - static int32_t &Get_m_nPredictionRandomSeed(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[6]->m_instance);}; - static CBasePlayerController* &Get_m_pPredictionPlayerController(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[7]->m_instance);}; - static bool &Get_sm_bDatadescValidating(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[8]->m_instance);}; -}; - -// Alignment: 0 -// Size: 0x4a0 -class CServerOnlyEntity : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x4a0 -class CServerOnlyPointEntity : public CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x4a0 -class CLogicalEntity : public CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 17 -// Size: 0x6d8 -class CColorCorrection : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flFadeInDuration; // 0x4a0 - // MNetworkEnable - float m_flFadeOutDuration; // 0x4a4 - float m_flStartFadeInWeight; // 0x4a8 - float m_flStartFadeOutWeight; // 0x4ac - GameTime_t m_flTimeStartFadeIn; // 0x4b0 - GameTime_t m_flTimeStartFadeOut; // 0x4b4 - // MNetworkEnable - float m_flMaxWeight; // 0x4b8 - bool m_bStartDisabled; // 0x4bc - // MNetworkEnable - bool m_bEnabled; // 0x4bd - // MNetworkEnable - bool m_bMaster; // 0x4be - // MNetworkEnable - bool m_bClientSide; // 0x4bf - // MNetworkEnable - bool m_bExclusive; // 0x4c0 - // MNetworkEnable - float m_MinFalloff; // 0x4c4 - // MNetworkEnable - float m_MaxFalloff; // 0x4c8 - // MNetworkEnable - float m_flCurWeight; // 0x4cc - // MNetworkEnable - char[512] m_netlookupFilename; // 0x4d0 - CUtlSymbolLarge m_lookupFilename; // 0x6d0 -}; - -// Alignment: 11 -// Size: 0x4d8 -class CEntityFlame : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - CHandle< CBaseEntity > m_hEntAttached; // 0x4a0 - // MNetworkEnable - bool m_bCheapEffect; // 0x4a4 - float m_flSize; // 0x4a8 - bool m_bUseHitboxes; // 0x4ac - int32_t m_iNumHitboxFires; // 0x4b0 - float m_flHitboxFireScale; // 0x4b4 - GameTime_t m_flLifetime; // 0x4b8 - CHandle< CBaseEntity > m_hAttacker; // 0x4bc - int32_t m_iDangerSound; // 0x4c0 - float m_flDirectDamagePerSecond; // 0x4c4 - int32_t m_iCustomDamageType; // 0x4c8 -}; - -// Alignment: 3 -// Size: 0x4f8 -class CBaseFilter : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - bool m_bNegated; // 0x4a0 - CEntityIOOutput m_OnPass; // 0x4a8 - CEntityIOOutput m_OnFail; // 0x4d0 -}; - -// Alignment: 4 -// Size: 0x580 -class CFilterMultiple : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - filter_t m_nFilterType; // 0x4f8 - CUtlSymbolLarge[10] m_iFilterName; // 0x500 - CHandle< CBaseEntity >[10] m_hFilter; // 0x550 - int32_t m_nFilterCount; // 0x578 -}; - -// Alignment: 1 -// Size: 0x500 -class CFilterProximity : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - float m_flRadius; // 0x4f8 -}; - -// Alignment: 0 -// Size: 0x4f8 -class CFilterLOS : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 1 -// Size: 0x500 -class CFilterClass : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CUtlSymbolLarge m_iFilterClass; // 0x4f8 -}; - -// Alignment: 4 -// Size: 0x4b0 -class CBaseFire : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flScale; // 0x4a0 - // MNetworkEnable - float m_flStartScale; // 0x4a4 - // MNetworkEnable - float m_flScaleTime; // 0x4a8 - // MNetworkEnable - uint32_t m_nFlags; // 0x4ac -}; - -// Alignment: 2 -// Size: 0x4b8 -class CFireSmoke : public CBaseFire, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - int32_t m_nFlameModelIndex; // 0x4b0 - // MNetworkEnable - int32_t m_nFlameFromAboveModelIndex; // 0x4b4 -}; - -// Alignment: 7 -// Size: 0x4f8 -class CFishPool : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - int32_t m_fishCount; // 0x4b0 - float m_maxRange; // 0x4b4 - float m_swimDepth; // 0x4b8 - float m_waterLevel; // 0x4bc - bool m_isDormant; // 0x4c0 - CUtlVector< CHandle< CFish > > m_fishes; // 0x4c8 - CountdownTimer m_visTimer; // 0x4e0 -}; - -// Alignment: 0 -// Size: 0x830 -class CInfoData : public CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 3 -// Size: 0x20 -struct locksound_t : public -{ -public: - CUtlSymbolLarge sLockedSound; // 0x8 - CUtlSymbolLarge sUnlockedSound; // 0x10 - GameTime_t flwaitSound; // 0x18 -}; - -// Alignment: 4 -// Size: 0x510 -class CLogicBranch : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - bool m_bInValue; // 0x4a0 - CUtlVector< CHandle< CBaseEntity > > m_Listeners; // 0x4a8 - CEntityIOOutput m_OnTrue; // 0x4c0 - CEntityIOOutput m_OnFalse; // 0x4e8 -}; - -// Alignment: 7 -// Size: 0x530 -class CLogicDistanceCheck : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CUtlSymbolLarge m_iszEntityA; // 0x4a0 - CUtlSymbolLarge m_iszEntityB; // 0x4a8 - float m_flZone1Distance; // 0x4b0 - float m_flZone2Distance; // 0x4b4 - CEntityIOOutput m_InZone1; // 0x4b8 - CEntityIOOutput m_InZone2; // 0x4e0 - CEntityIOOutput m_InZone3; // 0x508 -}; - -// Alignment: 3 -// Size: 0x14 -class VelocitySampler : public -{ -public: - Vector m_prevSample; // 0x0 - GameTime_t m_fPrevSampleTime; // 0xc - float m_fIdealSampleRate; // 0x10 -}; - -// Alignment: 3 -// Size: 0x20 -class SimpleConstraintSoundProfile : public -{ -public: - SimpleConstraintSoundProfile::SimpleConstraintsSoundProfileKeypoints_t eKeypoints; // 0x8 - float32[2] m_keyPoints; // 0xc - float32[3] m_reversalSoundThresholds; // 0x14 -}; - -// Alignment: 8 -// Size: 0x88 -class ConstraintSoundInfo : public -{ -public: - VelocitySampler m_vSampler; // 0x8 - SimpleConstraintSoundProfile m_soundProfile; // 0x20 - Vector m_forwardAxis; // 0x40 - CUtlSymbolLarge m_iszTravelSoundFwd; // 0x50 - CUtlSymbolLarge m_iszTravelSoundBack; // 0x58 - CUtlSymbolLarge[3] m_iszReversalSounds; // 0x68 - bool m_bPlayTravelSound; // 0x80 - bool m_bPlayReversalSound; // 0x81 -}; - -// Alignment: 5 -// Size: 0x20 -class CSmoothFunc : public -{ -public: - float m_flSmoothAmplitude; // 0x8 - float m_flSmoothBias; // 0xc - float m_flSmoothDuration; // 0x10 - float m_flSmoothRemainingTime; // 0x14 - int32_t m_nSmoothDir; // 0x18 -}; - -// Alignment: 1 -// Size: 0x10 -struct magnetted_objects_t : public -{ -public: - CHandle< CBaseEntity > hEntity; // 0x8 -}; - -// Alignment: 3 -// Size: 0x4b8 -class CPointPrefab : public CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CUtlSymbolLarge m_targetMapName; // 0x4a0 - CUtlSymbolLarge m_forceWorldGroupID; // 0x4a8 - bool m_fixupNames; // 0x4b0 -}; - -// Alignment: 2 -// Size: 0x4a8 -class CSkyboxReference : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - WorldGroupId_t m_worldGroupId; // 0x4a0 - CHandle< CSkyCamera > m_hSkyCamera; // 0x4a4 -}; - -// Alignment: 4 -// Size: 0x540 -class CSkyCamera : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - sky3dparams_t m_skyboxData; // 0x4a0 - // MNetworkEnable - CUtlStringToken m_skyboxSlotToken; // 0x530 - bool m_bUseAngles; // 0x534 - CSkyCamera* m_pNext; // 0x538 -}; - -// Alignment: 12 -// Size: 0x34 -class CSound : public -{ -public: - CHandle< CBaseEntity > m_hOwner; // 0x0 - CHandle< CBaseEntity > m_hTarget; // 0x4 - int32_t m_iVolume; // 0x8 - float m_flOcclusionScale; // 0xc - int32_t m_iType; // 0x10 - int32_t m_iNextAudible; // 0x14 - GameTime_t m_flExpireTime; // 0x18 - int16_t m_iNext; // 0x1c - bool m_bNoExpirationTime; // 0x1e - int32_t m_ownerChannelIndex; // 0x20 - Vector m_vecOrigin; // 0x24 - bool m_bHasOwner; // 0x30 -}; - -// Alignment: 11 -// Size: 0x538 -class CEnvSoundscape : public CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CEntityIOOutput m_OnPlay; // 0x4a0 - float m_flRadius; // 0x4c8 - CUtlSymbolLarge m_soundscapeName; // 0x4d0 - CUtlSymbolLarge m_soundEventName; // 0x4d8 - bool m_bOverrideWithEvent; // 0x4e0 - int32_t m_soundscapeIndex; // 0x4e4 - int32_t m_soundscapeEntityListId; // 0x4e8 - uint32_t m_soundEventHash; // 0x4ec - CUtlSymbolLarge[8] m_positionNames; // 0x4f0 - CHandle< CEnvSoundscape > m_hProxySoundscape; // 0x530 - bool m_bDisabled; // 0x534 -}; - -// Alignment: 1 -// Size: 0x540 -class CEnvSoundscapeProxy : public CEnvSoundscape, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CUtlSymbolLarge m_MainSoundscapeName; // 0x538 -}; - -// Alignment: 0 -// Size: 0x538 -class CEnvSoundscapeTriggerable : public CEnvSoundscape, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 27 -// Size: 0x550 -class CTriggerCamera : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CHandle< CBaseEntity > m_hPlayer; // 0x4a0 - CHandle< CBaseEntity > m_hTarget; // 0x4a4 - CBaseEntity* m_pPath; // 0x4a8 - CUtlSymbolLarge m_sPath; // 0x4b0 - float m_flWait; // 0x4b8 - GameTime_t m_flReturnTime; // 0x4bc - GameTime_t m_flStopTime; // 0x4c0 - float m_moveDistance; // 0x4c4 - float m_targetSpeed; // 0x4c8 - float m_initialSpeed; // 0x4cc - float m_acceleration; // 0x4d0 - float m_deceleration; // 0x4d4 - int32_t m_state; // 0x4d8 - Vector m_vecMoveDir; // 0x4dc - float m_fov; // 0x4e8 - float m_fovSpeed; // 0x4ec - CUtlSymbolLarge m_iszTargetAttachment; // 0x4f0 - AttachmentHandle_t m_iAttachmentIndex; // 0x4f8 - bool m_bSnapToGoal; // 0x4f9 - bool m_bInterpolatePosition; // 0x4fa - Vector m_vStartPos; // 0x4fc - Vector m_vEndPos; // 0x508 - GameTime_t m_flInterpStartTime; // 0x514 - uint64_t m_nPlayerButtons; // 0x518 - bool m_bOldTakesDamage; // 0x520 - TakeDamageFlags_t m_nOldTakeDamageFlags; // 0x524 - CEntityIOOutput m_OnEndFollow; // 0x528 - static float &Get_kflPosInterpTime(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTriggerCamera")->m_static_fields[0]->m_instance);}; -}; - -// Alignment: 6 -// Size: 0x40 -struct lerpdata_t : public -{ -public: - CHandle< CBaseEntity > m_hEnt; // 0x0 - MoveType_t m_MoveType; // 0x4 - GameTime_t m_flStartTime; // 0x8 - Vector m_vecStartOrigin; // 0xc - Quaternion m_qStartRot; // 0x20 - ParticleIndex_t m_nFXIndex; // 0x30 + float m_flLastTeleportTime; // 0x194 }; // Alignment: 2 // Size: 0x10 -class CNavLinkAnimgraphVar : public -{ +class IntervalTimer +{ public: - // MPropertyFriendlyName "Animgraph Variable" - // MPropertyDescription "Animgraph variable to use for animation for this movement." - CUtlString m_strAnimgraphVar; // 0x0 - // MPropertyFriendlyName "Alignment Degrees" - // MPropertyDescription "Amount of angular slack the animation has when aligning to the navlink. 0 indicates that it must be strictly aligned." - uint32_t m_unAlignmentDegrees; // 0x8 -}; - -// Alignment: 3 -// Size: 0x20 -class CNavLinkMovementVData : public -{ -public: - // MPropertyFriendlyName "Is Interpolated" - // MPropertyDescription "Indicates that the animation has a segment that's interpolated. In general using this on navlinks that traverse +/- 50% of the recommended distance should look okay." - bool m_bIsInterpolated; // 0x0 - // MPropertyFriendlyName "Recommended Distance" - // MPropertyDescription "Recommended distance this movement traverses" - uint32_t m_unRecommendedDistance; // 0x4 - // MPropertyFriendlyName "Animgraph Variables" - // MPropertyDescription "List of animgraph variables to use when moving through this navlink. Can include multiple, with different amounts of angular slack. The most permissive animgraph variable that exists on the entity's animgraph will be used," - // MPropertyAutoExpandSelf - CUtlVector< CNavLinkAnimgraphVar > m_vecAnimgraphVars; // 0x8 -}; - -// Alignment: 0 -// Size: 0xd8 -class CNavVolumeMarkupVolume : public CNavVolume -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x98 -class CNavVolumeCalculatedVector : public CNavVolume -{ -public: - // no members available -}; - -// Alignment: 2 -// Size: 0xb8 -class CNavVolumeBreadthFirstSearch : public CNavVolumeCalculatedVector, CNavVolume -{ -public: - Vector m_vStartPos; // 0xa0 - float m_flSearchDist; // 0xac -}; - -// Alignment: 8 -// Size: 0x30 -struct VPhysicsCollisionAttribute_t : public -{ -public: - // MNetworkEnable - uint64_t m_nInteractsAs; // 0x8 - // MNetworkEnable - uint64_t m_nInteractsWith; // 0x10 - // MNetworkEnable - uint64_t m_nInteractsExclude; // 0x18 - // MNetworkEnable - uint32_t m_nEntityId; // 0x20 - // MNetworkEnable - uint32_t m_nOwnerId; // 0x24 - // MNetworkEnable - uint16_t m_nHierarchyId; // 0x28 - // MNetworkEnable - uint8_t m_nCollisionGroup; // 0x2a - // MNetworkEnable - uint8_t m_nCollisionFunctionMask; // 0x2b -}; - -// Alignment: 17 -// Size: 0xb0 -class CCollisionProperty : public -{ -public: - // MNetworkEnable - // MNetworkChangeCallback "CollisionAttributeChanged" - VPhysicsCollisionAttribute_t m_collisionAttribute; // 0x10 - // MNetworkEnable - // MNetworkChangeCallback "OnUpdateOBB" - Vector m_vecMins; // 0x40 - // MNetworkEnable - // MNetworkChangeCallback "OnUpdateOBB" - Vector m_vecMaxs; // 0x4c - // MNetworkEnable - // MNetworkChangeCallback "OnUpdateSolidFlags" - uint8_t m_usSolidFlags; // 0x5a - // MNetworkEnable - // MNetworkChangeCallback "OnUpdateSolidType" - SolidType_t m_nSolidType; // 0x5b - // MNetworkEnable - // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - uint8_t m_triggerBloat; // 0x5c - // MNetworkEnable - // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - SurroundingBoundsType_t m_nSurroundType; // 0x5d - // MNetworkEnable - uint8_t m_CollisionGroup; // 0x5e - // MNetworkEnable - // MNetworkChangeCallback "OnUpdateEnablePhysics" - uint8_t m_nEnablePhysics; // 0x5f - float m_flBoundingRadius; // 0x60 - // MNetworkEnable - // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - Vector m_vecSpecifiedSurroundingMins; // 0x64 - // MNetworkEnable - // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - Vector m_vecSpecifiedSurroundingMaxs; // 0x70 - Vector m_vecSurroundingMaxs; // 0x7c - Vector m_vecSurroundingMins; // 0x88 - // MNetworkEnable - Vector m_vCapsuleCenter1; // 0x94 - // MNetworkEnable - Vector m_vCapsuleCenter2; // 0xa0 - // MNetworkEnable - float m_flCapsuleRadius; // 0xac -}; - -// Alignment: 21 -// Size: 0x70 -class CEffectData : public -{ -public: - // MNetworkEnable - // MNetworkEncoder - Vector m_vOrigin; // 0x8 - // MNetworkEnable - // MNetworkEncoder - Vector m_vStart; // 0x14 - // MNetworkEnable - // MNetworkEncoder - Vector m_vNormal; // 0x20 - // MNetworkEnable - // MNetworkEncoder - QAngle m_vAngles; // 0x2c - // MNetworkEnable - CEntityHandle m_hEntity; // 0x38 - // MNetworkEnable - CEntityHandle m_hOtherEntity; // 0x3c - // MNetworkEnable - float m_flScale; // 0x40 - // MNetworkEnable - // MNetworkBitCount "12" - // MNetworkMinValue "0" - // MNetworkMaxValue "1023" - // MNetworkEncodeFlags - float m_flMagnitude; // 0x44 - // MNetworkEnable - // MNetworkBitCount "10" - // MNetworkMinValue "0" - // MNetworkMaxValue "1023" - // MNetworkEncodeFlags - float m_flRadius; // 0x48 - // MNetworkEnable - CUtlStringToken m_nSurfaceProp; // 0x4c - // MNetworkEnable - CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > m_nEffectIndex; // 0x50 - // MNetworkEnable - uint32_t m_nDamageType; // 0x58 - // MNetworkEnable - uint8_t m_nPenetrate; // 0x5c - // MNetworkEnable - uint16_t m_nMaterial; // 0x5e - // MNetworkEnable - uint16_t m_nHitBox; // 0x60 - // MNetworkEnable - uint8_t m_nColor; // 0x62 - // MNetworkEnable - uint8_t m_fFlags; // 0x63 - // MNetworkEnable - AttachmentHandle_t m_nAttachmentIndex; // 0x64 - // MNetworkEnable - CUtlStringToken m_nAttachmentName; // 0x68 - // MNetworkEnable - uint16_t m_iEffectName; // 0x6c - // MNetworkEnable - uint8_t m_nExplosionType; // 0x6e -}; - -// Alignment: 2 -// Size: 0x4a8 -class CEnvDetailController : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flFadeStartDist; // 0x4a0 - // MNetworkEnable - float m_flFadeEndDist; // 0x4a4 -}; - -// Alignment: 31 -// Size: 0x258 -class CEnvWindShared : public -{ -public: - // MNetworkEnable - GameTime_t m_flStartTime; // 0x8 - // MNetworkEnable - uint32_t m_iWindSeed; // 0xc - // MNetworkEnable - uint16_t m_iMinWind; // 0x10 - // MNetworkEnable - uint16_t m_iMaxWind; // 0x12 - // MNetworkEnable - int32_t m_windRadius; // 0x14 - // MNetworkEnable - uint16_t m_iMinGust; // 0x18 - // MNetworkEnable - uint16_t m_iMaxGust; // 0x1a - // MNetworkEnable - float m_flMinGustDelay; // 0x1c - // MNetworkEnable - float m_flMaxGustDelay; // 0x20 - // MNetworkEnable - float m_flGustDuration; // 0x24 - // MNetworkEnable - uint16_t m_iGustDirChange; // 0x28 - // MNetworkEnable - // MNetworkEncoder - Vector m_location; // 0x2c - int32_t m_iszGustSound; // 0x38 - int32_t m_iWindDir; // 0x3c - float m_flWindSpeed; // 0x40 - Vector m_currentWindVector; // 0x44 - Vector m_CurrentSwayVector; // 0x50 - Vector m_PrevSwayVector; // 0x5c - // MNetworkEnable - uint16_t m_iInitialWindDir; // 0x68 - // MNetworkEnable - float m_flInitialWindSpeed; // 0x6c - CEntityIOOutput m_OnGustStart; // 0x70 - CEntityIOOutput m_OnGustEnd; // 0x98 - GameTime_t m_flVariationTime; // 0xc0 - GameTime_t m_flSwayTime; // 0xc4 - GameTime_t m_flSimTime; // 0xc8 - GameTime_t m_flSwitchTime; // 0xcc - float m_flAveWindSpeed; // 0xd0 - bool m_bGusting; // 0xd4 - float m_flWindAngleVariation; // 0xd8 - float m_flWindSpeedVariation; // 0xdc - CEntityIndex m_iEntIndex; // 0xe0 -}; - -// Alignment: 2 -// Size: 0x8 -struct CEnvWindShared__WindAveEvent_t : public -{ -public: - float m_flStartWindSpeed; // 0x0 - float m_flAveWindSpeed; // 0x4 -}; - -// Alignment: 2 -// Size: 0x8 -struct CEnvWindShared__WindVariationEvent_t : public -{ -public: - float m_flWindAngleVariation; // 0x0 - float m_flWindSpeedVariation; // 0x4 -}; - -// Alignment: 0 -// Size: 0x4a0 -class CInfoLadderDismount : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 13 -// Size: 0x60 -struct shard_model_desc_t : public -{ -public: - // MNetworkEnable - int32_t m_nModelID; // 0x8 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x10 - // MNetworkEnable - ShardSolid_t m_solid; // 0x18 - // MNetworkEnable - ShatterPanelMode m_ShatterPanelMode; // 0x19 - // MNetworkEnable - Vector2D m_vecPanelSize; // 0x1c - // MNetworkEnable - Vector2D m_vecStressPositionA; // 0x24 - // MNetworkEnable - Vector2D m_vecStressPositionB; // 0x2c - // MNetworkEnable - CNetworkUtlVectorBase< Vector2D > m_vecPanelVertices; // 0x38 - // MNetworkEnable - float m_flGlassHalfThickness; // 0x50 - // MNetworkEnable - bool m_bHasParent; // 0x54 - // MNetworkEnable - bool m_bParentFrozen; // 0x55 - // MNetworkEnable - CUtlStringToken m_SurfacePropStringToken; // 0x58 - // MNetworkEnable - CUtlStringToken m_LightGroup; // 0x5c -}; - -// Alignment: 30 -// Size: 0xc0 -class CShatterGlassShard : public -{ -public: - uint32_t m_hShardHandle; // 0x8 - CUtlVector< Vector2D > m_vecPanelVertices; // 0x10 - Vector2D m_vLocalPanelSpaceOrigin; // 0x28 - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x30 - CHandle< CShatterGlassShardPhysics > m_hPhysicsEntity; // 0x38 - CHandle< CFuncShatterglass > m_hParentPanel; // 0x3c - uint32_t m_hParentShard; // 0x40 - ShatterGlassStressType m_ShatterStressType; // 0x44 - Vector m_vecStressVelocity; // 0x48 - bool m_bCreatedModel; // 0x54 - float m_flLongestEdge; // 0x58 - float m_flShortestEdge; // 0x5c - float m_flLongestAcross; // 0x60 - float m_flShortestAcross; // 0x64 - float m_flSumOfAllEdges; // 0x68 - float m_flArea; // 0x6c - OnFrame m_nOnFrameEdge; // 0x70 - int32_t m_nParentPanelsNthShard; // 0x74 - int32_t m_nSubShardGeneration; // 0x78 - Vector2D m_vecAverageVertPosition; // 0x7c - bool m_bAverageVertPositionIsValid; // 0x84 - Vector2D m_vecPanelSpaceStressPositionA; // 0x88 - Vector2D m_vecPanelSpaceStressPositionB; // 0x90 - bool m_bStressPositionAIsValid; // 0x98 - bool m_bStressPositionBIsValid; // 0x99 - bool m_bFlaggedForRemoval; // 0x9a - GameTime_t m_flPhysicsEntitySpawnedAtTime; // 0x9c - bool m_bShatterRateLimited; // 0xa0 - CHandle< CBaseEntity > m_hEntityHittingMe; // 0xa4 - CUtlVector< uint32 > m_vecNeighbors; // 0xa8 -}; - -// Alignment: 0 -// Size: 0x4a0 -class CGameRulesProxy : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 2 -// Size: 0x90 -class CGameRules : public -{ -public: - char[128] m_szQuestName; // 0x8 - int32_t m_nQuestPhase; // 0x88 -}; - -// Alignment: 11 -// Size: 0x58 -class CGlowProperty : public -{ -public: - Vector m_fGlowColor; // 0x8 - // MNetworkEnable - // MNetworkChangeCallback "OnGlowTypeChanged" - int32_t m_iGlowType; // 0x30 - // MNetworkEnable - int32_t m_iGlowTeam; // 0x34 - // MNetworkEnable - int32_t m_nGlowRange; // 0x38 - // MNetworkEnable - int32_t m_nGlowRangeMin; // 0x3c - // MNetworkEnable - // MNetworkChangeCallback "OnGlowColorChanged" - Color m_glowColorOverride; // 0x40 - // MNetworkEnable - bool m_bFlashing; // 0x44 - // MNetworkEnable - float m_flGlowTime; // 0x48 - // MNetworkEnable - float m_flGlowStartTime; // 0x4c - // MNetworkEnable - bool m_bEligibleForScreenHighlight; // 0x50 - bool m_bGlowing; // 0x51 -}; - -// Alignment: 0 -// Size: 0x8 -class IVehicle : public -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x90 -class CMultiplayRules : public CGameRules -{ -public: - // no members available -}; - -// Alignment: 25 -// Size: 0x68 -struct fogparams_t : public -{ -public: - // MNetworkEnable - // MNetworkEncoder - Vector dirPrimary; // 0x8 - // MNetworkEnable - Color colorPrimary; // 0x14 - // MNetworkEnable - Color colorSecondary; // 0x18 - // MNetworkEnable - // MNetworkUserGroup "FogController" - Color colorPrimaryLerpTo; // 0x1c - // MNetworkEnable - // MNetworkUserGroup "FogController" - Color colorSecondaryLerpTo; // 0x20 - // MNetworkEnable - float start; // 0x24 - // MNetworkEnable - float end; // 0x28 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float farz; // 0x2c - // MNetworkEnable - float maxdensity; // 0x30 - // MNetworkEnable - float exponent; // 0x34 - // MNetworkEnable - float HDRColorScale; // 0x38 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float skyboxFogFactor; // 0x3c - // MNetworkEnable - // MNetworkUserGroup "FogController" - float skyboxFogFactorLerpTo; // 0x40 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float startLerpTo; // 0x44 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float endLerpTo; // 0x48 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float maxdensityLerpTo; // 0x4c - // MNetworkEnable - // MNetworkUserGroup "FogController" - GameTime_t lerptime; // 0x50 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float duration; // 0x54 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float blendtobackground; // 0x58 - // MNetworkEnable - // MNetworkUserGroup "FogController" - float scattering; // 0x5c - // MNetworkEnable - // MNetworkUserGroup "FogController" - float locallightscale; // 0x60 - // MNetworkEnable - bool enable; // 0x64 - // MNetworkEnable - bool blend; // 0x65 - // MNetworkEnable - bool m_bNoReflectionFog; // 0x66 - bool m_bPadding; // 0x67 -}; - -// Alignment: 14 -// Size: 0x40 -struct fogplayerparams_t : public -{ -public: - // MNetworkEnable - // MNetworkUserGroup "PlayerFogController" - CHandle< CFogController > m_hCtrl; // 0x8 - float m_flTransitionTime; // 0xc - Color m_OldColor; // 0x10 - float m_flOldStart; // 0x14 - float m_flOldEnd; // 0x18 - float m_flOldMaxDensity; // 0x1c - float m_flOldHDRColorScale; // 0x20 - float m_flOldFarZ; // 0x24 - Color m_NewColor; // 0x28 - float m_flNewStart; // 0x2c - float m_flNewEnd; // 0x30 - float m_flNewMaxDensity; // 0x34 - float m_flNewHDRColorScale; // 0x38 - float m_flNewFarZ; // 0x3c -}; - -// Alignment: 6 -// Size: 0x90 -struct sky3dparams_t : public -{ -public: - // MNetworkEnable - int16_t scale; // 0x8 - // MNetworkEnable - // MNetworkEncoder - Vector origin; // 0xc - // MNetworkEnable - bool bClip3DSkyBoxNearToWorldFar; // 0x18 - // MNetworkEnable - float flClip3DSkyBoxNearToWorldFarOffset; // 0x1c - // MNetworkEnable - fogparams_t fog; // 0x20 - // MNetworkEnable - WorldGroupId_t m_nWorldGroupID; // 0x88 -}; - -// Alignment: 0 -// Size: 0x8 -class IRagdoll : public -{ -public: - // no members available -}; - -// Alignment: 3 -// Size: 0x28 -struct ragdollelement_t : public -{ -public: - Vector originParentSpace; // 0x0 - int32_t parentIndex; // 0x20 - float m_flRadius; // 0x24 -}; - -// Alignment: 4 -// Size: 0x38 -struct ragdoll_t : public -{ -public: - CUtlVector< ragdollelement_t > list; // 0x0 - CUtlVector< int32 > boneIndex; // 0x18 - bool allowStretch; // 0x30 - bool unused; // 0x31 -}; - -// Alignment: 2 -// Size: 0x48 -struct PhysicsRagdollPose_t : public -{ -public: - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 - // MNetworkEnable - // MNetworkChangeCallback "OnTransformChanged" - CNetworkUtlVectorBase< CTransform > m_Transforms; // 0x30 -}; - -// Alignment: 17 -// Size: 0x60 -class CSceneEventInfo : public -{ -public: - int32_t m_iLayer; // 0x0 - int32_t m_iPriority; // 0x4 - HSequence m_hSequence; // 0x8 - float m_flWeight; // 0xc - bool m_bIsMoving; // 0x10 - bool m_bHasArrived; // 0x11 - float m_flInitialYaw; // 0x14 - float m_flTargetYaw; // 0x18 - float m_flFacingYaw; // 0x1c - int32_t m_nType; // 0x20 - GameTime_t m_flNext; // 0x24 - bool m_bIsGesture; // 0x28 - bool m_bShouldRemove; // 0x29 - CHandle< CBaseEntity > m_hTarget; // 0x54 - uint32_t m_nSceneEventId; // 0x58 - bool m_bClientSide; // 0x5c - bool m_bStarted; // 0x5d -}; - -// Alignment: 1 -// Size: 0x4 -struct ParticleIndex_t : public -{ -public: - int32_t m_Value; // 0x0 -}; - -// Alignment: 1 -// Size: 0x1 -struct AmmoIndex_t : public -{ -public: - int8_t m_Value; // 0x0 -}; - -// Alignment: 0 -// Size: 0x28 -class CEntitySubclassVDataBase : public -{ -public: - // no members available -}; - -// Alignment: 4 -// Size: 0x20 -struct thinkfunc_t : public -{ -public: - HSCRIPT m_hFn; // 0x8 - CUtlStringToken m_nContext; // 0x10 - GameTick_t m_nNextThinkTick; // 0x14 - GameTick_t m_nLastThinkTick; // 0x18 -}; - -// Alignment: 2 -// Size: 0x10 -struct RagdollCreationParams_t : public -{ -public: - Vector m_vForce; // 0x0 - int32_t m_nForceBone; // 0xc -}; - -// Alignment: 6 -// Size: 0x14 -struct hudtextparms_t : public -{ -public: - Color color1; // 0x0 - Color color2; // 0x4 - uint8_t effect; // 0x8 - uint8_t channel; // 0x9 - float x; // 0xc - float y; // 0x10 -}; - -// Alignment: 2 -// Size: 0x8 -class CSimpleSimTimer : public -{ -public: - GameTime_t m_next; // 0x0 - WorldGroupId_t m_nWorldGroupId; // 0x4 -}; - -// Alignment: 1 -// Size: 0xc -class CSimTimer : public CSimpleSimTimer -{ -public: - float m_interval; // 0x8 -}; - -// Alignment: 2 -// Size: 0x10 -class CRandSimTimer : public CSimpleSimTimer -{ -public: - float m_minInterval; // 0x8 - float m_maxInterval; // 0xc -}; - -// Alignment: 1 -// Size: 0xc -class CStopwatchBase : public CSimpleSimTimer -{ -public: - bool m_fIsRunning; // 0x8 -}; - -// Alignment: 0 -// Size: 0xc -class CSimpleStopwatch : public CStopwatchBase, CSimpleSimTimer -{ -public: - // no members available -}; - -// Alignment: 1 -// Size: 0x10 -class CStopwatch : public CStopwatchBase, CSimpleSimTimer -{ -public: - float m_interval; // 0xc -}; - -// Alignment: 2 -// Size: 0x14 -class CRandStopwatch : public CStopwatchBase, CSimpleSimTimer -{ -public: - float m_minInterval; // 0xc - float m_maxInterval; // 0x10 -}; - -// Alignment: 1 -// Size: 0x98 -class CSingleplayRules : public CGameRules -{ -public: - bool m_bSinglePlayerGameEnding; // 0x90 -}; - -// Alignment: 9 -// Size: 0x538 -class CSoundOpvarSetPointBase : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - bool m_bDisabled; // 0x4a0 - CEntityHandle m_hSource; // 0x4a4 - CUtlSymbolLarge m_iszSourceEntityName; // 0x4b0 - Vector m_vLastPosition; // 0x508 - // MNetworkEnable - CUtlSymbolLarge m_iszStackName; // 0x518 - // MNetworkEnable - CUtlSymbolLarge m_iszOperatorName; // 0x520 - // MNetworkEnable - CUtlSymbolLarge m_iszOpvarName; // 0x528 - // MNetworkEnable - int32_t m_iOpvarIndex; // 0x530 - // MNetworkEnable - bool m_bUseAutoCompare; // 0x534 -}; - -// Alignment: 21 -// Size: 0x638 -class CSoundOpvarSetPointEntity : public CSoundOpvarSetPointBase, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CEntityIOOutput m_OnEnter; // 0x538 - CEntityIOOutput m_OnExit; // 0x560 - bool m_bAutoDisable; // 0x588 - float m_flDistanceMin; // 0x5cc - float m_flDistanceMax; // 0x5d0 - float m_flDistanceMapMin; // 0x5d4 - float m_flDistanceMapMax; // 0x5d8 - float m_flOcclusionRadius; // 0x5dc - float m_flOcclusionMin; // 0x5e0 - float m_flOcclusionMax; // 0x5e4 - float m_flValSetOnDisable; // 0x5e8 - bool m_bSetValueOnDisable; // 0x5ec - int32_t m_nSimulationMode; // 0x5f0 - int32_t m_nVisibilitySamples; // 0x5f4 - Vector m_vDynamicProxyPoint; // 0x5f8 - float m_flDynamicMaximumOcclusion; // 0x604 - CEntityHandle m_hDynamicEntity; // 0x608 - CUtlSymbolLarge m_iszDynamicEntityName; // 0x610 - float m_flPathingDistanceNormFactor; // 0x618 - Vector m_vPathingSourcePos; // 0x61c - Vector m_vPathingListenerPos; // 0x628 -}; - -// Alignment: 9 -// Size: 0x6a0 -class CSoundOpvarSetAABBEntity : public CSoundOpvarSetPointEntity, CSoundOpvarSetPointBase, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - Vector m_vDistanceInnerMins; // 0x638 - Vector m_vDistanceInnerMaxs; // 0x644 - Vector m_vDistanceOuterMins; // 0x650 - Vector m_vDistanceOuterMaxs; // 0x65c - int32_t m_nAABBDirection; // 0x668 - Vector m_vInnerMins; // 0x66c - Vector m_vInnerMaxs; // 0x678 - Vector m_vOuterMins; // 0x684 - Vector m_vOuterMaxs; // 0x690 -}; - -// Alignment: 0 -// Size: 0x6a0 -class CSoundOpvarSetOBBEntity : public CSoundOpvarSetAABBEntity, CSoundOpvarSetPointEntity, CSoundOpvarSetPointBase, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 3 -// Size: 0x660 -class CSoundOpvarSetPathCornerEntity : public CSoundOpvarSetPointEntity, CSoundOpvarSetPointBase, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - float m_flDistMinSqr; // 0x650 - float m_flDistMaxSqr; // 0x654 - CUtlSymbolLarge m_iszPathCornerEntityName; // 0x658 -}; - -// Alignment: 8 -// Size: 0x578 -class CSoundOpvarSetOBBWindEntity : public CSoundOpvarSetPointBase, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - Vector m_vMins; // 0x538 - Vector m_vMaxs; // 0x544 - Vector m_vDistanceMins; // 0x550 - Vector m_vDistanceMaxs; // 0x55c - float m_flWindMin; // 0x568 - float m_flWindMax; // 0x56c - float m_flWindMapMin; // 0x570 - float m_flWindMapMax; // 0x574 -}; - -// Alignment: 16 -// Size: 0xa0 -class CTakeDamageInfo : public -{ -public: - Vector m_vecDamageForce; // 0x8 - Vector m_vecDamagePosition; // 0x14 - Vector m_vecReportedPosition; // 0x20 - Vector m_vecDamageDirection; // 0x2c - CHandle< CBaseEntity > m_hInflictor; // 0x38 - CHandle< CBaseEntity > m_hAttacker; // 0x3c - CHandle< CBaseEntity > m_hAbility; // 0x40 - float m_flDamage; // 0x44 - int32_t m_bitsDamageType; // 0x48 - int32_t m_iDamageCustom; // 0x4c - AmmoIndex_t m_iAmmoType; // 0x50 - float m_flOriginalDamage; // 0x60 - TakeDamageFlags_t m_nDamageFlags; // 0x70 - int32_t m_nNumObjectsPenetrated; // 0x74 - HSCRIPT m_hScriptInstance; // 0x78 - bool m_bInTakeDamageFlow; // 0x98 - static CTakeDamageInfo &Get_EmptyInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTakeDamageInfo")->m_static_fields[0]->m_instance);}; -}; - -// Alignment: 2 -// Size: 0x8 -class CTakeDamageResult : public -{ -public: - int32_t m_nHealthLost; // 0x0 - int32_t m_nDamageTaken; // 0x4 -}; - -// Alignment: 4 -// Size: 0xb8 -struct SummaryTakeDamageInfo_t : public -{ -public: - int32_t nSummarisedCount; // 0x0 - CTakeDamageInfo info; // 0x8 - CTakeDamageResult result; // 0xa8 - CHandle< CBaseEntity > hTarget; // 0xb0 -}; - -// Alignment: 1 -// Size: 0x20 -class CTakeDamageSummaryScopeGuard : public -{ -public: - CUtlVector< SummaryTakeDamageInfo_t* > m_vecSummaries; // 0x8 - static SummaryTakeDamageInfo_t &Get_EmptySummary(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTakeDamageSummaryScopeGuard")->m_static_fields[0]->m_instance);}; -}; - -// Alignment: 0 -// Size: 0x90 -class CTeamplayRules : public CMultiplayRules, CGameRules -{ -public: - // no members available -}; - -// Alignment: 2 -// Size: 0x60 -class CAttributeList : public -{ -public: - // MNetworkEnable - // MNetworkTypeAlias "CUtlVector< CEconItemAttribute >" - CUtlVectorEmbeddedNetworkVar< CEconItemAttribute > m_Attributes; // 0x8 - CAttributeManager* m_pManager; // 0x58 -}; - -// Alignment: 5 -// Size: 0x48 -class CEconItemAttribute : public -{ -public: - // MNetworkEnable - uint16_t m_iAttributeDefinitionIndex; // 0x30 - // MNetworkEnable - // MNetworkAlias "m_iRawValue32" - float m_flValue; // 0x34 - // MNetworkEnable - float m_flInitialValue; // 0x38 - // MNetworkEnable - int32_t m_nRefundableCurrency; // 0x3c - // MNetworkEnable - bool m_bSetBonus; // 0x40 -}; - -// Alignment: 0 -// Size: 0x8 -class IEconItemInterface : public -{ -public: - // no members available -}; - -// Alignment: 6 -// Size: 0x50 -class CAttributeManager : public -{ -public: - CUtlVector< CHandle< CBaseEntity > > m_Providers; // 0x8 - // MNetworkEnable - int32_t m_iReapplyProvisionParity; // 0x20 - // MNetworkEnable - CHandle< CBaseEntity > m_hOuter; // 0x24 - bool m_bPreventLoopback; // 0x28 - // MNetworkEnable - attributeprovidertypes_t m_ProviderType; // 0x2c - CUtlVector< CAttributeManager::cached_attribute_float_t > m_CachedResults; // 0x30 -}; - -// Alignment: 3 -// Size: 0x18 -struct CAttributeManager__cached_attribute_float_t : public -{ -public: - float flIn; // 0x0 - CUtlSymbolLarge iAttribHook; // 0x8 - float flOut; // 0x10 -}; - -// Alignment: 1 -// Size: 0x2c8 -class CAttributeContainer : public CAttributeManager -{ -public: - // MNetworkEnable - CEconItemView m_Item; // 0x50 -}; - -// Alignment: 0 -// Size: 0x8 -class IHasAttributes : public -{ -public: - // no members available -}; - -// Alignment: 2 -// Size: 0x50 -struct GameAmmoTypeInfo_t : public AmmoTypeInfo_t -{ -public: - int32_t m_nBuySize; // 0x38 - int32_t m_nCost; // 0x3c -}; - -// Alignment: 2 -// Size: 0x18 -struct EntitySpottedState_t : public -{ -public: - // MNetworkEnable - // MNetworkChangeCallback "OnIsSpottedChanged" - bool m_bSpotted; // 0x8 - // MNetworkEnable - // MNetworkChangeCallback "OnIsSpottedChanged" - uint32[2] m_bSpottedByMask; // 0xc -}; - -// Alignment: 3 -// Size: 0x4b0 -class SpawnPoint : public CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - int32_t m_iPriority; // 0x4a0 - bool m_bEnabled; // 0x4a4 - int32_t m_nType; // 0x4a8 -}; - -// Alignment: 9 -// Size: 0x4e8 -class SpawnPointCoopEnemy : public SpawnPoint, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CUtlSymbolLarge m_szWeaponsToGive; // 0x4b0 - CUtlSymbolLarge m_szPlayerModelToUse; // 0x4b8 - int32_t m_nArmorToSpawnWith; // 0x4c0 - SpawnPointCoopEnemy::BotDefaultBehavior_t m_nDefaultBehavior; // 0x4c4 - int32_t m_nBotDifficulty; // 0x4c8 - bool m_bIsAgressive; // 0x4cc - bool m_bStartAsleep; // 0x4cd - float m_flHideRadius; // 0x4d0 - CUtlSymbolLarge m_szBehaviorTreeFile; // 0x4e0 -}; - -// Alignment: 1 -// Size: 0x4a8 -class CCSGameRulesProxy : public CGameRulesProxy, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - // MNetworkTypeAlias "CCSGameRules*" - // MNetworkPriority "32" - CCSGameRules* m_pGameRules; // 0x4a0 -}; - -// Alignment: 198 -// Size: 0x3808 -class CCSGameRules : public CTeamplayRules, CMultiplayRules, CGameRules -{ -public: - // MNetworkDisable - // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x98 - CHandle< CBaseEntity > m_coopMissionManager; // 0xc0 - // MNetworkEnable - bool m_bFreezePeriod; // 0xc4 - // MNetworkEnable - bool m_bWarmupPeriod; // 0xc5 - // MNetworkEnable - GameTime_t m_fWarmupPeriodEnd; // 0xc8 - // MNetworkEnable - GameTime_t m_fWarmupPeriodStart; // 0xcc - // MNetworkEnable - bool m_bTerroristTimeOutActive; // 0xd0 - // MNetworkEnable - bool m_bCTTimeOutActive; // 0xd1 - // MNetworkEnable - float m_flTerroristTimeOutRemaining; // 0xd4 - // MNetworkEnable - float m_flCTTimeOutRemaining; // 0xd8 - // MNetworkEnable - int32_t m_nTerroristTimeOuts; // 0xdc - // MNetworkEnable - int32_t m_nCTTimeOuts; // 0xe0 - // MNetworkEnable - bool m_bTechnicalTimeOut; // 0xe4 - // MNetworkEnable - bool m_bMatchWaitingForResume; // 0xe5 - // MNetworkEnable - int32_t m_iRoundTime; // 0xe8 - // MNetworkEnable - float m_fMatchStartTime; // 0xec - // MNetworkEnable - GameTime_t m_fRoundStartTime; // 0xf0 - // MNetworkEnable - GameTime_t m_flRestartRoundTime; // 0xf4 - // MNetworkEnable - bool m_bGameRestart; // 0xf8 - // MNetworkEnable - float m_flGameStartTime; // 0xfc - // MNetworkEnable - float m_timeUntilNextPhaseStarts; // 0x100 - // MNetworkEnable - // MNetworkChangeCallback "OnGamePhaseChanged" - int32_t m_gamePhase; // 0x104 - // MNetworkEnable - int32_t m_totalRoundsPlayed; // 0x108 - // MNetworkEnable - int32_t m_nRoundsPlayedThisPhase; // 0x10c - // MNetworkEnable - int32_t m_nOvertimePlaying; // 0x110 - // MNetworkEnable - int32_t m_iHostagesRemaining; // 0x114 - // MNetworkEnable - bool m_bAnyHostageReached; // 0x118 - // MNetworkEnable - bool m_bMapHasBombTarget; // 0x119 - // MNetworkEnable - bool m_bMapHasRescueZone; // 0x11a - // MNetworkEnable - bool m_bMapHasBuyZone; // 0x11b // MNetworkEnable - bool m_bIsQueuedMatchmaking; // 0x11c + GameTime_t m_timestamp; // 0x8 // MNetworkEnable - int32_t m_nQueuedMatchmakingMode; // 0x120 - // MNetworkEnable - bool m_bIsValveDS; // 0x124 - // MNetworkEnable - bool m_bLogoMap; // 0x125 - // MNetworkEnable - bool m_bPlayAllStepSoundsOnServer; // 0x126 - // MNetworkEnable - int32_t m_iNumGunGameProgressiveWeaponsCT; // 0x128 - // MNetworkEnable - int32_t m_iNumGunGameProgressiveWeaponsT; // 0x12c - // MNetworkEnable - int32_t m_iSpectatorSlotCount; // 0x130 - // MNetworkEnable - int32[60] m_GGProgressiveWeaponOrderCT; // 0x134 - // MNetworkEnable - int32[60] m_GGProgressiveWeaponOrderT; // 0x224 - // MNetworkEnable - int32[60] m_GGProgressiveWeaponKillUpgradeOrderCT; // 0x314 - // MNetworkEnable - int32[60] m_GGProgressiveWeaponKillUpgradeOrderT; // 0x404 - // MNetworkEnable - int32_t m_MatchDevice; // 0x4f4 - // MNetworkEnable - bool m_bHasMatchStarted; // 0x4f8 - // MNetworkEnable - float m_flDMBonusStartTime; // 0x4fc - // MNetworkEnable - float m_flDMBonusTimeLength; // 0x500 - // MNetworkEnable - uint16_t m_unDMBonusWeaponLoadoutSlot; // 0x504 - // MNetworkEnable - bool m_bDMBonusActive; // 0x506 - // MNetworkEnable - int32_t m_nNextMapInMapgroup; // 0x508 - // MNetworkEnable - char[512] m_szTournamentEventName; // 0x50c - // MNetworkEnable - char[512] m_szTournamentEventStage; // 0x70c - // MNetworkEnable - char[512] m_szMatchStatTxt; // 0x90c - // MNetworkEnable - char[512] m_szTournamentPredictionsTxt; // 0xb0c - // MNetworkEnable - int32_t m_nTournamentPredictionsPct; // 0xd0c - // MNetworkEnable - GameTime_t m_flCMMItemDropRevealStartTime; // 0xd10 - // MNetworkEnable - GameTime_t m_flCMMItemDropRevealEndTime; // 0xd14 - // MNetworkEnable - bool m_bIsDroppingItems; // 0xd18 - // MNetworkEnable - bool m_bIsQuestEligible; // 0xd19 - // MNetworkEnable - int32_t m_nGuardianModeWaveNumber; // 0xd1c - // MNetworkEnable - int32_t m_nGuardianModeSpecialKillsRemaining; // 0xd20 - // MNetworkEnable - int32_t m_nGuardianModeSpecialWeaponNeeded; // 0xd24 - int32_t m_nGuardianGrenadesToGiveBots; // 0xd28 - int32_t m_nNumHeaviesToSpawn; // 0xd2c - // MNetworkEnable - uint32_t m_numGlobalGiftsGiven; // 0xd30 - // MNetworkEnable - uint32_t m_numGlobalGifters; // 0xd34 - // MNetworkEnable - uint32_t m_numGlobalGiftsPeriodSeconds; // 0xd38 - // MNetworkEnable - uint32[4] m_arrFeaturedGiftersAccounts; // 0xd3c - // MNetworkEnable - uint32[4] m_arrFeaturedGiftersGifts; // 0xd4c - // MNetworkEnable - uint16[100] m_arrProhibitedItemIndices; // 0xd5c - // MNetworkEnable - uint32[4] m_arrTournamentActiveCasterAccounts; // 0xe24 - // MNetworkEnable - int32_t m_numBestOfMaps; // 0xe34 - // MNetworkEnable - int32_t m_nHalloweenMaskListSeed; // 0xe38 - // MNetworkEnable - bool m_bBombDropped; // 0xe3c - // MNetworkEnable - bool m_bBombPlanted; // 0xe3d - // MNetworkEnable - int32_t m_iRoundWinStatus; // 0xe40 - // MNetworkEnable - int32_t m_eRoundWinReason; // 0xe44 - // MNetworkEnable - bool m_bTCantBuy; // 0xe48 - // MNetworkEnable - bool m_bCTCantBuy; // 0xe49 - // MNetworkEnable - GameTime_t m_flGuardianBuyUntilTime; // 0xe4c - // MNetworkEnable - int32[30] m_iMatchStats_RoundResults; // 0xe50 - // MNetworkEnable - int32[30] m_iMatchStats_PlayersAlive_CT; // 0xec8 - // MNetworkEnable - int32[30] m_iMatchStats_PlayersAlive_T; // 0xf40 - // MNetworkEnable - float32[32] m_TeamRespawnWaveTimes; // 0xfb8 - // MNetworkEnable - GameTime_t[32] m_flNextRespawnWave; // 0x1038 - // MNetworkEnable - int32_t m_nServerQuestID; // 0x10b8 - bool m_bDontIncrementCoopWave; // 0x10bc - bool m_bSpawnedTerrorHuntHeavy; // 0x10bd - // MNetworkEnable - int32[10] m_nEndMatchMapGroupVoteTypes; // 0x10c0 - // MNetworkEnable - int32[10] m_nEndMatchMapGroupVoteOptions; // 0x10e8 - // MNetworkEnable - int32_t m_nEndMatchMapVoteWinner; // 0x1110 - // MNetworkEnable - int32_t m_iNumConsecutiveCTLoses; // 0x1114 - // MNetworkEnable - int32_t m_iNumConsecutiveTerroristLoses; // 0x1118 - bool m_bHasHostageBeenTouched; // 0x1138 - GameTime_t m_flIntermissionStartTime; // 0x113c - GameTime_t m_flIntermissionEndTime; // 0x1140 - bool m_bLevelInitialized; // 0x1144 - int32_t m_iTotalRoundsPlayed; // 0x1148 - int32_t m_iUnBalancedRounds; // 0x114c - bool m_endMatchOnRoundReset; // 0x1150 - bool m_endMatchOnThink; // 0x1151 - int32_t m_iFreezeTime; // 0x1154 - int32_t m_iNumTerrorist; // 0x1158 - int32_t m_iNumCT; // 0x115c - int32_t m_iNumSpawnableTerrorist; // 0x1160 - int32_t m_iNumSpawnableCT; // 0x1164 - CUtlVector< int32 > m_arrSelectedHostageSpawnIndices; // 0x1168 - bool m_bFirstConnected; // 0x1180 - bool m_bCompleteReset; // 0x1181 - bool m_bPickNewTeamsOnReset; // 0x1182 - bool m_bScrambleTeamsOnRestart; // 0x1183 - bool m_bSwapTeamsOnRestart; // 0x1184 - CUtlVector< int32 > m_nEndMatchTiedVotes; // 0x1190 - bool m_bNeedToAskPlayersForContinueVote; // 0x11ac - uint32_t m_numQueuedMatchmakingAccounts; // 0x11b0 - char* m_pQueuedMatchmakingReservationString; // 0x11b8 - uint32_t m_numTotalTournamentDrops; // 0x11c0 - uint32_t m_numSpectatorsCountMax; // 0x11c4 - uint32_t m_numSpectatorsCountMaxTV; // 0x11c8 - uint32_t m_numSpectatorsCountMaxLnk; // 0x11cc - bool m_bForceTeamChangeSilent; // 0x11d8 - bool m_bLoadingRoundBackupData; // 0x11d9 - int32_t m_nMatchInfoShowType; // 0x1210 - float m_flMatchInfoDecidedTime; // 0x1214 - float m_flCoopRespawnAndHealTime; // 0x1230 - int32_t m_coopBonusCoinsFound; // 0x1234 - bool m_coopBonusPistolsOnly; // 0x1238 - bool m_coopPlayersInDeploymentZone; // 0x1239 - bool m_coopMissionDeadPlayerRespawnEnabled; // 0x123a - int32_t mTeamDMLastWinningTeamNumber; // 0x123c - float mTeamDMLastThinkTime; // 0x1240 - float m_flTeamDMLastAnnouncementTime; // 0x1244 - int32_t m_iAccountTerrorist; // 0x1248 - int32_t m_iAccountCT; // 0x124c - int32_t m_iSpawnPointCount_Terrorist; // 0x1250 - int32_t m_iSpawnPointCount_CT; // 0x1254 - int32_t m_iMaxNumTerrorists; // 0x1258 - int32_t m_iMaxNumCTs; // 0x125c - int32_t m_iLoserBonus; // 0x1260 - int32_t m_iLoserBonusMostRecentTeam; // 0x1264 - float m_tmNextPeriodicThink; // 0x1268 - bool m_bVoiceWonMatchBragFired; // 0x126c - float m_fWarmupNextChatNoticeTime; // 0x1270 - int32_t m_iHostagesRescued; // 0x1278 - int32_t m_iHostagesTouched; // 0x127c - float m_flNextHostageAnnouncement; // 0x1280 - bool m_bNoTerroristsKilled; // 0x1284 - bool m_bNoCTsKilled; // 0x1285 - bool m_bNoEnemiesKilled; // 0x1286 - bool m_bCanDonateWeapons; // 0x1287 - float m_firstKillTime; // 0x128c - float m_firstBloodTime; // 0x1294 - bool m_hostageWasInjured; // 0x12b0 - bool m_hostageWasKilled; // 0x12b1 - bool m_bVoteCalled; // 0x12c0 - bool m_bServerVoteOnReset; // 0x12c1 - float m_flVoteCheckThrottle; // 0x12c4 - bool m_bBuyTimeEnded; // 0x12c8 - int32_t m_nLastFreezeEndBeep; // 0x12cc - int32_t m_iHaveEscaped; // 0x12d0 - bool m_bMapHasEscapeZone; // 0x12d4 - int32_t m_iNumEscapers; // 0x12d8 - int32_t m_iNumEscapeRounds; // 0x12dc - bool m_bTargetBombed; // 0x12e0 - bool m_bBombDefused; // 0x12e1 - bool m_bMapHasBombZone; // 0x12e2 - bool m_bGunGameRespawnWithBomb; // 0x12e3 - float m_fGunGameBombRespawnTimer; // 0x12e4 - Vector m_vecMainCTSpawnPos; // 0x1304 - CUtlVector< SpawnPoint* > m_CTSpawnPointsMasterList; // 0x1310 - CUtlVector< SpawnPoint* > m_TerroristSpawnPointsMasterList; // 0x1328 - int32_t m_iNextCTSpawnPoint; // 0x1340 - int32_t m_iNextTerroristSpawnPoint; // 0x1344 - CUtlVector< SpawnPoint* > m_CTSpawnPoints; // 0x1348 - CUtlVector< SpawnPoint* > m_TerroristSpawnPoints; // 0x1360 - bool m_bIsUnreservedGameServer; // 0x1378 - float m_fAutobalanceDisplayTime; // 0x137c - bool m_bAllowWeaponSwitch; // 0x15e8 - bool m_bRoundTimeWarningTriggered; // 0x15e9 - GameTime_t m_phaseChangeAnnouncementTime; // 0x15ec - float m_fNextUpdateTeamClanNamesTime; // 0x15f0 - GameTime_t m_flLastThinkTime; // 0x15f4 - float m_fAccumulatedRoundOffDamage; // 0x15f8 - int32_t m_nShorthandedBonusLastEvalRound; // 0x15fc - bool m_bHasTriggeredRoundStartMusic; // 0x1860 - bool m_bHasTriggeredCoopSpawnReset; // 0x1861 - bool m_bSwitchingTeamsAtRoundReset; // 0x1862 - int32_t m_iMaxGunGameProgressiveWeaponIndex; // 0x1864 - // MNetworkEnable - CSurvivalGameRules m_SurvivalRules; // 0x1880 - KeyValues3 m_BtGlobalBlackboard; // 0x3518 - CHandle< CBaseEntity > m_hPlayerResource; // 0x3580 - // MNetworkEnable - CRetakeGameRules m_RetakeRules; // 0x3588 - int32_t m_GuardianBotSkillLevelMax; // 0x376c - int32_t m_GuardianBotSkillLevelMin; // 0x3770 - CUtlVector< int32 >[4] m_arrTeamUniqueKillWeaponsMatch; // 0x3778 - bool[4] m_bTeamLastKillUsedUniqueWeaponMatch; // 0x37d8 - // MNetworkEnable - // MNetworkChangeCallback "OnMatchEndCountChanged" - uint8_t m_nMatchEndCount; // 0x3800 - // MNetworkEnable - // MNetworkChangeCallback "OnTeamIntroPeriodChanged" - bool m_bTeamIntroPeriod; // 0x3801 - GameTime_t m_fTeamIntroPeriodEnd; // 0x3804 - static int64_t &Get_m_nMapCycleTimeStamp(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CCSGameRules")->m_static_fields[0]->m_instance);}; - static int32_t &Get_m_nMapCycleindex(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CCSGameRules")->m_static_fields[1]->m_instance);}; -}; - -// Alignment: 5 -// Size: 0x198 -class CRetakeGameRules : public -{ -public: - // MNetworkEnable - int32_t m_nMatchSeed; // 0xf8 - // MNetworkEnable - bool m_bBlockersPresent; // 0xfc - // MNetworkEnable - bool m_bRoundInProgress; // 0xfd - // MNetworkEnable - int32_t m_iFirstSecondHalfRound; // 0x100 - // MNetworkEnable - int32_t m_iBombSite; // 0x104 -}; - -// Alignment: 0 -// Size: 0x1 -class QuestProgress : public -{ -public: - // no members available -}; - -// Alignment: 13 -// Size: 0x68 -struct CSPerRoundStats_t : public -{ -public: - // MNetworkEnable - int32_t m_iKills; // 0x30 - // MNetworkEnable - int32_t m_iDeaths; // 0x34 - // MNetworkEnable - int32_t m_iAssists; // 0x38 - // MNetworkEnable - // MNetworkUserGroup "AllPlayersDuringFreezePeriod" - int32_t m_iDamage; // 0x3c - // MNetworkEnable - // MNetworkUserGroup "TeammateAndSpectatorExclusive" - int32_t m_iEquipmentValue; // 0x40 - // MNetworkEnable - // MNetworkUserGroup "TeammateAndSpectatorExclusive" - int32_t m_iMoneySaved; // 0x44 - // MNetworkEnable - // MNetworkUserGroup "TeammateAndSpectatorExclusive" - int32_t m_iKillReward; // 0x48 - // MNetworkEnable - int32_t m_iLiveTime; // 0x4c - // MNetworkEnable - int32_t m_iHeadShotKills; // 0x50 - // MNetworkEnable - // MNetworkUserGroup "AllPlayersDuringFreezePeriod" - int32_t m_iObjective; // 0x54 - // MNetworkEnable - // MNetworkUserGroup "TeammateAndSpectatorExclusive" - int32_t m_iCashEarned; // 0x58 - // MNetworkEnable - // MNetworkUserGroup "AllPlayersDuringFreezePeriod" - int32_t m_iUtilityDamage; // 0x5c - // MNetworkEnable - // MNetworkUserGroup "AllPlayersDuringFreezePeriod" - int32_t m_iEnemiesFlashed; // 0x60 -}; - -// Alignment: 19 -// Size: 0xb8 -struct CSMatchStats_t : public CSPerRoundStats_t -{ -public: - // MNetworkEnable - int32_t m_iEnemy5Ks; // 0x68 - // MNetworkEnable - int32_t m_iEnemy4Ks; // 0x6c - // MNetworkEnable - int32_t m_iEnemy3Ks; // 0x70 - int32_t m_iEnemy2Ks; // 0x74 - int32_t m_iUtility_Count; // 0x78 - int32_t m_iUtility_Successes; // 0x7c - int32_t m_iUtility_Enemies; // 0x80 - int32_t m_iFlash_Count; // 0x84 - int32_t m_iFlash_Successes; // 0x88 - int32_t m_nHealthPointsRemovedTotal; // 0x8c - int32_t m_nHealthPointsDealtTotal; // 0x90 - int32_t m_nShotsFiredTotal; // 0x94 - int32_t m_nShotsOnTargetTotal; // 0x98 - int32_t m_i1v1Count; // 0x9c - int32_t m_i1v1Wins; // 0xa0 - int32_t m_i1v2Count; // 0xa4 - int32_t m_i1v2Wins; // 0xa8 - int32_t m_iEntryCount; // 0xac - int32_t m_iEntryWins; // 0xb0 -}; - -// Alignment: 4 -// Size: 0x730 -class CCSGO_TeamPreviewCharacterPosition : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - int32_t m_nOrdinal; // 0x4a0 - // MNetworkEnable - CUtlString m_sWeaponName; // 0x4a8 - // MNetworkEnable - uint64_t m_xuid; // 0x4b0 - // MNetworkEnable - CEconItemView m_weaponItem; // 0x4b8 -}; - -// Alignment: 0 -// Size: 0x730 -class CCSGO_TeamSelectCharacterPosition : public CCSGO_TeamPreviewCharacterPosition, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x730 -class CCSGO_TeamSelectTerroristPosition : public CCSGO_TeamSelectCharacterPosition, CCSGO_TeamPreviewCharacterPosition, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x730 -class CCSGO_TeamSelectCounterTerroristPosition : public CCSGO_TeamSelectCharacterPosition, CCSGO_TeamPreviewCharacterPosition, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x730 -class CCSGO_TeamIntroCharacterPosition : public CCSGO_TeamPreviewCharacterPosition, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x730 -class CCSGO_TeamIntroTerroristPosition : public CCSGO_TeamIntroCharacterPosition, CCSGO_TeamPreviewCharacterPosition, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x730 -class CCSGO_TeamIntroCounterTerroristPosition : public CCSGO_TeamIntroCharacterPosition, CCSGO_TeamPreviewCharacterPosition, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x120 -class CCSGOPlayerAnimGraphState : public -{ -public: - // no members available -}; - -// Alignment: 4 -// Size: 0xa70 -class CCSPlayer_ActionTrackingServices : public CPlayerPawnComponent -{ -public: - CBasePlayerWeapon* m_lastWeaponBeforeC4AutoSwitch; // 0x230 - // MNetworkEnable - bool m_bIsRescuing; // 0x268 - // MNetworkEnable - int32[256] m_iWeaponPurchasesThisMatch; // 0x26c - // MNetworkEnable - int32[256] m_iWeaponPurchasesThisRound; // 0x66c -}; - -// Alignment: 5 -// Size: 0x4c8 -class CPlayerPing : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - CHandle< CBaseEntity > m_hPlayer; // 0x4a8 - // MNetworkEnable - CHandle< CBaseEntity > m_hPingedEntity; // 0x4ac - // MNetworkEnable - int32_t m_iType; // 0x4b0 - // MNetworkEnable - bool m_bUrgent; // 0x4b4 - // MNetworkEnable - char[18] m_szPlaceName; // 0x4b5 -}; - -// Alignment: 2 -// Size: 0x58 -class CCSPlayer_PingServices : public CPlayerPawnComponent -{ -public: - GameTime_t[5] m_flPlayerPingTokens; // 0x40 - // MNetworkEnable - CHandle< CBaseEntity > m_hPlayerPing; // 0x54 -}; - -// Alignment: 10 -// Size: 0x538 -class CCSPlayerResource : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - bool[12] m_bHostageAlive; // 0x4a0 - // MNetworkEnable - bool[12] m_isHostageFollowingSomeone; // 0x4ac - // MNetworkEnable - CEntityIndex[12] m_iHostageEntityIDs; // 0x4b8 - // MNetworkEnable - Vector m_bombsiteCenterA; // 0x4e8 - // MNetworkEnable - Vector m_bombsiteCenterB; // 0x4f4 - // MNetworkEnable - int32[4] m_hostageRescueX; // 0x500 - // MNetworkEnable - int32[4] m_hostageRescueY; // 0x510 - // MNetworkEnable - int32[4] m_hostageRescueZ; // 0x520 - // MNetworkEnable - bool m_bEndMatchNextMapAllVoted; // 0x530 - bool m_foundGoalPositions; // 0x531 -}; - -// Alignment: 1 -// Size: 0x48 -class CCSPlayer_BulletServices : public CPlayerPawnComponent -{ -public: - // MNetworkEnable - int32_t m_totalHitsOnServer; // 0x40 -}; - -// Alignment: 2 -// Size: 0x1a8 -class CCSPlayer_CameraServices : public CPlayer_CameraServices, CPlayerPawnComponent -{ -public: - CUtlVector< CHandle< CBaseEntity > > m_hTriggerFogList; // 0x188 - CHandle< CBaseEntity > m_hLastFogTrigger; // 0x1a0 -}; - -// Alignment: 2 -// Size: 0x50 -class CCSPlayer_HostageServices : public CPlayerPawnComponent -{ -public: - // MNetworkEnable - CHandle< CBaseEntity > m_hCarriedHostage; // 0x40 - // MNetworkEnable - CHandle< CBaseEntity > m_hCarriedHostageProp; // 0x44 -}; - -// Alignment: 3 -// Size: 0x48 -class CCSPlayer_ItemServices : public CPlayer_ItemServices, CPlayerPawnComponent -{ -public: - // MNetworkEnable - bool m_bHasDefuser; // 0x40 - // MNetworkEnable - bool m_bHasHelmet; // 0x41 - // MNetworkEnable - bool m_bHasHeavyArmor; // 0x42 -}; - -// Alignment: 35 -// Size: 0x13c0 -class CCSPlayer_MovementServices : public CPlayer_MovementServices_Humanoid, CPlayer_MovementServices, CPlayerPawnComponent -{ -public: - // MNetworkEnable - float m_flMaxFallVelocity; // 0x208 - // MNetworkEnable - // MNetworkEncoder - Vector m_vecLadderNormal; // 0x20c - // MNetworkEnable - int32_t m_nLadderSurfacePropIndex; // 0x218 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bAllowAutoMovement; // 0x21c - // MNetworkEnable - float m_flDuckAmount; // 0x220 - // MNetworkEnable - float m_flDuckSpeed; // 0x224 - // MNetworkEnable - bool m_bDuckOverride; // 0x228 - float m_flDuckOffset; // 0x22c - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - // MNetworkPriority "32" - uint32_t m_nDuckTimeMsecs; // 0x230 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nDuckJumpTimeMsecs; // 0x234 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nJumpTimeMsecs; // 0x238 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - float m_flLastDuckTime; // 0x23c - Vector2D m_vecLastPositionAtFullCrouchSpeed; // 0x248 - bool m_duckUntilOnGround; // 0x250 - bool m_bHasWalkMovedSinceLastJump; // 0x251 - bool m_bInStuckTest; // 0x252 - uint64[64][3] m_CachedGetPointContents; // 0x258 - Vector[64][3] m_CachedGetPointContentsPoint; // 0x858 - float32[64][2] m_flStuckCheckTime; // 0x1160 - int32_t m_nTraceCount; // 0x1360 - int32_t m_StuckLast; // 0x1364 - bool m_bSpeedCropped; // 0x1368 - int32_t m_nOldWaterLevel; // 0x136c - float m_flWaterEntryTime; // 0x1370 - Vector m_vecForward; // 0x1374 - Vector m_vecLeft; // 0x1380 - Vector m_vecUp; // 0x138c - Vector m_vecPreviouslyPredictedOrigin; // 0x1398 - bool m_bMadeFootstepNoise; // 0x13a4 - int32_t m_iFootsteps; // 0x13a8 - int32_t m_nRoundFootstepsMade; // 0x13ac - // MNetworkEnable - bool m_bOldJumpPressed; // 0x13b0 - // MNetworkEnable - float m_flJumpUntil; // 0x13b4 - // MNetworkEnable - float m_flJumpVel; // 0x13b8 - // MNetworkEnable - GameTime_t m_fStashGrenadeParameterWhen; // 0x13bc -}; - -// Alignment: 0 -// Size: 0x50 -class CCSPlayer_ObserverServices : public CPlayer_ObserverServices, CPlayerPawnComponent -{ -public: - // no members available -}; - -// Alignment: 4 -// Size: 0x50 -class CCSPlayer_UseServices : public CPlayer_UseServices, CPlayerPawnComponent -{ -public: - CHandle< CBaseEntity > m_hLastKnownUseEntity; // 0x40 - GameTime_t m_flLastUseTimeStamp; // 0x44 - GameTime_t m_flTimeStartedHoldingUse; // 0x48 - GameTime_t m_flTimeLastUsedWindow; // 0x4c -}; - -// Alignment: 1 -// Size: 0x50 -class CCSPlayer_ViewModelServices : public CPlayerPawnComponent -{ -public: - // MNetworkEnable - CHandle< CBaseViewModel >[3] m_hViewModel; // 0x40 -}; - -// Alignment: 6 -// Size: 0x68 -class CCSPlayer_WaterServices : public CPlayer_WaterServices, CPlayerPawnComponent -{ -public: - float m_NextDrownDamageTime; // 0x40 - int32_t m_nDrownDmgRate; // 0x44 - GameTime_t m_AirFinishedTime; // 0x48 - float m_flWaterJumpTime; // 0x4c - Vector m_vecWaterJumpVel; // 0x50 - float m_flSwimSoundTime; // 0x5c -}; - -// Alignment: 10 -// Size: 0x460 -class CCSPlayer_WeaponServices : public CPlayer_WeaponServices, CPlayerPawnComponent -{ -public: - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusive" - GameTime_t m_flNextAttack; // 0xb0 - // MNetworkEnable - bool m_bIsLookingAtWeapon; // 0xb4 - // MNetworkEnable - bool m_bIsHoldingLookAtWeapon; // 0xb5 - CHandle< CBasePlayerWeapon > m_hSavedWeapon; // 0xb8 - int32_t m_nTimeToMelee; // 0xbc - int32_t m_nTimeToSecondary; // 0xc0 - int32_t m_nTimeToPrimary; // 0xc4 - int32_t m_nTimeToSniperRifle; // 0xc8 - bool m_bIsBeingGivenItem; // 0xcc - bool m_bPickedUpWeapon; // 0xcd -}; - -// Alignment: 5 -// Size: 0x14 -struct CSAdditionalPerRoundStats_t : public -{ -public: - int32_t m_numChickensKilled; // 0x0 - int32_t m_killsWhileBlind; // 0x4 - int32_t m_bombCarrierkills; // 0x8 - int32_t m_iBurnDamageInflicted; // 0xc - int32_t m_iDinks; // 0x10 -}; - -// Alignment: 9 -// Size: 0x38 -struct CSAdditionalMatchStats_t : public CSAdditionalPerRoundStats_t -{ -public: - int32_t m_numRoundsSurvived; // 0x14 - int32_t m_maxNumRoundsSurvived; // 0x18 - int32_t m_numRoundsSurvivedTotal; // 0x1c - int32_t m_iRoundsWonWithoutPurchase; // 0x20 - int32_t m_iRoundsWonWithoutPurchaseTotal; // 0x24 - int32_t m_numFirstKills; // 0x28 - int32_t m_numClutchKills; // 0x2c - int32_t m_numPistolKills; // 0x30 - int32_t m_numSniperKills; // 0x34 -}; - -// Alignment: 4 -// Size: 0x200 -class CCSPlayerController_ActionTrackingServices : public CPlayerControllerComponent -{ -public: - // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< CSPerRoundStats_t > m_perRoundStats; // 0x40 - // MNetworkEnable - CSMatchStats_t m_matchStats; // 0x90 - // MNetworkEnable - int32_t m_iNumRoundKills; // 0x148 - // MNetworkEnable - int32_t m_iNumRoundKillsHeadshots; // 0x14c -}; - -// Alignment: 14 -// Size: 0x70 -class CDamageRecord : public -{ -public: - // MNetworkEnable - CHandle< CCSPlayerPawnBase > m_PlayerDamager; // 0x28 - // MNetworkEnable - CHandle< CCSPlayerPawnBase > m_PlayerRecipient; // 0x2c - // MNetworkEnable - CHandle< CCSPlayerController > m_hPlayerControllerDamager; // 0x30 - // MNetworkEnable - CHandle< CCSPlayerController > m_hPlayerControllerRecipient; // 0x34 - // MNetworkEnable - CUtlString m_szPlayerDamagerName; // 0x38 - // MNetworkEnable - CUtlString m_szPlayerRecipientName; // 0x40 - // MNetworkEnable - uint64_t m_DamagerXuid; // 0x48 - // MNetworkEnable - uint64_t m_RecipientXuid; // 0x50 - // MNetworkEnable - int32_t m_iDamage; // 0x58 - // MNetworkEnable - int32_t m_iActualHealthRemoved; // 0x5c - // MNetworkEnable - int32_t m_iNumHits; // 0x60 - // MNetworkEnable - int32_t m_iLastBulletUpdate; // 0x64 - // MNetworkEnable - bool m_bIsOtherEnemy; // 0x68 - // MNetworkEnable - EKillTypes_t m_killType; // 0x69 -}; - -// Alignment: 2 -// Size: 0x98 -class CCSPlayerController_DamageServices : public CPlayerControllerComponent -{ -public: - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusiveDuringRoundEnd" - // MNetworkChangeCallback "OnDamageListUpdate" - int32_t m_nSendUpdate; // 0x40 - // MNetworkEnable - // MNetworkUserGroup "LocalPlayerExclusiveDuringRoundEnd" - CUtlVectorEmbeddedNetworkVar< CDamageRecord > m_DamageList; // 0x48 -}; - -// Alignment: 6 -// Size: 0x58 -class CCSPlayerController_InGameMoneyServices : public CPlayerControllerComponent -{ -public: - bool m_bReceivesMoneyNextRound; // 0x40 - int32_t m_iAccountMoneyEarnedForNextRound; // 0x44 - // MNetworkEnable - int32_t m_iAccount; // 0x48 - // MNetworkEnable - int32_t m_iStartAccount; // 0x4c - // MNetworkEnable - int32_t m_iTotalCashSpent; // 0x50 - // MNetworkEnable - int32_t m_iCashSpentThisRound; // 0x54 -}; - -// Alignment: 9 -// Size: 0x910 -class CCSPlayerController_InventoryServices : public CPlayerControllerComponent -{ -public: - // MNetworkEnable - uint16_t m_unMusicID; // 0x40 - // MNetworkEnable - MedalRank_t[6] m_rank; // 0x44 - // MNetworkEnable - int32_t m_nPersonaDataPublicLevel; // 0x5c - // MNetworkEnable - int32_t m_nPersonaDataPublicCommendsLeader; // 0x60 - // MNetworkEnable - int32_t m_nPersonaDataPublicCommendsTeacher; // 0x64 - // MNetworkEnable - int32_t m_nPersonaDataPublicCommendsFriendly; // 0x68 - uint32[1] m_unEquippedPlayerSprayIDs; // 0x868 - // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< CEconItemView > m_vecTerroristLoadoutCache; // 0x870 - // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< CEconItemView > m_vecCounterTerroristLoadoutCache; // 0x8c0 -}; - -// Alignment: 38 -// Size: 0x1c98 -class CSurvivalGameRules : public -{ -public: - bool m_bBoundsInitialized; // 0x8 - // MNetworkEnable - Vector m_vecPlayAreaMins; // 0xc - // MNetworkEnable - Vector m_vecPlayAreaMaxs; // 0x18 - // MNetworkEnable - int32[64] m_iPlayerSpawnHexIndices; // 0x24 - // MNetworkEnable - ESurvivalSpawnTileState[224] m_SpawnTileState; // 0x124 - // MNetworkEnable - float m_flSpawnSelectionTimeStartCurrentStage; // 0x204 - // MNetworkEnable - float m_flSpawnSelectionTimeEndCurrentStage; // 0x208 - // MNetworkEnable - float m_flSpawnSelectionTimeEndLastStage; // 0x20c - // MNetworkEnable - SpawnStage_t m_spawnStage; // 0x210 - // MNetworkEnable - float m_flTabletHexOriginX; // 0x214 - // MNetworkEnable - float m_flTabletHexOriginY; // 0x218 - // MNetworkEnable - float m_flTabletHexSize; // 0x21c - // MNetworkEnable - uint64[64] m_roundData_playerXuids; // 0x220 - // MNetworkEnable - int32[64] m_roundData_playerPositions; // 0x420 - // MNetworkEnable - int32[64] m_roundData_playerTeams; // 0x520 - // MNetworkEnable - ESurvivalGameRuleDecision_t[16] m_SurvivalGameRuleDecisionTypes; // 0x620 - // MNetworkEnable - int32[16] m_SurvivalGameRuleDecisionValues; // 0x660 - // MNetworkEnable - float m_flSurvivalStartTime; // 0x6a0 - float m_flLastThinkTime; // 0x6a4 - bool[224] m_nBlockedTileIndices; // 0x6a8 - CUtlVector< Vector > m_vecPlayerSpawnLocations; // 0x790 - bool m_bWaitingForMoreThanOnePlayer; // 0x7a8 - bool m_bSurvivalEventFired_FadeEveryoneOutFromMapSelection; // 0x7a9 - bool m_bSurvivalEventFired_TimeForSmokeBeacons; // 0x7aa - bool m_bSurvivalEventFired_FirstParadropIncoming; // 0x7ab - bool m_bSurvivalEventFired_WarnedEveryoneAboutRespawnEnding; // 0x7ac - float m_flLastWinConditionDetectedTime; // 0x7b0 - int32_t m_nWinConditionStageProgress; // 0x7b4 - int32_t m_nEntIndexOfRunnerUpPlayer; // 0x7b8 - int32_t m_nEntIndexOfKilledPlayerCheckingWinConditions; // 0x7bc - float m_flTimeOfLastParadrop; // 0x7c0 - bool m_bSurvivalEventFired_PlayedWinnerSurrenderAnim; // 0x7f8 - CEntityHandle m_hWinnerPlayer; // 0x7fc - CUtlVector< CEntityHandle > m_vecLoadedOutPlayers; // 0x800 - CUtlVector< CEntityHandle > m_vecRespawnedPlayers; // 0x818 - CUtlVector< CEntityHandle > m_vecMetalCrates; // 0x830 - float m_flLastDroneSpawnTime; // 0x848 - CHandle< CBaseEntity > m_hSpawnChopper; // 0x868 -}; - -// Alignment: 14 -// Size: 0x5b0 -class CDangerZoneController : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - bool m_bDangerZoneControllerEnabled; // 0x4a0 - // MNetworkEnable - bool m_bMissionControlledExplosions; // 0x4a1 - // MNetworkEnable - Vector m_vecEndGameCircleStart; // 0x4a4 - // MNetworkEnable - Vector m_vecEndGameCircleEnd; // 0x4b0 - // MNetworkEnable - GameTime_t m_flStartTime; // 0x4bc - // MNetworkEnable - float m_flFinalExpansionTime; // 0x4c0 - // MNetworkEnable - CHandle< CDangerZone >[42] m_DangerZones; // 0x4c4 - // MNetworkEnable - GameTime_t[5] m_flWaveEndTimes; // 0x56c - // MNetworkEnable - CHandle< CDangerZone > m_hTheFinalZone; // 0x580 - float m_flLastDangerZoneStatusLogged; // 0x584 - GameTime_t m_flLastDangerZoneDamageTime; // 0x588 - bool m_bFirstBombWarning; // 0x58c - int32_t m_numWaveRewardsGranted; // 0x590 - CUtlVector< CPointEntity* > m_pGasCanLaunchers; // 0x598 -}; - -// Alignment: 1 -// Size: 0x8 -class CFiringModeFloat : public -{ -public: - float32[2] m_flValues; // 0x0 -}; - -// Alignment: 1 -// Size: 0x8 -class CFiringModeInt : public -{ -public: - int32[2] m_nValues; // 0x0 + WorldGroupId_t m_nWorldGroupId; // 0xc }; // Alignment: 4 // Size: 0x18 -class CIronSightController : public -{ +class CountdownTimer +{ public: - bool m_bIronSightAvailable; // 0x8 - float m_flIronSightAmount; // 0xc - float m_flIronSightAmountGained; // 0x10 - float m_flIronSightAmountBiased; // 0x14 -}; - -// Alignment: 1 -// Size: 0x4b0 -class CPointDZParadropDenialRegion : public CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - float m_flRadius; // 0x4a8 + // MNetworkEnable + float m_duration; // 0x8 + // MNetworkEnable + GameTime_t m_timestamp; // 0xc + // MNetworkEnable + float m_timescale; // 0x10 + // MNetworkEnable + WorldGroupId_t m_nWorldGroupId; // 0x14 }; // Alignment: 3 -// Size: 0x30 -class CHintMessage : public -{ -public: - char* m_hintString; // 0x8 - CUtlVector< char* > m_args; // 0x10 - float m_duration; // 0x28 -}; - -// Alignment: 3 -// Size: 0x30 -class CHintMessageQueue : public -{ -public: - float m_tmMessageEnd; // 0x8 - CUtlVector< CHintMessage* > m_messages; // 0x10 - CBasePlayerController* m_pPlayerController; // 0x28 -}; - -// Alignment: 1 -// Size: 0xc8 -class CCSPlayer_BuyServices : public CPlayerPawnComponent -{ -public: - float m_flNextAutoBuyAmmoTime; // 0x40 -}; - -// Alignment: 0 -// Size: 0x40 -class CCSPlayer_DamageReactServices : public CPlayerPawnComponent -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x78 -class CCSPlayer_ParachuteServices : public CPlayerPawnComponent -{ -public: - // no members available -}; - -// Alignment: 5 -// Size: 0x60 -class CCSPlayer_RadioServices : public CPlayerPawnComponent -{ -public: - GameTime_t m_flGotHostageTalkTimer; // 0x40 - GameTime_t m_flDefusingTalkTimer; // 0x44 - GameTime_t m_flC4PlantTalkTimer; // 0x48 - float32[3] m_flRadioTokenSlots; // 0x4c - bool m_bIgnoreRadio; // 0x58 -}; - -// Alignment: 6 -// Size: 0x178 -class CBaseIssue : public -{ -public: - char[64] m_szTypeString; // 0x20 - char[260] m_szDetailsString; // 0x60 - int32_t m_iNumYesVotes; // 0x164 - int32_t m_iNumNoVotes; // 0x168 - int32_t m_iNumPotentialVotes; // 0x16c - CVoteController* m_pVoteController; // 0x170 -}; - -// Alignment: 14 -// Size: 0x660 -class CVoteController : public CBaseEntity, CEntityInstance, IHandleEntity -{ +// Size: 0x18 +class EngineCountdownTimer +{ public: // MNetworkEnable - int32_t m_iActiveIssueIndex; // 0x4a0 + float m_duration; // 0x8 // MNetworkEnable - int32_t m_iOnlyTeamToVote; // 0x4a4 + float m_timestamp; // 0xc // MNetworkEnable - int32[5] m_nVoteOptionCount; // 0x4a8 - // MNetworkEnable - int32_t m_nPotentialVotes; // 0x4bc - // MNetworkEnable - bool m_bIsYesNoVote; // 0x4c0 - CountdownTimer m_acceptingVotesTimer; // 0x4c8 - CountdownTimer m_executeCommandTimer; // 0x4e0 - CountdownTimer m_resetVoteTimer; // 0x4f8 - CUtlVector< uint64 > m_arrVotedUsers; // 0x510 - int32[64] m_nVotesCast; // 0x528 - CPlayerSlot m_playerHoldingVote; // 0x628 - int32_t m_nHighestCountIndex; // 0x62c - CUtlVector< CBaseIssue* > m_potentialIssues; // 0x630 - CUtlVector< char* > m_VoteOptions; // 0x648 -}; - -// Alignment: 22 -// Size: 0xeb8 -class CMapVetoPickController : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - bool m_bPlayedIntroVcd; // 0x4a0 - bool m_bNeedToPlayFiveSecondsRemaining; // 0x4a1 - // MNetworkEnable - int32_t m_nDraftType; // 0x4c0 - // MNetworkEnable - int32_t m_nTeamWinningCoinToss; // 0x4c4 - // MNetworkEnable - int32[64] m_nTeamWithFirstChoice; // 0x4c8 - // MNetworkEnable - int32[7] m_nVoteMapIdsList; // 0x5c8 - // MNetworkEnable - int32[64] m_nAccountIDs; // 0x5e4 - // MNetworkEnable - int32[64] m_nMapId0; // 0x6e4 - // MNetworkEnable - int32[64] m_nMapId1; // 0x7e4 - // MNetworkEnable - int32[64] m_nMapId2; // 0x8e4 - // MNetworkEnable - int32[64] m_nMapId3; // 0x9e4 - // MNetworkEnable - int32[64] m_nMapId4; // 0xae4 - // MNetworkEnable - int32[64] m_nMapId5; // 0xbe4 - // MNetworkEnable - int32[64] m_nStartingSide0; // 0xce4 - // MNetworkEnable - int32_t m_nCurrentPhase; // 0xde4 - // MNetworkEnable - int32_t m_nPhaseStartTick; // 0xde8 - // MNetworkEnable - int32_t m_nPhaseDurationTicks; // 0xdec - CEntityOutputTemplate< CUtlSymbolLarge > m_OnMapVetoed; // 0xdf0 - CEntityOutputTemplate< CUtlSymbolLarge > m_OnMapPicked; // 0xe18 - CEntityOutputTemplate< int32 > m_OnSidesPicked; // 0xe40 - CEntityOutputTemplate< int32 > m_OnNewPhaseStarted; // 0xe68 - CEntityOutputTemplate< int32 > m_OnLevelTransition; // 0xe90 -}; - -// Alignment: 0 -// Size: 0x4a8 -class CPointDZItemSpawn : public CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available + float m_timescale; // 0x10 }; // Alignment: 7 -// Size: 0x4d0 -class CPointDZWeaponSpawn : public CPointDZItemSpawn, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - int32_t m_nGroupID; // 0x4b0 - float m_flDefaultWeight; // 0x4b4 - float m_flCurrentWeight; // 0x4b8 - CHandle< CBaseEntity > m_hItem; // 0x4bc - CUtlSymbolLarge m_iszDoorName; // 0x4c0 - CHandle< CDZDoor > m_hDoor; // 0x4c8 - int32_t m_nPrice; // 0x4cc -}; - -// Alignment: 1 -// Size: 0x4c0 -class CPointDZItemSpawnGroup : public CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - float m_flRadius; // 0x4a0 -}; - -// Alignment: 0 -// Size: 0x4c8 -class CPointDZWeaponSpawnGroup : public CPointDZItemSpawnGroup, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 1 -// Size: 0x4b0 -class CPointDZDroneGunSpawn : public CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - bool m_bSpawnAutomatically; // 0x4a8 -}; - -// Alignment: 0 -// Size: 0x4a8 -class CPointDZParachuteSpawn : public CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 5 -// Size: 0x4f0 -class CLogicEventListener : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CUtlSymbolLarge m_iszEventName; // 0x4b0 - bool m_bIsEnabled; // 0x4b8 - int32_t m_nTeam; // 0x4bc - bool m_bFetchEventData; // 0x4c0 - CEntityIOOutput m_OnEventFired; // 0x4c8 -}; - -// Alignment: 12 -// Size: 0xd0 -class CBot : public -{ -public: - CCSPlayerPawnBase* m_pPlayer; // 0x10 - bool m_bHasSpawned; // 0x18 - uint32_t m_id; // 0x1c - bool m_isRunning; // 0x90 - bool m_isCrouching; // 0x91 - float m_forwardSpeed; // 0x94 - float m_leftSpeed; // 0x98 - float m_verticalSpeed; // 0x9c - uint64_t m_buttonFlags; // 0xa0 - float m_jumpTimestamp; // 0xa8 - Vector m_viewForward; // 0xac - int32_t m_postureStackIndex; // 0xc8 -}; - -// Alignment: 0 -// Size: 0x58 -class CBtNode : public -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x58 -class CBtNodeDecorator : public CBtNode -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x58 -class CBtNodeComposite : public CBtNode -{ -public: - // no members available -}; - -// Alignment: 12 -// Size: 0xf8 -class CBtActionAim : public CBtNode -{ -public: - CUtlString m_szSensorInputKey; // 0x68 - CUtlString m_szAimReadyKey; // 0x80 - float m_flZoomCooldownTimestamp; // 0x88 - bool m_bDoneAiming; // 0x8c - float m_flLerpStartTime; // 0x90 - float m_flNextLookTargetLerpTime; // 0x94 - float m_flPenaltyReductionRatio; // 0x98 - QAngle m_NextLookTarget; // 0x9c - CountdownTimer m_AimTimer; // 0xa8 - CountdownTimer m_SniperHoldTimer; // 0xc0 - CountdownTimer m_FocusIntervalTimer; // 0xd8 - bool m_bAcquired; // 0xf0 -}; - -// Alignment: 4 -// Size: 0xb0 -class CBtActionCombatPositioning : public CBtNode -{ -public: - CUtlString m_szSensorInputKey; // 0x68 - CUtlString m_szIsAttackingKey; // 0x80 - CountdownTimer m_ActionTimer; // 0x88 - bool m_bCrouching; // 0xa0 -}; - -// Alignment: 14 -// Size: 0xe8 -class CBtActionMoveTo : public CBtNode -{ -public: - CUtlString m_szDestinationInputKey; // 0x60 - CUtlString m_szHidingSpotInputKey; // 0x68 - CUtlString m_szThreatInputKey; // 0x70 - Vector m_vecDestination; // 0x78 - bool m_bAutoLookAdjust; // 0x84 - bool m_bComputePath; // 0x85 - float m_flDamagingAreasPenaltyCost; // 0x88 - CountdownTimer m_CheckApproximateCornersTimer; // 0x90 - CountdownTimer m_CheckHighPriorityItem; // 0xa8 - CountdownTimer m_RepathTimer; // 0xc0 - float m_flArrivalEpsilon; // 0xd8 - float m_flAdditionalArrivalEpsilon2D; // 0xdc - float m_flHidingSpotCheckDistanceThreshold; // 0xe0 - float m_flNearestAreaDistanceThreshold; // 0xe4 -}; - -// Alignment: 1 -// Size: 0x78 -class CBtActionParachutePositioning : public CBtNode -{ -public: - CountdownTimer m_ActionTimer; // 0x58 -}; - -// Alignment: 1 -// Size: 0x60 -class CBtNodeCondition : public CBtNodeDecorator, CBtNode -{ -public: - bool m_bNegated; // 0x58 -}; - -// Alignment: 3 -// Size: 0x98 -class CBtNodeConditionInactive : public CBtNodeCondition, CBtNodeDecorator, CBtNode -{ -public: - float m_flRoundStartThresholdSeconds; // 0x78 - float m_flSensorInactivityThresholdSeconds; // 0x7c - CountdownTimer m_SensorInactivityTimer; // 0x80 -}; - -// Alignment: 0 -// Size: 0x4a0 -class CPointEntity : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 25 -// Size: 0x1620 -class CEnvCombinedLightProbeVolume : public CBaseEntity, CEntityInstance, IHandleEntity -{ +// Size: 0x228 +class CTimeline : public IntervalTimer +{ public: // MNetworkEnable - // MNetworkChangeCallback "StateChanged" - Color m_Color; // 0x1570 + float m_flValues[64]; // 0x10 // MNetworkEnable - // MNetworkChangeCallback "StateChanged" - float m_flBrightness; // 0x1574 + int32_t m_nValueCounts[64]; // 0x110 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1578 + int32_t m_nBucketCount; // 0x210 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x1580 + float m_flInterval; // 0x214 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1588 + float m_flFinalValue; // 0x218 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1590 + TimelineCompression_t m_nCompressionType; // 0x21c // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1598 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x15a0 - // MNetworkEnable - Vector m_vBoxMins; // 0x15a8 - // MNetworkEnable - Vector m_vBoxMaxs; // 0x15b4 - // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x15c0 - // MNetworkEnable - bool m_bMoveable; // 0x15c8 - // MNetworkEnable - int32_t m_nHandshake; // 0x15cc - // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x15d0 - // MNetworkEnable - int32_t m_nPriority; // 0x15d4 - // MNetworkEnable - bool m_bStartDisabled; // 0x15d8 - // MNetworkEnable - float m_flEdgeFadeDist; // 0x15dc - // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x15e0 - // MNetworkEnable - int32_t m_nLightProbeSizeX; // 0x15ec - // MNetworkEnable - int32_t m_nLightProbeSizeY; // 0x15f0 - // MNetworkEnable - int32_t m_nLightProbeSizeZ; // 0x15f4 - // MNetworkEnable - int32_t m_nLightProbeAtlasX; // 0x15f8 - // MNetworkEnable - int32_t m_nLightProbeAtlasY; // 0x15fc - // MNetworkEnable - int32_t m_nLightProbeAtlasZ; // 0x1600 - // MNetworkEnable - bool m_bEnabled; // 0x1619 -}; - -// Alignment: 19 -// Size: 0x600 -class CEnvCubemap : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x590 - // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x598 - // MNetworkEnable - float m_flInfluenceRadius; // 0x59c - // MNetworkEnable - Vector m_vBoxProjectMins; // 0x5a0 - // MNetworkEnable - Vector m_vBoxProjectMaxs; // 0x5ac - // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x5b8 - // MNetworkEnable - bool m_bMoveable; // 0x5c0 - // MNetworkEnable - int32_t m_nHandshake; // 0x5c4 - // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x5c8 - // MNetworkEnable - int32_t m_nPriority; // 0x5cc - // MNetworkEnable - float m_flEdgeFadeDist; // 0x5d0 - // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x5d4 - // MNetworkEnable - float m_flDiffuseScale; // 0x5e0 - // MNetworkEnable - bool m_bStartDisabled; // 0x5e4 - // MNetworkEnable - bool m_bDefaultEnvMap; // 0x5e5 - // MNetworkEnable - bool m_bDefaultSpecEnvMap; // 0x5e6 - // MNetworkEnable - bool m_bIndoorCubeMap; // 0x5e7 - // MNetworkEnable - bool m_bCopyDiffuseFromDefaultCubemap; // 0x5e8 - // MNetworkEnable - bool m_bEnabled; // 0x5f8 -}; - -// Alignment: 0 -// Size: 0x600 -class CEnvCubemapBox : public CEnvCubemap, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 18 -// Size: 0x4f0 -class CEnvCubemapFog : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flEndDistance; // 0x4a0 - // MNetworkEnable - float m_flStartDistance; // 0x4a4 - // MNetworkEnable - float m_flFogFalloffExponent; // 0x4a8 - // MNetworkEnable - bool m_bHeightFogEnabled; // 0x4ac - // MNetworkEnable - float m_flFogHeightWidth; // 0x4b0 - // MNetworkEnable - float m_flFogHeightEnd; // 0x4b4 - // MNetworkEnable - float m_flFogHeightStart; // 0x4b8 - // MNetworkEnable - float m_flFogHeightExponent; // 0x4bc - // MNetworkEnable - float m_flLODBias; // 0x4c0 - // MNetworkEnable - bool m_bActive; // 0x4c4 - // MNetworkEnable - bool m_bStartDisabled; // 0x4c5 - // MNetworkEnable - float m_flFogMaxOpacity; // 0x4c8 - // MNetworkEnable - int32_t m_nCubemapSourceType; // 0x4cc - // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x4d0 - // MNetworkEnable - CUtlSymbolLarge m_iszSkyEntity; // 0x4d8 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x4e0 - // MNetworkEnable - bool m_bHasHeightFogEnd; // 0x4e8 - bool m_bFirstTime; // 0x4e9 -}; - -// Alignment: 16 -// Size: 0x4e0 -class CGradientFog : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hGradientFogTexture; // 0x4a0 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogStartDistance; // 0x4a8 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogEndDistance; // 0x4ac - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - bool m_bHeightFogEnabled; // 0x4b0 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogStartHeight; // 0x4b4 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogEndHeight; // 0x4b8 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFarZ; // 0x4bc - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogMaxOpacity; // 0x4c0 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogFalloffExponent; // 0x4c4 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogVerticalExponent; // 0x4c8 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - Color m_fogColor; // 0x4cc - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFogStrength; // 0x4d0 - // MNetworkEnable - // MNetworkChangeCallback "FogStateChanged" - float m_flFadeTime; // 0x4d4 - // MNetworkEnable - bool m_bStartDisabled; // 0x4d8 - // MNetworkEnable - bool m_bIsEnabled; // 0x4d9 - bool m_bGradientFogNeedsTextures; // 0x4da -}; - -// Alignment: 18 -// Size: 0x14f8 -class CEnvLightProbeVolume : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1480 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1488 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1490 - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1498 - // MNetworkEnable - Vector m_vBoxMins; // 0x14a0 - // MNetworkEnable - Vector m_vBoxMaxs; // 0x14ac - // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x14b8 - // MNetworkEnable - bool m_bMoveable; // 0x14c0 - // MNetworkEnable - int32_t m_nHandshake; // 0x14c4 - // MNetworkEnable - int32_t m_nPriority; // 0x14c8 - // MNetworkEnable - bool m_bStartDisabled; // 0x14cc - // MNetworkEnable - int32_t m_nLightProbeSizeX; // 0x14d0 - // MNetworkEnable - int32_t m_nLightProbeSizeY; // 0x14d4 - // MNetworkEnable - int32_t m_nLightProbeSizeZ; // 0x14d8 - // MNetworkEnable - int32_t m_nLightProbeAtlasX; // 0x14dc - // MNetworkEnable - int32_t m_nLightProbeAtlasY; // 0x14e0 - // MNetworkEnable - int32_t m_nLightProbeAtlasZ; // 0x14e4 - // MNetworkEnable - bool m_bEnabled; // 0x14f1 -}; - -// Alignment: 8 -// Size: 0x4c8 -class CTonemapController2 : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flAutoExposureMin; // 0x4a0 - // MNetworkEnable - float m_flAutoExposureMax; // 0x4a4 - // MNetworkEnable - float m_flTonemapPercentTarget; // 0x4a8 - // MNetworkEnable - float m_flTonemapPercentBrightPixels; // 0x4ac - // MNetworkEnable - float m_flTonemapMinAvgLum; // 0x4b0 - // MNetworkEnable - float m_flExposureAdaptationSpeedUp; // 0x4b4 - // MNetworkEnable - float m_flExposureAdaptationSpeedDown; // 0x4b8 - // MNetworkEnable - float m_flTonemapEVSmoothingRange; // 0x4bc -}; - -// Alignment: 28 -// Size: 0x520 -class CEnvVolumetricFogController : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flScattering; // 0x4a0 - // MNetworkEnable - float m_flAnisotropy; // 0x4a4 - // MNetworkEnable - float m_flFadeSpeed; // 0x4a8 - // MNetworkEnable - float m_flDrawDistance; // 0x4ac - // MNetworkEnable - float m_flFadeInStart; // 0x4b0 - // MNetworkEnable - float m_flFadeInEnd; // 0x4b4 - // MNetworkEnable - float m_flIndirectStrength; // 0x4b8 - // MNetworkEnable - int32_t m_nIndirectTextureDimX; // 0x4bc - // MNetworkEnable - int32_t m_nIndirectTextureDimY; // 0x4c0 - // MNetworkEnable - int32_t m_nIndirectTextureDimZ; // 0x4c4 - // MNetworkEnable - Vector m_vBoxMins; // 0x4c8 - // MNetworkEnable - Vector m_vBoxMaxs; // 0x4d4 - // MNetworkEnable - bool m_bActive; // 0x4e0 - // MNetworkEnable - GameTime_t m_flStartAnisoTime; // 0x4e4 - // MNetworkEnable - GameTime_t m_flStartScatterTime; // 0x4e8 - // MNetworkEnable - GameTime_t m_flStartDrawDistanceTime; // 0x4ec - // MNetworkEnable - float m_flStartAnisotropy; // 0x4f0 - // MNetworkEnable - float m_flStartScattering; // 0x4f4 - // MNetworkEnable - float m_flStartDrawDistance; // 0x4f8 - // MNetworkEnable - float m_flDefaultAnisotropy; // 0x4fc - // MNetworkEnable - float m_flDefaultScattering; // 0x500 - // MNetworkEnable - float m_flDefaultDrawDistance; // 0x504 - // MNetworkEnable - bool m_bStartDisabled; // 0x508 - // MNetworkEnable - bool m_bEnableIndirect; // 0x509 - // MNetworkEnable - bool m_bIsMaster; // 0x50a - // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x510 - // MNetworkEnable - int32_t m_nForceRefreshCount; // 0x518 - bool m_bFirstTime; // 0x51c -}; - -// Alignment: 7 -// Size: 0x4d0 -class CEnvVolumetricFogVolume : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - bool m_bActive; // 0x4a0 - // MNetworkEnable - Vector m_vBoxMins; // 0x4a4 - // MNetworkEnable - Vector m_vBoxMaxs; // 0x4b0 - // MNetworkEnable - bool m_bStartDisabled; // 0x4bc - // MNetworkEnable - float m_flStrength; // 0x4c0 - // MNetworkEnable - int32_t m_nFalloffShape; // 0x4c4 - // MNetworkEnable - float m_flFalloffExponent; // 0x4c8 -}; - -// Alignment: 3 -// Size: 0x510 -class CFogController : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - fogparams_t m_fog; // 0x4a0 - bool m_bUseAngles; // 0x508 - int32_t m_iChangedVariables; // 0x50c -}; - -// Alignment: 0 -// Size: 0x4a0 -class CInfoTarget : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 0 -// Size: 0x4a0 -class CInfoParticleTarget : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // no members available -}; - -// Alignment: 3 -// Size: 0x4b8 -class CInfoVisibilityBox : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - int32_t m_nMode; // 0x4a4 - // MNetworkEnable - Vector m_vBoxSize; // 0x4a8 - // MNetworkEnable - bool m_bEnabled; // 0x4b4 -}; - -// Alignment: 7 -// Size: 0x4e0 -class CInfoWorldLayer : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x4a0 - // MNetworkEnable - CUtlSymbolLarge m_worldName; // 0x4c8 - // MNetworkEnable - CUtlSymbolLarge m_layerName; // 0x4d0 - // MNetworkEnable - bool m_bWorldLayerVisible; // 0x4d8 - // MNetworkEnable - bool m_bEntitiesSpawned; // 0x4d9 - bool m_bCreateAsChildSpawnGroup; // 0x4da - uint32_t m_hLayerSpawnGroup; // 0x4dc -}; - -// Alignment: 8 -// Size: 0x4e0 -class CMultiLightProxy : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CUtlSymbolLarge m_iszLightNameFilter; // 0x4a0 - CUtlSymbolLarge m_iszLightClassFilter; // 0x4a8 - float m_flLightRadiusFilter; // 0x4b0 - float m_flBrightnessDelta; // 0x4b4 - bool m_bPerformScreenFade; // 0x4b8 - float m_flTargetBrightnessMultiplier; // 0x4bc - float m_flCurrentBrightnessMultiplier; // 0x4c0 - CUtlVector< CHandle< CLightEntity > > m_vecLights; // 0x4c8 -}; - -// Alignment: 24 -// Size: 0x500 -class CPointCamera : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_FOV; // 0x4a0 - // MNetworkEnable - float m_Resolution; // 0x4a4 - // MNetworkEnable - bool m_bFogEnable; // 0x4a8 - // MNetworkEnable - Color m_FogColor; // 0x4a9 - // MNetworkEnable - float m_flFogStart; // 0x4b0 - // MNetworkEnable - float m_flFogEnd; // 0x4b4 - // MNetworkEnable - float m_flFogMaxDensity; // 0x4b8 - // MNetworkEnable - bool m_bActive; // 0x4bc - // MNetworkEnable - bool m_bUseScreenAspectRatio; // 0x4bd - // MNetworkEnable - float m_flAspectRatio; // 0x4c0 - // MNetworkEnable - bool m_bNoSky; // 0x4c4 - // MNetworkEnable - float m_fBrightness; // 0x4c8 - // MNetworkEnable - float m_flZFar; // 0x4cc - // MNetworkEnable - float m_flZNear; // 0x4d0 - // MNetworkEnable - bool m_bDofEnabled; // 0x4d4 - // MNetworkEnable - float m_flDofNearBlurry; // 0x4d8 - // MNetworkEnable - float m_flDofNearCrisp; // 0x4dc - // MNetworkEnable - float m_flDofFarCrisp; // 0x4e0 - // MNetworkEnable - float m_flDofFarBlurry; // 0x4e4 - // MNetworkEnable - float m_flDofTiltToGround; // 0x4e8 - float m_TargetFOV; // 0x4ec - float m_DegreesPerSecond; // 0x4f0 - bool m_bIsOn; // 0x4f4 - CPointCamera* m_pNext; // 0x4f8 -}; - -// Alignment: 1 -// Size: 0x508 -class CPointCameraVFOV : public CPointCamera, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - float m_flVerticalFOV; // 0x500 -}; - -// Alignment: 12 -// Size: 0x530 -class CPointTemplate : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CUtlSymbolLarge m_iszWorldName; // 0x4a0 - CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x4a8 - CUtlSymbolLarge m_iszEntityFilterName; // 0x4b0 - float m_flTimeoutInterval; // 0x4b8 - bool m_bAsynchronouslySpawnEntities; // 0x4bc - CEntityIOOutput m_pOutputOnSpawned; // 0x4c0 - PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x4e8 - PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x4ec - CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x4f0 - CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x508 - HSCRIPT m_ScriptSpawnCallback; // 0x520 - HSCRIPT m_ScriptCallbackScope; // 0x528 -}; - -// Alignment: 4 -// Size: 0x4d0 -class CGameGibManager : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - bool m_bAllowNewGibs; // 0x4c0 - int32_t m_iCurrentMaxPieces; // 0x4c4 - int32_t m_iMaxPieces; // 0x4c8 - int32_t m_iLastFrame; // 0x4cc -}; - -// Alignment: 3 -// Size: 0x4c0 -class CSoundAreaEntityBase : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - bool m_bDisabled; // 0x4a0 - // MNetworkEnable - CUtlSymbolLarge m_iszSoundAreaType; // 0x4a8 - // MNetworkEnable - Vector m_vPos; // 0x4b0 -}; - -// Alignment: 1 -// Size: 0x4c8 -class CSoundAreaEntitySphere : public CSoundAreaEntityBase, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - float m_flRadius; // 0x4c0 -}; - -// Alignment: 2 -// Size: 0x4d8 -class CSoundAreaEntityOrientedBox : public CSoundAreaEntityBase, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - Vector m_vMin; // 0x4c0 - // MNetworkEnable - Vector m_vMax; // 0x4cc -}; - -// Alignment: 4 -// Size: 0x558 -class CTeam : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - // MNetworkEnable - // MNetworkAlias "m_aPlayers" - CNetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x4a0 - // MNetworkEnable - // MNetworkAlias "m_aPawns" - CNetworkUtlVectorBase< CHandle< CBasePlayerPawn > > m_aPlayers; // 0x4b8 - // MNetworkEnable - int32_t m_iScore; // 0x4d0 - // MNetworkEnable - char[129] m_szTeamname; // 0x4d4 -}; - -// Alignment: 25 -// Size: 0x668 -class CBasePlayerController : public CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - uint64_t m_nInButtonsWhichAreToggles; // 0x4a8 - // MNetworkEnable - // MNetworkPriority "1" - // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nTickBase; // 0x4b0 - // MNetworkEnable - // MNetworkChangeCallback "OnPawnChanged" - CHandle< CBasePlayerPawn > m_hPawn; // 0x4e0 - CSplitScreenSlot m_nSplitScreenSlot; // 0x4e4 - CHandle< CBasePlayerController > m_hSplitOwner; // 0x4e8 - CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0x4f0 - bool m_bIsHLTV; // 0x508 - // MNetworkEnable - // MNetworkChangeCallback "OnConnectionStateChanged" - PlayerConnectedState m_iConnected; // 0x50c - // MNetworkEnable - // MNetworkChangeCallback "OnPlayerControllerNameChanged" - char[128] m_iszPlayerName; // 0x510 - CUtlString m_szNetworkIDString; // 0x590 - float m_fLerpTime; // 0x598 - bool m_bLagCompensation; // 0x59c - bool m_bPredict; // 0x59d - bool m_bAutoKickDisabled; // 0x59e - bool m_bIsLowViolence; // 0x59f - bool m_bGamePaused; // 0x5a0 - int32_t m_nHighestCommandNumberReceived; // 0x618 - int64_t m_nUsecTimestampLastUserCmdReceived; // 0x620 - ChatIgnoreType_t m_iIgnoreGlobalChat; // 0x638 - float m_flLastPlayerTalkTime; // 0x63c - float m_flLastEntitySteadyState; // 0x640 - int32_t m_nAvailableEntitySteadyState; // 0x644 - bool m_bHasAnySteadyStateEnts; // 0x648 - // MNetworkEnable - // MNetworkEncoder - // MNetworkChangeCallback "OnSteamIDChanged" - uint64_t m_steamID; // 0x658 - // MNetworkEnable - uint32_t m_iDesiredFOV; // 0x660 -}; - -// Alignment: 14 -// Size: 0x178 -class CBasePlayerVData : public CEntitySubclassVDataBase -{ -public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - CSkillFloat m_flHeadDamageMultiplier; // 0x108 - CSkillFloat m_flChestDamageMultiplier; // 0x118 - CSkillFloat m_flStomachDamageMultiplier; // 0x128 - CSkillFloat m_flArmDamageMultiplier; // 0x138 - CSkillFloat m_flLegDamageMultiplier; // 0x148 - // MPropertyGroupName "Water" - float m_flHoldBreathTime; // 0x158 - // MPropertyGroupName "Water" - // MPropertyDescription "Seconds between drowning ticks" - float m_flDrowningDamageInterval; // 0x15c - // MPropertyGroupName "Water" - // MPropertyDescription "Amount of damage done on the first drowning tick (+1 each subsequent interval)" - int32_t m_nDrowningDamageInitial; // 0x160 - // MPropertyGroupName "Water" - // MPropertyDescription "Max damage done by a drowning tick" - int32_t m_nDrowningDamageMax; // 0x164 - // MPropertyGroupName "Water" - int32_t m_nWaterSpeed; // 0x168 - // MPropertyGroupName "Use" - float m_flUseRange; // 0x16c - // MPropertyGroupName "Use" - float m_flUseAngleTolerance; // 0x170 - // MPropertyGroupName "Crouch" - // MPropertyDescription "Time to move between crouch and stand" - float m_flCrouchTime; // 0x174 -}; - -// Alignment: 22 -// Size: 0x320 -class CBasePlayerWeaponVData : public CEntitySubclassVDataBase -{ -public: - // MPropertyDescription "Model used on the ground or held by an entity" - // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldModel; // 0x28 - // MPropertyDescription "Was the weapon was built right-handed?" - // MPropertyGroupName "Visuals" - bool m_bBuiltRightHanded; // 0x108 - // MPropertyDescription "Allows flipping the model, regardless of whether it is built left or right handed" - // MPropertyGroupName "Visuals" - bool m_bAllowFlipping; // 0x109 - bool m_bIsFullAuto; // 0x10a - int32_t m_nNumBullets; // 0x10c - // MPropertyGroupName "Visuals" - // MPropertyDescription "Attachment to fire bullets from" - // MPropertyAttributeEditor "VDataModelAttachment( m_szWorldModel )" - CUtlString m_sMuzzleAttachment; // 0x110 - // MPropertyDescription "Effect when firing this weapon" - // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x118 - // MPropertyDescription "Effect to actually fire into the world from this weapon" - // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x1f8 - ItemFlagTypes_t m_iFlags; // 0x2d8 - // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" - // MPropertyGroupName "Ammo" - // MPropertyCustomFGDType - AmmoIndex_t m_nPrimaryAmmoType; // 0x2d9 - // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" - // MPropertyGroupName "Ammo" - // MPropertyCustomFGDType - AmmoIndex_t m_nSecondaryAmmoType; // 0x2da - // MPropertyFriendlyName "Primary Clip Size" - // MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)" - // MPropertyAttributeRange "0 255" - // MPropertyGroupName "Ammo" - int32_t m_iMaxClip1; // 0x2dc - // MPropertyFriendlyName "Secondary Clip Size" - // MPropertyDescription "How many secondary bullets this gun can fire before it reloads (0 if no clip)" - // MPropertyGroupName "Ammo" - // MPropertyAttributeRange "0 255" - int32_t m_iMaxClip2; // 0x2e0 - // MPropertyDescription "Primary Initial Clip (-1 means use clip size)" - // MPropertyGroupName "Ammo" - // MPropertyAttributeRange "-1 255" - int32_t m_iDefaultClip1; // 0x2e4 - // MPropertyDescription "Secondary Initial Clip (-1 means use clip size)" - // MPropertyGroupName "Ammo" - // MPropertyAttributeRange "-1 255" - int32_t m_iDefaultClip2; // 0x2e8 - // MPropertyDescription "This value used to determine this weapon's importance in autoselection" - // MPropertyGroupName "UI" - int32_t m_iWeight; // 0x2ec - // MPropertyFriendlyName "Safe To Auto-Switch To" - // MPropertyDescription "Whether this weapon is safe to automatically switch to (should be false for eg. explosives that can the player may accidentally hurt themselves with)" - // MPropertyGroupName "UI" - bool m_bAutoSwitchTo; // 0x2f0 - // MPropertyFriendlyName "Safe To Auto-Switch Away From" - // MPropertyGroupName "UI" - bool m_bAutoSwitchFrom; // 0x2f1 - // MPropertyGroupName "UI" - RumbleEffect_t m_iRumbleEffect; // 0x2f4 - CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x2f8 - // MPropertyFriendlyName "HUD Bucket" - // MPropertyDescription "Which 'column' to display this weapon in the HUD" - // MPropertyGroupName "UI" - int32_t m_iSlot; // 0x318 - // MPropertyFriendlyName "HUD Bucket Position" - // MPropertyDescription "Which 'row' to display this weapon in the HUD" - // MPropertyGroupName "UI" - int32_t m_iPosition; // 0x31c -}; - -// Alignment: 2 -// Size: 0x4b0 -class CInfoGameEventProxy : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - CUtlSymbolLarge m_iszEventName; // 0x4a0 - float m_flRange; // 0x4a8 -}; - -// Alignment: 2 -// Size: 0x4a8 -class CProjectedDecal : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ -public: - int32_t m_nTexture; // 0x4a0 - float m_flDistance; // 0x4a4 + bool m_bStopped; // 0x220 }; // Alignment: 13 // Size: 0x2b0 class CBaseAnimGraphController : public CSkeletonAnimationController -{ +{ public: // MNetworkEnable // MNetworkChangeCallback "baseAnimBaseLayerChangedCompat" - CNetworkedSequenceOperation m_baseLayer; // 0x18 + CNetworkedSequenceOperation m_baseLayer; // 0x18 // MNetworkEnable - CAnimGraphNetworkedVariables m_animGraphNetworkedVars; // 0x40 + CAnimGraphNetworkedVariables m_animGraphNetworkedVars; // 0x40 +private: + [[maybe_unused]] uint8_t __pad01e8[0x8]; // 0x1e8 +public: // MNetworkDisable - bool m_bSequenceFinished; // 0x1f0 + bool m_bSequenceFinished; // 0x1f0 +private: + [[maybe_unused]] uint8_t __pad01f1[0x3]; // 0x1f1 +public: // MNetworkDisable - float m_flLastEventCycle; // 0x1f4 + float m_flLastEventCycle; // 0x1f4 // MNetworkDisable - float m_flLastEventAnimTime; // 0x1f8 + float m_flLastEventAnimTime; // 0x1f8 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "-4" @@ -7987,8010 +4264,14111 @@ public: // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkChangeCallback "playbackRateChangedCompat" - CNetworkedQuantizedFloat m_flPlaybackRate; // 0x1fc + CNetworkedQuantizedFloat m_flPlaybackRate; // 0x1fc // MNetworkDisable - float m_flPrevAnimTime; // 0x204 + float m_flPrevAnimTime; // 0x204 // MNetworkEnable // MNetworkChangeCallback "clientSideAnimationChangedCompat" - bool m_bClientSideAnimation; // 0x208 + bool m_bClientSideAnimation; // 0x208 // MNetworkDisable - bool m_bNetworkedAnimationInputsChanged; // 0x209 + bool m_bNetworkedAnimationInputsChanged; // 0x209 +private: + [[maybe_unused]] uint8_t __pad020a[0x2]; // 0x20a +public: // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "clientSideAnimCycleResetCompat" - int32_t m_nNewSequenceParity; // 0x20c + int32_t m_nNewSequenceParity; // 0x20c // MNetworkEnable // MNetworkPriority "32" - int32_t m_nResetEventsParity; // 0x210 + int32_t m_nResetEventsParity; // 0x210 // MNetworkEnable - AnimLoopMode_t m_nAnimLoopMode; // 0x214 + AnimLoopMode_t m_nAnimLoopMode; // 0x214 +private: + [[maybe_unused]] uint8_t __pad0218[0x94]; // 0x218 +public: // MNetworkDisable - AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x2ac + AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x2ac +}; + +// Alignment: 0 +// Size: 0x8 +class CFootstepTableHandle +{ +public: + // no members available +}; + +// Alignment: 8 +// Size: 0x31 +class ResponseFollowup +{ +public: + char* followup_concept; // 0x0 + char* followup_contexts; // 0x8 + float followup_delay; // 0x10 + char* followup_target; // 0x14 + char* followup_entityiotarget; // 0x1c + char* followup_entityioinput; // 0x24 + float followup_entityiodelay; // 0x2c + bool bFired; // 0x30 +}; + +// Alignment: 3 +// Size: 0x20 +class ResponseParams +{ +public: + int16_t odds; // 0x10 + int16_t flags; // 0x12 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + ResponseFollowup* m_pFollowup; // 0x18 +}; + +// Alignment: 2 +// Size: 0x30 +class CResponseCriteriaSet +{ +public: + int32_t m_nNumPrefixedContexts; // 0x28 + bool m_bOverrideOnAppend; // 0x2c +}; + +// Alignment: 10 +// Size: 0x1e8 +class CRR_Response +{ +public: + uint8_t m_Type; // 0x0 + char m_szResponseName[192]; // 0x1 + char m_szMatchingRule[128]; // 0xc1 +private: + [[maybe_unused]] uint8_t __pad0141[0x7]; // 0x141 +public: + ResponseParams m_Params; // 0x148 + float m_fMatchScore; // 0x168 +private: + [[maybe_unused]] uint8_t __pad016c[0x4]; // 0x16c +public: + char* m_szSpeakerContext; // 0x170 + char* m_szWorldContext; // 0x178 + ResponseFollowup m_Followup; // 0x180 +private: + [[maybe_unused]] uint8_t __pad01b1[0x7]; // 0x1b1 +public: + CUtlVector< CUtlSymbol > m_pchCriteriaNames; // 0x1b8 + CUtlVector< char* > m_pchCriteriaValues; // 0x1d0 +}; + +// Alignment: 2 +// Size: 0x1f0 +struct ConceptHistory_t +{ +public: + float timeSpoken; // 0x0 + CRR_Response m_response; // 0x8 +}; + +// Alignment: 9 +// Size: 0x60 +class CAI_Expresser +{ +public: + GameTime_t m_flStopTalkTime; // 0x38 + GameTime_t m_flStopTalkTimeWithoutDelay; // 0x3c + GameTime_t m_flBlockedTalkTime; // 0x40 + int32_t m_voicePitch; // 0x44 + GameTime_t m_flLastTimeAcceptedSpeak; // 0x48 + bool m_bAllowSpeakingInterrupts; // 0x4c + bool m_bConsiderSceneInvolvementAsSpeech; // 0x4d +private: + [[maybe_unused]] uint8_t __pad004e[0x2]; // 0x4e +public: + int32_t m_nLastSpokenPriority; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 +public: + CBaseFlex* m_pOuter; // 0x58 +}; + +// Alignment: 1 +// Size: 0x68 +class CResponseQueue +{ +public: + CUtlVector< CAI_Expresser* > m_ExpresserTargets; // 0x50 +}; + +// Alignment: 5 +// Size: 0x240 +class CResponseQueue::CDeferredResponse +{ +public: + CResponseCriteriaSet m_contexts; // 0x10 + float m_fDispatchTime; // 0x40 + CHandle< CBaseEntity > m_hIssuer; // 0x44 +private: + [[maybe_unused]] uint8_t __pad0048[0x8]; // 0x48 +public: + CRR_Response m_response; // 0x50 + bool m_bResponseValid; // 0x238 +}; + +// Alignment: 1 +// Size: 0x70 +class CAI_ExpresserWithFollowup : public CAI_Expresser +{ +public: + ResponseFollowup* m_pPostponedFollowup; // 0x60 +}; + +// Alignment: 1 +// Size: 0x78 +class CMultiplayer_Expresser : public CAI_ExpresserWithFollowup +{ +public: + bool m_bAllowMultipleScenes; // 0x70 +}; + +// Alignment: 10 +// Size: 0x60 +class CCommentarySystem +{ +public: + bool m_bCommentaryConvarsChanging; // 0x11 + bool m_bCommentaryEnabledMidGame; // 0x12 +private: + [[maybe_unused]] uint8_t __pad0013[0x1]; // 0x13 +public: + GameTime_t m_flNextTeleportTime; // 0x14 + int32_t m_iTeleportStage; // 0x18 + bool m_bCheatState; // 0x1c + bool m_bIsFirstSpawnGroupToLoad; // 0x1d +private: + [[maybe_unused]] uint8_t __pad001e[0x1a]; // 0x1e +public: + CHandle< CPointCommentaryNode > m_hCurrentNode; // 0x38 + CHandle< CPointCommentaryNode > m_hActiveCommentaryNode; // 0x3c + CHandle< CPointCommentaryNode > m_hLastCommentaryNode; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + CUtlVector< CHandle< CPointCommentaryNode > > m_vecNodes; // 0x48 +}; + +// Alignment: 1 +// Size: 0x18 +class CPhysicsShake +{ +public: + Vector m_force; // 0x8 +}; + +// Alignment: 16 +// Size: 0x5c +class CGameScriptedMoveData +{ +public: + Vector m_vDest; // 0x0 + Vector m_vSrc; // 0xc + QAngle m_angSrc; // 0x18 + QAngle m_angDst; // 0x24 + QAngle m_angCurrent; // 0x30 + float m_flAngRate; // 0x3c + float m_flDuration; // 0x40 + GameTime_t m_flStartTime; // 0x44 + MoveType_t m_nPrevMoveType; // 0x48 + bool m_bActive; // 0x49 + bool m_bTeleportOnEnd; // 0x4a + bool m_bIgnoreRotation; // 0x4b + ScriptedMoveType_t m_nType; // 0x4c + bool m_bSuccess; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + ForcedCrouchState_t m_nForcedCrouchState; // 0x54 + bool m_bIgnoreCollisions; // 0x58 +}; + +// Alignment: 5 +// Size: 0x20 +class CGameChoreoServices : public IChoreoServices +{ +public: + CHandle< CBaseAnimGraph > m_hOwner; // 0x8 + CHandle< CScriptedSequence > m_hScriptedSequence; // 0xc + IChoreoServices::ScriptState_t m_scriptState; // 0x10 + IChoreoServices::ChoreoState_t m_choreoState; // 0x14 + GameTime_t m_flTimeStartedState; // 0x18 +}; + +// Alignment: 9 +// Size: 0x9 +struct HullFlags_t +{ +public: + bool m_bHull_Human; // 0x0 + bool m_bHull_SmallCentered; // 0x1 + bool m_bHull_WideHuman; // 0x2 + bool m_bHull_Tiny; // 0x3 + bool m_bHull_Medium; // 0x4 + bool m_bHull_TinyCentered; // 0x5 + bool m_bHull_Large; // 0x6 + bool m_bHull_LargeCentered; // 0x7 + bool m_bHull_MediumTall; // 0x8 +}; + +// Alignment: 4 +// Size: 0x40 +class CConstantForceController +{ +public: + Vector m_linear; // 0xc + RotationVector m_angular; // 0x18 + Vector m_linearSave; // 0x24 + RotationVector m_angularSave; // 0x30 +}; + +// Alignment: 4 +// Size: 0x20 +class CMotorController +{ +public: + float m_speed; // 0x8 + float m_maxTorque; // 0xc + Vector m_axis; // 0x10 + float m_inertiaFactor; // 0x1c +}; + +// Alignment: 4 +// Size: 0x10 +class CSoundEnvelope +{ +public: + float m_current; // 0x0 + float m_target; // 0x4 + float m_rate; // 0x8 + bool m_forceupdate; // 0xc +}; + +// Alignment: 2 +// Size: 0x28 +class CCopyRecipientFilter +{ +public: + int32_t m_Flags; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< CPlayerSlot > m_Recipients; // 0x10 +}; + +// Alignment: 13 +// Size: 0x90 +class CSoundPatch +{ +public: + CSoundEnvelope m_pitch; // 0x8 + CSoundEnvelope m_volume; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 +public: + float m_shutdownTime; // 0x30 + float m_flLastTime; // 0x34 + CUtlSymbolLarge m_iszSoundScriptName; // 0x38 + CHandle< CBaseEntity > m_hEnt; // 0x40 + CEntityIndex m_soundEntityIndex; // 0x44 + Vector m_soundOrigin; // 0x48 + int32_t m_isPlaying; // 0x54 + CCopyRecipientFilter m_Filter; // 0x58 + float m_flCloseCaptionDuration; // 0x80 + bool m_bUpdatedSoundOrigin; // 0x84 +private: + [[maybe_unused]] uint8_t __pad0085[0x3]; // 0x85 +public: + CUtlSymbolLarge m_iszClassName; // 0x88 + static int32_t &Get_g_SoundPatchCount(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CSoundPatch")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x20 +class CTouchExpansionComponent : public CEntityComponent +{ +public: + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTouchExpansionComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_referenced_but_impl_is_contained(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTouchExpansionComponent")->m_static_fields[1]->m_instance);}; + // no members available +}; + +// Alignment: 25 +// Size: 0x64 +struct dynpitchvol_base_t +{ +public: + int32_t preset; // 0x0 + int32_t pitchrun; // 0x4 + int32_t pitchstart; // 0x8 + int32_t spinup; // 0xc + int32_t spindown; // 0x10 + int32_t volrun; // 0x14 + int32_t volstart; // 0x18 + int32_t fadein; // 0x1c + int32_t fadeout; // 0x20 + int32_t lfotype; // 0x24 + int32_t lforate; // 0x28 + int32_t lfomodpitch; // 0x2c + int32_t lfomodvol; // 0x30 + int32_t cspinup; // 0x34 + int32_t cspincount; // 0x38 + int32_t pitch; // 0x3c + int32_t spinupsav; // 0x40 + int32_t spindownsav; // 0x44 + int32_t pitchfrac; // 0x48 + int32_t vol; // 0x4c + int32_t fadeinsav; // 0x50 + int32_t fadeoutsav; // 0x54 + int32_t volfrac; // 0x58 + int32_t lfofrac; // 0x5c + int32_t lfomult; // 0x60 +}; + +// Alignment: 0 +// Size: 0x64 +struct dynpitchvol_t : public dynpitchvol_base_t +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x18 +struct ResponseContext_t +{ +public: + CUtlSymbolLarge m_iszName; // 0x0 + CUtlSymbolLarge m_iszValue; // 0x8 + GameTime_t m_fExpirationTime; // 0x10 +}; + +// Alignment: 2 +// Size: 0x8 +struct Relationship_t +{ +public: + Disposition_t disposition; // 0x0 + int32_t priority; // 0x4 +}; + +// Alignment: 77 +// Size: 0x4a0 +class CBaseEntity : public CEntityInstance +{ +public: + // MNetworkEnable + // MNetworkUserGroup "CBodyComponent" + // MNetworkAlias "CBodyComponent" + // MNetworkTypeAlias "CBodyComponent" + // MNetworkPriority "48" + CBodyComponent* m_CBodyComponent; // 0x30 + CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x38 +private: + [[maybe_unused]] uint8_t __pad01d8[0x40]; // 0x1d8 +public: + CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x218 + int32_t m_iCurrentThinkContext; // 0x230 + GameTick_t m_nLastThinkTick; // 0x234 +private: + [[maybe_unused]] uint8_t __pad0238[0x8]; // 0x238 +public: + CBitVec< 64 > m_isSteadyState; // 0x240 + float m_lastNetworkChange; // 0x248 +private: + [[maybe_unused]] uint8_t __pad024c[0xc]; // 0x24c +public: + CUtlVector< ResponseContext_t > m_ResponseContexts; // 0x258 + CUtlSymbolLarge m_iszResponseContext; // 0x270 +private: + [[maybe_unused]] uint8_t __pad0278[0x20]; // 0x278 +public: + // MNetworkEnable + // MNetworkSerializer "ClampHealth" + // MNetworkUserGroup "Player" + // MNetworkPriority "32" + int32_t m_iHealth; // 0x298 + // MNetworkEnable + int32_t m_iMaxHealth; // 0x29c + // MNetworkEnable + // MNetworkUserGroup "Player" + // MNetworkPriority "32" + uint8_t m_lifeState; // 0x2a0 +private: + [[maybe_unused]] uint8_t __pad02a1[0x3]; // 0x2a1 +public: + float m_flDamageAccumulator; // 0x2a4 + // MNetworkEnable + bool m_bTakesDamage; // 0x2a8 +private: + [[maybe_unused]] uint8_t __pad02a9[0x3]; // 0x2a9 +public: + // MNetworkEnable + TakeDamageFlags_t m_nTakeDamageFlags; // 0x2ac +private: + [[maybe_unused]] uint8_t __pad02b0[0x1]; // 0x2b0 +public: + // MNetworkEnable + MoveCollide_t m_MoveCollide; // 0x2b1 + // MNetworkEnable + MoveType_t m_MoveType; // 0x2b2 + uint8_t m_nWaterTouch; // 0x2b3 + uint8_t m_nSlimeTouch; // 0x2b4 + bool m_bRestoreInHierarchy; // 0x2b5 +private: + [[maybe_unused]] uint8_t __pad02b6[0x2]; // 0x2b6 +public: + CUtlSymbolLarge m_target; // 0x2b8 + float m_flMoveDoneTime; // 0x2c0 + CHandle< CBaseFilter > m_hDamageFilter; // 0x2c4 + CUtlSymbolLarge m_iszDamageFilterName; // 0x2c8 + // MNetworkEnable + // MNetworkSendProxyRecipientsFilter + CUtlStringToken m_nSubclassID; // 0x2d0 +private: + [[maybe_unused]] uint8_t __pad02d4[0xc]; // 0x2d4 +public: + // MNetworkEnable + // MNetworkPriority "0" + // MNetworkSerializer "animTimeSerializer" + // MNetworkSendProxyRecipientsFilter + float m_flAnimTime; // 0x2e0 + // MNetworkEnable + // MNetworkPriority "1" + // MNetworkSerializer "simulationTimeSerializer" + float m_flSimulationTime; // 0x2e4 + // MNetworkEnable + GameTime_t m_flCreateTime; // 0x2e8 + // MNetworkEnable + bool m_bClientSideRagdoll; // 0x2ec + // MNetworkEnable + uint8_t m_ubInterpolationFrame; // 0x2ed +private: + [[maybe_unused]] uint8_t __pad02ee[0x2]; // 0x2ee +public: + Vector m_vPrevVPhysicsUpdatePos; // 0x2f0 + // MNetworkEnable + uint8_t m_iTeamNum; // 0x2fc +private: + [[maybe_unused]] uint8_t __pad02fd[0x3]; // 0x2fd +public: + CUtlSymbolLarge m_iGlobalname; // 0x300 + int32_t m_iSentToClients; // 0x308 + float m_flSpeed; // 0x30c + CUtlString m_sUniqueHammerID; // 0x310 + // MNetworkEnable + uint32_t m_spawnflags; // 0x318 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + GameTick_t m_nNextThinkTick; // 0x31c + int32_t m_nSimulationTick; // 0x320 +private: + [[maybe_unused]] uint8_t __pad0324[0x4]; // 0x324 +public: + CEntityIOOutput m_OnKilled; // 0x328 + // MNetworkEnable + // MNetworkPriority "32" + // MNetworkUserGroup "Player" + uint32_t m_fFlags; // 0x350 + Vector m_vecAbsVelocity; // 0x354 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + // MNetworkPriority "32" + CNetworkVelocityVector m_vecVelocity; // 0x360 +private: + [[maybe_unused]] uint8_t __pad0388[0x8]; // 0x388 +public: + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + Vector m_vecBaseVelocity; // 0x390 + int32_t m_nPushEnumCount; // 0x39c + CCollisionProperty* m_pCollision; // 0x3a0 + // MNetworkEnable + CHandle< CBaseEntity > m_hEffectEntity; // 0x3a8 + // MNetworkEnable + // MNetworkPriority "32" + CHandle< CBaseEntity > m_hOwnerEntity; // 0x3ac + // MNetworkEnable + // MNetworkChangeCallback "OnEffectsChanged" + uint32_t m_fEffects; // 0x3b0 + // MNetworkEnable + // MNetworkPriority "32" + // MNetworkUserGroup "Player" + CHandle< CBaseEntity > m_hGroundEntity; // 0x3b4 + // MNetworkEnable + // MNetworkBitCount "8" + // MNetworkMinValue "0" + // MNetworkMaxValue "4" + // MNetworkEncodeFlags + // MNetworkUserGroup "LocalPlayerExclusive" + float m_flFriction; // 0x3b8 + // MNetworkEnable + // MNetworkEncoder + float m_flElasticity; // 0x3bc + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + float m_flGravityScale; // 0x3c0 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + float m_flTimeScale; // 0x3c4 + // MNetworkEnable + // MNetworkUserGroup "Water" + // MNetworkBitCount "8" + // MNetworkMinValue "0" + // MNetworkMaxValue "1" + // MNetworkEncodeFlags + float m_flWaterLevel; // 0x3c8 + // MNetworkEnable + bool m_bSimulatedEveryTick; // 0x3cc + // MNetworkEnable + bool m_bAnimatedEveryTick; // 0x3cd + // MNetworkEnable + // MNetworkUserGroup "ScalabilityOptions" + uint8_t m_nMinCPULevel; // 0x3ce + // MNetworkEnable + // MNetworkUserGroup "ScalabilityOptions" + uint8_t m_nMaxCPULevel; // 0x3cf + // MNetworkEnable + // MNetworkUserGroup "ScalabilityOptions" + uint8_t m_nMinGPULevel; // 0x3d0 + // MNetworkEnable + // MNetworkUserGroup "ScalabilityOptions" + uint8_t m_nMaxGPULevel; // 0x3d1 + bool m_bDisableLowViolence; // 0x3d2 + uint8_t m_nWaterType; // 0x3d3 + int32_t m_iEFlags; // 0x3d4 + CEntityIOOutput m_OnUser1; // 0x3d8 + CEntityIOOutput m_OnUser2; // 0x400 + CEntityIOOutput m_OnUser3; // 0x428 + CEntityIOOutput m_OnUser4; // 0x450 + int32_t m_iInitialTeamNum; // 0x478 + // MNetworkEnable + GameTime_t m_flNavIgnoreUntilTime; // 0x47c + QAngle m_vecAngVelocity; // 0x480 + bool m_bNetworkQuantizeOriginAndAngles; // 0x48c + bool m_bLagCompensate; // 0x48d +private: + [[maybe_unused]] uint8_t __pad048e[0x2]; // 0x48e +public: + float m_flOverriddenFriction; // 0x490 + CHandle< CBaseEntity > m_pBlocker; // 0x494 + float m_flLocalTime; // 0x498 + float m_flVPhysicsUpdateLocalTime; // 0x49c + static Relationship_t** &Get_sm_DefaultRelationship(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[0]->m_instance);}; + static bool &Get_sm_bAccurateTriggerBboxChecks(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[1]->m_instance);}; + static bool &Get_sm_bDisableTouchFuncs(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[2]->m_instance);}; + static bool &Get_m_bAllowPrecache(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[3]->m_instance);}; + static bool &Get_s_bAbsQueriesValid(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[4]->m_instance);}; + static bool &Get_s_bPreventingSetAnimRunAnimEvents(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[5]->m_instance);}; + static int32_t &Get_m_nPredictionRandomSeed(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[6]->m_instance);}; + static CBasePlayerController* &Get_m_pPredictionPlayerController(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[7]->m_instance);}; + static bool &Get_sm_bDatadescValidating(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[8]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x4a0 +class CServerOnlyEntity : public CBaseEntity +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x4a0 +class CServerOnlyPointEntity : public CServerOnlyEntity +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x4a0 +class CLogicalEntity : public CServerOnlyEntity +{ +public: + // no members available +}; + +// Alignment: 17 +// Size: 0x6d8 +class CColorCorrection : public CBaseEntity +{ +public: + // MNetworkEnable + float m_flFadeInDuration; // 0x4a0 + // MNetworkEnable + float m_flFadeOutDuration; // 0x4a4 + float m_flStartFadeInWeight; // 0x4a8 + float m_flStartFadeOutWeight; // 0x4ac + GameTime_t m_flTimeStartFadeIn; // 0x4b0 + GameTime_t m_flTimeStartFadeOut; // 0x4b4 + // MNetworkEnable + float m_flMaxWeight; // 0x4b8 + bool m_bStartDisabled; // 0x4bc + // MNetworkEnable + bool m_bEnabled; // 0x4bd + // MNetworkEnable + bool m_bMaster; // 0x4be + // MNetworkEnable + bool m_bClientSide; // 0x4bf + // MNetworkEnable + bool m_bExclusive; // 0x4c0 +private: + [[maybe_unused]] uint8_t __pad04c1[0x3]; // 0x4c1 +public: + // MNetworkEnable + float m_MinFalloff; // 0x4c4 + // MNetworkEnable + float m_MaxFalloff; // 0x4c8 + // MNetworkEnable + float m_flCurWeight; // 0x4cc + // MNetworkEnable + char m_netlookupFilename[512]; // 0x4d0 + CUtlSymbolLarge m_lookupFilename; // 0x6d0 +}; + +// Alignment: 11 +// Size: 0x4d8 +class CEntityFlame : public CBaseEntity +{ +public: + // MNetworkEnable + CHandle< CBaseEntity > m_hEntAttached; // 0x4a0 + // MNetworkEnable + bool m_bCheapEffect; // 0x4a4 +private: + [[maybe_unused]] uint8_t __pad04a5[0x3]; // 0x4a5 +public: + float m_flSize; // 0x4a8 + bool m_bUseHitboxes; // 0x4ac +private: + [[maybe_unused]] uint8_t __pad04ad[0x3]; // 0x4ad +public: + int32_t m_iNumHitboxFires; // 0x4b0 + float m_flHitboxFireScale; // 0x4b4 + GameTime_t m_flLifetime; // 0x4b8 + CHandle< CBaseEntity > m_hAttacker; // 0x4bc + int32_t m_iDangerSound; // 0x4c0 + float m_flDirectDamagePerSecond; // 0x4c4 + int32_t m_iCustomDamageType; // 0x4c8 +}; + +// Alignment: 3 +// Size: 0x4f8 +class CBaseFilter : public CLogicalEntity +{ +public: + bool m_bNegated; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x7]; // 0x4a1 +public: + CEntityIOOutput m_OnPass; // 0x4a8 + CEntityIOOutput m_OnFail; // 0x4d0 +}; + +// Alignment: 4 +// Size: 0x580 +class CFilterMultiple : public CBaseFilter +{ +public: + filter_t m_nFilterType; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc +public: + CUtlSymbolLarge m_iFilterName[10]; // 0x500 + CHandle< CBaseEntity > m_hFilter[10]; // 0x550 + int32_t m_nFilterCount; // 0x578 +}; + +// Alignment: 1 +// Size: 0x500 +class CFilterProximity : public CBaseFilter +{ +public: + float m_flRadius; // 0x4f8 +}; + +// Alignment: 0 +// Size: 0x4f8 +class CFilterLOS : public CBaseFilter +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x500 +class CFilterClass : public CBaseFilter +{ +public: + CUtlSymbolLarge m_iFilterClass; // 0x4f8 +}; + +// Alignment: 4 +// Size: 0x4b0 +class CBaseFire : public CBaseEntity +{ +public: + // MNetworkEnable + float m_flScale; // 0x4a0 + // MNetworkEnable + float m_flStartScale; // 0x4a4 + // MNetworkEnable + float m_flScaleTime; // 0x4a8 + // MNetworkEnable + uint32_t m_nFlags; // 0x4ac +}; + +// Alignment: 2 +// Size: 0x4b8 +class CFireSmoke : public CBaseFire +{ +public: + // MNetworkEnable + int32_t m_nFlameModelIndex; // 0x4b0 + // MNetworkEnable + int32_t m_nFlameFromAboveModelIndex; // 0x4b4 +}; + +// Alignment: 7 +// Size: 0x4f8 +class CFishPool : public CBaseEntity +{ +public: + int32_t m_fishCount; // 0x4b0 + float m_maxRange; // 0x4b4 + float m_swimDepth; // 0x4b8 + float m_waterLevel; // 0x4bc + bool m_isDormant; // 0x4c0 +private: + [[maybe_unused]] uint8_t __pad04c1[0x7]; // 0x4c1 +public: + CUtlVector< CHandle< CFish > > m_fishes; // 0x4c8 + CountdownTimer m_visTimer; // 0x4e0 +}; + +// Alignment: 0 +// Size: 0x830 +class CInfoData : public CServerOnlyEntity +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x20 +struct locksound_t +{ +public: + CUtlSymbolLarge sLockedSound; // 0x8 + CUtlSymbolLarge sUnlockedSound; // 0x10 + GameTime_t flwaitSound; // 0x18 +}; + +// Alignment: 4 +// Size: 0x510 +class CLogicBranch : public CLogicalEntity +{ +public: + bool m_bInValue; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x7]; // 0x4a1 +public: + CUtlVector< CHandle< CBaseEntity > > m_Listeners; // 0x4a8 + CEntityIOOutput m_OnTrue; // 0x4c0 + CEntityIOOutput m_OnFalse; // 0x4e8 +}; + +// Alignment: 7 +// Size: 0x530 +class CLogicDistanceCheck : public CLogicalEntity +{ +public: + CUtlSymbolLarge m_iszEntityA; // 0x4a0 + CUtlSymbolLarge m_iszEntityB; // 0x4a8 + float m_flZone1Distance; // 0x4b0 + float m_flZone2Distance; // 0x4b4 + CEntityIOOutput m_InZone1; // 0x4b8 + CEntityIOOutput m_InZone2; // 0x4e0 + CEntityIOOutput m_InZone3; // 0x508 +}; + +// Alignment: 3 +// Size: 0x14 +class VelocitySampler +{ +public: + Vector m_prevSample; // 0x0 + GameTime_t m_fPrevSampleTime; // 0xc + float m_fIdealSampleRate; // 0x10 +}; + +// Alignment: 3 +// Size: 0x20 +class SimpleConstraintSoundProfile +{ +public: + SimpleConstraintSoundProfile::SimpleConstraintsSoundProfileKeypoints_t eKeypoints; // 0x8 + float m_keyPoints[2]; // 0xc + float m_reversalSoundThresholds[3]; // 0x14 +}; + +// Alignment: 8 +// Size: 0x88 +class ConstraintSoundInfo +{ +public: + VelocitySampler m_vSampler; // 0x8 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + SimpleConstraintSoundProfile m_soundProfile; // 0x20 + Vector m_forwardAxis; // 0x40 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + CUtlSymbolLarge m_iszTravelSoundFwd; // 0x50 + CUtlSymbolLarge m_iszTravelSoundBack; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0060[0x8]; // 0x60 +public: + CUtlSymbolLarge m_iszReversalSounds[3]; // 0x68 + bool m_bPlayTravelSound; // 0x80 + bool m_bPlayReversalSound; // 0x81 +}; + +// Alignment: 5 +// Size: 0x20 +class CSmoothFunc +{ +public: + float m_flSmoothAmplitude; // 0x8 + float m_flSmoothBias; // 0xc + float m_flSmoothDuration; // 0x10 + float m_flSmoothRemainingTime; // 0x14 + int32_t m_nSmoothDir; // 0x18 +}; + +// Alignment: 1 +// Size: 0x10 +struct magnetted_objects_t +{ +public: + CHandle< CBaseEntity > hEntity; // 0x8 +}; + +// Alignment: 3 +// Size: 0x4b8 +class CPointPrefab : public CServerOnlyPointEntity +{ +public: + CUtlSymbolLarge m_targetMapName; // 0x4a0 + CUtlSymbolLarge m_forceWorldGroupID; // 0x4a8 + bool m_fixupNames; // 0x4b0 +}; + +// Alignment: 2 +// Size: 0x4a8 +class CSkyboxReference : public CBaseEntity +{ +public: + WorldGroupId_t m_worldGroupId; // 0x4a0 + CHandle< CSkyCamera > m_hSkyCamera; // 0x4a4 +}; + +// Alignment: 25 +// Size: 0x68 +struct fogparams_t +{ +public: + // MNetworkEnable + // MNetworkEncoder + Vector dirPrimary; // 0x8 + // MNetworkEnable + Color colorPrimary; // 0x14 + // MNetworkEnable + Color colorSecondary; // 0x18 + // MNetworkEnable + // MNetworkUserGroup "FogController" + Color colorPrimaryLerpTo; // 0x1c + // MNetworkEnable + // MNetworkUserGroup "FogController" + Color colorSecondaryLerpTo; // 0x20 + // MNetworkEnable + float start; // 0x24 + // MNetworkEnable + float end; // 0x28 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float farz; // 0x2c + // MNetworkEnable + float maxdensity; // 0x30 + // MNetworkEnable + float exponent; // 0x34 + // MNetworkEnable + float HDRColorScale; // 0x38 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float skyboxFogFactor; // 0x3c + // MNetworkEnable + // MNetworkUserGroup "FogController" + float skyboxFogFactorLerpTo; // 0x40 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float startLerpTo; // 0x44 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float endLerpTo; // 0x48 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float maxdensityLerpTo; // 0x4c + // MNetworkEnable + // MNetworkUserGroup "FogController" + GameTime_t lerptime; // 0x50 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float duration; // 0x54 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float blendtobackground; // 0x58 + // MNetworkEnable + // MNetworkUserGroup "FogController" + float scattering; // 0x5c + // MNetworkEnable + // MNetworkUserGroup "FogController" + float locallightscale; // 0x60 + // MNetworkEnable + bool enable; // 0x64 + // MNetworkEnable + bool blend; // 0x65 + // MNetworkEnable + bool m_bNoReflectionFog; // 0x66 + bool m_bPadding; // 0x67 +}; + +// Alignment: 12 +// Size: 0x34 +class CSound +{ +public: + CHandle< CBaseEntity > m_hOwner; // 0x0 + CHandle< CBaseEntity > m_hTarget; // 0x4 + int32_t m_iVolume; // 0x8 + float m_flOcclusionScale; // 0xc + int32_t m_iType; // 0x10 + int32_t m_iNextAudible; // 0x14 + GameTime_t m_flExpireTime; // 0x18 + int16_t m_iNext; // 0x1c + bool m_bNoExpirationTime; // 0x1e +private: + [[maybe_unused]] uint8_t __pad001f[0x1]; // 0x1f +public: + int32_t m_ownerChannelIndex; // 0x20 + Vector m_vecOrigin; // 0x24 + bool m_bHasOwner; // 0x30 +}; + +// Alignment: 11 +// Size: 0x538 +class CEnvSoundscape : public CServerOnlyEntity +{ +public: + CEntityIOOutput m_OnPlay; // 0x4a0 + float m_flRadius; // 0x4c8 +private: + [[maybe_unused]] uint8_t __pad04cc[0x4]; // 0x4cc +public: + CUtlSymbolLarge m_soundscapeName; // 0x4d0 + CUtlSymbolLarge m_soundEventName; // 0x4d8 + bool m_bOverrideWithEvent; // 0x4e0 +private: + [[maybe_unused]] uint8_t __pad04e1[0x3]; // 0x4e1 +public: + int32_t m_soundscapeIndex; // 0x4e4 + int32_t m_soundscapeEntityListId; // 0x4e8 + uint32_t m_soundEventHash; // 0x4ec + CUtlSymbolLarge m_positionNames[8]; // 0x4f0 + CHandle< CEnvSoundscape > m_hProxySoundscape; // 0x530 + bool m_bDisabled; // 0x534 +}; + +// Alignment: 1 +// Size: 0x540 +class CEnvSoundscapeProxy : public CEnvSoundscape +{ +public: + CUtlSymbolLarge m_MainSoundscapeName; // 0x538 +}; + +// Alignment: 0 +// Size: 0x538 +class CEnvSoundscapeTriggerable : public CEnvSoundscape +{ +public: + // no members available +}; + +// Alignment: 27 +// Size: 0x550 +class CTriggerCamera : public CBaseEntity +{ +public: + CHandle< CBaseEntity > m_hPlayer; // 0x4a0 + CHandle< CBaseEntity > m_hTarget; // 0x4a4 + CBaseEntity* m_pPath; // 0x4a8 + CUtlSymbolLarge m_sPath; // 0x4b0 + float m_flWait; // 0x4b8 + GameTime_t m_flReturnTime; // 0x4bc + GameTime_t m_flStopTime; // 0x4c0 + float m_moveDistance; // 0x4c4 + float m_targetSpeed; // 0x4c8 + float m_initialSpeed; // 0x4cc + float m_acceleration; // 0x4d0 + float m_deceleration; // 0x4d4 + int32_t m_state; // 0x4d8 + Vector m_vecMoveDir; // 0x4dc + float m_fov; // 0x4e8 + float m_fovSpeed; // 0x4ec + CUtlSymbolLarge m_iszTargetAttachment; // 0x4f0 + AttachmentHandle_t m_iAttachmentIndex; // 0x4f8 + bool m_bSnapToGoal; // 0x4f9 + bool m_bInterpolatePosition; // 0x4fa +private: + [[maybe_unused]] uint8_t __pad04fb[0x1]; // 0x4fb +public: + Vector m_vStartPos; // 0x4fc + Vector m_vEndPos; // 0x508 + GameTime_t m_flInterpStartTime; // 0x514 + uint64_t m_nPlayerButtons; // 0x518 + bool m_bOldTakesDamage; // 0x520 +private: + [[maybe_unused]] uint8_t __pad0521[0x3]; // 0x521 +public: + TakeDamageFlags_t m_nOldTakeDamageFlags; // 0x524 + CEntityIOOutput m_OnEndFollow; // 0x528 + static float &Get_kflPosInterpTime(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTriggerCamera")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 1 +// Size: 0x4 +struct ParticleIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 2 +// Size: 0x10 +class CNavLinkAnimgraphVar +{ +public: + // MPropertyFriendlyName "Animgraph Variable" + // MPropertyDescription "Animgraph variable to use for animation for this movement." + CUtlString m_strAnimgraphVar; // 0x0 + // MPropertyFriendlyName "Alignment Degrees" + // MPropertyDescription "Amount of angular slack the animation has when aligning to the navlink. 0 indicates that it must be strictly aligned." + uint32_t m_unAlignmentDegrees; // 0x8 +}; + +// Alignment: 3 +// Size: 0x20 +class CNavLinkMovementVData +{ +public: + // MPropertyFriendlyName "Is Interpolated" + // MPropertyDescription "Indicates that the animation has a segment that's interpolated. In general using this on navlinks that traverse +/- 50% of the recommended distance should look okay." + bool m_bIsInterpolated; // 0x0 + // MPropertyFriendlyName "Recommended Distance" + // MPropertyDescription "Recommended distance this movement traverses" + uint32_t m_unRecommendedDistance; // 0x4 + // MPropertyFriendlyName "Animgraph Variables" + // MPropertyDescription "List of animgraph variables to use when moving through this navlink. Can include multiple, with different amounts of angular slack. The most permissive animgraph variable that exists on the entity's animgraph will be used," + // MPropertyAutoExpandSelf + CUtlVector< CNavLinkAnimgraphVar > m_vecAnimgraphVars; // 0x8 +}; + +// Alignment: 0 +// Size: 0xd8 +class CNavVolumeMarkupVolume : public CNavVolume +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x98 +class CNavVolumeCalculatedVector : public CNavVolume +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0xb8 +class CNavVolumeBreadthFirstSearch : public CNavVolumeCalculatedVector +{ +public: + Vector m_vStartPos; // 0xa0 + float m_flSearchDist; // 0xac +}; + +// Alignment: 8 +// Size: 0x30 +struct VPhysicsCollisionAttribute_t +{ +public: + // MNetworkEnable + uint64_t m_nInteractsAs; // 0x8 + // MNetworkEnable + uint64_t m_nInteractsWith; // 0x10 + // MNetworkEnable + uint64_t m_nInteractsExclude; // 0x18 + // MNetworkEnable + uint32_t m_nEntityId; // 0x20 + // MNetworkEnable + uint32_t m_nOwnerId; // 0x24 + // MNetworkEnable + uint16_t m_nHierarchyId; // 0x28 + // MNetworkEnable + uint8_t m_nCollisionGroup; // 0x2a + // MNetworkEnable + uint8_t m_nCollisionFunctionMask; // 0x2b +}; + +// Alignment: 17 +// Size: 0xb0 +class CCollisionProperty +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "CollisionAttributeChanged" + VPhysicsCollisionAttribute_t m_collisionAttribute; // 0x10 + // MNetworkEnable + // MNetworkChangeCallback "OnUpdateOBB" + Vector m_vecMins; // 0x40 + // MNetworkEnable + // MNetworkChangeCallback "OnUpdateOBB" + Vector m_vecMaxs; // 0x4c +private: + [[maybe_unused]] uint8_t __pad0058[0x2]; // 0x58 +public: + // MNetworkEnable + // MNetworkChangeCallback "OnUpdateSolidFlags" + uint8_t m_usSolidFlags; // 0x5a + // MNetworkEnable + // MNetworkChangeCallback "OnUpdateSolidType" + SolidType_t m_nSolidType; // 0x5b + // MNetworkEnable + // MNetworkChangeCallback "MarkSurroundingBoundsDirty" + uint8_t m_triggerBloat; // 0x5c + // MNetworkEnable + // MNetworkChangeCallback "MarkSurroundingBoundsDirty" + SurroundingBoundsType_t m_nSurroundType; // 0x5d + // MNetworkEnable + uint8_t m_CollisionGroup; // 0x5e + // MNetworkEnable + // MNetworkChangeCallback "OnUpdateEnablePhysics" + uint8_t m_nEnablePhysics; // 0x5f + float m_flBoundingRadius; // 0x60 + // MNetworkEnable + // MNetworkChangeCallback "MarkSurroundingBoundsDirty" + Vector m_vecSpecifiedSurroundingMins; // 0x64 + // MNetworkEnable + // MNetworkChangeCallback "MarkSurroundingBoundsDirty" + Vector m_vecSpecifiedSurroundingMaxs; // 0x70 + Vector m_vecSurroundingMaxs; // 0x7c + Vector m_vecSurroundingMins; // 0x88 + // MNetworkEnable + Vector m_vCapsuleCenter1; // 0x94 + // MNetworkEnable + Vector m_vCapsuleCenter2; // 0xa0 + // MNetworkEnable + float m_flCapsuleRadius; // 0xac +}; + +// Alignment: 21 +// Size: 0x70 +class CEffectData +{ +public: + // MNetworkEnable + // MNetworkEncoder + Vector m_vOrigin; // 0x8 + // MNetworkEnable + // MNetworkEncoder + Vector m_vStart; // 0x14 + // MNetworkEnable + // MNetworkEncoder + Vector m_vNormal; // 0x20 + // MNetworkEnable + // MNetworkEncoder + QAngle m_vAngles; // 0x2c + // MNetworkEnable + CEntityHandle m_hEntity; // 0x38 + // MNetworkEnable + CEntityHandle m_hOtherEntity; // 0x3c + // MNetworkEnable + float m_flScale; // 0x40 + // MNetworkEnable + // MNetworkBitCount "12" + // MNetworkMinValue "0" + // MNetworkMaxValue "1023" + // MNetworkEncodeFlags + float m_flMagnitude; // 0x44 + // MNetworkEnable + // MNetworkBitCount "10" + // MNetworkMinValue "0" + // MNetworkMaxValue "1023" + // MNetworkEncodeFlags + float m_flRadius; // 0x48 + // MNetworkEnable + CUtlStringToken m_nSurfaceProp; // 0x4c + // MNetworkEnable + CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > m_nEffectIndex; // 0x50 + // MNetworkEnable + uint32_t m_nDamageType; // 0x58 + // MNetworkEnable + uint8_t m_nPenetrate; // 0x5c +private: + [[maybe_unused]] uint8_t __pad005d[0x1]; // 0x5d +public: + // MNetworkEnable + uint16_t m_nMaterial; // 0x5e + // MNetworkEnable + uint16_t m_nHitBox; // 0x60 + // MNetworkEnable + uint8_t m_nColor; // 0x62 + // MNetworkEnable + uint8_t m_fFlags; // 0x63 + // MNetworkEnable + AttachmentHandle_t m_nAttachmentIndex; // 0x64 +private: + [[maybe_unused]] uint8_t __pad0065[0x3]; // 0x65 +public: + // MNetworkEnable + CUtlStringToken m_nAttachmentName; // 0x68 + // MNetworkEnable + uint16_t m_iEffectName; // 0x6c + // MNetworkEnable + uint8_t m_nExplosionType; // 0x6e +}; + +// Alignment: 2 +// Size: 0x4a8 +class CEnvDetailController : public CBaseEntity +{ +public: + // MNetworkEnable + float m_flFadeStartDist; // 0x4a0 + // MNetworkEnable + float m_flFadeEndDist; // 0x4a4 +}; + +// Alignment: 31 +// Size: 0x258 +class CEnvWindShared +{ +public: + // MNetworkEnable + GameTime_t m_flStartTime; // 0x8 + // MNetworkEnable + uint32_t m_iWindSeed; // 0xc + // MNetworkEnable + uint16_t m_iMinWind; // 0x10 + // MNetworkEnable + uint16_t m_iMaxWind; // 0x12 + // MNetworkEnable + int32_t m_windRadius; // 0x14 + // MNetworkEnable + uint16_t m_iMinGust; // 0x18 + // MNetworkEnable + uint16_t m_iMaxGust; // 0x1a + // MNetworkEnable + float m_flMinGustDelay; // 0x1c + // MNetworkEnable + float m_flMaxGustDelay; // 0x20 + // MNetworkEnable + float m_flGustDuration; // 0x24 + // MNetworkEnable + uint16_t m_iGustDirChange; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002a[0x2]; // 0x2a +public: + // MNetworkEnable + // MNetworkEncoder + Vector m_location; // 0x2c + int32_t m_iszGustSound; // 0x38 + int32_t m_iWindDir; // 0x3c + float m_flWindSpeed; // 0x40 + Vector m_currentWindVector; // 0x44 + Vector m_CurrentSwayVector; // 0x50 + Vector m_PrevSwayVector; // 0x5c + // MNetworkEnable + uint16_t m_iInitialWindDir; // 0x68 +private: + [[maybe_unused]] uint8_t __pad006a[0x2]; // 0x6a +public: + // MNetworkEnable + float m_flInitialWindSpeed; // 0x6c + CEntityIOOutput m_OnGustStart; // 0x70 + CEntityIOOutput m_OnGustEnd; // 0x98 + GameTime_t m_flVariationTime; // 0xc0 + GameTime_t m_flSwayTime; // 0xc4 + GameTime_t m_flSimTime; // 0xc8 + GameTime_t m_flSwitchTime; // 0xcc + float m_flAveWindSpeed; // 0xd0 + bool m_bGusting; // 0xd4 +private: + [[maybe_unused]] uint8_t __pad00d5[0x3]; // 0xd5 +public: + float m_flWindAngleVariation; // 0xd8 + float m_flWindSpeedVariation; // 0xdc + CEntityIndex m_iEntIndex; // 0xe0 +}; + +// Alignment: 2 +// Size: 0x8 +struct CEnvWindShared__WindAveEvent_t +{ +public: + float m_flStartWindSpeed; // 0x0 + float m_flAveWindSpeed; // 0x4 +}; + +// Alignment: 2 +// Size: 0x8 +struct CEnvWindShared__WindVariationEvent_t +{ +public: + float m_flWindAngleVariation; // 0x0 + float m_flWindSpeedVariation; // 0x4 +}; + +// Alignment: 0 +// Size: 0x4a0 +class CInfoLadderDismount : public CBaseEntity +{ +public: + // no members available +}; + +// Alignment: 13 +// Size: 0x60 +struct shard_model_desc_t +{ +public: + // MNetworkEnable + int32_t m_nModelID; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x10 + // MNetworkEnable + ShardSolid_t m_solid; // 0x18 + // MNetworkEnable + ShatterPanelMode m_ShatterPanelMode; // 0x19 +private: + [[maybe_unused]] uint8_t __pad001a[0x2]; // 0x1a +public: + // MNetworkEnable + Vector2D m_vecPanelSize; // 0x1c + // MNetworkEnable + Vector2D m_vecStressPositionA; // 0x24 + // MNetworkEnable + Vector2D m_vecStressPositionB; // 0x2c +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: + // MNetworkEnable + CNetworkUtlVectorBase< Vector2D > m_vecPanelVertices; // 0x38 + // MNetworkEnable + float m_flGlassHalfThickness; // 0x50 + // MNetworkEnable + bool m_bHasParent; // 0x54 + // MNetworkEnable + bool m_bParentFrozen; // 0x55 +private: + [[maybe_unused]] uint8_t __pad0056[0x2]; // 0x56 +public: + // MNetworkEnable + CUtlStringToken m_SurfacePropStringToken; // 0x58 + // MNetworkEnable + CUtlStringToken m_LightGroup; // 0x5c +}; + +// Alignment: 30 +// Size: 0xc0 +class CShatterGlassShard +{ +public: + uint32_t m_hShardHandle; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< Vector2D > m_vecPanelVertices; // 0x10 + Vector2D m_vLocalPanelSpaceOrigin; // 0x28 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x30 + CHandle< CShatterGlassShardPhysics > m_hPhysicsEntity; // 0x38 + CHandle< CFuncShatterglass > m_hParentPanel; // 0x3c + uint32_t m_hParentShard; // 0x40 + ShatterGlassStressType m_ShatterStressType; // 0x44 +private: + [[maybe_unused]] uint8_t __pad0045[0x3]; // 0x45 +public: + Vector m_vecStressVelocity; // 0x48 + bool m_bCreatedModel; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 +public: + float m_flLongestEdge; // 0x58 + float m_flShortestEdge; // 0x5c + float m_flLongestAcross; // 0x60 + float m_flShortestAcross; // 0x64 + float m_flSumOfAllEdges; // 0x68 + float m_flArea; // 0x6c + OnFrame m_nOnFrameEdge; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 +public: + int32_t m_nParentPanelsNthShard; // 0x74 + int32_t m_nSubShardGeneration; // 0x78 + Vector2D m_vecAverageVertPosition; // 0x7c + bool m_bAverageVertPositionIsValid; // 0x84 +private: + [[maybe_unused]] uint8_t __pad0085[0x3]; // 0x85 +public: + Vector2D m_vecPanelSpaceStressPositionA; // 0x88 + Vector2D m_vecPanelSpaceStressPositionB; // 0x90 + bool m_bStressPositionAIsValid; // 0x98 + bool m_bStressPositionBIsValid; // 0x99 + bool m_bFlaggedForRemoval; // 0x9a +private: + [[maybe_unused]] uint8_t __pad009b[0x1]; // 0x9b +public: + GameTime_t m_flPhysicsEntitySpawnedAtTime; // 0x9c + bool m_bShatterRateLimited; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad00a1[0x3]; // 0xa1 +public: + CHandle< CBaseEntity > m_hEntityHittingMe; // 0xa4 + CUtlVector< uint32 > m_vecNeighbors; // 0xa8 +}; + +// Alignment: 0 +// Size: 0x4a0 +class CGameRulesProxy : public CBaseEntity +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x90 +class CGameRules +{ +public: + char m_szQuestName[128]; // 0x8 + int32_t m_nQuestPhase; // 0x88 +}; + +// Alignment: 11 +// Size: 0x58 +class CGlowProperty +{ +public: + Vector m_fGlowColor; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0014[0x1c]; // 0x14 +public: + // MNetworkEnable + // MNetworkChangeCallback "OnGlowTypeChanged" + int32_t m_iGlowType; // 0x30 + // MNetworkEnable + int32_t m_iGlowTeam; // 0x34 + // MNetworkEnable + int32_t m_nGlowRange; // 0x38 + // MNetworkEnable + int32_t m_nGlowRangeMin; // 0x3c + // MNetworkEnable + // MNetworkChangeCallback "OnGlowColorChanged" + Color m_glowColorOverride; // 0x40 + // MNetworkEnable + bool m_bFlashing; // 0x44 +private: + [[maybe_unused]] uint8_t __pad0045[0x3]; // 0x45 +public: + // MNetworkEnable + float m_flGlowTime; // 0x48 + // MNetworkEnable + float m_flGlowStartTime; // 0x4c + // MNetworkEnable + bool m_bEligibleForScreenHighlight; // 0x50 + bool m_bGlowing; // 0x51 +}; + +// Alignment: 0 +// Size: 0x8 +class IVehicle +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x90 +class CMultiplayRules : public CGameRules +{ +public: + // no members available +}; + +// Alignment: 6 +// Size: 0x90 +struct sky3dparams_t +{ +public: + // MNetworkEnable + int16_t scale; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa +public: + // MNetworkEnable + // MNetworkEncoder + Vector origin; // 0xc + // MNetworkEnable + bool bClip3DSkyBoxNearToWorldFar; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + // MNetworkEnable + float flClip3DSkyBoxNearToWorldFarOffset; // 0x1c + // MNetworkEnable + fogparams_t fog; // 0x20 + // MNetworkEnable + WorldGroupId_t m_nWorldGroupID; // 0x88 +}; + +// Alignment: 17 +// Size: 0x188 +class CPlayer_CameraServices : public CPlayerPawnComponent +{ +public: + // MNetworkEnable + uint32_t m_iFOV; // 0x40 + // MNetworkEnable + uint32_t m_iFOVStart; // 0x44 + // MNetworkEnable + GameTime_t m_flFOVTime; // 0x48 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + float m_flFOVRate; // 0x4c + // MNetworkEnable + // MNetworkPriority "32" + // MNetworkBitCount "32" + QAngle m_vecPunchAngle; // 0x50 + // MNetworkEnable + // MNetworkBitCount "32" + QAngle m_vecPunchAngleVel; // 0x5c + // MNetworkEnable + // MNetworkChangeCallback "OnPunchJoltChanged" + GameTick_t m_nPunchAngleJoltTick; // 0x68 + // MNetworkEnable + CHandle< CBaseEntity > m_hZoomOwner; // 0x6c + // MNetworkEnable + fogplayerparams_t m_PlayerFog; // 0x70 + // MNetworkEnable + CHandle< CColorCorrection > m_hColorCorrectionCtrl; // 0xb0 + // MNetworkEnable + CHandle< CBaseEntity > m_hViewEntity; // 0xb4 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerAndObserversExclusive" + CHandle< CTonemapController2 > m_hTonemapController; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00bc[0x4]; // 0xbc +public: + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerAndObserversExclusive" + audioparams_t m_audio; // 0xc0 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerAndObserversExclusive" + CNetworkUtlVectorBase< CHandle< CPostProcessingVolume > > m_PostProcessingVolumes; // 0x138 + float m_flOldPlayerZ; // 0x150 + float m_flOldPlayerViewOffsetZ; // 0x154 +private: + [[maybe_unused]] uint8_t __pad0158[0x18]; // 0x158 +public: + CUtlVector< CHandle< CEnvSoundscapeTriggerable > > m_hTriggerSoundscapeList; // 0x170 +}; + +// Alignment: 4 +// Size: 0x540 +class CSkyCamera : public CBaseEntity +{ +public: + // MNetworkEnable + sky3dparams_t m_skyboxData; // 0x4a0 + // MNetworkEnable + CUtlStringToken m_skyboxSlotToken; // 0x530 + bool m_bUseAngles; // 0x534 +private: + [[maybe_unused]] uint8_t __pad0535[0x3]; // 0x535 +public: + CSkyCamera* m_pNext; // 0x538 +}; + +// Alignment: 0 +// Size: 0x8 +class IRagdoll +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x28 +struct ragdollelement_t +{ +public: + Vector originParentSpace; // 0x0 + int32_t parentIndex; // 0x20 + float m_flRadius; // 0x24 +}; + +// Alignment: 4 +// Size: 0x38 +struct ragdoll_t +{ +public: + CUtlVector< ragdollelement_t > list; // 0x0 + CUtlVector< int32 > boneIndex; // 0x18 + bool allowStretch; // 0x30 + bool unused; // 0x31 +}; + +// Alignment: 2 +// Size: 0x48 +struct PhysicsRagdollPose_t +{ +public: + // MNetworkDisable + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x8 + // MNetworkEnable + // MNetworkChangeCallback "OnTransformChanged" + CNetworkUtlVectorBase< CTransform > m_Transforms; // 0x30 +}; + +// Alignment: 17 +// Size: 0x60 +class CSceneEventInfo +{ +public: + int32_t m_iLayer; // 0x0 + int32_t m_iPriority; // 0x4 + HSequence m_hSequence; // 0x8 + float m_flWeight; // 0xc + bool m_bIsMoving; // 0x10 + bool m_bHasArrived; // 0x11 +private: + [[maybe_unused]] uint8_t __pad0012[0x2]; // 0x12 +public: + float m_flInitialYaw; // 0x14 + float m_flTargetYaw; // 0x18 + float m_flFacingYaw; // 0x1c + int32_t m_nType; // 0x20 + GameTime_t m_flNext; // 0x24 + bool m_bIsGesture; // 0x28 + bool m_bShouldRemove; // 0x29 +private: + [[maybe_unused]] uint8_t __pad002a[0x2a]; // 0x2a +public: + CHandle< CBaseEntity > m_hTarget; // 0x54 + uint32_t m_nSceneEventId; // 0x58 + bool m_bClientSide; // 0x5c + bool m_bStarted; // 0x5d +}; + +// Alignment: 6 +// Size: 0x40 +struct lerpdata_t +{ +public: + CHandle< CBaseEntity > m_hEnt; // 0x0 + MoveType_t m_MoveType; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + GameTime_t m_flStartTime; // 0x8 + Vector m_vecStartOrigin; // 0xc +private: + [[maybe_unused]] uint8_t __pad0018[0x8]; // 0x18 +public: + Quaternion m_qStartRot; // 0x20 + ParticleIndex_t m_nFXIndex; // 0x30 +}; + +// Alignment: 1 +// Size: 0x1 +struct AmmoIndex_t +{ +public: + int8_t m_Value; // 0x0 +}; + +// Alignment: 0 +// Size: 0x28 +class CEntitySubclassVDataBase +{ +public: + // no members available +}; + +// Alignment: 4 +// Size: 0x20 +struct thinkfunc_t +{ +public: + HSCRIPT m_hFn; // 0x8 + CUtlStringToken m_nContext; // 0x10 + GameTick_t m_nNextThinkTick; // 0x14 + GameTick_t m_nLastThinkTick; // 0x18 +}; + +// Alignment: 2 +// Size: 0x10 +struct RagdollCreationParams_t +{ +public: + Vector m_vForce; // 0x0 + int32_t m_nForceBone; // 0xc +}; + +// Alignment: 6 +// Size: 0x14 +struct hudtextparms_t +{ +public: + Color color1; // 0x0 + Color color2; // 0x4 + uint8_t effect; // 0x8 + uint8_t channel; // 0x9 +private: + [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa +public: + float x; // 0xc + float y; // 0x10 +}; + +// Alignment: 2 +// Size: 0x8 +class CSimpleSimTimer +{ +public: + GameTime_t m_next; // 0x0 + WorldGroupId_t m_nWorldGroupId; // 0x4 +}; + +// Alignment: 1 +// Size: 0xc +class CSimTimer : public CSimpleSimTimer +{ +public: + float m_interval; // 0x8 +}; + +// Alignment: 2 +// Size: 0x10 +class CRandSimTimer : public CSimpleSimTimer +{ +public: + float m_minInterval; // 0x8 + float m_maxInterval; // 0xc +}; + +// Alignment: 1 +// Size: 0xc +class CStopwatchBase : public CSimpleSimTimer +{ +public: + bool m_fIsRunning; // 0x8 +}; + +// Alignment: 0 +// Size: 0xc +class CSimpleStopwatch : public CStopwatchBase +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x10 +class CStopwatch : public CStopwatchBase +{ +public: + float m_interval; // 0xc +}; + +// Alignment: 2 +// Size: 0x14 +class CRandStopwatch : public CStopwatchBase +{ +public: + float m_minInterval; // 0xc + float m_maxInterval; // 0x10 +}; + +// Alignment: 1 +// Size: 0x98 +class CSingleplayRules : public CGameRules +{ +public: + bool m_bSinglePlayerGameEnding; // 0x90 +}; + +// Alignment: 9 +// Size: 0x538 +class CSoundOpvarSetPointBase : public CBaseEntity +{ +public: + bool m_bDisabled; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + CEntityHandle m_hSource; // 0x4a4 +private: + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 +public: + CUtlSymbolLarge m_iszSourceEntityName; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04b8[0x50]; // 0x4b8 +public: + Vector m_vLastPosition; // 0x508 +private: + [[maybe_unused]] uint8_t __pad0514[0x4]; // 0x514 +public: + // MNetworkEnable + CUtlSymbolLarge m_iszStackName; // 0x518 + // MNetworkEnable + CUtlSymbolLarge m_iszOperatorName; // 0x520 + // MNetworkEnable + CUtlSymbolLarge m_iszOpvarName; // 0x528 + // MNetworkEnable + int32_t m_iOpvarIndex; // 0x530 + // MNetworkEnable + bool m_bUseAutoCompare; // 0x534 +}; + +// Alignment: 21 +// Size: 0x638 +class CSoundOpvarSetPointEntity : public CSoundOpvarSetPointBase +{ +public: + CEntityIOOutput m_OnEnter; // 0x538 + CEntityIOOutput m_OnExit; // 0x560 + bool m_bAutoDisable; // 0x588 +private: + [[maybe_unused]] uint8_t __pad0589[0x43]; // 0x589 +public: + float m_flDistanceMin; // 0x5cc + float m_flDistanceMax; // 0x5d0 + float m_flDistanceMapMin; // 0x5d4 + float m_flDistanceMapMax; // 0x5d8 + float m_flOcclusionRadius; // 0x5dc + float m_flOcclusionMin; // 0x5e0 + float m_flOcclusionMax; // 0x5e4 + float m_flValSetOnDisable; // 0x5e8 + bool m_bSetValueOnDisable; // 0x5ec +private: + [[maybe_unused]] uint8_t __pad05ed[0x3]; // 0x5ed +public: + int32_t m_nSimulationMode; // 0x5f0 + int32_t m_nVisibilitySamples; // 0x5f4 + Vector m_vDynamicProxyPoint; // 0x5f8 + float m_flDynamicMaximumOcclusion; // 0x604 + CEntityHandle m_hDynamicEntity; // 0x608 +private: + [[maybe_unused]] uint8_t __pad060c[0x4]; // 0x60c +public: + CUtlSymbolLarge m_iszDynamicEntityName; // 0x610 + float m_flPathingDistanceNormFactor; // 0x618 + Vector m_vPathingSourcePos; // 0x61c + Vector m_vPathingListenerPos; // 0x628 +}; + +// Alignment: 9 +// Size: 0x6a0 +class CSoundOpvarSetAABBEntity : public CSoundOpvarSetPointEntity +{ +public: + Vector m_vDistanceInnerMins; // 0x638 + Vector m_vDistanceInnerMaxs; // 0x644 + Vector m_vDistanceOuterMins; // 0x650 + Vector m_vDistanceOuterMaxs; // 0x65c + int32_t m_nAABBDirection; // 0x668 + Vector m_vInnerMins; // 0x66c + Vector m_vInnerMaxs; // 0x678 + Vector m_vOuterMins; // 0x684 + Vector m_vOuterMaxs; // 0x690 +}; + +// Alignment: 0 +// Size: 0x6a0 +class CSoundOpvarSetOBBEntity : public CSoundOpvarSetAABBEntity +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x660 +class CSoundOpvarSetPathCornerEntity : public CSoundOpvarSetPointEntity +{ +public: + float m_flDistMinSqr; // 0x650 + float m_flDistMaxSqr; // 0x654 + CUtlSymbolLarge m_iszPathCornerEntityName; // 0x658 +}; + +// Alignment: 8 +// Size: 0x578 +class CSoundOpvarSetOBBWindEntity : public CSoundOpvarSetPointBase +{ +public: + Vector m_vMins; // 0x538 + Vector m_vMaxs; // 0x544 + Vector m_vDistanceMins; // 0x550 + Vector m_vDistanceMaxs; // 0x55c + float m_flWindMin; // 0x568 + float m_flWindMax; // 0x56c + float m_flWindMapMin; // 0x570 + float m_flWindMapMax; // 0x574 +}; + +// Alignment: 16 +// Size: 0xa0 +class CTakeDamageInfo +{ +public: + Vector m_vecDamageForce; // 0x8 + Vector m_vecDamagePosition; // 0x14 + Vector m_vecReportedPosition; // 0x20 + Vector m_vecDamageDirection; // 0x2c + CHandle< CBaseEntity > m_hInflictor; // 0x38 + CHandle< CBaseEntity > m_hAttacker; // 0x3c + CHandle< CBaseEntity > m_hAbility; // 0x40 + float m_flDamage; // 0x44 + int32_t m_bitsDamageType; // 0x48 + int32_t m_iDamageCustom; // 0x4c + AmmoIndex_t m_iAmmoType; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0xf]; // 0x51 +public: + float m_flOriginalDamage; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0064[0xc]; // 0x64 +public: + TakeDamageFlags_t m_nDamageFlags; // 0x70 + int32_t m_nNumObjectsPenetrated; // 0x74 + HSCRIPT m_hScriptInstance; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0080[0x18]; // 0x80 +public: + bool m_bInTakeDamageFlow; // 0x98 + static CTakeDamageInfo &Get_EmptyInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTakeDamageInfo")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 2 +// Size: 0x8 +class CTakeDamageResult +{ +public: + int32_t m_nHealthLost; // 0x0 + int32_t m_nDamageTaken; // 0x4 +}; + +// Alignment: 4 +// Size: 0xb8 +struct SummaryTakeDamageInfo_t +{ +public: + int32_t nSummarisedCount; // 0x0 + CTakeDamageInfo info; // 0x8 + CTakeDamageResult result; // 0xa8 + CHandle< CBaseEntity > hTarget; // 0xb0 +}; + +// Alignment: 1 +// Size: 0x20 +class CTakeDamageSummaryScopeGuard +{ +public: + CUtlVector< SummaryTakeDamageInfo_t* > m_vecSummaries; // 0x8 + static SummaryTakeDamageInfo_t &Get_EmptySummary(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTakeDamageSummaryScopeGuard")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x90 +class CTeamplayRules : public CMultiplayRules +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x60 +class CAttributeList +{ +public: + // MNetworkEnable + // MNetworkTypeAlias "CUtlVector< CEconItemAttribute >" + CUtlVectorEmbeddedNetworkVar< CEconItemAttribute > m_Attributes; // 0x8 + CAttributeManager* m_pManager; // 0x58 +}; + +// Alignment: 5 +// Size: 0x48 +class CEconItemAttribute +{ +public: + // MNetworkEnable + uint16_t m_iAttributeDefinitionIndex; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0032[0x2]; // 0x32 +public: + // MNetworkEnable + // MNetworkAlias "m_iRawValue32" + float m_flValue; // 0x34 + // MNetworkEnable + float m_flInitialValue; // 0x38 + // MNetworkEnable + int32_t m_nRefundableCurrency; // 0x3c + // MNetworkEnable + bool m_bSetBonus; // 0x40 +}; + +// Alignment: 0 +// Size: 0x8 +class IEconItemInterface +{ +public: + // no members available +}; + +// Alignment: 6 +// Size: 0x50 +class CAttributeManager +{ +public: + CUtlVector< CHandle< CBaseEntity > > m_Providers; // 0x8 + // MNetworkEnable + int32_t m_iReapplyProvisionParity; // 0x20 + // MNetworkEnable + CHandle< CBaseEntity > m_hOuter; // 0x24 + bool m_bPreventLoopback; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 +public: + // MNetworkEnable + attributeprovidertypes_t m_ProviderType; // 0x2c + CUtlVector< CAttributeManager::cached_attribute_float_t > m_CachedResults; // 0x30 +}; + +// Alignment: 3 +// Size: 0x18 +struct CAttributeManager__cached_attribute_float_t +{ +public: + float flIn; // 0x0 + CUtlSymbolLarge iAttribHook; // 0x8 + float flOut; // 0x10 +}; + +// Alignment: 13 +// Size: 0x278 +class CEconItemView : public IEconItemInterface +{ +public: + // MNetworkEnable + uint16_t m_iItemDefinitionIndex; // 0x38 +private: + [[maybe_unused]] uint8_t __pad003a[0x2]; // 0x3a +public: + // MNetworkEnable + int32_t m_iEntityQuality; // 0x3c + // MNetworkEnable + uint32_t m_iEntityLevel; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + uint64_t m_iItemID; // 0x48 + // MNetworkEnable + uint32_t m_iItemIDHigh; // 0x50 + // MNetworkEnable + uint32_t m_iItemIDLow; // 0x54 + // MNetworkEnable + uint32_t m_iAccountID; // 0x58 + // MNetworkEnable + uint32_t m_iInventoryPosition; // 0x5c +private: + [[maybe_unused]] uint8_t __pad0060[0x8]; // 0x60 +public: + // MNetworkEnable + bool m_bInitialized; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0069[0x7]; // 0x69 +public: + // MNetworkEnable + CAttributeList m_AttributeList; // 0x70 + // MNetworkEnable + CAttributeList m_NetworkedDynamicAttributes; // 0xd0 + // MNetworkEnable + char m_szCustomName[161]; // 0x130 + char m_szCustomNameOverride[161]; // 0x1d1 +}; + +// Alignment: 0 +// Size: 0x8 +class IHasAttributes +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x50 +struct GameAmmoTypeInfo_t : public AmmoTypeInfo_t +{ +public: + int32_t m_nBuySize; // 0x38 + int32_t m_nCost; // 0x3c +}; + +// Alignment: 2 +// Size: 0x18 +struct EntitySpottedState_t +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "OnIsSpottedChanged" + bool m_bSpotted; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x3]; // 0x9 +public: + // MNetworkEnable + // MNetworkChangeCallback "OnIsSpottedChanged" + uint32_t m_bSpottedByMask[2]; // 0xc +}; + +// Alignment: 3 +// Size: 0x4b0 +class SpawnPoint : public CServerOnlyPointEntity +{ +public: + int32_t m_iPriority; // 0x4a0 + bool m_bEnabled; // 0x4a4 +private: + [[maybe_unused]] uint8_t __pad04a5[0x3]; // 0x4a5 +public: + int32_t m_nType; // 0x4a8 +}; + +// Alignment: 9 +// Size: 0x4e8 +class SpawnPointCoopEnemy : public SpawnPoint +{ +public: + CUtlSymbolLarge m_szWeaponsToGive; // 0x4b0 + CUtlSymbolLarge m_szPlayerModelToUse; // 0x4b8 + int32_t m_nArmorToSpawnWith; // 0x4c0 + SpawnPointCoopEnemy::BotDefaultBehavior_t m_nDefaultBehavior; // 0x4c4 + int32_t m_nBotDifficulty; // 0x4c8 + bool m_bIsAgressive; // 0x4cc + bool m_bStartAsleep; // 0x4cd +private: + [[maybe_unused]] uint8_t __pad04ce[0x2]; // 0x4ce +public: + float m_flHideRadius; // 0x4d0 +private: + [[maybe_unused]] uint8_t __pad04d4[0xc]; // 0x4d4 +public: + CUtlSymbolLarge m_szBehaviorTreeFile; // 0x4e0 +}; + +// Alignment: 1 +// Size: 0x4a8 +class CCSGameRulesProxy : public CGameRulesProxy +{ +public: + // MNetworkEnable + // MNetworkTypeAlias "CCSGameRules*" + // MNetworkPriority "32" + CCSGameRules* m_pGameRules; // 0x4a0 +}; + +// Alignment: 5 +// Size: 0x198 +class CRetakeGameRules +{ +public: + // MNetworkEnable + int32_t m_nMatchSeed; // 0xf8 + // MNetworkEnable + bool m_bBlockersPresent; // 0xfc + // MNetworkEnable + bool m_bRoundInProgress; // 0xfd +private: + [[maybe_unused]] uint8_t __pad00fe[0x2]; // 0xfe +public: + // MNetworkEnable + int32_t m_iFirstSecondHalfRound; // 0x100 + // MNetworkEnable + int32_t m_iBombSite; // 0x104 +}; + +// Alignment: 38 +// Size: 0x1c98 +class CSurvivalGameRules +{ +public: + bool m_bBoundsInitialized; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x3]; // 0x9 +public: + // MNetworkEnable + Vector m_vecPlayAreaMins; // 0xc + // MNetworkEnable + Vector m_vecPlayAreaMaxs; // 0x18 + // MNetworkEnable + int32_t m_iPlayerSpawnHexIndices[64]; // 0x24 + // MNetworkEnable + ESurvivalSpawnTileState m_SpawnTileState[224]; // 0x124 + // MNetworkEnable + float m_flSpawnSelectionTimeStartCurrentStage; // 0x204 + // MNetworkEnable + float m_flSpawnSelectionTimeEndCurrentStage; // 0x208 + // MNetworkEnable + float m_flSpawnSelectionTimeEndLastStage; // 0x20c + // MNetworkEnable + SpawnStage_t m_spawnStage; // 0x210 + // MNetworkEnable + float m_flTabletHexOriginX; // 0x214 + // MNetworkEnable + float m_flTabletHexOriginY; // 0x218 + // MNetworkEnable + float m_flTabletHexSize; // 0x21c + // MNetworkEnable + uint64_t m_roundData_playerXuids[64]; // 0x220 + // MNetworkEnable + int32_t m_roundData_playerPositions[64]; // 0x420 + // MNetworkEnable + int32_t m_roundData_playerTeams[64]; // 0x520 + // MNetworkEnable + ESurvivalGameRuleDecision_t m_SurvivalGameRuleDecisionTypes[16]; // 0x620 + // MNetworkEnable + int32_t m_SurvivalGameRuleDecisionValues[16]; // 0x660 + // MNetworkEnable + float m_flSurvivalStartTime; // 0x6a0 + float m_flLastThinkTime; // 0x6a4 + bool m_nBlockedTileIndices[224]; // 0x6a8 +private: + [[maybe_unused]] uint8_t __pad0788[0x8]; // 0x788 +public: + CUtlVector< Vector > m_vecPlayerSpawnLocations; // 0x790 + bool m_bWaitingForMoreThanOnePlayer; // 0x7a8 + bool m_bSurvivalEventFired_FadeEveryoneOutFromMapSelection; // 0x7a9 + bool m_bSurvivalEventFired_TimeForSmokeBeacons; // 0x7aa + bool m_bSurvivalEventFired_FirstParadropIncoming; // 0x7ab + bool m_bSurvivalEventFired_WarnedEveryoneAboutRespawnEnding; // 0x7ac +private: + [[maybe_unused]] uint8_t __pad07ad[0x3]; // 0x7ad +public: + float m_flLastWinConditionDetectedTime; // 0x7b0 + int32_t m_nWinConditionStageProgress; // 0x7b4 + int32_t m_nEntIndexOfRunnerUpPlayer; // 0x7b8 + int32_t m_nEntIndexOfKilledPlayerCheckingWinConditions; // 0x7bc + float m_flTimeOfLastParadrop; // 0x7c0 +private: + [[maybe_unused]] uint8_t __pad07c4[0x34]; // 0x7c4 +public: + bool m_bSurvivalEventFired_PlayedWinnerSurrenderAnim; // 0x7f8 +private: + [[maybe_unused]] uint8_t __pad07f9[0x3]; // 0x7f9 +public: + CEntityHandle m_hWinnerPlayer; // 0x7fc + CUtlVector< CEntityHandle > m_vecLoadedOutPlayers; // 0x800 + CUtlVector< CEntityHandle > m_vecRespawnedPlayers; // 0x818 + CUtlVector< CEntityHandle > m_vecMetalCrates; // 0x830 + float m_flLastDroneSpawnTime; // 0x848 +private: + [[maybe_unused]] uint8_t __pad084c[0x1c]; // 0x84c +public: + CHandle< CBaseEntity > m_hSpawnChopper; // 0x868 +}; + +// Alignment: 0 +// Size: 0x1 +class QuestProgress +{ +public: + // no members available +}; + +// Alignment: 13 +// Size: 0x68 +struct CSPerRoundStats_t +{ +public: + // MNetworkEnable + int32_t m_iKills; // 0x30 + // MNetworkEnable + int32_t m_iDeaths; // 0x34 + // MNetworkEnable + int32_t m_iAssists; // 0x38 + // MNetworkEnable + // MNetworkUserGroup "AllPlayersDuringFreezePeriod" + int32_t m_iDamage; // 0x3c + // MNetworkEnable + // MNetworkUserGroup "TeammateAndSpectatorExclusive" + int32_t m_iEquipmentValue; // 0x40 + // MNetworkEnable + // MNetworkUserGroup "TeammateAndSpectatorExclusive" + int32_t m_iMoneySaved; // 0x44 + // MNetworkEnable + // MNetworkUserGroup "TeammateAndSpectatorExclusive" + int32_t m_iKillReward; // 0x48 + // MNetworkEnable + int32_t m_iLiveTime; // 0x4c + // MNetworkEnable + int32_t m_iHeadShotKills; // 0x50 + // MNetworkEnable + // MNetworkUserGroup "AllPlayersDuringFreezePeriod" + int32_t m_iObjective; // 0x54 + // MNetworkEnable + // MNetworkUserGroup "TeammateAndSpectatorExclusive" + int32_t m_iCashEarned; // 0x58 + // MNetworkEnable + // MNetworkUserGroup "AllPlayersDuringFreezePeriod" + int32_t m_iUtilityDamage; // 0x5c + // MNetworkEnable + // MNetworkUserGroup "AllPlayersDuringFreezePeriod" + int32_t m_iEnemiesFlashed; // 0x60 +}; + +// Alignment: 19 +// Size: 0xb8 +struct CSMatchStats_t : public CSPerRoundStats_t +{ +public: + // MNetworkEnable + int32_t m_iEnemy5Ks; // 0x68 + // MNetworkEnable + int32_t m_iEnemy4Ks; // 0x6c + // MNetworkEnable + int32_t m_iEnemy3Ks; // 0x70 + int32_t m_iEnemy2Ks; // 0x74 + int32_t m_iUtility_Count; // 0x78 + int32_t m_iUtility_Successes; // 0x7c + int32_t m_iUtility_Enemies; // 0x80 + int32_t m_iFlash_Count; // 0x84 + int32_t m_iFlash_Successes; // 0x88 + int32_t m_nHealthPointsRemovedTotal; // 0x8c + int32_t m_nHealthPointsDealtTotal; // 0x90 + int32_t m_nShotsFiredTotal; // 0x94 + int32_t m_nShotsOnTargetTotal; // 0x98 + int32_t m_i1v1Count; // 0x9c + int32_t m_i1v1Wins; // 0xa0 + int32_t m_i1v2Count; // 0xa4 + int32_t m_i1v2Wins; // 0xa8 + int32_t m_iEntryCount; // 0xac + int32_t m_iEntryWins; // 0xb0 +}; + +// Alignment: 4 +// Size: 0x730 +class CCSGO_TeamPreviewCharacterPosition : public CBaseEntity +{ +public: + // MNetworkEnable + int32_t m_nOrdinal; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 +public: + // MNetworkEnable + CUtlString m_sWeaponName; // 0x4a8 + // MNetworkEnable + uint64_t m_xuid; // 0x4b0 + // MNetworkEnable + CEconItemView m_weaponItem; // 0x4b8 +}; + +// Alignment: 0 +// Size: 0x730 +class CCSGO_TeamSelectCharacterPosition : public CCSGO_TeamPreviewCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x730 +class CCSGO_TeamSelectTerroristPosition : public CCSGO_TeamSelectCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x730 +class CCSGO_TeamSelectCounterTerroristPosition : public CCSGO_TeamSelectCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x730 +class CCSGO_TeamIntroCharacterPosition : public CCSGO_TeamPreviewCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x730 +class CCSGO_TeamIntroTerroristPosition : public CCSGO_TeamIntroCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x730 +class CCSGO_TeamIntroCounterTerroristPosition : public CCSGO_TeamIntroCharacterPosition +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x120 +class CCSGOPlayerAnimGraphState +{ +public: + // no members available +}; + +// Alignment: 4 +// Size: 0xa70 +class CCSPlayer_ActionTrackingServices : public CPlayerPawnComponent +{ +public: + CBasePlayerWeapon* m_lastWeaponBeforeC4AutoSwitch; // 0x230 +private: + [[maybe_unused]] uint8_t __pad0238[0x30]; // 0x238 +public: + // MNetworkEnable + bool m_bIsRescuing; // 0x268 +private: + [[maybe_unused]] uint8_t __pad0269[0x3]; // 0x269 +public: + // MNetworkEnable + int32_t m_iWeaponPurchasesThisMatch[256]; // 0x26c + // MNetworkEnable + int32_t m_iWeaponPurchasesThisRound[256]; // 0x66c +}; + +// Alignment: 5 +// Size: 0x4c8 +class CPlayerPing : public CBaseEntity +{ +public: + // MNetworkEnable + CHandle< CBaseEntity > m_hPlayer; // 0x4a8 + // MNetworkEnable + CHandle< CBaseEntity > m_hPingedEntity; // 0x4ac + // MNetworkEnable + int32_t m_iType; // 0x4b0 + // MNetworkEnable + bool m_bUrgent; // 0x4b4 + // MNetworkEnable + char m_szPlaceName[18]; // 0x4b5 +}; + +// Alignment: 2 +// Size: 0x58 +class CCSPlayer_PingServices : public CPlayerPawnComponent +{ +public: + GameTime_t m_flPlayerPingTokens[5]; // 0x40 + // MNetworkEnable + CHandle< CBaseEntity > m_hPlayerPing; // 0x54 +}; + +// Alignment: 10 +// Size: 0x538 +class CCSPlayerResource : public CBaseEntity +{ +public: + // MNetworkEnable + bool m_bHostageAlive[12]; // 0x4a0 + // MNetworkEnable + bool m_isHostageFollowingSomeone[12]; // 0x4ac + // MNetworkEnable + CEntityIndex m_iHostageEntityIDs[12]; // 0x4b8 + // MNetworkEnable + Vector m_bombsiteCenterA; // 0x4e8 + // MNetworkEnable + Vector m_bombsiteCenterB; // 0x4f4 + // MNetworkEnable + int32_t m_hostageRescueX[4]; // 0x500 + // MNetworkEnable + int32_t m_hostageRescueY[4]; // 0x510 + // MNetworkEnable + int32_t m_hostageRescueZ[4]; // 0x520 + // MNetworkEnable + bool m_bEndMatchNextMapAllVoted; // 0x530 + bool m_foundGoalPositions; // 0x531 +}; + +// Alignment: 1 +// Size: 0x48 +class CCSPlayer_BulletServices : public CPlayerPawnComponent +{ +public: + // MNetworkEnable + int32_t m_totalHitsOnServer; // 0x40 +}; + +// Alignment: 2 +// Size: 0x1a8 +class CCSPlayer_CameraServices : public CPlayer_CameraServices +{ +public: + CUtlVector< CHandle< CBaseEntity > > m_hTriggerFogList; // 0x188 + CHandle< CBaseEntity > m_hLastFogTrigger; // 0x1a0 +}; + +// Alignment: 2 +// Size: 0x50 +class CCSPlayer_HostageServices : public CPlayerPawnComponent +{ +public: + // MNetworkEnable + CHandle< CBaseEntity > m_hCarriedHostage; // 0x40 + // MNetworkEnable + CHandle< CBaseEntity > m_hCarriedHostageProp; // 0x44 +}; + +// Alignment: 3 +// Size: 0x48 +class CCSPlayer_ItemServices : public CPlayer_ItemServices +{ +public: + // MNetworkEnable + bool m_bHasDefuser; // 0x40 + // MNetworkEnable + bool m_bHasHelmet; // 0x41 + // MNetworkEnable + bool m_bHasHeavyArmor; // 0x42 +}; + +// Alignment: 35 +// Size: 0x13c0 +class CCSPlayer_MovementServices : public CPlayer_MovementServices_Humanoid +{ +public: + // MNetworkEnable + float m_flMaxFallVelocity; // 0x208 + // MNetworkEnable + // MNetworkEncoder + Vector m_vecLadderNormal; // 0x20c + // MNetworkEnable + int32_t m_nLadderSurfacePropIndex; // 0x218 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + bool m_bAllowAutoMovement; // 0x21c +private: + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d +public: + // MNetworkEnable + float m_flDuckAmount; // 0x220 + // MNetworkEnable + float m_flDuckSpeed; // 0x224 + // MNetworkEnable + bool m_bDuckOverride; // 0x228 +private: + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 +public: + float m_flDuckOffset; // 0x22c + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + // MNetworkPriority "32" + uint32_t m_nDuckTimeMsecs; // 0x230 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + uint32_t m_nDuckJumpTimeMsecs; // 0x234 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + uint32_t m_nJumpTimeMsecs; // 0x238 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + float m_flLastDuckTime; // 0x23c +private: + [[maybe_unused]] uint8_t __pad0240[0x8]; // 0x240 +public: + Vector2D m_vecLastPositionAtFullCrouchSpeed; // 0x248 + bool m_duckUntilOnGround; // 0x250 + bool m_bHasWalkMovedSinceLastJump; // 0x251 + bool m_bInStuckTest; // 0x252 +private: + [[maybe_unused]] uint8_t __pad0253[0x5]; // 0x253 +public: + uint64_t m_CachedGetPointContents[3][64]; // 0x258 + Vector m_CachedGetPointContentsPoint[3][64]; // 0x858 +private: + [[maybe_unused]] uint8_t __pad1158[0x8]; // 0x1158 +public: + float m_flStuckCheckTime[2][64]; // 0x1160 + int32_t m_nTraceCount; // 0x1360 + int32_t m_StuckLast; // 0x1364 + bool m_bSpeedCropped; // 0x1368 +private: + [[maybe_unused]] uint8_t __pad1369[0x3]; // 0x1369 +public: + int32_t m_nOldWaterLevel; // 0x136c + float m_flWaterEntryTime; // 0x1370 + Vector m_vecForward; // 0x1374 + Vector m_vecLeft; // 0x1380 + Vector m_vecUp; // 0x138c + Vector m_vecPreviouslyPredictedOrigin; // 0x1398 + bool m_bMadeFootstepNoise; // 0x13a4 +private: + [[maybe_unused]] uint8_t __pad13a5[0x3]; // 0x13a5 +public: + int32_t m_iFootsteps; // 0x13a8 + int32_t m_nRoundFootstepsMade; // 0x13ac + // MNetworkEnable + bool m_bOldJumpPressed; // 0x13b0 +private: + [[maybe_unused]] uint8_t __pad13b1[0x3]; // 0x13b1 +public: + // MNetworkEnable + float m_flJumpUntil; // 0x13b4 + // MNetworkEnable + float m_flJumpVel; // 0x13b8 + // MNetworkEnable + GameTime_t m_fStashGrenadeParameterWhen; // 0x13bc +}; + +// Alignment: 0 +// Size: 0x50 +class CCSPlayer_ObserverServices : public CPlayer_ObserverServices +{ +public: + // no members available +}; + +// Alignment: 4 +// Size: 0x50 +class CCSPlayer_UseServices : public CPlayer_UseServices +{ +public: + CHandle< CBaseEntity > m_hLastKnownUseEntity; // 0x40 + GameTime_t m_flLastUseTimeStamp; // 0x44 + GameTime_t m_flTimeStartedHoldingUse; // 0x48 + GameTime_t m_flTimeLastUsedWindow; // 0x4c +}; + +// Alignment: 1 +// Size: 0x50 +class CCSPlayer_ViewModelServices : public CPlayerPawnComponent +{ +public: + // MNetworkEnable + CHandle< CBaseViewModel > m_hViewModel[3]; // 0x40 +}; + +// Alignment: 6 +// Size: 0x68 +class CCSPlayer_WaterServices : public CPlayer_WaterServices +{ +public: + float m_NextDrownDamageTime; // 0x40 + int32_t m_nDrownDmgRate; // 0x44 + GameTime_t m_AirFinishedTime; // 0x48 + float m_flWaterJumpTime; // 0x4c + Vector m_vecWaterJumpVel; // 0x50 + float m_flSwimSoundTime; // 0x5c +}; + +// Alignment: 10 +// Size: 0x460 +class CCSPlayer_WeaponServices : public CPlayer_WeaponServices +{ +public: + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + GameTime_t m_flNextAttack; // 0xb0 + // MNetworkEnable + bool m_bIsLookingAtWeapon; // 0xb4 + // MNetworkEnable + bool m_bIsHoldingLookAtWeapon; // 0xb5 +private: + [[maybe_unused]] uint8_t __pad00b6[0x2]; // 0xb6 +public: + CHandle< CBasePlayerWeapon > m_hSavedWeapon; // 0xb8 + int32_t m_nTimeToMelee; // 0xbc + int32_t m_nTimeToSecondary; // 0xc0 + int32_t m_nTimeToPrimary; // 0xc4 + int32_t m_nTimeToSniperRifle; // 0xc8 + bool m_bIsBeingGivenItem; // 0xcc + bool m_bPickedUpWeapon; // 0xcd +}; + +// Alignment: 5 +// Size: 0x14 +struct CSAdditionalPerRoundStats_t +{ +public: + int32_t m_numChickensKilled; // 0x0 + int32_t m_killsWhileBlind; // 0x4 + int32_t m_bombCarrierkills; // 0x8 + int32_t m_iBurnDamageInflicted; // 0xc + int32_t m_iDinks; // 0x10 +}; + +// Alignment: 9 +// Size: 0x38 +struct CSAdditionalMatchStats_t : public CSAdditionalPerRoundStats_t +{ +public: + int32_t m_numRoundsSurvived; // 0x14 + int32_t m_maxNumRoundsSurvived; // 0x18 + int32_t m_numRoundsSurvivedTotal; // 0x1c + int32_t m_iRoundsWonWithoutPurchase; // 0x20 + int32_t m_iRoundsWonWithoutPurchaseTotal; // 0x24 + int32_t m_numFirstKills; // 0x28 + int32_t m_numClutchKills; // 0x2c + int32_t m_numPistolKills; // 0x30 + int32_t m_numSniperKills; // 0x34 +}; + +// Alignment: 4 +// Size: 0x200 +class CCSPlayerController_ActionTrackingServices : public CPlayerControllerComponent +{ +public: + // MNetworkEnable + CUtlVectorEmbeddedNetworkVar< CSPerRoundStats_t > m_perRoundStats; // 0x40 + // MNetworkEnable + CSMatchStats_t m_matchStats; // 0x90 + // MNetworkEnable + int32_t m_iNumRoundKills; // 0x148 + // MNetworkEnable + int32_t m_iNumRoundKillsHeadshots; // 0x14c +}; + +// Alignment: 14 +// Size: 0x70 +class CDamageRecord +{ +public: + // MNetworkEnable + CHandle< CCSPlayerPawnBase > m_PlayerDamager; // 0x28 + // MNetworkEnable + CHandle< CCSPlayerPawnBase > m_PlayerRecipient; // 0x2c + // MNetworkEnable + CHandle< CCSPlayerController > m_hPlayerControllerDamager; // 0x30 + // MNetworkEnable + CHandle< CCSPlayerController > m_hPlayerControllerRecipient; // 0x34 + // MNetworkEnable + CUtlString m_szPlayerDamagerName; // 0x38 + // MNetworkEnable + CUtlString m_szPlayerRecipientName; // 0x40 + // MNetworkEnable + uint64_t m_DamagerXuid; // 0x48 + // MNetworkEnable + uint64_t m_RecipientXuid; // 0x50 + // MNetworkEnable + int32_t m_iDamage; // 0x58 + // MNetworkEnable + int32_t m_iActualHealthRemoved; // 0x5c + // MNetworkEnable + int32_t m_iNumHits; // 0x60 + // MNetworkEnable + int32_t m_iLastBulletUpdate; // 0x64 + // MNetworkEnable + bool m_bIsOtherEnemy; // 0x68 + // MNetworkEnable + EKillTypes_t m_killType; // 0x69 +}; + +// Alignment: 2 +// Size: 0x98 +class CCSPlayerController_DamageServices : public CPlayerControllerComponent +{ +public: + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusiveDuringRoundEnd" + // MNetworkChangeCallback "OnDamageListUpdate" + int32_t m_nSendUpdate; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusiveDuringRoundEnd" + CUtlVectorEmbeddedNetworkVar< CDamageRecord > m_DamageList; // 0x48 +}; + +// Alignment: 6 +// Size: 0x58 +class CCSPlayerController_InGameMoneyServices : public CPlayerControllerComponent +{ +public: + bool m_bReceivesMoneyNextRound; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: + int32_t m_iAccountMoneyEarnedForNextRound; // 0x44 + // MNetworkEnable + int32_t m_iAccount; // 0x48 + // MNetworkEnable + int32_t m_iStartAccount; // 0x4c + // MNetworkEnable + int32_t m_iTotalCashSpent; // 0x50 + // MNetworkEnable + int32_t m_iCashSpentThisRound; // 0x54 +}; + +// Alignment: 9 +// Size: 0x910 +class CCSPlayerController_InventoryServices : public CPlayerControllerComponent +{ +public: + // MNetworkEnable + uint16_t m_unMusicID; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0042[0x2]; // 0x42 +public: + // MNetworkEnable + MedalRank_t m_rank[6]; // 0x44 + // MNetworkEnable + int32_t m_nPersonaDataPublicLevel; // 0x5c + // MNetworkEnable + int32_t m_nPersonaDataPublicCommendsLeader; // 0x60 + // MNetworkEnable + int32_t m_nPersonaDataPublicCommendsTeacher; // 0x64 + // MNetworkEnable + int32_t m_nPersonaDataPublicCommendsFriendly; // 0x68 +private: + [[maybe_unused]] uint8_t __pad006c[0x7fc]; // 0x6c +public: + uint32_t m_unEquippedPlayerSprayIDs[1]; // 0x868 +private: + [[maybe_unused]] uint8_t __pad086c[0x4]; // 0x86c +public: + // MNetworkEnable + CUtlVectorEmbeddedNetworkVar< CEconItemView > m_vecTerroristLoadoutCache; // 0x870 + // MNetworkEnable + CUtlVectorEmbeddedNetworkVar< CEconItemView > m_vecCounterTerroristLoadoutCache; // 0x8c0 +}; + +// Alignment: 198 +// Size: 0x3808 +class CCSGameRules : public CTeamplayRules +{ +public: + // MNetworkDisable + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x98 + CHandle< CBaseEntity > m_coopMissionManager; // 0xc0 + // MNetworkEnable + bool m_bFreezePeriod; // 0xc4 + // MNetworkEnable + bool m_bWarmupPeriod; // 0xc5 +private: + [[maybe_unused]] uint8_t __pad00c6[0x2]; // 0xc6 +public: + // MNetworkEnable + GameTime_t m_fWarmupPeriodEnd; // 0xc8 + // MNetworkEnable + GameTime_t m_fWarmupPeriodStart; // 0xcc + // MNetworkEnable + bool m_bTerroristTimeOutActive; // 0xd0 + // MNetworkEnable + bool m_bCTTimeOutActive; // 0xd1 +private: + [[maybe_unused]] uint8_t __pad00d2[0x2]; // 0xd2 +public: + // MNetworkEnable + float m_flTerroristTimeOutRemaining; // 0xd4 + // MNetworkEnable + float m_flCTTimeOutRemaining; // 0xd8 + // MNetworkEnable + int32_t m_nTerroristTimeOuts; // 0xdc + // MNetworkEnable + int32_t m_nCTTimeOuts; // 0xe0 + // MNetworkEnable + bool m_bTechnicalTimeOut; // 0xe4 + // MNetworkEnable + bool m_bMatchWaitingForResume; // 0xe5 +private: + [[maybe_unused]] uint8_t __pad00e6[0x2]; // 0xe6 +public: + // MNetworkEnable + int32_t m_iRoundTime; // 0xe8 + // MNetworkEnable + float m_fMatchStartTime; // 0xec + // MNetworkEnable + GameTime_t m_fRoundStartTime; // 0xf0 + // MNetworkEnable + GameTime_t m_flRestartRoundTime; // 0xf4 + // MNetworkEnable + bool m_bGameRestart; // 0xf8 +private: + [[maybe_unused]] uint8_t __pad00f9[0x3]; // 0xf9 +public: + // MNetworkEnable + float m_flGameStartTime; // 0xfc + // MNetworkEnable + float m_timeUntilNextPhaseStarts; // 0x100 + // MNetworkEnable + // MNetworkChangeCallback "OnGamePhaseChanged" + int32_t m_gamePhase; // 0x104 + // MNetworkEnable + int32_t m_totalRoundsPlayed; // 0x108 + // MNetworkEnable + int32_t m_nRoundsPlayedThisPhase; // 0x10c + // MNetworkEnable + int32_t m_nOvertimePlaying; // 0x110 + // MNetworkEnable + int32_t m_iHostagesRemaining; // 0x114 + // MNetworkEnable + bool m_bAnyHostageReached; // 0x118 + // MNetworkEnable + bool m_bMapHasBombTarget; // 0x119 + // MNetworkEnable + bool m_bMapHasRescueZone; // 0x11a + // MNetworkEnable + bool m_bMapHasBuyZone; // 0x11b + // MNetworkEnable + bool m_bIsQueuedMatchmaking; // 0x11c +private: + [[maybe_unused]] uint8_t __pad011d[0x3]; // 0x11d +public: + // MNetworkEnable + int32_t m_nQueuedMatchmakingMode; // 0x120 + // MNetworkEnable + bool m_bIsValveDS; // 0x124 + // MNetworkEnable + bool m_bLogoMap; // 0x125 + // MNetworkEnable + bool m_bPlayAllStepSoundsOnServer; // 0x126 +private: + [[maybe_unused]] uint8_t __pad0127[0x1]; // 0x127 +public: + // MNetworkEnable + int32_t m_iNumGunGameProgressiveWeaponsCT; // 0x128 + // MNetworkEnable + int32_t m_iNumGunGameProgressiveWeaponsT; // 0x12c + // MNetworkEnable + int32_t m_iSpectatorSlotCount; // 0x130 + // MNetworkEnable + int32_t m_GGProgressiveWeaponOrderCT[60]; // 0x134 + // MNetworkEnable + int32_t m_GGProgressiveWeaponOrderT[60]; // 0x224 + // MNetworkEnable + int32_t m_GGProgressiveWeaponKillUpgradeOrderCT[60]; // 0x314 + // MNetworkEnable + int32_t m_GGProgressiveWeaponKillUpgradeOrderT[60]; // 0x404 + // MNetworkEnable + int32_t m_MatchDevice; // 0x4f4 + // MNetworkEnable + bool m_bHasMatchStarted; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 +public: + // MNetworkEnable + float m_flDMBonusStartTime; // 0x4fc + // MNetworkEnable + float m_flDMBonusTimeLength; // 0x500 + // MNetworkEnable + uint16_t m_unDMBonusWeaponLoadoutSlot; // 0x504 + // MNetworkEnable + bool m_bDMBonusActive; // 0x506 +private: + [[maybe_unused]] uint8_t __pad0507[0x1]; // 0x507 +public: + // MNetworkEnable + int32_t m_nNextMapInMapgroup; // 0x508 + // MNetworkEnable + char m_szTournamentEventName[512]; // 0x50c + // MNetworkEnable + char m_szTournamentEventStage[512]; // 0x70c + // MNetworkEnable + char m_szMatchStatTxt[512]; // 0x90c + // MNetworkEnable + char m_szTournamentPredictionsTxt[512]; // 0xb0c + // MNetworkEnable + int32_t m_nTournamentPredictionsPct; // 0xd0c + // MNetworkEnable + GameTime_t m_flCMMItemDropRevealStartTime; // 0xd10 + // MNetworkEnable + GameTime_t m_flCMMItemDropRevealEndTime; // 0xd14 + // MNetworkEnable + bool m_bIsDroppingItems; // 0xd18 + // MNetworkEnable + bool m_bIsQuestEligible; // 0xd19 +private: + [[maybe_unused]] uint8_t __pad0d1a[0x2]; // 0xd1a +public: + // MNetworkEnable + int32_t m_nGuardianModeWaveNumber; // 0xd1c + // MNetworkEnable + int32_t m_nGuardianModeSpecialKillsRemaining; // 0xd20 + // MNetworkEnable + int32_t m_nGuardianModeSpecialWeaponNeeded; // 0xd24 + int32_t m_nGuardianGrenadesToGiveBots; // 0xd28 + int32_t m_nNumHeaviesToSpawn; // 0xd2c + // MNetworkEnable + uint32_t m_numGlobalGiftsGiven; // 0xd30 + // MNetworkEnable + uint32_t m_numGlobalGifters; // 0xd34 + // MNetworkEnable + uint32_t m_numGlobalGiftsPeriodSeconds; // 0xd38 + // MNetworkEnable + uint32_t m_arrFeaturedGiftersAccounts[4]; // 0xd3c + // MNetworkEnable + uint32_t m_arrFeaturedGiftersGifts[4]; // 0xd4c + // MNetworkEnable + uint16_t m_arrProhibitedItemIndices[100]; // 0xd5c + // MNetworkEnable + uint32_t m_arrTournamentActiveCasterAccounts[4]; // 0xe24 + // MNetworkEnable + int32_t m_numBestOfMaps; // 0xe34 + // MNetworkEnable + int32_t m_nHalloweenMaskListSeed; // 0xe38 + // MNetworkEnable + bool m_bBombDropped; // 0xe3c + // MNetworkEnable + bool m_bBombPlanted; // 0xe3d +private: + [[maybe_unused]] uint8_t __pad0e3e[0x2]; // 0xe3e +public: + // MNetworkEnable + int32_t m_iRoundWinStatus; // 0xe40 + // MNetworkEnable + int32_t m_eRoundWinReason; // 0xe44 + // MNetworkEnable + bool m_bTCantBuy; // 0xe48 + // MNetworkEnable + bool m_bCTCantBuy; // 0xe49 +private: + [[maybe_unused]] uint8_t __pad0e4a[0x2]; // 0xe4a +public: + // MNetworkEnable + GameTime_t m_flGuardianBuyUntilTime; // 0xe4c + // MNetworkEnable + int32_t m_iMatchStats_RoundResults[30]; // 0xe50 + // MNetworkEnable + int32_t m_iMatchStats_PlayersAlive_CT[30]; // 0xec8 + // MNetworkEnable + int32_t m_iMatchStats_PlayersAlive_T[30]; // 0xf40 + // MNetworkEnable + float m_TeamRespawnWaveTimes[32]; // 0xfb8 + // MNetworkEnable + GameTime_t m_flNextRespawnWave[32]; // 0x1038 + // MNetworkEnable + int32_t m_nServerQuestID; // 0x10b8 + bool m_bDontIncrementCoopWave; // 0x10bc + bool m_bSpawnedTerrorHuntHeavy; // 0x10bd +private: + [[maybe_unused]] uint8_t __pad10be[0x2]; // 0x10be +public: + // MNetworkEnable + int32_t m_nEndMatchMapGroupVoteTypes[10]; // 0x10c0 + // MNetworkEnable + int32_t m_nEndMatchMapGroupVoteOptions[10]; // 0x10e8 + // MNetworkEnable + int32_t m_nEndMatchMapVoteWinner; // 0x1110 + // MNetworkEnable + int32_t m_iNumConsecutiveCTLoses; // 0x1114 + // MNetworkEnable + int32_t m_iNumConsecutiveTerroristLoses; // 0x1118 +private: + [[maybe_unused]] uint8_t __pad111c[0x1c]; // 0x111c +public: + bool m_bHasHostageBeenTouched; // 0x1138 +private: + [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 +public: + GameTime_t m_flIntermissionStartTime; // 0x113c + GameTime_t m_flIntermissionEndTime; // 0x1140 + bool m_bLevelInitialized; // 0x1144 +private: + [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 +public: + int32_t m_iTotalRoundsPlayed; // 0x1148 + int32_t m_iUnBalancedRounds; // 0x114c + bool m_endMatchOnRoundReset; // 0x1150 + bool m_endMatchOnThink; // 0x1151 +private: + [[maybe_unused]] uint8_t __pad1152[0x2]; // 0x1152 +public: + int32_t m_iFreezeTime; // 0x1154 + int32_t m_iNumTerrorist; // 0x1158 + int32_t m_iNumCT; // 0x115c + int32_t m_iNumSpawnableTerrorist; // 0x1160 + int32_t m_iNumSpawnableCT; // 0x1164 + CUtlVector< int32 > m_arrSelectedHostageSpawnIndices; // 0x1168 + bool m_bFirstConnected; // 0x1180 + bool m_bCompleteReset; // 0x1181 + bool m_bPickNewTeamsOnReset; // 0x1182 + bool m_bScrambleTeamsOnRestart; // 0x1183 + bool m_bSwapTeamsOnRestart; // 0x1184 +private: + [[maybe_unused]] uint8_t __pad1185[0xb]; // 0x1185 +public: + CUtlVector< int32 > m_nEndMatchTiedVotes; // 0x1190 +private: + [[maybe_unused]] uint8_t __pad11a8[0x4]; // 0x11a8 +public: + bool m_bNeedToAskPlayersForContinueVote; // 0x11ac +private: + [[maybe_unused]] uint8_t __pad11ad[0x3]; // 0x11ad +public: + uint32_t m_numQueuedMatchmakingAccounts; // 0x11b0 +private: + [[maybe_unused]] uint8_t __pad11b4[0x4]; // 0x11b4 +public: + char* m_pQueuedMatchmakingReservationString; // 0x11b8 + uint32_t m_numTotalTournamentDrops; // 0x11c0 + uint32_t m_numSpectatorsCountMax; // 0x11c4 + uint32_t m_numSpectatorsCountMaxTV; // 0x11c8 + uint32_t m_numSpectatorsCountMaxLnk; // 0x11cc +private: + [[maybe_unused]] uint8_t __pad11d0[0x8]; // 0x11d0 +public: + bool m_bForceTeamChangeSilent; // 0x11d8 + bool m_bLoadingRoundBackupData; // 0x11d9 +private: + [[maybe_unused]] uint8_t __pad11da[0x36]; // 0x11da +public: + int32_t m_nMatchInfoShowType; // 0x1210 + float m_flMatchInfoDecidedTime; // 0x1214 +private: + [[maybe_unused]] uint8_t __pad1218[0x18]; // 0x1218 +public: + float m_flCoopRespawnAndHealTime; // 0x1230 + int32_t m_coopBonusCoinsFound; // 0x1234 + bool m_coopBonusPistolsOnly; // 0x1238 + bool m_coopPlayersInDeploymentZone; // 0x1239 + bool m_coopMissionDeadPlayerRespawnEnabled; // 0x123a +private: + [[maybe_unused]] uint8_t __pad123b[0x1]; // 0x123b +public: + int32_t mTeamDMLastWinningTeamNumber; // 0x123c + float mTeamDMLastThinkTime; // 0x1240 + float m_flTeamDMLastAnnouncementTime; // 0x1244 + int32_t m_iAccountTerrorist; // 0x1248 + int32_t m_iAccountCT; // 0x124c + int32_t m_iSpawnPointCount_Terrorist; // 0x1250 + int32_t m_iSpawnPointCount_CT; // 0x1254 + int32_t m_iMaxNumTerrorists; // 0x1258 + int32_t m_iMaxNumCTs; // 0x125c + int32_t m_iLoserBonus; // 0x1260 + int32_t m_iLoserBonusMostRecentTeam; // 0x1264 + float m_tmNextPeriodicThink; // 0x1268 + bool m_bVoiceWonMatchBragFired; // 0x126c +private: + [[maybe_unused]] uint8_t __pad126d[0x3]; // 0x126d +public: + float m_fWarmupNextChatNoticeTime; // 0x1270 +private: + [[maybe_unused]] uint8_t __pad1274[0x4]; // 0x1274 +public: + int32_t m_iHostagesRescued; // 0x1278 + int32_t m_iHostagesTouched; // 0x127c + float m_flNextHostageAnnouncement; // 0x1280 + bool m_bNoTerroristsKilled; // 0x1284 + bool m_bNoCTsKilled; // 0x1285 + bool m_bNoEnemiesKilled; // 0x1286 + bool m_bCanDonateWeapons; // 0x1287 +private: + [[maybe_unused]] uint8_t __pad1288[0x4]; // 0x1288 +public: + float m_firstKillTime; // 0x128c +private: + [[maybe_unused]] uint8_t __pad1290[0x4]; // 0x1290 +public: + float m_firstBloodTime; // 0x1294 +private: + [[maybe_unused]] uint8_t __pad1298[0x18]; // 0x1298 +public: + bool m_hostageWasInjured; // 0x12b0 + bool m_hostageWasKilled; // 0x12b1 +private: + [[maybe_unused]] uint8_t __pad12b2[0xe]; // 0x12b2 +public: + bool m_bVoteCalled; // 0x12c0 + bool m_bServerVoteOnReset; // 0x12c1 +private: + [[maybe_unused]] uint8_t __pad12c2[0x2]; // 0x12c2 +public: + float m_flVoteCheckThrottle; // 0x12c4 + bool m_bBuyTimeEnded; // 0x12c8 +private: + [[maybe_unused]] uint8_t __pad12c9[0x3]; // 0x12c9 +public: + int32_t m_nLastFreezeEndBeep; // 0x12cc + int32_t m_iHaveEscaped; // 0x12d0 + bool m_bMapHasEscapeZone; // 0x12d4 +private: + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 +public: + int32_t m_iNumEscapers; // 0x12d8 + int32_t m_iNumEscapeRounds; // 0x12dc + bool m_bTargetBombed; // 0x12e0 + bool m_bBombDefused; // 0x12e1 + bool m_bMapHasBombZone; // 0x12e2 + bool m_bGunGameRespawnWithBomb; // 0x12e3 + float m_fGunGameBombRespawnTimer; // 0x12e4 +private: + [[maybe_unused]] uint8_t __pad12e8[0x1c]; // 0x12e8 +public: + Vector m_vecMainCTSpawnPos; // 0x1304 + CUtlVector< SpawnPoint* > m_CTSpawnPointsMasterList; // 0x1310 + CUtlVector< SpawnPoint* > m_TerroristSpawnPointsMasterList; // 0x1328 + int32_t m_iNextCTSpawnPoint; // 0x1340 + int32_t m_iNextTerroristSpawnPoint; // 0x1344 + CUtlVector< SpawnPoint* > m_CTSpawnPoints; // 0x1348 + CUtlVector< SpawnPoint* > m_TerroristSpawnPoints; // 0x1360 + bool m_bIsUnreservedGameServer; // 0x1378 +private: + [[maybe_unused]] uint8_t __pad1379[0x3]; // 0x1379 +public: + float m_fAutobalanceDisplayTime; // 0x137c +private: + [[maybe_unused]] uint8_t __pad1380[0x268]; // 0x1380 +public: + bool m_bAllowWeaponSwitch; // 0x15e8 + bool m_bRoundTimeWarningTriggered; // 0x15e9 +private: + [[maybe_unused]] uint8_t __pad15ea[0x2]; // 0x15ea +public: + GameTime_t m_phaseChangeAnnouncementTime; // 0x15ec + float m_fNextUpdateTeamClanNamesTime; // 0x15f0 + GameTime_t m_flLastThinkTime; // 0x15f4 + float m_fAccumulatedRoundOffDamage; // 0x15f8 + int32_t m_nShorthandedBonusLastEvalRound; // 0x15fc +private: + [[maybe_unused]] uint8_t __pad1600[0x260]; // 0x1600 +public: + bool m_bHasTriggeredRoundStartMusic; // 0x1860 + bool m_bHasTriggeredCoopSpawnReset; // 0x1861 + bool m_bSwitchingTeamsAtRoundReset; // 0x1862 +private: + [[maybe_unused]] uint8_t __pad1863[0x1]; // 0x1863 +public: + int32_t m_iMaxGunGameProgressiveWeaponIndex; // 0x1864 +private: + [[maybe_unused]] uint8_t __pad1868[0x18]; // 0x1868 +public: + // MNetworkEnable + CSurvivalGameRules m_SurvivalRules; // 0x1880 + KeyValues3 m_BtGlobalBlackboard; // 0x3518 +private: + [[maybe_unused]] uint8_t __pad3528[0x58]; // 0x3528 +public: + CHandle< CBaseEntity > m_hPlayerResource; // 0x3580 +private: + [[maybe_unused]] uint8_t __pad3584[0x4]; // 0x3584 +public: + // MNetworkEnable + CRetakeGameRules m_RetakeRules; // 0x3588 +private: + [[maybe_unused]] uint8_t __pad3720[0x4c]; // 0x3720 +public: + int32_t m_GuardianBotSkillLevelMax; // 0x376c + int32_t m_GuardianBotSkillLevelMin; // 0x3770 +private: + [[maybe_unused]] uint8_t __pad3774[0x4]; // 0x3774 +public: + CUtlVector< int32 > m_arrTeamUniqueKillWeaponsMatch[4]; // 0x3778 + bool m_bTeamLastKillUsedUniqueWeaponMatch[4]; // 0x37d8 +private: + [[maybe_unused]] uint8_t __pad37dc[0x24]; // 0x37dc +public: + // MNetworkEnable + // MNetworkChangeCallback "OnMatchEndCountChanged" + uint8_t m_nMatchEndCount; // 0x3800 + // MNetworkEnable + // MNetworkChangeCallback "OnTeamIntroPeriodChanged" + bool m_bTeamIntroPeriod; // 0x3801 +private: + [[maybe_unused]] uint8_t __pad3802[0x2]; // 0x3802 +public: + GameTime_t m_fTeamIntroPeriodEnd; // 0x3804 + static int64_t &Get_m_nMapCycleTimeStamp(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CCSGameRules")->m_static_fields[0]->m_instance);}; + static int32_t &Get_m_nMapCycleindex(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CCSGameRules")->m_static_fields[1]->m_instance);}; +}; + +// Alignment: 14 +// Size: 0x5b0 +class CDangerZoneController : public CBaseEntity +{ +public: + // MNetworkEnable + bool m_bDangerZoneControllerEnabled; // 0x4a0 + // MNetworkEnable + bool m_bMissionControlledExplosions; // 0x4a1 +private: + [[maybe_unused]] uint8_t __pad04a2[0x2]; // 0x4a2 +public: + // MNetworkEnable + Vector m_vecEndGameCircleStart; // 0x4a4 + // MNetworkEnable + Vector m_vecEndGameCircleEnd; // 0x4b0 + // MNetworkEnable + GameTime_t m_flStartTime; // 0x4bc + // MNetworkEnable + float m_flFinalExpansionTime; // 0x4c0 + // MNetworkEnable + CHandle< CDangerZone > m_DangerZones[42]; // 0x4c4 + // MNetworkEnable + GameTime_t m_flWaveEndTimes[5]; // 0x56c + // MNetworkEnable + CHandle< CDangerZone > m_hTheFinalZone; // 0x580 + float m_flLastDangerZoneStatusLogged; // 0x584 + GameTime_t m_flLastDangerZoneDamageTime; // 0x588 + bool m_bFirstBombWarning; // 0x58c +private: + [[maybe_unused]] uint8_t __pad058d[0x3]; // 0x58d +public: + int32_t m_numWaveRewardsGranted; // 0x590 +private: + [[maybe_unused]] uint8_t __pad0594[0x4]; // 0x594 +public: + CUtlVector< CPointEntity* > m_pGasCanLaunchers; // 0x598 +}; + +// Alignment: 1 +// Size: 0x8 +class CFiringModeFloat +{ +public: + float m_flValues[2]; // 0x0 +}; + +// Alignment: 1 +// Size: 0x8 +class CFiringModeInt +{ +public: + int32_t m_nValues[2]; // 0x0 +}; + +// Alignment: 4 +// Size: 0x18 +class CIronSightController +{ +public: + bool m_bIronSightAvailable; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x3]; // 0x9 +public: + float m_flIronSightAmount; // 0xc + float m_flIronSightAmountGained; // 0x10 + float m_flIronSightAmountBiased; // 0x14 +}; + +// Alignment: 1 +// Size: 0x4b0 +class CPointDZParadropDenialRegion : public CServerOnlyPointEntity +{ +public: + float m_flRadius; // 0x4a8 +}; + +// Alignment: 3 +// Size: 0x30 +class CHintMessage +{ +public: + char* m_hintString; // 0x8 + CUtlVector< char* > m_args; // 0x10 + float m_duration; // 0x28 +}; + +// Alignment: 3 +// Size: 0x30 +class CHintMessageQueue +{ +public: + float m_tmMessageEnd; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< CHintMessage* > m_messages; // 0x10 + CBasePlayerController* m_pPlayerController; // 0x28 +}; + +// Alignment: 1 +// Size: 0xc8 +class CCSPlayer_BuyServices : public CPlayerPawnComponent +{ +public: + float m_flNextAutoBuyAmmoTime; // 0x40 +}; + +// Alignment: 0 +// Size: 0x40 +class CCSPlayer_DamageReactServices : public CPlayerPawnComponent +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x78 +class CCSPlayer_ParachuteServices : public CPlayerPawnComponent +{ +public: + // no members available +}; + +// Alignment: 5 +// Size: 0x60 +class CCSPlayer_RadioServices : public CPlayerPawnComponent +{ +public: + GameTime_t m_flGotHostageTalkTimer; // 0x40 + GameTime_t m_flDefusingTalkTimer; // 0x44 + GameTime_t m_flC4PlantTalkTimer; // 0x48 + float m_flRadioTokenSlots[3]; // 0x4c + bool m_bIgnoreRadio; // 0x58 +}; + +// Alignment: 6 +// Size: 0x178 +class CBaseIssue +{ +public: + char m_szTypeString[64]; // 0x20 + char m_szDetailsString[260]; // 0x60 + int32_t m_iNumYesVotes; // 0x164 + int32_t m_iNumNoVotes; // 0x168 + int32_t m_iNumPotentialVotes; // 0x16c + CVoteController* m_pVoteController; // 0x170 +}; + +// Alignment: 14 +// Size: 0x660 +class CVoteController : public CBaseEntity +{ +public: + // MNetworkEnable + int32_t m_iActiveIssueIndex; // 0x4a0 + // MNetworkEnable + int32_t m_iOnlyTeamToVote; // 0x4a4 + // MNetworkEnable + int32_t m_nVoteOptionCount[5]; // 0x4a8 + // MNetworkEnable + int32_t m_nPotentialVotes; // 0x4bc + // MNetworkEnable + bool m_bIsYesNoVote; // 0x4c0 +private: + [[maybe_unused]] uint8_t __pad04c1[0x7]; // 0x4c1 +public: + CountdownTimer m_acceptingVotesTimer; // 0x4c8 + CountdownTimer m_executeCommandTimer; // 0x4e0 + CountdownTimer m_resetVoteTimer; // 0x4f8 + CUtlVector< uint64 > m_arrVotedUsers; // 0x510 + int32_t m_nVotesCast[64]; // 0x528 + CPlayerSlot m_playerHoldingVote; // 0x628 + int32_t m_nHighestCountIndex; // 0x62c + CUtlVector< CBaseIssue* > m_potentialIssues; // 0x630 + CUtlVector< char* > m_VoteOptions; // 0x648 +}; + +// Alignment: 22 +// Size: 0xeb8 +class CMapVetoPickController : public CBaseEntity +{ +public: + bool m_bPlayedIntroVcd; // 0x4a0 + bool m_bNeedToPlayFiveSecondsRemaining; // 0x4a1 +private: + [[maybe_unused]] uint8_t __pad04a2[0x1e]; // 0x4a2 +public: + // MNetworkEnable + int32_t m_nDraftType; // 0x4c0 + // MNetworkEnable + int32_t m_nTeamWinningCoinToss; // 0x4c4 + // MNetworkEnable + int32_t m_nTeamWithFirstChoice[64]; // 0x4c8 + // MNetworkEnable + int32_t m_nVoteMapIdsList[7]; // 0x5c8 + // MNetworkEnable + int32_t m_nAccountIDs[64]; // 0x5e4 + // MNetworkEnable + int32_t m_nMapId0[64]; // 0x6e4 + // MNetworkEnable + int32_t m_nMapId1[64]; // 0x7e4 + // MNetworkEnable + int32_t m_nMapId2[64]; // 0x8e4 + // MNetworkEnable + int32_t m_nMapId3[64]; // 0x9e4 + // MNetworkEnable + int32_t m_nMapId4[64]; // 0xae4 + // MNetworkEnable + int32_t m_nMapId5[64]; // 0xbe4 + // MNetworkEnable + int32_t m_nStartingSide0[64]; // 0xce4 + // MNetworkEnable + int32_t m_nCurrentPhase; // 0xde4 + // MNetworkEnable + int32_t m_nPhaseStartTick; // 0xde8 + // MNetworkEnable + int32_t m_nPhaseDurationTicks; // 0xdec + CEntityOutputTemplate< CUtlSymbolLarge > m_OnMapVetoed; // 0xdf0 + CEntityOutputTemplate< CUtlSymbolLarge > m_OnMapPicked; // 0xe18 + CEntityOutputTemplate< int32 > m_OnSidesPicked; // 0xe40 + CEntityOutputTemplate< int32 > m_OnNewPhaseStarted; // 0xe68 + CEntityOutputTemplate< int32 > m_OnLevelTransition; // 0xe90 +}; + +// Alignment: 0 +// Size: 0x4a8 +class CPointDZItemSpawn : public CServerOnlyPointEntity +{ +public: + // no members available +}; + +// Alignment: 7 +// Size: 0x4d0 +class CPointDZWeaponSpawn : public CPointDZItemSpawn +{ +public: + int32_t m_nGroupID; // 0x4b0 + float m_flDefaultWeight; // 0x4b4 + float m_flCurrentWeight; // 0x4b8 + CHandle< CBaseEntity > m_hItem; // 0x4bc + CUtlSymbolLarge m_iszDoorName; // 0x4c0 + CHandle< CDZDoor > m_hDoor; // 0x4c8 + int32_t m_nPrice; // 0x4cc +}; + +// Alignment: 1 +// Size: 0x4c0 +class CPointDZItemSpawnGroup : public CServerOnlyPointEntity +{ +public: + float m_flRadius; // 0x4a0 +}; + +// Alignment: 0 +// Size: 0x4c8 +class CPointDZWeaponSpawnGroup : public CPointDZItemSpawnGroup +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x4b0 +class CPointDZDroneGunSpawn : public CServerOnlyPointEntity +{ +public: + bool m_bSpawnAutomatically; // 0x4a8 +}; + +// Alignment: 0 +// Size: 0x4a8 +class CPointDZParachuteSpawn : public CServerOnlyPointEntity +{ +public: + // no members available +}; + +// Alignment: 5 +// Size: 0x4f0 +class CLogicEventListener : public CLogicalEntity +{ +public: + CUtlSymbolLarge m_iszEventName; // 0x4b0 + bool m_bIsEnabled; // 0x4b8 +private: + [[maybe_unused]] uint8_t __pad04b9[0x3]; // 0x4b9 +public: + int32_t m_nTeam; // 0x4bc + bool m_bFetchEventData; // 0x4c0 +private: + [[maybe_unused]] uint8_t __pad04c1[0x7]; // 0x4c1 +public: + CEntityIOOutput m_OnEventFired; // 0x4c8 +}; + +// Alignment: 12 +// Size: 0xd0 +class CBot +{ +public: + CCSPlayerPawnBase* m_pPlayer; // 0x10 + bool m_bHasSpawned; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + uint32_t m_id; // 0x1c +private: + [[maybe_unused]] uint8_t __pad0020[0x70]; // 0x20 +public: + bool m_isRunning; // 0x90 + bool m_isCrouching; // 0x91 +private: + [[maybe_unused]] uint8_t __pad0092[0x2]; // 0x92 +public: + float m_forwardSpeed; // 0x94 + float m_leftSpeed; // 0x98 + float m_verticalSpeed; // 0x9c + uint64_t m_buttonFlags; // 0xa0 + float m_jumpTimestamp; // 0xa8 + Vector m_viewForward; // 0xac +private: + [[maybe_unused]] uint8_t __pad00b8[0x10]; // 0xb8 +public: + int32_t m_postureStackIndex; // 0xc8 +}; + +// Alignment: 0 +// Size: 0x58 +class CBtNode +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x58 +class CBtNodeDecorator : public CBtNode +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x58 +class CBtNodeComposite : public CBtNode +{ +public: + // no members available +}; + +// Alignment: 12 +// Size: 0xf8 +class CBtActionAim : public CBtNode +{ +public: + CUtlString m_szSensorInputKey; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0070[0x10]; // 0x70 +public: + CUtlString m_szAimReadyKey; // 0x80 + float m_flZoomCooldownTimestamp; // 0x88 + bool m_bDoneAiming; // 0x8c +private: + [[maybe_unused]] uint8_t __pad008d[0x3]; // 0x8d +public: + float m_flLerpStartTime; // 0x90 + float m_flNextLookTargetLerpTime; // 0x94 + float m_flPenaltyReductionRatio; // 0x98 + QAngle m_NextLookTarget; // 0x9c + CountdownTimer m_AimTimer; // 0xa8 + CountdownTimer m_SniperHoldTimer; // 0xc0 + CountdownTimer m_FocusIntervalTimer; // 0xd8 + bool m_bAcquired; // 0xf0 +}; + +// Alignment: 4 +// Size: 0xb0 +class CBtActionCombatPositioning : public CBtNode +{ +public: + CUtlString m_szSensorInputKey; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0070[0x10]; // 0x70 +public: + CUtlString m_szIsAttackingKey; // 0x80 + CountdownTimer m_ActionTimer; // 0x88 + bool m_bCrouching; // 0xa0 +}; + +// Alignment: 14 +// Size: 0xe8 +class CBtActionMoveTo : public CBtNode +{ +public: + CUtlString m_szDestinationInputKey; // 0x60 + CUtlString m_szHidingSpotInputKey; // 0x68 + CUtlString m_szThreatInputKey; // 0x70 + Vector m_vecDestination; // 0x78 + bool m_bAutoLookAdjust; // 0x84 + bool m_bComputePath; // 0x85 +private: + [[maybe_unused]] uint8_t __pad0086[0x2]; // 0x86 +public: + float m_flDamagingAreasPenaltyCost; // 0x88 +private: + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c +public: + CountdownTimer m_CheckApproximateCornersTimer; // 0x90 + CountdownTimer m_CheckHighPriorityItem; // 0xa8 + CountdownTimer m_RepathTimer; // 0xc0 + float m_flArrivalEpsilon; // 0xd8 + float m_flAdditionalArrivalEpsilon2D; // 0xdc + float m_flHidingSpotCheckDistanceThreshold; // 0xe0 + float m_flNearestAreaDistanceThreshold; // 0xe4 +}; + +// Alignment: 1 +// Size: 0x78 +class CBtActionParachutePositioning : public CBtNode +{ +public: + CountdownTimer m_ActionTimer; // 0x58 +}; + +// Alignment: 1 +// Size: 0x60 +class CBtNodeCondition : public CBtNodeDecorator +{ +public: + bool m_bNegated; // 0x58 +}; + +// Alignment: 3 +// Size: 0x98 +class CBtNodeConditionInactive : public CBtNodeCondition +{ +public: + float m_flRoundStartThresholdSeconds; // 0x78 + float m_flSensorInactivityThresholdSeconds; // 0x7c + CountdownTimer m_SensorInactivityTimer; // 0x80 +}; + +// Alignment: 0 +// Size: 0x4a0 +class CPointEntity : public CBaseEntity +{ +public: + // no members available +}; + +// Alignment: 25 +// Size: 0x1620 +class CEnvCombinedLightProbeVolume : public CBaseEntity +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "StateChanged" + Color m_Color; // 0x1570 + // MNetworkEnable + // MNetworkChangeCallback "StateChanged" + float m_flBrightness; // 0x1574 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1578 + // MNetworkEnable + bool m_bCustomCubemapTexture; // 0x1580 +private: + [[maybe_unused]] uint8_t __pad1581[0x7]; // 0x1581 +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1588 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1590 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1598 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x15a0 + // MNetworkEnable + Vector m_vBoxMins; // 0x15a8 + // MNetworkEnable + Vector m_vBoxMaxs; // 0x15b4 + // MNetworkEnable + CUtlSymbolLarge m_LightGroups; // 0x15c0 + // MNetworkEnable + bool m_bMoveable; // 0x15c8 +private: + [[maybe_unused]] uint8_t __pad15c9[0x3]; // 0x15c9 +public: + // MNetworkEnable + int32_t m_nHandshake; // 0x15cc + // MNetworkEnable + int32_t m_nEnvCubeMapArrayIndex; // 0x15d0 + // MNetworkEnable + int32_t m_nPriority; // 0x15d4 + // MNetworkEnable + bool m_bStartDisabled; // 0x15d8 +private: + [[maybe_unused]] uint8_t __pad15d9[0x3]; // 0x15d9 +public: + // MNetworkEnable + float m_flEdgeFadeDist; // 0x15dc + // MNetworkEnable + Vector m_vEdgeFadeDists; // 0x15e0 + // MNetworkEnable + int32_t m_nLightProbeSizeX; // 0x15ec + // MNetworkEnable + int32_t m_nLightProbeSizeY; // 0x15f0 + // MNetworkEnable + int32_t m_nLightProbeSizeZ; // 0x15f4 + // MNetworkEnable + int32_t m_nLightProbeAtlasX; // 0x15f8 + // MNetworkEnable + int32_t m_nLightProbeAtlasY; // 0x15fc + // MNetworkEnable + int32_t m_nLightProbeAtlasZ; // 0x1600 +private: + [[maybe_unused]] uint8_t __pad1604[0x15]; // 0x1604 +public: + // MNetworkEnable + bool m_bEnabled; // 0x1619 +}; + +// Alignment: 19 +// Size: 0x600 +class CEnvCubemap : public CBaseEntity +{ +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x590 + // MNetworkEnable + bool m_bCustomCubemapTexture; // 0x598 +private: + [[maybe_unused]] uint8_t __pad0599[0x3]; // 0x599 +public: + // MNetworkEnable + float m_flInfluenceRadius; // 0x59c + // MNetworkEnable + Vector m_vBoxProjectMins; // 0x5a0 + // MNetworkEnable + Vector m_vBoxProjectMaxs; // 0x5ac + // MNetworkEnable + CUtlSymbolLarge m_LightGroups; // 0x5b8 + // MNetworkEnable + bool m_bMoveable; // 0x5c0 +private: + [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 +public: + // MNetworkEnable + int32_t m_nHandshake; // 0x5c4 + // MNetworkEnable + int32_t m_nEnvCubeMapArrayIndex; // 0x5c8 + // MNetworkEnable + int32_t m_nPriority; // 0x5cc + // MNetworkEnable + float m_flEdgeFadeDist; // 0x5d0 + // MNetworkEnable + Vector m_vEdgeFadeDists; // 0x5d4 + // MNetworkEnable + float m_flDiffuseScale; // 0x5e0 + // MNetworkEnable + bool m_bStartDisabled; // 0x5e4 + // MNetworkEnable + bool m_bDefaultEnvMap; // 0x5e5 + // MNetworkEnable + bool m_bDefaultSpecEnvMap; // 0x5e6 + // MNetworkEnable + bool m_bIndoorCubeMap; // 0x5e7 + // MNetworkEnable + bool m_bCopyDiffuseFromDefaultCubemap; // 0x5e8 +private: + [[maybe_unused]] uint8_t __pad05e9[0xf]; // 0x5e9 +public: + // MNetworkEnable + bool m_bEnabled; // 0x5f8 +}; + +// Alignment: 0 +// Size: 0x600 +class CEnvCubemapBox : public CEnvCubemap +{ +public: + // no members available +}; + +// Alignment: 18 +// Size: 0x4f0 +class CEnvCubemapFog : public CBaseEntity +{ +public: + // MNetworkEnable + float m_flEndDistance; // 0x4a0 + // MNetworkEnable + float m_flStartDistance; // 0x4a4 + // MNetworkEnable + float m_flFogFalloffExponent; // 0x4a8 + // MNetworkEnable + bool m_bHeightFogEnabled; // 0x4ac +private: + [[maybe_unused]] uint8_t __pad04ad[0x3]; // 0x4ad +public: + // MNetworkEnable + float m_flFogHeightWidth; // 0x4b0 + // MNetworkEnable + float m_flFogHeightEnd; // 0x4b4 + // MNetworkEnable + float m_flFogHeightStart; // 0x4b8 + // MNetworkEnable + float m_flFogHeightExponent; // 0x4bc + // MNetworkEnable + float m_flLODBias; // 0x4c0 + // MNetworkEnable + bool m_bActive; // 0x4c4 + // MNetworkEnable + bool m_bStartDisabled; // 0x4c5 +private: + [[maybe_unused]] uint8_t __pad04c6[0x2]; // 0x4c6 +public: + // MNetworkEnable + float m_flFogMaxOpacity; // 0x4c8 + // MNetworkEnable + int32_t m_nCubemapSourceType; // 0x4cc + // MNetworkEnable + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x4d0 + // MNetworkEnable + CUtlSymbolLarge m_iszSkyEntity; // 0x4d8 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x4e0 + // MNetworkEnable + bool m_bHasHeightFogEnd; // 0x4e8 + bool m_bFirstTime; // 0x4e9 +}; + +// Alignment: 16 +// Size: 0x4e0 +class CGradientFog : public CBaseEntity +{ +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hGradientFogTexture; // 0x4a0 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogStartDistance; // 0x4a8 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogEndDistance; // 0x4ac + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + bool m_bHeightFogEnabled; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04b1[0x3]; // 0x4b1 +public: + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogStartHeight; // 0x4b4 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogEndHeight; // 0x4b8 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFarZ; // 0x4bc + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogMaxOpacity; // 0x4c0 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogFalloffExponent; // 0x4c4 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogVerticalExponent; // 0x4c8 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + Color m_fogColor; // 0x4cc + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFogStrength; // 0x4d0 + // MNetworkEnable + // MNetworkChangeCallback "FogStateChanged" + float m_flFadeTime; // 0x4d4 + // MNetworkEnable + bool m_bStartDisabled; // 0x4d8 + // MNetworkEnable + bool m_bIsEnabled; // 0x4d9 + bool m_bGradientFogNeedsTextures; // 0x4da +}; + +// Alignment: 18 +// Size: 0x14f8 +class CEnvLightProbeVolume : public CBaseEntity +{ +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1480 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1488 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1490 + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1498 + // MNetworkEnable + Vector m_vBoxMins; // 0x14a0 + // MNetworkEnable + Vector m_vBoxMaxs; // 0x14ac + // MNetworkEnable + CUtlSymbolLarge m_LightGroups; // 0x14b8 + // MNetworkEnable + bool m_bMoveable; // 0x14c0 +private: + [[maybe_unused]] uint8_t __pad14c1[0x3]; // 0x14c1 +public: + // MNetworkEnable + int32_t m_nHandshake; // 0x14c4 + // MNetworkEnable + int32_t m_nPriority; // 0x14c8 + // MNetworkEnable + bool m_bStartDisabled; // 0x14cc +private: + [[maybe_unused]] uint8_t __pad14cd[0x3]; // 0x14cd +public: + // MNetworkEnable + int32_t m_nLightProbeSizeX; // 0x14d0 + // MNetworkEnable + int32_t m_nLightProbeSizeY; // 0x14d4 + // MNetworkEnable + int32_t m_nLightProbeSizeZ; // 0x14d8 + // MNetworkEnable + int32_t m_nLightProbeAtlasX; // 0x14dc + // MNetworkEnable + int32_t m_nLightProbeAtlasY; // 0x14e0 + // MNetworkEnable + int32_t m_nLightProbeAtlasZ; // 0x14e4 +private: + [[maybe_unused]] uint8_t __pad14e8[0x9]; // 0x14e8 +public: + // MNetworkEnable + bool m_bEnabled; // 0x14f1 +}; + +// Alignment: 8 +// Size: 0x4c8 +class CTonemapController2 : public CBaseEntity +{ +public: + // MNetworkEnable + float m_flAutoExposureMin; // 0x4a0 + // MNetworkEnable + float m_flAutoExposureMax; // 0x4a4 + // MNetworkEnable + float m_flTonemapPercentTarget; // 0x4a8 + // MNetworkEnable + float m_flTonemapPercentBrightPixels; // 0x4ac + // MNetworkEnable + float m_flTonemapMinAvgLum; // 0x4b0 + // MNetworkEnable + float m_flExposureAdaptationSpeedUp; // 0x4b4 + // MNetworkEnable + float m_flExposureAdaptationSpeedDown; // 0x4b8 + // MNetworkEnable + float m_flTonemapEVSmoothingRange; // 0x4bc +}; + +// Alignment: 28 +// Size: 0x520 +class CEnvVolumetricFogController : public CBaseEntity +{ +public: + // MNetworkEnable + float m_flScattering; // 0x4a0 + // MNetworkEnable + float m_flAnisotropy; // 0x4a4 + // MNetworkEnable + float m_flFadeSpeed; // 0x4a8 + // MNetworkEnable + float m_flDrawDistance; // 0x4ac + // MNetworkEnable + float m_flFadeInStart; // 0x4b0 + // MNetworkEnable + float m_flFadeInEnd; // 0x4b4 + // MNetworkEnable + float m_flIndirectStrength; // 0x4b8 + // MNetworkEnable + int32_t m_nIndirectTextureDimX; // 0x4bc + // MNetworkEnable + int32_t m_nIndirectTextureDimY; // 0x4c0 + // MNetworkEnable + int32_t m_nIndirectTextureDimZ; // 0x4c4 + // MNetworkEnable + Vector m_vBoxMins; // 0x4c8 + // MNetworkEnable + Vector m_vBoxMaxs; // 0x4d4 + // MNetworkEnable + bool m_bActive; // 0x4e0 +private: + [[maybe_unused]] uint8_t __pad04e1[0x3]; // 0x4e1 +public: + // MNetworkEnable + GameTime_t m_flStartAnisoTime; // 0x4e4 + // MNetworkEnable + GameTime_t m_flStartScatterTime; // 0x4e8 + // MNetworkEnable + GameTime_t m_flStartDrawDistanceTime; // 0x4ec + // MNetworkEnable + float m_flStartAnisotropy; // 0x4f0 + // MNetworkEnable + float m_flStartScattering; // 0x4f4 + // MNetworkEnable + float m_flStartDrawDistance; // 0x4f8 + // MNetworkEnable + float m_flDefaultAnisotropy; // 0x4fc + // MNetworkEnable + float m_flDefaultScattering; // 0x500 + // MNetworkEnable + float m_flDefaultDrawDistance; // 0x504 + // MNetworkEnable + bool m_bStartDisabled; // 0x508 + // MNetworkEnable + bool m_bEnableIndirect; // 0x509 + // MNetworkEnable + bool m_bIsMaster; // 0x50a +private: + [[maybe_unused]] uint8_t __pad050b[0x5]; // 0x50b +public: + // MNetworkEnable + CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x510 + // MNetworkEnable + int32_t m_nForceRefreshCount; // 0x518 + bool m_bFirstTime; // 0x51c +}; + +// Alignment: 7 +// Size: 0x4d0 +class CEnvVolumetricFogVolume : public CBaseEntity +{ +public: + // MNetworkEnable + bool m_bActive; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + // MNetworkEnable + Vector m_vBoxMins; // 0x4a4 + // MNetworkEnable + Vector m_vBoxMaxs; // 0x4b0 + // MNetworkEnable + bool m_bStartDisabled; // 0x4bc +private: + [[maybe_unused]] uint8_t __pad04bd[0x3]; // 0x4bd +public: + // MNetworkEnable + float m_flStrength; // 0x4c0 + // MNetworkEnable + int32_t m_nFalloffShape; // 0x4c4 + // MNetworkEnable + float m_flFalloffExponent; // 0x4c8 +}; + +// Alignment: 3 +// Size: 0x510 +class CFogController : public CBaseEntity +{ +public: + // MNetworkEnable + fogparams_t m_fog; // 0x4a0 + bool m_bUseAngles; // 0x508 +private: + [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 +public: + int32_t m_iChangedVariables; // 0x50c +}; + +// Alignment: 0 +// Size: 0x4a0 +class CInfoTarget : public CPointEntity +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x4a0 +class CInfoParticleTarget : public CPointEntity +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x4b8 +class CInfoVisibilityBox : public CBaseEntity +{ +public: + // MNetworkEnable + int32_t m_nMode; // 0x4a4 + // MNetworkEnable + Vector m_vBoxSize; // 0x4a8 + // MNetworkEnable + bool m_bEnabled; // 0x4b4 +}; + +// Alignment: 7 +// Size: 0x4e0 +class CInfoWorldLayer : public CBaseEntity +{ +public: + CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x4a0 + // MNetworkEnable + CUtlSymbolLarge m_worldName; // 0x4c8 + // MNetworkEnable + CUtlSymbolLarge m_layerName; // 0x4d0 + // MNetworkEnable + bool m_bWorldLayerVisible; // 0x4d8 + // MNetworkEnable + bool m_bEntitiesSpawned; // 0x4d9 + bool m_bCreateAsChildSpawnGroup; // 0x4da +private: + [[maybe_unused]] uint8_t __pad04db[0x1]; // 0x4db +public: + uint32_t m_hLayerSpawnGroup; // 0x4dc +}; + +// Alignment: 8 +// Size: 0x4e0 +class CMultiLightProxy : public CLogicalEntity +{ +public: + CUtlSymbolLarge m_iszLightNameFilter; // 0x4a0 + CUtlSymbolLarge m_iszLightClassFilter; // 0x4a8 + float m_flLightRadiusFilter; // 0x4b0 + float m_flBrightnessDelta; // 0x4b4 + bool m_bPerformScreenFade; // 0x4b8 +private: + [[maybe_unused]] uint8_t __pad04b9[0x3]; // 0x4b9 +public: + float m_flTargetBrightnessMultiplier; // 0x4bc + float m_flCurrentBrightnessMultiplier; // 0x4c0 +private: + [[maybe_unused]] uint8_t __pad04c4[0x4]; // 0x4c4 +public: + CUtlVector< CHandle< CLightEntity > > m_vecLights; // 0x4c8 +}; + +// Alignment: 24 +// Size: 0x500 +class CPointCamera : public CBaseEntity +{ +public: + // MNetworkEnable + float m_FOV; // 0x4a0 + // MNetworkEnable + float m_Resolution; // 0x4a4 + // MNetworkEnable + bool m_bFogEnable; // 0x4a8 + // MNetworkEnable + Color m_FogColor; // 0x4a9 +private: + [[maybe_unused]] uint8_t __pad04ad[0x3]; // 0x4ad +public: + // MNetworkEnable + float m_flFogStart; // 0x4b0 + // MNetworkEnable + float m_flFogEnd; // 0x4b4 + // MNetworkEnable + float m_flFogMaxDensity; // 0x4b8 + // MNetworkEnable + bool m_bActive; // 0x4bc + // MNetworkEnable + bool m_bUseScreenAspectRatio; // 0x4bd +private: + [[maybe_unused]] uint8_t __pad04be[0x2]; // 0x4be +public: + // MNetworkEnable + float m_flAspectRatio; // 0x4c0 + // MNetworkEnable + bool m_bNoSky; // 0x4c4 +private: + [[maybe_unused]] uint8_t __pad04c5[0x3]; // 0x4c5 +public: + // MNetworkEnable + float m_fBrightness; // 0x4c8 + // MNetworkEnable + float m_flZFar; // 0x4cc + // MNetworkEnable + float m_flZNear; // 0x4d0 + // MNetworkEnable + bool m_bDofEnabled; // 0x4d4 +private: + [[maybe_unused]] uint8_t __pad04d5[0x3]; // 0x4d5 +public: + // MNetworkEnable + float m_flDofNearBlurry; // 0x4d8 + // MNetworkEnable + float m_flDofNearCrisp; // 0x4dc + // MNetworkEnable + float m_flDofFarCrisp; // 0x4e0 + // MNetworkEnable + float m_flDofFarBlurry; // 0x4e4 + // MNetworkEnable + float m_flDofTiltToGround; // 0x4e8 + float m_TargetFOV; // 0x4ec + float m_DegreesPerSecond; // 0x4f0 + bool m_bIsOn; // 0x4f4 +private: + [[maybe_unused]] uint8_t __pad04f5[0x3]; // 0x4f5 +public: + CPointCamera* m_pNext; // 0x4f8 +}; + +// Alignment: 1 +// Size: 0x508 +class CPointCameraVFOV : public CPointCamera +{ +public: + float m_flVerticalFOV; // 0x500 +}; + +// Alignment: 12 +// Size: 0x530 +class CPointTemplate : public CLogicalEntity +{ +public: + CUtlSymbolLarge m_iszWorldName; // 0x4a0 + CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x4a8 + CUtlSymbolLarge m_iszEntityFilterName; // 0x4b0 + float m_flTimeoutInterval; // 0x4b8 + bool m_bAsynchronouslySpawnEntities; // 0x4bc +private: + [[maybe_unused]] uint8_t __pad04bd[0x3]; // 0x4bd +public: + CEntityIOOutput m_pOutputOnSpawned; // 0x4c0 + PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x4e8 + PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x4ec + CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x4f0 + CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x508 + HSCRIPT m_ScriptSpawnCallback; // 0x520 + HSCRIPT m_ScriptCallbackScope; // 0x528 +}; + +// Alignment: 4 +// Size: 0x4d0 +class CGameGibManager : public CBaseEntity +{ +public: + bool m_bAllowNewGibs; // 0x4c0 +private: + [[maybe_unused]] uint8_t __pad04c1[0x3]; // 0x4c1 +public: + int32_t m_iCurrentMaxPieces; // 0x4c4 + int32_t m_iMaxPieces; // 0x4c8 + int32_t m_iLastFrame; // 0x4cc +}; + +// Alignment: 3 +// Size: 0x4c0 +class CSoundAreaEntityBase : public CBaseEntity +{ +public: + // MNetworkEnable + bool m_bDisabled; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x7]; // 0x4a1 +public: + // MNetworkEnable + CUtlSymbolLarge m_iszSoundAreaType; // 0x4a8 + // MNetworkEnable + Vector m_vPos; // 0x4b0 +}; + +// Alignment: 1 +// Size: 0x4c8 +class CSoundAreaEntitySphere : public CSoundAreaEntityBase +{ +public: + // MNetworkEnable + float m_flRadius; // 0x4c0 +}; + +// Alignment: 2 +// Size: 0x4d8 +class CSoundAreaEntityOrientedBox : public CSoundAreaEntityBase +{ +public: + // MNetworkEnable + Vector m_vMin; // 0x4c0 + // MNetworkEnable + Vector m_vMax; // 0x4cc +}; + +// Alignment: 4 +// Size: 0x558 +class CTeam : public CBaseEntity +{ +public: + // MNetworkEnable + // MNetworkAlias "m_aPlayers" + CNetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x4a0 + // MNetworkEnable + // MNetworkAlias "m_aPawns" + CNetworkUtlVectorBase< CHandle< CBasePlayerPawn > > m_aPlayers; // 0x4b8 + // MNetworkEnable + int32_t m_iScore; // 0x4d0 + // MNetworkEnable + char m_szTeamname[129]; // 0x4d4 +}; + +// Alignment: 25 +// Size: 0x668 +class CBasePlayerController : public CBaseEntity +{ +public: + uint64_t m_nInButtonsWhichAreToggles; // 0x4a8 + // MNetworkEnable + // MNetworkPriority "1" + // MNetworkUserGroup "LocalPlayerExclusive" + uint32_t m_nTickBase; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04b4[0x2c]; // 0x4b4 +public: + // MNetworkEnable + // MNetworkChangeCallback "OnPawnChanged" + CHandle< CBasePlayerPawn > m_hPawn; // 0x4e0 + CSplitScreenSlot m_nSplitScreenSlot; // 0x4e4 + CHandle< CBasePlayerController > m_hSplitOwner; // 0x4e8 +private: + [[maybe_unused]] uint8_t __pad04ec[0x4]; // 0x4ec +public: + CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0x4f0 + bool m_bIsHLTV; // 0x508 +private: + [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 +public: + // MNetworkEnable + // MNetworkChangeCallback "OnConnectionStateChanged" + PlayerConnectedState m_iConnected; // 0x50c + // MNetworkEnable + // MNetworkChangeCallback "OnPlayerControllerNameChanged" + char m_iszPlayerName[128]; // 0x510 + CUtlString m_szNetworkIDString; // 0x590 + float m_fLerpTime; // 0x598 + bool m_bLagCompensation; // 0x59c + bool m_bPredict; // 0x59d + bool m_bAutoKickDisabled; // 0x59e + bool m_bIsLowViolence; // 0x59f + bool m_bGamePaused; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05a1[0x77]; // 0x5a1 +public: + int32_t m_nHighestCommandNumberReceived; // 0x618 +private: + [[maybe_unused]] uint8_t __pad061c[0x4]; // 0x61c +public: + int64_t m_nUsecTimestampLastUserCmdReceived; // 0x620 +private: + [[maybe_unused]] uint8_t __pad0628[0x10]; // 0x628 +public: + ChatIgnoreType_t m_iIgnoreGlobalChat; // 0x638 + float m_flLastPlayerTalkTime; // 0x63c + float m_flLastEntitySteadyState; // 0x640 + int32_t m_nAvailableEntitySteadyState; // 0x644 + bool m_bHasAnySteadyStateEnts; // 0x648 +private: + [[maybe_unused]] uint8_t __pad0649[0xf]; // 0x649 +public: + // MNetworkEnable + // MNetworkEncoder + // MNetworkChangeCallback "OnSteamIDChanged" + uint64_t m_steamID; // 0x658 + // MNetworkEnable + uint32_t m_iDesiredFOV; // 0x660 +}; + +// Alignment: 14 +// Size: 0x178 +class CBasePlayerVData : public CEntitySubclassVDataBase +{ +public: + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CSkillFloat m_flHeadDamageMultiplier; // 0x108 + CSkillFloat m_flChestDamageMultiplier; // 0x118 + CSkillFloat m_flStomachDamageMultiplier; // 0x128 + CSkillFloat m_flArmDamageMultiplier; // 0x138 + CSkillFloat m_flLegDamageMultiplier; // 0x148 + // MPropertyGroupName "Water" + float m_flHoldBreathTime; // 0x158 + // MPropertyGroupName "Water" + // MPropertyDescription "Seconds between drowning ticks" + float m_flDrowningDamageInterval; // 0x15c + // MPropertyGroupName "Water" + // MPropertyDescription "Amount of damage done on the first drowning tick (+1 each subsequent interval)" + int32_t m_nDrowningDamageInitial; // 0x160 + // MPropertyGroupName "Water" + // MPropertyDescription "Max damage done by a drowning tick" + int32_t m_nDrowningDamageMax; // 0x164 + // MPropertyGroupName "Water" + int32_t m_nWaterSpeed; // 0x168 + // MPropertyGroupName "Use" + float m_flUseRange; // 0x16c + // MPropertyGroupName "Use" + float m_flUseAngleTolerance; // 0x170 + // MPropertyGroupName "Crouch" + // MPropertyDescription "Time to move between crouch and stand" + float m_flCrouchTime; // 0x174 +}; + +// Alignment: 22 +// Size: 0x320 +class CBasePlayerWeaponVData : public CEntitySubclassVDataBase +{ +public: + // MPropertyDescription "Model used on the ground or held by an entity" + // MPropertyGroupName "Visuals" + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldModel; // 0x28 + // MPropertyDescription "Was the weapon was built right-handed?" + // MPropertyGroupName "Visuals" + bool m_bBuiltRightHanded; // 0x108 + // MPropertyDescription "Allows flipping the model, regardless of whether it is built left or right handed" + // MPropertyGroupName "Visuals" + bool m_bAllowFlipping; // 0x109 + bool m_bIsFullAuto; // 0x10a +private: + [[maybe_unused]] uint8_t __pad010b[0x1]; // 0x10b +public: + int32_t m_nNumBullets; // 0x10c + // MPropertyGroupName "Visuals" + // MPropertyDescription "Attachment to fire bullets from" + // MPropertyAttributeEditor "VDataModelAttachment( m_szWorldModel )" + CUtlString m_sMuzzleAttachment; // 0x110 + // MPropertyDescription "Effect when firing this weapon" + // MPropertyGroupName "Visuals" + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x118 + // MPropertyDescription "Effect to actually fire into the world from this weapon" + // MPropertyGroupName "Visuals" + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x1f8 + ItemFlagTypes_t m_iFlags; // 0x2d8 + // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" + // MPropertyGroupName "Ammo" + // MPropertyCustomFGDType + AmmoIndex_t m_nPrimaryAmmoType; // 0x2d9 + // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" + // MPropertyGroupName "Ammo" + // MPropertyCustomFGDType + AmmoIndex_t m_nSecondaryAmmoType; // 0x2da +private: + [[maybe_unused]] uint8_t __pad02db[0x1]; // 0x2db +public: + // MPropertyFriendlyName "Primary Clip Size" + // MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)" + // MPropertyAttributeRange "0 255" + // MPropertyGroupName "Ammo" + int32_t m_iMaxClip1; // 0x2dc + // MPropertyFriendlyName "Secondary Clip Size" + // MPropertyDescription "How many secondary bullets this gun can fire before it reloads (0 if no clip)" + // MPropertyGroupName "Ammo" + // MPropertyAttributeRange "0 255" + int32_t m_iMaxClip2; // 0x2e0 + // MPropertyDescription "Primary Initial Clip (-1 means use clip size)" + // MPropertyGroupName "Ammo" + // MPropertyAttributeRange "-1 255" + int32_t m_iDefaultClip1; // 0x2e4 + // MPropertyDescription "Secondary Initial Clip (-1 means use clip size)" + // MPropertyGroupName "Ammo" + // MPropertyAttributeRange "-1 255" + int32_t m_iDefaultClip2; // 0x2e8 + // MPropertyDescription "This value used to determine this weapon's importance in autoselection" + // MPropertyGroupName "UI" + int32_t m_iWeight; // 0x2ec + // MPropertyFriendlyName "Safe To Auto-Switch To" + // MPropertyDescription "Whether this weapon is safe to automatically switch to (should be false for eg. explosives that can the player may accidentally hurt themselves with)" + // MPropertyGroupName "UI" + bool m_bAutoSwitchTo; // 0x2f0 + // MPropertyFriendlyName "Safe To Auto-Switch Away From" + // MPropertyGroupName "UI" + bool m_bAutoSwitchFrom; // 0x2f1 +private: + [[maybe_unused]] uint8_t __pad02f2[0x2]; // 0x2f2 +public: + // MPropertyGroupName "UI" + RumbleEffect_t m_iRumbleEffect; // 0x2f4 + CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x2f8 + // MPropertyFriendlyName "HUD Bucket" + // MPropertyDescription "Which 'column' to display this weapon in the HUD" + // MPropertyGroupName "UI" + int32_t m_iSlot; // 0x318 + // MPropertyFriendlyName "HUD Bucket Position" + // MPropertyDescription "Which 'row' to display this weapon in the HUD" + // MPropertyGroupName "UI" + int32_t m_iPosition; // 0x31c +}; + +// Alignment: 2 +// Size: 0x4b0 +class CInfoGameEventProxy : public CPointEntity +{ +public: + CUtlSymbolLarge m_iszEventName; // 0x4a0 + float m_flRange; // 0x4a8 +}; + +// Alignment: 2 +// Size: 0x4a8 +class CProjectedDecal : public CPointEntity +{ +public: + int32_t m_nTexture; // 0x4a0 + float m_flDistance; // 0x4a4 +}; + +// Alignment: 2 +// Size: 0x750 +class CBodyComponentBaseAnimGraph : public CBodyComponentSkeletonInstance +{ +public: + // MNetworkEnable + CBaseAnimGraphController m_animationController; // 0x470 + // MNetworkDisable + // MNetworkChangeAccessorFieldPathIndex + CNetworkVarChainer __m_pChainEntity; // 0x720 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[1]->m_instance);}; }; // Alignment: 26 // Size: 0x6f0 -class CBaseModelEntity : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseModelEntity : public CBaseEntity +{ public: // MNetworkEnable // MNetworkUserGroup "CRenderComponent" // MNetworkAlias "CRenderComponent" // MNetworkTypeAlias "CRenderComponent" - CRenderComponent* m_CRenderComponent; // 0x4a0 + CRenderComponent* m_CRenderComponent; // 0x4a0 // MNetworkEnable // MNetworkUserGroup "CHitboxComponent" // MNetworkAlias "CHitboxComponent" // MNetworkTypeAlias "CHitboxComponent" - CHitboxComponent m_CHitboxComponent; // 0x4a8 - GameTime_t m_flDissolveStartTime; // 0x4d0 - CEntityIOOutput m_OnIgnite; // 0x4d8 + CHitboxComponent m_CHitboxComponent; // 0x4a8 + GameTime_t m_flDissolveStartTime; // 0x4d0 +private: + [[maybe_unused]] uint8_t __pad04d4[0x4]; // 0x4d4 +public: + CEntityIOOutput m_OnIgnite; // 0x4d8 // MNetworkEnable - RenderMode_t m_nRenderMode; // 0x500 + RenderMode_t m_nRenderMode; // 0x500 // MNetworkEnable - RenderFx_t m_nRenderFX; // 0x501 - bool m_bAllowFadeInView; // 0x502 + RenderFx_t m_nRenderFX; // 0x501 + bool m_bAllowFadeInView; // 0x502 // MNetworkEnable // MNetworkChangeCallback "OnColorChanged" - Color m_clrRender; // 0x503 + Color m_clrRender; // 0x503 +private: + [[maybe_unused]] uint8_t __pad0507[0x1]; // 0x507 +public: // MNetworkEnable // MNetworkChangeCallback "OnRenderAttributesChanged" - CUtlVectorEmbeddedNetworkVar< EntityRenderAttribute_t > m_vecRenderAttributes; // 0x508 + CUtlVectorEmbeddedNetworkVar< EntityRenderAttribute_t > m_vecRenderAttributes; // 0x508 // MNetworkEnable // MNetworkChangeCallback "OnLightGroupChanged" - CUtlStringToken m_LightGroup; // 0x558 + CUtlStringToken m_LightGroup; // 0x558 // MNetworkEnable - bool m_bRenderToCubemaps; // 0x55c + bool m_bRenderToCubemaps; // 0x55c +private: + [[maybe_unused]] uint8_t __pad055d[0x3]; // 0x55d +public: // MNetworkEnable - CCollisionProperty m_Collision; // 0x560 + CCollisionProperty m_Collision; // 0x560 // MNetworkEnable - CGlowProperty m_Glow; // 0x610 + CGlowProperty m_Glow; // 0x610 // MNetworkEnable - float m_flGlowBackfaceMult; // 0x668 + float m_flGlowBackfaceMult; // 0x668 // MNetworkEnable - float m_fadeMinDist; // 0x66c + float m_fadeMinDist; // 0x66c // MNetworkEnable - float m_fadeMaxDist; // 0x670 + float m_fadeMaxDist; // 0x670 // MNetworkEnable - float m_flFadeScale; // 0x674 + float m_flFadeScale; // 0x674 // MNetworkEnable - float m_flShadowStrength; // 0x678 + float m_flShadowStrength; // 0x678 // MNetworkEnable - uint8_t m_nObjectCulling; // 0x67c + uint8_t m_nObjectCulling; // 0x67c +private: + [[maybe_unused]] uint8_t __pad067d[0x3]; // 0x67d +public: // MNetworkEnable - int32_t m_nAddDecal; // 0x680 + int32_t m_nAddDecal; // 0x680 // MNetworkEnable - Vector m_vDecalPosition; // 0x684 + Vector m_vDecalPosition; // 0x684 // MNetworkEnable - Vector m_vDecalForwardAxis; // 0x690 + Vector m_vDecalForwardAxis; // 0x690 // MNetworkEnable - float m_flDecalHealBloodRate; // 0x69c + float m_flDecalHealBloodRate; // 0x69c // MNetworkEnable - float m_flDecalHealHeightRate; // 0x6a0 + float m_flDecalHealHeightRate; // 0x6a0 +private: + [[maybe_unused]] uint8_t __pad06a4[0x4]; // 0x6a4 +public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x6a8 + CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x6a8 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" - CNetworkViewOffsetVector m_vecViewOffset; // 0x6c0 + CNetworkViewOffsetVector m_vecViewOffset; // 0x6c0 }; // Alignment: 0 // Size: 0x6f0 -class CServerOnlyModelEntity : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CServerOnlyModelEntity : public CBaseModelEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x6f0 -class CModelPointEntity : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CModelPointEntity : public CBaseModelEntity +{ public: // no members available }; // Alignment: 7 // Size: 0x4f8 -class CLogicRelay : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicRelay : public CLogicalEntity +{ public: - CEntityIOOutput m_OnTrigger; // 0x4a0 - CEntityIOOutput m_OnSpawn; // 0x4c8 - bool m_bDisabled; // 0x4f0 - bool m_bWaitForRefire; // 0x4f1 - bool m_bTriggerOnce; // 0x4f2 - bool m_bFastRetrigger; // 0x4f3 - bool m_bPassthoughCaller; // 0x4f4 + CEntityIOOutput m_OnTrigger; // 0x4a0 + CEntityIOOutput m_OnSpawn; // 0x4c8 + bool m_bDisabled; // 0x4f0 + bool m_bWaitForRefire; // 0x4f1 + bool m_bTriggerOnce; // 0x4f2 + bool m_bFastRetrigger; // 0x4f3 + bool m_bPassthoughCaller; // 0x4f4 }; // Alignment: 21 // Size: 0xc68 -class CParticleSystem : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CParticleSystem : public CBaseModelEntity +{ public: // MNetworkEnable - char[512] m_szSnapshotFileName; // 0x6f0 + char m_szSnapshotFileName[512]; // 0x6f0 // MNetworkEnable - bool m_bActive; // 0x8f0 + bool m_bActive; // 0x8f0 // MNetworkEnable - bool m_bFrozen; // 0x8f1 + bool m_bFrozen; // 0x8f1 +private: + [[maybe_unused]] uint8_t __pad08f2[0x2]; // 0x8f2 +public: // MNetworkEnable - float m_flFreezeTransitionDuration; // 0x8f4 + float m_flFreezeTransitionDuration; // 0x8f4 // MNetworkEnable - int32_t m_nStopType; // 0x8f8 + int32_t m_nStopType; // 0x8f8 // MNetworkEnable - bool m_bAnimateDuringGameplayPause; // 0x8fc + bool m_bAnimateDuringGameplayPause; // 0x8fc +private: + [[maybe_unused]] uint8_t __pad08fd[0x3]; // 0x8fd +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x900 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x900 // MNetworkEnable - GameTime_t m_flStartTime; // 0x908 + GameTime_t m_flStartTime; // 0x908 // MNetworkEnable - float m_flPreSimTime; // 0x90c + float m_flPreSimTime; // 0x90c // MNetworkEnable - Vector[4] m_vServerControlPoints; // 0x910 + Vector m_vServerControlPoints[4]; // 0x910 // MNetworkEnable - uint8[4] m_iServerControlPointAssignments; // 0x940 + uint8_t m_iServerControlPointAssignments[4]; // 0x940 // MNetworkEnable - CHandle< CBaseEntity >[64] m_hControlPointEnts; // 0x944 + CHandle< CBaseEntity > m_hControlPointEnts[64]; // 0x944 // MNetworkEnable - bool m_bNoSave; // 0xa44 + bool m_bNoSave; // 0xa44 // MNetworkEnable - bool m_bNoFreeze; // 0xa45 - bool m_bStartActive; // 0xa46 - CUtlSymbolLarge m_iszEffectName; // 0xa48 - CUtlSymbolLarge[64] m_iszControlPointNames; // 0xa50 - int32_t m_nDataCP; // 0xc50 - Vector m_vecDataCPValue; // 0xc54 - int32_t m_nTintCP; // 0xc60 - Color m_clrTint; // 0xc64 + bool m_bNoFreeze; // 0xa45 + bool m_bStartActive; // 0xa46 +private: + [[maybe_unused]] uint8_t __pad0a47[0x1]; // 0xa47 +public: + CUtlSymbolLarge m_iszEffectName; // 0xa48 + CUtlSymbolLarge m_iszControlPointNames[64]; // 0xa50 + int32_t m_nDataCP; // 0xc50 + Vector m_vecDataCPValue; // 0xc54 + int32_t m_nTintCP; // 0xc60 + Color m_clrTint; // 0xc64 }; // Alignment: 16 // Size: 0x580 -class CPathParticleRope : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPathParticleRope : public CBaseEntity +{ public: - bool m_bStartActive; // 0x4a0 - float m_flMaxSimulationTime; // 0x4a4 - CUtlSymbolLarge m_iszEffectName; // 0x4a8 - CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x4b0 + bool m_bStartActive; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + float m_flMaxSimulationTime; // 0x4a4 + CUtlSymbolLarge m_iszEffectName; // 0x4a8 + CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x4b0 // MNetworkEnable - float m_flParticleSpacing; // 0x4c8 + float m_flParticleSpacing; // 0x4c8 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - float m_flSlack; // 0x4cc + float m_flSlack; // 0x4cc // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - float m_flRadius; // 0x4d0 + float m_flRadius; // 0x4d0 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - Color m_ColorTint; // 0x4d4 + Color m_ColorTint; // 0x4d4 // MNetworkEnable // MNetworkChangeCallback "effectStateChanged" - int32_t m_nEffectState; // 0x4d8 + int32_t m_nEffectState; // 0x4d8 +private: + [[maybe_unused]] uint8_t __pad04dc[0x4]; // 0x4dc +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x4e0 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x4e0 // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x4e8 + CNetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x4e8 // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x500 + CNetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x500 // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x518 + CNetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x518 // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x530 + CNetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x530 // MNetworkEnable // MNetworkChangeCallback "pinStateChanged" - CNetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x548 + CNetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x548 // MNetworkEnable - CNetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x560 + CNetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x560 }; // Alignment: 0 // Size: 0x580 -class CPathParticleRopeAlias_path_particle_rope_clientside : public CPathParticleRope, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPathParticleRopeAlias_path_particle_rope_clientside : public CPathParticleRope +{ public: // no members available }; // Alignment: 1 // Size: 0x6f8 -class CFuncWall : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncWall : public CBaseModelEntity +{ public: - int32_t m_nState; // 0x6f0 + int32_t m_nState; // 0x6f0 }; // Alignment: 0 // Size: 0x6f8 -class CFuncWallToggle : public CFuncWall, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncWallToggle : public CFuncWall +{ public: // no members available }; // Alignment: 0 // Size: 0x6f0 -class CFuncVehicleClip : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncVehicleClip : public CBaseModelEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x6f0 -class CFuncIllusionary : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncIllusionary : public CBaseModelEntity +{ public: // no members available }; // Alignment: 1 // Size: 0x6f8 -class CFuncVPhysicsClip : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncVPhysicsClip : public CBaseModelEntity +{ public: - bool m_bDisabled; // 0x6f0 + bool m_bDisabled; // 0x6f0 }; // Alignment: 3 // Size: 0x708 -class CFuncInteractionLayerClip : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncInteractionLayerClip : public CBaseModelEntity +{ public: - bool m_bDisabled; // 0x6f0 - CUtlSymbolLarge m_iszInteractsAs; // 0x6f8 - CUtlSymbolLarge m_iszInteractsWith; // 0x700 + bool m_bDisabled; // 0x6f0 +private: + [[maybe_unused]] uint8_t __pad06f1[0x7]; // 0x6f1 +public: + CUtlSymbolLarge m_iszInteractsAs; // 0x6f8 + CUtlSymbolLarge m_iszInteractsWith; // 0x700 }; // Alignment: 0 // Size: 0x4a0 -class CPointClientCommand : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointClientCommand : public CPointEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x4a0 -class CPointServerCommand : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointServerCommand : public CPointEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x4a0 -class CPointBroadcastClientCommand : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointBroadcastClientCommand : public CPointEntity +{ public: // no members available }; // Alignment: 3 // Size: 0x518 -class CCommentaryAuto : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCommentaryAuto : public CBaseEntity +{ public: - CEntityIOOutput m_OnCommentaryNewGame; // 0x4a0 - CEntityIOOutput m_OnCommentaryMidGame; // 0x4c8 - CEntityIOOutput m_OnCommentaryMultiplayerSpawn; // 0x4f0 + CEntityIOOutput m_OnCommentaryNewGame; // 0x4a0 + CEntityIOOutput m_OnCommentaryMidGame; // 0x4c8 + CEntityIOOutput m_OnCommentaryMultiplayerSpawn; // 0x4f0 }; // Alignment: 9 // Size: 0x708 -class CDynamicLight : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDynamicLight : public CBaseModelEntity +{ public: - uint8_t m_ActualFlags; // 0x6f0 + uint8_t m_ActualFlags; // 0x6f0 // MNetworkEnable - uint8_t m_Flags; // 0x6f1 + uint8_t m_Flags; // 0x6f1 // MNetworkEnable - uint8_t m_LightStyle; // 0x6f2 - bool m_On; // 0x6f3 + uint8_t m_LightStyle; // 0x6f2 + bool m_On; // 0x6f3 // MNetworkEnable - float m_Radius; // 0x6f4 + float m_Radius; // 0x6f4 // MNetworkEnable - int32_t m_Exponent; // 0x6f8 + int32_t m_Exponent; // 0x6f8 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "360" - float m_InnerAngle; // 0x6fc + float m_InnerAngle; // 0x6fc // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "360" - float m_OuterAngle; // 0x700 + float m_OuterAngle; // 0x700 // MNetworkEnable - float m_SpotRadius; // 0x704 + float m_SpotRadius; // 0x704 }; // Alignment: 3 // Size: 0x700 -class CBubbling : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBubbling : public CBaseModelEntity +{ public: - int32_t m_density; // 0x6f0 - int32_t m_frequency; // 0x6f4 - int32_t m_state; // 0x6f8 + int32_t m_density; // 0x6f0 + int32_t m_frequency; // 0x6f4 + int32_t m_state; // 0x6f8 }; // Alignment: 2 // Size: 0x4b0 -class CEnvTracer : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvTracer : public CPointEntity +{ public: - Vector m_vecEnd; // 0x4a0 - float m_flDelay; // 0x4ac + Vector m_vecEnd; // 0x4a0 + float m_flDelay; // 0x4ac }; // Alignment: 5 // Size: 0x5d0 -class CTestEffect : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTestEffect : public CBaseEntity +{ public: - int32_t m_iLoop; // 0x4a0 - int32_t m_iBeam; // 0x4a4 - CBeam*[24] m_pBeam; // 0x4a8 - GameTime_t[24] m_flBeamTime; // 0x568 - GameTime_t m_flStartTime; // 0x5c8 + int32_t m_iLoop; // 0x4a0 + int32_t m_iBeam; // 0x4a4 + CBeam* m_pBeam[24]; // 0x4a8 + GameTime_t m_flBeamTime[24]; // 0x568 + GameTime_t m_flStartTime; // 0x5c8 }; // Alignment: 4 // Size: 0x4c0 -class CBlood : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBlood : public CPointEntity +{ public: - QAngle m_vecSprayAngles; // 0x4a0 - Vector m_vecSprayDir; // 0x4ac - float m_flAmount; // 0x4b8 - int32_t m_Color; // 0x4bc + QAngle m_vecSprayAngles; // 0x4a0 + Vector m_vecSprayDir; // 0x4ac + float m_flAmount; // 0x4b8 + int32_t m_Color; // 0x4bc }; // Alignment: 0 // Size: 0x4a0 -class CEnvFunnel : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvFunnel : public CBaseEntity +{ public: // no members available }; // Alignment: 2 // Size: 0x4a8 -class CEnvBeverage : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvBeverage : public CBaseEntity +{ public: - bool m_CanInDispenser; // 0x4a0 - int32_t m_nBeverageType; // 0x4a4 + bool m_CanInDispenser; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + int32_t m_nBeverageType; // 0x4a4 }; // Alignment: 0 // Size: 0x6f0 -class CPrecipitationBlocker : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPrecipitationBlocker : public CBaseModelEntity +{ public: // no members available }; // Alignment: 1 // Size: 0x6f8 -class CEnvWind : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvWind : public CBaseEntity +{ public: // MNetworkEnable - CEnvWindShared m_EnvWindShared; // 0x4a0 + CEnvWindShared m_EnvWindShared; // 0x4a0 }; // Alignment: 1 // Size: 0x4a8 -class CPhysicsWire : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysicsWire : public CBaseEntity +{ public: - int32_t m_nDensity; // 0x4a0 + int32_t m_nDensity; // 0x4a0 }; // Alignment: 2 // Size: 0x4b0 -class CEnvMuzzleFlash : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvMuzzleFlash : public CPointEntity +{ public: - float m_flScale; // 0x4a0 - CUtlSymbolLarge m_iszParentAttachment; // 0x4a8 + float m_flScale; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 +public: + CUtlSymbolLarge m_iszParentAttachment; // 0x4a8 }; // Alignment: 1 // Size: 0x4a8 -class CEnvSplash : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvSplash : public CPointEntity +{ public: - float m_flScale; // 0x4a0 + float m_flScale; // 0x4a0 }; // Alignment: 2 // Size: 0x4b0 -class CEnvViewPunch : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvViewPunch : public CPointEntity +{ public: - float m_flRadius; // 0x4a0 - QAngle m_angViewPunch; // 0x4a4 + float m_flRadius; // 0x4a0 + QAngle m_angViewPunch; // 0x4a4 }; // Alignment: 1 // Size: 0x4a8 -class CEnvEntityIgniter : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvEntityIgniter : public CBaseEntity +{ public: - float m_flLifetime; // 0x4a0 + float m_flLifetime; // 0x4a0 }; // Alignment: 1 // Size: 0x5488 -class CDebugHistory : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDebugHistory : public CBaseEntity +{ public: - int32_t m_nNpcEvents; // 0x1f44e0 + int32_t m_nNpcEvents; // 0x1f44e0 }; // Alignment: 12 // Size: 0x540 -class CEnvEntityMaker : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvEntityMaker : public CPointEntity +{ public: - Vector m_vecEntityMins; // 0x4a0 - Vector m_vecEntityMaxs; // 0x4ac - CHandle< CBaseEntity > m_hCurrentInstance; // 0x4b8 - CHandle< CBaseEntity > m_hCurrentBlocker; // 0x4bc - Vector m_vecBlockerOrigin; // 0x4c0 - QAngle m_angPostSpawnDirection; // 0x4cc - float m_flPostSpawnDirectionVariance; // 0x4d8 - float m_flPostSpawnSpeed; // 0x4dc - bool m_bPostSpawnUseAngles; // 0x4e0 - CUtlSymbolLarge m_iszTemplate; // 0x4e8 - CEntityIOOutput m_pOutputOnSpawned; // 0x4f0 - CEntityIOOutput m_pOutputOnFailedSpawn; // 0x518 + Vector m_vecEntityMins; // 0x4a0 + Vector m_vecEntityMaxs; // 0x4ac + CHandle< CBaseEntity > m_hCurrentInstance; // 0x4b8 + CHandle< CBaseEntity > m_hCurrentBlocker; // 0x4bc + Vector m_vecBlockerOrigin; // 0x4c0 + QAngle m_angPostSpawnDirection; // 0x4cc + float m_flPostSpawnDirectionVariance; // 0x4d8 + float m_flPostSpawnSpeed; // 0x4dc + bool m_bPostSpawnUseAngles; // 0x4e0 +private: + [[maybe_unused]] uint8_t __pad04e1[0x7]; // 0x4e1 +public: + CUtlSymbolLarge m_iszTemplate; // 0x4e8 + CEntityIOOutput m_pOutputOnSpawned; // 0x4f0 + CEntityIOOutput m_pOutputOnFailedSpawn; // 0x518 }; // Alignment: 0 // Size: 0x4a0 -class CInfoInstructorHintTarget : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoInstructorHintTarget : public CPointEntity +{ public: // no members available }; // Alignment: 24 // Size: 0x510 -class CEnvInstructorHint : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvInstructorHint : public CPointEntity +{ public: - CUtlSymbolLarge m_iszName; // 0x4a0 - CUtlSymbolLarge m_iszReplace_Key; // 0x4a8 - CUtlSymbolLarge m_iszHintTargetEntity; // 0x4b0 - int32_t m_iTimeout; // 0x4b8 - int32_t m_iDisplayLimit; // 0x4bc - CUtlSymbolLarge m_iszIcon_Onscreen; // 0x4c0 - CUtlSymbolLarge m_iszIcon_Offscreen; // 0x4c8 - CUtlSymbolLarge m_iszCaption; // 0x4d0 - CUtlSymbolLarge m_iszActivatorCaption; // 0x4d8 - Color m_Color; // 0x4e0 - float m_fIconOffset; // 0x4e4 - float m_fRange; // 0x4e8 - uint8_t m_iPulseOption; // 0x4ec - uint8_t m_iAlphaOption; // 0x4ed - uint8_t m_iShakeOption; // 0x4ee - bool m_bStatic; // 0x4ef - bool m_bNoOffscreen; // 0x4f0 - bool m_bForceCaption; // 0x4f1 - int32_t m_iInstanceType; // 0x4f4 - bool m_bSuppressRest; // 0x4f8 - CUtlSymbolLarge m_iszBinding; // 0x500 - bool m_bAllowNoDrawTarget; // 0x508 - bool m_bAutoStart; // 0x509 - bool m_bLocalPlayerOnly; // 0x50a + CUtlSymbolLarge m_iszName; // 0x4a0 + CUtlSymbolLarge m_iszReplace_Key; // 0x4a8 + CUtlSymbolLarge m_iszHintTargetEntity; // 0x4b0 + int32_t m_iTimeout; // 0x4b8 + int32_t m_iDisplayLimit; // 0x4bc + CUtlSymbolLarge m_iszIcon_Onscreen; // 0x4c0 + CUtlSymbolLarge m_iszIcon_Offscreen; // 0x4c8 + CUtlSymbolLarge m_iszCaption; // 0x4d0 + CUtlSymbolLarge m_iszActivatorCaption; // 0x4d8 + Color m_Color; // 0x4e0 + float m_fIconOffset; // 0x4e4 + float m_fRange; // 0x4e8 + uint8_t m_iPulseOption; // 0x4ec + uint8_t m_iAlphaOption; // 0x4ed + uint8_t m_iShakeOption; // 0x4ee + bool m_bStatic; // 0x4ef + bool m_bNoOffscreen; // 0x4f0 + bool m_bForceCaption; // 0x4f1 +private: + [[maybe_unused]] uint8_t __pad04f2[0x2]; // 0x4f2 +public: + int32_t m_iInstanceType; // 0x4f4 + bool m_bSuppressRest; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04f9[0x7]; // 0x4f9 +public: + CUtlSymbolLarge m_iszBinding; // 0x500 + bool m_bAllowNoDrawTarget; // 0x508 + bool m_bAutoStart; // 0x509 + bool m_bLocalPlayerOnly; // 0x50a }; // Alignment: 9 // Size: 0x4e0 -class CEnvInstructorVRHint : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvInstructorVRHint : public CPointEntity +{ public: - CUtlSymbolLarge m_iszName; // 0x4a0 - CUtlSymbolLarge m_iszHintTargetEntity; // 0x4a8 - int32_t m_iTimeout; // 0x4b0 - CUtlSymbolLarge m_iszCaption; // 0x4b8 - CUtlSymbolLarge m_iszStartSound; // 0x4c0 - int32_t m_iLayoutFileType; // 0x4c8 - CUtlSymbolLarge m_iszCustomLayoutFile; // 0x4d0 - int32_t m_iAttachType; // 0x4d8 - float m_flHeightOffset; // 0x4dc + CUtlSymbolLarge m_iszName; // 0x4a0 + CUtlSymbolLarge m_iszHintTargetEntity; // 0x4a8 + int32_t m_iTimeout; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 +public: + CUtlSymbolLarge m_iszCaption; // 0x4b8 + CUtlSymbolLarge m_iszStartSound; // 0x4c0 + int32_t m_iLayoutFileType; // 0x4c8 +private: + [[maybe_unused]] uint8_t __pad04cc[0x4]; // 0x4cc +public: + CUtlSymbolLarge m_iszCustomLayoutFile; // 0x4d0 + int32_t m_iAttachType; // 0x4d8 + float m_flHeightOffset; // 0x4dc }; // Alignment: 3 // Size: 0x4b8 -class CInstructorEventEntity : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInstructorEventEntity : public CPointEntity +{ public: - CUtlSymbolLarge m_iszName; // 0x4a0 - CUtlSymbolLarge m_iszHintTargetEntity; // 0x4a8 - CHandle< CBasePlayerPawn > m_hTargetPlayer; // 0x4b0 + CUtlSymbolLarge m_iszName; // 0x4a0 + CUtlSymbolLarge m_iszHintTargetEntity; // 0x4a8 + CHandle< CBasePlayerPawn > m_hTargetPlayer; // 0x4b0 }; // Alignment: 5 // Size: 0x528 -class CEnvScreenOverlay : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvScreenOverlay : public CPointEntity +{ public: // MNetworkEnable - CUtlSymbolLarge[10] m_iszOverlayNames; // 0x4a0 + CUtlSymbolLarge m_iszOverlayNames[10]; // 0x4a0 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-1" // MNetworkMaxValue "63" - float32[10] m_flOverlayTimes; // 0x4f0 + float m_flOverlayTimes[10]; // 0x4f0 // MNetworkEnable - GameTime_t m_flStartTime; // 0x518 + GameTime_t m_flStartTime; // 0x518 // MNetworkEnable - int32_t m_iDesiredOverlay; // 0x51c + int32_t m_iDesiredOverlay; // 0x51c // MNetworkEnable - bool m_bIsActive; // 0x520 + bool m_bIsActive; // 0x520 }; // Alignment: 2 // Size: 0x4a8 -class CEnvZoom : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvZoom : public CPointEntity +{ public: - float m_flSpeed; // 0x4a0 - int32_t m_nFOV; // 0x4a4 + float m_flSpeed; // 0x4a0 + int32_t m_nFOV; // 0x4a4 }; // Alignment: 4 // Size: 0x4d8 -class CEnvFade : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvFade : public CLogicalEntity +{ public: // MNetworkEnable - Color m_fadeColor; // 0x4a0 - float m_Duration; // 0x4a4 - float m_HoldDuration; // 0x4a8 - CEntityIOOutput m_OnBeginFade; // 0x4b0 + Color m_fadeColor; // 0x4a0 + float m_Duration; // 0x4a4 + float m_HoldDuration; // 0x4a8 +private: + [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac +public: + CEntityIOOutput m_OnBeginFade; // 0x4b0 }; // Alignment: 3 // Size: 0x4d0 -class CCredits : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCredits : public CPointEntity +{ public: - CEntityIOOutput m_OnCreditsDone; // 0x4a0 - bool m_bRolledOutroCredits; // 0x4c8 - float m_flLogoLength; // 0x4cc + CEntityIOOutput m_OnCreditsDone; // 0x4a0 + bool m_bRolledOutroCredits; // 0x4c8 +private: + [[maybe_unused]] uint8_t __pad04c9[0x3]; // 0x4c9 +public: + float m_flLogoLength; // 0x4cc }; // Alignment: 10 // Size: 0x4f0 -class CEnvShake : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvShake : public CPointEntity +{ public: - CUtlSymbolLarge m_limitToEntity; // 0x4a0 - float m_Amplitude; // 0x4a8 - float m_Frequency; // 0x4ac - float m_Duration; // 0x4b0 - float m_Radius; // 0x4b4 - GameTime_t m_stopTime; // 0x4b8 - GameTime_t m_nextShake; // 0x4bc - float m_currentAmp; // 0x4c0 - Vector m_maxForce; // 0x4c4 - CPhysicsShake m_shakeCallback; // 0x4d8 + CUtlSymbolLarge m_limitToEntity; // 0x4a0 + float m_Amplitude; // 0x4a8 + float m_Frequency; // 0x4ac + float m_Duration; // 0x4b0 + float m_Radius; // 0x4b4 + GameTime_t m_stopTime; // 0x4b8 + GameTime_t m_nextShake; // 0x4bc + float m_currentAmp; // 0x4c0 + Vector m_maxForce; // 0x4c4 +private: + [[maybe_unused]] uint8_t __pad04d0[0x8]; // 0x4d0 +public: + CPhysicsShake m_shakeCallback; // 0x4d8 }; // Alignment: 4 // Size: 0x4b0 -class CEnvTilt : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvTilt : public CPointEntity +{ public: - float m_Duration; // 0x4a0 - float m_Radius; // 0x4a4 - float m_TiltTime; // 0x4a8 - GameTime_t m_stopTime; // 0x4ac + float m_Duration; // 0x4a0 + float m_Radius; // 0x4a4 + float m_TiltTime; // 0x4a8 + GameTime_t m_stopTime; // 0x4ac }; // Alignment: 5 // Size: 0x4d8 -class CEnvSpark : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvSpark : public CPointEntity +{ public: - float m_flDelay; // 0x4a0 - int32_t m_nMagnitude; // 0x4a4 - int32_t m_nTrailLength; // 0x4a8 - int32_t m_nType; // 0x4ac - CEntityIOOutput m_OnSpark; // 0x4b0 + float m_flDelay; // 0x4a0 + int32_t m_nMagnitude; // 0x4a4 + int32_t m_nTrailLength; // 0x4a8 + int32_t m_nType; // 0x4ac + CEntityIOOutput m_OnSpark; // 0x4b0 }; // Alignment: 0 // Size: 0x6f0 -class CShower : public CModelPointEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CShower : public CModelPointEntity +{ public: // no members available }; // Alignment: 15 // Size: 0x748 -class CEnvExplosion : public CModelPointEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvExplosion : public CModelPointEntity +{ public: - int32_t m_iMagnitude; // 0x6f0 - float m_flPlayerDamage; // 0x6f4 - int32_t m_iRadiusOverride; // 0x6f8 - float m_flInnerRadius; // 0x6fc - int32_t m_spriteScale; // 0x700 - float m_flDamageForce; // 0x704 - CHandle< CBaseEntity > m_hInflictor; // 0x708 - int32_t m_iCustomDamageType; // 0x70c - CUtlSymbolLarge m_iszExplosionType; // 0x718 - CUtlSymbolLarge m_iszCustomEffectName; // 0x720 - CUtlSymbolLarge m_iszCustomSoundName; // 0x728 - Class_T m_iClassIgnore; // 0x730 - Class_T m_iClassIgnore2; // 0x734 - CUtlSymbolLarge m_iszEntityIgnoreName; // 0x738 - CHandle< CBaseEntity > m_hEntityIgnore; // 0x740 + int32_t m_iMagnitude; // 0x6f0 + float m_flPlayerDamage; // 0x6f4 + int32_t m_iRadiusOverride; // 0x6f8 + float m_flInnerRadius; // 0x6fc + int32_t m_spriteScale; // 0x700 + float m_flDamageForce; // 0x704 + CHandle< CBaseEntity > m_hInflictor; // 0x708 + int32_t m_iCustomDamageType; // 0x70c +private: + [[maybe_unused]] uint8_t __pad0710[0x8]; // 0x710 +public: + CUtlSymbolLarge m_iszExplosionType; // 0x718 + CUtlSymbolLarge m_iszCustomEffectName; // 0x720 + CUtlSymbolLarge m_iszCustomSoundName; // 0x728 + Class_T m_iClassIgnore; // 0x730 + Class_T m_iClassIgnore2; // 0x734 + CUtlSymbolLarge m_iszEntityIgnoreName; // 0x738 + CHandle< CBaseEntity > m_hEntityIgnore; // 0x740 }; // Alignment: 1 // Size: 0x500 -class CFilterName : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFilterName : public CBaseFilter +{ public: - CUtlSymbolLarge m_iFilterName; // 0x4f8 + CUtlSymbolLarge m_iFilterName; // 0x4f8 }; // Alignment: 1 // Size: 0x500 -class CFilterModel : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFilterModel : public CBaseFilter +{ public: - CUtlSymbolLarge m_iFilterModel; // 0x4f8 + CUtlSymbolLarge m_iFilterModel; // 0x4f8 }; // Alignment: 1 // Size: 0x500 -class CFilterContext : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFilterContext : public CBaseFilter +{ public: - CUtlSymbolLarge m_iFilterContext; // 0x4f8 + CUtlSymbolLarge m_iFilterContext; // 0x4f8 }; // Alignment: 1 // Size: 0x500 -class FilterTeam : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class FilterTeam : public CBaseFilter +{ public: - int32_t m_iFilterTeam; // 0x4f8 + int32_t m_iFilterTeam; // 0x4f8 }; // Alignment: 1 // Size: 0x500 -class CFilterMassGreater : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFilterMassGreater : public CBaseFilter +{ public: - float m_fFilterMass; // 0x4f8 + float m_fFilterMass; // 0x4f8 }; // Alignment: 1 // Size: 0x500 -class FilterDamageType : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class FilterDamageType : public CBaseFilter +{ public: - int32_t m_iDamageType; // 0x4f8 + int32_t m_iDamageType; // 0x4f8 }; // Alignment: 3 // Size: 0x508 -class FilterHealth : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class FilterHealth : public CBaseFilter +{ public: - bool m_bAdrenalineActive; // 0x4f8 - int32_t m_iHealthMin; // 0x4fc - int32_t m_iHealthMax; // 0x500 + bool m_bAdrenalineActive; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 +public: + int32_t m_iHealthMin; // 0x4fc + int32_t m_iHealthMax; // 0x500 }; // Alignment: 5 // Size: 0x518 -class CFilterEnemy : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFilterEnemy : public CBaseFilter +{ public: - CUtlSymbolLarge m_iszEnemyName; // 0x4f8 - float m_flRadius; // 0x500 - float m_flOuterRadius; // 0x504 - int32_t m_nMaxSquadmatesPerEnemy; // 0x508 - CUtlSymbolLarge m_iszPlayerName; // 0x510 + CUtlSymbolLarge m_iszEnemyName; // 0x4f8 + float m_flRadius; // 0x500 + float m_flOuterRadius; // 0x504 + int32_t m_nMaxSquadmatesPerEnemy; // 0x508 +private: + [[maybe_unused]] uint8_t __pad050c[0x4]; // 0x50c +public: + CUtlSymbolLarge m_iszPlayerName; // 0x510 }; // Alignment: 1 // Size: 0x500 -class CFilterAttributeInt : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFilterAttributeInt : public CBaseFilter +{ public: - CUtlStringToken m_sAttributeName; // 0x4f8 + CUtlStringToken m_sAttributeName; // 0x4f8 }; // Alignment: 19 // Size: 0x780 -class CFire : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFire : public CBaseModelEntity +{ public: - CHandle< CBaseFire > m_hEffect; // 0x6f0 - CHandle< CBaseEntity > m_hOwner; // 0x6f4 - int32_t m_nFireType; // 0x6f8 - float m_flFuel; // 0x6fc - GameTime_t m_flDamageTime; // 0x700 - GameTime_t m_lastDamage; // 0x704 - float m_flFireSize; // 0x708 - GameTime_t m_flLastNavUpdateTime; // 0x70c - float m_flHeatLevel; // 0x710 - float m_flHeatAbsorb; // 0x714 - float m_flDamageScale; // 0x718 - float m_flMaxHeat; // 0x71c - float m_flLastHeatLevel; // 0x720 - float m_flAttackTime; // 0x724 - bool m_bEnabled; // 0x728 - bool m_bStartDisabled; // 0x729 - bool m_bDidActivate; // 0x72a - CEntityIOOutput m_OnIgnited; // 0x730 - CEntityIOOutput m_OnExtinguished; // 0x758 + CHandle< CBaseFire > m_hEffect; // 0x6f0 + CHandle< CBaseEntity > m_hOwner; // 0x6f4 + int32_t m_nFireType; // 0x6f8 + float m_flFuel; // 0x6fc + GameTime_t m_flDamageTime; // 0x700 + GameTime_t m_lastDamage; // 0x704 + float m_flFireSize; // 0x708 + GameTime_t m_flLastNavUpdateTime; // 0x70c + float m_flHeatLevel; // 0x710 + float m_flHeatAbsorb; // 0x714 + float m_flDamageScale; // 0x718 + float m_flMaxHeat; // 0x71c + float m_flLastHeatLevel; // 0x720 + float m_flAttackTime; // 0x724 + bool m_bEnabled; // 0x728 + bool m_bStartDisabled; // 0x729 + bool m_bDidActivate; // 0x72a +private: + [[maybe_unused]] uint8_t __pad072b[0x5]; // 0x72b +public: + CEntityIOOutput m_OnIgnited; // 0x730 + CEntityIOOutput m_OnExtinguished; // 0x758 }; // Alignment: 3 // Size: 0x4b0 -class CEnvFireSource : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvFireSource : public CBaseEntity +{ public: - bool m_bEnabled; // 0x4a0 - float m_radius; // 0x4a4 - float m_damage; // 0x4a8 + bool m_bEnabled; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + float m_radius; // 0x4a4 + float m_damage; // 0x4a8 }; // Alignment: 8 // Size: 0x508 -class CEnvFireSensor : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvFireSensor : public CBaseEntity +{ public: - bool m_bEnabled; // 0x4a0 - bool m_bHeatAtLevel; // 0x4a1 - float m_radius; // 0x4a4 - float m_targetLevel; // 0x4a8 - float m_targetTime; // 0x4ac - float m_levelTime; // 0x4b0 - CEntityIOOutput m_OnHeatLevelStart; // 0x4b8 - CEntityIOOutput m_OnHeatLevelEnd; // 0x4e0 + bool m_bEnabled; // 0x4a0 + bool m_bHeatAtLevel; // 0x4a1 +private: + [[maybe_unused]] uint8_t __pad04a2[0x2]; // 0x4a2 +public: + float m_radius; // 0x4a4 + float m_targetLevel; // 0x4a8 + float m_targetTime; // 0x4ac + float m_levelTime; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 +public: + CEntityIOOutput m_OnHeatLevelStart; // 0x4b8 + CEntityIOOutput m_OnHeatLevelEnd; // 0x4e0 }; // Alignment: 5 // Size: 0x4b8 -class CFuncTimescale : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncTimescale : public CBaseEntity +{ public: - float m_flDesiredTimescale; // 0x4a0 - float m_flAcceleration; // 0x4a4 - float m_flMinBlendRate; // 0x4a8 - float m_flBlendDeltaMultiplier; // 0x4ac - bool m_isStarted; // 0x4b0 + float m_flDesiredTimescale; // 0x4a0 + float m_flAcceleration; // 0x4a4 + float m_flMinBlendRate; // 0x4a8 + float m_flBlendDeltaMultiplier; // 0x4ac + bool m_isStarted; // 0x4b0 }; // Alignment: 5 // Size: 0x4d8 -class CGameWeaponManager : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CGameWeaponManager : public CBaseEntity +{ public: - CUtlSymbolLarge m_iszWeaponName; // 0x4a0 - int32_t m_iMaxPieces; // 0x4b0 - float m_flAmmoMod; // 0x4b4 - bool m_bExpectingWeapon; // 0x4b8 - CUtlVector< CHandle< CBaseEntity > > m_ManagedNonWeapons; // 0x4c0 + CUtlSymbolLarge m_iszWeaponName; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a8[0x8]; // 0x4a8 +public: + int32_t m_iMaxPieces; // 0x4b0 + float m_flAmmoMod; // 0x4b4 + bool m_bExpectingWeapon; // 0x4b8 +private: + [[maybe_unused]] uint8_t __pad04b9[0x7]; // 0x4b9 +public: + CUtlVector< CHandle< CBaseEntity > > m_ManagedNonWeapons; // 0x4c0 }; // Alignment: 7 // Size: 0x710 -class CLightGlow : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLightGlow : public CBaseModelEntity +{ public: // MNetworkEnable - uint32_t m_nHorizontalSize; // 0x6f0 + uint32_t m_nHorizontalSize; // 0x6f0 // MNetworkEnable - uint32_t m_nVerticalSize; // 0x6f4 + uint32_t m_nVerticalSize; // 0x6f4 // MNetworkEnable - uint32_t m_nMinDist; // 0x6f8 + uint32_t m_nMinDist; // 0x6f8 // MNetworkEnable - uint32_t m_nMaxDist; // 0x6fc + uint32_t m_nMaxDist; // 0x6fc // MNetworkEnable - uint32_t m_nOuterMaxDist; // 0x700 + uint32_t m_nOuterMaxDist; // 0x700 // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags - float m_flGlowProxySize; // 0x704 + float m_flGlowProxySize; // 0x704 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" - float m_flHDRColorScale; // 0x708 + float m_flHDRColorScale; // 0x708 }; // Alignment: 3 // Size: 0x4d8 -class CLogicAchievement : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicAchievement : public CLogicalEntity +{ public: - bool m_bDisabled; // 0x4a0 - CUtlSymbolLarge m_iszAchievementEventID; // 0x4a8 - CEntityIOOutput m_OnFired; // 0x4b0 + bool m_bDisabled; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x7]; // 0x4a1 +public: + CUtlSymbolLarge m_iszAchievementEventID; // 0x4a8 + CEntityIOOutput m_OnFired; // 0x4b0 }; // Alignment: 5 // Size: 0x4f0 -class CLogicGameEventListener : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicGameEventListener : public CLogicalEntity +{ public: - CEntityIOOutput m_OnEventFired; // 0x4b0 - CUtlSymbolLarge m_iszGameEventName; // 0x4d8 - CUtlSymbolLarge m_iszGameEventItem; // 0x4e0 + CEntityIOOutput m_OnEventFired; // 0x4b0 + CUtlSymbolLarge m_iszGameEventName; // 0x4d8 + CUtlSymbolLarge m_iszGameEventItem; // 0x4e0 // MNetworkEnable - bool m_bEnabled; // 0x4e8 - bool m_bStartDisabled; // 0x4e9 + bool m_bEnabled; // 0x4e8 + bool m_bStartDisabled; // 0x4e9 }; // Alignment: 9 // Size: 0x4d0 -class CLogicMeasureMovement : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicMeasureMovement : public CLogicalEntity +{ public: - CUtlSymbolLarge m_strMeasureTarget; // 0x4a0 - CUtlSymbolLarge m_strMeasureReference; // 0x4a8 - CUtlSymbolLarge m_strTargetReference; // 0x4b0 - CHandle< CBaseEntity > m_hMeasureTarget; // 0x4b8 - CHandle< CBaseEntity > m_hMeasureReference; // 0x4bc - CHandle< CBaseEntity > m_hTarget; // 0x4c0 - CHandle< CBaseEntity > m_hTargetReference; // 0x4c4 - float m_flScale; // 0x4c8 - int32_t m_nMeasureType; // 0x4cc + CUtlSymbolLarge m_strMeasureTarget; // 0x4a0 + CUtlSymbolLarge m_strMeasureReference; // 0x4a8 + CUtlSymbolLarge m_strTargetReference; // 0x4b0 + CHandle< CBaseEntity > m_hMeasureTarget; // 0x4b8 + CHandle< CBaseEntity > m_hMeasureReference; // 0x4bc + CHandle< CBaseEntity > m_hTarget; // 0x4c0 + CHandle< CBaseEntity > m_hTargetReference; // 0x4c4 + float m_flScale; // 0x4c8 + int32_t m_nMeasureType; // 0x4cc }; // Alignment: 2 // Size: 0x4b0 -class CLogicNavigation : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicNavigation : public CLogicalEntity +{ public: - bool m_isOn; // 0x4a8 - navproperties_t m_navProperty; // 0x4ac + bool m_isOn; // 0x4a8 +private: + [[maybe_unused]] uint8_t __pad04a9[0x3]; // 0x4a9 +public: + navproperties_t m_navProperty; // 0x4ac }; // Alignment: 48 // Size: 0x7e0 -class CLogicNPCCounter : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicNPCCounter : public CBaseEntity +{ public: - CEntityIOOutput m_OnMinCountAll; // 0x4a0 - CEntityIOOutput m_OnMaxCountAll; // 0x4c8 - CEntityOutputTemplate< float32 > m_OnFactorAll; // 0x4f0 - CEntityOutputTemplate< float32 > m_OnMinPlayerDistAll; // 0x518 - CEntityIOOutput m_OnMinCount_1; // 0x540 - CEntityIOOutput m_OnMaxCount_1; // 0x568 - CEntityOutputTemplate< float32 > m_OnFactor_1; // 0x590 - CEntityOutputTemplate< float32 > m_OnMinPlayerDist_1; // 0x5b8 - CEntityIOOutput m_OnMinCount_2; // 0x5e0 - CEntityIOOutput m_OnMaxCount_2; // 0x608 - CEntityOutputTemplate< float32 > m_OnFactor_2; // 0x630 - CEntityOutputTemplate< float32 > m_OnMinPlayerDist_2; // 0x658 - CEntityIOOutput m_OnMinCount_3; // 0x680 - CEntityIOOutput m_OnMaxCount_3; // 0x6a8 - CEntityOutputTemplate< float32 > m_OnFactor_3; // 0x6d0 - CEntityOutputTemplate< float32 > m_OnMinPlayerDist_3; // 0x6f8 - CEntityHandle m_hSource; // 0x720 - CUtlSymbolLarge m_iszSourceEntityName; // 0x728 - float m_flDistanceMax; // 0x730 - bool m_bDisabled; // 0x734 - int32_t m_nMinCountAll; // 0x738 - int32_t m_nMaxCountAll; // 0x73c - int32_t m_nMinFactorAll; // 0x740 - int32_t m_nMaxFactorAll; // 0x744 - CUtlSymbolLarge m_iszNPCClassname_1; // 0x750 - int32_t m_nNPCState_1; // 0x758 - bool m_bInvertState_1; // 0x75c - int32_t m_nMinCount_1; // 0x760 - int32_t m_nMaxCount_1; // 0x764 - int32_t m_nMinFactor_1; // 0x768 - int32_t m_nMaxFactor_1; // 0x76c - float m_flDefaultDist_1; // 0x774 - CUtlSymbolLarge m_iszNPCClassname_2; // 0x778 - int32_t m_nNPCState_2; // 0x780 - bool m_bInvertState_2; // 0x784 - int32_t m_nMinCount_2; // 0x788 - int32_t m_nMaxCount_2; // 0x78c - int32_t m_nMinFactor_2; // 0x790 - int32_t m_nMaxFactor_2; // 0x794 - float m_flDefaultDist_2; // 0x79c - CUtlSymbolLarge m_iszNPCClassname_3; // 0x7a0 - int32_t m_nNPCState_3; // 0x7a8 - bool m_bInvertState_3; // 0x7ac - int32_t m_nMinCount_3; // 0x7b0 - int32_t m_nMaxCount_3; // 0x7b4 - int32_t m_nMinFactor_3; // 0x7b8 - int32_t m_nMaxFactor_3; // 0x7bc - float m_flDefaultDist_3; // 0x7c4 + CEntityIOOutput m_OnMinCountAll; // 0x4a0 + CEntityIOOutput m_OnMaxCountAll; // 0x4c8 + CEntityOutputTemplate< float32 > m_OnFactorAll; // 0x4f0 + CEntityOutputTemplate< float32 > m_OnMinPlayerDistAll; // 0x518 + CEntityIOOutput m_OnMinCount_1; // 0x540 + CEntityIOOutput m_OnMaxCount_1; // 0x568 + CEntityOutputTemplate< float32 > m_OnFactor_1; // 0x590 + CEntityOutputTemplate< float32 > m_OnMinPlayerDist_1; // 0x5b8 + CEntityIOOutput m_OnMinCount_2; // 0x5e0 + CEntityIOOutput m_OnMaxCount_2; // 0x608 + CEntityOutputTemplate< float32 > m_OnFactor_2; // 0x630 + CEntityOutputTemplate< float32 > m_OnMinPlayerDist_2; // 0x658 + CEntityIOOutput m_OnMinCount_3; // 0x680 + CEntityIOOutput m_OnMaxCount_3; // 0x6a8 + CEntityOutputTemplate< float32 > m_OnFactor_3; // 0x6d0 + CEntityOutputTemplate< float32 > m_OnMinPlayerDist_3; // 0x6f8 + CEntityHandle m_hSource; // 0x720 +private: + [[maybe_unused]] uint8_t __pad0724[0x4]; // 0x724 +public: + CUtlSymbolLarge m_iszSourceEntityName; // 0x728 + float m_flDistanceMax; // 0x730 + bool m_bDisabled; // 0x734 +private: + [[maybe_unused]] uint8_t __pad0735[0x3]; // 0x735 +public: + int32_t m_nMinCountAll; // 0x738 + int32_t m_nMaxCountAll; // 0x73c + int32_t m_nMinFactorAll; // 0x740 + int32_t m_nMaxFactorAll; // 0x744 +private: + [[maybe_unused]] uint8_t __pad0748[0x8]; // 0x748 +public: + CUtlSymbolLarge m_iszNPCClassname_1; // 0x750 + int32_t m_nNPCState_1; // 0x758 + bool m_bInvertState_1; // 0x75c +private: + [[maybe_unused]] uint8_t __pad075d[0x3]; // 0x75d +public: + int32_t m_nMinCount_1; // 0x760 + int32_t m_nMaxCount_1; // 0x764 + int32_t m_nMinFactor_1; // 0x768 + int32_t m_nMaxFactor_1; // 0x76c +private: + [[maybe_unused]] uint8_t __pad0770[0x4]; // 0x770 +public: + float m_flDefaultDist_1; // 0x774 + CUtlSymbolLarge m_iszNPCClassname_2; // 0x778 + int32_t m_nNPCState_2; // 0x780 + bool m_bInvertState_2; // 0x784 +private: + [[maybe_unused]] uint8_t __pad0785[0x3]; // 0x785 +public: + int32_t m_nMinCount_2; // 0x788 + int32_t m_nMaxCount_2; // 0x78c + int32_t m_nMinFactor_2; // 0x790 + int32_t m_nMaxFactor_2; // 0x794 +private: + [[maybe_unused]] uint8_t __pad0798[0x4]; // 0x798 +public: + float m_flDefaultDist_2; // 0x79c + CUtlSymbolLarge m_iszNPCClassname_3; // 0x7a0 + int32_t m_nNPCState_3; // 0x7a8 + bool m_bInvertState_3; // 0x7ac +private: + [[maybe_unused]] uint8_t __pad07ad[0x3]; // 0x7ad +public: + int32_t m_nMinCount_3; // 0x7b0 + int32_t m_nMaxCount_3; // 0x7b4 + int32_t m_nMinFactor_3; // 0x7b8 + int32_t m_nMaxFactor_3; // 0x7bc +private: + [[maybe_unused]] uint8_t __pad07c0[0x4]; // 0x7c0 +public: + float m_flDefaultDist_3; // 0x7c4 }; // Alignment: 4 // Size: 0x810 -class CLogicNPCCounterAABB : public CLogicNPCCounter, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicNPCCounterAABB : public CLogicNPCCounter +{ public: - Vector m_vDistanceOuterMins; // 0x7e0 - Vector m_vDistanceOuterMaxs; // 0x7ec - Vector m_vOuterMins; // 0x7f8 - Vector m_vOuterMaxs; // 0x804 + Vector m_vDistanceOuterMins; // 0x7e0 + Vector m_vDistanceOuterMaxs; // 0x7ec + Vector m_vOuterMins; // 0x7f8 + Vector m_vOuterMaxs; // 0x804 }; // Alignment: 0 // Size: 0x810 -class CLogicNPCCounterOBB : public CLogicNPCCounterAABB, CLogicNPCCounter, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicNPCCounterOBB : public CLogicNPCCounterAABB +{ public: // no members available }; // Alignment: 5 // Size: 0x548 -class CLogicPlayerProxy : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicPlayerProxy : public CLogicalEntity +{ public: - CHandle< CBaseEntity > m_hPlayer; // 0x4a0 - CEntityIOOutput m_PlayerHasAmmo; // 0x4a8 - CEntityIOOutput m_PlayerHasNoAmmo; // 0x4d0 - CEntityIOOutput m_PlayerDied; // 0x4f8 - CEntityOutputTemplate< int32 > m_RequestedPlayerHealth; // 0x520 + CHandle< CBaseEntity > m_hPlayer; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 +public: + CEntityIOOutput m_PlayerHasAmmo; // 0x4a8 + CEntityIOOutput m_PlayerHasNoAmmo; // 0x4d0 + CEntityIOOutput m_PlayerDied; // 0x4f8 + CEntityOutputTemplate< int32 > m_RequestedPlayerHealth; // 0x520 }; // Alignment: 11 // Size: 0x638 -class CLogicAuto : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicAuto : public CBaseEntity +{ public: - CEntityIOOutput m_OnMapSpawn; // 0x4a0 - CEntityIOOutput m_OnDemoMapSpawn; // 0x4c8 - CEntityIOOutput m_OnNewGame; // 0x4f0 - CEntityIOOutput m_OnLoadGame; // 0x518 - CEntityIOOutput m_OnMapTransition; // 0x540 - CEntityIOOutput m_OnBackgroundMap; // 0x568 - CEntityIOOutput m_OnMultiNewMap; // 0x590 - CEntityIOOutput m_OnMultiNewRound; // 0x5b8 - CEntityIOOutput m_OnVREnabled; // 0x5e0 - CEntityIOOutput m_OnVRNotEnabled; // 0x608 - CUtlSymbolLarge m_globalstate; // 0x630 + CEntityIOOutput m_OnMapSpawn; // 0x4a0 + CEntityIOOutput m_OnDemoMapSpawn; // 0x4c8 + CEntityIOOutput m_OnNewGame; // 0x4f0 + CEntityIOOutput m_OnLoadGame; // 0x518 + CEntityIOOutput m_OnMapTransition; // 0x540 + CEntityIOOutput m_OnBackgroundMap; // 0x568 + CEntityIOOutput m_OnMultiNewMap; // 0x590 + CEntityIOOutput m_OnMultiNewRound; // 0x5b8 + CEntityIOOutput m_OnVREnabled; // 0x5e0 + CEntityIOOutput m_OnVRNotEnabled; // 0x608 + CUtlSymbolLarge m_globalstate; // 0x630 }; // Alignment: 0 // Size: 0x4a0 -class CLogicScript : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicScript : public CPointEntity +{ public: // no members available }; // Alignment: 13 // Size: 0x540 -class CTimerEntity : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTimerEntity : public CLogicalEntity +{ public: - CEntityIOOutput m_OnTimer; // 0x4a0 - CEntityIOOutput m_OnTimerHigh; // 0x4c8 - CEntityIOOutput m_OnTimerLow; // 0x4f0 - int32_t m_iDisabled; // 0x518 - float m_flInitialDelay; // 0x51c - float m_flRefireTime; // 0x520 - bool m_bUpDownState; // 0x524 - int32_t m_iUseRandomTime; // 0x528 - bool m_bPauseAfterFiring; // 0x52c - float m_flLowerRandomBound; // 0x530 - float m_flUpperRandomBound; // 0x534 - float m_flRemainingTime; // 0x538 - bool m_bPaused; // 0x53c + CEntityIOOutput m_OnTimer; // 0x4a0 + CEntityIOOutput m_OnTimerHigh; // 0x4c8 + CEntityIOOutput m_OnTimerLow; // 0x4f0 + int32_t m_iDisabled; // 0x518 + float m_flInitialDelay; // 0x51c + float m_flRefireTime; // 0x520 + bool m_bUpDownState; // 0x524 +private: + [[maybe_unused]] uint8_t __pad0525[0x3]; // 0x525 +public: + int32_t m_iUseRandomTime; // 0x528 + bool m_bPauseAfterFiring; // 0x52c +private: + [[maybe_unused]] uint8_t __pad052d[0x3]; // 0x52d +public: + float m_flLowerRandomBound; // 0x530 + float m_flUpperRandomBound; // 0x534 + float m_flRemainingTime; // 0x538 + bool m_bPaused; // 0x53c }; // Alignment: 4 // Size: 0x4d8 -class CLogicLineToEntity : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicLineToEntity : public CLogicalEntity +{ public: - CEntityOutputTemplate< Vector > m_Line; // 0x4a0 - CUtlSymbolLarge m_SourceName; // 0x4c8 - CHandle< CBaseEntity > m_StartEntity; // 0x4d0 - CHandle< CBaseEntity > m_EndEntity; // 0x4d4 + CEntityOutputTemplate< Vector > m_Line; // 0x4a0 + CUtlSymbolLarge m_SourceName; // 0x4c8 + CHandle< CBaseEntity > m_StartEntity; // 0x4d0 + CHandle< CBaseEntity > m_EndEntity; // 0x4d4 }; // Alignment: 11 // Size: 0x580 -class CMathRemap : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMathRemap : public CLogicalEntity +{ public: - float m_flInMin; // 0x4a0 - float m_flInMax; // 0x4a4 - float m_flOut1; // 0x4a8 - float m_flOut2; // 0x4ac - float m_flOldInValue; // 0x4b0 - bool m_bEnabled; // 0x4b4 - CEntityOutputTemplate< float32 > m_OutValue; // 0x4b8 - CEntityIOOutput m_OnRoseAboveMin; // 0x4e0 - CEntityIOOutput m_OnRoseAboveMax; // 0x508 - CEntityIOOutput m_OnFellBelowMin; // 0x530 - CEntityIOOutput m_OnFellBelowMax; // 0x558 + float m_flInMin; // 0x4a0 + float m_flInMax; // 0x4a4 + float m_flOut1; // 0x4a8 + float m_flOut2; // 0x4ac + float m_flOldInValue; // 0x4b0 + bool m_bEnabled; // 0x4b4 +private: + [[maybe_unused]] uint8_t __pad04b5[0x3]; // 0x4b5 +public: + CEntityOutputTemplate< float32 > m_OutValue; // 0x4b8 + CEntityIOOutput m_OnRoseAboveMin; // 0x4e0 + CEntityIOOutput m_OnRoseAboveMax; // 0x508 + CEntityIOOutput m_OnFellBelowMin; // 0x530 + CEntityIOOutput m_OnFellBelowMax; // 0x558 }; // Alignment: 5 // Size: 0x4d8 -class CMathColorBlend : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMathColorBlend : public CLogicalEntity +{ public: - float m_flInMin; // 0x4a0 - float m_flInMax; // 0x4a4 - Color m_OutColor1; // 0x4a8 - Color m_OutColor2; // 0x4ac - CEntityOutputTemplate< Color > m_OutValue; // 0x4b0 + float m_flInMin; // 0x4a0 + float m_flInMax; // 0x4a4 + Color m_OutColor1; // 0x4a8 + Color m_OutColor2; // 0x4ac + CEntityOutputTemplate< Color > m_OutValue; // 0x4b0 }; // Alignment: 5 // Size: 0x4e0 -class CEnvGlobal : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvGlobal : public CLogicalEntity +{ public: - CEntityOutputTemplate< int32 > m_outCounter; // 0x4a0 - CUtlSymbolLarge m_globalstate; // 0x4c8 - int32_t m_triggermode; // 0x4d0 - int32_t m_initialstate; // 0x4d4 - int32_t m_counter; // 0x4d8 + CEntityOutputTemplate< int32 > m_outCounter; // 0x4a0 + CUtlSymbolLarge m_globalstate; // 0x4c8 + int32_t m_triggermode; // 0x4d0 + int32_t m_initialstate; // 0x4d4 + int32_t m_counter; // 0x4d8 }; // Alignment: 5 // Size: 0x5d8 -class CMultiSource : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMultiSource : public CLogicalEntity +{ public: - CHandle< CBaseEntity >[32] m_rgEntities; // 0x4a0 - int32[32] m_rgTriggered; // 0x520 - CEntityIOOutput m_OnTrigger; // 0x5a0 - int32_t m_iTotal; // 0x5c8 - CUtlSymbolLarge m_globalstate; // 0x5d0 + CHandle< CBaseEntity > m_rgEntities[32]; // 0x4a0 + int32_t m_rgTriggered[32]; // 0x520 + CEntityIOOutput m_OnTrigger; // 0x5a0 + int32_t m_iTotal; // 0x5c8 +private: + [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc +public: + CUtlSymbolLarge m_globalstate; // 0x5d0 }; // Alignment: 11 // Size: 0x5a0 -class CMathCounter : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMathCounter : public CLogicalEntity +{ public: - float m_flMin; // 0x4a0 - float m_flMax; // 0x4a4 - bool m_bHitMin; // 0x4a8 - bool m_bHitMax; // 0x4a9 - bool m_bDisabled; // 0x4aa - CEntityOutputTemplate< float32 > m_OutValue; // 0x4b0 - CEntityOutputTemplate< float32 > m_OnGetValue; // 0x4d8 - CEntityIOOutput m_OnHitMin; // 0x500 - CEntityIOOutput m_OnHitMax; // 0x528 - CEntityIOOutput m_OnChangedFromMin; // 0x550 - CEntityIOOutput m_OnChangedFromMax; // 0x578 + float m_flMin; // 0x4a0 + float m_flMax; // 0x4a4 + bool m_bHitMin; // 0x4a8 + bool m_bHitMax; // 0x4a9 + bool m_bDisabled; // 0x4aa +private: + [[maybe_unused]] uint8_t __pad04ab[0x5]; // 0x4ab +public: + CEntityOutputTemplate< float32 > m_OutValue; // 0x4b0 + CEntityOutputTemplate< float32 > m_OnGetValue; // 0x4d8 + CEntityIOOutput m_OnHitMin; // 0x500 + CEntityIOOutput m_OnHitMax; // 0x528 + CEntityIOOutput m_OnChangedFromMin; // 0x550 + CEntityIOOutput m_OnChangedFromMax; // 0x578 }; // Alignment: 6 // Size: 0xaf0 -class CLogicCase : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicCase : public CLogicalEntity +{ public: - CUtlSymbolLarge[32] m_nCase; // 0x4a0 - int32_t m_nShuffleCases; // 0x5a0 - int32_t m_nLastShuffleCase; // 0x5a4 - uint8[32] m_uchShuffleCaseMap; // 0x5a8 - CEntityIOOutput[32] m_OnCase; // 0x5c8 - CEntityOutputTemplate< CVariantBase< CVariantDefaultAllocator > > m_OnDefault; // 0xac8 + CUtlSymbolLarge m_nCase[32]; // 0x4a0 + int32_t m_nShuffleCases; // 0x5a0 + int32_t m_nLastShuffleCase; // 0x5a4 + uint8_t m_uchShuffleCaseMap[32]; // 0x5a8 + CEntityIOOutput m_OnCase[32]; // 0x5c8 + CEntityOutputTemplate< CVariantBase< CVariantDefaultAllocator > > m_OnDefault; // 0xac8 }; // Alignment: 6 // Size: 0x548 -class CLogicCompare : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicCompare : public CLogicalEntity +{ public: - float m_flInValue; // 0x4a0 - float m_flCompareValue; // 0x4a4 - CEntityOutputTemplate< float32 > m_OnLessThan; // 0x4a8 - CEntityOutputTemplate< float32 > m_OnEqualTo; // 0x4d0 - CEntityOutputTemplate< float32 > m_OnNotEqualTo; // 0x4f8 - CEntityOutputTemplate< float32 > m_OnGreaterThan; // 0x520 + float m_flInValue; // 0x4a0 + float m_flCompareValue; // 0x4a4 + CEntityOutputTemplate< float32 > m_OnLessThan; // 0x4a8 + CEntityOutputTemplate< float32 > m_OnEqualTo; // 0x4d0 + CEntityOutputTemplate< float32 > m_OnNotEqualTo; // 0x4f8 + CEntityOutputTemplate< float32 > m_OnGreaterThan; // 0x520 }; // Alignment: 3 // Size: 0x4b0 -class CLogicAutosave : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicAutosave : public CLogicalEntity +{ public: - bool m_bForceNewLevelUnit; // 0x4a0 - int32_t m_minHitPoints; // 0x4a4 - int32_t m_minHitPointsToCommit; // 0x4a8 + bool m_bForceNewLevelUnit; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + int32_t m_minHitPoints; // 0x4a4 + int32_t m_minHitPointsToCommit; // 0x4a8 }; // Alignment: 4 // Size: 0x4c0 -class CLogicActiveAutosave : public CLogicAutosave, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicActiveAutosave : public CLogicAutosave +{ public: - int32_t m_TriggerHitPoints; // 0x4b0 - float m_flTimeToTrigger; // 0x4b4 - GameTime_t m_flStartTime; // 0x4b8 - float m_flDangerousTime; // 0x4bc + int32_t m_TriggerHitPoints; // 0x4b0 + float m_flTimeToTrigger; // 0x4b4 + GameTime_t m_flStartTime; // 0x4b8 + float m_flDangerousTime; // 0x4bc }; // Alignment: 6 // Size: 0x4b8 -class CLogicDistanceAutosave : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicDistanceAutosave : public CLogicalEntity +{ public: - CUtlSymbolLarge m_iszTargetEntity; // 0x4a0 - float m_flDistanceToPlayer; // 0x4a8 - bool m_bForceNewLevelUnit; // 0x4ac - bool m_bCheckCough; // 0x4ad - bool m_bThinkDangerous; // 0x4ae - float m_flDangerousTime; // 0x4b0 + CUtlSymbolLarge m_iszTargetEntity; // 0x4a0 + float m_flDistanceToPlayer; // 0x4a8 + bool m_bForceNewLevelUnit; // 0x4ac + bool m_bCheckCough; // 0x4ad + bool m_bThinkDangerous; // 0x4ae +private: + [[maybe_unused]] uint8_t __pad04af[0x1]; // 0x4af +public: + float m_flDangerousTime; // 0x4b0 }; // Alignment: 4 // Size: 0x4b8 -class CLogicCollisionPair : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicCollisionPair : public CLogicalEntity +{ public: - CUtlSymbolLarge m_nameAttach1; // 0x4a0 - CUtlSymbolLarge m_nameAttach2; // 0x4a8 - bool m_disabled; // 0x4b0 - bool m_succeeded; // 0x4b1 + CUtlSymbolLarge m_nameAttach1; // 0x4a0 + CUtlSymbolLarge m_nameAttach2; // 0x4a8 + bool m_disabled; // 0x4b0 + bool m_succeeded; // 0x4b1 }; // Alignment: 6 // Size: 0x5b8 -class CLogicBranchList : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicBranchList : public CLogicalEntity +{ public: - CUtlSymbolLarge[16] m_nLogicBranchNames; // 0x4a0 - CUtlVector< CHandle< CBaseEntity > > m_LogicBranchList; // 0x520 - CLogicBranchList::LogicBranchListenerLastState_t m_eLastState; // 0x538 - CEntityIOOutput m_OnAllTrue; // 0x540 - CEntityIOOutput m_OnAllFalse; // 0x568 - CEntityIOOutput m_OnMixed; // 0x590 + CUtlSymbolLarge m_nLogicBranchNames[16]; // 0x4a0 + CUtlVector< CHandle< CBaseEntity > > m_LogicBranchList; // 0x520 + CLogicBranchList::LogicBranchListenerLastState_t m_eLastState; // 0x538 +private: + [[maybe_unused]] uint8_t __pad053c[0x4]; // 0x53c +public: + CEntityIOOutput m_OnAllTrue; // 0x540 + CEntityIOOutput m_OnAllFalse; // 0x568 + CEntityIOOutput m_OnMixed; // 0x590 }; // Alignment: 1 // Size: 0x4a8 -class CLogicGameEvent : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicGameEvent : public CLogicalEntity +{ public: - CUtlSymbolLarge m_iszEventName; // 0x4a0 + CUtlSymbolLarge m_iszEventName; // 0x4a0 }; // Alignment: 1 // Size: 0x6f8 -class CRuleEntity : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRuleEntity : public CBaseModelEntity +{ public: - CUtlSymbolLarge m_iszMaster; // 0x6f0 + CUtlSymbolLarge m_iszMaster; // 0x6f0 }; // Alignment: 1 // Size: 0x700 -class CRulePointEntity : public CRuleEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRulePointEntity : public CRuleEntity +{ public: - int32_t m_Score; // 0x6f8 + int32_t m_Score; // 0x6f8 }; // Alignment: 0 // Size: 0x6f8 -class CRuleBrushEntity : public CRuleEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRuleBrushEntity : public CRuleEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x700 -class CGameEnd : public CRulePointEntity, CRuleEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CGameEnd : public CRulePointEntity +{ public: // no members available }; // Alignment: 2 // Size: 0x720 -class CGameText : public CRulePointEntity, CRuleEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CGameText : public CRulePointEntity +{ public: - CUtlSymbolLarge m_iszMessage; // 0x700 - hudtextparms_t m_textParms; // 0x708 + CUtlSymbolLarge m_iszMessage; // 0x700 + hudtextparms_t m_textParms; // 0x708 }; // Alignment: 4 // Size: 0x798 -class CGamePlayerZone : public CRuleBrushEntity, CRuleEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CGamePlayerZone : public CRuleBrushEntity +{ public: - CEntityIOOutput m_OnPlayerInZone; // 0x6f8 - CEntityIOOutput m_OnPlayerOutZone; // 0x720 - CEntityOutputTemplate< int32 > m_PlayersInCount; // 0x748 - CEntityOutputTemplate< int32 > m_PlayersOutCount; // 0x770 + CEntityIOOutput m_OnPlayerInZone; // 0x6f8 + CEntityIOOutput m_OnPlayerOutZone; // 0x720 + CEntityOutputTemplate< int32 > m_PlayersInCount; // 0x748 + CEntityOutputTemplate< int32 > m_PlayersOutCount; // 0x770 }; // Alignment: 2 // Size: 0x880 -class CGamePlayerEquip : public CRulePointEntity, CRuleEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CGamePlayerEquip : public CRulePointEntity +{ public: - CUtlSymbolLarge[32] m_weaponNames; // 0x700 - int32[32] m_weaponCount; // 0x800 + CUtlSymbolLarge m_weaponNames[32]; // 0x700 + int32_t m_weaponCount[32]; // 0x800 }; // Alignment: 5 // Size: 0x4b8 -class CMessageEntity : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMessageEntity : public CPointEntity +{ public: - int32_t m_radius; // 0x4a0 - CUtlSymbolLarge m_messageText; // 0x4a8 - bool m_drawText; // 0x4b0 - bool m_bDeveloperOnly; // 0x4b1 - bool m_bEnabled; // 0x4b2 + int32_t m_radius; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 +public: + CUtlSymbolLarge m_messageText; // 0x4a8 + bool m_drawText; // 0x4b0 + bool m_bDeveloperOnly; // 0x4b1 + bool m_bEnabled; // 0x4b2 }; // Alignment: 5 // Size: 0x770 -class CTriggerBrush : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerBrush : public CBaseModelEntity +{ public: - CEntityIOOutput m_OnStartTouch; // 0x6f0 - CEntityIOOutput m_OnEndTouch; // 0x718 - CEntityIOOutput m_OnUse; // 0x740 - int32_t m_iInputFilter; // 0x768 - int32_t m_iDontMessageParent; // 0x76c + CEntityIOOutput m_OnStartTouch; // 0x6f0 + CEntityIOOutput m_OnEndTouch; // 0x718 + CEntityIOOutput m_OnUse; // 0x740 + int32_t m_iInputFilter; // 0x768 + int32_t m_iDontMessageParent; // 0x76c }; // Alignment: 8 // Size: 0x500 -class CPathKeyFrame : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPathKeyFrame : public CLogicalEntity +{ public: - Vector m_Origin; // 0x4a0 - QAngle m_Angles; // 0x4ac - Quaternion m_qAngle; // 0x4c0 - CUtlSymbolLarge m_iNextKey; // 0x4d0 - float m_flNextTime; // 0x4d8 - CPathKeyFrame* m_pNextKey; // 0x4e0 - CPathKeyFrame* m_pPrevKey; // 0x4e8 - float m_flSpeed; // 0x4f0 + Vector m_Origin; // 0x4a0 + QAngle m_Angles; // 0x4ac +private: + [[maybe_unused]] uint8_t __pad04b8[0x8]; // 0x4b8 +public: + Quaternion m_qAngle; // 0x4c0 + CUtlSymbolLarge m_iNextKey; // 0x4d0 + float m_flNextTime; // 0x4d8 +private: + [[maybe_unused]] uint8_t __pad04dc[0x4]; // 0x4dc +public: + CPathKeyFrame* m_pNextKey; // 0x4e0 + CPathKeyFrame* m_pPrevKey; // 0x4e8 + float m_flSpeed; // 0x4f0 }; // Alignment: 11 // Size: 0x540 -class CBaseMoveBehavior : public CPathKeyFrame, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseMoveBehavior : public CPathKeyFrame +{ public: - int32_t m_iPositionInterpolator; // 0x500 - int32_t m_iRotationInterpolator; // 0x504 - float m_flAnimStartTime; // 0x508 - float m_flAnimEndTime; // 0x50c - float m_flAverageSpeedAcrossFrame; // 0x510 - CPathKeyFrame* m_pCurrentKeyFrame; // 0x518 - CPathKeyFrame* m_pTargetKeyFrame; // 0x520 - CPathKeyFrame* m_pPreKeyFrame; // 0x528 - CPathKeyFrame* m_pPostKeyFrame; // 0x530 - float m_flTimeIntoFrame; // 0x538 - int32_t m_iDirection; // 0x53c + int32_t m_iPositionInterpolator; // 0x500 + int32_t m_iRotationInterpolator; // 0x504 + float m_flAnimStartTime; // 0x508 + float m_flAnimEndTime; // 0x50c + float m_flAverageSpeedAcrossFrame; // 0x510 +private: + [[maybe_unused]] uint8_t __pad0514[0x4]; // 0x514 +public: + CPathKeyFrame* m_pCurrentKeyFrame; // 0x518 + CPathKeyFrame* m_pTargetKeyFrame; // 0x520 + CPathKeyFrame* m_pPreKeyFrame; // 0x528 + CPathKeyFrame* m_pPostKeyFrame; // 0x530 + float m_flTimeIntoFrame; // 0x538 + int32_t m_iDirection; // 0x53c }; // Alignment: 3 // Size: 0x4d0 -class CPathCorner : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPathCorner : public CPointEntity +{ public: - float m_flWait; // 0x4a0 - float m_flRadius; // 0x4a4 - CEntityIOOutput m_OnPass; // 0x4a8 + float m_flWait; // 0x4a0 + float m_flRadius; // 0x4a4 + CEntityIOOutput m_OnPass; // 0x4a8 }; // Alignment: 6 // Size: 0x500 -class CPhysForce : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysForce : public CPointEntity +{ public: - CUtlSymbolLarge m_nameAttach; // 0x4a8 - float m_force; // 0x4b0 - float m_forceTime; // 0x4b4 - CHandle< CBaseEntity > m_attachedObject; // 0x4b8 - bool m_wasRestored; // 0x4bc - CConstantForceController m_integrator; // 0x4c0 + CUtlSymbolLarge m_nameAttach; // 0x4a8 + float m_force; // 0x4b0 + float m_forceTime; // 0x4b4 + CHandle< CBaseEntity > m_attachedObject; // 0x4b8 + bool m_wasRestored; // 0x4bc +private: + [[maybe_unused]] uint8_t __pad04bd[0x3]; // 0x4bd +public: + CConstantForceController m_integrator; // 0x4c0 }; // Alignment: 1 // Size: 0x510 -class CPhysThruster : public CPhysForce, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysThruster : public CPhysForce +{ public: - Vector m_localOrigin; // 0x500 + Vector m_localOrigin; // 0x500 }; // Alignment: 1 // Size: 0x510 -class CPhysTorque : public CPhysForce, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysTorque : public CPhysForce +{ public: - Vector m_axis; // 0x500 + Vector m_axis; // 0x500 }; // Alignment: 7 // Size: 0x4f0 -class CPhysMotor : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysMotor : public CLogicalEntity +{ public: - CUtlSymbolLarge m_nameAttach; // 0x4a0 - CHandle< CBaseEntity > m_hAttachedObject; // 0x4a8 - float m_spinUp; // 0x4ac - float m_additionalAcceleration; // 0x4b0 - float m_angularAcceleration; // 0x4b4 - GameTime_t m_lastTime; // 0x4b8 - CMotorController m_motor; // 0x4d0 + CUtlSymbolLarge m_nameAttach; // 0x4a0 + CHandle< CBaseEntity > m_hAttachedObject; // 0x4a8 + float m_spinUp; // 0x4ac + float m_additionalAcceleration; // 0x4b0 + float m_angularAcceleration; // 0x4b4 + GameTime_t m_lastTime; // 0x4b8 +private: + [[maybe_unused]] uint8_t __pad04bc[0x14]; // 0x4bc +public: + CMotorController m_motor; // 0x4d0 }; // Alignment: 7 // Size: 0x4e0 -class CKeepUpright : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CKeepUpright : public CPointEntity +{ public: - Vector m_worldGoalAxis; // 0x4a8 - Vector m_localTestAxis; // 0x4b4 - CUtlSymbolLarge m_nameAttach; // 0x4c8 - CHandle< CBaseEntity > m_attachedObject; // 0x4d0 - float m_angularLimit; // 0x4d4 - bool m_bActive; // 0x4d8 - bool m_bDampAllRotation; // 0x4d9 + Vector m_worldGoalAxis; // 0x4a8 + Vector m_localTestAxis; // 0x4b4 +private: + [[maybe_unused]] uint8_t __pad04c0[0x8]; // 0x4c0 +public: + CUtlSymbolLarge m_nameAttach; // 0x4c8 + CHandle< CBaseEntity > m_attachedObject; // 0x4d0 + float m_angularLimit; // 0x4d4 + bool m_bActive; // 0x4d8 + bool m_bDampAllRotation; // 0x4d9 }; // Alignment: 8 // Size: 0x4f8 -class CPhysConstraint : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysConstraint : public CLogicalEntity +{ public: - CUtlSymbolLarge m_nameAttach1; // 0x4a8 - CUtlSymbolLarge m_nameAttach2; // 0x4b0 - CUtlSymbolLarge m_breakSound; // 0x4b8 - float m_forceLimit; // 0x4c0 - float m_torqueLimit; // 0x4c4 - uint32_t m_teleportTick; // 0x4c8 - float m_minTeleportDistance; // 0x4cc - CEntityIOOutput m_OnBreak; // 0x4d0 + CUtlSymbolLarge m_nameAttach1; // 0x4a8 + CUtlSymbolLarge m_nameAttach2; // 0x4b0 + CUtlSymbolLarge m_breakSound; // 0x4b8 + float m_forceLimit; // 0x4c0 + float m_torqueLimit; // 0x4c4 + uint32_t m_teleportTick; // 0x4c8 + float m_minTeleportDistance; // 0x4cc + CEntityIOOutput m_OnBreak; // 0x4d0 }; // Alignment: 18 // Size: 0x698 -class CPhysHinge : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysHinge : public CPhysConstraint +{ public: - ConstraintSoundInfo m_soundInfo; // 0x500 - CEntityIOOutput m_NotifyMinLimitReached; // 0x588 - CEntityIOOutput m_NotifyMaxLimitReached; // 0x5b0 - bool m_bAtMinLimit; // 0x5d8 - bool m_bAtMaxLimit; // 0x5d9 - constraint_hingeparams_t m_hinge; // 0x5dc - float m_hingeFriction; // 0x61c - float m_systemLoadScale; // 0x620 - bool m_bIsAxisLocal; // 0x624 - float m_flMinRotation; // 0x628 - float m_flMaxRotation; // 0x62c - float m_flInitialRotation; // 0x630 - float m_flMotorFrequency; // 0x634 - float m_flMotorDampingRatio; // 0x638 - float m_flAngleSpeed; // 0x63c - float m_flAngleSpeedThreshold; // 0x640 - CEntityIOOutput m_OnStartMoving; // 0x648 - CEntityIOOutput m_OnStopMoving; // 0x670 + ConstraintSoundInfo m_soundInfo; // 0x500 + CEntityIOOutput m_NotifyMinLimitReached; // 0x588 + CEntityIOOutput m_NotifyMaxLimitReached; // 0x5b0 + bool m_bAtMinLimit; // 0x5d8 + bool m_bAtMaxLimit; // 0x5d9 +private: + [[maybe_unused]] uint8_t __pad05da[0x2]; // 0x5da +public: + constraint_hingeparams_t m_hinge; // 0x5dc + float m_hingeFriction; // 0x61c + float m_systemLoadScale; // 0x620 + bool m_bIsAxisLocal; // 0x624 +private: + [[maybe_unused]] uint8_t __pad0625[0x3]; // 0x625 +public: + float m_flMinRotation; // 0x628 + float m_flMaxRotation; // 0x62c + float m_flInitialRotation; // 0x630 + float m_flMotorFrequency; // 0x634 + float m_flMotorDampingRatio; // 0x638 + float m_flAngleSpeed; // 0x63c + float m_flAngleSpeedThreshold; // 0x640 +private: + [[maybe_unused]] uint8_t __pad0644[0x4]; // 0x644 +public: + CEntityIOOutput m_OnStartMoving; // 0x648 + CEntityIOOutput m_OnStopMoving; // 0x670 }; // Alignment: 0 // Size: 0x698 -class CPhysHingeAlias_phys_hinge_local : public CPhysHinge, CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysHingeAlias_phys_hinge_local : public CPhysHinge +{ public: // no members available }; // Alignment: 6 // Size: 0x510 -class CPhysBallSocket : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysBallSocket : public CPhysConstraint +{ public: - float m_flFriction; // 0x4f8 - bool m_bEnableSwingLimit; // 0x4fc - float m_flSwingLimit; // 0x500 - bool m_bEnableTwistLimit; // 0x504 - float m_flMinTwistAngle; // 0x508 - float m_flMaxTwistAngle; // 0x50c + float m_flFriction; // 0x4f8 + bool m_bEnableSwingLimit; // 0x4fc +private: + [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd +public: + float m_flSwingLimit; // 0x500 + bool m_bEnableTwistLimit; // 0x504 +private: + [[maybe_unused]] uint8_t __pad0505[0x3]; // 0x505 +public: + float m_flMinTwistAngle; // 0x508 + float m_flMaxTwistAngle; // 0x50c }; // Alignment: 10 // Size: 0x5b0 -class CPhysSlideConstraint : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysSlideConstraint : public CPhysConstraint +{ public: - Vector m_axisEnd; // 0x500 - float m_slideFriction; // 0x50c - float m_systemLoadScale; // 0x510 - float m_initialOffset; // 0x514 - bool m_bEnableLinearConstraint; // 0x518 - bool m_bEnableAngularConstraint; // 0x519 - float m_flMotorFrequency; // 0x51c - float m_flMotorDampingRatio; // 0x520 - bool m_bUseEntityPivot; // 0x524 - ConstraintSoundInfo m_soundInfo; // 0x528 + Vector m_axisEnd; // 0x500 + float m_slideFriction; // 0x50c + float m_systemLoadScale; // 0x510 + float m_initialOffset; // 0x514 + bool m_bEnableLinearConstraint; // 0x518 + bool m_bEnableAngularConstraint; // 0x519 +private: + [[maybe_unused]] uint8_t __pad051a[0x2]; // 0x51a +public: + float m_flMotorFrequency; // 0x51c + float m_flMotorDampingRatio; // 0x520 + bool m_bUseEntityPivot; // 0x524 +private: + [[maybe_unused]] uint8_t __pad0525[0x3]; // 0x525 +public: + ConstraintSoundInfo m_soundInfo; // 0x528 }; // Alignment: 6 // Size: 0x510 -class CPhysFixed : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysFixed : public CPhysConstraint +{ public: - float m_flLinearFrequency; // 0x4f8 - float m_flLinearDampingRatio; // 0x4fc - float m_flAngularFrequency; // 0x500 - float m_flAngularDampingRatio; // 0x504 - bool m_bEnableLinearConstraint; // 0x508 - bool m_bEnableAngularConstraint; // 0x509 + float m_flLinearFrequency; // 0x4f8 + float m_flLinearDampingRatio; // 0x4fc + float m_flAngularFrequency; // 0x500 + float m_flAngularDampingRatio; // 0x504 + bool m_bEnableLinearConstraint; // 0x508 + bool m_bEnableAngularConstraint; // 0x509 }; // Alignment: 4 // Size: 0x528 -class CPhysPulley : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPulley : public CPhysConstraint +{ public: - Vector m_position2; // 0x4f8 - Vector[2] m_offset; // 0x504 - float m_addLength; // 0x51c - float m_gearRatio; // 0x520 + Vector m_position2; // 0x4f8 + Vector m_offset[2]; // 0x504 + float m_addLength; // 0x51c + float m_gearRatio; // 0x520 }; // Alignment: 6 // Size: 0x530 -class CPhysLength : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysLength : public CPhysConstraint +{ public: - Vector[2] m_offset; // 0x4f8 - Vector m_vecAttach; // 0x510 - float m_addLength; // 0x51c - float m_minLength; // 0x520 - float m_totalLength; // 0x524 - bool m_bEnableCollision; // 0x528 + Vector m_offset[2]; // 0x4f8 + Vector m_vecAttach; // 0x510 + float m_addLength; // 0x51c + float m_minLength; // 0x520 + float m_totalLength; // 0x524 + bool m_bEnableCollision; // 0x528 }; // Alignment: 9 // Size: 0x520 -class CRagdollConstraint : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRagdollConstraint : public CPhysConstraint +{ public: - float m_xmin; // 0x4f8 - float m_xmax; // 0x4fc - float m_ymin; // 0x500 - float m_ymax; // 0x504 - float m_zmin; // 0x508 - float m_zmax; // 0x50c - float m_xfriction; // 0x510 - float m_yfriction; // 0x514 - float m_zfriction; // 0x518 + float m_xmin; // 0x4f8 + float m_xmax; // 0x4fc + float m_ymin; // 0x500 + float m_ymax; // 0x504 + float m_zmin; // 0x508 + float m_zmax; // 0x50c + float m_xfriction; // 0x510 + float m_yfriction; // 0x514 + float m_zfriction; // 0x518 }; // Alignment: 48 // Size: 0x628 -class CGenericConstraint : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CGenericConstraint : public CPhysConstraint +{ public: - JointMotion_t m_nLinearMotionX; // 0x500 - JointMotion_t m_nLinearMotionY; // 0x504 - JointMotion_t m_nLinearMotionZ; // 0x508 - float m_flLinearFrequencyX; // 0x50c - float m_flLinearFrequencyY; // 0x510 - float m_flLinearFrequencyZ; // 0x514 - float m_flLinearDampingRatioX; // 0x518 - float m_flLinearDampingRatioY; // 0x51c - float m_flLinearDampingRatioZ; // 0x520 - float m_flMaxLinearImpulseX; // 0x524 - float m_flMaxLinearImpulseY; // 0x528 - float m_flMaxLinearImpulseZ; // 0x52c - float m_flBreakAfterTimeX; // 0x530 - float m_flBreakAfterTimeY; // 0x534 - float m_flBreakAfterTimeZ; // 0x538 - GameTime_t m_flBreakAfterTimeStartTimeX; // 0x53c - GameTime_t m_flBreakAfterTimeStartTimeY; // 0x540 - GameTime_t m_flBreakAfterTimeStartTimeZ; // 0x544 - float m_flBreakAfterTimeThresholdX; // 0x548 - float m_flBreakAfterTimeThresholdY; // 0x54c - float m_flBreakAfterTimeThresholdZ; // 0x550 - float m_flNotifyForceX; // 0x554 - float m_flNotifyForceY; // 0x558 - float m_flNotifyForceZ; // 0x55c - float m_flNotifyForceMinTimeX; // 0x560 - float m_flNotifyForceMinTimeY; // 0x564 - float m_flNotifyForceMinTimeZ; // 0x568 - GameTime_t m_flNotifyForceLastTimeX; // 0x56c - GameTime_t m_flNotifyForceLastTimeY; // 0x570 - GameTime_t m_flNotifyForceLastTimeZ; // 0x574 - bool m_bAxisNotifiedX; // 0x578 - bool m_bAxisNotifiedY; // 0x579 - bool m_bAxisNotifiedZ; // 0x57a - JointMotion_t m_nAngularMotionX; // 0x57c - JointMotion_t m_nAngularMotionY; // 0x580 - JointMotion_t m_nAngularMotionZ; // 0x584 - float m_flAngularFrequencyX; // 0x588 - float m_flAngularFrequencyY; // 0x58c - float m_flAngularFrequencyZ; // 0x590 - float m_flAngularDampingRatioX; // 0x594 - float m_flAngularDampingRatioY; // 0x598 - float m_flAngularDampingRatioZ; // 0x59c - float m_flMaxAngularImpulseX; // 0x5a0 - float m_flMaxAngularImpulseY; // 0x5a4 - float m_flMaxAngularImpulseZ; // 0x5a8 - CEntityIOOutput m_NotifyForceReachedX; // 0x5b0 - CEntityIOOutput m_NotifyForceReachedY; // 0x5d8 - CEntityIOOutput m_NotifyForceReachedZ; // 0x600 + JointMotion_t m_nLinearMotionX; // 0x500 + JointMotion_t m_nLinearMotionY; // 0x504 + JointMotion_t m_nLinearMotionZ; // 0x508 + float m_flLinearFrequencyX; // 0x50c + float m_flLinearFrequencyY; // 0x510 + float m_flLinearFrequencyZ; // 0x514 + float m_flLinearDampingRatioX; // 0x518 + float m_flLinearDampingRatioY; // 0x51c + float m_flLinearDampingRatioZ; // 0x520 + float m_flMaxLinearImpulseX; // 0x524 + float m_flMaxLinearImpulseY; // 0x528 + float m_flMaxLinearImpulseZ; // 0x52c + float m_flBreakAfterTimeX; // 0x530 + float m_flBreakAfterTimeY; // 0x534 + float m_flBreakAfterTimeZ; // 0x538 + GameTime_t m_flBreakAfterTimeStartTimeX; // 0x53c + GameTime_t m_flBreakAfterTimeStartTimeY; // 0x540 + GameTime_t m_flBreakAfterTimeStartTimeZ; // 0x544 + float m_flBreakAfterTimeThresholdX; // 0x548 + float m_flBreakAfterTimeThresholdY; // 0x54c + float m_flBreakAfterTimeThresholdZ; // 0x550 + float m_flNotifyForceX; // 0x554 + float m_flNotifyForceY; // 0x558 + float m_flNotifyForceZ; // 0x55c + float m_flNotifyForceMinTimeX; // 0x560 + float m_flNotifyForceMinTimeY; // 0x564 + float m_flNotifyForceMinTimeZ; // 0x568 + GameTime_t m_flNotifyForceLastTimeX; // 0x56c + GameTime_t m_flNotifyForceLastTimeY; // 0x570 + GameTime_t m_flNotifyForceLastTimeZ; // 0x574 + bool m_bAxisNotifiedX; // 0x578 + bool m_bAxisNotifiedY; // 0x579 + bool m_bAxisNotifiedZ; // 0x57a +private: + [[maybe_unused]] uint8_t __pad057b[0x1]; // 0x57b +public: + JointMotion_t m_nAngularMotionX; // 0x57c + JointMotion_t m_nAngularMotionY; // 0x580 + JointMotion_t m_nAngularMotionZ; // 0x584 + float m_flAngularFrequencyX; // 0x588 + float m_flAngularFrequencyY; // 0x58c + float m_flAngularFrequencyZ; // 0x590 + float m_flAngularDampingRatioX; // 0x594 + float m_flAngularDampingRatioY; // 0x598 + float m_flAngularDampingRatioZ; // 0x59c + float m_flMaxAngularImpulseX; // 0x5a0 + float m_flMaxAngularImpulseY; // 0x5a4 + float m_flMaxAngularImpulseZ; // 0x5a8 +private: + [[maybe_unused]] uint8_t __pad05ac[0x4]; // 0x5ac +public: + CEntityIOOutput m_NotifyForceReachedX; // 0x5b0 + CEntityIOOutput m_NotifyForceReachedY; // 0x5d8 + CEntityIOOutput m_NotifyForceReachedZ; // 0x600 }; // Alignment: 0 // Size: 0x540 -class CSplineConstraint : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSplineConstraint : public CPhysConstraint +{ public: // no members available }; // Alignment: 11 // Size: 0x528 -class CPhysWheelConstraint : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysWheelConstraint : public CPhysConstraint +{ public: - float m_flSuspensionFrequency; // 0x4f8 - float m_flSuspensionDampingRatio; // 0x4fc - float m_flSuspensionHeightOffset; // 0x500 - bool m_bEnableSuspensionLimit; // 0x504 - float m_flMinSuspensionOffset; // 0x508 - float m_flMaxSuspensionOffset; // 0x50c - bool m_bEnableSteeringLimit; // 0x510 - float m_flMinSteeringAngle; // 0x514 - float m_flMaxSteeringAngle; // 0x518 - float m_flSteeringAxisFriction; // 0x51c - float m_flSpinAxisFriction; // 0x520 + float m_flSuspensionFrequency; // 0x4f8 + float m_flSuspensionDampingRatio; // 0x4fc + float m_flSuspensionHeightOffset; // 0x500 + bool m_bEnableSuspensionLimit; // 0x504 +private: + [[maybe_unused]] uint8_t __pad0505[0x3]; // 0x505 +public: + float m_flMinSuspensionOffset; // 0x508 + float m_flMaxSuspensionOffset; // 0x50c + bool m_bEnableSteeringLimit; // 0x510 +private: + [[maybe_unused]] uint8_t __pad0511[0x3]; // 0x511 +public: + float m_flMinSteeringAngle; // 0x514 + float m_flMaxSteeringAngle; // 0x518 + float m_flSteeringAxisFriction; // 0x51c + float m_flSpinAxisFriction; // 0x520 }; // Alignment: 4 // Size: 0x4b8 -class CPhysicsEntitySolver : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysicsEntitySolver : public CLogicalEntity +{ public: - CHandle< CBaseEntity > m_hMovingEntity; // 0x4a8 - CHandle< CBaseEntity > m_hPhysicsBlocker; // 0x4ac - float m_separationDuration; // 0x4b0 - GameTime_t m_cancelTime; // 0x4b4 + CHandle< CBaseEntity > m_hMovingEntity; // 0x4a8 + CHandle< CBaseEntity > m_hPhysicsBlocker; // 0x4ac + float m_separationDuration; // 0x4b0 + GameTime_t m_cancelTime; // 0x4b4 }; // Alignment: 8 // Size: 0x4e8 -class CPhysicsSpring : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysicsSpring : public CBaseEntity +{ public: - float m_flFrequency; // 0x4a8 - float m_flDampingRatio; // 0x4ac - float m_flRestLength; // 0x4b0 - CUtlSymbolLarge m_nameAttachStart; // 0x4b8 - CUtlSymbolLarge m_nameAttachEnd; // 0x4c0 - Vector m_start; // 0x4c8 - Vector m_end; // 0x4d4 - uint32_t m_teleportTick; // 0x4e0 + float m_flFrequency; // 0x4a8 + float m_flDampingRatio; // 0x4ac + float m_flRestLength; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 +public: + CUtlSymbolLarge m_nameAttachStart; // 0x4b8 + CUtlSymbolLarge m_nameAttachEnd; // 0x4c0 + Vector m_start; // 0x4c8 + Vector m_end; // 0x4d4 + uint32_t m_teleportTick; // 0x4e0 }; // Alignment: 7 // Size: 0x4c8 -class CPointPush : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointPush : public CPointEntity +{ public: - bool m_bEnabled; // 0x4a0 - float m_flMagnitude; // 0x4a4 - float m_flRadius; // 0x4a8 - float m_flInnerRadius; // 0x4ac - float m_flConeOfInfluence; // 0x4b0 - CUtlSymbolLarge m_iszFilterName; // 0x4b8 - CHandle< CBaseFilter > m_hFilter; // 0x4c0 + bool m_bEnabled; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + float m_flMagnitude; // 0x4a4 + float m_flRadius; // 0x4a8 + float m_flInnerRadius; // 0x4ac + float m_flConeOfInfluence; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 +public: + CUtlSymbolLarge m_iszFilterName; // 0x4b8 + CHandle< CBaseFilter > m_hFilter; // 0x4c0 }; // Alignment: 0 // Size: 0x4a0 -class CSprayCan : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSprayCan : public CPointEntity +{ public: // no members available }; // Alignment: 1 // Size: 0x4a8 -class CInfoPlayerStart : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoPlayerStart : public CPointEntity +{ public: - bool m_bDisabled; // 0x4a0 + bool m_bDisabled; // 0x4a0 }; // Alignment: 7 // Size: 0x4f0 -class CPointEntityFinder : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointEntityFinder : public CBaseEntity +{ public: - CHandle< CBaseEntity > m_hEntity; // 0x4a0 - CUtlSymbolLarge m_iFilterName; // 0x4a8 - CHandle< CBaseFilter > m_hFilter; // 0x4b0 - CUtlSymbolLarge m_iRefName; // 0x4b8 - CHandle< CBaseEntity > m_hReference; // 0x4c0 - EntFinderMethod_t m_FindMethod; // 0x4c4 - CEntityIOOutput m_OnFoundEntity; // 0x4c8 + CHandle< CBaseEntity > m_hEntity; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 +public: + CUtlSymbolLarge m_iFilterName; // 0x4a8 + CHandle< CBaseFilter > m_hFilter; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 +public: + CUtlSymbolLarge m_iRefName; // 0x4b8 + CHandle< CBaseEntity > m_hReference; // 0x4c0 + EntFinderMethod_t m_FindMethod; // 0x4c4 + CEntityIOOutput m_OnFoundEntity; // 0x4c8 }; // Alignment: 3 // Size: 0x4b0 -class CPointHMDAnchor : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointHMDAnchor : public CBaseEntity +{ public: // MNetworkEnable - bool m_bDisabled; // 0x4a0 + bool m_bDisabled; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: // MNetworkEnable - GameTime_t m_flEnableTime; // 0x4a4 + GameTime_t m_flEnableTime; // 0x4a4 // MNetworkEnable - int32_t m_nPlayerIndex; // 0x4a8 + int32_t m_nPlayerIndex; // 0x4a8 }; // Alignment: 0 // Size: 0x4b0 -class CPointHMDAnchorOverride : public CPointHMDAnchor, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointHMDAnchorOverride : public CPointHMDAnchor +{ public: // no members available }; // Alignment: 44 // Size: 0x698 -class CPointValueRemapper : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointValueRemapper : public CBaseEntity +{ public: // MNetworkEnable - bool m_bDisabled; // 0x4a0 + bool m_bDisabled; // 0x4a0 // MNetworkEnable - bool m_bUpdateOnClient; // 0x4a1 + bool m_bUpdateOnClient; // 0x4a1 +private: + [[maybe_unused]] uint8_t __pad04a2[0x2]; // 0x4a2 +public: // MNetworkEnable - ValueRemapperInputType_t m_nInputType; // 0x4a4 - CUtlSymbolLarge m_iszRemapLineStartName; // 0x4a8 - CUtlSymbolLarge m_iszRemapLineEndName; // 0x4b0 + ValueRemapperInputType_t m_nInputType; // 0x4a4 + CUtlSymbolLarge m_iszRemapLineStartName; // 0x4a8 + CUtlSymbolLarge m_iszRemapLineEndName; // 0x4b0 // MNetworkEnable - CHandle< CBaseEntity > m_hRemapLineStart; // 0x4b8 + CHandle< CBaseEntity > m_hRemapLineStart; // 0x4b8 // MNetworkEnable - CHandle< CBaseEntity > m_hRemapLineEnd; // 0x4bc + CHandle< CBaseEntity > m_hRemapLineEnd; // 0x4bc // MNetworkEnable - float m_flMaximumChangePerSecond; // 0x4c0 + float m_flMaximumChangePerSecond; // 0x4c0 // MNetworkEnable - float m_flDisengageDistance; // 0x4c4 + float m_flDisengageDistance; // 0x4c4 // MNetworkEnable - float m_flEngageDistance; // 0x4c8 + float m_flEngageDistance; // 0x4c8 // MNetworkEnable - bool m_bRequiresUseKey; // 0x4cc + bool m_bRequiresUseKey; // 0x4cc +private: + [[maybe_unused]] uint8_t __pad04cd[0x3]; // 0x4cd +public: // MNetworkEnable - ValueRemapperOutputType_t m_nOutputType; // 0x4d0 - CUtlSymbolLarge m_iszOutputEntityName; // 0x4d8 - CUtlSymbolLarge m_iszOutputEntity2Name; // 0x4e0 - CUtlSymbolLarge m_iszOutputEntity3Name; // 0x4e8 - CUtlSymbolLarge m_iszOutputEntity4Name; // 0x4f0 + ValueRemapperOutputType_t m_nOutputType; // 0x4d0 +private: + [[maybe_unused]] uint8_t __pad04d4[0x4]; // 0x4d4 +public: + CUtlSymbolLarge m_iszOutputEntityName; // 0x4d8 + CUtlSymbolLarge m_iszOutputEntity2Name; // 0x4e0 + CUtlSymbolLarge m_iszOutputEntity3Name; // 0x4e8 + CUtlSymbolLarge m_iszOutputEntity4Name; // 0x4f0 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_hOutputEntities; // 0x4f8 + CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_hOutputEntities; // 0x4f8 // MNetworkEnable - ValueRemapperHapticsType_t m_nHapticsType; // 0x510 + ValueRemapperHapticsType_t m_nHapticsType; // 0x510 // MNetworkEnable - ValueRemapperMomentumType_t m_nMomentumType; // 0x514 + ValueRemapperMomentumType_t m_nMomentumType; // 0x514 // MNetworkEnable - float m_flMomentumModifier; // 0x518 + float m_flMomentumModifier; // 0x518 // MNetworkEnable - float m_flSnapValue; // 0x51c - float m_flCurrentMomentum; // 0x520 + float m_flSnapValue; // 0x51c + float m_flCurrentMomentum; // 0x520 // MNetworkEnable - ValueRemapperRatchetType_t m_nRatchetType; // 0x524 - float m_flRatchetOffset; // 0x528 + ValueRemapperRatchetType_t m_nRatchetType; // 0x524 + float m_flRatchetOffset; // 0x528 // MNetworkEnable - float m_flInputOffset; // 0x52c - bool m_bEngaged; // 0x530 - bool m_bFirstUpdate; // 0x531 - float m_flPreviousValue; // 0x534 - GameTime_t m_flPreviousUpdateTickTime; // 0x538 - Vector m_vecPreviousTestPoint; // 0x53c - CHandle< CBasePlayerPawn > m_hUsingPlayer; // 0x548 - float m_flCustomOutputValue; // 0x54c - CUtlSymbolLarge m_iszSoundEngage; // 0x550 - CUtlSymbolLarge m_iszSoundDisengage; // 0x558 - CUtlSymbolLarge m_iszSoundReachedValueZero; // 0x560 - CUtlSymbolLarge m_iszSoundReachedValueOne; // 0x568 - CUtlSymbolLarge m_iszSoundMovingLoop; // 0x570 - CEntityOutputTemplate< float32 > m_Position; // 0x580 - CEntityOutputTemplate< float32 > m_PositionDelta; // 0x5a8 - CEntityIOOutput m_OnReachedValueZero; // 0x5d0 - CEntityIOOutput m_OnReachedValueOne; // 0x5f8 - CEntityIOOutput m_OnReachedValueCustom; // 0x620 - CEntityIOOutput m_OnEngage; // 0x648 - CEntityIOOutput m_OnDisengage; // 0x670 + float m_flInputOffset; // 0x52c + bool m_bEngaged; // 0x530 + bool m_bFirstUpdate; // 0x531 +private: + [[maybe_unused]] uint8_t __pad0532[0x2]; // 0x532 +public: + float m_flPreviousValue; // 0x534 + GameTime_t m_flPreviousUpdateTickTime; // 0x538 + Vector m_vecPreviousTestPoint; // 0x53c + CHandle< CBasePlayerPawn > m_hUsingPlayer; // 0x548 + float m_flCustomOutputValue; // 0x54c + CUtlSymbolLarge m_iszSoundEngage; // 0x550 + CUtlSymbolLarge m_iszSoundDisengage; // 0x558 + CUtlSymbolLarge m_iszSoundReachedValueZero; // 0x560 + CUtlSymbolLarge m_iszSoundReachedValueOne; // 0x568 + CUtlSymbolLarge m_iszSoundMovingLoop; // 0x570 +private: + [[maybe_unused]] uint8_t __pad0578[0x8]; // 0x578 +public: + CEntityOutputTemplate< float32 > m_Position; // 0x580 + CEntityOutputTemplate< float32 > m_PositionDelta; // 0x5a8 + CEntityIOOutput m_OnReachedValueZero; // 0x5d0 + CEntityIOOutput m_OnReachedValueOne; // 0x5f8 + CEntityIOOutput m_OnReachedValueCustom; // 0x620 + CEntityIOOutput m_OnEngage; // 0x648 + CEntityIOOutput m_OnDisengage; // 0x670 }; // Alignment: 11 // Size: 0x950 -class CPointWorldText : public CModelPointEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointWorldText : public CModelPointEntity +{ public: // MNetworkEnable - char[512] m_messageText; // 0x6f0 + char m_messageText[512]; // 0x6f0 // MNetworkEnable - char[64] m_FontName; // 0x8f0 + char m_FontName[64]; // 0x8f0 // MNetworkEnable - bool m_bEnabled; // 0x930 + bool m_bEnabled; // 0x930 // MNetworkEnable - bool m_bFullbright; // 0x931 + bool m_bFullbright; // 0x931 +private: + [[maybe_unused]] uint8_t __pad0932[0x2]; // 0x932 +public: // MNetworkEnable - float m_flWorldUnitsPerPx; // 0x934 + float m_flWorldUnitsPerPx; // 0x934 // MNetworkEnable - float m_flFontSize; // 0x938 + float m_flFontSize; // 0x938 // MNetworkEnable - float m_flDepthOffset; // 0x93c + float m_flDepthOffset; // 0x93c // MNetworkEnable - Color m_Color; // 0x940 + Color m_Color; // 0x940 // MNetworkEnable - PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0x944 + PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0x944 // MNetworkEnable - PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0x948 + PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0x948 // MNetworkEnable - PointWorldTextReorientMode_t m_nReorientMode; // 0x94c + PointWorldTextReorientMode_t m_nReorientMode; // 0x94c }; // Alignment: 12 // Size: 0x568 -class CPointAngleSensor : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointAngleSensor : public CPointEntity +{ public: - bool m_bDisabled; // 0x4a0 - CUtlSymbolLarge m_nLookAtName; // 0x4a8 - CHandle< CBaseEntity > m_hTargetEntity; // 0x4b0 - CHandle< CBaseEntity > m_hLookAtEntity; // 0x4b4 - float m_flDuration; // 0x4b8 - float m_flDotTolerance; // 0x4bc - GameTime_t m_flFacingTime; // 0x4c0 - bool m_bFired; // 0x4c4 - CEntityIOOutput m_OnFacingLookat; // 0x4c8 - CEntityIOOutput m_OnNotFacingLookat; // 0x4f0 - CEntityOutputTemplate< Vector > m_TargetDir; // 0x518 - CEntityOutputTemplate< float32 > m_FacingPercentage; // 0x540 + bool m_bDisabled; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x7]; // 0x4a1 +public: + CUtlSymbolLarge m_nLookAtName; // 0x4a8 + CHandle< CBaseEntity > m_hTargetEntity; // 0x4b0 + CHandle< CBaseEntity > m_hLookAtEntity; // 0x4b4 + float m_flDuration; // 0x4b8 + float m_flDotTolerance; // 0x4bc + GameTime_t m_flFacingTime; // 0x4c0 + bool m_bFired; // 0x4c4 +private: + [[maybe_unused]] uint8_t __pad04c5[0x3]; // 0x4c5 +public: + CEntityIOOutput m_OnFacingLookat; // 0x4c8 + CEntityIOOutput m_OnNotFacingLookat; // 0x4f0 + CEntityOutputTemplate< Vector > m_TargetDir; // 0x518 + CEntityOutputTemplate< float32 > m_FacingPercentage; // 0x540 }; // Alignment: 3 // Size: 0x4d0 -class CPointProximitySensor : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointProximitySensor : public CPointEntity +{ public: - bool m_bDisabled; // 0x4a0 - CHandle< CBaseEntity > m_hTargetEntity; // 0x4a4 - CEntityOutputTemplate< float32 > m_Distance; // 0x4a8 + bool m_bDisabled; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + CHandle< CBaseEntity > m_hTargetEntity; // 0x4a4 + CEntityOutputTemplate< float32 > m_Distance; // 0x4a8 }; // Alignment: 16 // Size: 0x5c8 -class CPointAngularVelocitySensor : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointAngularVelocitySensor : public CPointEntity +{ public: - CHandle< CBaseEntity > m_hTargetEntity; // 0x4a0 - float m_flThreshold; // 0x4a4 - int32_t m_nLastCompareResult; // 0x4a8 - int32_t m_nLastFireResult; // 0x4ac - GameTime_t m_flFireTime; // 0x4b0 - float m_flFireInterval; // 0x4b4 - float m_flLastAngVelocity; // 0x4b8 - QAngle m_lastOrientation; // 0x4bc - Vector m_vecAxis; // 0x4c8 - bool m_bUseHelper; // 0x4d4 - CEntityOutputTemplate< float32 > m_AngularVelocity; // 0x4d8 - CEntityIOOutput m_OnLessThan; // 0x500 - CEntityIOOutput m_OnLessThanOrEqualTo; // 0x528 - CEntityIOOutput m_OnGreaterThan; // 0x550 - CEntityIOOutput m_OnGreaterThanOrEqualTo; // 0x578 - CEntityIOOutput m_OnEqualTo; // 0x5a0 + CHandle< CBaseEntity > m_hTargetEntity; // 0x4a0 + float m_flThreshold; // 0x4a4 + int32_t m_nLastCompareResult; // 0x4a8 + int32_t m_nLastFireResult; // 0x4ac + GameTime_t m_flFireTime; // 0x4b0 + float m_flFireInterval; // 0x4b4 + float m_flLastAngVelocity; // 0x4b8 + QAngle m_lastOrientation; // 0x4bc + Vector m_vecAxis; // 0x4c8 + bool m_bUseHelper; // 0x4d4 +private: + [[maybe_unused]] uint8_t __pad04d5[0x3]; // 0x4d5 +public: + CEntityOutputTemplate< float32 > m_AngularVelocity; // 0x4d8 + CEntityIOOutput m_OnLessThan; // 0x500 + CEntityIOOutput m_OnLessThanOrEqualTo; // 0x528 + CEntityIOOutput m_OnGreaterThan; // 0x550 + CEntityIOOutput m_OnGreaterThanOrEqualTo; // 0x578 + CEntityIOOutput m_OnEqualTo; // 0x5a0 }; // Alignment: 6 // Size: 0x4e8 -class CPointVelocitySensor : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointVelocitySensor : public CPointEntity +{ public: - CHandle< CBaseEntity > m_hTargetEntity; // 0x4a0 - Vector m_vecAxis; // 0x4a4 - bool m_bEnabled; // 0x4b0 - float m_fPrevVelocity; // 0x4b4 - float m_flAvgInterval; // 0x4b8 - CEntityOutputTemplate< float32 > m_Velocity; // 0x4c0 + CHandle< CBaseEntity > m_hTargetEntity; // 0x4a0 + Vector m_vecAxis; // 0x4a4 + bool m_bEnabled; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04b1[0x3]; // 0x4b1 +public: + float m_fPrevVelocity; // 0x4b4 + float m_flAvgInterval; // 0x4b8 +private: + [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc +public: + CEntityOutputTemplate< float32 > m_Velocity; // 0x4c0 }; // Alignment: 6 // Size: 0x4c0 -class CPointHurt : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointHurt : public CPointEntity +{ public: - int32_t m_nDamage; // 0x4a0 - int32_t m_bitsDamageType; // 0x4a4 - float m_flRadius; // 0x4a8 - float m_flDelay; // 0x4ac - CUtlSymbolLarge m_strTarget; // 0x4b0 - CHandle< CBaseEntity > m_pActivator; // 0x4b8 + int32_t m_nDamage; // 0x4a0 + int32_t m_bitsDamageType; // 0x4a4 + float m_flRadius; // 0x4a8 + float m_flDelay; // 0x4ac + CUtlSymbolLarge m_strTarget; // 0x4b0 + CHandle< CBaseEntity > m_pActivator; // 0x4b8 }; // Alignment: 3 // Size: 0x4c0 -class CPointTeleport : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointTeleport : public CBaseEntity +{ public: - Vector m_vSaveOrigin; // 0x4a0 - QAngle m_vSaveAngles; // 0x4ac - bool m_bTeleportParentedEntities; // 0x4b8 + Vector m_vSaveOrigin; // 0x4a0 + QAngle m_vSaveAngles; // 0x4ac + bool m_bTeleportParentedEntities; // 0x4b8 }; // Alignment: 0 // Size: 0x4a0 -class CEnableMotionFixup : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnableMotionFixup : public CBaseEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x4a0 -class CFuncPropRespawnZone : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncPropRespawnZone : public CBaseEntity +{ public: // no members available }; // Alignment: 3 // Size: 0x4b0 -class CRagdollManager : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRagdollManager : public CBaseEntity +{ public: // MNetworkEnable - int8_t m_iCurrentMaxRagdollCount; // 0x4a0 - int32_t m_iMaxRagdollCount; // 0x4a4 - bool m_bSaveImportant; // 0x4a8 + int8_t m_iCurrentMaxRagdollCount; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + int32_t m_iMaxRagdollCount; // 0x4a4 + bool m_bSaveImportant; // 0x4a8 }; // Alignment: 3 // Size: 0x700 -class CRevertSaved : public CModelPointEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRevertSaved : public CModelPointEntity +{ public: - float m_loadTime; // 0x6f0 - float m_Duration; // 0x6f4 - float m_HoldTime; // 0x6f8 + float m_loadTime; // 0x6f0 + float m_Duration; // 0x6f4 + float m_HoldTime; // 0x6f8 }; // Alignment: 3 // Size: 0x578 -class CSceneListManager : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSceneListManager : public CLogicalEntity +{ public: - CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x4a0 - CUtlSymbolLarge[16] m_iszScenes; // 0x4b8 - CHandle< CBaseEntity >[16] m_hScenes; // 0x538 + CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x4a0 + CUtlSymbolLarge m_iszScenes[16]; // 0x4b8 + CHandle< CBaseEntity > m_hScenes[16]; // 0x538 }; // Alignment: 64 // Size: 0xa00 -class CSceneEntity : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSceneEntity : public CPointEntity +{ public: - CUtlSymbolLarge m_iszSceneFile; // 0x4a8 - CUtlSymbolLarge m_iszResumeSceneFile; // 0x4b0 - CUtlSymbolLarge m_iszTarget1; // 0x4b8 - CUtlSymbolLarge m_iszTarget2; // 0x4c0 - CUtlSymbolLarge m_iszTarget3; // 0x4c8 - CUtlSymbolLarge m_iszTarget4; // 0x4d0 - CUtlSymbolLarge m_iszTarget5; // 0x4d8 - CUtlSymbolLarge m_iszTarget6; // 0x4e0 - CUtlSymbolLarge m_iszTarget7; // 0x4e8 - CUtlSymbolLarge m_iszTarget8; // 0x4f0 - CHandle< CBaseEntity > m_hTarget1; // 0x4f8 - CHandle< CBaseEntity > m_hTarget2; // 0x4fc - CHandle< CBaseEntity > m_hTarget3; // 0x500 - CHandle< CBaseEntity > m_hTarget4; // 0x504 - CHandle< CBaseEntity > m_hTarget5; // 0x508 - CHandle< CBaseEntity > m_hTarget6; // 0x50c - CHandle< CBaseEntity > m_hTarget7; // 0x510 - CHandle< CBaseEntity > m_hTarget8; // 0x514 + CUtlSymbolLarge m_iszSceneFile; // 0x4a8 + CUtlSymbolLarge m_iszResumeSceneFile; // 0x4b0 + CUtlSymbolLarge m_iszTarget1; // 0x4b8 + CUtlSymbolLarge m_iszTarget2; // 0x4c0 + CUtlSymbolLarge m_iszTarget3; // 0x4c8 + CUtlSymbolLarge m_iszTarget4; // 0x4d0 + CUtlSymbolLarge m_iszTarget5; // 0x4d8 + CUtlSymbolLarge m_iszTarget6; // 0x4e0 + CUtlSymbolLarge m_iszTarget7; // 0x4e8 + CUtlSymbolLarge m_iszTarget8; // 0x4f0 + CHandle< CBaseEntity > m_hTarget1; // 0x4f8 + CHandle< CBaseEntity > m_hTarget2; // 0x4fc + CHandle< CBaseEntity > m_hTarget3; // 0x500 + CHandle< CBaseEntity > m_hTarget4; // 0x504 + CHandle< CBaseEntity > m_hTarget5; // 0x508 + CHandle< CBaseEntity > m_hTarget6; // 0x50c + CHandle< CBaseEntity > m_hTarget7; // 0x510 + CHandle< CBaseEntity > m_hTarget8; // 0x514 // MNetworkEnable - bool m_bIsPlayingBack; // 0x518 + bool m_bIsPlayingBack; // 0x518 // MNetworkEnable - bool m_bPaused; // 0x519 + bool m_bPaused; // 0x519 // MNetworkEnable - bool m_bMultiplayer; // 0x51a + bool m_bMultiplayer; // 0x51a // MNetworkEnable - bool m_bAutogenerated; // 0x51b + bool m_bAutogenerated; // 0x51b // MNetworkEnable - float m_flForceClientTime; // 0x51c - float m_flCurrentTime; // 0x520 - float m_flFrameTime; // 0x524 - bool m_bCancelAtNextInterrupt; // 0x528 - float m_fPitch; // 0x52c - bool m_bAutomated; // 0x530 - int32_t m_nAutomatedAction; // 0x534 - float m_flAutomationDelay; // 0x538 - float m_flAutomationTime; // 0x53c - CHandle< CBaseEntity > m_hWaitingForThisResumeScene; // 0x540 - bool m_bWaitingForResumeScene; // 0x544 - bool m_bPausedViaInput; // 0x545 - bool m_bPauseAtNextInterrupt; // 0x546 - bool m_bWaitingForActor; // 0x547 - bool m_bWaitingForInterrupt; // 0x548 - bool m_bInterruptedActorsScenes; // 0x549 - bool m_bBreakOnNonIdle; // 0x54a + float m_flForceClientTime; // 0x51c + float m_flCurrentTime; // 0x520 + float m_flFrameTime; // 0x524 + bool m_bCancelAtNextInterrupt; // 0x528 +private: + [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 +public: + float m_fPitch; // 0x52c + bool m_bAutomated; // 0x530 +private: + [[maybe_unused]] uint8_t __pad0531[0x3]; // 0x531 +public: + int32_t m_nAutomatedAction; // 0x534 + float m_flAutomationDelay; // 0x538 + float m_flAutomationTime; // 0x53c + CHandle< CBaseEntity > m_hWaitingForThisResumeScene; // 0x540 + bool m_bWaitingForResumeScene; // 0x544 + bool m_bPausedViaInput; // 0x545 + bool m_bPauseAtNextInterrupt; // 0x546 + bool m_bWaitingForActor; // 0x547 + bool m_bWaitingForInterrupt; // 0x548 + bool m_bInterruptedActorsScenes; // 0x549 + bool m_bBreakOnNonIdle; // 0x54a +private: + [[maybe_unused]] uint8_t __pad054b[0x5]; // 0x54b +public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseFlex > > m_hActorList; // 0x550 - CUtlVector< CHandle< CBaseEntity > > m_hRemoveActorList; // 0x568 - int32_t m_nSceneFlushCounter; // 0x590 + CNetworkUtlVectorBase< CHandle< CBaseFlex > > m_hActorList; // 0x550 + CUtlVector< CHandle< CBaseEntity > > m_hRemoveActorList; // 0x568 +private: + [[maybe_unused]] uint8_t __pad0580[0x10]; // 0x580 +public: + int32_t m_nSceneFlushCounter; // 0x590 // MNetworkEnable - uint16_t m_nSceneStringIndex; // 0x594 - CEntityIOOutput m_OnStart; // 0x598 - CEntityIOOutput m_OnCompletion; // 0x5c0 - CEntityIOOutput m_OnCanceled; // 0x5e8 - CEntityIOOutput m_OnPaused; // 0x610 - CEntityIOOutput m_OnResumed; // 0x638 - CEntityIOOutput[16] m_OnTrigger; // 0x660 - CHandle< CSceneEntity > m_hInterruptScene; // 0x970 - int32_t m_nInterruptCount; // 0x974 - bool m_bSceneMissing; // 0x978 - bool m_bInterrupted; // 0x979 - bool m_bCompletedEarly; // 0x97a - bool m_bInterruptSceneFinished; // 0x97b - bool m_bRestoring; // 0x97c - CUtlVector< CHandle< CSceneEntity > > m_hNotifySceneCompletion; // 0x980 - CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x998 - CUtlSymbolLarge m_iszSoundName; // 0x9d8 - CHandle< CBaseFlex > m_hActor; // 0x9e0 - CHandle< CBaseEntity > m_hActivator; // 0x9e4 - CHandle< CBaseEntity > m_hCamera; // 0x9e8 - int32_t m_BusyActor; // 0x9ec - SceneOnPlayerDeath_t m_iPlayerDeathBehavior; // 0x9f0 - static int32_t &Get_s_nSceneFlushCounter(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CSceneEntity")->m_static_fields[0]->m_instance);}; + uint16_t m_nSceneStringIndex; // 0x594 +private: + [[maybe_unused]] uint8_t __pad0596[0x2]; // 0x596 +public: + CEntityIOOutput m_OnStart; // 0x598 + CEntityIOOutput m_OnCompletion; // 0x5c0 + CEntityIOOutput m_OnCanceled; // 0x5e8 + CEntityIOOutput m_OnPaused; // 0x610 + CEntityIOOutput m_OnResumed; // 0x638 + CEntityIOOutput m_OnTrigger[16]; // 0x660 +private: + [[maybe_unused]] uint8_t __pad08e0[0x90]; // 0x8e0 +public: + CHandle< CSceneEntity > m_hInterruptScene; // 0x970 + int32_t m_nInterruptCount; // 0x974 + bool m_bSceneMissing; // 0x978 + bool m_bInterrupted; // 0x979 + bool m_bCompletedEarly; // 0x97a + bool m_bInterruptSceneFinished; // 0x97b + bool m_bRestoring; // 0x97c +private: + [[maybe_unused]] uint8_t __pad097d[0x3]; // 0x97d +public: + CUtlVector< CHandle< CSceneEntity > > m_hNotifySceneCompletion; // 0x980 + CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x998 +private: + [[maybe_unused]] uint8_t __pad09b0[0x28]; // 0x9b0 +public: + CUtlSymbolLarge m_iszSoundName; // 0x9d8 + CHandle< CBaseFlex > m_hActor; // 0x9e0 + CHandle< CBaseEntity > m_hActivator; // 0x9e4 + CHandle< CBaseEntity > m_hCamera; // 0x9e8 + int32_t m_BusyActor; // 0x9ec + SceneOnPlayerDeath_t m_iPlayerDeathBehavior; // 0x9f0 + static int32_t &Get_s_nSceneFlushCounter(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CSceneEntity")->m_static_fields[0]->m_instance);}; }; // Alignment: 57 // Size: 0x7b0 -class CScriptedSequence : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CScriptedSequence : public CBaseEntity +{ public: - CUtlSymbolLarge m_iszEntry; // 0x4a0 - CUtlSymbolLarge m_iszPreIdle; // 0x4a8 - CUtlSymbolLarge m_iszPlay; // 0x4b0 - CUtlSymbolLarge m_iszPostIdle; // 0x4b8 - CUtlSymbolLarge m_iszModifierToAddOnPlay; // 0x4c0 - CUtlSymbolLarge m_iszNextScript; // 0x4c8 - CUtlSymbolLarge m_iszEntity; // 0x4d0 - CUtlSymbolLarge m_iszSyncGroup; // 0x4d8 - ScriptedMoveTo_t m_nMoveTo; // 0x4e0 - bool m_bIsPlayingEntry; // 0x4e4 - bool m_bLoopActionSequence; // 0x4e5 - bool m_bSynchPostIdles; // 0x4e6 - bool m_bIgnoreGravity; // 0x4e7 - bool m_bDisableNPCCollisions; // 0x4e8 - bool m_bKeepAnimgraphLockedPost; // 0x4e9 - bool m_bDontAddModifiers; // 0x4ea - float m_flRadius; // 0x4ec - float m_flRepeat; // 0x4f0 - float m_flPlayAnimFadeInTime; // 0x4f4 - float m_flMoveInterpTime; // 0x4f8 - float m_flAngRate; // 0x4fc - int32_t m_iDelay; // 0x500 - GameTime_t m_startTime; // 0x504 - bool m_bWaitForBeginSequence; // 0x508 - int32_t m_saved_effects; // 0x50c - int32_t m_savedFlags; // 0x510 - int32_t m_savedCollisionGroup; // 0x514 - bool m_interruptable; // 0x518 - bool m_sequenceStarted; // 0x519 - bool m_bPrevAnimatedEveryTick; // 0x51a - bool m_bForcedAnimatedEveryTick; // 0x51b - bool m_bPositionRelativeToOtherEntity; // 0x51c - CHandle< CBaseEntity > m_hTargetEnt; // 0x520 - CHandle< CScriptedSequence > m_hNextCine; // 0x524 - bool m_bThinking; // 0x528 - bool m_bInitiatedSelfDelete; // 0x529 - bool m_bIsTeleportingDueToMoveTo; // 0x52a - bool m_bAllowCustomInterruptConditions; // 0x52b - CHandle< CBaseEntity > m_hLastFoundEntity; // 0x52c - CHandle< CBaseAnimGraph > m_hForcedTarget; // 0x530 - bool m_bDontCancelOtherSequences; // 0x534 - bool m_bForceSynch; // 0x535 - bool m_bTargetWasAsleep; // 0x536 - bool m_bPreventUpdateYawOnFinish; // 0x537 - bool m_bEnsureOnNavmeshOnFinish; // 0x538 - ScriptedOnDeath_t m_onDeathBehavior; // 0x53c - ScriptedConflictResponse_t m_ConflictResponse; // 0x540 - CEntityIOOutput m_OnBeginSequence; // 0x548 - CEntityIOOutput m_OnActionStartOrLoop; // 0x570 - CEntityIOOutput m_OnEndSequence; // 0x598 - CEntityIOOutput m_OnPostIdleEndSequence; // 0x5c0 - CEntityIOOutput m_OnCancelSequence; // 0x5e8 - CEntityIOOutput m_OnCancelFailedSequence; // 0x610 - CEntityIOOutput[8] m_OnScriptEvent; // 0x638 - CTransform m_matOtherToMain; // 0x780 - CHandle< CBaseEntity > m_hInteractionMainEntity; // 0x7a0 - int32_t m_iPlayerDeathBehavior; // 0x7a4 + CUtlSymbolLarge m_iszEntry; // 0x4a0 + CUtlSymbolLarge m_iszPreIdle; // 0x4a8 + CUtlSymbolLarge m_iszPlay; // 0x4b0 + CUtlSymbolLarge m_iszPostIdle; // 0x4b8 + CUtlSymbolLarge m_iszModifierToAddOnPlay; // 0x4c0 + CUtlSymbolLarge m_iszNextScript; // 0x4c8 + CUtlSymbolLarge m_iszEntity; // 0x4d0 + CUtlSymbolLarge m_iszSyncGroup; // 0x4d8 + ScriptedMoveTo_t m_nMoveTo; // 0x4e0 + bool m_bIsPlayingEntry; // 0x4e4 + bool m_bLoopActionSequence; // 0x4e5 + bool m_bSynchPostIdles; // 0x4e6 + bool m_bIgnoreGravity; // 0x4e7 + bool m_bDisableNPCCollisions; // 0x4e8 + bool m_bKeepAnimgraphLockedPost; // 0x4e9 + bool m_bDontAddModifiers; // 0x4ea +private: + [[maybe_unused]] uint8_t __pad04eb[0x1]; // 0x4eb +public: + float m_flRadius; // 0x4ec + float m_flRepeat; // 0x4f0 + float m_flPlayAnimFadeInTime; // 0x4f4 + float m_flMoveInterpTime; // 0x4f8 + float m_flAngRate; // 0x4fc + int32_t m_iDelay; // 0x500 + GameTime_t m_startTime; // 0x504 + bool m_bWaitForBeginSequence; // 0x508 +private: + [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 +public: + int32_t m_saved_effects; // 0x50c + int32_t m_savedFlags; // 0x510 + int32_t m_savedCollisionGroup; // 0x514 + bool m_interruptable; // 0x518 + bool m_sequenceStarted; // 0x519 + bool m_bPrevAnimatedEveryTick; // 0x51a + bool m_bForcedAnimatedEveryTick; // 0x51b + bool m_bPositionRelativeToOtherEntity; // 0x51c +private: + [[maybe_unused]] uint8_t __pad051d[0x3]; // 0x51d +public: + CHandle< CBaseEntity > m_hTargetEnt; // 0x520 + CHandle< CScriptedSequence > m_hNextCine; // 0x524 + bool m_bThinking; // 0x528 + bool m_bInitiatedSelfDelete; // 0x529 + bool m_bIsTeleportingDueToMoveTo; // 0x52a + bool m_bAllowCustomInterruptConditions; // 0x52b + CHandle< CBaseEntity > m_hLastFoundEntity; // 0x52c + CHandle< CBaseAnimGraph > m_hForcedTarget; // 0x530 + bool m_bDontCancelOtherSequences; // 0x534 + bool m_bForceSynch; // 0x535 + bool m_bTargetWasAsleep; // 0x536 + bool m_bPreventUpdateYawOnFinish; // 0x537 + bool m_bEnsureOnNavmeshOnFinish; // 0x538 +private: + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 +public: + ScriptedOnDeath_t m_onDeathBehavior; // 0x53c + ScriptedConflictResponse_t m_ConflictResponse; // 0x540 +private: + [[maybe_unused]] uint8_t __pad0544[0x4]; // 0x544 +public: + CEntityIOOutput m_OnBeginSequence; // 0x548 + CEntityIOOutput m_OnActionStartOrLoop; // 0x570 + CEntityIOOutput m_OnEndSequence; // 0x598 + CEntityIOOutput m_OnPostIdleEndSequence; // 0x5c0 + CEntityIOOutput m_OnCancelSequence; // 0x5e8 + CEntityIOOutput m_OnCancelFailedSequence; // 0x610 + CEntityIOOutput m_OnScriptEvent[8]; // 0x638 +private: + [[maybe_unused]] uint8_t __pad0778[0x8]; // 0x778 +public: + CTransform m_matOtherToMain; // 0x780 + CHandle< CBaseEntity > m_hInteractionMainEntity; // 0x7a0 + int32_t m_iPlayerDeathBehavior; // 0x7a4 }; // Alignment: 8 // Size: 0x4e8 -class CSoundOpvarSetEntity : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSoundOpvarSetEntity : public CBaseEntity +{ public: - CUtlSymbolLarge m_iszStackName; // 0x4a8 - CUtlSymbolLarge m_iszOperatorName; // 0x4b0 - CUtlSymbolLarge m_iszOpvarName; // 0x4b8 - int32_t m_nOpvarType; // 0x4c0 - int32_t m_nOpvarIndex; // 0x4c4 - float m_flOpvarValue; // 0x4c8 - CUtlSymbolLarge m_OpvarValueString; // 0x4d0 - bool m_bSetOnSpawn; // 0x4d8 + CUtlSymbolLarge m_iszStackName; // 0x4a8 + CUtlSymbolLarge m_iszOperatorName; // 0x4b0 + CUtlSymbolLarge m_iszOpvarName; // 0x4b8 + int32_t m_nOpvarType; // 0x4c0 + int32_t m_nOpvarIndex; // 0x4c4 + float m_flOpvarValue; // 0x4c8 +private: + [[maybe_unused]] uint8_t __pad04cc[0x4]; // 0x4cc +public: + CUtlSymbolLarge m_OpvarValueString; // 0x4d0 + bool m_bSetOnSpawn; // 0x4d8 }; // Alignment: 6 // Size: 0x4c0 -class CAISound : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CAISound : public CPointEntity +{ public: - int32_t m_iSoundType; // 0x4a0 - int32_t m_iSoundContext; // 0x4a4 - int32_t m_iVolume; // 0x4a8 - int32_t m_iSoundIndex; // 0x4ac - float m_flDuration; // 0x4b0 - CUtlSymbolLarge m_iszProxyEntityName; // 0x4b8 + int32_t m_iSoundType; // 0x4a0 + int32_t m_iSoundContext; // 0x4a4 + int32_t m_iVolume; // 0x4a8 + int32_t m_iSoundIndex; // 0x4ac + float m_flDuration; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 +public: + CUtlSymbolLarge m_iszProxyEntityName; // 0x4b8 }; // Alignment: 1 // Size: 0x4a8 -class CSoundStackSave : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSoundStackSave : public CLogicalEntity +{ public: - CUtlSymbolLarge m_iszStackName; // 0x4a0 + CUtlSymbolLarge m_iszStackName; // 0x4a0 }; // Alignment: 12 // Size: 0x548 -class CSoundEventEntity : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSoundEventEntity : public CBaseEntity +{ public: - bool m_bStartOnSpawn; // 0x4a0 - bool m_bToLocalPlayer; // 0x4a1 - bool m_bStopOnNew; // 0x4a2 - bool m_bSaveRestore; // 0x4a3 - bool m_bSavedIsPlaying; // 0x4a4 - float m_flSavedElapsedTime; // 0x4a8 - CUtlSymbolLarge m_iszSourceEntityName; // 0x4b0 - CUtlSymbolLarge m_iszAttachmentName; // 0x4b8 - CEntityOutputTemplate< uint64 > m_onGUIDChanged; // 0x4c0 - CEntityIOOutput m_onSoundFinished; // 0x4e8 - CUtlSymbolLarge m_iszSoundName; // 0x530 - CEntityHandle m_hSource; // 0x540 + bool m_bStartOnSpawn; // 0x4a0 + bool m_bToLocalPlayer; // 0x4a1 + bool m_bStopOnNew; // 0x4a2 + bool m_bSaveRestore; // 0x4a3 + bool m_bSavedIsPlaying; // 0x4a4 +private: + [[maybe_unused]] uint8_t __pad04a5[0x3]; // 0x4a5 +public: + float m_flSavedElapsedTime; // 0x4a8 +private: + [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac +public: + CUtlSymbolLarge m_iszSourceEntityName; // 0x4b0 + CUtlSymbolLarge m_iszAttachmentName; // 0x4b8 + CEntityOutputTemplate< uint64 > m_onGUIDChanged; // 0x4c0 + CEntityIOOutput m_onSoundFinished; // 0x4e8 +private: + [[maybe_unused]] uint8_t __pad0510[0x20]; // 0x510 +public: + CUtlSymbolLarge m_iszSoundName; // 0x530 +private: + [[maybe_unused]] uint8_t __pad0538[0x8]; // 0x538 +public: + CEntityHandle m_hSource; // 0x540 }; // Alignment: 0 // Size: 0x548 -class CSoundEventEntityAlias_snd_event_point : public CSoundEventEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSoundEventEntityAlias_snd_event_point : public CSoundEventEntity +{ public: // no members available }; // Alignment: 2 // Size: 0x560 -class CSoundEventAABBEntity : public CSoundEventEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSoundEventAABBEntity : public CSoundEventEntity +{ public: - Vector m_vMins; // 0x548 - Vector m_vMaxs; // 0x554 + Vector m_vMins; // 0x548 + Vector m_vMaxs; // 0x554 }; // Alignment: 6 // Size: 0x588 -class CSoundEventPathCornerEntity : public CSoundEventEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSoundEventPathCornerEntity : public CSoundEventEntity +{ public: - CUtlSymbolLarge m_iszPathCorner; // 0x548 - int32_t m_iCountMax; // 0x550 - float m_flDistanceMax; // 0x554 - float m_flDistMaxSqr; // 0x558 - float m_flDotProductMax; // 0x55c - bool bPlaying; // 0x560 + CUtlSymbolLarge m_iszPathCorner; // 0x548 + int32_t m_iCountMax; // 0x550 + float m_flDistanceMax; // 0x554 + float m_flDistMaxSqr; // 0x558 + float m_flDotProductMax; // 0x55c + bool bPlaying; // 0x560 }; // Alignment: 2 // Size: 0x4b8 -class CSoundEventParameter : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSoundEventParameter : public CBaseEntity +{ public: - CUtlSymbolLarge m_iszParamName; // 0x4a8 - float m_flFloatValue; // 0x4b0 + CUtlSymbolLarge m_iszParamName; // 0x4a8 + float m_flFloatValue; // 0x4b0 }; // Alignment: 0 // Size: 0x540 -class CEnvSoundscapeProxyAlias_snd_soundscape_proxy : public CEnvSoundscapeProxy, CEnvSoundscape, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvSoundscapeProxyAlias_snd_soundscape_proxy : public CEnvSoundscapeProxy +{ public: // no members available }; // Alignment: 0 // Size: 0x538 -class CEnvSoundscapeAlias_snd_soundscape : public CEnvSoundscape, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvSoundscapeAlias_snd_soundscape : public CEnvSoundscape +{ public: // no members available }; // Alignment: 0 // Size: 0x538 -class CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable : public CEnvSoundscapeTriggerable, CEnvSoundscape, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable : public CEnvSoundscapeTriggerable +{ public: // no members available }; // Alignment: 0 // Size: 0x4a0 -class CNullEntity : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CNullEntity : public CBaseEntity +{ public: // no members available }; // Alignment: 1 // Size: 0x4a8 -class CBaseDMStart : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseDMStart : public CPointEntity +{ public: - CUtlSymbolLarge m_Master; // 0x4a0 + CUtlSymbolLarge m_Master; // 0x4a0 }; // Alignment: 0 // Size: 0x4a0 -class CInfoLandmark : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoLandmark : public CPointEntity +{ public: // no members available }; // Alignment: 14 // Size: 0x738 -class CSun : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSun : public CBaseModelEntity +{ public: // MNetworkEnable - Vector m_vDirection; // 0x6f0 + Vector m_vDirection; // 0x6f0 // MNetworkEnable - Color m_clrOverlay; // 0x6fc + Color m_clrOverlay; // 0x6fc // MNetworkEnable - CUtlSymbolLarge m_iszEffectName; // 0x700 + CUtlSymbolLarge m_iszEffectName; // 0x700 // MNetworkEnable - CUtlSymbolLarge m_iszSSEffectName; // 0x708 + CUtlSymbolLarge m_iszSSEffectName; // 0x708 // MNetworkEnable - bool m_bOn; // 0x710 + bool m_bOn; // 0x710 // MNetworkEnable - bool m_bmaxColor; // 0x711 + bool m_bmaxColor; // 0x711 +private: + [[maybe_unused]] uint8_t __pad0712[0x2]; // 0x712 +public: // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" - float m_flSize; // 0x714 + float m_flSize; // 0x714 // MNetworkEnable // MNetworkMinValue "-360" // MNetworkMaxValue "360" - float m_flRotation; // 0x718 + float m_flRotation; // 0x718 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" - float m_flHazeScale; // 0x71c + float m_flHazeScale; // 0x71c // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" - float m_flAlphaHaze; // 0x720 + float m_flAlphaHaze; // 0x720 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" - float m_flAlphaHdr; // 0x724 + float m_flAlphaHdr; // 0x724 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" - float m_flAlphaScale; // 0x728 + float m_flAlphaScale; // 0x728 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" - float m_flHDRColorScale; // 0x72c + float m_flHDRColorScale; // 0x72c // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "1" - float m_flFarZScale; // 0x730 + float m_flFarZScale; // 0x730 }; // Alignment: 2 // Size: 0x4b8 -class CTankTargetChange : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTankTargetChange : public CPointEntity +{ public: - CVariantBase< CVariantDefaultAllocator > m_newTarget; // 0x4a0 - CUtlSymbolLarge m_newTargetName; // 0x4b0 + CVariantBase< CVariantDefaultAllocator > m_newTarget; // 0x4a0 + CUtlSymbolLarge m_newTargetName; // 0x4b0 }; // Alignment: 7 // Size: 0x4e0 -class CTankTrainAI : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTankTrainAI : public CPointEntity +{ public: - CHandle< CFuncTrackTrain > m_hTrain; // 0x4a0 - CHandle< CBaseEntity > m_hTargetEntity; // 0x4a4 - int32_t m_soundPlaying; // 0x4a8 - CUtlSymbolLarge m_startSoundName; // 0x4c0 - CUtlSymbolLarge m_engineSoundName; // 0x4c8 - CUtlSymbolLarge m_movementSoundName; // 0x4d0 - CUtlSymbolLarge m_targetEntityName; // 0x4d8 + CHandle< CFuncTrackTrain > m_hTrain; // 0x4a0 + CHandle< CBaseEntity > m_hTargetEntity; // 0x4a4 + int32_t m_soundPlaying; // 0x4a8 +private: + [[maybe_unused]] uint8_t __pad04ac[0x14]; // 0x4ac +public: + CUtlSymbolLarge m_startSoundName; // 0x4c0 + CUtlSymbolLarge m_engineSoundName; // 0x4c8 + CUtlSymbolLarge m_movementSoundName; // 0x4d0 + CUtlSymbolLarge m_targetEntityName; // 0x4d8 }; // Alignment: 2 // Size: 0x4a8 -class CHandleTest : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CHandleTest : public CBaseEntity +{ public: // MNetworkEnable - CHandle< CBaseEntity > m_Handle; // 0x4a0 + CHandle< CBaseEntity > m_Handle; // 0x4a0 // MNetworkEnable - bool m_bSendHandle; // 0x4a4 + bool m_bSendHandle; // 0x4a4 }; // Alignment: 0 // Size: 0x4a0 -class CHandleDummy : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CHandleDummy : public CBaseEntity +{ public: // no members available }; // Alignment: 1 // Size: 0x6f8 -class CPlatTrigger : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPlatTrigger : public CBaseModelEntity +{ public: - CHandle< CFuncPlat > m_pPlatform; // 0x6f0 + CHandle< CFuncPlat > m_pPlatform; // 0x6f0 }; // Alignment: 0 // Size: 0x6f0 -class CFuncTrainControls : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncTrainControls : public CBaseModelEntity +{ public: // no members available }; // Alignment: 2 // Size: 0x700 -class CTriggerVolume : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerVolume : public CBaseModelEntity +{ public: - CUtlSymbolLarge m_iFilterName; // 0x6f0 - CHandle< CBaseFilter > m_hFilter; // 0x6f8 + CUtlSymbolLarge m_iFilterName; // 0x6f0 + CHandle< CBaseFilter > m_hFilter; // 0x6f8 }; // Alignment: 0 // Size: 0x4a0 -class CInfoTeleportDestination : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoTeleportDestination : public CPointEntity +{ public: // no members available }; // Alignment: 1 // Size: 0x4a8 -class CAI_ChangeTarget : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CAI_ChangeTarget : public CBaseEntity +{ public: - CUtlSymbolLarge m_iszNewTarget; // 0x4a0 + CUtlSymbolLarge m_iszNewTarget; // 0x4a0 }; // Alignment: 4 // Size: 0x4c0 -class CAI_ChangeHintGroup : public CBaseEntity, CEntityInstance, IHandleEntity -{ +class CAI_ChangeHintGroup : public CBaseEntity +{ public: - int32_t m_iSearchType; // 0x4a0 - CUtlSymbolLarge m_strSearchName; // 0x4a8 - CUtlSymbolLarge m_strNewHintGroup; // 0x4b0 - float m_flRadius; // 0x4b8 + int32_t m_iSearchType; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 +public: + CUtlSymbolLarge m_strSearchName; // 0x4a8 + CUtlSymbolLarge m_strNewHintGroup; // 0x4b0 + float m_flRadius; // 0x4b8 }; // Alignment: 0 // Size: 0x4a0 -class CLogicProximity : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLogicProximity : public CPointEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x4a0 -class CInfoSpawnGroupLandmark : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoSpawnGroupLandmark : public CPointEntity +{ public: // no members available }; // Alignment: 11 // Size: 0x5a0 -class CInfoSpawnGroupLoadUnload : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoSpawnGroupLoadUnload : public CLogicalEntity +{ public: - CEntityIOOutput m_OnSpawnGroupLoadStarted; // 0x4a0 - CEntityIOOutput m_OnSpawnGroupLoadFinished; // 0x4c8 - CEntityIOOutput m_OnSpawnGroupUnloadStarted; // 0x4f0 - CEntityIOOutput m_OnSpawnGroupUnloadFinished; // 0x518 - CUtlSymbolLarge m_iszSpawnGroupName; // 0x540 - CUtlSymbolLarge m_iszSpawnGroupFilterName; // 0x548 - CUtlSymbolLarge m_iszLandmarkName; // 0x550 - CUtlString m_sFixedSpawnGroupName; // 0x558 - float m_flTimeoutInterval; // 0x560 - bool m_bStreamingStarted; // 0x564 - bool m_bUnloadingStarted; // 0x565 + CEntityIOOutput m_OnSpawnGroupLoadStarted; // 0x4a0 + CEntityIOOutput m_OnSpawnGroupLoadFinished; // 0x4c8 + CEntityIOOutput m_OnSpawnGroupUnloadStarted; // 0x4f0 + CEntityIOOutput m_OnSpawnGroupUnloadFinished; // 0x518 + CUtlSymbolLarge m_iszSpawnGroupName; // 0x540 + CUtlSymbolLarge m_iszSpawnGroupFilterName; // 0x548 + CUtlSymbolLarge m_iszLandmarkName; // 0x550 + CUtlString m_sFixedSpawnGroupName; // 0x558 + float m_flTimeoutInterval; // 0x560 + bool m_bStreamingStarted; // 0x564 + bool m_bUnloadingStarted; // 0x565 }; // Alignment: 1 // Size: 0x700 -class CFuncNavObstruction : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncNavObstruction : public CBaseModelEntity +{ public: - bool m_bDisabled; // 0x6f8 + bool m_bDisabled; // 0x6f8 }; // Alignment: 10 // Size: 0x538 -class CAmbientGeneric : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CAmbientGeneric : public CPointEntity +{ public: - float m_radius; // 0x4a0 - float m_flMaxRadius; // 0x4a4 - soundlevel_t m_iSoundLevel; // 0x4a8 - dynpitchvol_t m_dpv; // 0x4ac - bool m_fActive; // 0x510 - bool m_fLooping; // 0x511 - CUtlSymbolLarge m_iszSound; // 0x518 - CUtlSymbolLarge m_sSourceEntName; // 0x520 - CHandle< CBaseEntity > m_hSoundSource; // 0x528 - CEntityIndex m_nSoundSourceEntIndex; // 0x52c + float m_radius; // 0x4a0 + float m_flMaxRadius; // 0x4a4 + soundlevel_t m_iSoundLevel; // 0x4a8 + dynpitchvol_t m_dpv; // 0x4ac + bool m_fActive; // 0x510 + bool m_fLooping; // 0x511 +private: + [[maybe_unused]] uint8_t __pad0512[0x6]; // 0x512 +public: + CUtlSymbolLarge m_iszSound; // 0x518 + CUtlSymbolLarge m_sSourceEntName; // 0x520 + CHandle< CBaseEntity > m_hSoundSource; // 0x528 + CEntityIndex m_nSoundSourceEntIndex; // 0x52c }; // Alignment: 2 // Size: 0x10 struct RelationshipOverride_t : public Relationship_t -{ +{ public: - CHandle< CBaseEntity > entity; // 0x8 - Class_T classType; // 0xc + CHandle< CBaseEntity > entity; // 0x8 + Class_T classType; // 0xc }; // Alignment: 16 // Size: 0x770 -class CBaseToggle : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseToggle : public CBaseModelEntity +{ public: - TOGGLE_STATE m_toggle_state; // 0x6f0 - float m_flMoveDistance; // 0x6f4 - float m_flWait; // 0x6f8 - float m_flLip; // 0x6fc - bool m_bAlwaysFireBlockedOutputs; // 0x700 - Vector m_vecPosition1; // 0x704 - Vector m_vecPosition2; // 0x710 - QAngle m_vecMoveAng; // 0x71c - QAngle m_vecAngle1; // 0x728 - QAngle m_vecAngle2; // 0x734 - float m_flHeight; // 0x740 - CHandle< CBaseEntity > m_hActivator; // 0x744 - Vector m_vecFinalDest; // 0x748 - QAngle m_vecFinalAngle; // 0x754 - int32_t m_movementType; // 0x760 - CUtlSymbolLarge m_sMaster; // 0x768 + TOGGLE_STATE m_toggle_state; // 0x6f0 + float m_flMoveDistance; // 0x6f4 + float m_flWait; // 0x6f8 + float m_flLip; // 0x6fc + bool m_bAlwaysFireBlockedOutputs; // 0x700 +private: + [[maybe_unused]] uint8_t __pad0701[0x3]; // 0x701 +public: + Vector m_vecPosition1; // 0x704 + Vector m_vecPosition2; // 0x710 + QAngle m_vecMoveAng; // 0x71c + QAngle m_vecAngle1; // 0x728 + QAngle m_vecAngle2; // 0x734 + float m_flHeight; // 0x740 + CHandle< CBaseEntity > m_hActivator; // 0x744 + Vector m_vecFinalDest; // 0x748 + QAngle m_vecFinalAngle; // 0x754 + int32_t m_movementType; // 0x760 +private: + [[maybe_unused]] uint8_t __pad0764[0x4]; // 0x764 +public: + CUtlSymbolLarge m_sMaster; // 0x768 }; // Alignment: 24 // Size: 0x8b8 -class CBaseButton : public CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseButton : public CBaseToggle +{ public: - QAngle m_angMoveEntitySpace; // 0x770 - bool m_fStayPushed; // 0x77c - bool m_fRotating; // 0x77d - locksound_t m_ls; // 0x780 - CUtlSymbolLarge m_sUseSound; // 0x7a0 - CUtlSymbolLarge m_sLockedSound; // 0x7a8 - CUtlSymbolLarge m_sUnlockedSound; // 0x7b0 - bool m_bLocked; // 0x7b8 - bool m_bDisabled; // 0x7b9 - GameTime_t m_flUseLockedTime; // 0x7bc - bool m_bSolidBsp; // 0x7c0 - CEntityIOOutput m_OnDamaged; // 0x7c8 - CEntityIOOutput m_OnPressed; // 0x7f0 - CEntityIOOutput m_OnUseLocked; // 0x818 - CEntityIOOutput m_OnIn; // 0x840 - CEntityIOOutput m_OnOut; // 0x868 - int32_t m_nState; // 0x890 - CEntityHandle m_hConstraint; // 0x894 - CEntityHandle m_hConstraintParent; // 0x898 - bool m_bForceNpcExclude; // 0x89c - CUtlSymbolLarge m_sGlowEntity; // 0x8a0 + QAngle m_angMoveEntitySpace; // 0x770 + bool m_fStayPushed; // 0x77c + bool m_fRotating; // 0x77d +private: + [[maybe_unused]] uint8_t __pad077e[0x2]; // 0x77e +public: + locksound_t m_ls; // 0x780 + CUtlSymbolLarge m_sUseSound; // 0x7a0 + CUtlSymbolLarge m_sLockedSound; // 0x7a8 + CUtlSymbolLarge m_sUnlockedSound; // 0x7b0 + bool m_bLocked; // 0x7b8 + bool m_bDisabled; // 0x7b9 +private: + [[maybe_unused]] uint8_t __pad07ba[0x2]; // 0x7ba +public: + GameTime_t m_flUseLockedTime; // 0x7bc + bool m_bSolidBsp; // 0x7c0 +private: + [[maybe_unused]] uint8_t __pad07c1[0x7]; // 0x7c1 +public: + CEntityIOOutput m_OnDamaged; // 0x7c8 + CEntityIOOutput m_OnPressed; // 0x7f0 + CEntityIOOutput m_OnUseLocked; // 0x818 + CEntityIOOutput m_OnIn; // 0x840 + CEntityIOOutput m_OnOut; // 0x868 + int32_t m_nState; // 0x890 + CEntityHandle m_hConstraint; // 0x894 + CEntityHandle m_hConstraintParent; // 0x898 + bool m_bForceNpcExclude; // 0x89c +private: + [[maybe_unused]] uint8_t __pad089d[0x3]; // 0x89d +public: + CUtlSymbolLarge m_sGlowEntity; // 0x8a0 // MNetworkEnable - CHandle< CBaseModelEntity > m_glowEntity; // 0x8a8 + CHandle< CBaseModelEntity > m_glowEntity; // 0x8a8 // MNetworkEnable - bool m_usable; // 0x8ac + bool m_usable; // 0x8ac +private: + [[maybe_unused]] uint8_t __pad08ad[0x3]; // 0x8ad +public: // MNetworkEnable - CUtlSymbolLarge m_szDisplayText; // 0x8b0 + CUtlSymbolLarge m_szDisplayText; // 0x8b0 }; // Alignment: 0 // Size: 0x8b8 -class CPhysicalButton : public CBaseButton, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysicalButton : public CBaseButton +{ public: // no members available }; // Alignment: 0 // Size: 0x8b8 -class CRotButton : public CBaseButton, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRotButton : public CBaseButton +{ public: // no members available }; // Alignment: 14 // Size: 0x9b8 -class CMomentaryRotButton : public CRotButton, CBaseButton, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMomentaryRotButton : public CRotButton +{ public: - CEntityOutputTemplate< float32 > m_Position; // 0x8b8 - CEntityIOOutput m_OnUnpressed; // 0x8e0 - CEntityIOOutput m_OnFullyOpen; // 0x908 - CEntityIOOutput m_OnFullyClosed; // 0x930 - CEntityIOOutput m_OnReachedPosition; // 0x958 - int32_t m_lastUsed; // 0x980 - QAngle m_start; // 0x984 - QAngle m_end; // 0x990 - float m_IdealYaw; // 0x99c - CUtlSymbolLarge m_sNoise; // 0x9a0 - bool m_bUpdateTarget; // 0x9a8 - int32_t m_direction; // 0x9ac - float m_returnSpeed; // 0x9b0 - float m_flStartPosition; // 0x9b4 + CEntityOutputTemplate< float32 > m_Position; // 0x8b8 + CEntityIOOutput m_OnUnpressed; // 0x8e0 + CEntityIOOutput m_OnFullyOpen; // 0x908 + CEntityIOOutput m_OnFullyClosed; // 0x930 + CEntityIOOutput m_OnReachedPosition; // 0x958 + int32_t m_lastUsed; // 0x980 + QAngle m_start; // 0x984 + QAngle m_end; // 0x990 + float m_IdealYaw; // 0x99c + CUtlSymbolLarge m_sNoise; // 0x9a0 + bool m_bUpdateTarget; // 0x9a8 +private: + [[maybe_unused]] uint8_t __pad09a9[0x3]; // 0x9a9 +public: + int32_t m_direction; // 0x9ac + float m_returnSpeed; // 0x9b0 + float m_flStartPosition; // 0x9b4 }; // Alignment: 4 // Size: 0x4b8 -class CRagdollMagnet : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRagdollMagnet : public CPointEntity +{ public: - bool m_bDisabled; // 0x4a0 - float m_radius; // 0x4a4 - float m_force; // 0x4a8 - Vector m_axis; // 0x4ac + bool m_bDisabled; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + float m_radius; // 0x4a4 + float m_force; // 0x4a8 + Vector m_axis; // 0x4ac }; // Alignment: 27 // Size: 0x978 -class CBaseDoor : public CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseDoor : public CBaseToggle +{ public: - QAngle m_angMoveEntitySpace; // 0x780 - Vector m_vecMoveDirParentSpace; // 0x78c - locksound_t m_ls; // 0x798 - bool m_bForceClosed; // 0x7b8 - bool m_bDoorGroup; // 0x7b9 - bool m_bLocked; // 0x7ba - bool m_bIgnoreDebris; // 0x7bb - FuncDoorSpawnPos_t m_eSpawnPosition; // 0x7bc - float m_flBlockDamage; // 0x7c0 - CUtlSymbolLarge m_NoiseMoving; // 0x7c8 - CUtlSymbolLarge m_NoiseArrived; // 0x7d0 - CUtlSymbolLarge m_NoiseMovingClosed; // 0x7d8 - CUtlSymbolLarge m_NoiseArrivedClosed; // 0x7e0 - CUtlSymbolLarge m_ChainTarget; // 0x7e8 - CEntityIOOutput m_OnBlockedClosing; // 0x7f0 - CEntityIOOutput m_OnBlockedOpening; // 0x818 - CEntityIOOutput m_OnUnblockedClosing; // 0x840 - CEntityIOOutput m_OnUnblockedOpening; // 0x868 - CEntityIOOutput m_OnFullyClosed; // 0x890 - CEntityIOOutput m_OnFullyOpen; // 0x8b8 - CEntityIOOutput m_OnClose; // 0x8e0 - CEntityIOOutput m_OnOpen; // 0x908 - CEntityIOOutput m_OnLockedUse; // 0x930 - bool m_bLoopMoveSound; // 0x958 - bool m_bCreateNavObstacle; // 0x970 - bool m_isChaining; // 0x971 + QAngle m_angMoveEntitySpace; // 0x780 + Vector m_vecMoveDirParentSpace; // 0x78c + locksound_t m_ls; // 0x798 + bool m_bForceClosed; // 0x7b8 + bool m_bDoorGroup; // 0x7b9 + bool m_bLocked; // 0x7ba + bool m_bIgnoreDebris; // 0x7bb + FuncDoorSpawnPos_t m_eSpawnPosition; // 0x7bc + float m_flBlockDamage; // 0x7c0 +private: + [[maybe_unused]] uint8_t __pad07c4[0x4]; // 0x7c4 +public: + CUtlSymbolLarge m_NoiseMoving; // 0x7c8 + CUtlSymbolLarge m_NoiseArrived; // 0x7d0 + CUtlSymbolLarge m_NoiseMovingClosed; // 0x7d8 + CUtlSymbolLarge m_NoiseArrivedClosed; // 0x7e0 + CUtlSymbolLarge m_ChainTarget; // 0x7e8 + CEntityIOOutput m_OnBlockedClosing; // 0x7f0 + CEntityIOOutput m_OnBlockedOpening; // 0x818 + CEntityIOOutput m_OnUnblockedClosing; // 0x840 + CEntityIOOutput m_OnUnblockedOpening; // 0x868 + CEntityIOOutput m_OnFullyClosed; // 0x890 + CEntityIOOutput m_OnFullyOpen; // 0x8b8 + CEntityIOOutput m_OnClose; // 0x8e0 + CEntityIOOutput m_OnOpen; // 0x908 + CEntityIOOutput m_OnLockedUse; // 0x930 + bool m_bLoopMoveSound; // 0x958 +private: + [[maybe_unused]] uint8_t __pad0959[0x17]; // 0x959 +public: + bool m_bCreateNavObstacle; // 0x970 + bool m_isChaining; // 0x971 // MNetworkEnable - bool m_bIsUsable; // 0x972 + bool m_bIsUsable; // 0x972 }; // Alignment: 0 // Size: 0x6f0 -class CEntityBlocker : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEntityBlocker : public CBaseModelEntity +{ public: // no members available }; // Alignment: 10 // Size: 0x720 -class CEntityDissolve : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEntityDissolve : public CBaseModelEntity +{ public: // MNetworkEnable - float m_flFadeInStart; // 0x6f0 + float m_flFadeInStart; // 0x6f0 // MNetworkEnable - float m_flFadeInLength; // 0x6f4 + float m_flFadeInLength; // 0x6f4 // MNetworkEnable - float m_flFadeOutModelStart; // 0x6f8 + float m_flFadeOutModelStart; // 0x6f8 // MNetworkEnable - float m_flFadeOutModelLength; // 0x6fc + float m_flFadeOutModelLength; // 0x6fc // MNetworkEnable - float m_flFadeOutStart; // 0x700 + float m_flFadeOutStart; // 0x700 // MNetworkEnable - float m_flFadeOutLength; // 0x704 + float m_flFadeOutLength; // 0x704 // MNetworkEnable - GameTime_t m_flStartTime; // 0x708 + GameTime_t m_flStartTime; // 0x708 // MNetworkEnable - EntityDisolveType_t m_nDissolveType; // 0x70c + EntityDisolveType_t m_nDissolveType; // 0x70c // MNetworkEnable - Vector m_vDissolverOrigin; // 0x710 + Vector m_vDissolverOrigin; // 0x710 // MNetworkEnable - uint32_t m_nMagnitude; // 0x71c + uint32_t m_nMagnitude; // 0x71c }; // Alignment: 30 // Size: 0x958 -class CEnvProjectedTexture : public CModelPointEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvProjectedTexture : public CModelPointEntity +{ public: // MNetworkEnable - CHandle< CBaseEntity > m_hTargetEntity; // 0x6f0 + CHandle< CBaseEntity > m_hTargetEntity; // 0x6f0 // MNetworkEnable - bool m_bState; // 0x6f4 + bool m_bState; // 0x6f4 // MNetworkEnable - bool m_bAlwaysUpdate; // 0x6f5 + bool m_bAlwaysUpdate; // 0x6f5 +private: + [[maybe_unused]] uint8_t __pad06f6[0x2]; // 0x6f6 +public: // MNetworkEnable - float m_flLightFOV; // 0x6f8 + float m_flLightFOV; // 0x6f8 // MNetworkEnable - bool m_bEnableShadows; // 0x6fc + bool m_bEnableShadows; // 0x6fc // MNetworkEnable - bool m_bSimpleProjection; // 0x6fd + bool m_bSimpleProjection; // 0x6fd // MNetworkEnable - bool m_bLightOnlyTarget; // 0x6fe + bool m_bLightOnlyTarget; // 0x6fe // MNetworkEnable - bool m_bLightWorld; // 0x6ff + bool m_bLightWorld; // 0x6ff // MNetworkEnable - bool m_bCameraSpace; // 0x700 + bool m_bCameraSpace; // 0x700 +private: + [[maybe_unused]] uint8_t __pad0701[0x3]; // 0x701 +public: // MNetworkEnable - float m_flBrightnessScale; // 0x704 + float m_flBrightnessScale; // 0x704 // MNetworkEnable - Color m_LightColor; // 0x708 + Color m_LightColor; // 0x708 // MNetworkEnable - float m_flIntensity; // 0x70c + float m_flIntensity; // 0x70c // MNetworkEnable - float m_flLinearAttenuation; // 0x710 + float m_flLinearAttenuation; // 0x710 // MNetworkEnable - float m_flQuadraticAttenuation; // 0x714 + float m_flQuadraticAttenuation; // 0x714 // MNetworkEnable - bool m_bVolumetric; // 0x718 + bool m_bVolumetric; // 0x718 +private: + [[maybe_unused]] uint8_t __pad0719[0x3]; // 0x719 +public: // MNetworkEnable - float m_flNoiseStrength; // 0x71c + float m_flNoiseStrength; // 0x71c // MNetworkEnable - float m_flFlashlightTime; // 0x720 + float m_flFlashlightTime; // 0x720 // MNetworkEnable - uint32_t m_nNumPlanes; // 0x724 + uint32_t m_nNumPlanes; // 0x724 // MNetworkEnable - float m_flPlaneOffset; // 0x728 + float m_flPlaneOffset; // 0x728 // MNetworkEnable - float m_flVolumetricIntensity; // 0x72c + float m_flVolumetricIntensity; // 0x72c // MNetworkEnable - float m_flColorTransitionTime; // 0x730 + float m_flColorTransitionTime; // 0x730 // MNetworkEnable - float m_flAmbient; // 0x734 + float m_flAmbient; // 0x734 // MNetworkEnable - char[512] m_SpotlightTextureName; // 0x738 + char m_SpotlightTextureName[512]; // 0x738 // MNetworkEnable - int32_t m_nSpotlightTextureFrame; // 0x938 + int32_t m_nSpotlightTextureFrame; // 0x938 // MNetworkEnable - uint32_t m_nShadowQuality; // 0x93c + uint32_t m_nShadowQuality; // 0x93c // MNetworkEnable // MNetworkBitCount "16" // MNetworkMinValue "0" // MNetworkMaxValue "500" // MNetworkEncodeFlags - float m_flNearZ; // 0x940 + float m_flNearZ; // 0x940 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "0" // MNetworkMaxValue "1500" // MNetworkEncodeFlags - float m_flFarZ; // 0x944 + float m_flFarZ; // 0x944 // MNetworkEnable - float m_flProjectionSize; // 0x948 + float m_flProjectionSize; // 0x948 // MNetworkEnable - float m_flRotation; // 0x94c + float m_flRotation; // 0x94c // MNetworkEnable - bool m_bFlipHorizontal; // 0x950 + bool m_bFlipHorizontal; // 0x950 }; // Alignment: 9 // Size: 0x710 -class CEnvDecal : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvDecal : public CBaseModelEntity +{ public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hDecalMaterial; // 0x6f0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hDecalMaterial; // 0x6f0 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" - float m_flWidth; // 0x6f8 + float m_flWidth; // 0x6f8 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" - float m_flHeight; // 0x6fc + float m_flHeight; // 0x6fc // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" - float m_flDepth; // 0x700 + float m_flDepth; // 0x700 // MNetworkEnable - uint32_t m_nRenderOrder; // 0x704 + uint32_t m_nRenderOrder; // 0x704 // MNetworkEnable - bool m_bProjectOnWorld; // 0x708 + bool m_bProjectOnWorld; // 0x708 // MNetworkEnable - bool m_bProjectOnCharacters; // 0x709 + bool m_bProjectOnCharacters; // 0x709 // MNetworkEnable - bool m_bProjectOnWater; // 0x70a + bool m_bProjectOnWater; // 0x70a +private: + [[maybe_unused]] uint8_t __pad070b[0x1]; // 0x70b +public: // MNetworkEnable - float m_flDepthSortBias; // 0x70c + float m_flDepthSortBias; // 0x70c }; // Alignment: 6 // Size: 0x4e8 -class CMessage : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMessage : public CPointEntity +{ public: - CUtlSymbolLarge m_iszMessage; // 0x4a0 - float m_MessageVolume; // 0x4a8 - int32_t m_MessageAttenuation; // 0x4ac - float m_Radius; // 0x4b0 - CUtlSymbolLarge m_sNoise; // 0x4b8 - CEntityIOOutput m_OnShowMessage; // 0x4c0 + CUtlSymbolLarge m_iszMessage; // 0x4a0 + float m_MessageVolume; // 0x4a8 + int32_t m_MessageAttenuation; // 0x4ac + float m_Radius; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 +public: + CUtlSymbolLarge m_sNoise; // 0x4b8 + CEntityIOOutput m_OnShowMessage; // 0x4c0 }; // Alignment: 17 // Size: 0x660 -class CEnvMicrophone : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvMicrophone : public CPointEntity +{ public: - bool m_bDisabled; // 0x4a0 - CHandle< CBaseEntity > m_hMeasureTarget; // 0x4a4 - int32_t m_nSoundMask; // 0x4a8 - float m_flSensitivity; // 0x4ac - float m_flSmoothFactor; // 0x4b0 - float m_flMaxRange; // 0x4b4 - CUtlSymbolLarge m_iszSpeakerName; // 0x4b8 - CHandle< CBaseEntity > m_hSpeaker; // 0x4c0 - bool m_bAvoidFeedback; // 0x4c4 - int32_t m_iSpeakerDSPPreset; // 0x4c8 - CUtlSymbolLarge m_iszListenFilter; // 0x4d0 - CHandle< CBaseFilter > m_hListenFilter; // 0x4d8 - CEntityOutputTemplate< float32 > m_SoundLevel; // 0x4e0 - CEntityIOOutput m_OnRoutedSound; // 0x508 - CEntityIOOutput m_OnHeardSound; // 0x530 - char[256] m_szLastSound; // 0x558 - int32_t m_iLastRoutedFrame; // 0x658 + bool m_bDisabled; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + CHandle< CBaseEntity > m_hMeasureTarget; // 0x4a4 + int32_t m_nSoundMask; // 0x4a8 + float m_flSensitivity; // 0x4ac + float m_flSmoothFactor; // 0x4b0 + float m_flMaxRange; // 0x4b4 + CUtlSymbolLarge m_iszSpeakerName; // 0x4b8 + CHandle< CBaseEntity > m_hSpeaker; // 0x4c0 + bool m_bAvoidFeedback; // 0x4c4 +private: + [[maybe_unused]] uint8_t __pad04c5[0x3]; // 0x4c5 +public: + int32_t m_iSpeakerDSPPreset; // 0x4c8 +private: + [[maybe_unused]] uint8_t __pad04cc[0x4]; // 0x4cc +public: + CUtlSymbolLarge m_iszListenFilter; // 0x4d0 + CHandle< CBaseFilter > m_hListenFilter; // 0x4d8 +private: + [[maybe_unused]] uint8_t __pad04dc[0x4]; // 0x4dc +public: + CEntityOutputTemplate< float32 > m_SoundLevel; // 0x4e0 + CEntityIOOutput m_OnRoutedSound; // 0x508 + CEntityIOOutput m_OnHeardSound; // 0x530 + char m_szLastSound[256]; // 0x558 + int32_t m_iLastRoutedFrame; // 0x658 }; // Alignment: 21 // Size: 0x7b0 -class CBreakable : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBreakable : public CBaseModelEntity +{ public: - Materials m_Material; // 0x700 - CHandle< CBaseEntity > m_hBreaker; // 0x704 - Explosions m_Explosion; // 0x708 - CUtlSymbolLarge m_iszSpawnObject; // 0x710 - float m_flPressureDelay; // 0x718 - int32_t m_iMinHealthDmg; // 0x71c - CUtlSymbolLarge m_iszPropData; // 0x720 - float m_impactEnergyScale; // 0x728 - EOverrideBlockLOS_t m_nOverrideBlockLOS; // 0x72c - CEntityIOOutput m_OnBreak; // 0x730 - CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x758 - float m_flDmgModBullet; // 0x780 - float m_flDmgModClub; // 0x784 - float m_flDmgModExplosive; // 0x788 - float m_flDmgModFire; // 0x78c - CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x790 - CUtlSymbolLarge m_iszBasePropData; // 0x798 - int32_t m_iInteractions; // 0x7a0 - PerformanceMode_t m_PerformanceMode; // 0x7a4 - CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x7a8 - GameTime_t m_flLastPhysicsInfluenceTime; // 0x7ac + Materials m_Material; // 0x700 + CHandle< CBaseEntity > m_hBreaker; // 0x704 + Explosions m_Explosion; // 0x708 +private: + [[maybe_unused]] uint8_t __pad070c[0x4]; // 0x70c +public: + CUtlSymbolLarge m_iszSpawnObject; // 0x710 + float m_flPressureDelay; // 0x718 + int32_t m_iMinHealthDmg; // 0x71c + CUtlSymbolLarge m_iszPropData; // 0x720 + float m_impactEnergyScale; // 0x728 + EOverrideBlockLOS_t m_nOverrideBlockLOS; // 0x72c + CEntityIOOutput m_OnBreak; // 0x730 + CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x758 + float m_flDmgModBullet; // 0x780 + float m_flDmgModClub; // 0x784 + float m_flDmgModExplosive; // 0x788 + float m_flDmgModFire; // 0x78c + CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x790 + CUtlSymbolLarge m_iszBasePropData; // 0x798 + int32_t m_iInteractions; // 0x7a0 + PerformanceMode_t m_PerformanceMode; // 0x7a4 + CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x7a8 + GameTime_t m_flLastPhysicsInfluenceTime; // 0x7ac }; // Alignment: 12 // Size: 0x820 -class CFuncMoveLinear : public CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncMoveLinear : public CBaseToggle +{ public: - MoveLinearAuthoredPos_t m_authoredPosition; // 0x770 - QAngle m_angMoveEntitySpace; // 0x774 - Vector m_vecMoveDirParentSpace; // 0x780 - CUtlSymbolLarge m_soundStart; // 0x790 - CUtlSymbolLarge m_soundStop; // 0x798 - CUtlSymbolLarge m_currentSound; // 0x7a0 - float m_flBlockDamage; // 0x7a8 - float m_flStartPosition; // 0x7ac - float m_flMoveDistance; // 0x7b0 - CEntityIOOutput m_OnFullyOpen; // 0x7c0 - CEntityIOOutput m_OnFullyClosed; // 0x7e8 - bool m_bCreateNavObstacle; // 0x810 + MoveLinearAuthoredPos_t m_authoredPosition; // 0x770 + QAngle m_angMoveEntitySpace; // 0x774 + Vector m_vecMoveDirParentSpace; // 0x780 +private: + [[maybe_unused]] uint8_t __pad078c[0x4]; // 0x78c +public: + CUtlSymbolLarge m_soundStart; // 0x790 + CUtlSymbolLarge m_soundStop; // 0x798 + CUtlSymbolLarge m_currentSound; // 0x7a0 + float m_flBlockDamage; // 0x7a8 + float m_flStartPosition; // 0x7ac + float m_flMoveDistance; // 0x7b0 +private: + [[maybe_unused]] uint8_t __pad07b4[0xc]; // 0x7b4 +public: + CEntityIOOutput m_OnFullyOpen; // 0x7c0 + CEntityIOOutput m_OnFullyClosed; // 0x7e8 + bool m_bCreateNavObstacle; // 0x810 }; // Alignment: 14 // Size: 0x758 -class CFuncRotating : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncRotating : public CBaseModelEntity +{ public: - QAngle m_vecMoveAng; // 0x6f0 - float m_flFanFriction; // 0x6fc - float m_flAttenuation; // 0x700 - float m_flVolume; // 0x704 - float m_flTargetSpeed; // 0x708 - float m_flMaxSpeed; // 0x70c - float m_flBlockDamage; // 0x710 - float m_flTimeScale; // 0x714 - CUtlSymbolLarge m_NoiseRunning; // 0x718 - bool m_bReversed; // 0x720 - QAngle m_angStart; // 0x72c - bool m_bStopAtStartPos; // 0x738 - Vector m_vecClientOrigin; // 0x73c - QAngle m_vecClientAngles; // 0x748 + QAngle m_vecMoveAng; // 0x6f0 + float m_flFanFriction; // 0x6fc + float m_flAttenuation; // 0x700 + float m_flVolume; // 0x704 + float m_flTargetSpeed; // 0x708 + float m_flMaxSpeed; // 0x70c + float m_flBlockDamage; // 0x710 + float m_flTimeScale; // 0x714 + CUtlSymbolLarge m_NoiseRunning; // 0x718 + bool m_bReversed; // 0x720 +private: + [[maybe_unused]] uint8_t __pad0721[0xb]; // 0x721 +public: + QAngle m_angStart; // 0x72c + bool m_bStopAtStartPos; // 0x738 +private: + [[maybe_unused]] uint8_t __pad0739[0x3]; // 0x739 +public: + Vector m_vecClientOrigin; // 0x73c + QAngle m_vecClientAngles; // 0x748 }; // Alignment: 1 // Size: 0x6f8 -class CItemGenericTriggerHelper : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CItemGenericTriggerHelper : public CBaseModelEntity +{ public: - CHandle< CItemGeneric > m_hParentItem; // 0x6f0 + CHandle< CItemGeneric > m_hParentItem; // 0x6f0 }; // Alignment: 1 // Size: 0x6f8 -class CMarkupVolume : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMarkupVolume : public CBaseModelEntity +{ public: - bool m_bEnabled; // 0x6f0 + bool m_bEnabled; // 0x6f0 }; // Alignment: 5 // Size: 0x730 -class CMarkupVolumeTagged : public CMarkupVolume, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMarkupVolumeTagged : public CMarkupVolume +{ public: - bool m_bIsGroup; // 0x728 - bool m_bGroupByPrefab; // 0x729 - bool m_bGroupByVolume; // 0x72a - bool m_bGroupOtherGroups; // 0x72b - bool m_bIsInGroup; // 0x72c + bool m_bIsGroup; // 0x728 + bool m_bGroupByPrefab; // 0x729 + bool m_bGroupByVolume; // 0x72a + bool m_bGroupOtherGroups; // 0x72b + bool m_bIsInGroup; // 0x72c }; // Alignment: 3 // Size: 0x748 -class CMarkupVolumeWithRef : public CMarkupVolumeTagged, CMarkupVolume, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMarkupVolumeWithRef : public CMarkupVolumeTagged +{ public: - bool m_bUseRef; // 0x730 - Vector m_vRefPos; // 0x734 - float m_flRefDot; // 0x740 + bool m_bUseRef; // 0x730 +private: + [[maybe_unused]] uint8_t __pad0731[0x3]; // 0x731 +public: + Vector m_vRefPos; // 0x734 + float m_flRefDot; // 0x740 }; // Alignment: 6 // Size: 0x710 -class CFuncBrush : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncBrush : public CBaseModelEntity +{ public: - BrushSolidities_e m_iSolidity; // 0x6f0 - int32_t m_iDisabled; // 0x6f4 - bool m_bSolidBsp; // 0x6f8 - CUtlSymbolLarge m_iszExcludedClass; // 0x700 - bool m_bInvertExclusion; // 0x708 - bool m_bScriptedMovement; // 0x709 + BrushSolidities_e m_iSolidity; // 0x6f0 + int32_t m_iDisabled; // 0x6f4 + bool m_bSolidBsp; // 0x6f8 +private: + [[maybe_unused]] uint8_t __pad06f9[0x7]; // 0x6f9 +public: + CUtlSymbolLarge m_iszExcludedClass; // 0x700 + bool m_bInvertExclusion; // 0x708 + bool m_bScriptedMovement; // 0x709 }; // Alignment: 9 // Size: 0x4f8 -class CPathTrack : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPathTrack : public CPointEntity +{ public: - CPathTrack* m_pnext; // 0x4a0 - CPathTrack* m_pprevious; // 0x4a8 - CPathTrack* m_paltpath; // 0x4b0 - float m_flRadius; // 0x4b8 - float m_length; // 0x4bc - CUtlSymbolLarge m_altName; // 0x4c0 - int32_t m_nIterVal; // 0x4c8 - TrackOrientationType_t m_eOrientationType; // 0x4cc - CEntityIOOutput m_OnPass; // 0x4d0 - static int32_t &Get_s_nCurrIterVal(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CPathTrack")->m_static_fields[0]->m_instance);}; - static bool &Get_s_bIsIterating(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CPathTrack")->m_static_fields[1]->m_instance);}; + CPathTrack* m_pnext; // 0x4a0 + CPathTrack* m_pprevious; // 0x4a8 + CPathTrack* m_paltpath; // 0x4b0 + float m_flRadius; // 0x4b8 + float m_length; // 0x4bc + CUtlSymbolLarge m_altName; // 0x4c0 + int32_t m_nIterVal; // 0x4c8 + TrackOrientationType_t m_eOrientationType; // 0x4cc + CEntityIOOutput m_OnPass; // 0x4d0 + static int32_t &Get_s_nCurrIterVal(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CPathTrack")->m_static_fields[0]->m_instance);}; + static bool &Get_s_bIsIterating(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CPathTrack")->m_static_fields[1]->m_instance);}; }; // Alignment: 15 // Size: 0x8c0 -class CPhysBox : public CBreakable, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysBox : public CBreakable +{ public: - int32_t m_damageType; // 0x7b0 - float m_massScale; // 0x7b4 - int32_t m_damageToEnableMotion; // 0x7b8 - float m_flForceToEnableMotion; // 0x7bc - QAngle m_angPreferredCarryAngles; // 0x7c0 - bool m_bNotSolidToWorld; // 0x7cc - bool m_bEnableUseOutput; // 0x7cd - int32_t m_iExploitableByPlayer; // 0x7d0 - float m_flTouchOutputPerEntityDelay; // 0x7d4 - CEntityIOOutput m_OnDamaged; // 0x7d8 - CEntityIOOutput m_OnAwakened; // 0x800 - CEntityIOOutput m_OnMotionEnabled; // 0x828 - CEntityIOOutput m_OnPlayerUse; // 0x850 - CEntityIOOutput m_OnStartTouch; // 0x878 - CHandle< CBasePlayerPawn > m_hCarryingPlayer; // 0x8a0 + int32_t m_damageType; // 0x7b0 + float m_massScale; // 0x7b4 + int32_t m_damageToEnableMotion; // 0x7b8 + float m_flForceToEnableMotion; // 0x7bc + QAngle m_angPreferredCarryAngles; // 0x7c0 + bool m_bNotSolidToWorld; // 0x7cc + bool m_bEnableUseOutput; // 0x7cd +private: + [[maybe_unused]] uint8_t __pad07ce[0x2]; // 0x7ce +public: + int32_t m_iExploitableByPlayer; // 0x7d0 + float m_flTouchOutputPerEntityDelay; // 0x7d4 + CEntityIOOutput m_OnDamaged; // 0x7d8 + CEntityIOOutput m_OnAwakened; // 0x800 + CEntityIOOutput m_OnMotionEnabled; // 0x828 + CEntityIOOutput m_OnPlayerUse; // 0x850 + CEntityIOOutput m_OnStartTouch; // 0x878 + CHandle< CBasePlayerPawn > m_hCarryingPlayer; // 0x8a0 }; // Alignment: 9 // Size: 0x4f0 -class CPhysExplosion : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysExplosion : public CPointEntity +{ public: - bool m_bExplodeOnSpawn; // 0x4a0 - float m_flMagnitude; // 0x4a4 - float m_flDamage; // 0x4a8 - float m_radius; // 0x4ac - CUtlSymbolLarge m_targetEntityName; // 0x4b0 - float m_flInnerRadius; // 0x4b8 - float m_flPushScale; // 0x4bc - bool m_bConvertToDebrisWhenPossible; // 0x4c0 - CEntityIOOutput m_OnPushedPlayer; // 0x4c8 + bool m_bExplodeOnSpawn; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + float m_flMagnitude; // 0x4a4 + float m_flDamage; // 0x4a8 + float m_radius; // 0x4ac + CUtlSymbolLarge m_targetEntityName; // 0x4b0 + float m_flInnerRadius; // 0x4b8 + float m_flPushScale; // 0x4bc + bool m_bConvertToDebrisWhenPossible; // 0x4c0 +private: + [[maybe_unused]] uint8_t __pad04c1[0x7]; // 0x4c1 +public: + CEntityIOOutput m_OnPushedPlayer; // 0x4c8 }; // Alignment: 3 // Size: 0x4b0 -class CPhysImpact : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysImpact : public CPointEntity +{ public: - float m_damage; // 0x4a0 - float m_distance; // 0x4a4 - CUtlSymbolLarge m_directionEntityName; // 0x4a8 + float m_damage; // 0x4a0 + float m_distance; // 0x4a4 + CUtlSymbolLarge m_directionEntityName; // 0x4a8 }; // Alignment: 21 // Size: 0x748 -class CRopeKeyframe : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRopeKeyframe : public CBaseModelEntity +{ public: // MNetworkEnable - uint16_t m_RopeFlags; // 0x6f8 - CUtlSymbolLarge m_iNextLinkName; // 0x700 + uint16_t m_RopeFlags; // 0x6f8 +private: + [[maybe_unused]] uint8_t __pad06fa[0x6]; // 0x6fa +public: + CUtlSymbolLarge m_iNextLinkName; // 0x700 // MNetworkEnable - int16_t m_Slack; // 0x708 + int16_t m_Slack; // 0x708 +private: + [[maybe_unused]] uint8_t __pad070a[0x2]; // 0x70a +public: // MNetworkEnable - float m_Width; // 0x70c + float m_Width; // 0x70c // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.1" // MNetworkMaxValue "10" - float m_TextureScale; // 0x710 + float m_TextureScale; // 0x710 // MNetworkEnable - uint8_t m_nSegments; // 0x714 + uint8_t m_nSegments; // 0x714 // MNetworkEnable - bool m_bConstrainBetweenEndpoints; // 0x715 - CUtlSymbolLarge m_strRopeMaterialModel; // 0x718 + bool m_bConstrainBetweenEndpoints; // 0x715 +private: + [[maybe_unused]] uint8_t __pad0716[0x2]; // 0x716 +public: + CUtlSymbolLarge m_strRopeMaterialModel; // 0x718 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x720 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x720 // MNetworkEnable - uint8_t m_Subdiv; // 0x728 + uint8_t m_Subdiv; // 0x728 // MNetworkEnable - uint8_t m_nChangeCount; // 0x729 + uint8_t m_nChangeCount; // 0x729 // MNetworkEnable - int16_t m_RopeLength; // 0x72a + int16_t m_RopeLength; // 0x72a // MNetworkEnable - uint8_t m_fLockedPoints; // 0x72c - bool m_bCreatedFromMapFile; // 0x72d + uint8_t m_fLockedPoints; // 0x72c + bool m_bCreatedFromMapFile; // 0x72d +private: + [[maybe_unused]] uint8_t __pad072e[0x2]; // 0x72e +public: // MNetworkEnable - float m_flScrollSpeed; // 0x730 - bool m_bStartPointValid; // 0x734 - bool m_bEndPointValid; // 0x735 + float m_flScrollSpeed; // 0x730 + bool m_bStartPointValid; // 0x734 + bool m_bEndPointValid; // 0x735 +private: + [[maybe_unused]] uint8_t __pad0736[0x2]; // 0x736 +public: // MNetworkEnable - CHandle< CBaseEntity > m_hStartPoint; // 0x738 + CHandle< CBaseEntity > m_hStartPoint; // 0x738 // MNetworkEnable - CHandle< CBaseEntity > m_hEndPoint; // 0x73c + CHandle< CBaseEntity > m_hEndPoint; // 0x73c // MNetworkEnable - AttachmentHandle_t m_iStartAttachment; // 0x740 + AttachmentHandle_t m_iStartAttachment; // 0x740 // MNetworkEnable - AttachmentHandle_t m_iEndAttachment; // 0x741 + AttachmentHandle_t m_iEndAttachment; // 0x741 }; // Alignment: 4 // Size: 0x1eb0 -class CSoundEnt : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSoundEnt : public CPointEntity +{ public: - int32_t m_iFreeSound; // 0x4a0 - int32_t m_iActiveSound; // 0x4a4 - int32_t m_cLastActiveSounds; // 0x4a8 - CSound[128] m_SoundPool; // 0x4ac + int32_t m_iFreeSound; // 0x4a0 + int32_t m_iActiveSound; // 0x4a4 + int32_t m_cLastActiveSounds; // 0x4a8 + CSound m_SoundPool[128]; // 0x4ac }; // Alignment: 4 // Size: 0x710 -class CSpotlightEnd : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSpotlightEnd : public CBaseModelEntity +{ public: // MNetworkEnable - float m_flLightScale; // 0x6f0 + float m_flLightScale; // 0x6f0 // MNetworkEnable - float m_Radius; // 0x6f4 - Vector m_vSpotlightDir; // 0x6f8 - Vector m_vSpotlightOrg; // 0x704 + float m_Radius; // 0x6f4 + Vector m_vSpotlightDir; // 0x6f8 + Vector m_vSpotlightOrg; // 0x704 }; // Alignment: 36 // Size: 0x828 -class CFuncTrackTrain : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncTrackTrain : public CBaseModelEntity +{ public: - CHandle< CPathTrack > m_ppath; // 0x6f0 - float m_length; // 0x6f4 - Vector m_controlMins; // 0x6f8 - Vector m_controlMaxs; // 0x704 - Vector m_lastBlockPos; // 0x710 - int32_t m_lastBlockTick; // 0x71c - float m_flVolume; // 0x720 - float m_flBank; // 0x724 - float m_oldSpeed; // 0x728 - float m_flBlockDamage; // 0x72c - float m_height; // 0x730 - float m_maxSpeed; // 0x734 - float m_dir; // 0x738 - CUtlSymbolLarge m_iszSoundMove; // 0x740 - CUtlSymbolLarge m_iszSoundMovePing; // 0x748 - CUtlSymbolLarge m_iszSoundStart; // 0x750 - CUtlSymbolLarge m_iszSoundStop; // 0x758 - CUtlSymbolLarge m_strPathTarget; // 0x760 - float m_flMoveSoundMinDuration; // 0x768 - float m_flMoveSoundMaxDuration; // 0x76c - GameTime_t m_flNextMoveSoundTime; // 0x770 - float m_flMoveSoundMinPitch; // 0x774 - float m_flMoveSoundMaxPitch; // 0x778 - TrainOrientationType_t m_eOrientationType; // 0x77c - TrainVelocityType_t m_eVelocityType; // 0x780 - CEntityIOOutput m_OnStart; // 0x790 - CEntityIOOutput m_OnNext; // 0x7b8 - CEntityIOOutput m_OnArrivedAtDestinationNode; // 0x7e0 - bool m_bManualSpeedChanges; // 0x808 - float m_flDesiredSpeed; // 0x80c - GameTime_t m_flSpeedChangeTime; // 0x810 - float m_flAccelSpeed; // 0x814 - float m_flDecelSpeed; // 0x818 - bool m_bAccelToSpeed; // 0x81c - float m_flTimeScale; // 0x820 - GameTime_t m_flNextMPSoundTime; // 0x824 + CHandle< CPathTrack > m_ppath; // 0x6f0 + float m_length; // 0x6f4 + Vector m_controlMins; // 0x6f8 + Vector m_controlMaxs; // 0x704 + Vector m_lastBlockPos; // 0x710 + int32_t m_lastBlockTick; // 0x71c + float m_flVolume; // 0x720 + float m_flBank; // 0x724 + float m_oldSpeed; // 0x728 + float m_flBlockDamage; // 0x72c + float m_height; // 0x730 + float m_maxSpeed; // 0x734 + float m_dir; // 0x738 +private: + [[maybe_unused]] uint8_t __pad073c[0x4]; // 0x73c +public: + CUtlSymbolLarge m_iszSoundMove; // 0x740 + CUtlSymbolLarge m_iszSoundMovePing; // 0x748 + CUtlSymbolLarge m_iszSoundStart; // 0x750 + CUtlSymbolLarge m_iszSoundStop; // 0x758 + CUtlSymbolLarge m_strPathTarget; // 0x760 + float m_flMoveSoundMinDuration; // 0x768 + float m_flMoveSoundMaxDuration; // 0x76c + GameTime_t m_flNextMoveSoundTime; // 0x770 + float m_flMoveSoundMinPitch; // 0x774 + float m_flMoveSoundMaxPitch; // 0x778 + TrainOrientationType_t m_eOrientationType; // 0x77c + TrainVelocityType_t m_eVelocityType; // 0x780 +private: + [[maybe_unused]] uint8_t __pad0784[0xc]; // 0x784 +public: + CEntityIOOutput m_OnStart; // 0x790 + CEntityIOOutput m_OnNext; // 0x7b8 + CEntityIOOutput m_OnArrivedAtDestinationNode; // 0x7e0 + bool m_bManualSpeedChanges; // 0x808 +private: + [[maybe_unused]] uint8_t __pad0809[0x3]; // 0x809 +public: + float m_flDesiredSpeed; // 0x80c + GameTime_t m_flSpeedChangeTime; // 0x810 + float m_flAccelSpeed; // 0x814 + float m_flDecelSpeed; // 0x818 + bool m_bAccelToSpeed; // 0x81c +private: + [[maybe_unused]] uint8_t __pad081d[0x3]; // 0x81d +public: + float m_flTimeScale; // 0x820 + GameTime_t m_flNextMPSoundTime; // 0x824 }; // Alignment: 11 // Size: 0x898 -class CBaseTrigger : public CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseTrigger : public CBaseToggle +{ public: // MNetworkEnable - bool m_bDisabled; // 0x770 - CUtlSymbolLarge m_iFilterName; // 0x778 - CHandle< CBaseFilter > m_hFilter; // 0x780 - CEntityIOOutput m_OnStartTouch; // 0x788 - CEntityIOOutput m_OnStartTouchAll; // 0x7b0 - CEntityIOOutput m_OnEndTouch; // 0x7d8 - CEntityIOOutput m_OnEndTouchAll; // 0x800 - CEntityIOOutput m_OnTouching; // 0x828 - CEntityIOOutput m_OnNotTouching; // 0x850 - CUtlVector< CHandle< CBaseEntity > > m_hTouchingEntities; // 0x878 + bool m_bDisabled; // 0x770 +private: + [[maybe_unused]] uint8_t __pad0771[0x7]; // 0x771 +public: + CUtlSymbolLarge m_iFilterName; // 0x778 + CHandle< CBaseFilter > m_hFilter; // 0x780 +private: + [[maybe_unused]] uint8_t __pad0784[0x4]; // 0x784 +public: + CEntityIOOutput m_OnStartTouch; // 0x788 + CEntityIOOutput m_OnStartTouchAll; // 0x7b0 + CEntityIOOutput m_OnEndTouch; // 0x7d8 + CEntityIOOutput m_OnEndTouchAll; // 0x800 + CEntityIOOutput m_OnTouching; // 0x828 + CEntityIOOutput m_OnNotTouching; // 0x850 + CUtlVector< CHandle< CBaseEntity > > m_hTouchingEntities; // 0x878 // MNetworkEnable - bool m_bClientSidePredicted; // 0x890 + bool m_bClientSidePredicted; // 0x890 }; // Alignment: 1 // Size: 0x8c0 -class CTriggerMultiple : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerMultiple : public CBaseTrigger +{ public: - CEntityIOOutput m_OnTrigger; // 0x898 + CEntityIOOutput m_OnTrigger; // 0x898 }; // Alignment: 15 // Size: 0xc00 -class CTriggerSndSosOpvar : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerSndSosOpvar : public CBaseTrigger +{ public: - CUtlVector< CHandle< CBaseEntity > > m_hTouchingPlayers; // 0x898 - Vector m_flPosition; // 0x8b0 - float m_flCenterSize; // 0x8bc - float m_flMinVal; // 0x8c0 - float m_flMaxVal; // 0x8c4 - float m_flWait; // 0x8c8 - CUtlSymbolLarge m_opvarName; // 0x8d0 - CUtlSymbolLarge m_stackName; // 0x8d8 - CUtlSymbolLarge m_operatorName; // 0x8e0 - bool m_bVolIs2D; // 0x8e8 - char[256] m_opvarNameChar; // 0x8e9 - char[256] m_stackNameChar; // 0x9e9 - char[256] m_operatorNameChar; // 0xae9 - Vector m_VecNormPos; // 0xbec - float m_flNormCenterSize; // 0xbf8 + CUtlVector< CHandle< CBaseEntity > > m_hTouchingPlayers; // 0x898 + Vector m_flPosition; // 0x8b0 + float m_flCenterSize; // 0x8bc + float m_flMinVal; // 0x8c0 + float m_flMaxVal; // 0x8c4 + float m_flWait; // 0x8c8 +private: + [[maybe_unused]] uint8_t __pad08cc[0x4]; // 0x8cc +public: + CUtlSymbolLarge m_opvarName; // 0x8d0 + CUtlSymbolLarge m_stackName; // 0x8d8 + CUtlSymbolLarge m_operatorName; // 0x8e0 + bool m_bVolIs2D; // 0x8e8 + char m_opvarNameChar[256]; // 0x8e9 + char m_stackNameChar[256]; // 0x9e9 + char m_operatorNameChar[256]; // 0xae9 +private: + [[maybe_unused]] uint8_t __pad0be9[0x3]; // 0xbe9 +public: + Vector m_VecNormPos; // 0xbec + float m_flNormCenterSize; // 0xbf8 }; // Alignment: 14 // Size: 0x938 -class CTriggerHurt : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerHurt : public CBaseTrigger +{ public: - float m_flOriginalDamage; // 0x898 - float m_flDamage; // 0x89c - float m_flDamageCap; // 0x8a0 - GameTime_t m_flLastDmgTime; // 0x8a4 - float m_flForgivenessDelay; // 0x8a8 - int32_t m_bitsDamageInflict; // 0x8ac - int32_t m_damageModel; // 0x8b0 - bool m_bNoDmgForce; // 0x8b4 - Vector m_vDamageForce; // 0x8b8 - bool m_thinkAlways; // 0x8c4 - float m_hurtThinkPeriod; // 0x8c8 - CEntityIOOutput m_OnHurt; // 0x8d0 - CEntityIOOutput m_OnHurtPlayer; // 0x8f8 - CUtlVector< CHandle< CBaseEntity > > m_hurtEntities; // 0x920 + float m_flOriginalDamage; // 0x898 + float m_flDamage; // 0x89c + float m_flDamageCap; // 0x8a0 + GameTime_t m_flLastDmgTime; // 0x8a4 + float m_flForgivenessDelay; // 0x8a8 + int32_t m_bitsDamageInflict; // 0x8ac + int32_t m_damageModel; // 0x8b0 + bool m_bNoDmgForce; // 0x8b4 +private: + [[maybe_unused]] uint8_t __pad08b5[0x3]; // 0x8b5 +public: + Vector m_vDamageForce; // 0x8b8 + bool m_thinkAlways; // 0x8c4 +private: + [[maybe_unused]] uint8_t __pad08c5[0x3]; // 0x8c5 +public: + float m_hurtThinkPeriod; // 0x8c8 +private: + [[maybe_unused]] uint8_t __pad08cc[0x4]; // 0x8cc +public: + CEntityIOOutput m_OnHurt; // 0x8d0 + CEntityIOOutput m_OnHurtPlayer; // 0x8f8 + CUtlVector< CHandle< CBaseEntity > > m_hurtEntities; // 0x920 }; // Alignment: 0 // Size: 0x938 -class CTriggerHurtGhost : public CTriggerHurt, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerHurtGhost : public CTriggerHurt +{ public: // no members available }; // Alignment: 0 // Size: 0x8a0 -class CTriggerCallback : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerCallback : public CBaseTrigger +{ public: // no members available }; // Alignment: 12 // Size: 0x938 -class CTriggerLerpObject : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerLerpObject : public CBaseTrigger +{ public: - CUtlSymbolLarge m_iszLerpTarget; // 0x898 - CHandle< CBaseEntity > m_hLerpTarget; // 0x8a0 - CUtlSymbolLarge m_iszLerpTargetAttachment; // 0x8a8 - AttachmentHandle_t m_hLerpTargetAttachment; // 0x8b0 - float m_flLerpDuration; // 0x8b4 - bool m_bLerpRestoreMoveType; // 0x8b8 - bool m_bSingleLerpObject; // 0x8b9 - CUtlVector< lerpdata_t > m_vecLerpingObjects; // 0x8c0 - CUtlSymbolLarge m_iszLerpEffect; // 0x8d8 - CUtlSymbolLarge m_iszLerpSound; // 0x8e0 - CEntityIOOutput m_OnLerpStarted; // 0x8e8 - CEntityIOOutput m_OnLerpFinished; // 0x910 + CUtlSymbolLarge m_iszLerpTarget; // 0x898 + CHandle< CBaseEntity > m_hLerpTarget; // 0x8a0 +private: + [[maybe_unused]] uint8_t __pad08a4[0x4]; // 0x8a4 +public: + CUtlSymbolLarge m_iszLerpTargetAttachment; // 0x8a8 + AttachmentHandle_t m_hLerpTargetAttachment; // 0x8b0 +private: + [[maybe_unused]] uint8_t __pad08b1[0x3]; // 0x8b1 +public: + float m_flLerpDuration; // 0x8b4 + bool m_bLerpRestoreMoveType; // 0x8b8 + bool m_bSingleLerpObject; // 0x8b9 +private: + [[maybe_unused]] uint8_t __pad08ba[0x6]; // 0x8ba +public: + CUtlVector< lerpdata_t > m_vecLerpingObjects; // 0x8c0 + CUtlSymbolLarge m_iszLerpEffect; // 0x8d8 + CUtlSymbolLarge m_iszLerpSound; // 0x8e0 + CEntityIOOutput m_OnLerpStarted; // 0x8e8 + CEntityIOOutput m_OnLerpFinished; // 0x910 }; // Alignment: 7 // Size: 0x8d8 -class CChangeLevel : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CChangeLevel : public CBaseTrigger +{ public: - CUtlString m_sMapName; // 0x898 - CUtlString m_sLandmarkName; // 0x8a0 - CEntityIOOutput m_OnChangeLevel; // 0x8a8 - bool m_bTouched; // 0x8d0 - bool m_bNoTouch; // 0x8d1 - bool m_bNewChapter; // 0x8d2 - bool m_bOnChangeLevelFired; // 0x8d3 + CUtlString m_sMapName; // 0x898 + CUtlString m_sLandmarkName; // 0x8a0 + CEntityIOOutput m_OnChangeLevel; // 0x8a8 + bool m_bTouched; // 0x8d0 + bool m_bNoTouch; // 0x8d1 + bool m_bNewChapter; // 0x8d2 + bool m_bOnChangeLevelFired; // 0x8d3 }; // Alignment: 3 // Size: 0x8a8 -class CTriggerTeleport : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerTeleport : public CBaseTrigger +{ public: - CUtlSymbolLarge m_iLandmark; // 0x898 - bool m_bUseLandmarkAngles; // 0x8a0 - bool m_bMirrorPlayer; // 0x8a1 + CUtlSymbolLarge m_iLandmark; // 0x898 + bool m_bUseLandmarkAngles; // 0x8a0 + bool m_bMirrorPlayer; // 0x8a1 }; // Alignment: 11 // Size: 0x8e8 -class CTriggerFan : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerFan : public CBaseTrigger +{ public: - Vector m_vFanOrigin; // 0x898 - Vector m_vFanEnd; // 0x8a4 - Vector m_vNoise; // 0x8b0 - float m_flForce; // 0x8bc - float m_flPlayerForce; // 0x8c0 - float m_flRampTime; // 0x8c4 - bool m_bFalloff; // 0x8c8 - bool m_bPushPlayer; // 0x8c9 - bool m_bRampDown; // 0x8ca - bool m_bAddNoise; // 0x8cb - CountdownTimer m_RampTimer; // 0x8d0 + Vector m_vFanOrigin; // 0x898 + Vector m_vFanEnd; // 0x8a4 + Vector m_vNoise; // 0x8b0 + float m_flForce; // 0x8bc + float m_flPlayerForce; // 0x8c0 + float m_flRampTime; // 0x8c4 + bool m_bFalloff; // 0x8c8 + bool m_bPushPlayer; // 0x8c9 + bool m_bRampDown; // 0x8ca + bool m_bAddNoise; // 0x8cb +private: + [[maybe_unused]] uint8_t __pad08cc[0x4]; // 0x8cc +public: + CountdownTimer m_RampTimer; // 0x8d0 }; // Alignment: 2 // Size: 0x8c0 -class CTriggerBuoyancy : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerBuoyancy : public CBaseTrigger +{ public: - CBuoyancyHelper m_BuoyancyHelper; // 0x898 + CBuoyancyHelper m_BuoyancyHelper; // 0x898 // MNetworkEnable - float m_flFluidDensity; // 0x8b8 + float m_flFluidDensity; // 0x8b8 }; // Alignment: 0 // Size: 0x4a0 -class CNavWalkable : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CNavWalkable : public CPointEntity +{ public: // no members available }; // Alignment: 2 // Size: 0x700 -class CFuncNavBlocker : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncNavBlocker : public CBaseModelEntity +{ public: - bool m_bDisabled; // 0x6f0 - int32_t m_nBlockedTeamNumber; // 0x6f4 + bool m_bDisabled; // 0x6f0 +private: + [[maybe_unused]] uint8_t __pad06f1[0x3]; // 0x6f1 +public: + int32_t m_nBlockedTeamNumber; // 0x6f4 }; // Alignment: 12 // Size: 0x540 -class CNavLinkAreaEntity : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CNavLinkAreaEntity : public CPointEntity +{ public: - float m_flWidth; // 0x4a0 - Vector m_vLocatorOffset; // 0x4a4 - QAngle m_qLocatorAnglesOffset; // 0x4b0 - CUtlSymbolLarge m_strMovementForward; // 0x4c0 - CUtlSymbolLarge m_strMovementReverse; // 0x4c8 - int32_t m_nNavLinkIdForward; // 0x4d0 - int32_t m_nNavLinkIdReverse; // 0x4d4 - bool m_bEnabled; // 0x4d8 - CUtlSymbolLarge m_strFilterName; // 0x4e0 - CHandle< CBaseFilter > m_hFilter; // 0x4e8 - CEntityIOOutput m_OnNavLinkStart; // 0x4f0 - CEntityIOOutput m_OnNavLinkFinish; // 0x518 + float m_flWidth; // 0x4a0 + Vector m_vLocatorOffset; // 0x4a4 + QAngle m_qLocatorAnglesOffset; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc +public: + CUtlSymbolLarge m_strMovementForward; // 0x4c0 + CUtlSymbolLarge m_strMovementReverse; // 0x4c8 + int32_t m_nNavLinkIdForward; // 0x4d0 + int32_t m_nNavLinkIdReverse; // 0x4d4 + bool m_bEnabled; // 0x4d8 +private: + [[maybe_unused]] uint8_t __pad04d9[0x7]; // 0x4d9 +public: + CUtlSymbolLarge m_strFilterName; // 0x4e0 + CHandle< CBaseFilter > m_hFilter; // 0x4e8 +private: + [[maybe_unused]] uint8_t __pad04ec[0x4]; // 0x4ec +public: + CEntityIOOutput m_OnNavLinkStart; // 0x4f0 + CEntityIOOutput m_OnNavLinkFinish; // 0x518 }; // Alignment: 3 // Size: 0x4a8 -class CNavSpaceInfo : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CNavSpaceInfo : public CPointEntity +{ public: - bool m_bCreateTacticalConnections; // 0x4a0 - bool m_bCreateFlightSpace; // 0x4a1 - float m_flPhysicsOverheadBufferDist; // 0x4a4 + bool m_bCreateTacticalConnections; // 0x4a0 + bool m_bCreateFlightSpace; // 0x4a1 +private: + [[maybe_unused]] uint8_t __pad04a2[0x2]; // 0x4a2 +public: + float m_flPhysicsOverheadBufferDist; // 0x4a4 }; // Alignment: 24 // Size: 0x790 -class CBeam : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBeam : public CBaseModelEntity +{ public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "-25" // MNetworkMaxValue "25" // MNetworkEncodeFlags - float m_flFrameRate; // 0x6f0 + float m_flFrameRate; // 0x6f0 // MNetworkEnable - float m_flHDRColorScale; // 0x6f4 - GameTime_t m_flFireTime; // 0x6f8 - float m_flDamage; // 0x6fc + float m_flHDRColorScale; // 0x6f4 + GameTime_t m_flFireTime; // 0x6f8 + float m_flDamage; // 0x6fc // MNetworkEnable - uint8_t m_nNumBeamEnts; // 0x700 + uint8_t m_nNumBeamEnts; // 0x700 +private: + [[maybe_unused]] uint8_t __pad0701[0x7]; // 0x701 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x708 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x708 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x710 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x710 // MNetworkEnable - BeamType_t m_nBeamType; // 0x718 + BeamType_t m_nBeamType; // 0x718 // MNetworkEnable - uint32_t m_nBeamFlags; // 0x71c + uint32_t m_nBeamFlags; // 0x71c // MNetworkEnable - CHandle< CBaseEntity >[10] m_hAttachEntity; // 0x720 + CHandle< CBaseEntity > m_hAttachEntity[10]; // 0x720 // MNetworkEnable - AttachmentHandle_t[10] m_nAttachIndex; // 0x748 + AttachmentHandle_t m_nAttachIndex[10]; // 0x748 +private: + [[maybe_unused]] uint8_t __pad0752[0x2]; // 0x752 +public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "102.3" // MNetworkEncodeFlags - float m_fWidth; // 0x754 + float m_fWidth; // 0x754 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "102.3" // MNetworkEncodeFlags - float m_fEndWidth; // 0x758 + float m_fEndWidth; // 0x758 // MNetworkEnable - float m_fFadeLength; // 0x75c + float m_fFadeLength; // 0x75c // MNetworkEnable - float m_fHaloScale; // 0x760 + float m_fHaloScale; // 0x760 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags - float m_fAmplitude; // 0x764 + float m_fAmplitude; // 0x764 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags - float m_fStartFrame; // 0x768 + float m_fStartFrame; // 0x768 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "100" - float m_fSpeed; // 0x76c + float m_fSpeed; // 0x76c // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags // MNetworkPriority "32" - float m_flFrame; // 0x770 + float m_flFrame; // 0x770 // MNetworkEnable - BeamClipStyle_t m_nClipStyle; // 0x774 + BeamClipStyle_t m_nClipStyle; // 0x774 // MNetworkEnable - bool m_bTurnedOff; // 0x778 + bool m_bTurnedOff; // 0x778 +private: + [[maybe_unused]] uint8_t __pad0779[0x3]; // 0x779 +public: // MNetworkEnable // MNetworkEncoder - Vector m_vecEndPos; // 0x77c - CHandle< CBaseEntity > m_hEndEntity; // 0x788 - int32_t m_nDissolveType; // 0x78c + Vector m_vecEndPos; // 0x77c + CHandle< CBaseEntity > m_hEndEntity; // 0x788 + int32_t m_nDissolveType; // 0x78c }; // Alignment: 12 // Size: 0x7a0 -class CFuncLadder : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncLadder : public CBaseModelEntity +{ public: // MNetworkEnable // MNetworkEncoder - Vector m_vecLadderDir; // 0x6f0 - CUtlVector< CHandle< CInfoLadderDismount > > m_Dismounts; // 0x700 - Vector m_vecLocalTop; // 0x718 + Vector m_vecLadderDir; // 0x6f0 +private: + [[maybe_unused]] uint8_t __pad06fc[0x4]; // 0x6fc +public: + CUtlVector< CHandle< CInfoLadderDismount > > m_Dismounts; // 0x700 + Vector m_vecLocalTop; // 0x718 // MNetworkEnable // MNetworkEncoder - Vector m_vecPlayerMountPositionTop; // 0x724 + Vector m_vecPlayerMountPositionTop; // 0x724 // MNetworkEnable // MNetworkEncoder - Vector m_vecPlayerMountPositionBottom; // 0x730 + Vector m_vecPlayerMountPositionBottom; // 0x730 // MNetworkEnable - float m_flAutoRideSpeed; // 0x73c - bool m_bDisabled; // 0x740 + float m_flAutoRideSpeed; // 0x73c + bool m_bDisabled; // 0x740 // MNetworkEnable - bool m_bFakeLadder; // 0x741 - bool m_bHasSlack; // 0x742 - CUtlSymbolLarge m_surfacePropName; // 0x748 - CEntityIOOutput m_OnPlayerGotOnLadder; // 0x750 - CEntityIOOutput m_OnPlayerGotOffLadder; // 0x778 - static CUtlVector< CFuncLadder* > &Get_s_Ladders(){ return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CFuncLadder")->m_static_fields[0]->m_instance);}; + bool m_bFakeLadder; // 0x741 + bool m_bHasSlack; // 0x742 +private: + [[maybe_unused]] uint8_t __pad0743[0x5]; // 0x743 +public: + CUtlSymbolLarge m_surfacePropName; // 0x748 + CEntityIOOutput m_OnPlayerGotOnLadder; // 0x750 + CEntityIOOutput m_OnPlayerGotOffLadder; // 0x778 + static CUtlVector< CFuncLadder* > &Get_s_Ladders(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CFuncLadder")->m_static_fields[0]->m_instance);}; }; // Alignment: 32 // Size: 0x848 -class CFuncShatterglass : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncShatterglass : public CBaseModelEntity +{ public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hGlassMaterialDamaged; // 0x6f0 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hGlassMaterialUndamaged; // 0x6f8 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeFace; // 0x700 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeCaps; // 0x708 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeFins; // 0x710 - matrix3x4_t m_matPanelTransform; // 0x718 - matrix3x4_t m_matPanelTransformWsTemp; // 0x748 - CUtlVector< uint32 > m_vecShatterGlassShards; // 0x778 - Vector2D m_PanelSize; // 0x790 - Vector m_vecPanelNormalWs; // 0x798 - int32_t m_nNumShardsEverCreated; // 0x7a4 - GameTime_t m_flLastShatterSoundEmitTime; // 0x7a8 - GameTime_t m_flLastCleanupTime; // 0x7ac - GameTime_t m_flInitAtTime; // 0x7b0 - float m_flGlassThickness; // 0x7b4 - float m_flSpawnInvulnerability; // 0x7b8 - bool m_bBreakSilent; // 0x7bc - bool m_bBreakShardless; // 0x7bd - bool m_bBroken; // 0x7be - bool m_bHasRateLimitedShards; // 0x7bf - bool m_bGlassNavIgnore; // 0x7c0 - bool m_bGlassInFrame; // 0x7c1 - bool m_bStartBroken; // 0x7c2 - uint8_t m_iInitialDamageType; // 0x7c3 - CUtlSymbolLarge m_szDamagePositioningEntityName01; // 0x7c8 - CUtlSymbolLarge m_szDamagePositioningEntityName02; // 0x7d0 - CUtlSymbolLarge m_szDamagePositioningEntityName03; // 0x7d8 - CUtlSymbolLarge m_szDamagePositioningEntityName04; // 0x7e0 - CUtlVector< Vector > m_vInitialDamagePositions; // 0x7e8 - CUtlVector< Vector > m_vExtraDamagePositions; // 0x800 - CEntityIOOutput m_OnBroken; // 0x818 - uint8_t m_iSurfaceType; // 0x841 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hGlassMaterialDamaged; // 0x6f0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hGlassMaterialUndamaged; // 0x6f8 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeFace; // 0x700 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeCaps; // 0x708 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeFins; // 0x710 + matrix3x4_t m_matPanelTransform; // 0x718 + matrix3x4_t m_matPanelTransformWsTemp; // 0x748 + CUtlVector< uint32 > m_vecShatterGlassShards; // 0x778 + Vector2D m_PanelSize; // 0x790 + Vector m_vecPanelNormalWs; // 0x798 + int32_t m_nNumShardsEverCreated; // 0x7a4 + GameTime_t m_flLastShatterSoundEmitTime; // 0x7a8 + GameTime_t m_flLastCleanupTime; // 0x7ac + GameTime_t m_flInitAtTime; // 0x7b0 + float m_flGlassThickness; // 0x7b4 + float m_flSpawnInvulnerability; // 0x7b8 + bool m_bBreakSilent; // 0x7bc + bool m_bBreakShardless; // 0x7bd + bool m_bBroken; // 0x7be + bool m_bHasRateLimitedShards; // 0x7bf + bool m_bGlassNavIgnore; // 0x7c0 + bool m_bGlassInFrame; // 0x7c1 + bool m_bStartBroken; // 0x7c2 + uint8_t m_iInitialDamageType; // 0x7c3 +private: + [[maybe_unused]] uint8_t __pad07c4[0x4]; // 0x7c4 +public: + CUtlSymbolLarge m_szDamagePositioningEntityName01; // 0x7c8 + CUtlSymbolLarge m_szDamagePositioningEntityName02; // 0x7d0 + CUtlSymbolLarge m_szDamagePositioningEntityName03; // 0x7d8 + CUtlSymbolLarge m_szDamagePositioningEntityName04; // 0x7e0 + CUtlVector< Vector > m_vInitialDamagePositions; // 0x7e8 + CUtlVector< Vector > m_vExtraDamagePositions; // 0x800 + CEntityIOOutput m_OnBroken; // 0x818 +private: + [[maybe_unused]] uint8_t __pad0840[0x1]; // 0x840 +public: + uint8_t m_iSurfaceType; // 0x841 }; // Alignment: 7 // Size: 0x128 class CPrecipitationVData : public CEntitySubclassVDataBase -{ +{ public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szParticlePrecipitationEffect; // 0x28 - float m_flInnerDistance; // 0x108 - ParticleAttachment_t m_nAttachType; // 0x10c - bool m_bBatchSameVolumeType; // 0x110 - int32_t m_nRTEnvCP; // 0x114 - int32_t m_nRTEnvCPComponent; // 0x118 - CUtlString m_szModifier; // 0x120 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szParticlePrecipitationEffect; // 0x28 + float m_flInnerDistance; // 0x108 + ParticleAttachment_t m_nAttachType; // 0x10c + bool m_bBatchSameVolumeType; // 0x110 +private: + [[maybe_unused]] uint8_t __pad0111[0x3]; // 0x111 +public: + int32_t m_nRTEnvCP; // 0x114 + int32_t m_nRTEnvCPComponent; // 0x118 +private: + [[maybe_unused]] uint8_t __pad011c[0x4]; // 0x11c +public: + CUtlString m_szModifier; // 0x120 }; // Alignment: 9 // Size: 0x80 class CRagdoll : public IRagdoll -{ +{ public: - ragdoll_t m_ragdoll; // 0x8 - Vector m_mins; // 0x40 - Vector m_maxs; // 0x4c - Vector m_origin; // 0x58 - float m_lastUpdate; // 0x64 - bool m_allAsleep; // 0x68 - Vector m_vecLastOrigin; // 0x6c - float m_flLastOriginChangeTime; // 0x78 - float m_flAwakeTime; // 0x7c - static uint32_t &Get_s_globalCount(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CRagdoll")->m_static_fields[0]->m_instance);}; + ragdoll_t m_ragdoll; // 0x8 + Vector m_mins; // 0x40 + Vector m_maxs; // 0x4c + Vector m_origin; // 0x58 + float m_lastUpdate; // 0x64 + bool m_allAsleep; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0069[0x3]; // 0x69 +public: + Vector m_vecLastOrigin; // 0x6c + float m_flLastOriginChangeTime; // 0x78 + float m_flAwakeTime; // 0x7c + static uint32_t &Get_s_globalCount(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CRagdoll")->m_static_fields[0]->m_instance);}; }; // Alignment: 23 // Size: 0x760 -class CSprite : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSprite : public CBaseModelEntity +{ public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x6f0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x6f0 // MNetworkEnable - CHandle< CBaseEntity > m_hAttachedToEntity; // 0x6f8 + CHandle< CBaseEntity > m_hAttachedToEntity; // 0x6f8 // MNetworkEnable - AttachmentHandle_t m_nAttachment; // 0x6fc + AttachmentHandle_t m_nAttachment; // 0x6fc +private: + [[maybe_unused]] uint8_t __pad06fd[0x3]; // 0x6fd +public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "60" // MNetworkEncodeFlags - float m_flSpriteFramerate; // 0x700 + float m_flSpriteFramerate; // 0x700 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags - float m_flFrame; // 0x704 - GameTime_t m_flDieTime; // 0x708 + float m_flFrame; // 0x704 + GameTime_t m_flDieTime; // 0x708 +private: + [[maybe_unused]] uint8_t __pad070c[0xc]; // 0x70c +public: // MNetworkEnable - uint32_t m_nBrightness; // 0x718 + uint32_t m_nBrightness; // 0x718 // MNetworkEnable - float m_flBrightnessDuration; // 0x71c + float m_flBrightnessDuration; // 0x71c // MNetworkEnable // MNetworkChangeCallback "OnSpriteScaleChanged" - float m_flSpriteScale; // 0x720 + float m_flSpriteScale; // 0x720 // MNetworkEnable - float m_flScaleDuration; // 0x724 + float m_flScaleDuration; // 0x724 // MNetworkEnable - bool m_bWorldSpaceScale; // 0x728 + bool m_bWorldSpaceScale; // 0x728 +private: + [[maybe_unused]] uint8_t __pad0729[0x3]; // 0x729 +public: // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags - float m_flGlowProxySize; // 0x72c + float m_flGlowProxySize; // 0x72c // MNetworkEnable - float m_flHDRColorScale; // 0x730 - GameTime_t m_flLastTime; // 0x734 - float m_flMaxFrame; // 0x738 - float m_flStartScale; // 0x73c - float m_flDestScale; // 0x740 - GameTime_t m_flScaleTimeStart; // 0x744 - int32_t m_nStartBrightness; // 0x748 - int32_t m_nDestBrightness; // 0x74c - GameTime_t m_flBrightnessTimeStart; // 0x750 - int32_t m_nSpriteWidth; // 0x754 - int32_t m_nSpriteHeight; // 0x758 + float m_flHDRColorScale; // 0x730 + GameTime_t m_flLastTime; // 0x734 + float m_flMaxFrame; // 0x738 + float m_flStartScale; // 0x73c + float m_flDestScale; // 0x740 + GameTime_t m_flScaleTimeStart; // 0x744 + int32_t m_nStartBrightness; // 0x748 + int32_t m_nDestBrightness; // 0x74c + GameTime_t m_flBrightnessTimeStart; // 0x750 + int32_t m_nSpriteWidth; // 0x754 + int32_t m_nSpriteHeight; // 0x758 }; // Alignment: 0 // Size: 0x760 -class CSpriteOriented : public CSprite, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSpriteOriented : public CSprite +{ public: // no members available }; // Alignment: 14 // Size: 0x8a0 -class CBaseClientUIEntity : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseClientUIEntity : public CBaseModelEntity +{ public: // MNetworkEnable - bool m_bEnabled; // 0x6f0 + bool m_bEnabled; // 0x6f0 +private: + [[maybe_unused]] uint8_t __pad06f1[0x7]; // 0x6f1 +public: // MNetworkEnable - CUtlSymbolLarge m_DialogXMLName; // 0x6f8 + CUtlSymbolLarge m_DialogXMLName; // 0x6f8 // MNetworkEnable - CUtlSymbolLarge m_PanelClassName; // 0x700 + CUtlSymbolLarge m_PanelClassName; // 0x700 // MNetworkEnable - CUtlSymbolLarge m_PanelID; // 0x708 - CEntityIOOutput m_CustomOutput0; // 0x710 - CEntityIOOutput m_CustomOutput1; // 0x738 - CEntityIOOutput m_CustomOutput2; // 0x760 - CEntityIOOutput m_CustomOutput3; // 0x788 - CEntityIOOutput m_CustomOutput4; // 0x7b0 - CEntityIOOutput m_CustomOutput5; // 0x7d8 - CEntityIOOutput m_CustomOutput6; // 0x800 - CEntityIOOutput m_CustomOutput7; // 0x828 - CEntityIOOutput m_CustomOutput8; // 0x850 - CEntityIOOutput m_CustomOutput9; // 0x878 + CUtlSymbolLarge m_PanelID; // 0x708 + CEntityIOOutput m_CustomOutput0; // 0x710 + CEntityIOOutput m_CustomOutput1; // 0x738 + CEntityIOOutput m_CustomOutput2; // 0x760 + CEntityIOOutput m_CustomOutput3; // 0x788 + CEntityIOOutput m_CustomOutput4; // 0x7b0 + CEntityIOOutput m_CustomOutput5; // 0x7d8 + CEntityIOOutput m_CustomOutput6; // 0x800 + CEntityIOOutput m_CustomOutput7; // 0x828 + CEntityIOOutput m_CustomOutput8; // 0x850 + CEntityIOOutput m_CustomOutput9; // 0x878 }; // Alignment: 2 // Size: 0x8a8 -class CPointClientUIDialog : public CBaseClientUIEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointClientUIDialog : public CBaseClientUIEntity +{ public: // MNetworkEnable // MNetworkChangeCallback "OnDialogActivatorChanged" - CHandle< CBaseEntity > m_hActivator; // 0x8a0 - bool m_bStartEnabled; // 0x8a4 + CHandle< CBaseEntity > m_hActivator; // 0x8a0 + bool m_bStartEnabled; // 0x8a4 }; // Alignment: 23 // Size: 0x8f8 -class CPointClientUIWorldPanel : public CBaseClientUIEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointClientUIWorldPanel : public CBaseClientUIEntity +{ public: // MNetworkEnable - bool m_bIgnoreInput; // 0x8a0 + bool m_bIgnoreInput; // 0x8a0 // MNetworkEnable - bool m_bLit; // 0x8a1 + bool m_bLit; // 0x8a1 // MNetworkEnable - bool m_bFollowPlayerAcrossTeleport; // 0x8a2 + bool m_bFollowPlayerAcrossTeleport; // 0x8a2 +private: + [[maybe_unused]] uint8_t __pad08a3[0x1]; // 0x8a3 +public: // MNetworkEnable - float m_flWidth; // 0x8a4 + float m_flWidth; // 0x8a4 // MNetworkEnable - float m_flHeight; // 0x8a8 + float m_flHeight; // 0x8a8 // MNetworkEnable - float m_flDPI; // 0x8ac + float m_flDPI; // 0x8ac // MNetworkEnable - float m_flInteractDistance; // 0x8b0 + float m_flInteractDistance; // 0x8b0 // MNetworkEnable - float m_flDepthOffset; // 0x8b4 + float m_flDepthOffset; // 0x8b4 // MNetworkEnable - uint32_t m_unOwnerContext; // 0x8b8 + uint32_t m_unOwnerContext; // 0x8b8 // MNetworkEnable - uint32_t m_unHorizontalAlign; // 0x8bc + uint32_t m_unHorizontalAlign; // 0x8bc // MNetworkEnable - uint32_t m_unVerticalAlign; // 0x8c0 + uint32_t m_unVerticalAlign; // 0x8c0 // MNetworkEnable - uint32_t m_unOrientation; // 0x8c4 + uint32_t m_unOrientation; // 0x8c4 // MNetworkEnable - bool m_bAllowInteractionFromAllSceneWorlds; // 0x8c8 + bool m_bAllowInteractionFromAllSceneWorlds; // 0x8c8 +private: + [[maybe_unused]] uint8_t __pad08c9[0x7]; // 0x8c9 +public: // MNetworkEnable - CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x8d0 + CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x8d0 // MNetworkEnable - bool m_bOpaque; // 0x8e8 + bool m_bOpaque; // 0x8e8 // MNetworkEnable - bool m_bNoDepth; // 0x8e9 + bool m_bNoDepth; // 0x8e9 // MNetworkEnable - bool m_bRenderBackface; // 0x8ea + bool m_bRenderBackface; // 0x8ea // MNetworkEnable - bool m_bUseOffScreenIndicator; // 0x8eb + bool m_bUseOffScreenIndicator; // 0x8eb // MNetworkEnable - bool m_bExcludeFromSaveGames; // 0x8ec + bool m_bExcludeFromSaveGames; // 0x8ec // MNetworkEnable - bool m_bGrabbable; // 0x8ed + bool m_bGrabbable; // 0x8ed // MNetworkEnable - bool m_bOnlyRenderToTexture; // 0x8ee + bool m_bOnlyRenderToTexture; // 0x8ee // MNetworkEnable - bool m_bDisableMipGen; // 0x8ef + bool m_bDisableMipGen; // 0x8ef // MNetworkEnable - int32_t m_nExplicitImageLayout; // 0x8f0 + int32_t m_nExplicitImageLayout; // 0x8f0 }; // Alignment: 1 // Size: 0xaf8 -class CPointClientUIWorldTextPanel : public CPointClientUIWorldPanel, CBaseClientUIEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointClientUIWorldTextPanel : public CPointClientUIWorldPanel +{ public: // MNetworkEnable - char[512] m_messageText; // 0x8f8 + char m_messageText[512]; // 0x8f8 }; // Alignment: 0 // Size: 0x900 -class CPointHintUi : public CPointClientUIWorldPanel, CBaseClientUIEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointHintUi : public CPointClientUIWorldPanel +{ public: // no members available }; // Alignment: 10 // Size: 0x518 -class CInfoOffscreenPanoramaTexture : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoOffscreenPanoramaTexture : public CPointEntity +{ public: // MNetworkEnable - bool m_bDisabled; // 0x4a0 + bool m_bDisabled; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: // MNetworkEnable - int32_t m_nResolutionX; // 0x4a4 + int32_t m_nResolutionX; // 0x4a4 // MNetworkEnable - int32_t m_nResolutionY; // 0x4a8 + int32_t m_nResolutionY; // 0x4a8 +private: + [[maybe_unused]] uint8_t __pad04ac[0x4]; // 0x4ac +public: // MNetworkEnable - CUtlSymbolLarge m_szLayoutFileName; // 0x4b0 + CUtlSymbolLarge m_szLayoutFileName; // 0x4b0 // MNetworkEnable - CUtlSymbolLarge m_RenderAttrName; // 0x4b8 + CUtlSymbolLarge m_RenderAttrName; // 0x4b8 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_TargetEntities; // 0x4c0 + CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_TargetEntities; // 0x4c0 // MNetworkEnable - int32_t m_nTargetChangeCount; // 0x4d8 + int32_t m_nTargetChangeCount; // 0x4d8 +private: + [[maybe_unused]] uint8_t __pad04dc[0x4]; // 0x4dc +public: // MNetworkEnable - CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x4e0 - CUtlSymbolLarge m_szTargetsName; // 0x4f8 - CUtlVector< CHandle< CBaseModelEntity > > m_AdditionalTargetEntities; // 0x500 + CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x4e0 + CUtlSymbolLarge m_szTargetsName; // 0x4f8 + CUtlVector< CHandle< CBaseModelEntity > > m_AdditionalTargetEntities; // 0x500 }; -// Alignment: 13 -// Size: 0x278 -class CEconItemView : public IEconItemInterface -{ +// Alignment: 1 +// Size: 0x2c8 +class CAttributeContainer : public CAttributeManager +{ public: // MNetworkEnable - uint16_t m_iItemDefinitionIndex; // 0x38 - // MNetworkEnable - int32_t m_iEntityQuality; // 0x3c - // MNetworkEnable - uint32_t m_iEntityLevel; // 0x40 - uint64_t m_iItemID; // 0x48 - // MNetworkEnable - uint32_t m_iItemIDHigh; // 0x50 - // MNetworkEnable - uint32_t m_iItemIDLow; // 0x54 - // MNetworkEnable - uint32_t m_iAccountID; // 0x58 - // MNetworkEnable - uint32_t m_iInventoryPosition; // 0x5c - // MNetworkEnable - bool m_bInitialized; // 0x68 - // MNetworkEnable - CAttributeList m_AttributeList; // 0x70 - // MNetworkEnable - CAttributeList m_NetworkedDynamicAttributes; // 0xd0 - // MNetworkEnable - char[161] m_szCustomName; // 0x130 - char[161] m_szCustomNameOverride; // 0x1d1 + CEconItemView m_Item; // 0x50 }; // Alignment: 0 // Size: 0x4b0 -class CInfoPlayerTerrorist : public SpawnPoint, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoPlayerTerrorist : public SpawnPoint +{ public: // no members available }; // Alignment: 0 // Size: 0x4b0 -class CInfoPlayerCounterterrorist : public SpawnPoint, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoPlayerCounterterrorist : public SpawnPoint +{ public: // no members available }; // Alignment: 0 // Size: 0x4b0 -class CInfoDeathmatchSpawn : public SpawnPoint, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoDeathmatchSpawn : public SpawnPoint +{ public: // no members available }; // Alignment: 0 // Size: 0x4b0 -class CInfoArmsRaceCounterterrorist : public SpawnPoint, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoArmsRaceCounterterrorist : public SpawnPoint +{ public: // no members available }; // Alignment: 0 // Size: 0x4b0 -class CInfoArmsRaceTerrorist : public SpawnPoint, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoArmsRaceTerrorist : public SpawnPoint +{ public: // no members available }; // Alignment: 0 // Size: 0x4e8 -class CInfoEnemyTerroristSpawn : public SpawnPointCoopEnemy, SpawnPoint, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoEnemyTerroristSpawn : public SpawnPointCoopEnemy +{ public: // no members available }; // Alignment: 1 // Size: 0x4a8 -class CPointGiveAmmo : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointGiveAmmo : public CPointEntity +{ public: - CHandle< CBaseEntity > m_pActivator; // 0x4a0 + CHandle< CBaseEntity > m_pActivator; // 0x4a0 }; // Alignment: 66 // Size: -0x728 -class CCSPlayerController : public CBasePlayerController, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCSPlayerController : public CBasePlayerController +{ public: // MNetworkEnable - CCSPlayerController_InGameMoneyServices* m_pInGameMoneyServices; // 0x678 + CCSPlayerController_InGameMoneyServices* m_pInGameMoneyServices; // 0x678 // MNetworkEnable - CCSPlayerController_InventoryServices* m_pInventoryServices; // 0x680 + CCSPlayerController_InventoryServices* m_pInventoryServices; // 0x680 // MNetworkEnable - CCSPlayerController_ActionTrackingServices* m_pActionTrackingServices; // 0x688 + CCSPlayerController_ActionTrackingServices* m_pActionTrackingServices; // 0x688 // MNetworkEnable - CCSPlayerController_DamageServices* m_pDamageServices; // 0x690 + CCSPlayerController_DamageServices* m_pDamageServices; // 0x690 // MNetworkEnable - uint32_t m_iPing; // 0x698 + uint32_t m_iPing; // 0x698 // MNetworkEnable - bool m_bHasCommunicationAbuseMute; // 0x69c + bool m_bHasCommunicationAbuseMute; // 0x69c +private: + [[maybe_unused]] uint8_t __pad069d[0x3]; // 0x69d +public: // MNetworkEnable - CUtlSymbolLarge m_szCrosshairCodes; // 0x6a0 + CUtlSymbolLarge m_szCrosshairCodes; // 0x6a0 // MNetworkEnable - uint8_t m_iPendingTeamNum; // 0x6a8 + uint8_t m_iPendingTeamNum; // 0x6a8 +private: + [[maybe_unused]] uint8_t __pad06a9[0x3]; // 0x6a9 +public: // MNetworkEnable - GameTime_t m_flForceTeamTime; // 0x6ac + GameTime_t m_flForceTeamTime; // 0x6ac // MNetworkEnable - int32_t m_iCompTeammateColor; // 0x6b0 + int32_t m_iCompTeammateColor; // 0x6b0 // MNetworkEnable - bool m_bEverPlayedOnTeam; // 0x6b4 - bool m_bAttemptedToGetColor; // 0x6b5 - int32_t m_iTeammatePreferredColor; // 0x6b8 - bool m_bTeamChanged; // 0x6bc - bool m_bInSwitchTeam; // 0x6bd - bool m_bHasSeenJoinGame; // 0x6be - bool m_bJustBecameSpectator; // 0x6bf - bool m_bSwitchTeamsOnNextRoundReset; // 0x6c0 + bool m_bEverPlayedOnTeam; // 0x6b4 + bool m_bAttemptedToGetColor; // 0x6b5 +private: + [[maybe_unused]] uint8_t __pad06b6[0x2]; // 0x6b6 +public: + int32_t m_iTeammatePreferredColor; // 0x6b8 + bool m_bTeamChanged; // 0x6bc + bool m_bInSwitchTeam; // 0x6bd + bool m_bHasSeenJoinGame; // 0x6be + bool m_bJustBecameSpectator; // 0x6bf + bool m_bSwitchTeamsOnNextRoundReset; // 0x6c0 +private: + [[maybe_unused]] uint8_t __pad06c1[0x7]; // 0x6c1 +public: // MNetworkEnable - CUtlSymbolLarge m_szClan; // 0x6c8 - char[32] m_szClanName; // 0x6d0 + CUtlSymbolLarge m_szClan; // 0x6c8 + char m_szClanName[32]; // 0x6d0 // MNetworkEnable - int32_t m_iCoachingTeam; // 0x6f0 + int32_t m_iCoachingTeam; // 0x6f0 +private: + [[maybe_unused]] uint8_t __pad06f4[0x4]; // 0x6f4 +public: // MNetworkEnable - uint64_t m_nPlayerDominated; // 0x6f8 + uint64_t m_nPlayerDominated; // 0x6f8 // MNetworkEnable - uint64_t m_nPlayerDominatingMe; // 0x700 + uint64_t m_nPlayerDominatingMe; // 0x700 // MNetworkEnable - int32_t m_iCompetitiveRanking; // 0x708 + int32_t m_iCompetitiveRanking; // 0x708 // MNetworkEnable - int32_t m_iCompetitiveWins; // 0x70c + int32_t m_iCompetitiveWins; // 0x70c // MNetworkEnable - int8_t m_iCompetitiveRankType; // 0x710 + int8_t m_iCompetitiveRankType; // 0x710 +private: + [[maybe_unused]] uint8_t __pad0711[0x3]; // 0x711 +public: // MNetworkEnable - int32_t m_nEndMatchNextMapVote; // 0x714 + int32_t m_nEndMatchNextMapVote; // 0x714 // MNetworkEnable - uint16_t m_unActiveQuestId; // 0x718 + uint16_t m_unActiveQuestId; // 0x718 +private: + [[maybe_unused]] uint8_t __pad071a[0x2]; // 0x71a +public: // MNetworkEnable - QuestProgress::Reason m_nQuestProgressReason; // 0x71c + QuestProgress::Reason m_nQuestProgressReason; // 0x71c // MNetworkEnable - uint32_t m_unPlayerTvControlFlags; // 0x720 - int32_t m_iDraftIndex; // 0x790 - uint32_t m_msQueuedModeDisconnectionTimestamp; // 0x794 - uint32_t m_uiAbandonRecordedReason; // 0x798 - bool m_bEverFullyConnected; // 0x79c - bool m_bAbandonAllowsSurrender; // 0x79d - bool m_bDisconnection1MinWarningPrinted; // 0x79e - bool m_bScoreReported; // 0x79f + uint32_t m_unPlayerTvControlFlags; // 0x720 +private: + [[maybe_unused]] uint8_t __pad0724[0x6c]; // 0x724 +public: + int32_t m_iDraftIndex; // 0x790 + uint32_t m_msQueuedModeDisconnectionTimestamp; // 0x794 + uint32_t m_uiAbandonRecordedReason; // 0x798 + bool m_bEverFullyConnected; // 0x79c + bool m_bAbandonAllowsSurrender; // 0x79d + bool m_bDisconnection1MinWarningPrinted; // 0x79e + bool m_bScoreReported; // 0x79f // MNetworkEnable - int32_t m_nDisconnectionTick; // 0x7a0 + int32_t m_nDisconnectionTick; // 0x7a0 +private: + [[maybe_unused]] uint8_t __pad07a4[0xc]; // 0x7a4 +public: // MNetworkEnable - bool m_bControllingBot; // 0x7b0 + bool m_bControllingBot; // 0x7b0 // MNetworkEnable - bool m_bHasControlledBotThisRound; // 0x7b1 - bool m_bHasBeenControlledByPlayerThisRound; // 0x7b2 - int32_t m_nBotsControlledThisRound; // 0x7b4 + bool m_bHasControlledBotThisRound; // 0x7b1 + bool m_bHasBeenControlledByPlayerThisRound; // 0x7b2 +private: + [[maybe_unused]] uint8_t __pad07b3[0x1]; // 0x7b3 +public: + int32_t m_nBotsControlledThisRound; // 0x7b4 // MNetworkEnable - bool m_bCanControlObservedBot; // 0x7b8 + bool m_bCanControlObservedBot; // 0x7b8 +private: + [[maybe_unused]] uint8_t __pad07b9[0x3]; // 0x7b9 +public: // MNetworkEnable - CHandle< CCSPlayerPawn > m_hPlayerPawn; // 0x7bc + CHandle< CCSPlayerPawn > m_hPlayerPawn; // 0x7bc // MNetworkEnable - CHandle< CCSObserverPawn > m_hObserverPawn; // 0x7c0 - int32_t m_DesiredObserverMode; // 0x7c4 - CEntityHandle m_hDesiredObserverTarget; // 0x7c8 + CHandle< CCSObserverPawn > m_hObserverPawn; // 0x7c0 + int32_t m_DesiredObserverMode; // 0x7c4 + CEntityHandle m_hDesiredObserverTarget; // 0x7c8 // MNetworkEnable - bool m_bPawnIsAlive; // 0x7cc + bool m_bPawnIsAlive; // 0x7cc +private: + [[maybe_unused]] uint8_t __pad07cd[0x3]; // 0x7cd +public: // MNetworkEnable - uint32_t m_iPawnHealth; // 0x7d0 + uint32_t m_iPawnHealth; // 0x7d0 // MNetworkEnable - int32_t m_iPawnArmor; // 0x7d4 + int32_t m_iPawnArmor; // 0x7d4 // MNetworkEnable - bool m_bPawnHasDefuser; // 0x7d8 + bool m_bPawnHasDefuser; // 0x7d8 // MNetworkEnable - bool m_bPawnHasHelmet; // 0x7d9 + bool m_bPawnHasHelmet; // 0x7d9 // MNetworkEnable - uint16_t m_nPawnCharacterDefIndex; // 0x7da + uint16_t m_nPawnCharacterDefIndex; // 0x7da // MNetworkEnable - int32_t m_iPawnLifetimeStart; // 0x7dc + int32_t m_iPawnLifetimeStart; // 0x7dc // MNetworkEnable - int32_t m_iPawnLifetimeEnd; // 0x7e0 + int32_t m_iPawnLifetimeEnd; // 0x7e0 // MNetworkEnable - int32_t m_iPawnGunGameLevel; // 0x7e4 + int32_t m_iPawnGunGameLevel; // 0x7e4 // MNetworkEnable - int32_t m_iPawnBotDifficulty; // 0x7e8 + int32_t m_iPawnBotDifficulty; // 0x7e8 // MNetworkEnable - CHandle< CCSPlayerController > m_hOriginalControllerOfCurrentPawn; // 0x7ec + CHandle< CCSPlayerController > m_hOriginalControllerOfCurrentPawn; // 0x7ec // MNetworkEnable - int32_t m_iScore; // 0x7f0 - int32_t m_iRoundScore; // 0x7f4 + int32_t m_iScore; // 0x7f0 + int32_t m_iRoundScore; // 0x7f4 // MNetworkEnable - CNetworkUtlVectorBase< EKillTypes_t > m_vecKills; // 0x7f8 + CNetworkUtlVectorBase< EKillTypes_t > m_vecKills; // 0x7f8 // MNetworkEnable - int32_t m_iMVPs; // 0x810 - int32_t m_nUpdateCounter; // 0x814 - IntervalTimer m_lastHeldVoteTimer; // 0xf8b8 - bool m_bShowHints; // 0xf8d0 - int32_t m_iNextTimeCheck; // 0xf8d4 + int32_t m_iMVPs; // 0x810 + int32_t m_nUpdateCounter; // 0x814 +private: + [[maybe_unused]] uint8_t __pad0818[0xf0a0]; // 0x818 +public: + IntervalTimer m_lastHeldVoteTimer; // 0xf8b8 +private: + [[maybe_unused]] uint8_t __padf8c8[0x8]; // 0xf8c8 +public: + bool m_bShowHints; // 0xf8d0 +private: + [[maybe_unused]] uint8_t __padf8d1[0x3]; // 0xf8d1 +public: + int32_t m_iNextTimeCheck; // 0xf8d4 }; // Alignment: 2 // Size: 0x8a8 -class CFootstepControl : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFootstepControl : public CBaseTrigger +{ public: // MNetworkEnable - CUtlSymbolLarge m_source; // 0x898 + CUtlSymbolLarge m_source; // 0x898 // MNetworkEnable - CUtlSymbolLarge m_destination; // 0x8a0 + CUtlSymbolLarge m_destination; // 0x8a0 }; // Alignment: 1 // Size: 0x8b0 -class CTriggerSafeMoneyGather : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerSafeMoneyGather : public CBaseTrigger +{ public: - CUtlVector< CHandle< CBaseEntity > > m_vecCashBundles; // 0x898 + CUtlVector< CHandle< CBaseEntity > > m_vecCashBundles; // 0x898 }; // Alignment: 21 // Size: 0x510 -class CCSEnvGunfire : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCSEnvGunfire : public CPointEntity +{ public: - int32_t m_iMinBurstSize; // 0x4a0 - int32_t m_iMaxBurstSize; // 0x4a4 - float m_flMinBurstDelay; // 0x4a8 - float m_flMaxBurstDelay; // 0x4ac - float m_flRateOfFire; // 0x4b0 - CUtlSymbolLarge m_iszShootSound; // 0x4b8 - CUtlSymbolLarge m_iszTracerType; // 0x4c0 - CUtlSymbolLarge m_iszWeaponName; // 0x4c8 - bool m_bDisabled; // 0x4d0 - int32_t m_iShotsRemaining; // 0x4d4 - int32_t m_iSpread; // 0x4d8 - Vector m_vecSpread; // 0x4dc - Vector m_vecTargetPosition; // 0x4e8 - float m_flTargetDist; // 0x4f4 - float m_flBias; // 0x4f8 - bool m_bCollide; // 0x4fc - CHandle< CBaseEntity > m_hTarget; // 0x500 - bool m_bAllowNullTarget; // 0x504 - bool m_bAlwaysWallbangTracer; // 0x505 - float m_flDamageScaleValue; // 0x508 - float m_flAdditionalSpread; // 0x50c + int32_t m_iMinBurstSize; // 0x4a0 + int32_t m_iMaxBurstSize; // 0x4a4 + float m_flMinBurstDelay; // 0x4a8 + float m_flMaxBurstDelay; // 0x4ac + float m_flRateOfFire; // 0x4b0 +private: + [[maybe_unused]] uint8_t __pad04b4[0x4]; // 0x4b4 +public: + CUtlSymbolLarge m_iszShootSound; // 0x4b8 + CUtlSymbolLarge m_iszTracerType; // 0x4c0 + CUtlSymbolLarge m_iszWeaponName; // 0x4c8 + bool m_bDisabled; // 0x4d0 +private: + [[maybe_unused]] uint8_t __pad04d1[0x3]; // 0x4d1 +public: + int32_t m_iShotsRemaining; // 0x4d4 + int32_t m_iSpread; // 0x4d8 + Vector m_vecSpread; // 0x4dc + Vector m_vecTargetPosition; // 0x4e8 + float m_flTargetDist; // 0x4f4 + float m_flBias; // 0x4f8 + bool m_bCollide; // 0x4fc +private: + [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd +public: + CHandle< CBaseEntity > m_hTarget; // 0x500 + bool m_bAllowNullTarget; // 0x504 + bool m_bAlwaysWallbangTracer; // 0x505 +private: + [[maybe_unused]] uint8_t __pad0506[0x2]; // 0x506 +public: + float m_flDamageScaleValue; // 0x508 + float m_flAdditionalSpread; // 0x50c }; // Alignment: 0 // Size: 0x4a0 -class CInfoGasCanisterLaunchPoint : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoGasCanisterLaunchPoint : public CPointEntity +{ public: // no members available }; // Alignment: 9 // Size: 0x4e8 -class CDangerZone : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDangerZone : public CPointEntity +{ public: // MNetworkEnable - Vector m_vecDangerZoneOriginStartedAt; // 0x4a0 + Vector m_vecDangerZoneOriginStartedAt; // 0x4a0 // MNetworkEnable - GameTime_t m_flBombLaunchTime; // 0x4ac + GameTime_t m_flBombLaunchTime; // 0x4ac // MNetworkEnable - float m_flExtraRadius; // 0x4b0 + float m_flExtraRadius; // 0x4b0 // MNetworkEnable - GameTime_t m_flExtraRadiusStartTime; // 0x4b4 + GameTime_t m_flExtraRadiusStartTime; // 0x4b4 // MNetworkEnable - float m_flExtraRadiusTotalLerpTime; // 0x4b8 + float m_flExtraRadiusTotalLerpTime; // 0x4b8 // MNetworkEnable - int32_t m_nDropOrder; // 0x4bc + int32_t m_nDropOrder; // 0x4bc // MNetworkEnable - int32_t m_iWave; // 0x4c0 - int32_t m_nMyZoneIndex; // 0x4c4 - int32[6] m_nZoneNeighbors; // 0x4c8 + int32_t m_iWave; // 0x4c0 + int32_t m_nMyZoneIndex; // 0x4c4 + int32_t m_nZoneNeighbors[6]; // 0x4c8 }; // Alignment: 1 // Size: 0x4a8 -class CGrassBurn : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CGrassBurn : public CPointEntity +{ public: // MNetworkEnable - float m_flGrassBurnClearTime; // 0x4a0 + float m_flGrassBurnClearTime; // 0x4a0 }; // Alignment: 89 // Size: 0xda8 -class CWeaponCSBaseVData : public CBasePlayerWeaponVData, CEntitySubclassVDataBase -{ +class CWeaponCSBaseVData : public CBasePlayerWeaponVData +{ public: - CSWeaponType m_WeaponType; // 0x320 - CSWeaponCategory m_WeaponCategory; // 0x324 + CSWeaponType m_WeaponType; // 0x320 + CSWeaponCategory m_WeaponCategory; // 0x324 // MPropertyStartGroup "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szViewModel; // 0x328 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szPlayerModel; // 0x408 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldDroppedModel; // 0x4e8 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szAimsightLensMaskModel; // 0x5c8 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szMagazineModel; // 0x6a8 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szHeatEffect; // 0x788 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szEjectBrassEffect; // 0x868 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticleAlt; // 0x948 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashThirdPersonParticle; // 0xa28 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashThirdPersonParticleAlt; // 0xb08 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szViewModel; // 0x328 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szPlayerModel; // 0x408 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldDroppedModel; // 0x4e8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szAimsightLensMaskModel; // 0x5c8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szMagazineModel; // 0x6a8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szHeatEffect; // 0x788 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szEjectBrassEffect; // 0x868 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticleAlt; // 0x948 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashThirdPersonParticle; // 0xa28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashThirdPersonParticleAlt; // 0xb08 // MPropertyStartGroup "HUD Positions" // MPropertyFriendlyName "HUD Bucket" // MPropertyDescription "Which 'column' to display this weapon in the HUD" - gear_slot_t m_GearSlot; // 0xbe8 - int32_t m_GearSlotPosition; // 0xbec + gear_slot_t m_GearSlot; // 0xbe8 + int32_t m_GearSlotPosition; // 0xbec // MPropertyFriendlyName "HUD Bucket Position" // MPropertyDescription "Default team (non Terrorist or Counter-Terrorist) 'row' to display this weapon in the HUD." - loadout_positions_t m_DefaultLoadoutPosition; // 0xbf0 - CUtlString m_sWrongTeamMsg; // 0xbf8 + loadout_positions_t m_DefaultLoadoutPosition; // 0xbf0 +private: + [[maybe_unused]] uint8_t __pad0bf4[0x4]; // 0xbf4 +public: + CUtlString m_sWrongTeamMsg; // 0xbf8 // MPropertyStartGroup "In-Game Data" - int32_t m_nPrice; // 0xc00 - int32_t m_nKillAward; // 0xc04 - int32_t m_nPrimaryReserveAmmoMax; // 0xc08 - int32_t m_nSecondaryReserveAmmoMax; // 0xc0c - bool m_bMeleeWeapon; // 0xc10 - bool m_bHasBurstMode; // 0xc11 - bool m_bIsRevolver; // 0xc12 - bool m_bCannotShootUnderwater; // 0xc13 + int32_t m_nPrice; // 0xc00 + int32_t m_nKillAward; // 0xc04 + int32_t m_nPrimaryReserveAmmoMax; // 0xc08 + int32_t m_nSecondaryReserveAmmoMax; // 0xc0c + bool m_bMeleeWeapon; // 0xc10 + bool m_bHasBurstMode; // 0xc11 + bool m_bIsRevolver; // 0xc12 + bool m_bCannotShootUnderwater; // 0xc13 +private: + [[maybe_unused]] uint8_t __pad0c14[0x4]; // 0xc14 +public: // MPropertyFriendlyName "In-Code weapon name" - CUtlString m_szName; // 0xc18 + CUtlString m_szName; // 0xc18 // MPropertyFriendlyName "Player Animation Extension" - CUtlString m_szAnimExtension; // 0xc20 - CSWeaponSilencerType m_eSilencerType; // 0xc28 - int32_t m_nCrosshairMinDistance; // 0xc2c - int32_t m_nCrosshairDeltaDistance; // 0xc30 + CUtlString m_szAnimExtension; // 0xc20 + CSWeaponSilencerType m_eSilencerType; // 0xc28 + int32_t m_nCrosshairMinDistance; // 0xc2c + int32_t m_nCrosshairDeltaDistance; // 0xc30 // MPropertyStartGroup "Firing Mode Data" - CFiringModeFloat m_flCycleTime; // 0xc34 - CFiringModeFloat m_flMaxSpeed; // 0xc3c - CFiringModeFloat m_flSpread; // 0xc44 - CFiringModeFloat m_flInaccuracyCrouch; // 0xc4c - CFiringModeFloat m_flInaccuracyStand; // 0xc54 - CFiringModeFloat m_flInaccuracyJump; // 0xc5c - CFiringModeFloat m_flInaccuracyLand; // 0xc64 - CFiringModeFloat m_flInaccuracyLadder; // 0xc6c - CFiringModeFloat m_flInaccuracyFire; // 0xc74 - CFiringModeFloat m_flInaccuracyMove; // 0xc7c - CFiringModeFloat m_flRecoilAngle; // 0xc84 - CFiringModeFloat m_flRecoilAngleVariance; // 0xc8c - CFiringModeFloat m_flRecoilMagnitude; // 0xc94 - CFiringModeFloat m_flRecoilMagnitudeVariance; // 0xc9c - CFiringModeInt m_nTracerFrequency; // 0xca4 - float m_flInaccuracyJumpInitial; // 0xcac - float m_flInaccuracyJumpApex; // 0xcb0 - float m_flInaccuracyReload; // 0xcb4 + CFiringModeFloat m_flCycleTime; // 0xc34 + CFiringModeFloat m_flMaxSpeed; // 0xc3c + CFiringModeFloat m_flSpread; // 0xc44 + CFiringModeFloat m_flInaccuracyCrouch; // 0xc4c + CFiringModeFloat m_flInaccuracyStand; // 0xc54 + CFiringModeFloat m_flInaccuracyJump; // 0xc5c + CFiringModeFloat m_flInaccuracyLand; // 0xc64 + CFiringModeFloat m_flInaccuracyLadder; // 0xc6c + CFiringModeFloat m_flInaccuracyFire; // 0xc74 + CFiringModeFloat m_flInaccuracyMove; // 0xc7c + CFiringModeFloat m_flRecoilAngle; // 0xc84 + CFiringModeFloat m_flRecoilAngleVariance; // 0xc8c + CFiringModeFloat m_flRecoilMagnitude; // 0xc94 + CFiringModeFloat m_flRecoilMagnitudeVariance; // 0xc9c + CFiringModeInt m_nTracerFrequency; // 0xca4 + float m_flInaccuracyJumpInitial; // 0xcac + float m_flInaccuracyJumpApex; // 0xcb0 + float m_flInaccuracyReload; // 0xcb4 // MPropertyStartGroup "Firing" - int32_t m_nRecoilSeed; // 0xcb8 - int32_t m_nSpreadSeed; // 0xcbc - float m_flTimeToIdleAfterFire; // 0xcc0 - float m_flIdleInterval; // 0xcc4 - float m_flAttackMovespeedFactor; // 0xcc8 - float m_flHeatPerShot; // 0xccc - float m_flInaccuracyPitchShift; // 0xcd0 - float m_flInaccuracyAltSoundThreshold; // 0xcd4 - float m_flBotAudibleRange; // 0xcd8 - CUtlString m_szUseRadioSubtitle; // 0xce0 + int32_t m_nRecoilSeed; // 0xcb8 + int32_t m_nSpreadSeed; // 0xcbc + float m_flTimeToIdleAfterFire; // 0xcc0 + float m_flIdleInterval; // 0xcc4 + float m_flAttackMovespeedFactor; // 0xcc8 + float m_flHeatPerShot; // 0xccc + float m_flInaccuracyPitchShift; // 0xcd0 + float m_flInaccuracyAltSoundThreshold; // 0xcd4 + float m_flBotAudibleRange; // 0xcd8 +private: + [[maybe_unused]] uint8_t __pad0cdc[0x4]; // 0xcdc +public: + CUtlString m_szUseRadioSubtitle; // 0xce0 // MPropertyStartGroup "Zooming" - bool m_bUnzoomsAfterShot; // 0xce8 - bool m_bHideViewModelWhenZoomed; // 0xce9 - int32_t m_nZoomLevels; // 0xcec - int32_t m_nZoomFOV1; // 0xcf0 - int32_t m_nZoomFOV2; // 0xcf4 - float m_flZoomTime0; // 0xcf8 - float m_flZoomTime1; // 0xcfc - float m_flZoomTime2; // 0xd00 + bool m_bUnzoomsAfterShot; // 0xce8 + bool m_bHideViewModelWhenZoomed; // 0xce9 +private: + [[maybe_unused]] uint8_t __pad0cea[0x2]; // 0xcea +public: + int32_t m_nZoomLevels; // 0xcec + int32_t m_nZoomFOV1; // 0xcf0 + int32_t m_nZoomFOV2; // 0xcf4 + float m_flZoomTime0; // 0xcf8 + float m_flZoomTime1; // 0xcfc + float m_flZoomTime2; // 0xd00 // MPropertyStartGroup "Iron Sights" - float m_flIronSightPullUpSpeed; // 0xd04 - float m_flIronSightPutDownSpeed; // 0xd08 - float m_flIronSightFOV; // 0xd0c - float m_flIronSightPivotForward; // 0xd10 - float m_flIronSightLooseness; // 0xd14 - QAngle m_angPivotAngle; // 0xd18 - Vector m_vecIronSightEyePos; // 0xd24 + float m_flIronSightPullUpSpeed; // 0xd04 + float m_flIronSightPutDownSpeed; // 0xd08 + float m_flIronSightFOV; // 0xd0c + float m_flIronSightPivotForward; // 0xd10 + float m_flIronSightLooseness; // 0xd14 + QAngle m_angPivotAngle; // 0xd18 + Vector m_vecIronSightEyePos; // 0xd24 // MPropertyStartGroup "Damage" - int32_t m_nDamage; // 0xd30 - float m_flHeadshotMultiplier; // 0xd34 - float m_flArmorRatio; // 0xd38 - float m_flPenetration; // 0xd3c - float m_flRange; // 0xd40 - float m_flRangeModifier; // 0xd44 - float m_flFlinchVelocityModifierLarge; // 0xd48 - float m_flFlinchVelocityModifierSmall; // 0xd4c + int32_t m_nDamage; // 0xd30 + float m_flHeadshotMultiplier; // 0xd34 + float m_flArmorRatio; // 0xd38 + float m_flPenetration; // 0xd3c + float m_flRange; // 0xd40 + float m_flRangeModifier; // 0xd44 + float m_flFlinchVelocityModifierLarge; // 0xd48 + float m_flFlinchVelocityModifierSmall; // 0xd4c // MPropertyStartGroup "Recovery" - float m_flRecoveryTimeCrouch; // 0xd50 - float m_flRecoveryTimeStand; // 0xd54 - float m_flRecoveryTimeCrouchFinal; // 0xd58 - float m_flRecoveryTimeStandFinal; // 0xd5c - int32_t m_nRecoveryTransitionStartBullet; // 0xd60 - int32_t m_nRecoveryTransitionEndBullet; // 0xd64 + float m_flRecoveryTimeCrouch; // 0xd50 + float m_flRecoveryTimeStand; // 0xd54 + float m_flRecoveryTimeCrouchFinal; // 0xd58 + float m_flRecoveryTimeStandFinal; // 0xd5c + int32_t m_nRecoveryTransitionStartBullet; // 0xd60 + int32_t m_nRecoveryTransitionEndBullet; // 0xd64 // MPropertyStartGroup "Grenade Data" - float m_flThrowVelocity; // 0xd68 - Vector m_vSmokeColor; // 0xd6c - CUtlString m_szAnimClass; // 0xd78 + float m_flThrowVelocity; // 0xd68 + Vector m_vSmokeColor; // 0xd6c + CUtlString m_szAnimClass; // 0xd78 }; // Alignment: 0 // Size: 0x898 -class CTabletBlockerShim : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTabletBlockerShim : public CBaseTrigger +{ public: // no members available }; // Alignment: 0 // Size: 0x8a0 -class CTabletBlocker : public CTabletBlockerShim, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTabletBlocker : public CTabletBlockerShim +{ public: // no members available }; // Alignment: 0 // Size: 0x8a0 -class CTriggerTripWire : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerTripWire : public CBaseTrigger +{ public: // no members available }; // Alignment: 0 // Size: 0x760 -class CCSSprite : public CSprite, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCSSprite : public CSprite +{ public: // no members available }; // Alignment: 2 // Size: 0x4b0 -class CPointGamestatsCounter : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointGamestatsCounter : public CPointEntity +{ public: - CUtlSymbolLarge m_strStatisticName; // 0x4a0 - bool m_bDisabled; // 0x4a8 + CUtlSymbolLarge m_strStatisticName; // 0x4a0 + bool m_bDisabled; // 0x4a8 }; // Alignment: 1 // Size: 0x4a8 -class CEnvHudHint : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvHudHint : public CPointEntity +{ public: - CUtlSymbolLarge m_iszMessage; // 0x4a0 + CUtlSymbolLarge m_iszMessage; // 0x4a0 }; // Alignment: 8 // Size: 0x928 -class CBombTarget : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBombTarget : public CBaseTrigger +{ public: - CEntityIOOutput m_OnBombExplode; // 0x898 - CEntityIOOutput m_OnBombPlanted; // 0x8c0 - CEntityIOOutput m_OnBombDefused; // 0x8e8 - bool m_bIsBombSiteB; // 0x910 - bool m_bIsHeistBombTarget; // 0x911 - bool m_bBombPlantedHere; // 0x912 - CUtlSymbolLarge m_szMountTarget; // 0x918 - CHandle< CBaseEntity > m_hInstructorHint; // 0x920 + CEntityIOOutput m_OnBombExplode; // 0x898 + CEntityIOOutput m_OnBombPlanted; // 0x8c0 + CEntityIOOutput m_OnBombDefused; // 0x8e8 + bool m_bIsBombSiteB; // 0x910 + bool m_bIsHeistBombTarget; // 0x911 + bool m_bBombPlantedHere; // 0x912 +private: + [[maybe_unused]] uint8_t __pad0913[0x5]; // 0x913 +public: + CUtlSymbolLarge m_szMountTarget; // 0x918 + CHandle< CBaseEntity > m_hInstructorHint; // 0x920 }; // Alignment: 0 // Size: 0x4a0 -class CInfoInstructorHintBombTargetA : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoInstructorHintBombTargetA : public CPointEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x4a0 -class CInfoInstructorHintBombTargetB : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoInstructorHintBombTargetB : public CPointEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x898 -class CHostageRescueZoneShim : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CHostageRescueZoneShim : public CBaseTrigger +{ public: // no members available }; // Alignment: 0 // Size: 0x8a8 -class CHostageRescueZone : public CHostageRescueZoneShim, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CHostageRescueZone : public CHostageRescueZoneShim +{ public: // no members available }; // Alignment: 0 // Size: 0x4a0 -class CInfoInstructorHintHostageRescueZone : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoInstructorHintHostageRescueZone : public CPointEntity +{ public: // no members available }; // Alignment: 1 // Size: 0x8a0 -class CBuyZone : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBuyZone : public CBaseTrigger +{ public: - int32_t m_LegacyTeamNum; // 0x898 + int32_t m_LegacyTeamNum; // 0x898 }; // Alignment: 9 // Size: 0x740 -class CFuncConveyor : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncConveyor : public CBaseModelEntity +{ public: - CUtlSymbolLarge m_szConveyorModels; // 0x6f0 - float m_flTransitionDurationSeconds; // 0x6f8 - QAngle m_angMoveEntitySpace; // 0x6fc + CUtlSymbolLarge m_szConveyorModels; // 0x6f0 + float m_flTransitionDurationSeconds; // 0x6f8 + QAngle m_angMoveEntitySpace; // 0x6fc // MNetworkEnable - Vector m_vecMoveDirEntitySpace; // 0x708 + Vector m_vecMoveDirEntitySpace; // 0x708 // MNetworkEnable - float m_flTargetSpeed; // 0x714 + float m_flTargetSpeed; // 0x714 // MNetworkEnable - GameTick_t m_nTransitionStartTick; // 0x718 + GameTick_t m_nTransitionStartTick; // 0x718 // MNetworkEnable - int32_t m_nTransitionDurationTicks; // 0x71c + int32_t m_nTransitionDurationTicks; // 0x71c // MNetworkEnable - float m_flTransitionStartSpeed; // 0x720 + float m_flTransitionStartSpeed; // 0x720 +private: + [[maybe_unused]] uint8_t __pad0724[0x4]; // 0x724 +public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_hConveyorModels; // 0x728 + CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_hConveyorModels; // 0x728 }; // Alignment: 0 // Size: 0x898 -class CTriggerBombReset : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerBombReset : public CBaseTrigger +{ public: // no members available }; // Alignment: 1 // Size: 0x700 -class CCSPlace : public CServerOnlyModelEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCSPlace : public CServerOnlyModelEntity +{ public: - CUtlSymbolLarge m_name; // 0x6f8 + CUtlSymbolLarge m_name; // 0x6f8 }; // Alignment: 15 // Size: 0x7c8 -class CPlayerSprayDecal : public CModelPointEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPlayerSprayDecal : public CModelPointEntity +{ public: // MNetworkEnable - int32_t m_nUniqueID; // 0x6f0 + int32_t m_nUniqueID; // 0x6f0 // MNetworkEnable - uint32_t m_unAccountID; // 0x6f4 + uint32_t m_unAccountID; // 0x6f4 // MNetworkEnable - uint32_t m_unTraceID; // 0x6f8 + uint32_t m_unTraceID; // 0x6f8 // MNetworkEnable - uint32_t m_rtGcTime; // 0x6fc + uint32_t m_rtGcTime; // 0x6fc // MNetworkEnable - Vector m_vecEndPos; // 0x700 + Vector m_vecEndPos; // 0x700 // MNetworkEnable - Vector m_vecStart; // 0x70c + Vector m_vecStart; // 0x70c // MNetworkEnable - Vector m_vecLeft; // 0x718 + Vector m_vecLeft; // 0x718 // MNetworkEnable - Vector m_vecNormal; // 0x724 + Vector m_vecNormal; // 0x724 // MNetworkEnable - int32_t m_nPlayer; // 0x730 + int32_t m_nPlayer; // 0x730 // MNetworkEnable - int32_t m_nEntity; // 0x734 + int32_t m_nEntity; // 0x734 // MNetworkEnable - int32_t m_nHitbox; // 0x738 + int32_t m_nHitbox; // 0x738 // MNetworkEnable - float m_flCreationTime; // 0x73c + float m_flCreationTime; // 0x73c // MNetworkEnable - int32_t m_nTintID; // 0x740 + int32_t m_nTintID; // 0x740 // MNetworkEnable - uint8_t m_nVersion; // 0x744 + uint8_t m_nVersion; // 0x744 // MNetworkEnable - uint8[128] m_ubSignature; // 0x745 - static CUtlVector< CPlayerSprayDecal* > &Get_s_arrFEPlayerDecals(){ return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CPlayerSprayDecal")->m_static_fields[0]->m_instance);}; + uint8_t m_ubSignature[128]; // 0x745 + static CUtlVector< CPlayerSprayDecal* > &Get_s_arrFEPlayerDecals(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CPlayerSprayDecal")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 // Size: 0x898 -class CTriggerCustomBounds : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerCustomBounds : public CBaseTrigger +{ public: // no members available }; // Alignment: 0 // Size: 0x898 -class CTriggerSurvivalPlayArea : public CTriggerCustomBounds, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerSurvivalPlayArea : public CTriggerCustomBounds +{ public: // no members available }; // Alignment: 3 // Size: 0x530 -class CInfoMapRegion : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoMapRegion : public CPointEntity +{ public: // MNetworkEnable - float m_flRadius; // 0x4a0 - CUtlSymbolLarge m_strLocToken; // 0x4a8 + float m_flRadius; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 +public: + CUtlSymbolLarge m_strLocToken; // 0x4a8 // MNetworkEnable - char[128] m_szLocToken; // 0x4b0 + char m_szLocToken[128]; // 0x4b0 }; // Alignment: 28 // Size: 0x1378 -class CInferno : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInferno : public CBaseModelEntity +{ public: // MNetworkEnable - int32[64] m_fireXDelta; // 0x700 + int32_t m_fireXDelta[64]; // 0x700 // MNetworkEnable - int32[64] m_fireYDelta; // 0x800 + int32_t m_fireYDelta[64]; // 0x800 // MNetworkEnable - int32[64] m_fireZDelta; // 0x900 + int32_t m_fireZDelta[64]; // 0x900 // MNetworkEnable - int32[64] m_fireParentXDelta; // 0xa00 + int32_t m_fireParentXDelta[64]; // 0xa00 // MNetworkEnable - int32[64] m_fireParentYDelta; // 0xb00 + int32_t m_fireParentYDelta[64]; // 0xb00 // MNetworkEnable - int32[64] m_fireParentZDelta; // 0xc00 + int32_t m_fireParentZDelta[64]; // 0xc00 // MNetworkEnable - bool[64] m_bFireIsBurning; // 0xd00 + bool m_bFireIsBurning[64]; // 0xd00 // MNetworkEnable - Vector[64] m_BurnNormal; // 0xd40 + Vector m_BurnNormal[64]; // 0xd40 // MNetworkEnable - int32_t m_fireCount; // 0x1040 + int32_t m_fireCount; // 0x1040 // MNetworkEnable - int32_t m_nInfernoType; // 0x1044 + int32_t m_nInfernoType; // 0x1044 // MNetworkEnable - int32_t m_nFireEffectTickBegin; // 0x1048 + int32_t m_nFireEffectTickBegin; // 0x1048 // MNetworkEnable - float m_nFireLifetime; // 0x104c + float m_nFireLifetime; // 0x104c // MNetworkEnable - bool m_bInPostEffectTime; // 0x1050 - int32_t m_nFiresExtinguishCount; // 0x1054 - bool m_bWasCreatedInSmoke; // 0x1058 - Extent m_extent; // 0x1260 - CountdownTimer m_damageTimer; // 0x1278 - CountdownTimer m_damageRampTimer; // 0x1290 - Vector m_splashVelocity; // 0x12a8 - Vector m_InitialSplashVelocity; // 0x12b4 - Vector m_startPos; // 0x12c0 - Vector m_vecOriginalSpawnLocation; // 0x12cc - IntervalTimer m_activeTimer; // 0x12d8 - int32_t m_fireSpawnOffset; // 0x12e8 - int32_t m_nMaxFlames; // 0x12ec - CountdownTimer m_BookkeepingTimer; // 0x12f0 - CountdownTimer m_NextSpreadTimer; // 0x1308 - uint16_t m_nSourceItemDefIndex; // 0x1320 - static float &Get_InfernoFire_Radius(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInferno")->m_static_fields[0]->m_instance);}; - static float &Get_InfernoFire_LOSHeight(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInferno")->m_static_fields[1]->m_instance);}; - static float &Get_InfernoFire_CylinderHeight(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInferno")->m_static_fields[2]->m_instance);}; - static float &Get_InfernoFire_FullHeight(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInferno")->m_static_fields[3]->m_instance);}; + bool m_bInPostEffectTime; // 0x1050 +private: + [[maybe_unused]] uint8_t __pad1051[0x3]; // 0x1051 +public: + int32_t m_nFiresExtinguishCount; // 0x1054 + bool m_bWasCreatedInSmoke; // 0x1058 +private: + [[maybe_unused]] uint8_t __pad1059[0x207]; // 0x1059 +public: + Extent m_extent; // 0x1260 + CountdownTimer m_damageTimer; // 0x1278 + CountdownTimer m_damageRampTimer; // 0x1290 + Vector m_splashVelocity; // 0x12a8 + Vector m_InitialSplashVelocity; // 0x12b4 + Vector m_startPos; // 0x12c0 + Vector m_vecOriginalSpawnLocation; // 0x12cc + IntervalTimer m_activeTimer; // 0x12d8 + int32_t m_fireSpawnOffset; // 0x12e8 + int32_t m_nMaxFlames; // 0x12ec + CountdownTimer m_BookkeepingTimer; // 0x12f0 + CountdownTimer m_NextSpreadTimer; // 0x1308 + uint16_t m_nSourceItemDefIndex; // 0x1320 + static float &Get_InfernoFire_Radius(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInferno")->m_static_fields[0]->m_instance);}; + static float &Get_InfernoFire_LOSHeight(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInferno")->m_static_fields[1]->m_instance);}; + static float &Get_InfernoFire_CylinderHeight(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInferno")->m_static_fields[2]->m_instance);}; + static float &Get_InfernoFire_FullHeight(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInferno")->m_static_fields[3]->m_instance);}; }; // Alignment: 0 // Size: 0x1378 -class CFireCrackerBlast : public CInferno, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFireCrackerBlast : public CInferno +{ public: // no members available }; // Alignment: 52 // Size: 0x918 -class CBarnLight : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBarnLight : public CBaseModelEntity +{ public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bEnabled; // 0x6f0 + bool m_bEnabled; // 0x6f0 +private: + [[maybe_unused]] uint8_t __pad06f1[0x3]; // 0x6f1 +public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nColorMode; // 0x6f4 + int32_t m_nColorMode; // 0x6f4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Color m_Color; // 0x6f8 + Color m_Color; // 0x6f8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flColorTemperature; // 0x6fc + float m_flColorTemperature; // 0x6fc // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flBrightness; // 0x700 + float m_flBrightness; // 0x700 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flBrightnessScale; // 0x704 + float m_flBrightnessScale; // 0x704 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nDirectLight; // 0x708 + int32_t m_nDirectLight; // 0x708 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nBakedShadowIndex; // 0x70c + int32_t m_nBakedShadowIndex; // 0x70c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nLuminaireShape; // 0x710 + int32_t m_nLuminaireShape; // 0x710 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flLuminaireSize; // 0x714 + float m_flLuminaireSize; // 0x714 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flLuminaireAnisotropy; // 0x718 + float m_flLuminaireAnisotropy; // 0x718 +private: + [[maybe_unused]] uint8_t __pad071c[0x4]; // 0x71c +public: // MNetworkEnable // MNetworkChangeCallback "StyleChanged" - CUtlString m_LightStyleString; // 0x720 + CUtlString m_LightStyleString; // 0x720 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - GameTime_t m_flLightStyleStartTime; // 0x728 + GameTime_t m_flLightStyleStartTime; // 0x728 +private: + [[maybe_unused]] uint8_t __pad072c[0x4]; // 0x72c +public: // MNetworkEnable - CNetworkUtlVectorBase< CUtlString > m_QueuedLightStyleStrings; // 0x730 + CNetworkUtlVectorBase< CUtlString > m_QueuedLightStyleStrings; // 0x730 // MNetworkEnable - CNetworkUtlVectorBase< CUtlString > m_LightStyleEvents; // 0x748 + CNetworkUtlVectorBase< CUtlString > m_LightStyleEvents; // 0x748 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_LightStyleTargets; // 0x760 - CEntityIOOutput[4] m_StyleEvent; // 0x778 - CUtlString m_StyleRadianceVar; // 0x818 - CUtlString m_StyleVar; // 0x820 + CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_LightStyleTargets; // 0x760 + CEntityIOOutput m_StyleEvent[4]; // 0x778 + CUtlString m_StyleRadianceVar; // 0x818 + CUtlString m_StyleVar; // 0x820 +private: + [[maybe_unused]] uint8_t __pad0828[0x20]; // 0x828 +public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x848 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x848 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flShape; // 0x850 + float m_flShape; // 0x850 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSoftX; // 0x854 + float m_flSoftX; // 0x854 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSoftY; // 0x858 + float m_flSoftY; // 0x858 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSkirt; // 0x85c + float m_flSkirt; // 0x85c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSkirtNear; // 0x860 + float m_flSkirtNear; // 0x860 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - Vector m_vSizeParams; // 0x864 + Vector m_vSizeParams; // 0x864 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - float m_flRange; // 0x870 + float m_flRange; // 0x870 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - Vector m_vShear; // 0x874 + Vector m_vShear; // 0x874 // MNetworkEnable - int32_t m_nBakeSpecularToCubemaps; // 0x880 + int32_t m_nBakeSpecularToCubemaps; // 0x880 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - Vector m_vBakeSpecularToCubemapsSize; // 0x884 + Vector m_vBakeSpecularToCubemapsSize; // 0x884 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nCastShadows; // 0x890 + int32_t m_nCastShadows; // 0x890 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nShadowMapSize; // 0x894 + int32_t m_nShadowMapSize; // 0x894 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nShadowPriority; // 0x898 + int32_t m_nShadowPriority; // 0x898 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bContactShadow; // 0x89c + bool m_bContactShadow; // 0x89c +private: + [[maybe_unused]] uint8_t __pad089d[0x3]; // 0x89d +public: // MNetworkEnable - int32_t m_nBounceLight; // 0x8a0 + int32_t m_nBounceLight; // 0x8a0 // MNetworkEnable - float m_flBounceScale; // 0x8a4 + float m_flBounceScale; // 0x8a4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flMinRoughness; // 0x8a8 + float m_flMinRoughness; // 0x8a8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nFog; // 0x8ac + int32_t m_nFog; // 0x8ac // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFogStrength; // 0x8b0 + float m_flFogStrength; // 0x8b0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nFogShadows; // 0x8b4 + int32_t m_nFogShadows; // 0x8b4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFogScale; // 0x8b8 + float m_flFogScale; // 0x8b8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFadeSizeStart; // 0x8bc + float m_flFadeSizeStart; // 0x8bc // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFadeSizeEnd; // 0x8c0 + float m_flFadeSizeEnd; // 0x8c0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flShadowFadeSizeStart; // 0x8c4 + float m_flShadowFadeSizeStart; // 0x8c4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flShadowFadeSizeEnd; // 0x8c8 + float m_flShadowFadeSizeEnd; // 0x8c8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bPrecomputedFieldsValid; // 0x8cc + bool m_bPrecomputedFieldsValid; // 0x8cc +private: + [[maybe_unused]] uint8_t __pad08cd[0x3]; // 0x8cd +public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedBoundsMins; // 0x8d0 + Vector m_vPrecomputedBoundsMins; // 0x8d0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedBoundsMaxs; // 0x8dc + Vector m_vPrecomputedBoundsMaxs; // 0x8dc // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedOBBOrigin; // 0x8e8 + Vector m_vPrecomputedOBBOrigin; // 0x8e8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - QAngle m_vPrecomputedOBBAngles; // 0x8f4 + QAngle m_vPrecomputedOBBAngles; // 0x8f4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedOBBExtent; // 0x900 - bool m_bPvsModifyEntity; // 0x90c + Vector m_vPrecomputedOBBExtent; // 0x900 + bool m_bPvsModifyEntity; // 0x90c }; // Alignment: 1 // Size: 0x920 -class CRectLight : public CBarnLight, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRectLight : public CBarnLight +{ public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bShowLight; // 0x918 + bool m_bShowLight; // 0x918 }; // Alignment: 3 // Size: 0x928 -class COmniLight : public CBarnLight, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class COmniLight : public CBarnLight +{ public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flInnerAngle; // 0x918 + float m_flInnerAngle; // 0x918 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flOuterAngle; // 0x91c + float m_flOuterAngle; // 0x91c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bShowLight; // 0x920 + bool m_bShowLight; // 0x920 }; // Alignment: 21 // Size: 0x830 -class CCSTeam : public CTeam, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCSTeam : public CTeam +{ public: - int32_t m_nLastRecievedShorthandedRoundBonus; // 0x558 - int32_t m_nShorthandedRoundBonusStartRound; // 0x55c + int32_t m_nLastRecievedShorthandedRoundBonus; // 0x558 + int32_t m_nShorthandedRoundBonusStartRound; // 0x55c // MNetworkEnable - bool m_bSurrendered; // 0x560 + bool m_bSurrendered; // 0x560 // MNetworkEnable - char[512] m_szTeamMatchStat; // 0x561 + char m_szTeamMatchStat[512]; // 0x561 +private: + [[maybe_unused]] uint8_t __pad0761[0x3]; // 0x761 +public: // MNetworkEnable - int32_t m_numMapVictories; // 0x764 + int32_t m_numMapVictories; // 0x764 // MNetworkEnable - int32_t m_scoreFirstHalf; // 0x768 + int32_t m_scoreFirstHalf; // 0x768 // MNetworkEnable - int32_t m_scoreSecondHalf; // 0x76c + int32_t m_scoreSecondHalf; // 0x76c // MNetworkEnable - int32_t m_scoreOvertime; // 0x770 + int32_t m_scoreOvertime; // 0x770 // MNetworkEnable - char[129] m_szClanTeamname; // 0x774 + char m_szClanTeamname[129]; // 0x774 +private: + [[maybe_unused]] uint8_t __pad07f5[0x3]; // 0x7f5 +public: // MNetworkEnable - uint32_t m_iClanID; // 0x7f8 + uint32_t m_iClanID; // 0x7f8 // MNetworkEnable - char[8] m_szTeamFlagImage; // 0x7fc + char m_szTeamFlagImage[8]; // 0x7fc // MNetworkEnable - char[8] m_szTeamLogoImage; // 0x804 - float m_flNextResourceTime; // 0x80c - int32_t m_iLastUpdateSentAt; // 0x810 - float m_flLastPlayerSortTime; // 0x814 - CPlayerSlot m_nLastGGLeader_CT; // 0x818 - CPlayerSlot m_nLastGGLeader_T; // 0x81c + char m_szTeamLogoImage[8]; // 0x804 + float m_flNextResourceTime; // 0x80c + int32_t m_iLastUpdateSentAt; // 0x810 + float m_flLastPlayerSortTime; // 0x814 + CPlayerSlot m_nLastGGLeader_CT; // 0x818 + CPlayerSlot m_nLastGGLeader_T; // 0x81c // MNetworkEnable - CPlayerSlot m_nGGLeaderSlot_CT; // 0x820 + CPlayerSlot m_nGGLeaderSlot_CT; // 0x820 // MNetworkEnable - CPlayerSlot m_nGGLeaderSlot_T; // 0x824 - bool m_bGGHasLeader_CT; // 0x828 - bool m_bGGHasLeader_T; // 0x829 - static CPlayerSlot &Get_m_nStaticGGLeader_CT(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CCSTeam")->m_static_fields[0]->m_instance);}; - static CPlayerSlot &Get_m_nStaticGGLeader_T(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CCSTeam")->m_static_fields[1]->m_instance);}; + CPlayerSlot m_nGGLeaderSlot_T; // 0x824 + bool m_bGGHasLeader_CT; // 0x828 + bool m_bGGHasLeader_T; // 0x829 + static CPlayerSlot &Get_m_nStaticGGLeader_CT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CCSTeam")->m_static_fields[0]->m_instance);}; + static CPlayerSlot &Get_m_nStaticGGLeader_T(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CCSTeam")->m_static_fields[1]->m_instance);}; }; // Alignment: 8 // Size: 0x4c0 -class CMapInfo : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMapInfo : public CPointEntity +{ public: - int32_t m_iBuyingStatus; // 0x4a0 - float m_flBombRadius; // 0x4a4 - int32_t m_iPetPopulation; // 0x4a8 - bool m_bUseNormalSpawnsForDM; // 0x4ac - bool m_bDisableAutoGeneratedDMSpawns; // 0x4ad - float m_flBotMaxVisionDistance; // 0x4b0 - int32_t m_iHostageCount; // 0x4b4 - bool m_bFadePlayerVisibilityFarZ; // 0x4b8 + int32_t m_iBuyingStatus; // 0x4a0 + float m_flBombRadius; // 0x4a4 + int32_t m_iPetPopulation; // 0x4a8 + bool m_bUseNormalSpawnsForDM; // 0x4ac + bool m_bDisableAutoGeneratedDMSpawns; // 0x4ad +private: + [[maybe_unused]] uint8_t __pad04ae[0x2]; // 0x4ae +public: + float m_flBotMaxVisionDistance; // 0x4b0 + int32_t m_iHostageCount; // 0x4b4 + bool m_bFadePlayerVisibilityFarZ; // 0x4b8 }; // Alignment: 140 // Size: 0x7550 class CCSBot : public CBot -{ +{ public: - CHandle< SpawnPointCoopEnemy > m_lastCoopSpawnPoint; // 0xd0 - Vector m_eyePosition; // 0xe0 - char[64] m_name; // 0xec - float m_combatRange; // 0x12c - bool m_isRogue; // 0x130 - CountdownTimer m_rogueTimer; // 0x138 - bool m_diedLastRound; // 0x154 - float m_safeTime; // 0x158 - bool m_wasSafe; // 0x15c - bool m_blindFire; // 0x164 - CountdownTimer m_surpriseTimer; // 0x168 - bool m_bAllowActive; // 0x180 - bool m_isFollowing; // 0x181 - CHandle< CCSPlayerPawn > m_leader; // 0x184 - float m_followTimestamp; // 0x188 - float m_allowAutoFollowTime; // 0x18c - CountdownTimer m_hurryTimer; // 0x190 - CountdownTimer m_alertTimer; // 0x1a8 - CountdownTimer m_sneakTimer; // 0x1c0 - CountdownTimer m_panicTimer; // 0x1d8 - float m_stateTimestamp; // 0x4d8 - bool m_isAttacking; // 0x4dc - bool m_isOpeningDoor; // 0x4dd - CHandle< CBaseEntity > m_taskEntity; // 0x4e4 - Vector m_goalPosition; // 0x4f4 - CHandle< CBaseEntity > m_goalEntity; // 0x500 - CHandle< CBaseEntity > m_avoid; // 0x504 - float m_avoidTimestamp; // 0x508 - bool m_isStopping; // 0x50c - bool m_hasVisitedEnemySpawn; // 0x50d - IntervalTimer m_stillTimer; // 0x510 - bool m_bEyeAnglesUnderPathFinderControl; // 0x520 - int32_t m_pathIndex; // 0x6618 - GameTime_t m_areaEnteredTimestamp; // 0x661c - CountdownTimer m_repathTimer; // 0x6620 - CountdownTimer m_avoidFriendTimer; // 0x6638 - bool m_isFriendInTheWay; // 0x6650 - CountdownTimer m_politeTimer; // 0x6658 - bool m_isWaitingBehindFriend; // 0x6670 - float m_pathLadderEnd; // 0x669c - CountdownTimer m_mustRunTimer; // 0x66e8 - CountdownTimer m_waitTimer; // 0x6700 - CountdownTimer m_updateTravelDistanceTimer; // 0x6718 - float32[64] m_playerTravelDistance; // 0x6730 - uint8_t m_travelDistancePhase; // 0x6830 - uint8_t m_hostageEscortCount; // 0x69c8 - float m_hostageEscortCountTimestamp; // 0x69cc - int32_t m_desiredTeam; // 0x69d0 - bool m_hasJoined; // 0x69d4 - bool m_isWaitingForHostage; // 0x69d5 - CountdownTimer m_inhibitWaitingForHostageTimer; // 0x69d8 - CountdownTimer m_waitForHostageTimer; // 0x69f0 - Vector m_noisePosition; // 0x6a08 - float m_noiseTravelDistance; // 0x6a14 - float m_noiseTimestamp; // 0x6a18 - CBasePlayerPawn* m_noiseSource; // 0x6a20 - CountdownTimer m_noiseBendTimer; // 0x6a38 - Vector m_bentNoisePosition; // 0x6a50 - bool m_bendNoisePositionValid; // 0x6a5c - float m_lookAroundStateTimestamp; // 0x6a60 - float m_lookAheadAngle; // 0x6a64 - float m_forwardAngle; // 0x6a68 - float m_inhibitLookAroundTimestamp; // 0x6a6c - Vector m_lookAtSpot; // 0x6a74 - float m_lookAtSpotDuration; // 0x6a84 - float m_lookAtSpotTimestamp; // 0x6a88 - float m_lookAtSpotAngleTolerance; // 0x6a8c - bool m_lookAtSpotClearIfClose; // 0x6a90 - bool m_lookAtSpotAttack; // 0x6a91 - char* m_lookAtDesc; // 0x6a98 - float m_peripheralTimestamp; // 0x6aa0 - uint8_t m_approachPointCount; // 0x6c28 - Vector m_approachPointViewPosition; // 0x6c2c - IntervalTimer m_viewSteadyTimer; // 0x6c38 - CountdownTimer m_tossGrenadeTimer; // 0x6c50 - CountdownTimer m_isAvoidingGrenade; // 0x6c70 - float m_spotCheckTimestamp; // 0x6c90 - int32_t m_checkedHidingSpotCount; // 0x7098 - float m_lookPitch; // 0x709c - float m_lookPitchVel; // 0x70a0 - float m_lookYaw; // 0x70a4 - float m_lookYawVel; // 0x70a8 - Vector m_targetSpot; // 0x70ac - Vector m_targetSpotVelocity; // 0x70b8 - Vector m_targetSpotPredicted; // 0x70c4 - QAngle m_aimError; // 0x70d0 - QAngle m_aimGoal; // 0x70dc - GameTime_t m_targetSpotTime; // 0x70e8 - float m_aimFocus; // 0x70ec - float m_aimFocusInterval; // 0x70f0 - GameTime_t m_aimFocusNextUpdate; // 0x70f4 - CountdownTimer m_ignoreEnemiesTimer; // 0x7100 - CHandle< CCSPlayerPawnBase > m_enemy; // 0x7118 - bool m_isEnemyVisible; // 0x711c - uint8_t m_visibleEnemyParts; // 0x711d - Vector m_lastEnemyPosition; // 0x7120 - float m_lastSawEnemyTimestamp; // 0x712c - float m_firstSawEnemyTimestamp; // 0x7130 - float m_currentEnemyAcquireTimestamp; // 0x7134 - float m_enemyDeathTimestamp; // 0x7138 - float m_friendDeathTimestamp; // 0x713c - bool m_isLastEnemyDead; // 0x7140 - int32_t m_nearbyEnemyCount; // 0x7144 - CHandle< CCSPlayerPawnBase > m_bomber; // 0x7350 - int32_t m_nearbyFriendCount; // 0x7354 - CHandle< CCSPlayerPawnBase > m_closestVisibleFriend; // 0x7358 - CHandle< CCSPlayerPawnBase > m_closestVisibleHumanFriend; // 0x735c - IntervalTimer m_attentionInterval; // 0x7360 - CHandle< CCSPlayerPawnBase > m_attacker; // 0x7370 - float m_attackedTimestamp; // 0x7374 - IntervalTimer m_burnedByFlamesTimer; // 0x7378 - int32_t m_lastVictimID; // 0x7388 - bool m_isAimingAtEnemy; // 0x738c - bool m_isRapidFiring; // 0x738d - IntervalTimer m_equipTimer; // 0x7390 - CountdownTimer m_zoomTimer; // 0x73a0 - GameTime_t m_fireWeaponTimestamp; // 0x73b8 - CountdownTimer m_lookForWeaponsOnGroundTimer; // 0x73c0 - bool m_bIsSleeping; // 0x73d8 - bool m_isEnemySniperVisible; // 0x73d9 - CountdownTimer m_sawEnemySniperTimer; // 0x73e0 - uint8_t m_enemyQueueIndex; // 0x7498 - uint8_t m_enemyQueueCount; // 0x7499 - uint8_t m_enemyQueueAttendIndex; // 0x749a - bool m_isStuck; // 0x749b - GameTime_t m_stuckTimestamp; // 0x749c - Vector m_stuckSpot; // 0x74a0 - CountdownTimer m_wiggleTimer; // 0x74b0 - CountdownTimer m_stuckJumpTimer; // 0x74c8 - GameTime_t m_nextCleanupCheckTimestamp; // 0x74e0 - float32[10] m_avgVel; // 0x74e4 - int32_t m_avgVelIndex; // 0x750c - int32_t m_avgVelCount; // 0x7510 - Vector m_lastOrigin; // 0x7514 - float m_lastRadioRecievedTimestamp; // 0x7524 - float m_lastRadioSentTimestamp; // 0x7528 - CHandle< CCSPlayerPawnBase > m_radioSubject; // 0x752c - Vector m_radioPosition; // 0x7530 - float m_voiceEndTimestamp; // 0x753c - int32_t m_lastValidReactionQueueFrame; // 0x7548 + CHandle< SpawnPointCoopEnemy > m_lastCoopSpawnPoint; // 0xd0 +private: + [[maybe_unused]] uint8_t __pad00d4[0xc]; // 0xd4 +public: + Vector m_eyePosition; // 0xe0 + char m_name[64]; // 0xec + float m_combatRange; // 0x12c + bool m_isRogue; // 0x130 +private: + [[maybe_unused]] uint8_t __pad0131[0x7]; // 0x131 +public: + CountdownTimer m_rogueTimer; // 0x138 +private: + [[maybe_unused]] uint8_t __pad0150[0x4]; // 0x150 +public: + bool m_diedLastRound; // 0x154 +private: + [[maybe_unused]] uint8_t __pad0155[0x3]; // 0x155 +public: + float m_safeTime; // 0x158 + bool m_wasSafe; // 0x15c +private: + [[maybe_unused]] uint8_t __pad015d[0x7]; // 0x15d +public: + bool m_blindFire; // 0x164 +private: + [[maybe_unused]] uint8_t __pad0165[0x3]; // 0x165 +public: + CountdownTimer m_surpriseTimer; // 0x168 + bool m_bAllowActive; // 0x180 + bool m_isFollowing; // 0x181 +private: + [[maybe_unused]] uint8_t __pad0182[0x2]; // 0x182 +public: + CHandle< CCSPlayerPawn > m_leader; // 0x184 + float m_followTimestamp; // 0x188 + float m_allowAutoFollowTime; // 0x18c + CountdownTimer m_hurryTimer; // 0x190 + CountdownTimer m_alertTimer; // 0x1a8 + CountdownTimer m_sneakTimer; // 0x1c0 + CountdownTimer m_panicTimer; // 0x1d8 +private: + [[maybe_unused]] uint8_t __pad01f0[0x2e8]; // 0x1f0 +public: + float m_stateTimestamp; // 0x4d8 + bool m_isAttacking; // 0x4dc + bool m_isOpeningDoor; // 0x4dd +private: + [[maybe_unused]] uint8_t __pad04de[0x6]; // 0x4de +public: + CHandle< CBaseEntity > m_taskEntity; // 0x4e4 +private: + [[maybe_unused]] uint8_t __pad04e8[0xc]; // 0x4e8 +public: + Vector m_goalPosition; // 0x4f4 + CHandle< CBaseEntity > m_goalEntity; // 0x500 + CHandle< CBaseEntity > m_avoid; // 0x504 + float m_avoidTimestamp; // 0x508 + bool m_isStopping; // 0x50c + bool m_hasVisitedEnemySpawn; // 0x50d +private: + [[maybe_unused]] uint8_t __pad050e[0x2]; // 0x50e +public: + IntervalTimer m_stillTimer; // 0x510 + bool m_bEyeAnglesUnderPathFinderControl; // 0x520 +private: + [[maybe_unused]] uint8_t __pad0521[0x60f7]; // 0x521 +public: + int32_t m_pathIndex; // 0x6618 + GameTime_t m_areaEnteredTimestamp; // 0x661c + CountdownTimer m_repathTimer; // 0x6620 + CountdownTimer m_avoidFriendTimer; // 0x6638 + bool m_isFriendInTheWay; // 0x6650 +private: + [[maybe_unused]] uint8_t __pad6651[0x7]; // 0x6651 +public: + CountdownTimer m_politeTimer; // 0x6658 + bool m_isWaitingBehindFriend; // 0x6670 +private: + [[maybe_unused]] uint8_t __pad6671[0x2b]; // 0x6671 +public: + float m_pathLadderEnd; // 0x669c +private: + [[maybe_unused]] uint8_t __pad66a0[0x48]; // 0x66a0 +public: + CountdownTimer m_mustRunTimer; // 0x66e8 + CountdownTimer m_waitTimer; // 0x6700 + CountdownTimer m_updateTravelDistanceTimer; // 0x6718 + float m_playerTravelDistance[64]; // 0x6730 + uint8_t m_travelDistancePhase; // 0x6830 +private: + [[maybe_unused]] uint8_t __pad6831[0x197]; // 0x6831 +public: + uint8_t m_hostageEscortCount; // 0x69c8 +private: + [[maybe_unused]] uint8_t __pad69c9[0x3]; // 0x69c9 +public: + float m_hostageEscortCountTimestamp; // 0x69cc + int32_t m_desiredTeam; // 0x69d0 + bool m_hasJoined; // 0x69d4 + bool m_isWaitingForHostage; // 0x69d5 +private: + [[maybe_unused]] uint8_t __pad69d6[0x2]; // 0x69d6 +public: + CountdownTimer m_inhibitWaitingForHostageTimer; // 0x69d8 + CountdownTimer m_waitForHostageTimer; // 0x69f0 + Vector m_noisePosition; // 0x6a08 + float m_noiseTravelDistance; // 0x6a14 + float m_noiseTimestamp; // 0x6a18 +private: + [[maybe_unused]] uint8_t __pad6a1c[0x4]; // 0x6a1c +public: + CBasePlayerPawn* m_noiseSource; // 0x6a20 +private: + [[maybe_unused]] uint8_t __pad6a28[0x10]; // 0x6a28 +public: + CountdownTimer m_noiseBendTimer; // 0x6a38 + Vector m_bentNoisePosition; // 0x6a50 + bool m_bendNoisePositionValid; // 0x6a5c +private: + [[maybe_unused]] uint8_t __pad6a5d[0x3]; // 0x6a5d +public: + float m_lookAroundStateTimestamp; // 0x6a60 + float m_lookAheadAngle; // 0x6a64 + float m_forwardAngle; // 0x6a68 + float m_inhibitLookAroundTimestamp; // 0x6a6c +private: + [[maybe_unused]] uint8_t __pad6a70[0x4]; // 0x6a70 +public: + Vector m_lookAtSpot; // 0x6a74 +private: + [[maybe_unused]] uint8_t __pad6a80[0x4]; // 0x6a80 +public: + float m_lookAtSpotDuration; // 0x6a84 + float m_lookAtSpotTimestamp; // 0x6a88 + float m_lookAtSpotAngleTolerance; // 0x6a8c + bool m_lookAtSpotClearIfClose; // 0x6a90 + bool m_lookAtSpotAttack; // 0x6a91 +private: + [[maybe_unused]] uint8_t __pad6a92[0x6]; // 0x6a92 +public: + char* m_lookAtDesc; // 0x6a98 + float m_peripheralTimestamp; // 0x6aa0 +private: + [[maybe_unused]] uint8_t __pad6aa4[0x184]; // 0x6aa4 +public: + uint8_t m_approachPointCount; // 0x6c28 +private: + [[maybe_unused]] uint8_t __pad6c29[0x3]; // 0x6c29 +public: + Vector m_approachPointViewPosition; // 0x6c2c + IntervalTimer m_viewSteadyTimer; // 0x6c38 +private: + [[maybe_unused]] uint8_t __pad6c48[0x8]; // 0x6c48 +public: + CountdownTimer m_tossGrenadeTimer; // 0x6c50 +private: + [[maybe_unused]] uint8_t __pad6c68[0x8]; // 0x6c68 +public: + CountdownTimer m_isAvoidingGrenade; // 0x6c70 +private: + [[maybe_unused]] uint8_t __pad6c88[0x8]; // 0x6c88 +public: + float m_spotCheckTimestamp; // 0x6c90 +private: + [[maybe_unused]] uint8_t __pad6c94[0x404]; // 0x6c94 +public: + int32_t m_checkedHidingSpotCount; // 0x7098 + float m_lookPitch; // 0x709c + float m_lookPitchVel; // 0x70a0 + float m_lookYaw; // 0x70a4 + float m_lookYawVel; // 0x70a8 + Vector m_targetSpot; // 0x70ac + Vector m_targetSpotVelocity; // 0x70b8 + Vector m_targetSpotPredicted; // 0x70c4 + QAngle m_aimError; // 0x70d0 + QAngle m_aimGoal; // 0x70dc + GameTime_t m_targetSpotTime; // 0x70e8 + float m_aimFocus; // 0x70ec + float m_aimFocusInterval; // 0x70f0 + GameTime_t m_aimFocusNextUpdate; // 0x70f4 +private: + [[maybe_unused]] uint8_t __pad70f8[0x8]; // 0x70f8 +public: + CountdownTimer m_ignoreEnemiesTimer; // 0x7100 + CHandle< CCSPlayerPawnBase > m_enemy; // 0x7118 + bool m_isEnemyVisible; // 0x711c + uint8_t m_visibleEnemyParts; // 0x711d +private: + [[maybe_unused]] uint8_t __pad711e[0x2]; // 0x711e +public: + Vector m_lastEnemyPosition; // 0x7120 + float m_lastSawEnemyTimestamp; // 0x712c + float m_firstSawEnemyTimestamp; // 0x7130 + float m_currentEnemyAcquireTimestamp; // 0x7134 + float m_enemyDeathTimestamp; // 0x7138 + float m_friendDeathTimestamp; // 0x713c + bool m_isLastEnemyDead; // 0x7140 +private: + [[maybe_unused]] uint8_t __pad7141[0x3]; // 0x7141 +public: + int32_t m_nearbyEnemyCount; // 0x7144 +private: + [[maybe_unused]] uint8_t __pad7148[0x208]; // 0x7148 +public: + CHandle< CCSPlayerPawnBase > m_bomber; // 0x7350 + int32_t m_nearbyFriendCount; // 0x7354 + CHandle< CCSPlayerPawnBase > m_closestVisibleFriend; // 0x7358 + CHandle< CCSPlayerPawnBase > m_closestVisibleHumanFriend; // 0x735c + IntervalTimer m_attentionInterval; // 0x7360 + CHandle< CCSPlayerPawnBase > m_attacker; // 0x7370 + float m_attackedTimestamp; // 0x7374 + IntervalTimer m_burnedByFlamesTimer; // 0x7378 + int32_t m_lastVictimID; // 0x7388 + bool m_isAimingAtEnemy; // 0x738c + bool m_isRapidFiring; // 0x738d +private: + [[maybe_unused]] uint8_t __pad738e[0x2]; // 0x738e +public: + IntervalTimer m_equipTimer; // 0x7390 + CountdownTimer m_zoomTimer; // 0x73a0 + GameTime_t m_fireWeaponTimestamp; // 0x73b8 +private: + [[maybe_unused]] uint8_t __pad73bc[0x4]; // 0x73bc +public: + CountdownTimer m_lookForWeaponsOnGroundTimer; // 0x73c0 + bool m_bIsSleeping; // 0x73d8 + bool m_isEnemySniperVisible; // 0x73d9 +private: + [[maybe_unused]] uint8_t __pad73da[0x6]; // 0x73da +public: + CountdownTimer m_sawEnemySniperTimer; // 0x73e0 +private: + [[maybe_unused]] uint8_t __pad73f8[0xa0]; // 0x73f8 +public: + uint8_t m_enemyQueueIndex; // 0x7498 + uint8_t m_enemyQueueCount; // 0x7499 + uint8_t m_enemyQueueAttendIndex; // 0x749a + bool m_isStuck; // 0x749b + GameTime_t m_stuckTimestamp; // 0x749c + Vector m_stuckSpot; // 0x74a0 +private: + [[maybe_unused]] uint8_t __pad74ac[0x4]; // 0x74ac +public: + CountdownTimer m_wiggleTimer; // 0x74b0 + CountdownTimer m_stuckJumpTimer; // 0x74c8 + GameTime_t m_nextCleanupCheckTimestamp; // 0x74e0 + float m_avgVel[10]; // 0x74e4 + int32_t m_avgVelIndex; // 0x750c + int32_t m_avgVelCount; // 0x7510 + Vector m_lastOrigin; // 0x7514 +private: + [[maybe_unused]] uint8_t __pad7520[0x4]; // 0x7520 +public: + float m_lastRadioRecievedTimestamp; // 0x7524 + float m_lastRadioSentTimestamp; // 0x7528 + CHandle< CCSPlayerPawnBase > m_radioSubject; // 0x752c + Vector m_radioPosition; // 0x7530 + float m_voiceEndTimestamp; // 0x753c +private: + [[maybe_unused]] uint8_t __pad7540[0x8]; // 0x7540 +public: + int32_t m_lastValidReactionQueueFrame; // 0x7548 }; // Alignment: 5 // Size: 0x718 -class CFogVolume : public CServerOnlyModelEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFogVolume : public CServerOnlyModelEntity +{ public: - CUtlSymbolLarge m_fogName; // 0x6f0 - CUtlSymbolLarge m_postProcessName; // 0x6f8 - CUtlSymbolLarge m_colorCorrectionName; // 0x700 - bool m_bDisabled; // 0x710 - bool m_bInFogVolumesList; // 0x711 + CUtlSymbolLarge m_fogName; // 0x6f0 + CUtlSymbolLarge m_postProcessName; // 0x6f8 + CUtlSymbolLarge m_colorCorrectionName; // 0x700 +private: + [[maybe_unused]] uint8_t __pad0708[0x8]; // 0x708 +public: + bool m_bDisabled; // 0x710 + bool m_bInFogVolumesList; // 0x711 }; // Alignment: 5 // Size: 0x4b8 -class CInfoDynamicShadowHint : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoDynamicShadowHint : public CPointEntity +{ public: - bool m_bDisabled; // 0x4a0 - float m_flRange; // 0x4a4 - int32_t m_nImportance; // 0x4a8 - int32_t m_nLightChoice; // 0x4ac - CHandle< CBaseEntity > m_hLight; // 0x4b0 - static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints(){ return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fields[0]->m_instance);}; + bool m_bDisabled; // 0x4a0 +private: + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 +public: + float m_flRange; // 0x4a4 + int32_t m_nImportance; // 0x4a8 + int32_t m_nLightChoice; // 0x4ac + CHandle< CBaseEntity > m_hLight; // 0x4b0 + static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 // Size: 0x4d0 -class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint +{ public: - Vector m_vBoxMins; // 0x4b8 - Vector m_vBoxMaxs; // 0x4c4 + Vector m_vBoxMins; // 0x4b8 + Vector m_vBoxMaxs; // 0x4c4 }; // Alignment: 10 // Size: 0x738 -class CEnvSky : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvSky : public CBaseModelEntity +{ public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x6f0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x6f0 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - bool m_bStartDisabled; // 0x6f8 + bool m_bStartDisabled; // 0x6f8 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - Color m_vTintColor; // 0x6f9 + Color m_vTintColor; // 0x6f9 +private: + [[maybe_unused]] uint8_t __pad06fd[0x3]; // 0x6fd +public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flBrightnessScale; // 0x700 + float m_flBrightnessScale; // 0x700 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - int32_t m_nFogType; // 0x704 + int32_t m_nFogType; // 0x704 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMinStart; // 0x708 + float m_flFogMinStart; // 0x708 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMinEnd; // 0x70c + float m_flFogMinEnd; // 0x70c // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMaxStart; // 0x710 + float m_flFogMaxStart; // 0x710 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMaxEnd; // 0x714 + float m_flFogMaxEnd; // 0x714 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - bool m_bEnabled; // 0x718 + bool m_bEnabled; // 0x718 }; // Alignment: 0 // Size: 0x4c8 -class CTonemapController2Alias_env_tonemap_controller2 : public CTonemapController2, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTonemapController2Alias_env_tonemap_controller2 : public CTonemapController2 +{ public: // no members available }; // Alignment: 2 // Size: 0x8a8 -class CTonemapTrigger : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTonemapTrigger : public CBaseTrigger +{ public: - CUtlSymbolLarge m_tonemapControllerName; // 0x898 - CEntityHandle m_hTonemapController; // 0x8a0 + CUtlSymbolLarge m_tonemapControllerName; // 0x898 + CEntityHandle m_hTonemapController; // 0x8a0 }; // Alignment: 1 // Size: 0x900 -class CFogTrigger : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFogTrigger : public CBaseTrigger +{ public: - fogparams_t m_fog; // 0x898 + fogparams_t m_fog; // 0x898 }; // Alignment: 1 // Size: 0x6f8 -class CLightEntity : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLightEntity : public CBaseModelEntity +{ public: // MNetworkEnable // MNetworkUserGroup "CLightComponent" // MNetworkAlias "CLightComponent" // MNetworkTypeAlias "CLightComponent" - CLightComponent* m_CLightComponent; // 0x6f0 + CLightComponent* m_CLightComponent; // 0x6f0 }; // Alignment: 0 // Size: 0x6f8 -class CLightSpotEntity : public CLightEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLightSpotEntity : public CLightEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x6f8 -class CLightOrthoEntity : public CLightEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLightOrthoEntity : public CLightEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x6f8 -class CLightDirectionalEntity : public CLightEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLightDirectionalEntity : public CLightEntity +{ public: // no members available }; // Alignment: 0 // Size: 0x6f8 -class CLightEnvironmentEntity : public CLightDirectionalEntity, CLightEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CLightEnvironmentEntity : public CLightDirectionalEntity +{ public: // no members available }; // Alignment: 16 // Size: 0x8e8 -class CPostProcessingVolume : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPostProcessingVolume : public CBaseTrigger +{ public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x8a8 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x8a8 // MNetworkEnable - float m_flFadeDuration; // 0x8b0 + float m_flFadeDuration; // 0x8b0 // MNetworkEnable - float m_flMinLogExposure; // 0x8b4 + float m_flMinLogExposure; // 0x8b4 // MNetworkEnable - float m_flMaxLogExposure; // 0x8b8 + float m_flMaxLogExposure; // 0x8b8 // MNetworkEnable - float m_flMinExposure; // 0x8bc + float m_flMinExposure; // 0x8bc // MNetworkEnable - float m_flMaxExposure; // 0x8c0 + float m_flMaxExposure; // 0x8c0 // MNetworkEnable - float m_flExposureCompensation; // 0x8c4 + float m_flExposureCompensation; // 0x8c4 // MNetworkEnable - float m_flExposureFadeSpeedUp; // 0x8c8 + float m_flExposureFadeSpeedUp; // 0x8c8 // MNetworkEnable - float m_flExposureFadeSpeedDown; // 0x8cc + float m_flExposureFadeSpeedDown; // 0x8cc // MNetworkEnable - float m_flTonemapEVSmoothingRange; // 0x8d0 + float m_flTonemapEVSmoothingRange; // 0x8d0 // MNetworkEnable - bool m_bMaster; // 0x8d4 + bool m_bMaster; // 0x8d4 // MNetworkEnable - bool m_bExposureControl; // 0x8d5 + bool m_bExposureControl; // 0x8d5 +private: + [[maybe_unused]] uint8_t __pad08d6[0x2]; // 0x8d6 +public: // MNetworkEnable - float m_flRate; // 0x8d8 + float m_flRate; // 0x8d8 // MNetworkEnable - float m_flTonemapPercentTarget; // 0x8dc + float m_flTonemapPercentTarget; // 0x8dc // MNetworkEnable - float m_flTonemapPercentBrightPixels; // 0x8e0 + float m_flTonemapPercentBrightPixels; // 0x8e0 // MNetworkEnable - float m_flTonemapMinAvgLum; // 0x8e4 + float m_flTonemapMinAvgLum; // 0x8e4 }; // Alignment: 5 // Size: 0xc80 -class CEnvParticleGlow : public CParticleSystem, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvParticleGlow : public CParticleSystem +{ public: // MNetworkEnable - float m_flAlphaScale; // 0xc68 + float m_flAlphaScale; // 0xc68 // MNetworkEnable - float m_flRadiusScale; // 0xc6c + float m_flRadiusScale; // 0xc6c // MNetworkEnable - float m_flSelfIllumScale; // 0xc70 + float m_flSelfIllumScale; // 0xc70 // MNetworkEnable - Color m_ColorTint; // 0xc74 + Color m_ColorTint; // 0xc74 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xc78 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xc78 }; // Alignment: 8 // Size: 0x728 -class CTextureBasedAnimatable : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTextureBasedAnimatable : public CBaseModelEntity +{ public: // MNetworkEnable - bool m_bLoop; // 0x6f0 + bool m_bLoop; // 0x6f0 +private: + [[maybe_unused]] uint8_t __pad06f1[0x3]; // 0x6f1 +public: // MNetworkEnable - float m_flFPS; // 0x6f4 + float m_flFPS; // 0x6f4 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x6f8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x6f8 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x700 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x700 // MNetworkEnable - Vector m_vAnimationBoundsMin; // 0x708 + Vector m_vAnimationBoundsMin; // 0x708 // MNetworkEnable - Vector m_vAnimationBoundsMax; // 0x714 + Vector m_vAnimationBoundsMax; // 0x714 // MNetworkEnable - float m_flStartTime; // 0x720 + float m_flStartTime; // 0x720 // MNetworkEnable - float m_flStartFrame; // 0x724 + float m_flStartFrame; // 0x724 }; // Alignment: 0 // Size: 0x6f0 -class CWorld : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWorld : public CBaseModelEntity +{ public: // no members available }; // Alignment: 11 // Size: 0x820 -class CBaseAnimGraph : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseAnimGraph : public CBaseModelEntity +{ public: // MNetworkEnable - PhysicsRagdollPose_t* m_pRagdollPose; // 0x700 + PhysicsRagdollPose_t* m_pRagdollPose; // 0x700 // MNetworkEnable // MNetworkChangeCallback "OnClientRagdollChanged" - bool m_bClientRagdoll; // 0x708 + bool m_bClientRagdoll; // 0x708 +private: + [[maybe_unused]] uint8_t __pad0709[0x3]; // 0x709 +public: // MNetworkEnable - Vector m_vecForce; // 0x70c + Vector m_vecForce; // 0x70c // MNetworkEnable - int32_t m_nForceBone; // 0x718 + int32_t m_nForceBone; // 0x718 // MNetworkEnable - bool m_bShouldAnimateDuringGameplayPause; // 0x71c + bool m_bShouldAnimateDuringGameplayPause; // 0x71c // MNetworkEnable - bool m_bAnimGraphUpdateEnabled; // 0x71d + bool m_bAnimGraphUpdateEnabled; // 0x71d // MNetworkEnable - bool m_bInitiallyPopulateInterpHistory; // 0x71e - float m_flMaxSlopeDistance; // 0x720 - Vector m_vLastSlopeCheckPos; // 0x724 - IChoreoServices* m_pChoreoServices; // 0x730 - bool m_bAnimGraphDirty; // 0x738 + bool m_bInitiallyPopulateInterpHistory; // 0x71e +private: + [[maybe_unused]] uint8_t __pad071f[0x1]; // 0x71f +public: + float m_flMaxSlopeDistance; // 0x720 + Vector m_vLastSlopeCheckPos; // 0x724 + IChoreoServices* m_pChoreoServices; // 0x730 + bool m_bAnimGraphDirty; // 0x738 }; // Alignment: 4 // Size: 0x860 -class CBaseProp : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseProp : public CBaseAnimGraph +{ public: - bool m_bModelOverrodeBlockLOS; // 0x820 - int32_t m_iShapeType; // 0x824 - bool m_bConformToCollisionBounds; // 0x828 - matrix3x4_t m_mPreferredCatchTransform; // 0x82c + bool m_bModelOverrodeBlockLOS; // 0x820 +private: + [[maybe_unused]] uint8_t __pad0821[0x3]; // 0x821 +public: + int32_t m_iShapeType; // 0x824 + bool m_bConformToCollisionBounds; // 0x828 +private: + [[maybe_unused]] uint8_t __pad0829[0x3]; // 0x829 +public: + matrix3x4_t m_mPreferredCatchTransform; // 0x82c }; // Alignment: 34 // Size: 0x998 -class CBreakableProp : public CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBreakableProp : public CBaseProp +{ public: - CEntityIOOutput m_OnBreak; // 0x870 - CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x898 - CEntityIOOutput m_OnTakeDamage; // 0x8c0 - float m_impactEnergyScale; // 0x8e8 - int32_t m_iMinHealthDmg; // 0x8ec - QAngle m_preferredCarryAngles; // 0x8f0 - float m_flPressureDelay; // 0x8fc - CHandle< CBaseEntity > m_hBreaker; // 0x900 - PerformanceMode_t m_PerformanceMode; // 0x904 - float m_flDmgModBullet; // 0x908 - float m_flDmgModClub; // 0x90c - float m_flDmgModExplosive; // 0x910 - float m_flDmgModFire; // 0x914 - CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x918 - CUtlSymbolLarge m_iszBasePropData; // 0x920 - int32_t m_iInteractions; // 0x928 - GameTime_t m_flPreventDamageBeforeTime; // 0x92c - bool m_bHasBreakPiecesOrCommands; // 0x930 - float m_explodeDamage; // 0x934 - float m_explodeRadius; // 0x938 - float m_explosionDelay; // 0x940 - CUtlSymbolLarge m_explosionBuildupSound; // 0x948 - CUtlSymbolLarge m_explosionCustomEffect; // 0x950 - CUtlSymbolLarge m_explosionCustomSound; // 0x958 - CUtlSymbolLarge m_explosionModifier; // 0x960 - CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x968 - GameTime_t m_flLastPhysicsInfluenceTime; // 0x96c - bool m_bOriginalBlockLOS; // 0x970 - float m_flDefaultFadeScale; // 0x974 - CHandle< CBaseEntity > m_hLastAttacker; // 0x978 - CHandle< CBaseEntity > m_hFlareEnt; // 0x97c - bool m_bUsePuntSound; // 0x980 - CUtlSymbolLarge m_iszPuntSound; // 0x988 + CEntityIOOutput m_OnBreak; // 0x870 + CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x898 + CEntityIOOutput m_OnTakeDamage; // 0x8c0 + float m_impactEnergyScale; // 0x8e8 + int32_t m_iMinHealthDmg; // 0x8ec + QAngle m_preferredCarryAngles; // 0x8f0 + float m_flPressureDelay; // 0x8fc + CHandle< CBaseEntity > m_hBreaker; // 0x900 + PerformanceMode_t m_PerformanceMode; // 0x904 + float m_flDmgModBullet; // 0x908 + float m_flDmgModClub; // 0x90c + float m_flDmgModExplosive; // 0x910 + float m_flDmgModFire; // 0x914 + CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x918 + CUtlSymbolLarge m_iszBasePropData; // 0x920 + int32_t m_iInteractions; // 0x928 + GameTime_t m_flPreventDamageBeforeTime; // 0x92c + bool m_bHasBreakPiecesOrCommands; // 0x930 +private: + [[maybe_unused]] uint8_t __pad0931[0x3]; // 0x931 +public: + float m_explodeDamage; // 0x934 + float m_explodeRadius; // 0x938 +private: + [[maybe_unused]] uint8_t __pad093c[0x4]; // 0x93c +public: + float m_explosionDelay; // 0x940 +private: + [[maybe_unused]] uint8_t __pad0944[0x4]; // 0x944 +public: + CUtlSymbolLarge m_explosionBuildupSound; // 0x948 + CUtlSymbolLarge m_explosionCustomEffect; // 0x950 + CUtlSymbolLarge m_explosionCustomSound; // 0x958 + CUtlSymbolLarge m_explosionModifier; // 0x960 + CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x968 + GameTime_t m_flLastPhysicsInfluenceTime; // 0x96c + bool m_bOriginalBlockLOS; // 0x970 +private: + [[maybe_unused]] uint8_t __pad0971[0x3]; // 0x971 +public: + float m_flDefaultFadeScale; // 0x974 + CHandle< CBaseEntity > m_hLastAttacker; // 0x978 + CHandle< CBaseEntity > m_hFlareEnt; // 0x97c + bool m_bUsePuntSound; // 0x980 +private: + [[maybe_unused]] uint8_t __pad0981[0x7]; // 0x981 +public: + CUtlSymbolLarge m_iszPuntSound; // 0x988 // MNetworkEnable - bool m_noGhostCollision; // 0x990 + bool m_noGhostCollision; // 0x990 }; // Alignment: 23 // Size: 0xa98 -class CDynamicProp : public CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDynamicProp : public CBreakableProp +{ public: - bool m_bCreateNavObstacle; // 0x9a0 + bool m_bCreateNavObstacle; // 0x9a0 // MNetworkEnable - bool m_bUseHitboxesForRenderBox; // 0x9a1 + bool m_bUseHitboxesForRenderBox; // 0x9a1 // MNetworkEnable - bool m_bUseAnimGraph; // 0x9a2 - CEntityIOOutput m_pOutputAnimBegun; // 0x9a8 - CEntityIOOutput m_pOutputAnimOver; // 0x9d0 - CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0x9f8 - CEntityIOOutput m_OnAnimReachedStart; // 0xa20 - CEntityIOOutput m_OnAnimReachedEnd; // 0xa48 - CUtlSymbolLarge m_iszDefaultAnim; // 0xa70 - AnimLoopMode_t m_nDefaultAnimLoopMode; // 0xa78 - bool m_bAnimateOnServer; // 0xa7c - bool m_bRandomizeCycle; // 0xa7d - bool m_bStartDisabled; // 0xa7e - bool m_bScriptedMovement; // 0xa7f - bool m_bFiredStartEndOutput; // 0xa80 - bool m_bForceNpcExclude; // 0xa81 - bool m_bCreateNonSolid; // 0xa82 - bool m_bIsOverrideProp; // 0xa83 - int32_t m_iInitialGlowState; // 0xa84 - int32_t m_nGlowRange; // 0xa88 - int32_t m_nGlowRangeMin; // 0xa8c - Color m_glowColor; // 0xa90 - int32_t m_nGlowTeam; // 0xa94 + bool m_bUseAnimGraph; // 0x9a2 +private: + [[maybe_unused]] uint8_t __pad09a3[0x5]; // 0x9a3 +public: + CEntityIOOutput m_pOutputAnimBegun; // 0x9a8 + CEntityIOOutput m_pOutputAnimOver; // 0x9d0 + CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0x9f8 + CEntityIOOutput m_OnAnimReachedStart; // 0xa20 + CEntityIOOutput m_OnAnimReachedEnd; // 0xa48 + CUtlSymbolLarge m_iszDefaultAnim; // 0xa70 + AnimLoopMode_t m_nDefaultAnimLoopMode; // 0xa78 + bool m_bAnimateOnServer; // 0xa7c + bool m_bRandomizeCycle; // 0xa7d + bool m_bStartDisabled; // 0xa7e + bool m_bScriptedMovement; // 0xa7f + bool m_bFiredStartEndOutput; // 0xa80 + bool m_bForceNpcExclude; // 0xa81 + bool m_bCreateNonSolid; // 0xa82 + bool m_bIsOverrideProp; // 0xa83 + int32_t m_iInitialGlowState; // 0xa84 + int32_t m_nGlowRange; // 0xa88 + int32_t m_nGlowRangeMin; // 0xa8c + Color m_glowColor; // 0xa90 + int32_t m_nGlowTeam; // 0xa94 }; // Alignment: 0 // Size: 0xa98 -class CDynamicPropAlias_dynamic_prop : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDynamicPropAlias_dynamic_prop : public CDynamicProp +{ public: // no members available }; // Alignment: 0 // Size: 0xa98 -class CDynamicPropAlias_prop_dynamic_override : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDynamicPropAlias_prop_dynamic_override : public CDynamicProp +{ public: // no members available }; // Alignment: 0 // Size: 0xa98 -class CDynamicPropAlias_cable_dynamic : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDynamicPropAlias_cable_dynamic : public CDynamicProp +{ public: // no members available }; // Alignment: 10 // Size: 0xac0 -class CColorCorrectionVolume : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CColorCorrectionVolume : public CBaseTrigger +{ public: // MNetworkEnable - bool m_bEnabled; // 0x898 + bool m_bEnabled; // 0x898 +private: + [[maybe_unused]] uint8_t __pad0899[0x3]; // 0x899 +public: // MNetworkEnable - float m_MaxWeight; // 0x89c + float m_MaxWeight; // 0x89c // MNetworkEnable - float m_FadeDuration; // 0x8a0 - bool m_bStartDisabled; // 0x8a4 + float m_FadeDuration; // 0x8a0 + bool m_bStartDisabled; // 0x8a4 +private: + [[maybe_unused]] uint8_t __pad08a5[0x3]; // 0x8a5 +public: // MNetworkEnable - float m_Weight; // 0x8a8 + float m_Weight; // 0x8a8 // MNetworkEnable - char[512] m_lookupFilename; // 0x8ac - float m_LastEnterWeight; // 0xaac - GameTime_t m_LastEnterTime; // 0xab0 - float m_LastExitWeight; // 0xab4 - GameTime_t m_LastExitTime; // 0xab8 + char m_lookupFilename[512]; // 0x8ac + float m_LastEnterWeight; // 0xaac + GameTime_t m_LastEnterTime; // 0xab0 + float m_LastExitWeight; // 0xab4 + GameTime_t m_LastExitTime; // 0xab8 }; // Alignment: 30 // Size: 0x918 -class CPointCommentaryNode : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPointCommentaryNode : public CBaseAnimGraph +{ public: - CUtlSymbolLarge m_iszPreCommands; // 0x820 - CUtlSymbolLarge m_iszPostCommands; // 0x828 + CUtlSymbolLarge m_iszPreCommands; // 0x820 + CUtlSymbolLarge m_iszPostCommands; // 0x828 // MNetworkEnable - CUtlSymbolLarge m_iszCommentaryFile; // 0x830 - CUtlSymbolLarge m_iszViewTarget; // 0x838 - CHandle< CBaseEntity > m_hViewTarget; // 0x840 - CHandle< CBaseEntity > m_hViewTargetAngles; // 0x844 - CUtlSymbolLarge m_iszViewPosition; // 0x848 + CUtlSymbolLarge m_iszCommentaryFile; // 0x830 + CUtlSymbolLarge m_iszViewTarget; // 0x838 + CHandle< CBaseEntity > m_hViewTarget; // 0x840 + CHandle< CBaseEntity > m_hViewTargetAngles; // 0x844 + CUtlSymbolLarge m_iszViewPosition; // 0x848 // MNetworkEnable - CHandle< CBaseEntity > m_hViewPosition; // 0x850 - CHandle< CBaseEntity > m_hViewPositionMover; // 0x854 - bool m_bPreventMovement; // 0x858 - bool m_bUnderCrosshair; // 0x859 - bool m_bUnstoppable; // 0x85a - GameTime_t m_flFinishedTime; // 0x85c - Vector m_vecFinishOrigin; // 0x860 - QAngle m_vecOriginalAngles; // 0x86c - QAngle m_vecFinishAngles; // 0x878 - bool m_bPreventChangesWhileMoving; // 0x884 - bool m_bDisabled; // 0x885 - Vector m_vecTeleportOrigin; // 0x888 - GameTime_t m_flAbortedPlaybackAt; // 0x894 - CEntityIOOutput m_pOnCommentaryStarted; // 0x898 - CEntityIOOutput m_pOnCommentaryStopped; // 0x8c0 + CHandle< CBaseEntity > m_hViewPosition; // 0x850 + CHandle< CBaseEntity > m_hViewPositionMover; // 0x854 + bool m_bPreventMovement; // 0x858 + bool m_bUnderCrosshair; // 0x859 + bool m_bUnstoppable; // 0x85a +private: + [[maybe_unused]] uint8_t __pad085b[0x1]; // 0x85b +public: + GameTime_t m_flFinishedTime; // 0x85c + Vector m_vecFinishOrigin; // 0x860 + QAngle m_vecOriginalAngles; // 0x86c + QAngle m_vecFinishAngles; // 0x878 + bool m_bPreventChangesWhileMoving; // 0x884 + bool m_bDisabled; // 0x885 +private: + [[maybe_unused]] uint8_t __pad0886[0x2]; // 0x886 +public: + Vector m_vecTeleportOrigin; // 0x888 + GameTime_t m_flAbortedPlaybackAt; // 0x894 + CEntityIOOutput m_pOnCommentaryStarted; // 0x898 + CEntityIOOutput m_pOnCommentaryStopped; // 0x8c0 // MNetworkEnable - bool m_bActive; // 0x8e8 + bool m_bActive; // 0x8e8 +private: + [[maybe_unused]] uint8_t __pad08e9[0x3]; // 0x8e9 +public: // MNetworkEnable - GameTime_t m_flStartTime; // 0x8ec + GameTime_t m_flStartTime; // 0x8ec // MNetworkEnable - float m_flStartTimeInCommentary; // 0x8f0 + float m_flStartTimeInCommentary; // 0x8f0 +private: + [[maybe_unused]] uint8_t __pad08f4[0x4]; // 0x8f4 +public: // MNetworkEnable - CUtlSymbolLarge m_iszTitle; // 0x8f8 + CUtlSymbolLarge m_iszTitle; // 0x8f8 // MNetworkEnable - CUtlSymbolLarge m_iszSpeakers; // 0x900 + CUtlSymbolLarge m_iszSpeakers; // 0x900 // MNetworkEnable - int32_t m_iNodeNumber; // 0x908 + int32_t m_iNodeNumber; // 0x908 // MNetworkEnable - int32_t m_iNodeNumberMax; // 0x90c + int32_t m_iNodeNumberMax; // 0x90c // MNetworkEnable - bool m_bListenedTo; // 0x910 + bool m_bListenedTo; // 0x910 }; // Alignment: 0 // Size: 0x760 -class CCommentaryViewPosition : public CSprite, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCommentaryViewPosition : public CSprite +{ public: // no members available }; // Alignment: 0 // Size: 0x978 -class CFuncWater : public CBaseDoor, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncWater : public CBaseDoor +{ public: // no members available }; // Alignment: 1 // Size: 0x980 -class CRotDoor : public CBaseDoor, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRotDoor : public CBaseDoor +{ public: - bool m_bSolidBsp; // 0x978 + bool m_bSolidBsp; // 0x978 }; // Alignment: 0 // Size: 0x820 -class CItemSoda : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CItemSoda : public CBaseAnimGraph +{ public: // no members available }; // Alignment: 0 // Size: 0x898 -class CPrecipitation : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPrecipitation : public CBaseTrigger +{ public: // no members available }; // Alignment: 19 // Size: 0x838 -class CEnvBeam : public CBeam, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvBeam : public CBeam +{ public: - int32_t m_active; // 0x790 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_spriteTexture; // 0x798 - CUtlSymbolLarge m_iszStartEntity; // 0x7a0 - CUtlSymbolLarge m_iszEndEntity; // 0x7a8 - float m_life; // 0x7b0 - float m_boltWidth; // 0x7b4 - float m_noiseAmplitude; // 0x7b8 - int32_t m_speed; // 0x7bc - float m_restrike; // 0x7c0 - CUtlSymbolLarge m_iszSpriteName; // 0x7c8 - int32_t m_frameStart; // 0x7d0 - Vector m_vEndPointWorld; // 0x7d4 - Vector m_vEndPointRelative; // 0x7e0 - float m_radius; // 0x7ec - Touch_t m_TouchType; // 0x7f0 - CUtlSymbolLarge m_iFilterName; // 0x7f8 - CHandle< CBaseEntity > m_hFilter; // 0x800 - CUtlSymbolLarge m_iszDecal; // 0x808 - CEntityIOOutput m_OnTouchedByEntity; // 0x810 + int32_t m_active; // 0x790 +private: + [[maybe_unused]] uint8_t __pad0794[0x4]; // 0x794 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_spriteTexture; // 0x798 + CUtlSymbolLarge m_iszStartEntity; // 0x7a0 + CUtlSymbolLarge m_iszEndEntity; // 0x7a8 + float m_life; // 0x7b0 + float m_boltWidth; // 0x7b4 + float m_noiseAmplitude; // 0x7b8 + int32_t m_speed; // 0x7bc + float m_restrike; // 0x7c0 +private: + [[maybe_unused]] uint8_t __pad07c4[0x4]; // 0x7c4 +public: + CUtlSymbolLarge m_iszSpriteName; // 0x7c8 + int32_t m_frameStart; // 0x7d0 + Vector m_vEndPointWorld; // 0x7d4 + Vector m_vEndPointRelative; // 0x7e0 + float m_radius; // 0x7ec + Touch_t m_TouchType; // 0x7f0 +private: + [[maybe_unused]] uint8_t __pad07f4[0x4]; // 0x7f4 +public: + CUtlSymbolLarge m_iFilterName; // 0x7f8 + CHandle< CBaseEntity > m_hFilter; // 0x800 +private: + [[maybe_unused]] uint8_t __pad0804[0x4]; // 0x804 +public: + CUtlSymbolLarge m_iszDecal; // 0x808 + CEntityIOOutput m_OnTouchedByEntity; // 0x810 }; // Alignment: 0 // Size: 0x7b0 -class CPushable : public CBreakable, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPushable : public CBreakable +{ public: // no members available }; // Alignment: 0 // Size: 0x7a0 -class CFuncLadderAlias_func_useableladder : public CFuncLadder, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncLadderAlias_func_useableladder : public CFuncLadder +{ public: // no members available }; // Alignment: 9 // Size: 0x730 -class CFuncMonitor : public CFuncBrush, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncMonitor : public CFuncBrush +{ public: // MNetworkEnable - CUtlString m_targetCamera; // 0x710 + CUtlString m_targetCamera; // 0x710 // MNetworkEnable - int32_t m_nResolutionEnum; // 0x718 + int32_t m_nResolutionEnum; // 0x718 // MNetworkEnable - bool m_bRenderShadows; // 0x71c + bool m_bRenderShadows; // 0x71c // MNetworkEnable - bool m_bUseUniqueColorTarget; // 0x71d + bool m_bUseUniqueColorTarget; // 0x71d +private: + [[maybe_unused]] uint8_t __pad071e[0x2]; // 0x71e +public: // MNetworkEnable - CUtlString m_brushModelName; // 0x720 + CUtlString m_brushModelName; // 0x720 // MNetworkEnable - CHandle< CBaseEntity > m_hTargetCamera; // 0x728 + CHandle< CBaseEntity > m_hTargetCamera; // 0x728 // MNetworkEnable - bool m_bEnabled; // 0x72c + bool m_bEnabled; // 0x72c // MNetworkEnable - bool m_bDraw3DSkybox; // 0x72d - bool m_bStartEnabled; // 0x72e + bool m_bDraw3DSkybox; // 0x72d + bool m_bStartEnabled; // 0x72e }; // Alignment: 0 // Size: 0x820 -class CFuncMoveLinearAlias_momentary_door : public CFuncMoveLinear, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncMoveLinearAlias_momentary_door : public CFuncMoveLinear +{ public: // no members available }; // Alignment: 0 // Size: 0x820 -class CFuncWaterAnalog : public CFuncMoveLinear, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncWaterAnalog : public CFuncMoveLinear +{ public: // no members available }; // Alignment: 3 // Size: 0x7a0 -class CGunTarget : public CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CGunTarget : public CBaseToggle +{ public: - bool m_on; // 0x770 - CHandle< CBaseEntity > m_hTargetEnt; // 0x774 - CEntityIOOutput m_OnDeath; // 0x778 + bool m_on; // 0x770 +private: + [[maybe_unused]] uint8_t __pad0771[0x3]; // 0x771 +public: + CHandle< CBaseEntity > m_hTargetEnt; // 0x774 + CEntityIOOutput m_OnDeath; // 0x778 }; // Alignment: 3 // Size: 0x8b0 -class CTriggerGameEvent : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerGameEvent : public CBaseTrigger +{ public: // MNetworkEnable - CUtlString m_strStartTouchEventName; // 0x898 + CUtlString m_strStartTouchEventName; // 0x898 // MNetworkEnable - CUtlString m_strEndTouchEventName; // 0x8a0 + CUtlString m_strEndTouchEventName; // 0x8a0 // MNetworkEnable - CUtlString m_strTriggerID; // 0x8a8 + CUtlString m_strTriggerID; // 0x8a8 }; // Alignment: 0 // Size: 0x730 -class CSimpleMarkupVolumeTagged : public CMarkupVolumeTagged, CMarkupVolume, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSimpleMarkupVolumeTagged : public CMarkupVolumeTagged +{ public: // no members available }; // Alignment: 0 // Size: 0x730 -class CMarkupVolumeTagged_Nav : public CMarkupVolumeTagged, CMarkupVolume, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMarkupVolumeTagged_Nav : public CMarkupVolumeTagged +{ public: // no members available }; // Alignment: 1 // Size: 0x750 -class CMarkupVolumeTagged_NavGame : public CMarkupVolumeWithRef, CMarkupVolumeTagged, CMarkupVolume, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMarkupVolumeTagged_NavGame : public CMarkupVolumeWithRef +{ public: - bool m_bFloodFillAttribute; // 0x748 + bool m_bFloodFillAttribute; // 0x748 }; // Alignment: 4 // Size: 0x748 -class CFuncElectrifiedVolume : public CFuncBrush, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncElectrifiedVolume : public CFuncBrush +{ public: // MNetworkEnable - CUtlSymbolLarge m_EffectName; // 0x710 - CUtlSymbolLarge m_EffectInterpenetrateName; // 0x718 - CUtlSymbolLarge m_EffectZapName; // 0x720 - CUtlSymbolLarge m_iszEffectSource; // 0x728 + CUtlSymbolLarge m_EffectName; // 0x710 + CUtlSymbolLarge m_EffectInterpenetrateName; // 0x718 + CUtlSymbolLarge m_EffectZapName; // 0x720 + CUtlSymbolLarge m_iszEffectSource; // 0x728 }; // Alignment: 0 // Size: 0x4d0 -class CPathCornerCrash : public CPathCorner, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPathCornerCrash : public CPathCorner +{ public: // no members available }; // Alignment: 1 // Size: 0x828 -class CConstraintAnchor : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CConstraintAnchor : public CBaseAnimGraph +{ public: - float m_massScale; // 0x820 + float m_massScale; // 0x820 }; // Alignment: 1 // Size: 0xaa0 -class COrnamentProp : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class COrnamentProp : public CDynamicProp +{ public: - CUtlSymbolLarge m_initialOwner; // 0xa98 + CUtlSymbolLarge m_initialOwner; // 0xa98 }; // Alignment: 0 // Size: 0x748 -class CRopeKeyframeAlias_move_rope : public CRopeKeyframe, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRopeKeyframeAlias_move_rope : public CRopeKeyframe +{ public: // no members available }; // Alignment: 0 // Size: 0xa00 -class CSceneEntityAlias_logic_choreographed_scene : public CSceneEntity, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSceneEntityAlias_logic_choreographed_scene : public CSceneEntity +{ public: // no members available }; // Alignment: 5 // Size: 0xa18 -class CInstancedSceneEntity : public CSceneEntity, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CInstancedSceneEntity : public CSceneEntity +{ public: - CHandle< CBaseEntity > m_hOwner; // 0xa00 - bool m_bHadOwner; // 0xa04 - float m_flPostSpeakDelay; // 0xa08 - float m_flPreDelay; // 0xa0c - bool m_bIsBackground; // 0xa10 + CHandle< CBaseEntity > m_hOwner; // 0xa00 + bool m_bHadOwner; // 0xa04 +private: + [[maybe_unused]] uint8_t __pad0a05[0x3]; // 0xa05 +public: + float m_flPostSpeakDelay; // 0xa08 + float m_flPreDelay; // 0xa0c + bool m_bIsBackground; // 0xa10 }; // Alignment: 3 // Size: 0x8c0 -class CTriggerSoundscape : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerSoundscape : public CBaseTrigger +{ public: - CHandle< CEnvSoundscapeTriggerable > m_hSoundscape; // 0x898 - CUtlSymbolLarge m_SoundscapeName; // 0x8a0 - CUtlVector< CHandle< CBasePlayerPawn > > m_spectators; // 0x8a8 + CHandle< CEnvSoundscapeTriggerable > m_hSoundscape; // 0x898 +private: + [[maybe_unused]] uint8_t __pad089c[0x4]; // 0x89c +public: + CUtlSymbolLarge m_SoundscapeName; // 0x8a0 + CUtlVector< CHandle< CBasePlayerPawn > > m_spectators; // 0x8a8 }; // Alignment: 0 // Size: 0x760 -class CSpriteAlias_env_glow : public CSprite, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSpriteAlias_env_glow : public CSprite +{ public: // no members available }; // Alignment: 1 // Size: 0x850 -class CFuncTankTrain : public CFuncTrackTrain, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncTankTrain : public CFuncTrackTrain +{ public: - CEntityIOOutput m_OnDeath; // 0x828 + CEntityIOOutput m_OnDeath; // 0x828 }; // Alignment: 5 // Size: 0x798 -class CBasePlatTrain : public CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBasePlatTrain : public CBaseToggle +{ public: - CUtlSymbolLarge m_NoiseMoving; // 0x770 - CUtlSymbolLarge m_NoiseArrived; // 0x778 - float m_volume; // 0x788 - float m_flTWidth; // 0x78c - float m_flTLength; // 0x790 + CUtlSymbolLarge m_NoiseMoving; // 0x770 + CUtlSymbolLarge m_NoiseArrived; // 0x778 +private: + [[maybe_unused]] uint8_t __pad0780[0x8]; // 0x780 +public: + float m_volume; // 0x788 + float m_flTWidth; // 0x78c + float m_flTLength; // 0x790 }; // Alignment: 1 // Size: 0x7a0 -class CFuncPlat : public CBasePlatTrain, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncPlat : public CBasePlatTrain +{ public: - CUtlSymbolLarge m_sNoise; // 0x798 + CUtlSymbolLarge m_sNoise; // 0x798 }; // Alignment: 2 // Size: 0x7b8 -class CFuncPlatRot : public CFuncPlat, CBasePlatTrain, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncPlatRot : public CFuncPlat +{ public: - QAngle m_end; // 0x7a0 - QAngle m_start; // 0x7ac + QAngle m_end; // 0x7a0 + QAngle m_start; // 0x7ac }; // Alignment: 6 // Size: 0x7b8 -class CFuncTrain : public CBasePlatTrain, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncTrain : public CBasePlatTrain +{ public: - CHandle< CBaseEntity > m_hCurrentTarget; // 0x798 - bool m_activated; // 0x79c - CHandle< CBaseEntity > m_hEnemy; // 0x7a0 - float m_flBlockDamage; // 0x7a4 - GameTime_t m_flNextBlockTime; // 0x7a8 - CUtlSymbolLarge m_iszLastTarget; // 0x7b0 + CHandle< CBaseEntity > m_hCurrentTarget; // 0x798 + bool m_activated; // 0x79c +private: + [[maybe_unused]] uint8_t __pad079d[0x3]; // 0x79d +public: + CHandle< CBaseEntity > m_hEnemy; // 0x7a0 + float m_flBlockDamage; // 0x7a4 + GameTime_t m_flNextBlockTime; // 0x7a8 +private: + [[maybe_unused]] uint8_t __pad07ac[0x4]; // 0x7ac +public: + CUtlSymbolLarge m_iszLastTarget; // 0x7b0 }; // Alignment: 9 // Size: 0x7f8 -class CFuncTrackChange : public CFuncPlatRot, CFuncPlat, CBasePlatTrain, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncTrackChange : public CFuncPlatRot +{ public: - CPathTrack* m_trackTop; // 0x7b8 - CPathTrack* m_trackBottom; // 0x7c0 - CFuncTrackTrain* m_train; // 0x7c8 - CUtlSymbolLarge m_trackTopName; // 0x7d0 - CUtlSymbolLarge m_trackBottomName; // 0x7d8 - CUtlSymbolLarge m_trainName; // 0x7e0 - TRAIN_CODE m_code; // 0x7e8 - int32_t m_targetState; // 0x7ec - int32_t m_use; // 0x7f0 + CPathTrack* m_trackTop; // 0x7b8 + CPathTrack* m_trackBottom; // 0x7c0 + CFuncTrackTrain* m_train; // 0x7c8 + CUtlSymbolLarge m_trackTopName; // 0x7d0 + CUtlSymbolLarge m_trackBottomName; // 0x7d8 + CUtlSymbolLarge m_trainName; // 0x7e0 + TRAIN_CODE m_code; // 0x7e8 + int32_t m_targetState; // 0x7ec + int32_t m_use; // 0x7f0 }; // Alignment: 0 // Size: 0x7f8 -class CFuncTrackAuto : public CFuncTrackChange, CFuncPlatRot, CFuncPlat, CBasePlatTrain, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFuncTrackAuto : public CFuncTrackChange +{ public: // no members available }; // Alignment: 1 // Size: 0x8c0 -class CTriggerRemove : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerRemove : public CBaseTrigger +{ public: - CEntityIOOutput m_OnRemove; // 0x898 + CEntityIOOutput m_OnRemove; // 0x898 }; // Alignment: 1 // Size: 0x948 -class CScriptTriggerHurt : public CTriggerHurt, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CScriptTriggerHurt : public CTriggerHurt +{ public: - Vector m_vExtent; // 0x938 + Vector m_vExtent; // 0x938 }; // Alignment: 1 // Size: 0x8d0 -class CScriptTriggerMultiple : public CTriggerMultiple, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CScriptTriggerMultiple : public CTriggerMultiple +{ public: - Vector m_vExtent; // 0x8c0 + Vector m_vExtent; // 0x8c0 }; // Alignment: 0 // Size: 0x8c0 -class CTriggerOnce : public CTriggerMultiple, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerOnce : public CTriggerMultiple +{ public: // no members available }; // Alignment: 1 // Size: 0x8d0 -class CScriptTriggerOnce : public CTriggerOnce, CTriggerMultiple, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CScriptTriggerOnce : public CTriggerOnce +{ public: - Vector m_vExtent; // 0x8c0 + Vector m_vExtent; // 0x8c0 }; // Alignment: 15 // Size: 0x960 -class CTriggerLook : public CTriggerOnce, CTriggerMultiple, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerLook : public CTriggerOnce +{ public: - CHandle< CBaseEntity > m_hLookTarget; // 0x8c0 - float m_flFieldOfView; // 0x8c4 - float m_flLookTime; // 0x8c8 - float m_flLookTimeTotal; // 0x8cc - GameTime_t m_flLookTimeLast; // 0x8d0 - float m_flTimeoutDuration; // 0x8d4 - bool m_bTimeoutFired; // 0x8d8 - bool m_bIsLooking; // 0x8d9 - bool m_b2DFOV; // 0x8da - bool m_bUseVelocity; // 0x8db - CHandle< CBaseEntity > m_hActivator; // 0x8dc + CHandle< CBaseEntity > m_hLookTarget; // 0x8c0 + float m_flFieldOfView; // 0x8c4 + float m_flLookTime; // 0x8c8 + float m_flLookTimeTotal; // 0x8cc + GameTime_t m_flLookTimeLast; // 0x8d0 + float m_flTimeoutDuration; // 0x8d4 + bool m_bTimeoutFired; // 0x8d8 + bool m_bIsLooking; // 0x8d9 + bool m_b2DFOV; // 0x8da + bool m_bUseVelocity; // 0x8db + CHandle< CBaseEntity > m_hActivator; // 0x8dc // MNetworkEnable - bool m_bTestOcclusion; // 0x8e0 - CEntityIOOutput m_OnTimeout; // 0x8e8 - CEntityIOOutput m_OnStartLook; // 0x910 - CEntityIOOutput m_OnEndLook; // 0x938 + bool m_bTestOcclusion; // 0x8e0 +private: + [[maybe_unused]] uint8_t __pad08e1[0x7]; // 0x8e1 +public: + CEntityIOOutput m_OnTimeout; // 0x8e8 + CEntityIOOutput m_OnStartLook; // 0x910 + CEntityIOOutput m_OnEndLook; // 0x938 }; // Alignment: 5 // Size: 0x8c0 -class CTriggerPush : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerPush : public CBaseTrigger +{ public: - QAngle m_angPushEntitySpace; // 0x898 - Vector m_vecPushDirEntitySpace; // 0x8a4 - bool m_bTriggerOnStartTouch; // 0x8b0 - float m_flAlternateTicksFix; // 0x8b4 - float m_flPushSpeed; // 0x8b8 + QAngle m_angPushEntitySpace; // 0x898 + Vector m_vecPushDirEntitySpace; // 0x8a4 + bool m_bTriggerOnStartTouch; // 0x8b0 +private: + [[maybe_unused]] uint8_t __pad08b1[0x3]; // 0x8b1 +public: + float m_flAlternateTicksFix; // 0x8b4 + float m_flPushSpeed; // 0x8b8 }; // Alignment: 1 // Size: 0x8d0 -class CScriptTriggerPush : public CTriggerPush, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CScriptTriggerPush : public CTriggerPush +{ public: - Vector m_vExtent; // 0x8c0 + Vector m_vExtent; // 0x8c0 }; // Alignment: 1 // Size: 0x8a0 -class CTriggerToggleSave : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerToggleSave : public CBaseTrigger +{ public: - bool m_bDisabled; // 0x898 + bool m_bDisabled; // 0x898 }; // Alignment: 3 // Size: 0x8a8 -class CTriggerSave : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerSave : public CBaseTrigger +{ public: - bool m_bForceNewLevelUnit; // 0x898 - float m_fDangerousTimer; // 0x89c - int32_t m_minHitPoints; // 0x8a0 + bool m_bForceNewLevelUnit; // 0x898 +private: + [[maybe_unused]] uint8_t __pad0899[0x3]; // 0x899 +public: + float m_fDangerousTimer; // 0x89c + int32_t m_minHitPoints; // 0x8a0 }; // Alignment: 0 // Size: 0x898 -class CTriggerGravity : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerGravity : public CBaseTrigger +{ public: // no members available }; // Alignment: 5 // Size: 0x8d8 -class CTriggerProximity : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerProximity : public CBaseTrigger +{ public: - CHandle< CBaseEntity > m_hMeasureTarget; // 0x898 - CUtlSymbolLarge m_iszMeasureTarget; // 0x8a0 - float m_fRadius; // 0x8a8 - int32_t m_nTouchers; // 0x8ac - CEntityOutputTemplate< float32 > m_NearestEntityDistance; // 0x8b0 + CHandle< CBaseEntity > m_hMeasureTarget; // 0x898 +private: + [[maybe_unused]] uint8_t __pad089c[0x4]; // 0x89c +public: + CUtlSymbolLarge m_iszMeasureTarget; // 0x8a0 + float m_fRadius; // 0x8a8 + int32_t m_nTouchers; // 0x8ac + CEntityOutputTemplate< float32 > m_NearestEntityDistance; // 0x8b0 }; // Alignment: 4 // Size: 0x8f8 -class CTriggerImpact : public CTriggerMultiple, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerImpact : public CTriggerMultiple +{ public: - float m_flMagnitude; // 0x8c0 - float m_flNoise; // 0x8c4 - float m_flViewkick; // 0x8c8 - CEntityOutputTemplate< Vector > m_pOutputForce; // 0x8d0 + float m_flMagnitude; // 0x8c0 + float m_flNoise; // 0x8c4 + float m_flViewkick; // 0x8c8 +private: + [[maybe_unused]] uint8_t __pad08cc[0x4]; // 0x8cc +public: + CEntityOutputTemplate< Vector > m_pOutputForce; // 0x8d0 }; // Alignment: 0 // Size: 0x898 -class CServerRagdollTrigger : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CServerRagdollTrigger : public CBaseTrigger +{ public: // no members available }; // Alignment: 2 // Size: 0x8c8 -class CTriggerActiveWeaponDetect : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerActiveWeaponDetect : public CBaseTrigger +{ public: - CEntityIOOutput m_OnTouchedActiveWeapon; // 0x898 - CUtlSymbolLarge m_iszWeaponClassName; // 0x8c0 + CEntityIOOutput m_OnTouchedActiveWeapon; // 0x898 + CUtlSymbolLarge m_iszWeaponClassName; // 0x8c0 }; // Alignment: 13 // Size: 0x8f8 -class CTriggerPhysics : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerPhysics : public CBaseTrigger +{ public: - float m_gravityScale; // 0x8a8 - float m_linearLimit; // 0x8ac - float m_linearDamping; // 0x8b0 - float m_angularLimit; // 0x8b4 - float m_angularDamping; // 0x8b8 - float m_linearForce; // 0x8bc - float m_flFrequency; // 0x8c0 - float m_flDampingRatio; // 0x8c4 - Vector m_vecLinearForcePointAt; // 0x8c8 - bool m_bCollapseToForcePoint; // 0x8d4 - Vector m_vecLinearForcePointAtWorld; // 0x8d8 - Vector m_vecLinearForceDirection; // 0x8e4 - bool m_bConvertToDebrisWhenPossible; // 0x8f0 + float m_gravityScale; // 0x8a8 + float m_linearLimit; // 0x8ac + float m_linearDamping; // 0x8b0 + float m_angularLimit; // 0x8b4 + float m_angularDamping; // 0x8b8 + float m_linearForce; // 0x8bc + float m_flFrequency; // 0x8c0 + float m_flDampingRatio; // 0x8c4 + Vector m_vecLinearForcePointAt; // 0x8c8 + bool m_bCollapseToForcePoint; // 0x8d4 +private: + [[maybe_unused]] uint8_t __pad08d5[0x3]; // 0x8d5 +public: + Vector m_vecLinearForcePointAtWorld; // 0x8d8 + Vector m_vecLinearForceDirection; // 0x8e4 + bool m_bConvertToDebrisWhenPossible; // 0x8f0 }; // Alignment: 2 // Size: 0x8c8 -class CTriggerDetectBulletFire : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerDetectBulletFire : public CBaseTrigger +{ public: - bool m_bPlayerFireOnly; // 0x898 - CEntityIOOutput m_OnDetectedBulletFire; // 0x8a0 + bool m_bPlayerFireOnly; // 0x898 +private: + [[maybe_unused]] uint8_t __pad0899[0x7]; // 0x899 +public: + CEntityIOOutput m_OnDetectedBulletFire; // 0x8a0 }; // Alignment: 1 // Size: 0x8f8 -class CTriggerDetectExplosion : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTriggerDetectExplosion : public CBaseTrigger +{ public: - CEntityIOOutput m_OnDetectedExplosion; // 0x8d0 + CEntityIOOutput m_OnDetectedExplosion; // 0x8d0 }; // Alignment: 1 // Size: 0x710 -class CScriptNavBlocker : public CFuncNavBlocker, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CScriptNavBlocker : public CFuncNavBlocker +{ public: - Vector m_vExtent; // 0x700 + Vector m_vExtent; // 0x700 }; // Alignment: 7 // Size: 0x8b0 -class CBaseFlex : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseFlex : public CBaseAnimGraph +{ public: // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags - CNetworkUtlVectorBase< float32 > m_flexWeight; // 0x820 + CNetworkUtlVectorBase< float32 > m_flexWeight; // 0x820 // MNetworkEnable // MNetworkEncoder - Vector m_vLookTargetPosition; // 0x838 + Vector m_vLookTargetPosition; // 0x838 // MNetworkEnable - bool m_blinktoggle; // 0x844 - GameTime_t m_flAllowResponsesEndTime; // 0x898 - GameTime_t m_flLastFlexAnimationTime; // 0x89c - uint32_t m_nNextSceneEventId; // 0x8a0 - bool m_bUpdateLayerPriorities; // 0x8a4 + bool m_blinktoggle; // 0x844 +private: + [[maybe_unused]] uint8_t __pad0845[0x53]; // 0x845 +public: + GameTime_t m_flAllowResponsesEndTime; // 0x898 + GameTime_t m_flLastFlexAnimationTime; // 0x89c + uint32_t m_nNextSceneEventId; // 0x8a0 + bool m_bUpdateLayerPriorities; // 0x8a4 }; // Alignment: 38 // Size: 0xd28 -class CBasePropDoor : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBasePropDoor : public CDynamicProp +{ +public: + float m_flAutoReturnDelay; // 0xaa8 +private: + [[maybe_unused]] uint8_t __pad0aac[0x4]; // 0xaac +public: + CUtlVector< CHandle< CBasePropDoor > > m_hDoorList; // 0xab0 + int32_t m_nHardwareType; // 0xac8 + bool m_bNeedsHardware; // 0xacc +private: + [[maybe_unused]] uint8_t __pad0acd[0x3]; // 0xacd public: - float m_flAutoReturnDelay; // 0xaa8 - CUtlVector< CHandle< CBasePropDoor > > m_hDoorList; // 0xab0 - int32_t m_nHardwareType; // 0xac8 - bool m_bNeedsHardware; // 0xacc // MNetworkEnable - DoorState_t m_eDoorState; // 0xad0 + DoorState_t m_eDoorState; // 0xad0 // MNetworkEnable - bool m_bLocked; // 0xad4 + bool m_bLocked; // 0xad4 +private: + [[maybe_unused]] uint8_t __pad0ad5[0x3]; // 0xad5 +public: // MNetworkEnable - Vector m_closedPosition; // 0xad8 + Vector m_closedPosition; // 0xad8 // MNetworkEnable - QAngle m_closedAngles; // 0xae4 - CHandle< CBaseEntity > m_hBlocker; // 0xaf0 - bool m_bFirstBlocked; // 0xaf4 - locksound_t m_ls; // 0xaf8 - bool m_bForceClosed; // 0xb18 - Vector m_vecLatchWorldPosition; // 0xb1c - CHandle< CBaseEntity > m_hActivator; // 0xb28 - uint32_t m_sndParamAngularSpeed; // 0xb34 - CUtlSymbolLarge m_SoundMoving; // 0xb38 - CUtlSymbolLarge m_SoundOpen; // 0xb40 - CUtlSymbolLarge m_SoundClose; // 0xb48 - CUtlSymbolLarge m_SoundLock; // 0xb50 - CUtlSymbolLarge m_SoundUnlock; // 0xb58 - CUtlSymbolLarge m_SoundLatch; // 0xb60 - CUtlSymbolLarge m_SoundPound; // 0xb68 - CUtlSymbolLarge m_SoundJiggle; // 0xb70 - CUtlSymbolLarge m_SoundLockedAnim; // 0xb78 - int32_t m_numCloseAttempts; // 0xb80 - CUtlStringToken m_nPhysicsMaterial; // 0xb84 - CUtlSymbolLarge m_SlaveName; // 0xb88 + QAngle m_closedAngles; // 0xae4 + CHandle< CBaseEntity > m_hBlocker; // 0xaf0 + bool m_bFirstBlocked; // 0xaf4 +private: + [[maybe_unused]] uint8_t __pad0af5[0x3]; // 0xaf5 +public: + locksound_t m_ls; // 0xaf8 + bool m_bForceClosed; // 0xb18 +private: + [[maybe_unused]] uint8_t __pad0b19[0x3]; // 0xb19 +public: + Vector m_vecLatchWorldPosition; // 0xb1c + CHandle< CBaseEntity > m_hActivator; // 0xb28 +private: + [[maybe_unused]] uint8_t __pad0b2c[0x8]; // 0xb2c +public: + uint32_t m_sndParamAngularSpeed; // 0xb34 + CUtlSymbolLarge m_SoundMoving; // 0xb38 + CUtlSymbolLarge m_SoundOpen; // 0xb40 + CUtlSymbolLarge m_SoundClose; // 0xb48 + CUtlSymbolLarge m_SoundLock; // 0xb50 + CUtlSymbolLarge m_SoundUnlock; // 0xb58 + CUtlSymbolLarge m_SoundLatch; // 0xb60 + CUtlSymbolLarge m_SoundPound; // 0xb68 + CUtlSymbolLarge m_SoundJiggle; // 0xb70 + CUtlSymbolLarge m_SoundLockedAnim; // 0xb78 + int32_t m_numCloseAttempts; // 0xb80 + CUtlStringToken m_nPhysicsMaterial; // 0xb84 + CUtlSymbolLarge m_SlaveName; // 0xb88 // MNetworkEnable - CHandle< CBasePropDoor > m_hMaster; // 0xb90 - CEntityIOOutput m_OnBlockedClosing; // 0xb98 - CEntityIOOutput m_OnBlockedOpening; // 0xbc0 - CEntityIOOutput m_OnUnblockedClosing; // 0xbe8 - CEntityIOOutput m_OnUnblockedOpening; // 0xc10 - CEntityIOOutput m_OnFullyClosed; // 0xc38 - CEntityIOOutput m_OnFullyOpen; // 0xc60 - CEntityIOOutput m_OnClose; // 0xc88 - CEntityIOOutput m_OnOpen; // 0xcb0 - CEntityIOOutput m_OnLockedUse; // 0xcd8 - CEntityIOOutput m_OnAjarOpen; // 0xd00 + CHandle< CBasePropDoor > m_hMaster; // 0xb90 +private: + [[maybe_unused]] uint8_t __pad0b94[0x4]; // 0xb94 +public: + CEntityIOOutput m_OnBlockedClosing; // 0xb98 + CEntityIOOutput m_OnBlockedOpening; // 0xbc0 + CEntityIOOutput m_OnUnblockedClosing; // 0xbe8 + CEntityIOOutput m_OnUnblockedOpening; // 0xc10 + CEntityIOOutput m_OnFullyClosed; // 0xc38 + CEntityIOOutput m_OnFullyOpen; // 0xc60 + CEntityIOOutput m_OnClose; // 0xc88 + CEntityIOOutput m_OnOpen; // 0xcb0 + CEntityIOOutput m_OnLockedUse; // 0xcd8 + CEntityIOOutput m_OnAjarOpen; // 0xd00 }; // Alignment: 5 // Size: 0x7b8 -class CEnvLaser : public CBeam, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvLaser : public CBeam +{ public: - CUtlSymbolLarge m_iszLaserTarget; // 0x790 - CSprite* m_pSprite; // 0x798 - CUtlSymbolLarge m_iszSpriteName; // 0x7a0 - Vector m_firePosition; // 0x7a8 - float m_flStartFrame; // 0x7b4 + CUtlSymbolLarge m_iszLaserTarget; // 0x790 + CSprite* m_pSprite; // 0x798 + CUtlSymbolLarge m_iszSpriteName; // 0x7a0 + Vector m_firePosition; // 0x7a8 + float m_flStartFrame; // 0x7b4 }; // Alignment: 24 // Size: 0x928 -class CFish : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFish : public CBaseAnimGraph +{ public: - CHandle< CFishPool > m_pool; // 0x820 - uint32_t m_id; // 0x824 + CHandle< CFishPool > m_pool; // 0x820 + uint32_t m_id; // 0x824 // MNetworkEnable // MNetworkSerializer "fish_pos_x" - float m_x; // 0x828 + float m_x; // 0x828 // MNetworkEnable // MNetworkSerializer "fish_pos_y" - float m_y; // 0x82c + float m_y; // 0x82c // MNetworkEnable // MNetworkSerializer "fish_pos_z" - float m_z; // 0x830 + float m_z; // 0x830 // MNetworkEnable // MNetworkSerializer "angle_normalize_positive" // MNetworkBitCount "7" // MNetworkMinValue "0" // MNetworkMaxValue "360" // MNetworkEncodeFlags - float m_angle; // 0x834 - float m_angleChange; // 0x838 - Vector m_forward; // 0x83c - Vector m_perp; // 0x848 + float m_angle; // 0x834 + float m_angleChange; // 0x838 + Vector m_forward; // 0x83c + Vector m_perp; // 0x848 // MNetworkEnable // MNetworkEncoder - Vector m_poolOrigin; // 0x854 + Vector m_poolOrigin; // 0x854 // MNetworkEnable - float m_waterLevel; // 0x860 - float m_speed; // 0x864 - float m_desiredSpeed; // 0x868 - float m_calmSpeed; // 0x86c - float m_panicSpeed; // 0x870 - float m_avoidRange; // 0x874 - CountdownTimer m_turnTimer; // 0x878 - bool m_turnClockwise; // 0x890 - CountdownTimer m_goTimer; // 0x898 - CountdownTimer m_moveTimer; // 0x8b0 - CountdownTimer m_panicTimer; // 0x8c8 - CountdownTimer m_disperseTimer; // 0x8e0 - CountdownTimer m_proximityTimer; // 0x8f8 - CUtlVector< CFish* > m_visible; // 0x910 + float m_waterLevel; // 0x860 + float m_speed; // 0x864 + float m_desiredSpeed; // 0x868 + float m_calmSpeed; // 0x86c + float m_panicSpeed; // 0x870 + float m_avoidRange; // 0x874 + CountdownTimer m_turnTimer; // 0x878 + bool m_turnClockwise; // 0x890 +private: + [[maybe_unused]] uint8_t __pad0891[0x7]; // 0x891 +public: + CountdownTimer m_goTimer; // 0x898 + CountdownTimer m_moveTimer; // 0x8b0 + CountdownTimer m_panicTimer; // 0x8c8 + CountdownTimer m_disperseTimer; // 0x8e0 + CountdownTimer m_proximityTimer; // 0x8f8 + CUtlVector< CFish* > m_visible; // 0x910 }; // Alignment: 8 // Size: 0x8f8 -class CItem : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CItem : public CBaseAnimGraph +{ public: - CEntityIOOutput m_OnPlayerTouch; // 0x828 - bool m_bActivateWhenAtRest; // 0x850 - CEntityIOOutput m_OnCacheInteraction; // 0x858 - CEntityIOOutput m_OnPlayerPickup; // 0x880 - CEntityIOOutput m_OnGlovePulled; // 0x8a8 - Vector m_vOriginalSpawnOrigin; // 0x8d0 - QAngle m_vOriginalSpawnAngles; // 0x8dc - bool m_bPhysStartAsleep; // 0x8e8 + CEntityIOOutput m_OnPlayerTouch; // 0x828 + bool m_bActivateWhenAtRest; // 0x850 +private: + [[maybe_unused]] uint8_t __pad0851[0x7]; // 0x851 +public: + CEntityIOOutput m_OnCacheInteraction; // 0x858 + CEntityIOOutput m_OnPlayerPickup; // 0x880 + CEntityIOOutput m_OnGlovePulled; // 0x8a8 + Vector m_vOriginalSpawnOrigin; // 0x8d0 + QAngle m_vOriginalSpawnAngles; // 0x8dc + bool m_bPhysStartAsleep; // 0x8e8 }; // Alignment: 28 // Size: 0x9c8 -class CRagdollProp : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRagdollProp : public CBaseAnimGraph +{ +public: + ragdoll_t m_ragdoll; // 0x828 + bool m_bStartDisabled; // 0x860 +private: + [[maybe_unused]] uint8_t __pad0861[0x7]; // 0x861 public: - ragdoll_t m_ragdoll; // 0x828 - bool m_bStartDisabled; // 0x860 // MNetworkEnable // MNetworkEncoder - CNetworkUtlVectorBase< Vector > m_ragPos; // 0x868 + CNetworkUtlVectorBase< Vector > m_ragPos; // 0x868 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "13" - CNetworkUtlVectorBase< QAngle > m_ragAngles; // 0x880 + CNetworkUtlVectorBase< QAngle > m_ragAngles; // 0x880 // MNetworkEnable - CHandle< CBaseEntity > m_hRagdollSource; // 0x898 - uint32_t m_lastUpdateTickCount; // 0x89c - bool m_allAsleep; // 0x8a0 - bool m_bFirstCollisionAfterLaunch; // 0x8a1 - CHandle< CBaseEntity > m_hDamageEntity; // 0x8a4 - CHandle< CBaseEntity > m_hKiller; // 0x8a8 - CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x8ac - GameTime_t m_flLastPhysicsInfluenceTime; // 0x8b0 - GameTime_t m_flFadeOutStartTime; // 0x8b4 - float m_flFadeTime; // 0x8b8 + CHandle< CBaseEntity > m_hRagdollSource; // 0x898 + uint32_t m_lastUpdateTickCount; // 0x89c + bool m_allAsleep; // 0x8a0 + bool m_bFirstCollisionAfterLaunch; // 0x8a1 +private: + [[maybe_unused]] uint8_t __pad08a2[0x2]; // 0x8a2 +public: + CHandle< CBaseEntity > m_hDamageEntity; // 0x8a4 + CHandle< CBaseEntity > m_hKiller; // 0x8a8 + CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x8ac + GameTime_t m_flLastPhysicsInfluenceTime; // 0x8b0 + GameTime_t m_flFadeOutStartTime; // 0x8b4 + float m_flFadeTime; // 0x8b8 // MNetworkDisable - Vector m_vecLastOrigin; // 0x8bc - GameTime_t m_flAwakeTime; // 0x8c8 - GameTime_t m_flLastOriginChangeTime; // 0x8cc - int32_t m_nBloodColor; // 0x8d0 - CUtlSymbolLarge m_strOriginClassName; // 0x8d8 - CUtlSymbolLarge m_strSourceClassName; // 0x8e0 - bool m_bHasBeenPhysgunned; // 0x8e8 - bool m_bShouldTeleportPhysics; // 0x8e9 + Vector m_vecLastOrigin; // 0x8bc + GameTime_t m_flAwakeTime; // 0x8c8 + GameTime_t m_flLastOriginChangeTime; // 0x8cc + int32_t m_nBloodColor; // 0x8d0 +private: + [[maybe_unused]] uint8_t __pad08d4[0x4]; // 0x8d4 +public: + CUtlSymbolLarge m_strOriginClassName; // 0x8d8 + CUtlSymbolLarge m_strSourceClassName; // 0x8e0 + bool m_bHasBeenPhysgunned; // 0x8e8 + bool m_bShouldTeleportPhysics; // 0x8e9 +private: + [[maybe_unused]] uint8_t __pad08ea[0x2]; // 0x8ea +public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags - float m_flBlendWeight; // 0x8ec - float m_flDefaultFadeScale; // 0x8f0 - CUtlVector< Vector > m_ragdollMins; // 0x8f8 - CUtlVector< Vector > m_ragdollMaxs; // 0x910 - bool m_bShouldDeleteActivationRecord; // 0x928 - bool m_bValidatePoweredRagdollPose; // 0x988 + float m_flBlendWeight; // 0x8ec + float m_flDefaultFadeScale; // 0x8f0 +private: + [[maybe_unused]] uint8_t __pad08f4[0x4]; // 0x8f4 +public: + CUtlVector< Vector > m_ragdollMins; // 0x8f8 + CUtlVector< Vector > m_ragdollMaxs; // 0x910 + bool m_bShouldDeleteActivationRecord; // 0x928 +private: + [[maybe_unused]] uint8_t __pad0929[0x5f]; // 0x929 +public: + bool m_bValidatePoweredRagdollPose; // 0x988 }; // Alignment: 12 // Size: 0x8b0 -class CPhysMagnet : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysMagnet : public CBaseAnimGraph +{ public: - CEntityIOOutput m_OnMagnetAttach; // 0x820 - CEntityIOOutput m_OnMagnetDetach; // 0x848 - float m_massScale; // 0x870 - float m_forceLimit; // 0x874 - float m_torqueLimit; // 0x878 - CUtlVector< magnetted_objects_t > m_MagnettedEntities; // 0x880 - bool m_bActive; // 0x898 - bool m_bHasHitSomething; // 0x899 - float m_flTotalMass; // 0x89c - float m_flRadius; // 0x8a0 - GameTime_t m_flNextSuckTime; // 0x8a4 - int32_t m_iMaxObjectsAttached; // 0x8a8 + CEntityIOOutput m_OnMagnetAttach; // 0x820 + CEntityIOOutput m_OnMagnetDetach; // 0x848 + float m_massScale; // 0x870 + float m_forceLimit; // 0x874 + float m_torqueLimit; // 0x878 +private: + [[maybe_unused]] uint8_t __pad087c[0x4]; // 0x87c +public: + CUtlVector< magnetted_objects_t > m_MagnettedEntities; // 0x880 + bool m_bActive; // 0x898 + bool m_bHasHitSomething; // 0x899 +private: + [[maybe_unused]] uint8_t __pad089a[0x2]; // 0x89a +public: + float m_flTotalMass; // 0x89c + float m_flRadius; // 0x8a0 + GameTime_t m_flNextSuckTime; // 0x8a4 + int32_t m_iMaxObjectsAttached; // 0x8a8 }; // Alignment: 33 // Size: 0xb00 -class CPhysicsProp : public CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysicsProp : public CBreakableProp +{ public: - CEntityIOOutput m_MotionEnabled; // 0x9a0 - CEntityIOOutput m_OnAwakened; // 0x9c8 - CEntityIOOutput m_OnAwake; // 0x9f0 - CEntityIOOutput m_OnAsleep; // 0xa18 - CEntityIOOutput m_OnPlayerUse; // 0xa40 - CEntityIOOutput m_OnPlayerPickup; // 0xa68 - CEntityIOOutput m_OnOutOfWorld; // 0xa90 - float m_massScale; // 0xab8 - float m_inertiaScale; // 0xabc - int32_t m_damageType; // 0xac0 - int32_t m_damageToEnableMotion; // 0xac4 - float m_flForceToEnableMotion; // 0xac8 - bool m_bThrownByPlayer; // 0xacc - bool m_bDroppedByPlayer; // 0xacd - bool m_bTouchedByPlayer; // 0xace - bool m_bFirstCollisionAfterLaunch; // 0xacf - int32_t m_iExploitableByPlayer; // 0xad0 - bool m_bHasBeenAwakened; // 0xad4 - bool m_bIsOverrideProp; // 0xad5 - GameTime_t m_fNextCheckDisableMotionContactsTime; // 0xad8 - int32_t m_iInitialGlowState; // 0xadc - int32_t m_nGlowRange; // 0xae0 - int32_t m_nGlowRangeMin; // 0xae4 - Color m_glowColor; // 0xae8 - bool m_bForceNavIgnore; // 0xaec - bool m_bNoNavmeshBlocker; // 0xaed - bool m_bForceNpcExclude; // 0xaee - bool m_bShouldAutoConvertBackFromDebris; // 0xaef - bool m_bMuteImpactEffects; // 0xaf0 - bool m_bAcceptDamageFromHeldObjects; // 0xaf8 - bool m_bEnableUseOutput; // 0xaf9 + CEntityIOOutput m_MotionEnabled; // 0x9a0 + CEntityIOOutput m_OnAwakened; // 0x9c8 + CEntityIOOutput m_OnAwake; // 0x9f0 + CEntityIOOutput m_OnAsleep; // 0xa18 + CEntityIOOutput m_OnPlayerUse; // 0xa40 + CEntityIOOutput m_OnPlayerPickup; // 0xa68 + CEntityIOOutput m_OnOutOfWorld; // 0xa90 + float m_massScale; // 0xab8 + float m_inertiaScale; // 0xabc + int32_t m_damageType; // 0xac0 + int32_t m_damageToEnableMotion; // 0xac4 + float m_flForceToEnableMotion; // 0xac8 + bool m_bThrownByPlayer; // 0xacc + bool m_bDroppedByPlayer; // 0xacd + bool m_bTouchedByPlayer; // 0xace + bool m_bFirstCollisionAfterLaunch; // 0xacf + int32_t m_iExploitableByPlayer; // 0xad0 + bool m_bHasBeenAwakened; // 0xad4 + bool m_bIsOverrideProp; // 0xad5 +private: + [[maybe_unused]] uint8_t __pad0ad6[0x2]; // 0xad6 +public: + GameTime_t m_fNextCheckDisableMotionContactsTime; // 0xad8 + int32_t m_iInitialGlowState; // 0xadc + int32_t m_nGlowRange; // 0xae0 + int32_t m_nGlowRangeMin; // 0xae4 + Color m_glowColor; // 0xae8 + bool m_bForceNavIgnore; // 0xaec + bool m_bNoNavmeshBlocker; // 0xaed + bool m_bForceNpcExclude; // 0xaee + bool m_bShouldAutoConvertBackFromDebris; // 0xaef + bool m_bMuteImpactEffects; // 0xaf0 +private: + [[maybe_unused]] uint8_t __pad0af1[0x7]; // 0xaf1 +public: + bool m_bAcceptDamageFromHeldObjects; // 0xaf8 + bool m_bEnableUseOutput; // 0xaf9 // MNetworkEnable - bool m_bAwake; // 0xafa - int32_t m_nCollisionGroupOverride; // 0xafc + bool m_bAwake; // 0xafa +private: + [[maybe_unused]] uint8_t __pad0afb[0x1]; // 0xafb +public: + int32_t m_nCollisionGroupOverride; // 0xafc }; // Alignment: 0 // Size: 0xb00 -class CPhysicsPropOverride : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysicsPropOverride : public CPhysicsProp +{ public: // no members available }; // Alignment: 5 // Size: 0xb38 -class CPhysicsPropRespawnable : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysicsPropRespawnable : public CPhysicsProp +{ public: - Vector m_vOriginalSpawnOrigin; // 0xb00 - QAngle m_vOriginalSpawnAngles; // 0xb0c - Vector m_vOriginalMins; // 0xb18 - Vector m_vOriginalMaxs; // 0xb24 - float m_flRespawnDuration; // 0xb30 + Vector m_vOriginalSpawnOrigin; // 0xb00 + QAngle m_vOriginalSpawnAngles; // 0xb0c + Vector m_vOriginalMins; // 0xb18 + Vector m_vOriginalMaxs; // 0xb24 + float m_flRespawnDuration; // 0xb30 }; // Alignment: 0 // Size: 0x820 -class CWaterBullet : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWaterBullet : public CBaseAnimGraph +{ public: // no members available }; // Alignment: 3 // Size: 0xb68 -class CShatterGlassShardPhysics : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CShatterGlassShardPhysics : public CPhysicsProp +{ public: - bool m_bDebris; // 0xb00 - uint32_t m_hParentShard; // 0xb04 + bool m_bDebris; // 0xb00 +private: + [[maybe_unused]] uint8_t __pad0b01[0x3]; // 0xb01 +public: + uint32_t m_hParentShard; // 0xb04 // MNetworkEnable - shard_model_desc_t m_ShardDesc; // 0xb08 + shard_model_desc_t m_ShardDesc; // 0xb08 }; // Alignment: 9 // Size: 0xba8 -class CEconEntity : public CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEconEntity : public CBaseFlex +{ public: // MNetworkEnable - CAttributeContainer m_AttributeManager; // 0x8c0 + CAttributeContainer m_AttributeManager; // 0x8c0 // MNetworkEnable - uint32_t m_OriginalOwnerXuidLow; // 0xb88 + uint32_t m_OriginalOwnerXuidLow; // 0xb88 // MNetworkEnable - uint32_t m_OriginalOwnerXuidHigh; // 0xb8c + uint32_t m_OriginalOwnerXuidHigh; // 0xb8c // MNetworkEnable - int32_t m_nFallbackPaintKit; // 0xb90 + int32_t m_nFallbackPaintKit; // 0xb90 // MNetworkEnable - int32_t m_nFallbackSeed; // 0xb94 + int32_t m_nFallbackSeed; // 0xb94 // MNetworkEnable - float m_flFallbackWear; // 0xb98 + float m_flFallbackWear; // 0xb98 // MNetworkEnable - int32_t m_nFallbackStatTrak; // 0xb9c - CHandle< CBaseEntity > m_hOldProvidee; // 0xba0 - int32_t m_iOldOwnerClass; // 0xba4 + int32_t m_nFallbackStatTrak; // 0xb9c + CHandle< CBaseEntity > m_hOldProvidee; // 0xba0 + int32_t m_iOldOwnerClass; // 0xba4 }; // Alignment: 2 // Size: 0xbb0 -class CEconWearable : public CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEconWearable : public CEconEntity +{ public: - int32_t m_nForceSkin; // 0xba8 - bool m_bAlwaysAllow; // 0xbac + int32_t m_nForceSkin; // 0xba8 + bool m_bAlwaysAllow; // 0xbac }; // Alignment: 14 // Size: 0x958 -class CBaseGrenade : public CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseGrenade : public CBaseFlex +{ public: - CEntityIOOutput m_OnPlayerPickup; // 0x8b8 - CEntityIOOutput m_OnExplode; // 0x8e0 - bool m_bHasWarnedAI; // 0x908 - bool m_bIsSmokeGrenade; // 0x909 + CEntityIOOutput m_OnPlayerPickup; // 0x8b8 + CEntityIOOutput m_OnExplode; // 0x8e0 + bool m_bHasWarnedAI; // 0x908 + bool m_bIsSmokeGrenade; // 0x909 // MNetworkEnable - bool m_bIsLive; // 0x90a + bool m_bIsLive; // 0x90a +private: + [[maybe_unused]] uint8_t __pad090b[0x1]; // 0x90b +public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "1024" // MNetworkEncodeFlags - float m_DmgRadius; // 0x90c + float m_DmgRadius; // 0x90c // MNetworkEnable - GameTime_t m_flDetonateTime; // 0x910 - float m_flWarnAITime; // 0x914 + GameTime_t m_flDetonateTime; // 0x910 + float m_flWarnAITime; // 0x914 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags - float m_flDamage; // 0x918 - CUtlSymbolLarge m_iszBounceSound; // 0x920 - CUtlString m_ExplosionSound; // 0x928 + float m_flDamage; // 0x918 +private: + [[maybe_unused]] uint8_t __pad091c[0x4]; // 0x91c +public: + CUtlSymbolLarge m_iszBounceSound; // 0x920 + CUtlString m_ExplosionSound; // 0x928 +private: + [[maybe_unused]] uint8_t __pad0930[0x4]; // 0x930 +public: // MNetworkEnable - CHandle< CBaseEntity > m_hThrower; // 0x934 - GameTime_t m_flNextAttack; // 0x950 - CHandle< CBaseEntity > m_hOriginalThrower; // 0x954 + CHandle< CBaseEntity > m_hThrower; // 0x934 +private: + [[maybe_unused]] uint8_t __pad0938[0x18]; // 0x938 +public: + GameTime_t m_flNextAttack; // 0x950 + CHandle< CBaseEntity > m_hOriginalThrower; // 0x954 }; // Alignment: 0 // Size: 0xa98 -class CCoopBonusCoin : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCoopBonusCoin : public CDynamicProp +{ public: // no members available }; // Alignment: 3 // Size: 0x858 -class CBRC4Target : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBRC4Target : public CBaseAnimGraph +{ public: - CHandle< CBaseEntity > m_hPlayerThatActivatedMe; // 0x848 + CHandle< CBaseEntity > m_hPlayerThatActivatedMe; // 0x848 // MNetworkEnable - bool m_bBrokenOpen; // 0x84c + bool m_bBrokenOpen; // 0x84c +private: + [[maybe_unused]] uint8_t __pad084d[0x3]; // 0x84d +public: // MNetworkEnable - float m_flRadius; // 0x850 + float m_flRadius; // 0x850 }; // Alignment: 11 // Size: 0x860 -class CParadropChopper : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CParadropChopper : public CBaseAnimGraph +{ public: - Vector m_vecDropPos; // 0x824 - float m_flLastDistFromDrop; // 0x830 - bool m_bDroppedParadrop; // 0x834 - CSoundPatch* m_pSoundLoop; // 0x838 - float m_flSpawnTime; // 0x840 - float m_flFlightTime; // 0x844 - bool m_bPlayerIsFinishedRappelling; // 0x848 - GameTime_t m_flPlayerFinishedRappellingTime; // 0x84c - CUtlString m_strFlyoverDropEvent; // 0x850 + Vector m_vecDropPos; // 0x824 + float m_flLastDistFromDrop; // 0x830 + bool m_bDroppedParadrop; // 0x834 +private: + [[maybe_unused]] uint8_t __pad0835[0x3]; // 0x835 +public: + CSoundPatch* m_pSoundLoop; // 0x838 + float m_flSpawnTime; // 0x840 + float m_flFlightTime; // 0x844 + bool m_bPlayerIsFinishedRappelling; // 0x848 +private: + [[maybe_unused]] uint8_t __pad0849[0x3]; // 0x849 +public: + GameTime_t m_flPlayerFinishedRappellingTime; // 0x84c + CUtlString m_strFlyoverDropEvent; // 0x850 // MNetworkEnable - CHandle< CBaseEntity > m_hCallingPlayer; // 0x858 - bool m_bCalledByPlayer; // 0x85c + CHandle< CBaseEntity > m_hCallingPlayer; // 0x858 + bool m_bCalledByPlayer; // 0x85c }; // Alignment: 7 // Size: 0x838 -class CSurvivalSpawnChopper : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSurvivalSpawnChopper : public CBaseAnimGraph +{ public: - CSoundPatch* m_pSoundLoop; // 0x820 - GameTime_t m_flSpawnTimeStamp; // 0x828 - float m_flFlightPathRotationOffset; // 0x82c - bool m_bFlipX; // 0x830 - bool m_bFlipY; // 0x831 - bool m_bCircling; // 0x832 - GameTime_t m_flLastPassengerCheckTime; // 0x834 + CSoundPatch* m_pSoundLoop; // 0x820 + GameTime_t m_flSpawnTimeStamp; // 0x828 + float m_flFlightPathRotationOffset; // 0x82c + bool m_bFlipX; // 0x830 + bool m_bFlipY; // 0x831 + bool m_bCircling; // 0x832 +private: + [[maybe_unused]] uint8_t __pad0833[0x1]; // 0x833 +public: + GameTime_t m_flLastPassengerCheckTime; // 0x834 }; // Alignment: 3 // Size: 0x948 -class CItemCash : public CItem, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CItemCash : public CItem +{ public: - char[64] m_bufCashOriginalSource; // 0x8f8 - int32_t m_nBundleSize; // 0x938 - float m_flAllowPickupTime; // 0x940 + char m_bufCashOriginalSource[64]; // 0x8f8 + int32_t m_nBundleSize; // 0x938 +private: + [[maybe_unused]] uint8_t __pad093c[0x4]; // 0x93c +public: + float m_flAllowPickupTime; // 0x940 }; // Alignment: 14 // Size: 0x898 -class CDronegun : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDronegun : public CBaseAnimGraph +{ public: // MNetworkEnable - Vector m_vecAttentionTarget; // 0x830 + Vector m_vecAttentionTarget; // 0x830 // MNetworkEnable - Vector m_vecTargetOffset; // 0x83c + Vector m_vecTargetOffset; // 0x83c // MNetworkEnable - bool m_bHasTarget; // 0x848 - Vector m_vecAttentionCurrent; // 0x84c - int32_t m_nPoseParamPitch; // 0x858 - int32_t m_nPoseParamYaw; // 0x85c - bool m_bVarInit; // 0x860 - GameTime_t m_flDisorientEndTime; // 0x864 - CHandle< CBaseEntity > m_hEnvGunfire; // 0x880 - GameTime_t m_flLastShootTime; // 0x884 - GameTime_t m_flLastSound1; // 0x888 - GameTime_t m_flLastSound2; // 0x88c - GameTime_t m_flLastSound3; // 0x890 - AttachmentHandle_t m_nAttachMuzzle; // 0x894 + bool m_bHasTarget; // 0x848 +private: + [[maybe_unused]] uint8_t __pad0849[0x3]; // 0x849 +public: + Vector m_vecAttentionCurrent; // 0x84c + int32_t m_nPoseParamPitch; // 0x858 + int32_t m_nPoseParamYaw; // 0x85c + bool m_bVarInit; // 0x860 +private: + [[maybe_unused]] uint8_t __pad0861[0x3]; // 0x861 +public: + GameTime_t m_flDisorientEndTime; // 0x864 +private: + [[maybe_unused]] uint8_t __pad0868[0x18]; // 0x868 +public: + CHandle< CBaseEntity > m_hEnvGunfire; // 0x880 + GameTime_t m_flLastShootTime; // 0x884 + GameTime_t m_flLastSound1; // 0x888 + GameTime_t m_flLastSound2; // 0x88c + GameTime_t m_flLastSound3; // 0x890 + AttachmentHandle_t m_nAttachMuzzle; // 0x894 }; // Alignment: 58 // Size: 0xe98 -class CDrone : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDrone : public CPhysicsProp +{ public: // MNetworkEnable - CEntityHandle m_hMoveToThisEntity; // 0xb18 + CEntityHandle m_hMoveToThisEntity; // 0xb18 // MNetworkEnable - CEntityHandle m_hDeliveryCargo; // 0xb1c + CEntityHandle m_hDeliveryCargo; // 0xb1c // MNetworkEnable - CEntityHandle m_hRecentCargo; // 0xb20 + CEntityHandle m_hRecentCargo; // 0xb20 // MNetworkEnable - bool m_bPilotTakeoverAllowed; // 0xb24 + bool m_bPilotTakeoverAllowed; // 0xb24 +private: + [[maybe_unused]] uint8_t __pad0b25[0x3]; // 0xb25 +public: // MNetworkEnable - CEntityHandle m_hPotentialCargo; // 0xb28 + CEntityHandle m_hPotentialCargo; // 0xb28 // MNetworkEnable - CEntityHandle m_hCurrentPilot; // 0xb2c + CEntityHandle m_hCurrentPilot; // 0xb2c // MNetworkEnable - Vector[24] m_vecTagPositions; // 0xb30 + Vector m_vecTagPositions[24]; // 0xb30 // MNetworkEnable - int32[24] m_vecTagIncrements; // 0xc50 - GameTime_t m_flLastUpdateTargetScanTime; // 0xcb0 - bool m_bWasControlledByPlayer; // 0xcb4 - bool m_bHovering; // 0xcb5 - CSoundPatch* m_pStateSound; // 0xcb8 - Vector m_vecGroundOffset; // 0xcc0 - bool m_bQueuingOrders; // 0xce8 - GameTime_t m_flLastOrdersChangeTimestamp; // 0xcec - Vector m_vecLastKnownAcceleration; // 0xcf0 - Vector m_vecLastKnownVelocity; // 0xcfc - RotationVector m_vecLastKnownAngImpulse; // 0xd08 - float m_flLastKnownSpeed; // 0xd14 - float m_flMaxSpeed; // 0xd18 - Vector m_vecCurrentDestination; // 0xd1c - float m_flLastKnownDistanceToDestination; // 0xd28 - float m_flLastKnownWaypointAccuracy; // 0xd2c - CUtlVector< Vector > m_vecWaypointQueue; // 0xd30 - CUtlVector< Vector > m_vecSparsePositionHistory; // 0xd48 - CUtlVector< Vector > m_vecPositionHistory; // 0xd60 - CUtlVector< Vector > m_vecUnstuckQueue; // 0xd78 - float m_flLastKnownGroundHeight; // 0xd90 - CountdownTimer m_GroundCheckTimer; // 0xd98 - CountdownTimer m_ActInjuredTimer; // 0xdb0 - GameTime_t m_flPowerCutUntil; // 0xdc8 - CountdownTimer m_WanderTimer; // 0xdd0 - GameTime_t m_flLastTimeSawAttackTarget; // 0xde8 - Vector m_vecLastKnownAttackTargetPosition; // 0xdec - CHandle< CBaseEntity > m_hAttackTarget; // 0xdf8 - CountdownTimer m_IntervalThinkTimer; // 0xe00 - bool m_bDoIntervalThink; // 0xe18 - GameTime_t m_flLastDroppedGrenadeAt; // 0xe1c - GameTime_t m_flSpawnTimeStamp; // 0xe20 - bool m_bInPlayArea; // 0xe24 - Vector m_vecSpawnPosition; // 0xe28 - Vector m_vecLastKnownMoveToEntityPosition; // 0xe34 - int32_t m_tCargoCollisionGroup; // 0xe40 - GameTime_t m_flTimeArrivedAtMoveToEntity; // 0xe44 - Vector m_vecAvoidanceDir; // 0xe48 - GameTime_t m_flAvoidanceTime; // 0xe54 - bool m_bUpgraded; // 0xe58 - CHandle< CBasePlayerPawn > m_hCargoOwner; // 0xe5c - Vector m_vecPlayerControlThrust; // 0xe68 - float m_flRopeLength; // 0xe74 - bool m_bDidDropOnRoofWarning; // 0xe78 - GameTime_t m_flSelfDestructTime; // 0xe7c - bool m_bSelfDestructFire; // 0xe80 - bool m_bSelfDestructSpark; // 0xe81 - CEntityHandle m_hLastKnownPilot; // 0xe84 - bool m_bHasAlwaysBeenInZone; // 0xe88 - int32_t m_nJammedAmount; // 0xe8c - CHandle< CBaseEntity > m_hPlayerThatOrderedMe; // 0xe90 + int32_t m_vecTagIncrements[24]; // 0xc50 + GameTime_t m_flLastUpdateTargetScanTime; // 0xcb0 + bool m_bWasControlledByPlayer; // 0xcb4 + bool m_bHovering; // 0xcb5 +private: + [[maybe_unused]] uint8_t __pad0cb6[0x2]; // 0xcb6 +public: + CSoundPatch* m_pStateSound; // 0xcb8 + Vector m_vecGroundOffset; // 0xcc0 +private: + [[maybe_unused]] uint8_t __pad0ccc[0x1c]; // 0xccc +public: + bool m_bQueuingOrders; // 0xce8 +private: + [[maybe_unused]] uint8_t __pad0ce9[0x3]; // 0xce9 +public: + GameTime_t m_flLastOrdersChangeTimestamp; // 0xcec + Vector m_vecLastKnownAcceleration; // 0xcf0 + Vector m_vecLastKnownVelocity; // 0xcfc + RotationVector m_vecLastKnownAngImpulse; // 0xd08 + float m_flLastKnownSpeed; // 0xd14 + float m_flMaxSpeed; // 0xd18 + Vector m_vecCurrentDestination; // 0xd1c + float m_flLastKnownDistanceToDestination; // 0xd28 + float m_flLastKnownWaypointAccuracy; // 0xd2c + CUtlVector< Vector > m_vecWaypointQueue; // 0xd30 + CUtlVector< Vector > m_vecSparsePositionHistory; // 0xd48 + CUtlVector< Vector > m_vecPositionHistory; // 0xd60 + CUtlVector< Vector > m_vecUnstuckQueue; // 0xd78 + float m_flLastKnownGroundHeight; // 0xd90 +private: + [[maybe_unused]] uint8_t __pad0d94[0x4]; // 0xd94 +public: + CountdownTimer m_GroundCheckTimer; // 0xd98 + CountdownTimer m_ActInjuredTimer; // 0xdb0 + GameTime_t m_flPowerCutUntil; // 0xdc8 +private: + [[maybe_unused]] uint8_t __pad0dcc[0x4]; // 0xdcc +public: + CountdownTimer m_WanderTimer; // 0xdd0 + GameTime_t m_flLastTimeSawAttackTarget; // 0xde8 + Vector m_vecLastKnownAttackTargetPosition; // 0xdec + CHandle< CBaseEntity > m_hAttackTarget; // 0xdf8 +private: + [[maybe_unused]] uint8_t __pad0dfc[0x4]; // 0xdfc +public: + CountdownTimer m_IntervalThinkTimer; // 0xe00 + bool m_bDoIntervalThink; // 0xe18 +private: + [[maybe_unused]] uint8_t __pad0e19[0x3]; // 0xe19 +public: + GameTime_t m_flLastDroppedGrenadeAt; // 0xe1c + GameTime_t m_flSpawnTimeStamp; // 0xe20 + bool m_bInPlayArea; // 0xe24 +private: + [[maybe_unused]] uint8_t __pad0e25[0x3]; // 0xe25 +public: + Vector m_vecSpawnPosition; // 0xe28 + Vector m_vecLastKnownMoveToEntityPosition; // 0xe34 + int32_t m_tCargoCollisionGroup; // 0xe40 + GameTime_t m_flTimeArrivedAtMoveToEntity; // 0xe44 + Vector m_vecAvoidanceDir; // 0xe48 + GameTime_t m_flAvoidanceTime; // 0xe54 + bool m_bUpgraded; // 0xe58 +private: + [[maybe_unused]] uint8_t __pad0e59[0x3]; // 0xe59 +public: + CHandle< CBasePlayerPawn > m_hCargoOwner; // 0xe5c +private: + [[maybe_unused]] uint8_t __pad0e60[0x8]; // 0xe60 +public: + Vector m_vecPlayerControlThrust; // 0xe68 + float m_flRopeLength; // 0xe74 + bool m_bDidDropOnRoofWarning; // 0xe78 +private: + [[maybe_unused]] uint8_t __pad0e79[0x3]; // 0xe79 +public: + GameTime_t m_flSelfDestructTime; // 0xe7c + bool m_bSelfDestructFire; // 0xe80 + bool m_bSelfDestructSpark; // 0xe81 +private: + [[maybe_unused]] uint8_t __pad0e82[0x2]; // 0xe82 +public: + CEntityHandle m_hLastKnownPilot; // 0xe84 + bool m_bHasAlwaysBeenInZone; // 0xe88 +private: + [[maybe_unused]] uint8_t __pad0e89[0x3]; // 0xe89 +public: + int32_t m_nJammedAmount; // 0xe8c + CHandle< CBaseEntity > m_hPlayerThatOrderedMe; // 0xe90 }; // Alignment: 3 // Size: 0xb18 -class CCSPropExplodingBarrel : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCSPropExplodingBarrel : public CPhysicsProp +{ public: - CEntityHandle m_hBarrelTop; // 0xb08 - bool m_bExploded; // 0xb0c - int32_t m_nAccumulatedDamage; // 0xb10 + CEntityHandle m_hBarrelTop; // 0xb08 + bool m_bExploded; // 0xb0c +private: + [[maybe_unused]] uint8_t __pad0b0d[0x3]; // 0xb0d +public: + int32_t m_nAccumulatedDamage; // 0xb10 }; // Alignment: 1 // Size: 0xb08 -class CCSPropExplodingBarrelTop : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCSPropExplodingBarrelTop : public CPhysicsProp +{ public: // MNetworkEnable - float m_flOverrideAlpha; // 0xb00 + float m_flOverrideAlpha; // 0xb00 }; // Alignment: 30 // Size: 0x948 -class CEnvGasCanister : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CEnvGasCanister : public CBaseAnimGraph +{ public: // MNetworkEnable - bool m_bLanded; // 0x820 - float m_flDamageRadius; // 0x824 - float m_flDamage; // 0x828 - bool m_bIncomingSoundStarted; // 0x82c - bool m_bHasDetonated; // 0x82d - bool m_bLaunched; // 0x82e - CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnLaunched; // 0x830 - CEntityIOOutput m_OnImpacted; // 0x858 - CEntityIOOutput m_OnOpened; // 0x880 + bool m_bLanded; // 0x820 +private: + [[maybe_unused]] uint8_t __pad0821[0x3]; // 0x821 +public: + float m_flDamageRadius; // 0x824 + float m_flDamage; // 0x828 + bool m_bIncomingSoundStarted; // 0x82c + bool m_bHasDetonated; // 0x82d + bool m_bLaunched; // 0x82e +private: + [[maybe_unused]] uint8_t __pad082f[0x1]; // 0x82f +public: + CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnLaunched; // 0x830 + CEntityIOOutput m_OnImpacted; // 0x858 + CEntityIOOutput m_OnOpened; // 0x880 // MNetworkEnable - Vector m_vecImpactPosition; // 0x8a8 + Vector m_vecImpactPosition; // 0x8a8 // MNetworkEnable - Vector m_vecStartPosition; // 0x8b4 + Vector m_vecStartPosition; // 0x8b4 // MNetworkEnable - Vector m_vecEnterWorldPosition; // 0x8c0 + Vector m_vecEnterWorldPosition; // 0x8c0 // MNetworkEnable - Vector m_vecDirection; // 0x8cc + Vector m_vecDirection; // 0x8cc // MNetworkEnable - QAngle m_vecStartAngles; // 0x8d8 + QAngle m_vecStartAngles; // 0x8d8 // MNetworkEnable - float m_flFlightTime; // 0x8e4 + float m_flFlightTime; // 0x8e4 // MNetworkEnable - float m_flFlightSpeed; // 0x8e8 + float m_flFlightSpeed; // 0x8e8 // MNetworkEnable - GameTime_t m_flLaunchTime; // 0x8ec + GameTime_t m_flLaunchTime; // 0x8ec // MNetworkEnable - float m_flInitialZSpeed; // 0x8f0 + float m_flInitialZSpeed; // 0x8f0 // MNetworkEnable - float m_flZAcceleration; // 0x8f4 + float m_flZAcceleration; // 0x8f4 // MNetworkEnable - float m_flHorizSpeed; // 0x8f8 + float m_flHorizSpeed; // 0x8f8 // MNetworkEnable - bool m_bLaunchedFromWithinWorld; // 0x8fc + bool m_bLaunchedFromWithinWorld; // 0x8fc +private: + [[maybe_unused]] uint8_t __pad08fd[0x3]; // 0x8fd +public: // MNetworkEnable - Vector m_vecParabolaDirection; // 0x900 + Vector m_vecParabolaDirection; // 0x900 // MNetworkEnable - float m_flWorldEnterTime; // 0x90c + float m_flWorldEnterTime; // 0x90c // MNetworkEnable - Vector m_vecSkyboxOrigin; // 0x910 + Vector m_vecSkyboxOrigin; // 0x910 // MNetworkEnable - float m_flSkyboxScale; // 0x91c + float m_flSkyboxScale; // 0x91c // MNetworkEnable - bool m_bInSkybox; // 0x920 + bool m_bInSkybox; // 0x920 // MNetworkEnable - bool m_bDoImpactEffects; // 0x921 + bool m_bDoImpactEffects; // 0x921 +private: + [[maybe_unused]] uint8_t __pad0922[0x2]; // 0x922 +public: // MNetworkEnable - int32_t m_nMyZoneIndex; // 0x924 + int32_t m_nMyZoneIndex; // 0x924 // MNetworkEnable - CHandle< CBaseEntity > m_hSkyboxCopy; // 0x928 - float m_flLaunchHeight; // 0x92c + CHandle< CBaseEntity > m_hSkyboxCopy; // 0x928 + float m_flLaunchHeight; // 0x92c }; // Alignment: 2 // Size: 0x828 -class CPropCounter : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPropCounter : public CBaseAnimGraph +{ public: // MNetworkEnable - float m_flDisplayValue; // 0x820 - int32_t m_nInitialValue; // 0x824 + float m_flDisplayValue; // 0x820 + int32_t m_nInitialValue; // 0x824 }; // Alignment: 11 // Size: 0x868 -class CBaseViewModel : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseViewModel : public CBaseAnimGraph +{ public: - Vector m_vecLastFacing; // 0x828 + Vector m_vecLastFacing; // 0x828 // MNetworkEnable - uint32_t m_nViewModelIndex; // 0x834 + uint32_t m_nViewModelIndex; // 0x834 // MNetworkEnable - uint32_t m_nAnimationParity; // 0x838 + uint32_t m_nAnimationParity; // 0x838 // MNetworkEnable - float m_flAnimationStartTime; // 0x83c + float m_flAnimationStartTime; // 0x83c // MNetworkEnable - CHandle< CBasePlayerWeapon > m_hWeapon; // 0x840 - CUtlSymbolLarge m_sVMName; // 0x848 - CUtlSymbolLarge m_sAnimationPrefix; // 0x850 - HSequence m_hOldLayerSequence; // 0x858 - int32_t m_oldLayer; // 0x85c - float m_oldLayerStartTime; // 0x860 + CHandle< CBasePlayerWeapon > m_hWeapon; // 0x840 +private: + [[maybe_unused]] uint8_t __pad0844[0x4]; // 0x844 +public: + CUtlSymbolLarge m_sVMName; // 0x848 + CUtlSymbolLarge m_sAnimationPrefix; // 0x850 + HSequence m_hOldLayerSequence; // 0x858 + int32_t m_oldLayer; // 0x85c + float m_oldLayerStartTime; // 0x860 // MNetworkEnable - CEntityHandle m_hControlPanel; // 0x864 + CEntityHandle m_hControlPanel; // 0x864 }; // Alignment: 0 // Size: 0x868 -class CPredictedViewModel : public CBaseViewModel, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPredictedViewModel : public CBaseViewModel +{ public: // no members available }; // Alignment: 28 // Size: 0x920 -class CPlantedC4 : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPlantedC4 : public CBaseAnimGraph +{ public: - bool m_bPlantedAtQuestTarget; // 0x820 + bool m_bPlantedAtQuestTarget; // 0x820 // MNetworkEnable - bool m_bBombTicking; // 0x821 + bool m_bBombTicking; // 0x821 +private: + [[maybe_unused]] uint8_t __pad0822[0x2]; // 0x822 +public: // MNetworkEnable - GameTime_t m_flC4Blow; // 0x824 + GameTime_t m_flC4Blow; // 0x824 // MNetworkEnable - int32_t m_nBombSite; // 0x828 + int32_t m_nBombSite; // 0x828 // MNetworkEnable - int32_t m_nSourceSoundscapeHash; // 0x82c - CEntityIOOutput m_OnBombDefused; // 0x830 - CEntityIOOutput m_OnBombBeginDefuse; // 0x858 - CEntityIOOutput m_OnBombDefuseAborted; // 0x880 - bool m_bCannotBeDefused; // 0x8a8 + int32_t m_nSourceSoundscapeHash; // 0x82c + CEntityIOOutput m_OnBombDefused; // 0x830 + CEntityIOOutput m_OnBombBeginDefuse; // 0x858 + CEntityIOOutput m_OnBombDefuseAborted; // 0x880 + bool m_bCannotBeDefused; // 0x8a8 +private: + [[maybe_unused]] uint8_t __pad08a9[0x7]; // 0x8a9 +public: // MNetworkEnable - EntitySpottedState_t m_entitySpottedState; // 0x8b0 - int32_t m_nSpotRules; // 0x8c8 - bool m_bTrainingPlacedByPlayer; // 0x8cc - bool m_bHasExploded; // 0x8cd + EntitySpottedState_t m_entitySpottedState; // 0x8b0 + int32_t m_nSpotRules; // 0x8c8 + bool m_bTrainingPlacedByPlayer; // 0x8cc + bool m_bHasExploded; // 0x8cd +private: + [[maybe_unused]] uint8_t __pad08ce[0x2]; // 0x8ce +public: // MNetworkEnable - float m_flTimerLength; // 0x8d0 - bool m_bBeingDefused; // 0x8d4 - GameTime_t m_fLastDefuseTime; // 0x8dc + float m_flTimerLength; // 0x8d0 + bool m_bBeingDefused; // 0x8d4 +private: + [[maybe_unused]] uint8_t __pad08d5[0x7]; // 0x8d5 +public: + GameTime_t m_fLastDefuseTime; // 0x8dc +private: + [[maybe_unused]] uint8_t __pad08e0[0x4]; // 0x8e0 +public: // MNetworkEnable - float m_flDefuseLength; // 0x8e4 + float m_flDefuseLength; // 0x8e4 // MNetworkEnable - GameTime_t m_flDefuseCountDown; // 0x8e8 + GameTime_t m_flDefuseCountDown; // 0x8e8 // MNetworkEnable - bool m_bBombDefused; // 0x8ec + bool m_bBombDefused; // 0x8ec +private: + [[maybe_unused]] uint8_t __pad08ed[0x3]; // 0x8ed +public: // MNetworkEnable - CHandle< CCSPlayerPawnBase > m_hBombDefuser; // 0x8f0 + CHandle< CCSPlayerPawnBase > m_hBombDefuser; // 0x8f0 // MNetworkEnable - CEntityHandle m_hControlPanel; // 0x8f4 - int32_t m_iProgressBarTime; // 0x8f8 - bool m_bVoiceAlertFired; // 0x8fc - bool[4] m_bVoiceAlertPlayed; // 0x8fd - GameTime_t m_flNextBotBeepTime; // 0x904 - bool m_bPlantedAfterPickup; // 0x90c - QAngle m_angCatchUpToPlayerEye; // 0x910 - GameTime_t m_flLastSpinDetectionTime; // 0x91c + CEntityHandle m_hControlPanel; // 0x8f4 + int32_t m_iProgressBarTime; // 0x8f8 + bool m_bVoiceAlertFired; // 0x8fc + bool m_bVoiceAlertPlayed[4]; // 0x8fd +private: + [[maybe_unused]] uint8_t __pad0901[0x3]; // 0x901 +public: + GameTime_t m_flNextBotBeepTime; // 0x904 +private: + [[maybe_unused]] uint8_t __pad0908[0x4]; // 0x908 +public: + bool m_bPlantedAfterPickup; // 0x90c +private: + [[maybe_unused]] uint8_t __pad090d[0x3]; // 0x90d +public: + QAngle m_angCatchUpToPlayerEye; // 0x910 + GameTime_t m_flLastSpinDetectionTime; // 0x91c }; // Alignment: 11 // Size: 0x9a0 -class CBaseCSGrenadeProjectile : public CBaseGrenade, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseCSGrenadeProjectile : public CBaseGrenade +{ public: // MNetworkEnable - Vector m_vInitialVelocity; // 0x958 + Vector m_vInitialVelocity; // 0x958 // MNetworkEnable - int32_t m_nBounces; // 0x964 + int32_t m_nBounces; // 0x964 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nExplodeEffectIndex; // 0x968 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nExplodeEffectIndex; // 0x968 // MNetworkEnable - int32_t m_nExplodeEffectTickBegin; // 0x970 + int32_t m_nExplodeEffectTickBegin; // 0x970 // MNetworkEnable - Vector m_vecExplodeEffectOrigin; // 0x974 - uint8_t m_unOGSExtraFlags; // 0x980 - bool m_bDetonationRecorded; // 0x981 - GameTime_t m_flDetonateTime; // 0x984 - uint16_t m_nItemIndex; // 0x988 - Vector m_vecOriginalSpawnLocation; // 0x98c - GameTime_t m_flLastBounceSoundTime; // 0x998 - static float &Get_s_flThinkInterval(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseCSGrenadeProjectile")->m_static_fields[0]->m_instance);}; + Vector m_vecExplodeEffectOrigin; // 0x974 + uint8_t m_unOGSExtraFlags; // 0x980 + bool m_bDetonationRecorded; // 0x981 +private: + [[maybe_unused]] uint8_t __pad0982[0x2]; // 0x982 +public: + GameTime_t m_flDetonateTime; // 0x984 + uint16_t m_nItemIndex; // 0x988 +private: + [[maybe_unused]] uint8_t __pad098a[0x2]; // 0x98a +public: + Vector m_vecOriginalSpawnLocation; // 0x98c + GameTime_t m_flLastBounceSoundTime; // 0x998 + static float &Get_s_flThinkInterval(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseCSGrenadeProjectile")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 // Size: 0x900 -class CItemDogtags : public CItem, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CItemDogtags : public CItem +{ public: // MNetworkEnable - CHandle< CCSPlayerPawnBase > m_OwningPlayer; // 0x8f8 + CHandle< CCSPlayerPawnBase > m_OwningPlayer; // 0x8f8 // MNetworkEnable - CHandle< CCSPlayerPawnBase > m_KillingPlayer; // 0x8fc + CHandle< CCSPlayerPawnBase > m_KillingPlayer; // 0x8fc }; // Alignment: 9 // Size: 0x988 -class CBreachChargeProjectile : public CBaseGrenade, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBreachChargeProjectile : public CBaseGrenade +{ public: // MNetworkEnable - bool m_bShouldExplode; // 0x958 + bool m_bShouldExplode; // 0x958 +private: + [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 +public: // MNetworkEnable - CHandle< CBaseEntity > m_weaponThatThrewMe; // 0x95c + CHandle< CBaseEntity > m_weaponThatThrewMe; // 0x95c // MNetworkEnable - int32_t m_nParentBoneIndex; // 0x960 + int32_t m_nParentBoneIndex; // 0x960 // MNetworkEnable - Vector m_vecParentBonePos; // 0x964 - bool m_bDefused; // 0x970 - bool m_bUnstuckFromPlayer; // 0x971 - bool m_bResolvedParent; // 0x972 - Vector m_vecLastKnownValidPos; // 0x974 - CEntityHandle m_hDesiredParent; // 0x980 + Vector m_vecParentBonePos; // 0x964 + bool m_bDefused; // 0x970 + bool m_bUnstuckFromPlayer; // 0x971 + bool m_bResolvedParent; // 0x972 +private: + [[maybe_unused]] uint8_t __pad0973[0x1]; // 0x973 +public: + Vector m_vecLastKnownValidPos; // 0x974 + CEntityHandle m_hDesiredParent; // 0x980 }; // Alignment: 11 // Size: 0x9c8 -class CBumpMineProjectile : public CBaseGrenade, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBumpMineProjectile : public CBaseGrenade +{ +public: + bool m_bShouldExplode; // 0x958 +private: + [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 public: - bool m_bShouldExplode; // 0x958 // MNetworkEnable - int32_t m_nParentBoneIndex; // 0x95c + int32_t m_nParentBoneIndex; // 0x95c // MNetworkEnable - Vector m_vecParentBonePos; // 0x960 + Vector m_vecParentBonePos; // 0x960 // MNetworkEnable - bool m_bArmed; // 0x96c - bool m_bDefused; // 0x96d - bool m_bUnstuckFromPlayer; // 0x96e - CUtlVector< CHandle< CBaseEntity > > m_vecTargetedObjects; // 0x970 - bool m_bResolvedParent; // 0x9b0 - Vector m_vecLastKnownValidPos; // 0x9b4 - CEntityHandle m_hDesiredParent; // 0x9c0 - bool m_bBeingUsed; // 0x9c4 + bool m_bArmed; // 0x96c + bool m_bDefused; // 0x96d + bool m_bUnstuckFromPlayer; // 0x96e +private: + [[maybe_unused]] uint8_t __pad096f[0x1]; // 0x96f +public: + CUtlVector< CHandle< CBaseEntity > > m_vecTargetedObjects; // 0x970 +private: + [[maybe_unused]] uint8_t __pad0988[0x28]; // 0x988 +public: + bool m_bResolvedParent; // 0x9b0 +private: + [[maybe_unused]] uint8_t __pad09b1[0x3]; // 0x9b1 +public: + Vector m_vecLastKnownValidPos; // 0x9b4 + CEntityHandle m_hDesiredParent; // 0x9c0 + bool m_bBeingUsed; // 0x9c4 }; // Alignment: 8 // Size: 0xa20 -class CTripWireFireProjectile : public CBaseGrenade, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTripWireFireProjectile : public CBaseGrenade +{ public: // MNetworkEnable - GameTime_t m_flAttachTime; // 0x958 + GameTime_t m_flAttachTime; // 0x958 // MNetworkEnable - Vector[10] m_vecTripWireEndPositions; // 0x95c + Vector m_vecTripWireEndPositions[10]; // 0x95c // MNetworkEnable - bool[10] m_bTripWireEndPositionsUsed; // 0x9d4 - CHandle< CBaseEntity > m_hStuckToEnt; // 0x9e0 - int32_t m_nLastStuckToEntModelIndex; // 0x9e4 - CTransform m_xformStuckToEnt; // 0x9f0 - Vector m_vecTrapSetPosition; // 0xa10 - int32_t m_nWireSoundsPlayed; // 0xa1c + bool m_bTripWireEndPositionsUsed[10]; // 0x9d4 +private: + [[maybe_unused]] uint8_t __pad09de[0x2]; // 0x9de +public: + CHandle< CBaseEntity > m_hStuckToEnt; // 0x9e0 + int32_t m_nLastStuckToEntModelIndex; // 0x9e4 +private: + [[maybe_unused]] uint8_t __pad09e8[0x8]; // 0x9e8 +public: + CTransform m_xformStuckToEnt; // 0x9f0 + Vector m_vecTrapSetPosition; // 0xa10 + int32_t m_nWireSoundsPlayed; // 0xa1c }; // Alignment: 0 // Size: 0xb00 -class CPhysicsPropMultiplayer : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysicsPropMultiplayer : public CPhysicsProp +{ public: // no members available }; // Alignment: 0 // Size: 0xb28 -class CBrBaseItem : public CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBrBaseItem : public CPhysicsPropMultiplayer +{ public: // no members available }; // Alignment: 9 // Size: 0xb50 -class CPhysPropLootCrate : public CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropLootCrate : public CBrBaseItem +{ public: // MNetworkEnable - bool m_bRenderInPSPM; // 0xb28 + bool m_bRenderInPSPM; // 0xb28 // MNetworkEnable - bool m_bRenderInTablet; // 0xb29 - GameTime_t m_flSpawnTime; // 0xb2c - bool m_bTakeDamageFromDangerZone; // 0xb30 - char* m_pszCrateName; // 0xb38 - CHandle< CBasePlayerPawn > m_hCrateOwner; // 0xb40 - bool m_bOwnedByPlayer; // 0xb44 - float m_flDampingOriginalSpeed; // 0xb48 - float m_flDampingOriginalRot; // 0xb4c + bool m_bRenderInTablet; // 0xb29 +private: + [[maybe_unused]] uint8_t __pad0b2a[0x2]; // 0xb2a +public: + GameTime_t m_flSpawnTime; // 0xb2c + bool m_bTakeDamageFromDangerZone; // 0xb30 +private: + [[maybe_unused]] uint8_t __pad0b31[0x7]; // 0xb31 +public: + char* m_pszCrateName; // 0xb38 + CHandle< CBasePlayerPawn > m_hCrateOwner; // 0xb40 + bool m_bOwnedByPlayer; // 0xb44 +private: + [[maybe_unused]] uint8_t __pad0b45[0x3]; // 0xb45 +public: + float m_flDampingOriginalSpeed; // 0xb48 + float m_flDampingOriginalRot; // 0xb4c }; // Alignment: 0 // Size: 0xb50 -class CPhysPropMetalCrate : public CPhysPropLootCrate, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropMetalCrate : public CPhysPropLootCrate +{ public: // no members available }; // Alignment: 3 // Size: 0xb60 -class CPhysPropMoneyCrate : public CPhysPropLootCrate, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropMoneyCrate : public CPhysPropLootCrate +{ public: - int32_t m_nCurrentCashCount; // 0xb50 - int32_t m_nCashCount; // 0xb54 - GameTime_t m_flTimeLastUsed; // 0xb58 + int32_t m_nCurrentCashCount; // 0xb50 + int32_t m_nCashCount; // 0xb54 + GameTime_t m_flTimeLastUsed; // 0xb58 }; // Alignment: 2 // Size: 0xb58 -class CPhysPropParadropCrate : public CPhysPropLootCrate, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropParadropCrate : public CPhysPropLootCrate +{ public: - bool m_bFalling; // 0xb50 - int32_t m_nNumThinksAtZeroVerticalVelocity; // 0xb54 + bool m_bFalling; // 0xb50 +private: + [[maybe_unused]] uint8_t __pad0b51[0x3]; // 0xb51 +public: + int32_t m_nNumThinksAtZeroVerticalVelocity; // 0xb54 }; // Alignment: 2 // Size: 0xb38 -class CPhysPropAmmoBox : public CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropAmmoBox : public CBrBaseItem +{ public: - int32_t m_nUsesRemaining; // 0xb28 - GameTime_t m_flTimeLastUsed; // 0xb2c + int32_t m_nUsesRemaining; // 0xb28 + GameTime_t m_flTimeLastUsed; // 0xb2c }; // Alignment: 2 // Size: 0xb30 -class CPhysPropWeaponUpgrade : public CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropWeaponUpgrade : public CBrBaseItem +{ public: - int32_t m_nEventPriority; // 0xb28 - GameTime_t m_flTimeLastUsed; // 0xb2c + int32_t m_nEventPriority; // 0xb28 + GameTime_t m_flTimeLastUsed; // 0xb2c }; // Alignment: 4 // Size: 0xb60 -class CPhysPropRadarJammer : public CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropRadarJammer : public CBrBaseItem +{ public: - GameTime_t m_flSpawnTime; // 0xb30 - GameTime_t m_flLastSoundTime; // 0xb34 - CUtlVector< int32 > m_vecJammedHexCenters; // 0xb38 - Vector m_vecLastJammedOrigin; // 0xb50 + GameTime_t m_flSpawnTime; // 0xb30 + GameTime_t m_flLastSoundTime; // 0xb34 + CUtlVector< int32 > m_vecJammedHexCenters; // 0xb38 + Vector m_vecLastJammedOrigin; // 0xb50 }; // Alignment: 3 // Size: 0x9b0 -class CSensorGrenadeProjectile : public CBaseCSGrenadeProjectile, CBaseGrenade, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSensorGrenadeProjectile : public CBaseCSGrenadeProjectile +{ public: - GameTime_t m_fExpireTime; // 0x9a0 - GameTime_t m_fNextDetectPlayerSound; // 0x9a4 - CHandle< CBaseEntity > m_hDisplayGrenade; // 0x9a8 + GameTime_t m_fExpireTime; // 0x9a0 + GameTime_t m_fNextDetectPlayerSound; // 0x9a4 + CHandle< CBaseEntity > m_hDisplayGrenade; // 0x9a8 }; // Alignment: 3 // Size: 0x9a8 -class CFlashbangProjectile : public CBaseCSGrenadeProjectile, CBaseGrenade, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFlashbangProjectile : public CBaseCSGrenadeProjectile +{ public: - float m_flTimeToDetonate; // 0x9a0 - uint8_t m_numOpponentsHit; // 0x9a4 - uint8_t m_numTeammatesHit; // 0x9a5 + float m_flTimeToDetonate; // 0x9a0 + uint8_t m_numOpponentsHit; // 0x9a4 + uint8_t m_numTeammatesHit; // 0x9a5 }; // Alignment: 0 // Size: 0x9a0 -class CHEGrenadeProjectile : public CBaseCSGrenadeProjectile, CBaseGrenade, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CHEGrenadeProjectile : public CBaseCSGrenadeProjectile +{ public: // no members available }; // Alignment: 0 // Size: 0x920 -class CPlantedC4Survival : public CPlantedC4, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPlantedC4Survival : public CPlantedC4 +{ public: // no members available }; // Alignment: 33 // Size: 0x2fe0 -class CChicken : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CChicken : public CDynamicProp +{ public: // MNetworkEnable - CAttributeContainer m_AttributeManager; // 0xab8 + CAttributeContainer m_AttributeManager; // 0xab8 // MNetworkEnable - uint32_t m_OriginalOwnerXuidLow; // 0xd80 + uint32_t m_OriginalOwnerXuidLow; // 0xd80 // MNetworkEnable - uint32_t m_OriginalOwnerXuidHigh; // 0xd84 - CountdownTimer m_updateTimer; // 0xd88 - Vector m_stuckAnchor; // 0xda0 - CountdownTimer m_stuckTimer; // 0xdb0 - CountdownTimer m_collisionStuckTimer; // 0xdc8 - bool m_isOnGround; // 0xde0 - ChickenActivity m_activity; // 0xde4 - CountdownTimer m_activityTimer; // 0xde8 - float m_turnRate; // 0xe00 - CHandle< CBaseEntity > m_fleeFrom; // 0xe04 - CountdownTimer m_moveRateThrottleTimer; // 0xe08 - CountdownTimer m_startleTimer; // 0xe20 - CountdownTimer m_vocalizeTimer; // 0xe38 - GameTime_t m_flWhenZombified; // 0xe50 + uint32_t m_OriginalOwnerXuidHigh; // 0xd84 + CountdownTimer m_updateTimer; // 0xd88 + Vector m_stuckAnchor; // 0xda0 +private: + [[maybe_unused]] uint8_t __pad0dac[0x4]; // 0xdac +public: + CountdownTimer m_stuckTimer; // 0xdb0 + CountdownTimer m_collisionStuckTimer; // 0xdc8 + bool m_isOnGround; // 0xde0 +private: + [[maybe_unused]] uint8_t __pad0de1[0x3]; // 0xde1 +public: + ChickenActivity m_activity; // 0xde4 + CountdownTimer m_activityTimer; // 0xde8 + float m_turnRate; // 0xe00 + CHandle< CBaseEntity > m_fleeFrom; // 0xe04 + CountdownTimer m_moveRateThrottleTimer; // 0xe08 + CountdownTimer m_startleTimer; // 0xe20 + CountdownTimer m_vocalizeTimer; // 0xe38 + GameTime_t m_flWhenZombified; // 0xe50 // MNetworkEnable - bool m_jumpedThisFrame; // 0xe54 + bool m_jumpedThisFrame; // 0xe54 +private: + [[maybe_unused]] uint8_t __pad0e55[0x3]; // 0xe55 +public: // MNetworkEnable - CHandle< CCSPlayerPawnBase > m_leader; // 0xe58 - CountdownTimer m_reuseTimer; // 0xe60 - bool m_hasBeenUsed; // 0xe78 - CountdownTimer m_jumpTimer; // 0xe80 - float m_flLastJumpTime; // 0xe98 - bool m_bInJump; // 0xe9c - bool m_isWaitingForLeader; // 0xe9d - CountdownTimer m_repathTimer; // 0x2ea8 - CountdownTimer m_inhibitDoorTimer; // 0x2ec0 - CountdownTimer m_inhibitObstacleAvoidanceTimer; // 0x2f50 - Vector m_vecPathGoal; // 0x2f70 - float m_flActiveFollowStartTime; // 0x2f7c - CountdownTimer m_followMinuteTimer; // 0x2f80 - Vector m_vecLastEggPoopPosition; // 0x2f98 - CUtlVector< CHandle< CBaseEntity > > m_vecEggsPooped; // 0x2fa8 - CountdownTimer m_BlockDirectionTimer; // 0x2fc8 + CHandle< CCSPlayerPawnBase > m_leader; // 0xe58 +private: + [[maybe_unused]] uint8_t __pad0e5c[0x4]; // 0xe5c +public: + CountdownTimer m_reuseTimer; // 0xe60 + bool m_hasBeenUsed; // 0xe78 +private: + [[maybe_unused]] uint8_t __pad0e79[0x7]; // 0xe79 +public: + CountdownTimer m_jumpTimer; // 0xe80 + float m_flLastJumpTime; // 0xe98 + bool m_bInJump; // 0xe9c + bool m_isWaitingForLeader; // 0xe9d +private: + [[maybe_unused]] uint8_t __pad0e9e[0x200a]; // 0xe9e +public: + CountdownTimer m_repathTimer; // 0x2ea8 + CountdownTimer m_inhibitDoorTimer; // 0x2ec0 +private: + [[maybe_unused]] uint8_t __pad2ed8[0x78]; // 0x2ed8 +public: + CountdownTimer m_inhibitObstacleAvoidanceTimer; // 0x2f50 +private: + [[maybe_unused]] uint8_t __pad2f68[0x8]; // 0x2f68 +public: + Vector m_vecPathGoal; // 0x2f70 + float m_flActiveFollowStartTime; // 0x2f7c + CountdownTimer m_followMinuteTimer; // 0x2f80 + Vector m_vecLastEggPoopPosition; // 0x2f98 +private: + [[maybe_unused]] uint8_t __pad2fa4[0x4]; // 0x2fa4 +public: + CUtlVector< CHandle< CBaseEntity > > m_vecEggsPooped; // 0x2fa8 +private: + [[maybe_unused]] uint8_t __pad2fc0[0x8]; // 0x2fc0 +public: + CountdownTimer m_BlockDirectionTimer; // 0x2fc8 }; // Alignment: 0 // Size: 0x820 -class CHostageCarriableProp : public CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CHostageCarriableProp : public CBaseAnimGraph +{ public: // no members available }; // Alignment: 0 // Size: 0x8f8 -class CItemAssaultSuit : public CItem, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CItemAssaultSuit : public CItem +{ public: // no members available }; // Alignment: 0 // Size: 0x8f8 -class CItemHeavyAssaultSuit : public CItemAssaultSuit, CItem, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CItemHeavyAssaultSuit : public CItemAssaultSuit +{ public: // no members available }; // Alignment: 0 // Size: 0x8f8 -class CItemKevlar : public CItem, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CItemKevlar : public CItem +{ public: // no members available }; // Alignment: 2 // Size: 0x918 -class CItemDefuser : public CItem, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CItemDefuser : public CItem +{ public: - EntitySpottedState_t m_entitySpottedState; // 0x8f8 - int32_t m_nSpotRules; // 0x910 + EntitySpottedState_t m_entitySpottedState; // 0x8f8 + int32_t m_nSpotRules; // 0x910 }; // Alignment: 10 // Size: 0xbf8 -class CBasePlayerWeapon : public CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBasePlayerWeapon : public CEconEntity +{ public: // MNetworkEnable // MNetworkChangeCallback "OnWeaponStateChanged" - WeaponState_t m_iState; // 0xba8 - bool m_bRemoveable; // 0xbac + WeaponState_t m_iState; // 0xba8 + bool m_bRemoveable; // 0xbac +private: + [[maybe_unused]] uint8_t __pad0bad[0x3]; // 0xbad +public: // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - GameTick_t m_nNextPrimaryAttackTick; // 0xbb0 + GameTick_t m_nNextPrimaryAttackTick; // 0xbb0 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextPrimaryAttackTickRatio; // 0xbb4 + float m_flNextPrimaryAttackTickRatio; // 0xbb4 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - GameTick_t m_nNextSecondaryAttackTick; // 0xbb8 + GameTick_t m_nNextSecondaryAttackTick; // 0xbb8 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextSecondaryAttackTickRatio; // 0xbbc + float m_flNextSecondaryAttackTickRatio; // 0xbbc // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkPriority "32" - int32_t m_iClip1; // 0xbc0 + int32_t m_iClip1; // 0xbc0 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkUserGroup "LocalWeaponExclusive" - int32_t m_iClip2; // 0xbc4 + int32_t m_iClip2; // 0xbc4 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - int32[2] m_pReserveAmmo; // 0xbc8 - CEntityIOOutput m_OnPlayerUse; // 0xbd0 + int32_t m_pReserveAmmo[2]; // 0xbc8 + CEntityIOOutput m_OnPlayerUse; // 0xbd0 }; // Alignment: 0 // Size: 0x8b0 -class CBaseFlexAlias_funCBaseFlex : public CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseFlexAlias_funCBaseFlex : public CBaseFlex +{ public: // no members available }; // Alignment: 2 // Size: 0x928 -class CScriptItem : public CItem, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CScriptItem : public CItem +{ public: - CEntityIOOutput m_OnPlayerPickup; // 0x8f8 - MoveType_t m_MoveTypeOverride; // 0x920 + CEntityIOOutput m_OnPlayerPickup; // 0x8f8 + MoveType_t m_MoveTypeOverride; // 0x920 }; // Alignment: 0 // Size: 0x9c8 -class CRagdollPropAlias_physics_prop_ragdoll : public CRagdollProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRagdollPropAlias_physics_prop_ragdoll : public CRagdollProp +{ public: // no members available }; // Alignment: 6 // Size: 0xa08 -class CRagdollPropAttached : public CRagdollProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CRagdollPropAttached : public CRagdollProp +{ public: // MNetworkEnable - uint32_t m_boneIndexAttached; // 0x9c8 + uint32_t m_boneIndexAttached; // 0x9c8 // MNetworkEnable - uint32_t m_ragdollAttachedObjectIndex; // 0x9cc + uint32_t m_ragdollAttachedObjectIndex; // 0x9cc // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointBoneSpace; // 0x9d0 + Vector m_attachmentPointBoneSpace; // 0x9d0 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointRagdollSpace; // 0x9dc - bool m_bShouldDetach; // 0x9e8 - bool m_bShouldDeleteAttachedActivationRecord; // 0x9f8 + Vector m_attachmentPointRagdollSpace; // 0x9dc + bool m_bShouldDetach; // 0x9e8 +private: + [[maybe_unused]] uint8_t __pad09e9[0xf]; // 0x9e9 +public: + bool m_bShouldDeleteAttachedActivationRecord; // 0x9f8 }; // Alignment: 16 // Size: 0xdb8 -class CPropDoorRotating : public CBasePropDoor, CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPropDoorRotating : public CBasePropDoor +{ public: - Vector m_vecAxis; // 0xd28 - float m_flDistance; // 0xd34 - PropDoorRotatingSpawnPos_t m_eSpawnPosition; // 0xd38 - PropDoorRotatingOpenDirection_e m_eOpenDirection; // 0xd3c - PropDoorRotatingOpenDirection_e m_eCurrentOpenDirection; // 0xd40 - float m_flAjarAngle; // 0xd44 - QAngle m_angRotationAjarDeprecated; // 0xd48 - QAngle m_angRotationClosed; // 0xd54 - QAngle m_angRotationOpenForward; // 0xd60 - QAngle m_angRotationOpenBack; // 0xd6c - QAngle m_angGoal; // 0xd78 - Vector m_vecForwardBoundsMin; // 0xd84 - Vector m_vecForwardBoundsMax; // 0xd90 - Vector m_vecBackBoundsMin; // 0xd9c - Vector m_vecBackBoundsMax; // 0xda8 - CHandle< CEntityBlocker > m_hEntityBlocker; // 0xdb4 + Vector m_vecAxis; // 0xd28 + float m_flDistance; // 0xd34 + PropDoorRotatingSpawnPos_t m_eSpawnPosition; // 0xd38 + PropDoorRotatingOpenDirection_e m_eOpenDirection; // 0xd3c + PropDoorRotatingOpenDirection_e m_eCurrentOpenDirection; // 0xd40 + float m_flAjarAngle; // 0xd44 + QAngle m_angRotationAjarDeprecated; // 0xd48 + QAngle m_angRotationClosed; // 0xd54 + QAngle m_angRotationOpenForward; // 0xd60 + QAngle m_angRotationOpenBack; // 0xd6c + QAngle m_angGoal; // 0xd78 + Vector m_vecForwardBoundsMin; // 0xd84 + Vector m_vecForwardBoundsMax; // 0xd90 + Vector m_vecBackBoundsMin; // 0xd9c + Vector m_vecBackBoundsMax; // 0xda8 + CHandle< CEntityBlocker > m_hEntityBlocker; // 0xdb4 }; // Alignment: 4 // Size: 0xdd8 -class CPropDoorRotatingBreakable : public CPropDoorRotating, CBasePropDoor, CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPropDoorRotatingBreakable : public CPropDoorRotating +{ public: - bool m_bBreakable; // 0xdb8 - bool m_isAbleToCloseAreaPortals; // 0xdb9 - int32_t m_currentDamageState; // 0xdbc - CUtlVector< CUtlSymbolLarge > m_damageStates; // 0xdc0 + bool m_bBreakable; // 0xdb8 + bool m_isAbleToCloseAreaPortals; // 0xdb9 +private: + [[maybe_unused]] uint8_t __pad0dba[0x2]; // 0xdba +public: + int32_t m_currentDamageState; // 0xdbc + CUtlVector< CUtlSymbolLarge > m_damageStates; // 0xdc0 }; // Alignment: 14 // Size: 0x968 -class CBaseCombatCharacter : public CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseCombatCharacter : public CBaseFlex +{ +public: + bool m_bForceServerRagdoll; // 0x8b0 +private: + [[maybe_unused]] uint8_t __pad08b1[0x7]; // 0x8b1 public: - bool m_bForceServerRagdoll; // 0x8b0 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CEconWearable > > m_hMyWearables; // 0x8b8 + CNetworkUtlVectorBase< CHandle< CEconWearable > > m_hMyWearables; // 0x8b8 // MNetworkEnable - float m_flFieldOfView; // 0x8d0 - float m_impactEnergyScale; // 0x8d4 - HitGroup_t m_LastHitGroup; // 0x8d8 - bool m_bApplyStressDamage; // 0x8dc - int32_t m_bloodColor; // 0x8e0 - int32_t m_registeredNavTeam; // 0x940 - int32_t m_navMeshID; // 0x944 - int32_t m_iDamageCount; // 0x948 - CUtlVector< RelationshipOverride_t >* m_pVecRelationships; // 0x950 - CUtlSymbolLarge m_strRelationships; // 0x958 - Hull_t m_eHull; // 0x960 - uint32_t m_nNavHullIdx; // 0x964 - static int32_t &Get_sm_lastInteraction(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseCombatCharacter")->m_static_fields[0]->m_instance);}; + float m_flFieldOfView; // 0x8d0 + float m_impactEnergyScale; // 0x8d4 + HitGroup_t m_LastHitGroup; // 0x8d8 + bool m_bApplyStressDamage; // 0x8dc +private: + [[maybe_unused]] uint8_t __pad08dd[0x3]; // 0x8dd +public: + int32_t m_bloodColor; // 0x8e0 +private: + [[maybe_unused]] uint8_t __pad08e4[0x5c]; // 0x8e4 +public: + int32_t m_registeredNavTeam; // 0x940 + int32_t m_navMeshID; // 0x944 + int32_t m_iDamageCount; // 0x948 +private: + [[maybe_unused]] uint8_t __pad094c[0x4]; // 0x94c +public: + CUtlVector< RelationshipOverride_t >* m_pVecRelationships; // 0x950 + CUtlSymbolLarge m_strRelationships; // 0x958 + Hull_t m_eHull; // 0x960 + uint32_t m_nNavHullIdx; // 0x964 + static int32_t &Get_sm_lastInteraction(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseCombatCharacter")->m_static_fields[0]->m_instance);}; }; // Alignment: 32 // Size: 0xa68 -class CItemGeneric : public CItem, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CItemGeneric : public CItem +{ public: - bool m_bHasTriggerRadius; // 0x900 - bool m_bHasPickupRadius; // 0x901 - float m_flPickupRadiusSqr; // 0x904 - float m_flTriggerRadiusSqr; // 0x908 - GameTime_t m_flLastPickupCheck; // 0x90c - bool m_bPlayerCounterListenerAdded; // 0x910 - bool m_bPlayerInTriggerRadius; // 0x911 - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hSpawnParticleEffect; // 0x918 - CUtlSymbolLarge m_pAmbientSoundEffect; // 0x920 - bool m_bAutoStartAmbientSound; // 0x928 - CUtlSymbolLarge m_pSpawnScriptFunction; // 0x930 - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hPickupParticleEffect; // 0x938 - CUtlSymbolLarge m_pPickupSoundEffect; // 0x940 - CUtlSymbolLarge m_pPickupScriptFunction; // 0x948 - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hTimeoutParticleEffect; // 0x950 - CUtlSymbolLarge m_pTimeoutSoundEffect; // 0x958 - CUtlSymbolLarge m_pTimeoutScriptFunction; // 0x960 - CUtlSymbolLarge m_pPickupFilterName; // 0x968 - CHandle< CBaseFilter > m_hPickupFilter; // 0x970 - CEntityIOOutput m_OnPickup; // 0x978 - CEntityIOOutput m_OnTimeout; // 0x9a0 - CEntityIOOutput m_OnTriggerStartTouch; // 0x9c8 - CEntityIOOutput m_OnTriggerTouch; // 0x9f0 - CEntityIOOutput m_OnTriggerEndTouch; // 0xa18 - CUtlSymbolLarge m_pAllowPickupScriptFunction; // 0xa40 - float m_flPickupRadius; // 0xa48 - float m_flTriggerRadius; // 0xa4c - CUtlSymbolLarge m_pTriggerSoundEffect; // 0xa50 - bool m_bGlowWhenInTrigger; // 0xa58 - Color m_glowColor; // 0xa59 - bool m_bUseable; // 0xa5d - CHandle< CItemGenericTriggerHelper > m_hTriggerHelper; // 0xa60 + bool m_bHasTriggerRadius; // 0x900 + bool m_bHasPickupRadius; // 0x901 +private: + [[maybe_unused]] uint8_t __pad0902[0x2]; // 0x902 +public: + float m_flPickupRadiusSqr; // 0x904 + float m_flTriggerRadiusSqr; // 0x908 + GameTime_t m_flLastPickupCheck; // 0x90c + bool m_bPlayerCounterListenerAdded; // 0x910 + bool m_bPlayerInTriggerRadius; // 0x911 +private: + [[maybe_unused]] uint8_t __pad0912[0x6]; // 0x912 +public: + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hSpawnParticleEffect; // 0x918 + CUtlSymbolLarge m_pAmbientSoundEffect; // 0x920 + bool m_bAutoStartAmbientSound; // 0x928 +private: + [[maybe_unused]] uint8_t __pad0929[0x7]; // 0x929 +public: + CUtlSymbolLarge m_pSpawnScriptFunction; // 0x930 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hPickupParticleEffect; // 0x938 + CUtlSymbolLarge m_pPickupSoundEffect; // 0x940 + CUtlSymbolLarge m_pPickupScriptFunction; // 0x948 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hTimeoutParticleEffect; // 0x950 + CUtlSymbolLarge m_pTimeoutSoundEffect; // 0x958 + CUtlSymbolLarge m_pTimeoutScriptFunction; // 0x960 + CUtlSymbolLarge m_pPickupFilterName; // 0x968 + CHandle< CBaseFilter > m_hPickupFilter; // 0x970 +private: + [[maybe_unused]] uint8_t __pad0974[0x4]; // 0x974 +public: + CEntityIOOutput m_OnPickup; // 0x978 + CEntityIOOutput m_OnTimeout; // 0x9a0 + CEntityIOOutput m_OnTriggerStartTouch; // 0x9c8 + CEntityIOOutput m_OnTriggerTouch; // 0x9f0 + CEntityIOOutput m_OnTriggerEndTouch; // 0xa18 + CUtlSymbolLarge m_pAllowPickupScriptFunction; // 0xa40 + float m_flPickupRadius; // 0xa48 + float m_flTriggerRadius; // 0xa4c + CUtlSymbolLarge m_pTriggerSoundEffect; // 0xa50 + bool m_bGlowWhenInTrigger; // 0xa58 + Color m_glowColor; // 0xa59 + bool m_bUseable; // 0xa5d +private: + [[maybe_unused]] uint8_t __pad0a5e[0x2]; // 0xa5e +public: + CHandle< CItemGenericTriggerHelper > m_hTriggerHelper; // 0xa60 }; // Alignment: 22 // Size: 0xaa0 -class CBasePlayerPawn : public CBaseCombatCharacter, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBasePlayerPawn : public CBaseCombatCharacter +{ public: // MNetworkEnable - CPlayer_WeaponServices* m_pWeaponServices; // 0x968 + CPlayer_WeaponServices* m_pWeaponServices; // 0x968 // MNetworkEnable - CPlayer_ItemServices* m_pItemServices; // 0x970 + CPlayer_ItemServices* m_pItemServices; // 0x970 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CPlayer_AutoaimServices* m_pAutoaimServices; // 0x978 + CPlayer_AutoaimServices* m_pAutoaimServices; // 0x978 // MNetworkEnable - CPlayer_ObserverServices* m_pObserverServices; // 0x980 + CPlayer_ObserverServices* m_pObserverServices; // 0x980 // MNetworkEnable - CPlayer_WaterServices* m_pWaterServices; // 0x988 + CPlayer_WaterServices* m_pWaterServices; // 0x988 // MNetworkEnable - CPlayer_UseServices* m_pUseServices; // 0x990 + CPlayer_UseServices* m_pUseServices; // 0x990 // MNetworkEnable - CPlayer_FlashlightServices* m_pFlashlightServices; // 0x998 + CPlayer_FlashlightServices* m_pFlashlightServices; // 0x998 // MNetworkEnable - CPlayer_CameraServices* m_pCameraServices; // 0x9a0 + CPlayer_CameraServices* m_pCameraServices; // 0x9a0 // MNetworkEnable - CPlayer_MovementServices* m_pMovementServices; // 0x9a8 - QAngle v_angle; // 0x9b8 + CPlayer_MovementServices* m_pMovementServices; // 0x9a8 +private: + [[maybe_unused]] uint8_t __pad09b0[0x8]; // 0x9b0 +public: + QAngle v_angle; // 0x9b8 +private: + [[maybe_unused]] uint8_t __pad09c4[0x10]; // 0x9c4 +public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_iHideHUD; // 0x9d4 + uint32_t m_iHideHUD; // 0x9d4 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - sky3dparams_t m_skybox3d; // 0x9d8 - GameTime_t m_fTimeLastHurt; // 0xa68 + sky3dparams_t m_skybox3d; // 0x9d8 + GameTime_t m_fTimeLastHurt; // 0xa68 // MNetworkEnable - GameTime_t m_flDeathTime; // 0xa6c - GameTime_t m_fNextSuicideTime; // 0xa70 - bool m_fInitHUD; // 0xa74 - GameTime_t m_flNextDecalTime; // 0xa78 - CAI_Expresser* m_pExpresser; // 0xa80 + GameTime_t m_flDeathTime; // 0xa6c + GameTime_t m_fNextSuicideTime; // 0xa70 + bool m_fInitHUD; // 0xa74 +private: + [[maybe_unused]] uint8_t __pad0a75[0x3]; // 0xa75 +public: + GameTime_t m_flNextDecalTime; // 0xa78 +private: + [[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c +public: + CAI_Expresser* m_pExpresser; // 0xa80 // MNetworkEnable - CHandle< CBasePlayerController > m_hController; // 0xa88 - float m_fHltvReplayDelay; // 0xa90 - float m_fHltvReplayEnd; // 0xa94 - CEntityIndex m_iHltvReplayEntity; // 0xa98 + CHandle< CBasePlayerController > m_hController; // 0xa88 +private: + [[maybe_unused]] uint8_t __pad0a8c[0x4]; // 0xa8c +public: + float m_fHltvReplayDelay; // 0xa90 + float m_fHltvReplayEnd; // 0xa94 + CEntityIndex m_iHltvReplayEntity; // 0xa98 }; // Alignment: 3 // Size: 0x878 -class CCSGOViewModel : public CPredictedViewModel, CBaseViewModel, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCSGOViewModel : public CPredictedViewModel +{ public: // MNetworkEnable - bool m_bShouldIgnoreOffsetAndAccuracy; // 0x868 + bool m_bShouldIgnoreOffsetAndAccuracy; // 0x868 +private: + [[maybe_unused]] uint8_t __pad0869[0x3]; // 0x869 +public: // MNetworkEnable - uint32_t m_nWeaponParity; // 0x86c - uint32_t m_nOldWeaponParity; // 0x870 + uint32_t m_nWeaponParity; // 0x86c + uint32_t m_nOldWeaponParity; // 0x870 }; // Alignment: 51 // Size: 0xd50 -class CWeaponCSBase : public CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponCSBase : public CBasePlayerWeapon +{ public: // MNetworkEnable - float m_flFireSequenceStartTime; // 0xc20 + float m_flFireSequenceStartTime; // 0xc20 // MNetworkEnable - int32_t m_nFireSequenceStartTimeChange; // 0xc24 - int32_t m_nFireSequenceStartTimeAck; // 0xc28 + int32_t m_nFireSequenceStartTimeChange; // 0xc24 + int32_t m_nFireSequenceStartTimeAck; // 0xc28 // MNetworkEnable - bool m_bPlayerFireEventIsPrimary; // 0xc2c - HSequence m_seqIdle; // 0xc30 - HSequence m_seqFirePrimary; // 0xc34 - HSequence m_seqFireSecondary; // 0xc38 - bool m_bPlayerAmmoStockOnPickup; // 0xc48 - bool m_bRequireUseToTouch; // 0xc49 - GameTime_t m_flLastTimeInAir; // 0xc4c - GameTime_t m_flLastDeployTime; // 0xc50 + bool m_bPlayerFireEventIsPrimary; // 0xc2c +private: + [[maybe_unused]] uint8_t __pad0c2d[0x3]; // 0xc2d +public: + HSequence m_seqIdle; // 0xc30 + HSequence m_seqFirePrimary; // 0xc34 + HSequence m_seqFireSecondary; // 0xc38 +private: + [[maybe_unused]] uint8_t __pad0c3c[0xc]; // 0xc3c +public: + bool m_bPlayerAmmoStockOnPickup; // 0xc48 + bool m_bRequireUseToTouch; // 0xc49 +private: + [[maybe_unused]] uint8_t __pad0c4a[0x2]; // 0xc4a +public: + GameTime_t m_flLastTimeInAir; // 0xc4c + GameTime_t m_flLastDeployTime; // 0xc50 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - uint32_t m_nViewModelIndex; // 0xc54 - bool m_bReloadsWithClips; // 0xc58 + uint32_t m_nViewModelIndex; // 0xc54 + bool m_bReloadsWithClips; // 0xc58 +private: + [[maybe_unused]] uint8_t __pad0c59[0x3]; // 0xc59 +public: // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" // MNetworkPriority "32" - GameTime_t m_flTimeWeaponIdle; // 0xc5c - bool m_bFireOnEmpty; // 0xc60 - CEntityIOOutput m_OnPlayerPickup; // 0xc68 + GameTime_t m_flTimeWeaponIdle; // 0xc5c + bool m_bFireOnEmpty; // 0xc60 +private: + [[maybe_unused]] uint8_t __pad0c61[0x7]; // 0xc61 +public: + CEntityIOOutput m_OnPlayerPickup; // 0xc68 // MNetworkEnable - CSWeaponMode m_weaponMode; // 0xc90 - float m_flTurningInaccuracyDelta; // 0xc94 - Vector m_vecTurningInaccuracyEyeDirLast; // 0xc98 - float m_flTurningInaccuracy; // 0xca4 + CSWeaponMode m_weaponMode; // 0xc90 + float m_flTurningInaccuracyDelta; // 0xc94 + Vector m_vecTurningInaccuracyEyeDirLast; // 0xc98 + float m_flTurningInaccuracy; // 0xca4 // MNetworkEnable - float m_fAccuracyPenalty; // 0xca8 - GameTime_t m_flLastAccuracyUpdateTime; // 0xcac - float m_fAccuracySmoothedForZoom; // 0xcb0 - GameTime_t m_fScopeZoomEndTime; // 0xcb4 + float m_fAccuracyPenalty; // 0xca8 + GameTime_t m_flLastAccuracyUpdateTime; // 0xcac + float m_fAccuracySmoothedForZoom; // 0xcb0 + GameTime_t m_fScopeZoomEndTime; // 0xcb4 // MNetworkEnable - int32_t m_iRecoilIndex; // 0xcb8 + int32_t m_iRecoilIndex; // 0xcb8 // MNetworkEnable - float m_flRecoilIndex; // 0xcbc + float m_flRecoilIndex; // 0xcbc // MNetworkEnable - bool m_bBurstMode; // 0xcc0 + bool m_bBurstMode; // 0xcc0 +private: + [[maybe_unused]] uint8_t __pad0cc1[0x3]; // 0xcc1 +public: // MNetworkEnable - GameTime_t m_flPostponeFireReadyTime; // 0xcc4 + GameTime_t m_flPostponeFireReadyTime; // 0xcc4 // MNetworkEnable - bool m_bInReload; // 0xcc8 + bool m_bInReload; // 0xcc8 // MNetworkEnable - bool m_bReloadVisuallyComplete; // 0xcc9 + bool m_bReloadVisuallyComplete; // 0xcc9 +private: + [[maybe_unused]] uint8_t __pad0cca[0x2]; // 0xcca +public: // MNetworkEnable - GameTime_t m_flDroppedAtTime; // 0xccc + GameTime_t m_flDroppedAtTime; // 0xccc // MNetworkEnable - bool m_bIsHauledBack; // 0xcd0 + bool m_bIsHauledBack; // 0xcd0 // MNetworkEnable - bool m_bSilencerOn; // 0xcd1 + bool m_bSilencerOn; // 0xcd1 +private: + [[maybe_unused]] uint8_t __pad0cd2[0x2]; // 0xcd2 +public: // MNetworkEnable - GameTime_t m_flTimeSilencerSwitchComplete; // 0xcd4 + GameTime_t m_flTimeSilencerSwitchComplete; // 0xcd4 // MNetworkEnable - int32_t m_iOriginalTeamNumber; // 0xcd8 - float m_flNextAttackRenderTimeOffset; // 0xcdc - bool m_bCanBePickedUp; // 0xce8 - bool m_bUseCanOverrideNextOwnerTouchTime; // 0xce9 - GameTime_t m_nextOwnerTouchTime; // 0xcec - GameTime_t m_nextPrevOwnerTouchTime; // 0xcf0 + int32_t m_iOriginalTeamNumber; // 0xcd8 + float m_flNextAttackRenderTimeOffset; // 0xcdc +private: + [[maybe_unused]] uint8_t __pad0ce0[0x8]; // 0xce0 +public: + bool m_bCanBePickedUp; // 0xce8 + bool m_bUseCanOverrideNextOwnerTouchTime; // 0xce9 +private: + [[maybe_unused]] uint8_t __pad0cea[0x2]; // 0xcea +public: + GameTime_t m_nextOwnerTouchTime; // 0xcec + GameTime_t m_nextPrevOwnerTouchTime; // 0xcf0 // MNetworkEnable - CHandle< CCSPlayerPawnBase > m_hPrevOwner; // 0xcf4 - bool m_donated; // 0xd14 + CHandle< CCSPlayerPawnBase > m_hPrevOwner; // 0xcf4 +private: + [[maybe_unused]] uint8_t __pad0cf8[0x1c]; // 0xcf8 +public: + bool m_donated; // 0xd14 +private: + [[maybe_unused]] uint8_t __pad0d15[0x3]; // 0xd15 +public: // MNetworkEnable - GameTime_t m_fLastShotTime; // 0xd18 - bool m_bWasOwnedByCT; // 0xd1c - bool m_bWasOwnedByTerrorist; // 0xd1d - bool m_bFiredOutOfAmmoEvent; // 0xd1e - int32_t m_numRemoveUnownedWeaponThink; // 0xd20 - CIronSightController m_IronSightController; // 0xd28 + GameTime_t m_fLastShotTime; // 0xd18 + bool m_bWasOwnedByCT; // 0xd1c + bool m_bWasOwnedByTerrorist; // 0xd1d + bool m_bFiredOutOfAmmoEvent; // 0xd1e +private: + [[maybe_unused]] uint8_t __pad0d1f[0x1]; // 0xd1f +public: + int32_t m_numRemoveUnownedWeaponThink; // 0xd20 +private: + [[maybe_unused]] uint8_t __pad0d24[0x4]; // 0xd24 +public: + CIronSightController m_IronSightController; // 0xd28 // MNetworkEnable - int32_t m_iIronSightMode; // 0xd40 - GameTime_t m_flLastLOSTraceFailureTime; // 0xd44 + int32_t m_iIronSightMode; // 0xd40 + GameTime_t m_flLastLOSTraceFailureTime; // 0xd44 // MNetworkEnable - int32_t m_iNumEmptyAttacks; // 0xd48 + int32_t m_iNumEmptyAttacks; // 0xd48 }; // Alignment: 9 // Size: 0xd70 -class CWeaponCSBaseGun : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponCSBaseGun : public CWeaponCSBase +{ public: // MNetworkEnable - int32_t m_zoomLevel; // 0xd50 + int32_t m_zoomLevel; // 0xd50 // MNetworkEnable - int32_t m_iBurstShotsRemaining; // 0xd54 - int32_t m_silencedModelIndex; // 0xd60 - bool m_inPrecache; // 0xd64 + int32_t m_iBurstShotsRemaining; // 0xd54 +private: + [[maybe_unused]] uint8_t __pad0d58[0x8]; // 0xd58 +public: + int32_t m_silencedModelIndex; // 0xd60 + bool m_inPrecache; // 0xd64 // MNetworkEnable - bool m_bNeedsBoltAction; // 0xd65 - bool m_bSkillReloadAvailable; // 0xd66 - bool m_bSkillReloadLiftedReloadKey; // 0xd67 - bool m_bSkillBoltInterruptAvailable; // 0xd68 - bool m_bSkillBoltLiftedFireKey; // 0xd69 + bool m_bNeedsBoltAction; // 0xd65 + bool m_bSkillReloadAvailable; // 0xd66 + bool m_bSkillReloadLiftedReloadKey; // 0xd67 + bool m_bSkillBoltInterruptAvailable; // 0xd68 + bool m_bSkillBoltLiftedFireKey; // 0xd69 }; // Alignment: 13 // Size: 0xda0 -class CC4 : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CC4 : public CWeaponCSBase +{ public: - Vector m_vecLastValidPlayerHeldPosition; // 0xd50 - Vector m_vecLastValidDroppedPosition; // 0xd5c - bool m_bDoValidDroppedPositionCheck; // 0xd68 + Vector m_vecLastValidPlayerHeldPosition; // 0xd50 + Vector m_vecLastValidDroppedPosition; // 0xd5c + bool m_bDoValidDroppedPositionCheck; // 0xd68 // MNetworkEnable - bool m_bStartedArming; // 0xd69 + bool m_bStartedArming; // 0xd69 +private: + [[maybe_unused]] uint8_t __pad0d6a[0x2]; // 0xd6a +public: // MNetworkEnable - GameTime_t m_fArmedTime; // 0xd6c + GameTime_t m_fArmedTime; // 0xd6c // MNetworkEnable - bool m_bBombPlacedAnimation; // 0xd70 + bool m_bBombPlacedAnimation; // 0xd70 // MNetworkEnable - bool m_bShowC4LED; // 0xd71 + bool m_bShowC4LED; // 0xd71 // MNetworkEnable - bool m_bIsPlantingViaUse; // 0xd72 + bool m_bIsPlantingViaUse; // 0xd72 +private: + [[maybe_unused]] uint8_t __pad0d73[0x5]; // 0xd73 +public: // MNetworkEnable - EntitySpottedState_t m_entitySpottedState; // 0xd78 - int32_t m_nSpotRules; // 0xd90 - bool[7] m_bPlayedArmingBeeps; // 0xd94 - bool m_bBombPlanted; // 0xd9b - bool m_bDroppedFromDeath; // 0xd9c + EntitySpottedState_t m_entitySpottedState; // 0xd78 + int32_t m_nSpotRules; // 0xd90 + bool m_bPlayedArmingBeeps[7]; // 0xd94 + bool m_bBombPlanted; // 0xd9b + bool m_bDroppedFromDeath; // 0xd9c }; // Alignment: 0 // Size: 0xd70 -class CDEagle : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDEagle : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponElite : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponElite : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd50 -class CWeaponNOVA : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponNOVA : public CWeaponCSBase +{ public: // no members available }; // Alignment: 0 // Size: 0xd50 -class CWeaponSawedoff : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponSawedoff : public CWeaponCSBase +{ public: // no members available }; // Alignment: 1 // Size: 0xd78 -class CWeaponTaser : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponTaser : public CWeaponCSBaseGun +{ public: // MNetworkEnable - GameTime_t m_fFireTime; // 0xd70 + GameTime_t m_fFireTime; // 0xd70 }; // Alignment: 0 // Size: 0xd50 -class CWeaponXM1014 : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponXM1014 : public CWeaponCSBase +{ public: // no members available }; // Alignment: 0 // Size: 0xd50 -class CKnife : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CKnife : public CWeaponCSBase +{ public: // no members available }; // Alignment: 0 // Size: 0xd50 -class CKnifeGG : public CKnife, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CKnifeGG : public CKnife +{ public: // no members available }; // Alignment: 3 // Size: 0xd60 -class CMelee : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMelee : public CWeaponCSBase +{ public: // MNetworkEnable - GameTime_t m_flThrowAt; // 0xd50 - CHandle< CBaseEntity > m_hThrower; // 0xd54 - bool m_bDidThrowDamage; // 0xd58 + GameTime_t m_flThrowAt; // 0xd50 + CHandle< CBaseEntity > m_hThrower; // 0xd54 + bool m_bDidThrowDamage; // 0xd58 }; // Alignment: 0 // Size: 0xd90 -class CWeaponZoneRepulsor : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponZoneRepulsor : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 3 // Size: 0xd80 -class CWeaponShield : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponShield : public CWeaponCSBaseGun +{ public: - float m_flBulletDamageAbsorbed; // 0xd70 - GameTime_t m_flLastBulletHitSoundTime; // 0xd74 + float m_flBulletDamageAbsorbed; // 0xd70 + GameTime_t m_flLastBulletHitSoundTime; // 0xd74 // MNetworkEnable - float m_flDisplayHealth; // 0xd78 + float m_flDisplayHealth; // 0xd78 }; // Alignment: 4 // Size: 0xa98 -class CMolotovProjectile : public CBaseCSGrenadeProjectile, CBaseGrenade, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMolotovProjectile : public CBaseCSGrenadeProjectile +{ public: // MNetworkEnable - bool m_bIsIncGrenade; // 0x9a0 - bool m_bDetonated; // 0x9ac - IntervalTimer m_stillTimer; // 0x9b0 - bool m_bHasBouncedOffPlayer; // 0xa90 + bool m_bIsIncGrenade; // 0x9a0 +private: + [[maybe_unused]] uint8_t __pad09a1[0xb]; // 0x9a1 +public: + bool m_bDetonated; // 0x9ac +private: + [[maybe_unused]] uint8_t __pad09ad[0x3]; // 0x9ad +public: + IntervalTimer m_stillTimer; // 0x9b0 +private: + [[maybe_unused]] uint8_t __pad09c0[0xd0]; // 0x9c0 +public: + bool m_bHasBouncedOffPlayer; // 0xa90 }; // Alignment: 3 // Size: 0x9c0 -class CDecoyProjectile : public CBaseCSGrenadeProjectile, CBaseGrenade, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDecoyProjectile : public CBaseCSGrenadeProjectile +{ public: - int32_t m_shotsRemaining; // 0x9a8 - GameTime_t m_fExpireTime; // 0x9ac - uint16_t m_decoyWeaponDefIndex; // 0x9b8 + int32_t m_shotsRemaining; // 0x9a8 + GameTime_t m_fExpireTime; // 0x9ac +private: + [[maybe_unused]] uint8_t __pad09b0[0x8]; // 0x9b0 +public: + uint16_t m_decoyWeaponDefIndex; // 0x9b8 }; // Alignment: 8 // Size: 0xb90 -class CSmokeGrenadeProjectile : public CBaseCSGrenadeProjectile, CBaseGrenade, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSmokeGrenadeProjectile : public CBaseCSGrenadeProjectile +{ public: // MNetworkEnable - int32_t m_nSmokeEffectTickBegin; // 0x9b8 + int32_t m_nSmokeEffectTickBegin; // 0x9b8 // MNetworkEnable - bool m_bDidSmokeEffect; // 0x9bc + bool m_bDidSmokeEffect; // 0x9bc +private: + [[maybe_unused]] uint8_t __pad09bd[0x3]; // 0x9bd +public: // MNetworkEnable - int32_t m_nRandomSeed; // 0x9c0 + int32_t m_nRandomSeed; // 0x9c0 // MNetworkEnable - Vector m_vSmokeColor; // 0x9c4 + Vector m_vSmokeColor; // 0x9c4 // MNetworkEnable - Vector m_vSmokeDetonationPos; // 0x9d0 + Vector m_vSmokeDetonationPos; // 0x9d0 +private: + [[maybe_unused]] uint8_t __pad09dc[0x4]; // 0x9dc +public: // MNetworkEnable - CUtlVector< uint8 > m_VoxelFrameData; // 0x9e0 - GameTime_t m_flLastBounce; // 0x9f8 - GameTime_t m_fllastSimulationTime; // 0x9fc + CUtlVector< uint8 > m_VoxelFrameData; // 0x9e0 + GameTime_t m_flLastBounce; // 0x9f8 + GameTime_t m_fllastSimulationTime; // 0x9fc }; // Alignment: 8 // Size: 0xd90 -class CBaseCSGrenade : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBaseCSGrenade : public CWeaponCSBase +{ public: // MNetworkEnable - bool m_bRedraw; // 0xd70 + bool m_bRedraw; // 0xd70 // MNetworkEnable - bool m_bIsHeldByPlayer; // 0xd71 + bool m_bIsHeldByPlayer; // 0xd71 // MNetworkEnable - bool m_bPinPulled; // 0xd72 + bool m_bPinPulled; // 0xd72 +private: + [[maybe_unused]] uint8_t __pad0d73[0x1]; // 0xd73 +public: // MNetworkEnable - EGrenadeThrowState m_eThrowStatus; // 0xd74 + EGrenadeThrowState m_eThrowStatus; // 0xd74 // MNetworkEnable - GameTime_t m_fThrowTime; // 0xd78 + GameTime_t m_fThrowTime; // 0xd78 // MNetworkEnable - float m_flThrowStrength; // 0xd7c + float m_flThrowStrength; // 0xd7c // MNetworkEnable - float m_flThrowStrengthApproach; // 0xd80 + float m_flThrowStrengthApproach; // 0xd80 // MNetworkEnable - GameTime_t m_fDropTime; // 0xd84 + GameTime_t m_fDropTime; // 0xd84 }; // Alignment: 2 // Size: 0xd70 -class CWeaponBaseItem : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponBaseItem : public CWeaponCSBase +{ public: // MNetworkEnable - CountdownTimer m_SequenceCompleteTimer; // 0xd50 + CountdownTimer m_SequenceCompleteTimer; // 0xd50 // MNetworkEnable - bool m_bRedraw; // 0xd68 + bool m_bRedraw; // 0xd68 }; // Alignment: 0 // Size: 0xd70 -class CItem_Healthshot : public CWeaponBaseItem, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CItem_Healthshot : public CWeaponBaseItem +{ public: // no members available }; // Alignment: 7 // Size: 0xd68 -class CFists : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFists : public CWeaponCSBase +{ public: // MNetworkEnable - bool m_bPlayingUninterruptableAct; // 0xd50 + bool m_bPlayingUninterruptableAct; // 0xd50 +private: + [[maybe_unused]] uint8_t __pad0d51[0x3]; // 0xd51 +public: // MNetworkEnable // MNetworkChangeCallback "OnUninterruptChanged" - PlayerAnimEvent_t m_nUninterruptableActivity; // 0xd54 - bool m_bRestorePrevWep; // 0xd58 - CHandle< CBasePlayerWeapon > m_hWeaponBeforePrevious; // 0xd5c - CHandle< CBasePlayerWeapon > m_hWeaponPrevious; // 0xd60 - bool m_bDelayedHardPunchIncoming; // 0xd64 - bool m_bDestroyAfterTaunt; // 0xd65 + PlayerAnimEvent_t m_nUninterruptableActivity; // 0xd54 + bool m_bRestorePrevWep; // 0xd58 +private: + [[maybe_unused]] uint8_t __pad0d59[0x3]; // 0xd59 +public: + CHandle< CBasePlayerWeapon > m_hWeaponBeforePrevious; // 0xd5c + CHandle< CBasePlayerWeapon > m_hWeaponPrevious; // 0xd60 + bool m_bDelayedHardPunchIncoming; // 0xd64 + bool m_bDestroyAfterTaunt; // 0xd65 }; // Alignment: 20 // Size: 0x1068 -class CTablet : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTablet : public CWeaponCSBase +{ +public: + bool m_bPendingBuyMenu; // 0xd58 +private: + [[maybe_unused]] uint8_t __pad0d59[0x3]; // 0xd59 public: - bool m_bPendingBuyMenu; // 0xd58 // MNetworkEnable - GameTime_t[4] m_flUpgradeExpirationTime; // 0xd5c + GameTime_t m_flUpgradeExpirationTime[4]; // 0xd5c // MNetworkEnable - int32[42] m_vecLocalHexFlags; // 0xd6c + int32_t m_vecLocalHexFlags[42]; // 0xd6c // MNetworkEnable - int32_t m_nContractKillGridIndex; // 0xe14 + int32_t m_nContractKillGridIndex; // 0xe14 // MNetworkEnable - int32_t m_nContractKillGridHighResIndex; // 0xe18 + int32_t m_nContractKillGridHighResIndex; // 0xe18 // MNetworkEnable - bool m_bTabletReceptionIsBlocked; // 0xe1c + bool m_bTabletReceptionIsBlocked; // 0xe1c +private: + [[maybe_unused]] uint8_t __pad0e1d[0x3]; // 0xe1d +public: // MNetworkEnable - float m_flScanProgress; // 0xe20 + float m_flScanProgress; // 0xe20 // MNetworkEnable - GameTime_t m_flBootTime; // 0xe24 + GameTime_t m_flBootTime; // 0xe24 // MNetworkEnable - GameTime_t m_flShowMapTime; // 0xe28 + GameTime_t m_flShowMapTime; // 0xe28 // MNetworkEnable - Vector m_vecNearestMetalCratePos; // 0xe2c + Vector m_vecNearestMetalCratePos; // 0xe2c // MNetworkEnable - tablet_skin_state_t m_skinState; // 0xe38 + tablet_skin_state_t m_skinState; // 0xe38 +private: + [[maybe_unused]] uint8_t __pad0e39[0x3]; // 0xe39 +public: // MNetworkEnable - int32[8] m_vecNotificationIds; // 0xe3c + int32_t m_vecNotificationIds[8]; // 0xe3c // MNetworkEnable - GameTime_t[8] m_vecNotificationTimestamps; // 0xe5c + GameTime_t m_vecNotificationTimestamps[8]; // 0xe5c // MNetworkEnable - int32_t m_nLastPurchaseIndex; // 0xe7c + int32_t m_nLastPurchaseIndex; // 0xe7c // MNetworkEnable - Vector[24] m_vecPlayerPositionHistory; // 0xe80 - Vector2D m_vecLastPlayerPosition; // 0xfa0 - GameTime_t m_flNextCheckForIncomingDronesTime; // 0xfa8 - GameTime_t m_flLastPlayerOccupiedGridUpdate; // 0xfac - GameTime_t m_flLastTabletBlockedTime; // 0xfb0 - float m_flLastClosePoseParamVal; // 0x1060 + Vector m_vecPlayerPositionHistory[24]; // 0xe80 + Vector2D m_vecLastPlayerPosition; // 0xfa0 + GameTime_t m_flNextCheckForIncomingDronesTime; // 0xfa8 + GameTime_t m_flLastPlayerOccupiedGridUpdate; // 0xfac + GameTime_t m_flLastTabletBlockedTime; // 0xfb0 +private: + [[maybe_unused]] uint8_t __pad0fb4[0xac]; // 0xfb4 +public: + float m_flLastClosePoseParamVal; // 0x1060 }; // Alignment: 0 // Size: 0xd50 -class CBreachCharge : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBreachCharge : public CWeaponCSBase +{ public: // no members available }; // Alignment: 0 // Size: 0xd50 -class CBumpMine : public CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CBumpMine : public CWeaponCSBase +{ public: // no members available }; // Alignment: 0 // Size: 0xd90 -class CTripWireFire : public CBaseCSGrenade, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CTripWireFire : public CBaseCSGrenade +{ public: // no members available }; // Alignment: 0 // Size: 0xb30 -class CPhysPropWeaponRefillHeavyArmor : public CPhysPropWeaponUpgrade, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropWeaponRefillHeavyArmor : public CPhysPropWeaponUpgrade +{ public: // no members available }; // Alignment: 0 // Size: 0xb30 -class CPhysPropWeaponUpgradeArmor : public CPhysPropWeaponUpgrade, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropWeaponUpgradeArmor : public CPhysPropWeaponUpgrade +{ public: // no members available }; // Alignment: 0 // Size: 0xb30 -class CPhysPropWeaponUpgradeHelmet : public CPhysPropWeaponUpgrade, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropWeaponUpgradeHelmet : public CPhysPropWeaponUpgrade +{ public: // no members available }; // Alignment: 0 // Size: 0xb30 -class CPhysPropWeaponUpgradeArmorHelmet : public CPhysPropWeaponUpgrade, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropWeaponUpgradeArmorHelmet : public CPhysPropWeaponUpgrade +{ public: // no members available }; // Alignment: 0 // Size: 0xb30 -class CPhysPropWeaponUpgradeExoJump : public CPhysPropWeaponUpgrade, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropWeaponUpgradeExoJump : public CPhysPropWeaponUpgrade +{ public: // no members available }; // Alignment: 0 // Size: 0xb30 -class CPhysPropWeaponUpgradeParachute : public CPhysPropWeaponUpgrade, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropWeaponUpgradeParachute : public CPhysPropWeaponUpgrade +{ public: // no members available }; // Alignment: 0 // Size: 0xb30 -class CPhysPropWeaponUpgradeContractKill : public CPhysPropWeaponUpgrade, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropWeaponUpgradeContractKill : public CPhysPropWeaponUpgrade +{ public: // no members available }; // Alignment: 5 // Size: 0xb70 -class CPhysPropMapPlacedLongUseEntity : public CPhysPropWeaponUpgrade, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropMapPlacedLongUseEntity : public CPhysPropWeaponUpgrade +{ public: - CUtlSymbolLarge m_iszStartUseSound; // 0xb30 - int32_t m_nPingType; // 0xb38 - int32_t m_nLongUseActionType; // 0xb3c - float m_flLongUseDuration; // 0xb40 - CEntityIOOutput m_OnUseCompleted; // 0xb48 + CUtlSymbolLarge m_iszStartUseSound; // 0xb30 + int32_t m_nPingType; // 0xb38 + int32_t m_nLongUseActionType; // 0xb3c + float m_flLongUseDuration; // 0xb40 +private: + [[maybe_unused]] uint8_t __pad0b44[0x4]; // 0xb44 +public: + CEntityIOOutput m_OnUseCompleted; // 0xb48 }; // Alignment: 0 // Size: 0xb30 -class CPhysPropWeaponUpgradeTablet : public CPhysPropWeaponUpgrade, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropWeaponUpgradeTablet : public CPhysPropWeaponUpgrade +{ public: // no members available }; // Alignment: 0 // Size: 0xb30 -class CPhysPropWeaponUpgradeTabletHighres : public CPhysPropWeaponUpgradeTablet, CPhysPropWeaponUpgrade, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropWeaponUpgradeTabletHighres : public CPhysPropWeaponUpgradeTablet +{ public: // no members available }; // Alignment: 0 // Size: 0xb30 -class CPhysPropWeaponUpgradeTabletZoneIntel : public CPhysPropWeaponUpgradeTablet, CPhysPropWeaponUpgrade, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropWeaponUpgradeTabletZoneIntel : public CPhysPropWeaponUpgradeTablet +{ public: // no members available }; // Alignment: 0 // Size: 0xb30 -class CPhysPropWeaponUpgradeTabletDroneIntel : public CPhysPropWeaponUpgradeTablet, CPhysPropWeaponUpgrade, CBrBaseItem, CPhysicsPropMultiplayer, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CPhysPropWeaponUpgradeTabletDroneIntel : public CPhysPropWeaponUpgradeTablet +{ public: // no members available }; // Alignment: 0 // Size: 0xd90 -class CSensorGrenade : public CBaseCSGrenade, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSensorGrenade : public CBaseCSGrenade +{ public: // no members available }; // Alignment: 189 // Size: 0x1570 -class CCSPlayerPawnBase : public CBasePlayerPawn, CBaseCombatCharacter, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCSPlayerPawnBase : public CBasePlayerPawn +{ public: // MNetworkEnable // MNetworkUserGroup "CTouchExpansionComponent" // MNetworkAlias "CTouchExpansionComponent" // MNetworkTypeAlias "CTouchExpansionComponent" - CTouchExpansionComponent m_CTouchExpansionComponent; // 0xab0 + CTouchExpansionComponent m_CTouchExpansionComponent; // 0xab0 // MNetworkEnable - CCSPlayer_ActionTrackingServices* m_pActionTrackingServices; // 0xad0 + CCSPlayer_ActionTrackingServices* m_pActionTrackingServices; // 0xad0 // MNetworkEnable - CCSPlayer_ViewModelServices* m_pViewModelServices; // 0xad8 - uint32_t m_iDisplayHistoryBits; // 0xae0 - float m_flLastAttackedTeammate; // 0xae4 + CCSPlayer_ViewModelServices* m_pViewModelServices; // 0xad8 + uint32_t m_iDisplayHistoryBits; // 0xae0 + float m_flLastAttackedTeammate; // 0xae4 // MNetworkEnable - CHandle< CCSPlayerController > m_hOriginalController; // 0xae8 - GameTime_t m_blindUntilTime; // 0xaec - GameTime_t m_blindStartTime; // 0xaf0 - GameTime_t m_allowAutoFollowTime; // 0xaf4 + CHandle< CCSPlayerController > m_hOriginalController; // 0xae8 + GameTime_t m_blindUntilTime; // 0xaec + GameTime_t m_blindStartTime; // 0xaf0 + GameTime_t m_allowAutoFollowTime; // 0xaf4 // MNetworkEnable - EntitySpottedState_t m_entitySpottedState; // 0xaf8 - int32_t m_nSpotRules; // 0xb10 + EntitySpottedState_t m_entitySpottedState; // 0xaf8 + int32_t m_nSpotRules; // 0xb10 // MNetworkEnable - float m_flTimeOfLastInjury; // 0xb14 + float m_flTimeOfLastInjury; // 0xb14 // MNetworkEnable - RelativeDamagedDirection_t m_nRelativeDirectionOfLastInjury; // 0xb18 + RelativeDamagedDirection_t m_nRelativeDirectionOfLastInjury; // 0xb18 // MNetworkEnable - CSPlayerState m_iPlayerState; // 0xb1c - CountdownTimer m_chickenIdleSoundTimer; // 0xb28 - CountdownTimer m_chickenJumpSoundTimer; // 0xb40 - Vector m_vecLastBookmarkedPosition; // 0xbf8 - float m_flLastDistanceTraveledNotice; // 0xc04 - float m_flAccumulatedDistanceTraveled; // 0xc08 - float m_flLastFriendlyFireDamageReductionRatio; // 0xc0c - bool m_bRespawning; // 0xc10 - int32_t m_iNumGunGameTRBombTotalPoints; // 0xc14 - bool m_bShouldProgressGunGameTRBombModeWeapon; // 0xc18 - int32_t m_nLastPickupPriority; // 0xc1c - float m_flLastPickupPriorityTime; // 0xc20 + CSPlayerState m_iPlayerState; // 0xb1c +private: + [[maybe_unused]] uint8_t __pad0b20[0x8]; // 0xb20 +public: + CountdownTimer m_chickenIdleSoundTimer; // 0xb28 + CountdownTimer m_chickenJumpSoundTimer; // 0xb40 +private: + [[maybe_unused]] uint8_t __pad0b58[0xa0]; // 0xb58 +public: + Vector m_vecLastBookmarkedPosition; // 0xbf8 + float m_flLastDistanceTraveledNotice; // 0xc04 + float m_flAccumulatedDistanceTraveled; // 0xc08 + float m_flLastFriendlyFireDamageReductionRatio; // 0xc0c + bool m_bRespawning; // 0xc10 +private: + [[maybe_unused]] uint8_t __pad0c11[0x3]; // 0xc11 +public: + int32_t m_iNumGunGameTRBombTotalPoints; // 0xc14 + bool m_bShouldProgressGunGameTRBombModeWeapon; // 0xc18 +private: + [[maybe_unused]] uint8_t __pad0c19[0x3]; // 0xc19 +public: + int32_t m_nLastPickupPriority; // 0xc1c + float m_flLastPickupPriorityTime; // 0xc20 // MNetworkEnable - bool[4] m_passiveItems; // 0xc24 + bool m_passiveItems[4]; // 0xc24 // MNetworkEnable - bool m_bIsScoped; // 0xc28 + bool m_bIsScoped; // 0xc28 // MNetworkEnable - bool m_bIsWalking; // 0xc29 + bool m_bIsWalking; // 0xc29 // MNetworkEnable - bool m_bResumeZoom; // 0xc2a + bool m_bResumeZoom; // 0xc2a // MNetworkEnable - bool m_bIsDefusing; // 0xc2b + bool m_bIsDefusing; // 0xc2b // MNetworkEnable - bool m_bIsGrabbingHostage; // 0xc2c + bool m_bIsGrabbingHostage; // 0xc2c +private: + [[maybe_unused]] uint8_t __pad0c2d[0x3]; // 0xc2d +public: // MNetworkEnable - CSPlayerBlockingUseAction_t m_iBlockingUseActionInProgress; // 0xc30 + CSPlayerBlockingUseAction_t m_iBlockingUseActionInProgress; // 0xc30 // MNetworkEnable - GameTime_t m_fImmuneToGunGameDamageTime; // 0xc34 + GameTime_t m_fImmuneToGunGameDamageTime; // 0xc34 // MNetworkEnable - bool m_bGunGameImmunity; // 0xc38 + bool m_bGunGameImmunity; // 0xc38 // MNetworkEnable - bool m_bMadeFinalGunGameProgressiveKill; // 0xc39 + bool m_bMadeFinalGunGameProgressiveKill; // 0xc39 +private: + [[maybe_unused]] uint8_t __pad0c3a[0x2]; // 0xc3a +public: // MNetworkEnable - int32_t m_iGunGameProgressiveWeaponIndex; // 0xc3c + int32_t m_iGunGameProgressiveWeaponIndex; // 0xc3c // MNetworkEnable - int32_t m_iNumGunGameTRKillPoints; // 0xc40 + int32_t m_iNumGunGameTRKillPoints; // 0xc40 // MNetworkEnable - int32_t m_iNumGunGameKillsWithCurrentWeapon; // 0xc44 + int32_t m_iNumGunGameKillsWithCurrentWeapon; // 0xc44 // MNetworkEnable - uint32_t m_unTotalRoundDamageDealt; // 0xc48 + uint32_t m_unTotalRoundDamageDealt; // 0xc48 // MNetworkEnable - float m_fMolotovDamageTime; // 0xc4c + float m_fMolotovDamageTime; // 0xc4c // MNetworkEnable - bool m_bHasMovedSinceSpawn; // 0xc50 + bool m_bHasMovedSinceSpawn; // 0xc50 // MNetworkEnable - bool m_bCanMoveDuringFreezePeriod; // 0xc51 + bool m_bCanMoveDuringFreezePeriod; // 0xc51 // MNetworkEnable - bool m_isCurrentGunGameLeader; // 0xc52 + bool m_isCurrentGunGameLeader; // 0xc52 // MNetworkEnable - bool m_isCurrentGunGameTeamLeader; // 0xc53 + bool m_isCurrentGunGameTeamLeader; // 0xc53 // MNetworkEnable - float m_flGuardianTooFarDistFrac; // 0xc54 - float m_flNextGuardianTooFarHurtTime; // 0xc58 + float m_flGuardianTooFarDistFrac; // 0xc54 + float m_flNextGuardianTooFarHurtTime; // 0xc58 // MNetworkEnable - GameTime_t m_flDetectedByEnemySensorTime; // 0xc5c + GameTime_t m_flDetectedByEnemySensorTime; // 0xc5c // MNetworkEnable - bool m_bIsSpawnRappelling; // 0xc60 + bool m_bIsSpawnRappelling; // 0xc60 +private: + [[maybe_unused]] uint8_t __pad0c61[0x3]; // 0xc61 +public: // MNetworkEnable - Vector m_vecSpawnRappellingRopeOrigin; // 0xc64 + Vector m_vecSpawnRappellingRopeOrigin; // 0xc64 // MNetworkEnable - int32_t m_nSurvivalTeam; // 0xc70 + int32_t m_nSurvivalTeam; // 0xc70 // MNetworkEnable - CHandle< CCSPlayerPawnBase > m_hSurvivalAssassinationTarget; // 0xc74 - int32_t m_nCompletedSurvivalAssassinations; // 0xc78 - float m_flDealtDamageToEnemyMostRecentTimestamp; // 0xc7c + CHandle< CCSPlayerPawnBase > m_hSurvivalAssassinationTarget; // 0xc74 + int32_t m_nCompletedSurvivalAssassinations; // 0xc78 + float m_flDealtDamageToEnemyMostRecentTimestamp; // 0xc7c // MNetworkEnable - float m_flHealthShotBoostExpirationTime; // 0xc80 - GameTime_t m_flLastEquippedHelmetTime; // 0xc84 - GameTime_t m_flLastEquippedArmorTime; // 0xc88 + float m_flHealthShotBoostExpirationTime; // 0xc80 + GameTime_t m_flLastEquippedHelmetTime; // 0xc84 + GameTime_t m_flLastEquippedArmorTime; // 0xc88 // MNetworkEnable - int32_t m_nHeavyAssaultSuitCooldownRemaining; // 0xc8c - bool m_bResetArmorNextSpawn; // 0xc90 + int32_t m_nHeavyAssaultSuitCooldownRemaining; // 0xc8c + bool m_bResetArmorNextSpawn; // 0xc90 +private: + [[maybe_unused]] uint8_t __pad0c91[0x3]; // 0xc91 +public: // MNetworkEnable - float m_flLastExoJumpTime; // 0xc94 - GameTime_t m_flLastBumpMineBumpTime; // 0xc98 - bool m_bEscaped; // 0xca8 - bool m_bIsVIP; // 0xca9 - int32_t m_iNumSpawns; // 0xcac - int32_t m_iShouldHaveCash; // 0xcb0 - bool m_bJustKilledTeammate; // 0xcb4 - bool m_bPunishedForTK; // 0xcb5 - bool m_bInvalidSteamLogonDelayed; // 0xcb6 - int32_t m_iTeamKills; // 0xcb8 - GameTime_t m_flLastAction; // 0xcbc - float32[5] m_flNameChangeHistory; // 0xcc0 - float m_fLastGivenDefuserTime; // 0xcd4 - float m_fLastGivenBombTime; // 0xcd8 + float m_flLastExoJumpTime; // 0xc94 + GameTime_t m_flLastBumpMineBumpTime; // 0xc98 +private: + [[maybe_unused]] uint8_t __pad0c9c[0xc]; // 0xc9c +public: + bool m_bEscaped; // 0xca8 + bool m_bIsVIP; // 0xca9 +private: + [[maybe_unused]] uint8_t __pad0caa[0x2]; // 0xcaa +public: + int32_t m_iNumSpawns; // 0xcac + int32_t m_iShouldHaveCash; // 0xcb0 + bool m_bJustKilledTeammate; // 0xcb4 + bool m_bPunishedForTK; // 0xcb5 + bool m_bInvalidSteamLogonDelayed; // 0xcb6 +private: + [[maybe_unused]] uint8_t __pad0cb7[0x1]; // 0xcb7 +public: + int32_t m_iTeamKills; // 0xcb8 + GameTime_t m_flLastAction; // 0xcbc + float m_flNameChangeHistory[5]; // 0xcc0 + float m_fLastGivenDefuserTime; // 0xcd4 + float m_fLastGivenBombTime; // 0xcd8 // MNetworkEnable - bool m_bHasNightVision; // 0xcdc + bool m_bHasNightVision; // 0xcdc // MNetworkEnable - bool m_bNightVisionOn; // 0xcdd - float m_fNextRadarUpdateTime; // 0xce0 - float m_flLastMoneyUpdateTime; // 0xce4 - char[1024] m_MenuStringBuffer; // 0xce8 - CHandle< CBaseEntity > m_pIntroCamera; // 0x10e8 - float m_fIntroCamTime; // 0x10ec - int32_t m_nMyCollisionGroup; // 0x10f0 + bool m_bNightVisionOn; // 0xcdd +private: + [[maybe_unused]] uint8_t __pad0cde[0x2]; // 0xcde +public: + float m_fNextRadarUpdateTime; // 0xce0 + float m_flLastMoneyUpdateTime; // 0xce4 + char m_MenuStringBuffer[1024]; // 0xce8 + CHandle< CBaseEntity > m_pIntroCamera; // 0x10e8 + float m_fIntroCamTime; // 0x10ec + int32_t m_nMyCollisionGroup; // 0x10f0 // MNetworkEnable - bool m_bInBombZone; // 0x10f4 + bool m_bInBombZone; // 0x10f4 // MNetworkEnable - bool m_bInBuyZone; // 0x10f5 + bool m_bInBuyZone; // 0x10f5 // MNetworkEnable - bool m_bInNoDefuseArea; // 0x10f6 + bool m_bInNoDefuseArea; // 0x10f6 // MNetworkEnable - bool m_bKilledByTaser; // 0x10f7 + bool m_bKilledByTaser; // 0x10f7 // MNetworkEnable - int32_t m_iMoveState; // 0x10f8 - CStrongHandle< InfoForResourceTypeCModel > m_nPreviousModelIndex; // 0x1100 - GameTime_t m_grenadeParameterStashTime; // 0x1108 - bool m_bGrenadeParametersStashed; // 0x110c - QAngle m_angStashedShootAngles; // 0x1110 - Vector m_vecStashedGrenadeThrowPosition; // 0x111c - Vector m_vecStashedVelocity; // 0x1128 - QAngle[2] m_angShootAngleHistory; // 0x1134 - Vector[2] m_vecThrowPositionHistory; // 0x114c - Vector[2] m_vecVelocityHistory; // 0x1164 - uint16_t m_nCharacterDefIndex; // 0x117c - bool m_bDiedAirborne; // 0x117e - CEntityIndex m_iBombSiteIndex; // 0x1180 + int32_t m_iMoveState; // 0x10f8 +private: + [[maybe_unused]] uint8_t __pad10fc[0x4]; // 0x10fc +public: + CStrongHandle< InfoForResourceTypeCModel > m_nPreviousModelIndex; // 0x1100 + GameTime_t m_grenadeParameterStashTime; // 0x1108 + bool m_bGrenadeParametersStashed; // 0x110c +private: + [[maybe_unused]] uint8_t __pad110d[0x3]; // 0x110d +public: + QAngle m_angStashedShootAngles; // 0x1110 + Vector m_vecStashedGrenadeThrowPosition; // 0x111c + Vector m_vecStashedVelocity; // 0x1128 + QAngle m_angShootAngleHistory[2]; // 0x1134 + Vector m_vecThrowPositionHistory[2]; // 0x114c + Vector m_vecVelocityHistory[2]; // 0x1164 + uint16_t m_nCharacterDefIndex; // 0x117c + bool m_bDiedAirborne; // 0x117e +private: + [[maybe_unused]] uint8_t __pad117f[0x1]; // 0x117f +public: + CEntityIndex m_iBombSiteIndex; // 0x1180 // MNetworkEnable - int32_t m_nWhichBombZone; // 0x1184 - bool m_bInBombZoneTrigger; // 0x1188 - bool m_bWasInBombZoneTrigger; // 0x1189 - bool m_bWasInHostageRescueZone; // 0x118a - bool m_bWasInBuyZone; // 0x118b + int32_t m_nWhichBombZone; // 0x1184 + bool m_bInBombZoneTrigger; // 0x1188 + bool m_bWasInBombZoneTrigger; // 0x1189 + bool m_bWasInHostageRescueZone; // 0x118a + bool m_bWasInBuyZone; // 0x118b // MNetworkEnable - bool m_bInHostageRescueZone; // 0x118c + bool m_bInHostageRescueZone; // 0x118c +private: + [[maybe_unused]] uint8_t __pad118d[0x3]; // 0x118d +public: // MNetworkEnable - float m_flStamina; // 0x1190 + float m_flStamina; // 0x1190 // MNetworkEnable - int32_t m_iDirection; // 0x1194 + int32_t m_iDirection; // 0x1194 // MNetworkEnable - int32_t m_iShotsFired; // 0x1198 + int32_t m_iShotsFired; // 0x1198 // MNetworkEnable - int32_t m_ArmorValue; // 0x119c - float m_flFlinchStack; // 0x11a0 + int32_t m_ArmorValue; // 0x119c + float m_flFlinchStack; // 0x11a0 // MNetworkEnable - float m_flVelocityModifier; // 0x11a4 + float m_flVelocityModifier; // 0x11a4 // MNetworkEnable - float m_flGroundAccelLinearFracLastTime; // 0x11a8 - int32_t m_iHostagesKilled; // 0x11ac - Vector m_vecTotalBulletForce; // 0x11b0 + float m_flGroundAccelLinearFracLastTime; // 0x11a8 + int32_t m_iHostagesKilled; // 0x11ac + Vector m_vecTotalBulletForce; // 0x11b0 // MNetworkEnable - float m_flFlashDuration; // 0x11bc + float m_flFlashDuration; // 0x11bc // MNetworkEnable - float m_flFlashMaxAlpha; // 0x11c0 + float m_flFlashMaxAlpha; // 0x11c0 // MNetworkEnable - float m_flProgressBarStartTime; // 0x11c4 + float m_flProgressBarStartTime; // 0x11c4 // MNetworkEnable - int32_t m_iProgressBarDuration; // 0x11c8 + int32_t m_iProgressBarDuration; // 0x11c8 // MNetworkEnable - bool m_bWaitForNoAttack; // 0x11cc + bool m_bWaitForNoAttack; // 0x11cc // MNetworkEnable - bool m_bIsRespawningForDMBonus; // 0x11cd + bool m_bIsRespawningForDMBonus; // 0x11cd +private: + [[maybe_unused]] uint8_t __pad11ce[0x2]; // 0x11ce +public: // MNetworkEnable - float m_flLowerBodyYawTarget; // 0x11d0 + float m_flLowerBodyYawTarget; // 0x11d0 // MNetworkEnable - bool m_bStrafing; // 0x11d4 - Vector m_lastStandingPos; // 0x11d8 - float m_ignoreLadderJumpTime; // 0x11e4 - CountdownTimer m_ladderSurpressionTimer; // 0x11e8 - Vector m_lastLadderNormal; // 0x1200 - Vector m_lastLadderPos; // 0x120c + bool m_bStrafing; // 0x11d4 +private: + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 +public: + Vector m_lastStandingPos; // 0x11d8 + float m_ignoreLadderJumpTime; // 0x11e4 + CountdownTimer m_ladderSurpressionTimer; // 0x11e8 + Vector m_lastLadderNormal; // 0x1200 + Vector m_lastLadderPos; // 0x120c // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "32" // MNetworkPriority "32" - QAngle m_thirdPersonHeading; // 0x1218 + QAngle m_thirdPersonHeading; // 0x1218 // MNetworkEnable // MNetworkPriority "32" - float m_flSlopeDropOffset; // 0x1224 + float m_flSlopeDropOffset; // 0x1224 // MNetworkEnable // MNetworkPriority "32" - float m_flSlopeDropHeight; // 0x1228 + float m_flSlopeDropHeight; // 0x1228 // MNetworkEnable // MNetworkPriority "32" - Vector m_vHeadConstraintOffset; // 0x122c - int32_t m_iLastWeaponFireUsercmd; // 0x1240 + Vector m_vHeadConstraintOffset; // 0x122c +private: + [[maybe_unused]] uint8_t __pad1238[0x8]; // 0x1238 +public: + int32_t m_iLastWeaponFireUsercmd; // 0x1240 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "32" // MNetworkPriority "32" - QAngle m_angEyeAngles; // 0x1244 - bool m_bVCollisionInitted; // 0x1250 - Vector m_storedSpawnPosition; // 0x1254 - QAngle m_storedSpawnAngle; // 0x1260 - bool m_bIsSpawning; // 0x126c + QAngle m_angEyeAngles; // 0x1244 + bool m_bVCollisionInitted; // 0x1250 +private: + [[maybe_unused]] uint8_t __pad1251[0x3]; // 0x1251 +public: + Vector m_storedSpawnPosition; // 0x1254 + QAngle m_storedSpawnAngle; // 0x1260 + bool m_bIsSpawning; // 0x126c // MNetworkEnable - bool m_bHideTargetID; // 0x126d - int32_t m_nNumDangerZoneDamageHits; // 0x1270 + bool m_bHideTargetID; // 0x126d +private: + [[maybe_unused]] uint8_t __pad126e[0x2]; // 0x126e +public: + int32_t m_nNumDangerZoneDamageHits; // 0x1270 // MNetworkEnable - bool m_bHud_MiniScoreHidden; // 0x1274 + bool m_bHud_MiniScoreHidden; // 0x1274 // MNetworkEnable - bool m_bHud_RadarHidden; // 0x1275 + bool m_bHud_RadarHidden; // 0x1275 +private: + [[maybe_unused]] uint8_t __pad1276[0x2]; // 0x1276 +public: // MNetworkEnable - CEntityIndex m_nLastKillerIndex; // 0x1278 + CEntityIndex m_nLastKillerIndex; // 0x1278 // MNetworkEnable - int32_t m_nLastConcurrentKilled; // 0x127c + int32_t m_nLastConcurrentKilled; // 0x127c // MNetworkEnable - int32_t m_nDeathCamMusic; // 0x1280 + int32_t m_nDeathCamMusic; // 0x1280 // MNetworkEnable - int32_t m_iAddonBits; // 0x1284 + int32_t m_iAddonBits; // 0x1284 // MNetworkEnable - int32_t m_iPrimaryAddon; // 0x1288 + int32_t m_iPrimaryAddon; // 0x1288 // MNetworkEnable - int32_t m_iSecondaryAddon; // 0x128c - int32_t m_nTeamDamageGivenForMatch; // 0x1290 - bool m_bTDGaveProtectionWarning; // 0x1294 - bool m_bTDGaveProtectionWarningThisRound; // 0x1295 - float m_applyDeafnessTime; // 0x1298 - float m_flLastTHWarningTime; // 0x129c - CUtlStringToken m_currentDeafnessFilter; // 0x12a0 - CUtlVector< CHandle< CCSPlayerPawnBase > > m_enemyPlayersKilledThisRound; // 0x12a8 - int32_t m_NumEnemiesKilledThisSpawn; // 0x12c0 - int32_t m_maxNumEnemiesKillStreak; // 0x12c4 - int32_t m_NumEnemiesKilledThisRound; // 0x12c8 - int32_t m_NumEnemiesAtRoundStart; // 0x12cc - int32_t m_iRoundsWon; // 0x12d0 - bool m_bHasUsedDMBonusRespawn; // 0x12d4 - int32_t m_lastRoundResult; // 0x12d8 - bool m_wasNotKilledNaturally; // 0x12dc + int32_t m_iSecondaryAddon; // 0x128c + int32_t m_nTeamDamageGivenForMatch; // 0x1290 + bool m_bTDGaveProtectionWarning; // 0x1294 + bool m_bTDGaveProtectionWarningThisRound; // 0x1295 +private: + [[maybe_unused]] uint8_t __pad1296[0x2]; // 0x1296 +public: + float m_applyDeafnessTime; // 0x1298 + float m_flLastTHWarningTime; // 0x129c + CUtlStringToken m_currentDeafnessFilter; // 0x12a0 +private: + [[maybe_unused]] uint8_t __pad12a4[0x4]; // 0x12a4 +public: + CUtlVector< CHandle< CCSPlayerPawnBase > > m_enemyPlayersKilledThisRound; // 0x12a8 + int32_t m_NumEnemiesKilledThisSpawn; // 0x12c0 + int32_t m_maxNumEnemiesKillStreak; // 0x12c4 + int32_t m_NumEnemiesKilledThisRound; // 0x12c8 + int32_t m_NumEnemiesAtRoundStart; // 0x12cc + int32_t m_iRoundsWon; // 0x12d0 + bool m_bHasUsedDMBonusRespawn; // 0x12d4 +private: + [[maybe_unused]] uint8_t __pad12d5[0x3]; // 0x12d5 +public: + int32_t m_lastRoundResult; // 0x12d8 + bool m_wasNotKilledNaturally; // 0x12dc +private: + [[maybe_unused]] uint8_t __pad12dd[0x3]; // 0x12dd +public: // MNetworkEnable - uint32[5] m_vecPlayerPatchEconIndices; // 0x12e0 - int32_t m_iDeathFlags; // 0x12f4 - CHandle< CChicken > m_hPet; // 0x12f8 - float m_flLastKnownAccumulatedWeaponEncumbrance; // 0x12fc - float m_flLastTimeComputedAccumulatedWeaponEncumbrance; // 0x1300 + uint32_t m_vecPlayerPatchEconIndices[5]; // 0x12e0 + int32_t m_iDeathFlags; // 0x12f4 + CHandle< CChicken > m_hPet; // 0x12f8 + float m_flLastKnownAccumulatedWeaponEncumbrance; // 0x12fc + float m_flLastTimeComputedAccumulatedWeaponEncumbrance; // 0x1300 +private: + [[maybe_unused]] uint8_t __pad1304[0x1cc]; // 0x1304 +public: // MNetworkEnable - uint16_t m_unCurrentEquipmentValue; // 0x14d0 + uint16_t m_unCurrentEquipmentValue; // 0x14d0 // MNetworkEnable - uint16_t m_unRoundStartEquipmentValue; // 0x14d2 + uint16_t m_unRoundStartEquipmentValue; // 0x14d2 // MNetworkEnable - uint16_t m_unFreezetimeEndEquipmentValue; // 0x14d4 + uint16_t m_unFreezetimeEndEquipmentValue; // 0x14d4 // MNetworkEnable - char[18] m_szLastPlaceName; // 0x14d6 - int32_t m_nSuicides; // 0x14e8 + char m_szLastPlaceName[18]; // 0x14d6 + int32_t m_nSuicides; // 0x14e8 // MNetworkEnable - int32_t m_nSurvivalTeamNumber; // 0x14ec + int32_t m_nSurvivalTeamNumber; // 0x14ec // MNetworkEnable // MNetworkBitCount "32" - QAngle m_aimPunchAngle; // 0x14f0 + QAngle m_aimPunchAngle; // 0x14f0 // MNetworkEnable // MNetworkBitCount "32" - QAngle m_aimPunchAngleVel; // 0x14fc + QAngle m_aimPunchAngleVel; // 0x14fc // MNetworkEnable - int32_t m_aimPunchTickBase; // 0x1508 + int32_t m_aimPunchTickBase; // 0x1508 // MNetworkEnable - float m_aimPunchTickFraction; // 0x150c - CUtlVector< QAngle > m_aimPunchCache; // 0x1510 - bool m_bHasDeathInfo; // 0x1528 - float m_flDeathInfoTime; // 0x152c - Vector m_vecDeathInfoOrigin; // 0x1530 + float m_aimPunchTickFraction; // 0x150c + CUtlVector< QAngle > m_aimPunchCache; // 0x1510 + bool m_bHasDeathInfo; // 0x1528 +private: + [[maybe_unused]] uint8_t __pad1529[0x3]; // 0x1529 +public: + float m_flDeathInfoTime; // 0x152c + Vector m_vecDeathInfoOrigin; // 0x1530 // MNetworkEnable - bool m_bKilledByHeadshot; // 0x153c - int32_t m_LastHitBox; // 0x1540 - int32_t m_LastHealth; // 0x1544 - float m_flLastCollisionCeiling; // 0x1548 - float m_flLastCollisionCeilingChangeTime; // 0x154c - CUtlString m_strVOPrefix; // 0x1550 - float m_flLandseconds; // 0x1558 - CCSBot* m_pBot; // 0x1560 - bool m_bBotAllowActive; // 0x1568 - bool m_bCommittingSuicideOnTeamChange; // 0x1569 + bool m_bKilledByHeadshot; // 0x153c +private: + [[maybe_unused]] uint8_t __pad153d[0x3]; // 0x153d +public: + int32_t m_LastHitBox; // 0x1540 + int32_t m_LastHealth; // 0x1544 + float m_flLastCollisionCeiling; // 0x1548 + float m_flLastCollisionCeilingChangeTime; // 0x154c + CUtlString m_strVOPrefix; // 0x1550 + float m_flLandseconds; // 0x1558 +private: + [[maybe_unused]] uint8_t __pad155c[0x4]; // 0x155c +public: + CCSBot* m_pBot; // 0x1560 + bool m_bBotAllowActive; // 0x1568 + bool m_bCommittingSuicideOnTeamChange; // 0x1569 }; // Alignment: 0 // Size: 0x1598 -class CCSObserverPawn : public CCSPlayerPawnBase, CBasePlayerPawn, CBaseCombatCharacter, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCSObserverPawn : public CCSPlayerPawnBase +{ public: // no members available }; // Alignment: 25 // Size: 0x1b00 -class CCSPlayerPawn : public CCSPlayerPawnBase, CBasePlayerPawn, CBaseCombatCharacter, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CCSPlayerPawn : public CCSPlayerPawnBase +{ public: - CCSPlayer_ParachuteServices* m_pParachuteServices; // 0x1570 + CCSPlayer_ParachuteServices* m_pParachuteServices; // 0x1570 // MNetworkEnable - CCSPlayer_BulletServices* m_pBulletServices; // 0x1578 + CCSPlayer_BulletServices* m_pBulletServices; // 0x1578 // MNetworkEnable - CCSPlayer_HostageServices* m_pHostageServices; // 0x1580 - CCSPlayer_BuyServices* m_pBuyServices; // 0x1588 + CCSPlayer_HostageServices* m_pHostageServices; // 0x1580 + CCSPlayer_BuyServices* m_pBuyServices; // 0x1588 // MNetworkEnable - CCSPlayer_PingServices* m_pPingServices; // 0x1590 - CCSPlayer_RadioServices* m_pRadioServices; // 0x1598 - CCSPlayer_DamageReactServices* m_pDamageReactServices; // 0x15a0 + CCSPlayer_PingServices* m_pPingServices; // 0x1590 + CCSPlayer_RadioServices* m_pRadioServices; // 0x1598 + CCSPlayer_DamageReactServices* m_pDamageReactServices; // 0x15a0 +private: + [[maybe_unused]] uint8_t __pad15a8[0xc8]; // 0x15a8 +public: // MNetworkEnable - int32_t m_iRetakesOffering; // 0x1670 + int32_t m_iRetakesOffering; // 0x1670 // MNetworkEnable - int32_t m_iRetakesOfferingCard; // 0x1674 + int32_t m_iRetakesOfferingCard; // 0x1674 // MNetworkEnable - bool m_bRetakesHasDefuseKit; // 0x1678 + bool m_bRetakesHasDefuseKit; // 0x1678 // MNetworkEnable - bool m_bRetakesMVPLastRound; // 0x1679 + bool m_bRetakesMVPLastRound; // 0x1679 +private: + [[maybe_unused]] uint8_t __pad167a[0x2]; // 0x167a +public: // MNetworkEnable - int32_t m_iRetakesMVPBoostItem; // 0x167c + int32_t m_iRetakesMVPBoostItem; // 0x167c // MNetworkEnable - loadout_positions_t m_RetakesMVPBoostExtraUtility; // 0x1680 + loadout_positions_t m_RetakesMVPBoostExtraUtility; // 0x1680 // MNetworkEnable - bool m_bIsBuyMenuOpen; // 0x1684 - CTransform m_xLastHeadBoneTransform; // 0x17e0 - bool m_bLastHeadBoneTransformIsValid; // 0x1800 - int32_t m_iPlayerLocked; // 0x1804 + bool m_bIsBuyMenuOpen; // 0x1684 +private: + [[maybe_unused]] uint8_t __pad1685[0x15b]; // 0x1685 +public: + CTransform m_xLastHeadBoneTransform; // 0x17e0 + bool m_bLastHeadBoneTransformIsValid; // 0x1800 +private: + [[maybe_unused]] uint8_t __pad1801[0x3]; // 0x1801 +public: + int32_t m_iPlayerLocked; // 0x1804 +private: + [[maybe_unused]] uint8_t __pad1808[0x4]; // 0x1808 +public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flNextSprayDecalTime; // 0x180c + float m_flNextSprayDecalTime; // 0x180c +private: + [[maybe_unused]] uint8_t __pad1810[0x4]; // 0x1810 +public: // MNetworkEnable - int32_t m_nRagdollDamageBone; // 0x1814 + int32_t m_nRagdollDamageBone; // 0x1814 // MNetworkEnable - Vector m_vRagdollDamageForce; // 0x1818 + Vector m_vRagdollDamageForce; // 0x1818 // MNetworkEnable - Vector m_vRagdollDamagePosition; // 0x1824 + Vector m_vRagdollDamagePosition; // 0x1824 // MNetworkEnable - char[64] m_szRagdollDamageWeaponName; // 0x1830 + char m_szRagdollDamageWeaponName[64]; // 0x1830 // MNetworkEnable - bool m_bRagdollDamageHeadshot; // 0x1870 + bool m_bRagdollDamageHeadshot; // 0x1870 +private: + [[maybe_unused]] uint8_t __pad1871[0x7]; // 0x1871 +public: // MNetworkEnable - CEconItemView m_EconGloves; // 0x1878 + CEconItemView m_EconGloves; // 0x1878 // MNetworkEnable - QAngle m_qDeathEyeAngles; // 0x1af0 + QAngle m_qDeathEyeAngles; // 0x1af0 }; // Alignment: 6 // Size: 0xe28 -class CDZDoor : public CPropDoorRotatingBreakable, CPropDoorRotating, CBasePropDoor, CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDZDoor : public CPropDoorRotatingBreakable +{ public: - bool m_bIsSecurityDoor; // 0xde0 - CHandle< CPointDZWeaponSpawn > m_hSpawnPoint; // 0xde4 - bool m_bPaidToUnlock; // 0xde8 - int32_t m_nPlayDoorOpenSound; // 0xdec - AttachmentHandle_t m_nAttachmentIndex1; // 0xe20 - AttachmentHandle_t m_nAttachmentIndex2; // 0xe21 + bool m_bIsSecurityDoor; // 0xde0 +private: + [[maybe_unused]] uint8_t __pad0de1[0x3]; // 0xde1 +public: + CHandle< CPointDZWeaponSpawn > m_hSpawnPoint; // 0xde4 + bool m_bPaidToUnlock; // 0xde8 +private: + [[maybe_unused]] uint8_t __pad0de9[0x3]; // 0xde9 +public: + int32_t m_nPlayDoorOpenSound; // 0xdec +private: + [[maybe_unused]] uint8_t __pad0df0[0x30]; // 0xdf0 +public: + AttachmentHandle_t m_nAttachmentIndex1; // 0xe20 + AttachmentHandle_t m_nAttachmentIndex2; // 0xe21 }; // Alignment: 1 // Size: 0x970 -class CHostageExpresserShim : public CBaseCombatCharacter, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CHostageExpresserShim : public CBaseCombatCharacter +{ public: - CAI_Expresser* m_pExpresser; // 0x968 + CAI_Expresser* m_pExpresser; // 0x968 }; // Alignment: 39 // Size: 0x2c00 -class CHostage : public CHostageExpresserShim, CBaseCombatCharacter, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CHostage : public CHostageExpresserShim +{ public: - CEntityIOOutput m_OnHostageBeginGrab; // 0x980 - CEntityIOOutput m_OnFirstPickedUp; // 0x9a8 - CEntityIOOutput m_OnDroppedNotRescued; // 0x9d0 - CEntityIOOutput m_OnRescued; // 0x9f8 + CEntityIOOutput m_OnHostageBeginGrab; // 0x980 + CEntityIOOutput m_OnFirstPickedUp; // 0x9a8 + CEntityIOOutput m_OnDroppedNotRescued; // 0x9d0 + CEntityIOOutput m_OnRescued; // 0x9f8 // MNetworkEnable - EntitySpottedState_t m_entitySpottedState; // 0xa20 - int32_t m_nSpotRules; // 0xa38 - uint32_t m_uiHostageSpawnExclusionGroupMask; // 0xa3c - uint32_t m_nHostageSpawnRandomFactor; // 0xa40 - bool m_bRemove; // 0xa44 + EntitySpottedState_t m_entitySpottedState; // 0xa20 + int32_t m_nSpotRules; // 0xa38 + uint32_t m_uiHostageSpawnExclusionGroupMask; // 0xa3c + uint32_t m_nHostageSpawnRandomFactor; // 0xa40 + bool m_bRemove; // 0xa44 +private: + [[maybe_unused]] uint8_t __pad0a45[0x3]; // 0xa45 +public: // MNetworkEnable - Vector m_vel; // 0xa48 + Vector m_vel; // 0xa48 // MNetworkEnable - bool m_isRescued; // 0xa54 + bool m_isRescued; // 0xa54 // MNetworkEnable - bool m_jumpedThisFrame; // 0xa55 + bool m_jumpedThisFrame; // 0xa55 +private: + [[maybe_unused]] uint8_t __pad0a56[0x2]; // 0xa56 +public: // MNetworkEnable - int32_t m_nHostageState; // 0xa58 + int32_t m_nHostageState; // 0xa58 // MNetworkEnable - CHandle< CBaseEntity > m_leader; // 0xa5c - CHandle< CCSPlayerPawnBase > m_lastLeader; // 0xa60 - CountdownTimer m_reuseTimer; // 0xa68 - bool m_hasBeenUsed; // 0xa80 - Vector m_accel; // 0xa84 - bool m_isRunning; // 0xa90 - bool m_isCrouching; // 0xa91 - CountdownTimer m_jumpTimer; // 0xa98 - bool m_isWaitingForLeader; // 0xab0 - CountdownTimer m_repathTimer; // 0x2ac0 - CountdownTimer m_inhibitDoorTimer; // 0x2ad8 - CountdownTimer m_inhibitObstacleAvoidanceTimer; // 0x2b68 - CountdownTimer m_wiggleTimer; // 0x2b88 - bool m_isAdjusted; // 0x2ba4 - bool m_bHandsHaveBeenCut; // 0x2ba5 - CHandle< CCSPlayerPawn > m_pHostageGrabber; // 0x2ba8 - GameTime_t m_fLastGrabTime; // 0x2bac - float m_flGrabbingLength; // 0x2bb0 - Vector m_vecPositionWhenStartedDroppingToGround; // 0x2bb4 - Vector m_vecGrabbedPos; // 0x2bc0 + CHandle< CBaseEntity > m_leader; // 0xa5c + CHandle< CCSPlayerPawnBase > m_lastLeader; // 0xa60 +private: + [[maybe_unused]] uint8_t __pad0a64[0x4]; // 0xa64 +public: + CountdownTimer m_reuseTimer; // 0xa68 + bool m_hasBeenUsed; // 0xa80 +private: + [[maybe_unused]] uint8_t __pad0a81[0x3]; // 0xa81 +public: + Vector m_accel; // 0xa84 + bool m_isRunning; // 0xa90 + bool m_isCrouching; // 0xa91 +private: + [[maybe_unused]] uint8_t __pad0a92[0x6]; // 0xa92 +public: + CountdownTimer m_jumpTimer; // 0xa98 + bool m_isWaitingForLeader; // 0xab0 +private: + [[maybe_unused]] uint8_t __pad0ab1[0x200f]; // 0xab1 +public: + CountdownTimer m_repathTimer; // 0x2ac0 + CountdownTimer m_inhibitDoorTimer; // 0x2ad8 +private: + [[maybe_unused]] uint8_t __pad2af0[0x78]; // 0x2af0 +public: + CountdownTimer m_inhibitObstacleAvoidanceTimer; // 0x2b68 +private: + [[maybe_unused]] uint8_t __pad2b80[0x8]; // 0x2b80 +public: + CountdownTimer m_wiggleTimer; // 0x2b88 +private: + [[maybe_unused]] uint8_t __pad2ba0[0x4]; // 0x2ba0 +public: + bool m_isAdjusted; // 0x2ba4 + bool m_bHandsHaveBeenCut; // 0x2ba5 +private: + [[maybe_unused]] uint8_t __pad2ba6[0x2]; // 0x2ba6 +public: + CHandle< CCSPlayerPawn > m_pHostageGrabber; // 0x2ba8 + GameTime_t m_fLastGrabTime; // 0x2bac + float m_flGrabbingLength; // 0x2bb0 + Vector m_vecPositionWhenStartedDroppingToGround; // 0x2bb4 + Vector m_vecGrabbedPos; // 0x2bc0 // MNetworkEnable - GameTime_t m_flRescueStartTime; // 0x2bcc + GameTime_t m_flRescueStartTime; // 0x2bcc // MNetworkEnable - GameTime_t m_flGrabSuccessTime; // 0x2bd0 + GameTime_t m_flGrabSuccessTime; // 0x2bd0 // MNetworkEnable - GameTime_t m_flDropStartTime; // 0x2bd4 - int32_t m_nApproachRewardPayouts; // 0x2bd8 - int32_t m_nPickupEventCount; // 0x2bdc - Vector m_vecSpawnGroundPos; // 0x2be0 + GameTime_t m_flDropStartTime; // 0x2bd4 + int32_t m_nApproachRewardPayouts; // 0x2bd8 + int32_t m_nPickupEventCount; // 0x2bdc + Vector m_vecSpawnGroundPos; // 0x2be0 }; // Alignment: 0 // Size: 0x2c00 -class CHostageAlias_info_hostage_spawn : public CHostage, CHostageExpresserShim, CBaseCombatCharacter, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CHostageAlias_info_hostage_spawn : public CHostage +{ public: // no members available }; // Alignment: 0 // Size: 0x918 -class CItemDefuserAlias_item_defuser : public CItemDefuser, CItem, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CItemDefuserAlias_item_defuser : public CItemDefuser +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CAK47 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CAK47 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponAug : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponAug : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponAWP : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponAWP : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponBizon : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponBizon : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponFamas : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponFamas : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponFiveSeven : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponFiveSeven : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponG3SG1 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponG3SG1 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponGalilAR : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponGalilAR : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponGlock : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponGlock : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponHKP2000 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponHKP2000 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponM4A1 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponM4A1 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponMAC10 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponMAC10 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponMag7 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponMag7 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponMP7 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponMP7 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponMP9 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponMP9 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponNegev : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponNegev : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponP250 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponP250 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponP90 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponP90 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponSCAR20 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponSCAR20 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponSG556 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponSG556 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponSSG08 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponSSG08 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponTec9 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponTec9 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponUMP45 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponUMP45 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd70 -class CWeaponM249 : public CWeaponCSBaseGun, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CWeaponM249 : public CWeaponCSBaseGun +{ public: // no members available }; // Alignment: 0 // Size: 0xd90 -class CMolotovGrenade : public CBaseCSGrenade, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CMolotovGrenade : public CBaseCSGrenade +{ public: // no members available }; // Alignment: 0 // Size: 0xd90 -class CIncendiaryGrenade : public CMolotovGrenade, CBaseCSGrenade, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CIncendiaryGrenade : public CMolotovGrenade +{ public: // no members available }; // Alignment: 0 // Size: 0xd90 -class CDecoyGrenade : public CBaseCSGrenade, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CDecoyGrenade : public CBaseCSGrenade +{ public: // no members available }; // Alignment: 0 // Size: 0xd90 -class CFlashbang : public CBaseCSGrenade, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CFlashbang : public CBaseCSGrenade +{ public: // no members available }; // Alignment: 0 // Size: 0xd90 -class CHEGrenade : public CBaseCSGrenade, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CHEGrenade : public CBaseCSGrenade +{ public: // no members available }; // Alignment: 0 // Size: 0xd98 -class CSmokeGrenade : public CBaseCSGrenade, CWeaponCSBase, CBasePlayerWeapon, CEconEntity, CBaseFlex, CBaseAnimGraph, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity -{ +class CSmokeGrenade : public CBaseCSGrenade +{ public: // no members available }; diff --git a/sdk/soundsystem.hpp b/sdk/soundsystem.hpp index e42ac456..4cc911a6 100644 --- a/sdk/soundsystem.hpp +++ b/sdk/soundsystem.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: soundsystem.dll // Classes count: 36 // Enums count: 13 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x1e enum class soundlevel_t : uint32_t -{ +{ SNDLVL_NONE = 0x0, SNDLVL_20dB = 0x14, SNDLVL_25dB = 0x19, @@ -47,7 +48,7 @@ enum class soundlevel_t : uint32_t // Alignment: 4 // Size: 0x3 enum class ActionType_t : uint32_t -{ +{ SOS_ACTION_NONE = 0x0, SOS_ACTION_LIMITER = 0x1, SOS_ACTION_TIME_LIMIT = 0x2, @@ -56,7 +57,7 @@ enum class ActionType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class SosActionStopType_t : uint32_t -{ +{ SOS_STOPTYPE_NONE = 0x0, SOS_STOPTYPE_TIME = 0x1, SOS_STOPTYPE_OPVAR = 0x2, @@ -65,7 +66,7 @@ enum class SosActionStopType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class SosActionSortType_t : uint32_t -{ +{ SOS_SORTTYPE_HIGHEST = 0x0, SOS_SORTTYPE_LOWEST = 0x1, }; @@ -73,7 +74,7 @@ enum class SosActionSortType_t : uint32_t // Alignment: 4 // Size: 0x2 enum class SosGroupType_t : uint32_t -{ +{ SOS_GROUPTYPE_DYNAMIC = 0x0, SOS_GROUPTYPE_STATIC = 0x1, }; @@ -81,7 +82,7 @@ enum class SosGroupType_t : uint32_t // Alignment: 4 // Size: 0x6 enum class SosEditItemType_t : uint32_t -{ +{ SOS_EDIT_ITEM_TYPE_SOUNDEVENTS = 0x0, SOS_EDIT_ITEM_TYPE_SOUNDEVENT = 0x1, SOS_EDIT_ITEM_TYPE_LIBRARYSTACKS = 0x2, @@ -93,7 +94,7 @@ enum class SosEditItemType_t : uint32_t // Alignment: 2 // Size: 0xa enum class VMixFilterType_t : uint16_t -{ +{ FILTER_UNKNOWN = 0xffffffffffffffff, FILTER_LOWPASS = 0x0, FILTER_HIGHPASS = 0x1, @@ -109,7 +110,7 @@ enum class VMixFilterType_t : uint16_t // Alignment: 1 // Size: 0x9 enum class VMixFilterSlope_t : uint8_t -{ +{ FILTER_SLOPE_1POLE_6dB = 0x0, FILTER_SLOPE_1POLE_12dB = 0x1, FILTER_SLOPE_1POLE_18dB = 0x2, @@ -124,7 +125,7 @@ enum class VMixFilterSlope_t : uint8_t // Alignment: 2 // Size: 0x1e enum class VMixProcessorType_t : uint16_t -{ +{ VPROCESSOR_UNKNOWN = 0x0, VPROCESSOR_STEAMAUDIO_REVERB = 0x1, VPROCESSOR_RT_PITCH = 0x2, @@ -160,7 +161,7 @@ enum class VMixProcessorType_t : uint16_t // Alignment: 4 // Size: 0x5 enum class VMixLFOShape_t : uint32_t -{ +{ LFO_SHAPE_SINE = 0x0, LFO_SHAPE_SQUARE = 0x1, LFO_SHAPE_TRI = 0x2, @@ -171,7 +172,7 @@ enum class VMixLFOShape_t : uint32_t // Alignment: 4 // Size: 0x2 enum class VMixPannerType_t : uint32_t -{ +{ PANNER_TYPE_LINEAR = 0x0, PANNER_TYPE_EQUAL_POWER = 0x1, }; @@ -179,7 +180,7 @@ enum class VMixPannerType_t : uint32_t // Alignment: 4 // Size: 0x3 enum class VMixSubgraphSwitchInterpolationType_t : uint32_t -{ +{ SUBGRAPH_INTERPOLATION_TEMPORAL_CROSSFADE = 0x0, SUBGRAPH_INTERPOLATION_TEMPORAL_FADE_OUT = 0x1, SUBGRAPH_INTERPOLATION_KEEP_LAST_SUBGRAPH_RUNNING = 0x2, @@ -188,7 +189,7 @@ enum class VMixSubgraphSwitchInterpolationType_t : uint32_t // Alignment: 4 // Size: 0x6 enum class VMixChannelOperation_t : uint32_t -{ +{ VMIX_CHAN_STEREO = 0x0, VMIX_CHAN_LEFT = 0x1, VMIX_CHAN_RIGHT = 0x2, @@ -197,543 +198,577 @@ enum class VMixChannelOperation_t : uint32_t VMIX_CHAN_MID_SIDE = 0x5, }; +struct CSosGroupMatchPattern; +struct CSosGroupBranchPattern; +struct VMixFilterDesc_t; + // Alignment: 3 // Size: 0x18 -class CSosGroupActionSchema : public -{ +class CSosGroupActionSchema +{ public: // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x8 + CUtlString m_name; // 0x8 // MPropertyFriendlyName "Action Type" - ActionType_t m_actionType; // 0x10 + ActionType_t m_actionType; // 0x10 // MPropertySuppressField - ActionType_t m_actionInstanceType; // 0x14 + ActionType_t m_actionInstanceType; // 0x14 }; // Alignment: 3 // Size: 0x28 class CSosGroupActionLimitSchema : public CSosGroupActionSchema -{ +{ public: // MPropertyFriendlyName "Max Count" - int32_t m_nMaxCount; // 0x18 + int32_t m_nMaxCount; // 0x18 // MPropertyAttributeChoiceEnumName // MPropertyFriendlyName "Stop Type" - SosActionStopType_t m_nStopType; // 0x1c + SosActionStopType_t m_nStopType; // 0x1c // MPropertyAttributeChoiceEnumName // MPropertyFriendlyName "Sort Type" - SosActionSortType_t m_nSortType; // 0x20 + SosActionSortType_t m_nSortType; // 0x20 }; // Alignment: 1 // Size: 0x20 class CSosGroupActionTimeLimitSchema : public CSosGroupActionSchema -{ +{ public: // MPropertyFriendlyName "Max Time" - float m_flMaxDuration; // 0x18 + float m_flMaxDuration; // 0x18 }; // Alignment: 4 // Size: 0x10 -class CSosGroupBranchPattern : public -{ +class CSosGroupBranchPattern +{ public: // MPropertyFriendlyName "Event Name" - bool m_bMatchEventName; // 0x8 + bool m_bMatchEventName; // 0x8 // MPropertyFriendlyName "Sub-String" - bool m_bMatchEventSubString; // 0x9 + bool m_bMatchEventSubString; // 0x9 // MPropertyFriendlyName "Source Entity Index" - bool m_bMatchEntIndex; // 0xa + bool m_bMatchEntIndex; // 0xa // MPropertyFriendlyName "Operator Variable" - bool m_bMatchOpvar; // 0xb + bool m_bMatchOpvar; // 0xb }; // Alignment: 4 // Size: 0x28 class CSosGroupMatchPattern : public CSosGroupBranchPattern -{ +{ public: // MPropertyFriendlyName "Event Name" - CUtlString m_matchSoundEventName; // 0x10 + CUtlString m_matchSoundEventName; // 0x10 // MPropertyFriendlyName "Sub-String" - CUtlString m_matchSoundEventSubString; // 0x18 + CUtlString m_matchSoundEventSubString; // 0x18 // MPropertyFriendlyName "Entity Index" - float m_flEntIndex; // 0x20 + float m_flEntIndex; // 0x20 // MPropertyFriendlyName "Operator Variable Value" - float m_flOpvar; // 0x24 + float m_flOpvar; // 0x24 }; // Alignment: 8 // Size: 0xd0 -class CSosSoundEventGroupSchema : public -{ +class CSosSoundEventGroupSchema +{ public: // MPropertyFriendlyName "Group Name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 // MPropertyAttributeChoiceEnumName // MPropertyFriendlyName "Group Type" - SosGroupType_t m_nType; // 0x8 + SosGroupType_t m_nType; // 0x8 // MPropertyFriendlyName "Blocks Events" - bool m_bIsBlocking; // 0xc + bool m_bIsBlocking; // 0xc +private: + [[maybe_unused]] uint8_t __pad000d[0x3]; // 0xd +public: // MPropertyFriendlyName "Block Max Count" - int32_t m_nBlockMaxCount; // 0x10 + int32_t m_nBlockMaxCount; // 0x10 // MPropertyFriendlyName "Invert Match" - bool m_bInvertMatch; // 0x14 + bool m_bInvertMatch; // 0x14 +private: + [[maybe_unused]] uint8_t __pad0015[0x3]; // 0x15 +public: // MPropertyFriendlyName "Match Rules" - CSosGroupMatchPattern m_matchPattern; // 0x18 + CSosGroupMatchPattern m_matchPattern; // 0x18 // MPropertyFriendlyName "Branch Rules" - CSosGroupBranchPattern m_branchPattern; // 0x40 + CSosGroupBranchPattern m_branchPattern; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0050[0x60]; // 0x50 +public: // MPropertyFriendlyName "Actions" - CSosGroupActionSchema*[4] m_vActions; // 0xb0 + CSosGroupActionSchema* m_vActions[4]; // 0xb0 }; // Alignment: 1 // Size: 0x18 -class CSosSoundEventGroupListSchema : public -{ +class CSosSoundEventGroupListSchema +{ public: // MPropertyAutoExpandSelf // MPropertyFriendlyName "Groups" - CUtlVector< CSosSoundEventGroupSchema > m_groupList; // 0x0 + CUtlVector< CSosSoundEventGroupSchema > m_groupList; // 0x0 }; // Alignment: 5 // Size: 0x30 -struct SosEditItemInfo_t : public -{ +struct SosEditItemInfo_t +{ public: - SosEditItemType_t itemType; // 0x0 - CUtlString itemName; // 0x8 - CUtlString itemTypeName; // 0x10 - CUtlString itemKVString; // 0x20 - Vector2D itemPos; // 0x28 + SosEditItemType_t itemType; // 0x0 + CUtlString itemName; // 0x8 + CUtlString itemTypeName; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0018[0x8]; // 0x18 +public: + CUtlString itemKVString; // 0x20 + Vector2D itemPos; // 0x28 }; // Alignment: 1 // Size: 0x18 -struct SelectedEditItemInfo_t : public -{ +struct SelectedEditItemInfo_t +{ public: - CUtlVector< SosEditItemInfo_t > m_EditItems; // 0x0 + CUtlVector< SosEditItemInfo_t > m_EditItems; // 0x0 }; // Alignment: 1 // Size: 0x8 -class CSoundEventMetaData : public -{ +class CSoundEventMetaData +{ public: - CStrongHandle< InfoForResourceTypeCVMixListResource > m_soundEventVMix; // 0x0 + CStrongHandle< InfoForResourceTypeCVMixListResource > m_soundEventVMix; // 0x0 }; // Alignment: 6 // Size: 0x20 -class CDSPMixgroupModifier : public -{ +class CDSPMixgroupModifier +{ public: // MPropertyDescription "Name of the mixgroup. TODO: needs to be autopopulated with mixgroups." // MPropertyFriendlyName "Mixgroup Name" - CUtlString m_mixgroup; // 0x0 + CUtlString m_mixgroup; // 0x0 // MPropertyDescription "The amount to multiply the volume of the non-spatialized reverb/dsp by when at the max reverb blend distance. 1.0 leaves the volume unchanged." // MPropertyFriendlyName "Max reverb gain amount for listener DSP." - float m_flModifier; // 0x8 + float m_flModifier; // 0x8 // MPropertyDescription "The amount to multiply the volume of the non-spatialized reverb/dsp by when at the min reverb blend distance. 1.0 leaves the volume unchanged." // MPropertyFriendlyName "Min reverb gain amount amount for listener DSP." - float m_flModifierMin; // 0xc + float m_flModifierMin; // 0xc // MPropertyDescription "If set to >= 0, we will use this mix modifier for source-specific DSP effects. Otherwise we will use the listener DSP value." // MPropertyFriendlyName "Max reverb gain amount for source-specific DSP." - float m_flSourceModifier; // 0x10 + float m_flSourceModifier; // 0x10 // MPropertyDescription "If set to >= 0, we will use this mix modifier for source-specific DSP effects. Otherwise we will use the listener DSP value." // MPropertyFriendlyName "Min reverb gain amount for source-specific DSP." - float m_flSourceModifierMin; // 0x14 + float m_flSourceModifierMin; // 0x14 // MPropertyDescription "When a source has source-specific DSP, this can be used as an additional mix stage for the listener reverb amount." // MPropertyFriendlyName "Modification amount for listener DSP when source DSP is used." - float m_flListenerReverbModifierWhenSourceReverbIsActive; // 0x18 + float m_flListenerReverbModifierWhenSourceReverbIsActive; // 0x18 }; // Alignment: 2 // Size: 0x20 -class CDspPresetModifierList : public -{ +class CDspPresetModifierList +{ public: // MPropertyDescription "Name of the DSP effect / subgraph used." // MPropertyFriendlyName "DSP Effect Name" - CUtlString m_dspName; // 0x0 + CUtlString m_dspName; // 0x0 // MPropertyDescription "Set of modifiers for individual mix groups" // MPropertyFriendlyName "Mixgroup Modifiers" - CUtlVector< CDSPMixgroupModifier > m_modifiers; // 0x8 + CUtlVector< CDSPMixgroupModifier > m_modifiers; // 0x8 }; // Alignment: 1 // Size: 0x18 -class CDSPPresetMixgroupModifierTable : public -{ +class CDSPPresetMixgroupModifierTable +{ public: // MPropertyDescription "Table of mixgroup modifiers for effect names." // MPropertyFriendlyName "Modifier Table" - CUtlVector< CDspPresetModifierList > m_table; // 0x0 + CUtlVector< CDspPresetModifierList > m_table; // 0x0 }; // Alignment: 6 // Size: 0x10 -struct VMixFilterDesc_t : public -{ +struct VMixFilterDesc_t +{ public: - VMixFilterType_t m_nFilterType; // 0x0 - VMixFilterSlope_t m_nFilterSlope; // 0x2 - bool m_bEnabled; // 0x3 - float m_fldbGain; // 0x4 - float m_flCutoffFreq; // 0x8 - float m_flQ; // 0xc + VMixFilterType_t m_nFilterType; // 0x0 + VMixFilterSlope_t m_nFilterSlope; // 0x2 + bool m_bEnabled; // 0x3 + float m_fldbGain; // 0x4 + float m_flCutoffFreq; // 0x8 + float m_flQ; // 0xc }; // Alignment: 1 // Size: 0x80 -struct VMixEQ8Desc_t : public -{ +struct VMixEQ8Desc_t +{ public: - VMixFilterDesc_t[8] m_stages; // 0x0 + VMixFilterDesc_t m_stages[8]; // 0x0 }; // Alignment: 7 // Size: 0x28 -struct VMixDelayDesc_t : public -{ +struct VMixDelayDesc_t +{ public: - VMixFilterDesc_t m_feedbackFilter; // 0x0 - bool m_bEnableFilter; // 0x10 - float m_flDelay; // 0x14 - float m_flDirectGain; // 0x18 - float m_flDelayGain; // 0x1c - float m_flFeedbackGain; // 0x20 - float m_flWidth; // 0x24 + VMixFilterDesc_t m_feedbackFilter; // 0x0 + bool m_bEnableFilter; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 +public: + float m_flDelay; // 0x14 + float m_flDirectGain; // 0x18 + float m_flDelayGain; // 0x1c + float m_flFeedbackGain; // 0x20 + float m_flWidth; // 0x24 }; // Alignment: 2 // Size: 0x8 -struct VMixPannerDesc_t : public -{ +struct VMixPannerDesc_t +{ public: - VMixPannerType_t m_type; // 0x0 - float m_flStrength; // 0x4 + VMixPannerType_t m_type; // 0x0 + float m_flStrength; // 0x4 }; // Alignment: 9 // Size: 0x30 -struct VMixModDelayDesc_t : public -{ +struct VMixModDelayDesc_t +{ public: - VMixFilterDesc_t m_feedbackFilter; // 0x0 - bool m_bPhaseInvert; // 0x10 - float m_flGlideTime; // 0x14 - float m_flDelay; // 0x18 - float m_flOutputGain; // 0x1c - float m_flFeedbackGain; // 0x20 - float m_flModRate; // 0x24 - float m_flModDepth; // 0x28 - bool m_bApplyAntialiasing; // 0x2c + VMixFilterDesc_t m_feedbackFilter; // 0x0 + bool m_bPhaseInvert; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 +public: + float m_flGlideTime; // 0x14 + float m_flDelay; // 0x18 + float m_flOutputGain; // 0x1c + float m_flFeedbackGain; // 0x20 + float m_flModRate; // 0x24 + float m_flModDepth; // 0x28 + bool m_bApplyAntialiasing; // 0x2c }; // Alignment: 4 // Size: 0x10 -struct VMixDiffusorDesc_t : public -{ +struct VMixDiffusorDesc_t +{ public: - float m_flSize; // 0x0 - float m_flComplexity; // 0x4 - float m_flFeedback; // 0x8 - float m_flOutputGain; // 0xc + float m_flSize; // 0x0 + float m_flComplexity; // 0x4 + float m_flFeedback; // 0x8 + float m_flOutputGain; // 0xc }; // Alignment: 17 // Size: 0x50 -struct VMixBoxverbDesc_t : public -{ +struct VMixBoxverbDesc_t +{ public: - float m_flSizeMax; // 0x0 - float m_flSizeMin; // 0x4 - float m_flComplexity; // 0x8 - float m_flDiffusion; // 0xc - float m_flModDepth; // 0x10 - float m_flModRate; // 0x14 - bool m_bParallel; // 0x18 - VMixFilterDesc_t m_filterType; // 0x1c - float m_flWidth; // 0x2c - float m_flHeight; // 0x30 - float m_flDepth; // 0x34 - float m_flFeedbackScale; // 0x38 - float m_flFeedbackWidth; // 0x3c - float m_flFeedbackHeight; // 0x40 - float m_flFeedbackDepth; // 0x44 - float m_flOutputGain; // 0x48 - float m_flTaps; // 0x4c + float m_flSizeMax; // 0x0 + float m_flSizeMin; // 0x4 + float m_flComplexity; // 0x8 + float m_flDiffusion; // 0xc + float m_flModDepth; // 0x10 + float m_flModRate; // 0x14 + bool m_bParallel; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + VMixFilterDesc_t m_filterType; // 0x1c + float m_flWidth; // 0x2c + float m_flHeight; // 0x30 + float m_flDepth; // 0x34 + float m_flFeedbackScale; // 0x38 + float m_flFeedbackWidth; // 0x3c + float m_flFeedbackHeight; // 0x40 + float m_flFeedbackDepth; // 0x44 + float m_flOutputGain; // 0x48 + float m_flTaps; // 0x4c }; // Alignment: 4 // Size: 0x10 -struct VMixFreeverbDesc_t : public -{ +struct VMixFreeverbDesc_t +{ public: - float m_flRoomSize; // 0x0 - float m_flDamp; // 0x4 - float m_flWidth; // 0x8 - float m_flLateReflections; // 0xc + float m_flRoomSize; // 0x0 + float m_flDamp; // 0x4 + float m_flWidth; // 0x8 + float m_flLateReflections; // 0xc }; // Alignment: 7 // Size: 0x1c -struct VMixPlateverbDesc_t : public -{ +struct VMixPlateverbDesc_t +{ public: - float m_flPrefilter; // 0x0 - float m_flInputDiffusion1; // 0x4 - float m_flInputDiffusion2; // 0x8 - float m_flDecay; // 0xc - float m_flDamp; // 0x10 - float m_flFeedbackDiffusion1; // 0x14 - float m_flFeedbackDiffusion2; // 0x18 + float m_flPrefilter; // 0x0 + float m_flInputDiffusion1; // 0x4 + float m_flInputDiffusion2; // 0x8 + float m_flDecay; // 0xc + float m_flDamp; // 0x10 + float m_flFeedbackDiffusion1; // 0x14 + float m_flFeedbackDiffusion2; // 0x18 }; // Alignment: 12 // Size: 0x30 -struct VMixDynamicsDesc_t : public -{ +struct VMixDynamicsDesc_t +{ public: - float m_fldbGain; // 0x0 - float m_fldbNoiseGateThreshold; // 0x4 - float m_fldbCompressionThreshold; // 0x8 - float m_fldbLimiterThreshold; // 0xc - float m_fldbKneeWidth; // 0x10 - float m_flRatio; // 0x14 - float m_flLimiterRatio; // 0x18 - float m_flAttackTimeMS; // 0x1c - float m_flReleaseTimeMS; // 0x20 - float m_flRMSTimeMS; // 0x24 - float m_flWetMix; // 0x28 - bool m_bPeakMode; // 0x2c + float m_fldbGain; // 0x0 + float m_fldbNoiseGateThreshold; // 0x4 + float m_fldbCompressionThreshold; // 0x8 + float m_fldbLimiterThreshold; // 0xc + float m_fldbKneeWidth; // 0x10 + float m_flRatio; // 0x14 + float m_flLimiterRatio; // 0x18 + float m_flAttackTimeMS; // 0x1c + float m_flReleaseTimeMS; // 0x20 + float m_flRMSTimeMS; // 0x24 + float m_flWetMix; // 0x28 + bool m_bPeakMode; // 0x2c }; // Alignment: 9 // Size: 0x24 -struct VMixDynamicsCompressorDesc_t : public -{ +struct VMixDynamicsCompressorDesc_t +{ public: // MPropertyFriendlyName "Output Gain (dB)" - float m_fldbOutputGain; // 0x0 + float m_fldbOutputGain; // 0x0 // MPropertyFriendlyName "Threshold (dB)" - float m_fldbCompressionThreshold; // 0x4 + float m_fldbCompressionThreshold; // 0x4 // MPropertyFriendlyName "Knee Width (dB)" - float m_fldbKneeWidth; // 0x8 + float m_fldbKneeWidth; // 0x8 // MPropertyFriendlyName "Compression Ratio" - float m_flCompressionRatio; // 0xc + float m_flCompressionRatio; // 0xc // MPropertyFriendlyName "Attack time (ms)" - float m_flAttackTimeMS; // 0x10 + float m_flAttackTimeMS; // 0x10 // MPropertyFriendlyName "Release time (ms)" - float m_flReleaseTimeMS; // 0x14 + float m_flReleaseTimeMS; // 0x14 // MPropertyFriendlyName "Threshold detection time (ms)" - float m_flRMSTimeMS; // 0x18 + float m_flRMSTimeMS; // 0x18 // MPropertyFriendlyName "Dry/Wet" - float m_flWetMix; // 0x1c + float m_flWetMix; // 0x1c // MPropertyFriendlyName "Peak mode" - bool m_bPeakMode; // 0x20 + bool m_bPeakMode; // 0x20 }; // Alignment: 10 // Size: 0x24 -struct VMixDynamicsBand_t : public -{ +struct VMixDynamicsBand_t +{ public: // MPropertyFriendlyName "Input Gain (dB)" - float m_fldbGainInput; // 0x0 + float m_fldbGainInput; // 0x0 // MPropertyFriendlyName "Output Gain (dB)" - float m_fldbGainOutput; // 0x4 + float m_fldbGainOutput; // 0x4 // MPropertyFriendlyName "Below Threshold(dB)" - float m_fldbThresholdBelow; // 0x8 + float m_fldbThresholdBelow; // 0x8 // MPropertyFriendlyName "Above Threshold(dB)" - float m_fldbThresholdAbove; // 0xc + float m_fldbThresholdAbove; // 0xc // MPropertyFriendlyName "Upward Ratio" - float m_flRatioBelow; // 0x10 + float m_flRatioBelow; // 0x10 // MPropertyFriendlyName "Downward Ratio" - float m_flRatioAbove; // 0x14 + float m_flRatioAbove; // 0x14 // MPropertyFriendlyName "Attack time (ms)" - float m_flAttackTimeMS; // 0x18 + float m_flAttackTimeMS; // 0x18 // MPropertyFriendlyName "Release time (ms)" - float m_flReleaseTimeMS; // 0x1c + float m_flReleaseTimeMS; // 0x1c // MPropertyFriendlyName "Enabled" - bool m_bEnable; // 0x20 + bool m_bEnable; // 0x20 // MPropertyFriendlyName "Solo" - bool m_bSolo; // 0x21 + bool m_bSolo; // 0x21 }; // Alignment: 10 // Size: 0x90 -struct VMixDynamics3BandDesc_t : public -{ +struct VMixDynamics3BandDesc_t +{ public: - float m_fldbGainOutput; // 0x0 - float m_flRMSTimeMS; // 0x4 - float m_fldbKneeWidth; // 0x8 - float m_flDepth; // 0xc - float m_flWetMix; // 0x10 - float m_flTimeScale; // 0x14 - float m_flLowCutoffFreq; // 0x18 - float m_flHighCutoffFreq; // 0x1c - bool m_bPeakMode; // 0x20 - VMixDynamicsBand_t[3] m_bandDesc; // 0x24 + float m_fldbGainOutput; // 0x0 + float m_flRMSTimeMS; // 0x4 + float m_fldbKneeWidth; // 0x8 + float m_flDepth; // 0xc + float m_flWetMix; // 0x10 + float m_flTimeScale; // 0x14 + float m_flLowCutoffFreq; // 0x18 + float m_flHighCutoffFreq; // 0x1c + bool m_bPeakMode; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0021[0x3]; // 0x21 +public: + VMixDynamicsBand_t m_bandDesc[3]; // 0x24 }; // Alignment: 3 // Size: 0xc -struct VMixEnvelopeDesc_t : public -{ +struct VMixEnvelopeDesc_t +{ public: - float m_flAttackTimeMS; // 0x0 - float m_flHoldTimeMS; // 0x4 - float m_flReleaseTimeMS; // 0x8 + float m_flAttackTimeMS; // 0x0 + float m_flHoldTimeMS; // 0x4 + float m_flReleaseTimeMS; // 0x8 }; // Alignment: 4 // Size: 0x10 -struct VMixPitchShiftDesc_t : public -{ +struct VMixPitchShiftDesc_t +{ public: - int32_t m_nGrainSampleCount; // 0x0 - float m_flPitchShift; // 0x4 - int32_t m_nQuality; // 0x8 - int32_t m_nProcType; // 0xc + int32_t m_nGrainSampleCount; // 0x0 + float m_flPitchShift; // 0x4 + int32_t m_nQuality; // 0x8 + int32_t m_nProcType; // 0xc }; // Alignment: 8 // Size: 0x20 -struct VMixConvolutionDesc_t : public -{ +struct VMixConvolutionDesc_t +{ public: // MPropertyFriendlyName "gain of wet signal (dB)" // MPropertyAttributeRange "-36 3" - float m_fldbGain; // 0x0 + float m_fldbGain; // 0x0 // MPropertyFriendlyName "Pre-delay (ms)" - float m_flPreDelayMS; // 0x4 + float m_flPreDelayMS; // 0x4 // MPropertyFriendlyName "Dry/Wet" - float m_flWetMix; // 0x8 + float m_flWetMix; // 0x8 // MPropertyFriendlyName "Low EQ gain (dB)" // MPropertyAttributeRange "-24 24" - float m_fldbLow; // 0xc + float m_fldbLow; // 0xc // MPropertyFriendlyName "Mid EQ gain (dB)" // MPropertyAttributeRange "-24 24" - float m_fldbMid; // 0x10 + float m_fldbMid; // 0x10 // MPropertyFriendlyName "High EQ gain (dB)" // MPropertyAttributeRange "-24 24" - float m_fldbHigh; // 0x14 + float m_fldbHigh; // 0x14 // MPropertyFriendlyName "Low Cutoff Freq (Hz)" - float m_flLowCutoffFreq; // 0x18 + float m_flLowCutoffFreq; // 0x18 // MPropertyFriendlyName "High Cutoff Freq (Hz)" - float m_flHighCutoffFreq; // 0x1c + float m_flHighCutoffFreq; // 0x1c }; // Alignment: 10 // Size: 0x28 -struct VMixVocoderDesc_t : public -{ +struct VMixVocoderDesc_t +{ public: - int32_t m_nBandCount; // 0x0 - float m_flBandwidth; // 0x4 - float m_fldBModGain; // 0x8 - float m_flFreqRangeStart; // 0xc - float m_flFreqRangeEnd; // 0x10 - float m_fldBUnvoicedGain; // 0x14 - float m_flAttackTimeMS; // 0x18 - float m_flReleaseTimeMS; // 0x1c - int32_t m_nDebugBand; // 0x20 - bool m_bPeakMode; // 0x24 + int32_t m_nBandCount; // 0x0 + float m_flBandwidth; // 0x4 + float m_fldBModGain; // 0x8 + float m_flFreqRangeStart; // 0xc + float m_flFreqRangeEnd; // 0x10 + float m_fldBUnvoicedGain; // 0x14 + float m_flAttackTimeMS; // 0x18 + float m_flReleaseTimeMS; // 0x1c + int32_t m_nDebugBand; // 0x20 + bool m_bPeakMode; // 0x24 }; // Alignment: 5 // Size: 0x14 -struct VMixShaperDesc_t : public -{ +struct VMixShaperDesc_t +{ public: // MPropertyFriendlyName "Shape" // MPropertyAttributeRange "0 14" - int32_t m_nShape; // 0x0 + int32_t m_nShape; // 0x0 // MPropertyFriendlyName "Drive (dB)" // MPropertyAttributeRange "0 36" - float m_fldbDrive; // 0x4 + float m_fldbDrive; // 0x4 // MPropertyFriendlyName "Output Gain (dB)" // MPropertyAttributeRange "-36 0" - float m_fldbOutputGain; // 0x8 + float m_fldbOutputGain; // 0x8 // MPropertyFriendlyName "Dry/Wet" - float m_flWetMix; // 0xc + float m_flWetMix; // 0xc // MPropertyFriendlyName "Oversampling" - int32_t m_nOversampleFactor; // 0x10 + int32_t m_nOversampleFactor; // 0x10 }; // Alignment: 6 // Size: 0x18 -struct VMixUtilityDesc_t : public -{ +struct VMixUtilityDesc_t +{ public: // MPropertyFriendlyName "Channels" - VMixChannelOperation_t m_nOp; // 0x0 + VMixChannelOperation_t m_nOp; // 0x0 // MPropertyFriendlyName "Input Pan" // MPropertyAttributeRange "-1 1" - float m_flInputPan; // 0x4 + float m_flInputPan; // 0x4 // MPropertyFriendlyName "Output Balance" // MPropertyAttributeRange "-1 1" - float m_flOutputBalance; // 0x8 + float m_flOutputBalance; // 0x8 // MPropertyFriendlyName "Output Gain (dB)" // MPropertyAttributeRange "-36 0" - float m_fldbOutputGain; // 0xc - bool m_bBassMono; // 0x10 - float m_flBassFreq; // 0x14 + float m_fldbOutputGain; // 0xc + bool m_bBassMono; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 +public: + float m_flBassFreq; // 0x14 }; // Alignment: 8 // Size: 0x2c -struct VMixAutoFilterDesc_t : public -{ +struct VMixAutoFilterDesc_t +{ public: - float m_flEnvelopeAmount; // 0x0 - float m_flAttackTimeMS; // 0x4 - float m_flReleaseTimeMS; // 0x8 - VMixFilterDesc_t m_filter; // 0xc - float m_flLFOAmount; // 0x1c - float m_flLFORate; // 0x20 - float m_flPhase; // 0x24 - VMixLFOShape_t m_nLFOShape; // 0x28 + float m_flEnvelopeAmount; // 0x0 + float m_flAttackTimeMS; // 0x4 + float m_flReleaseTimeMS; // 0x8 + VMixFilterDesc_t m_filter; // 0xc + float m_flLFOAmount; // 0x1c + float m_flLFORate; // 0x20 + float m_flPhase; // 0x24 + VMixLFOShape_t m_nLFOShape; // 0x28 }; // Alignment: 3 // Size: 0xc -struct VMixOscDesc_t : public -{ +struct VMixOscDesc_t +{ public: // MPropertyFriendlyName "Type" - VMixLFOShape_t oscType; // 0x0 + VMixLFOShape_t oscType; // 0x0 // MPropertyFriendlyName "Frequency (Hz)" // MPropertyAttributeRange "0.1 16000" - float m_freq; // 0x4 + float m_freq; // 0x4 // MPropertyFriendlyName "Phase (degrees)" // MPropertyAttributeRange "0 360" - float m_flPhase; // 0x8 + float m_flPhase; // 0x8 }; // Alignment: 1 // Size: 0x4 -struct VMixEffectChainDesc_t : public -{ +struct VMixEffectChainDesc_t +{ public: // MPropertyFriendlyName "Crossfade Time (s)" // MPropertyAttributeRange "0.1 10" - float m_flCrossfadeTime; // 0x0 + float m_flCrossfadeTime; // 0x0 }; // Alignment: 3 // Size: 0xc -struct VMixSubgraphSwitchDesc_t : public -{ +struct VMixSubgraphSwitchDesc_t +{ public: - VMixSubgraphSwitchInterpolationType_t m_interpolationMode; // 0x0 - bool m_bOnlyTailsOnFadeOut; // 0x4 - float m_flInterpolationTime; // 0x8 + VMixSubgraphSwitchInterpolationType_t m_interpolationMode; // 0x0 + bool m_bOnlyTailsOnFadeOut; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + float m_flInterpolationTime; // 0x8 }; diff --git a/sdk/vphysics2.hpp b/sdk/vphysics2.hpp index ccb86761..29938059 100644 --- a/sdk/vphysics2.hpp +++ b/sdk/vphysics2.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: vphysics2.dll // Classes count: 86 // Enums count: 2 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x4 enum class JointAxis_t : uint32_t -{ +{ JOINT_AXIS_X = 0x0, JOINT_AXIS_Y = 0x1, JOINT_AXIS_Z = 0x2, @@ -21,1070 +22,1098 @@ enum class JointAxis_t : uint32_t // Alignment: 4 // Size: 0x3 enum class JointMotion_t : uint32_t -{ +{ JOINT_MOTION_FREE = 0x0, JOINT_MOTION_LOCKED = 0x1, JOINT_MOTION_COUNT = 0x2, }; +struct constraint_axislimit_t; +struct constraint_breakableparams_t; +struct CFeJiggleBone; +struct FourVectors2D; +struct FourQuaternions; +struct RnPlane_t; +struct AABB_t; +struct CRegionSVM; +struct RnSphere_t; +struct RnCapsule_t; +struct RnHull_t; +struct RnMesh_t; + // Alignment: 5 // Size: 0x18 -struct constraint_breakableparams_t : public -{ +struct constraint_breakableparams_t +{ public: - float strength; // 0x0 - float forceLimit; // 0x4 - float torqueLimit; // 0x8 - float32[2] bodyMassScale; // 0xc - bool isActive; // 0x14 + float strength; // 0x0 + float forceLimit; // 0x4 + float torqueLimit; // 0x8 + float bodyMassScale[2]; // 0xc + bool isActive; // 0x14 }; // Alignment: 4 // Size: 0x10 -struct constraint_axislimit_t : public -{ +struct constraint_axislimit_t +{ public: - float flMinRotation; // 0x0 - float flMaxRotation; // 0x4 - float flMotorTargetAngSpeed; // 0x8 - float flMotorMaxTorque; // 0xc + float flMinRotation; // 0x0 + float flMaxRotation; // 0x4 + float flMotorTargetAngSpeed; // 0x8 + float flMotorMaxTorque; // 0xc }; // Alignment: 4 // Size: 0x40 -struct constraint_hingeparams_t : public -{ +struct constraint_hingeparams_t +{ public: - Vector worldPosition; // 0x0 - Vector worldAxisDirection; // 0xc - constraint_axislimit_t hingeAxis; // 0x18 - constraint_breakableparams_t constraint; // 0x28 + Vector worldPosition; // 0x0 + Vector worldAxisDirection; // 0xc + constraint_axislimit_t hingeAxis; // 0x18 + constraint_breakableparams_t constraint; // 0x28 }; // Alignment: 0 // Size: 0x8 -class IPhysicsPlayerController : public -{ +class IPhysicsPlayerController +{ public: // no members available }; // Alignment: 35 // Size: 0x9c -class CFeJiggleBone : public -{ +class CFeJiggleBone +{ public: - uint32_t m_nFlags; // 0x0 - float m_flLength; // 0x4 - float m_flTipMass; // 0x8 - float m_flYawStiffness; // 0xc - float m_flYawDamping; // 0x10 - float m_flPitchStiffness; // 0x14 - float m_flPitchDamping; // 0x18 - float m_flAlongStiffness; // 0x1c - float m_flAlongDamping; // 0x20 - float m_flAngleLimit; // 0x24 - float m_flMinYaw; // 0x28 - float m_flMaxYaw; // 0x2c - float m_flYawFriction; // 0x30 - float m_flYawBounce; // 0x34 - float m_flMinPitch; // 0x38 - float m_flMaxPitch; // 0x3c - float m_flPitchFriction; // 0x40 - float m_flPitchBounce; // 0x44 - float m_flBaseMass; // 0x48 - float m_flBaseStiffness; // 0x4c - float m_flBaseDamping; // 0x50 - float m_flBaseMinLeft; // 0x54 - float m_flBaseMaxLeft; // 0x58 - float m_flBaseLeftFriction; // 0x5c - float m_flBaseMinUp; // 0x60 - float m_flBaseMaxUp; // 0x64 - float m_flBaseUpFriction; // 0x68 - float m_flBaseMinForward; // 0x6c - float m_flBaseMaxForward; // 0x70 - float m_flBaseForwardFriction; // 0x74 - float m_flRadius0; // 0x78 - float m_flRadius1; // 0x7c - Vector m_vPoint0; // 0x80 - Vector m_vPoint1; // 0x8c - uint16_t m_nCollisionMask; // 0x98 + uint32_t m_nFlags; // 0x0 + float m_flLength; // 0x4 + float m_flTipMass; // 0x8 + float m_flYawStiffness; // 0xc + float m_flYawDamping; // 0x10 + float m_flPitchStiffness; // 0x14 + float m_flPitchDamping; // 0x18 + float m_flAlongStiffness; // 0x1c + float m_flAlongDamping; // 0x20 + float m_flAngleLimit; // 0x24 + float m_flMinYaw; // 0x28 + float m_flMaxYaw; // 0x2c + float m_flYawFriction; // 0x30 + float m_flYawBounce; // 0x34 + float m_flMinPitch; // 0x38 + float m_flMaxPitch; // 0x3c + float m_flPitchFriction; // 0x40 + float m_flPitchBounce; // 0x44 + float m_flBaseMass; // 0x48 + float m_flBaseStiffness; // 0x4c + float m_flBaseDamping; // 0x50 + float m_flBaseMinLeft; // 0x54 + float m_flBaseMaxLeft; // 0x58 + float m_flBaseLeftFriction; // 0x5c + float m_flBaseMinUp; // 0x60 + float m_flBaseMaxUp; // 0x64 + float m_flBaseUpFriction; // 0x68 + float m_flBaseMinForward; // 0x6c + float m_flBaseMaxForward; // 0x70 + float m_flBaseForwardFriction; // 0x74 + float m_flRadius0; // 0x78 + float m_flRadius1; // 0x7c + Vector m_vPoint0; // 0x80 + Vector m_vPoint1; // 0x8c + uint16_t m_nCollisionMask; // 0x98 }; // Alignment: 4 // Size: 0xd0 -class CFeNamedJiggleBone : public -{ +class CFeNamedJiggleBone +{ public: - CUtlString m_strParentBone; // 0x0 - CTransform m_transform; // 0x10 - uint32_t m_nJiggleParent; // 0x30 - CFeJiggleBone m_jiggleBone; // 0x34 + CUtlString m_strParentBone; // 0x0 + CTransform m_transform; // 0x10 + uint32_t m_nJiggleParent; // 0x30 + CFeJiggleBone m_jiggleBone; // 0x34 }; // Alignment: 3 // Size: 0xa4 -class CFeIndexedJiggleBone : public -{ +class CFeIndexedJiggleBone +{ public: - uint32_t m_nNode; // 0x0 - uint32_t m_nJiggleParent; // 0x4 - CFeJiggleBone m_jiggleBone; // 0x8 + uint32_t m_nNode; // 0x0 + uint32_t m_nJiggleParent; // 0x4 + CFeJiggleBone m_jiggleBone; // 0x8 }; // Alignment: 100 // Size: 0x600 -struct PhysFeModelDesc_t : public -{ +struct PhysFeModelDesc_t +{ public: - CUtlVector< uint32 > m_CtrlHash; // 0x0 - CUtlVector< CUtlString > m_CtrlName; // 0x18 - uint32_t m_nStaticNodeFlags; // 0x30 - uint32_t m_nDynamicNodeFlags; // 0x34 - float m_flLocalForce; // 0x38 - float m_flLocalRotation; // 0x3c - uint16_t m_nNodeCount; // 0x40 - uint16_t m_nStaticNodes; // 0x42 - uint16_t m_nRotLockStaticNodes; // 0x44 - uint16_t m_nFirstPositionDrivenNode; // 0x46 - uint16_t m_nSimdTriCount1; // 0x48 - uint16_t m_nSimdTriCount2; // 0x4a - uint16_t m_nSimdQuadCount1; // 0x4c - uint16_t m_nSimdQuadCount2; // 0x4e - uint16_t m_nQuadCount1; // 0x50 - uint16_t m_nQuadCount2; // 0x52 - uint16_t m_nCollisionSphereInclusiveCount; // 0x54 - uint16_t m_nTreeDepth; // 0x56 - uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x58 - uint16_t m_nRopeCount; // 0x5a - CUtlVector< uint16 > m_Ropes; // 0x60 - CUtlVector< FeNodeBase_t > m_NodeBases; // 0x78 - CUtlVector< FeSimdNodeBase_t > m_SimdNodeBases; // 0x90 - CUtlVector< FeQuad_t > m_Quads; // 0xa8 - CUtlVector< FeSimdQuad_t > m_SimdQuads; // 0xc0 - CUtlVector< FeSimdTri_t > m_SimdTris; // 0xd8 - CUtlVector< FeSimdRodConstraint_t > m_SimdRods; // 0xf0 - CUtlVector< CTransform > m_InitPose; // 0x108 - CUtlVector< FeRodConstraint_t > m_Rods; // 0x120 - CUtlVector< FeTwistConstraint_t > m_Twists; // 0x138 - CUtlVector< FeAxialEdgeBend_t > m_AxialEdges; // 0x150 - CUtlVector< float32 > m_NodeInvMasses; // 0x168 - CUtlVector< FeCtrlOffset_t > m_CtrlOffsets; // 0x180 - CUtlVector< FeCtrlOsOffset_t > m_CtrlOsOffsets; // 0x198 - CUtlVector< FeFollowNode_t > m_FollowNodes; // 0x1b0 - CUtlVector< FeCollisionSphere_t > m_CollisionSpheres; // 0x1c8 - CUtlVector< FeCollisionPlane_t > m_CollisionPlanes; // 0x1e0 - CUtlVector< FeNodeIntegrator_t > m_NodeIntegrator; // 0x1f8 - CUtlVector< FeSpringIntegrator_t > m_SpringIntegrator; // 0x210 - CUtlVector< FeSimdSpringIntegrator_t > m_SimdSpringIntegrator; // 0x228 - CUtlVector< FeWorldCollisionParams_t > m_WorldCollisionParams; // 0x240 - CUtlVector< float32 > m_LegacyStretchForce; // 0x258 - CUtlVector< float32 > m_NodeCollisionRadii; // 0x270 - CUtlVector< float32 > m_DynNodeFriction; // 0x288 - CUtlVector< float32 > m_LocalRotation; // 0x2a0 - CUtlVector< float32 > m_LocalForce; // 0x2b8 - CUtlVector< FeTaperedCapsuleStretch_t > m_TaperedCapsuleStretches; // 0x2d0 - CUtlVector< FeTaperedCapsuleRigid_t > m_TaperedCapsuleRigids; // 0x2e8 - CUtlVector< FeSphereRigid_t > m_SphereRigids; // 0x300 - CUtlVector< uint16 > m_WorldCollisionNodes; // 0x318 - CUtlVector< uint16 > m_TreeParents; // 0x330 - CUtlVector< uint16 > m_TreeCollisionMasks; // 0x348 - CUtlVector< FeTreeChildren_t > m_TreeChildren; // 0x360 - CUtlVector< uint16 > m_FreeNodes; // 0x378 - CUtlVector< FeFitMatrix_t > m_FitMatrices; // 0x390 - CUtlVector< FeFitWeight_t > m_FitWeights; // 0x3a8 - CUtlVector< FeNodeReverseOffset_t > m_ReverseOffsets; // 0x3c0 - CUtlVector< FeAnimStrayRadius_t > m_AnimStrayRadii; // 0x3d8 - CUtlVector< FeSimdAnimStrayRadius_t > m_SimdAnimStrayRadii; // 0x3f0 - CUtlVector< FeKelagerBend2_t > m_KelagerBends; // 0x408 - CUtlVector< FeCtrlSoftOffset_t > m_CtrlSoftOffsets; // 0x420 - CUtlVector< CFeIndexedJiggleBone > m_JiggleBones; // 0x438 - CUtlVector< uint16 > m_SourceElems; // 0x450 - CUtlVector< uint32 > m_GoalDampedSpringIntegrators; // 0x468 - CUtlVector< FeTri_t > m_Tris; // 0x480 - uint16_t m_nTriCount1; // 0x498 - uint16_t m_nTriCount2; // 0x49a - uint8_t m_nReservedUint8; // 0x49c - uint8_t m_nExtraPressureIterations; // 0x49d - uint8_t m_nExtraGoalIterations; // 0x49e - uint8_t m_nExtraIterations; // 0x49f - CUtlVector< FeBoxRigid_t > m_BoxRigids; // 0x4a0 - CUtlVector< uint8 > m_DynNodeVertexSet; // 0x4b8 - CUtlVector< uint32 > m_VertexSetNames; // 0x4d0 - CUtlVector< FeRigidColliderIndices_t > m_RigidColliderPriorities; // 0x4e8 - CUtlVector< FeMorphLayerDepr_t > m_MorphLayers; // 0x500 - CUtlVector< uint8 > m_MorphSetData; // 0x518 - CUtlVector< FeVertexMapDesc_t > m_VertexMaps; // 0x530 - CUtlVector< uint8 > m_VertexMapValues; // 0x548 - CUtlVector< FeEffectDesc_t > m_Effects; // 0x560 - CUtlVector< FeCtrlOffset_t > m_LockToParent; // 0x578 - CUtlVector< uint16 > m_LockToGoal; // 0x590 - CUtlVector< FeNodeWindBase_t > m_DynNodeWindBases; // 0x5a8 - float m_flInternalPressure; // 0x5c0 - float m_flDefaultTimeDilation; // 0x5c4 - float m_flWindage; // 0x5c8 - float m_flWindDrag; // 0x5cc - float m_flDefaultSurfaceStretch; // 0x5d0 - float m_flDefaultThreadStretch; // 0x5d4 - float m_flDefaultGravityScale; // 0x5d8 - float m_flDefaultVelAirDrag; // 0x5dc - float m_flDefaultExpAirDrag; // 0x5e0 - float m_flDefaultVelQuadAirDrag; // 0x5e4 - float m_flDefaultExpQuadAirDrag; // 0x5e8 - float m_flRodVelocitySmoothRate; // 0x5ec - float m_flQuadVelocitySmoothRate; // 0x5f0 - float m_flAddWorldCollisionRadius; // 0x5f4 - float m_flDefaultVolumetricSolveAmount; // 0x5f8 - uint16_t m_nRodVelocitySmoothIterations; // 0x5fc - uint16_t m_nQuadVelocitySmoothIterations; // 0x5fe + CUtlVector< uint32 > m_CtrlHash; // 0x0 + CUtlVector< CUtlString > m_CtrlName; // 0x18 + uint32_t m_nStaticNodeFlags; // 0x30 + uint32_t m_nDynamicNodeFlags; // 0x34 + float m_flLocalForce; // 0x38 + float m_flLocalRotation; // 0x3c + uint16_t m_nNodeCount; // 0x40 + uint16_t m_nStaticNodes; // 0x42 + uint16_t m_nRotLockStaticNodes; // 0x44 + uint16_t m_nFirstPositionDrivenNode; // 0x46 + uint16_t m_nSimdTriCount1; // 0x48 + uint16_t m_nSimdTriCount2; // 0x4a + uint16_t m_nSimdQuadCount1; // 0x4c + uint16_t m_nSimdQuadCount2; // 0x4e + uint16_t m_nQuadCount1; // 0x50 + uint16_t m_nQuadCount2; // 0x52 + uint16_t m_nCollisionSphereInclusiveCount; // 0x54 + uint16_t m_nTreeDepth; // 0x56 + uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x58 + uint16_t m_nRopeCount; // 0x5a +private: + [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c +public: + CUtlVector< uint16 > m_Ropes; // 0x60 + CUtlVector< FeNodeBase_t > m_NodeBases; // 0x78 + CUtlVector< FeSimdNodeBase_t > m_SimdNodeBases; // 0x90 + CUtlVector< FeQuad_t > m_Quads; // 0xa8 + CUtlVector< FeSimdQuad_t > m_SimdQuads; // 0xc0 + CUtlVector< FeSimdTri_t > m_SimdTris; // 0xd8 + CUtlVector< FeSimdRodConstraint_t > m_SimdRods; // 0xf0 + CUtlVector< CTransform > m_InitPose; // 0x108 + CUtlVector< FeRodConstraint_t > m_Rods; // 0x120 + CUtlVector< FeTwistConstraint_t > m_Twists; // 0x138 + CUtlVector< FeAxialEdgeBend_t > m_AxialEdges; // 0x150 + CUtlVector< float32 > m_NodeInvMasses; // 0x168 + CUtlVector< FeCtrlOffset_t > m_CtrlOffsets; // 0x180 + CUtlVector< FeCtrlOsOffset_t > m_CtrlOsOffsets; // 0x198 + CUtlVector< FeFollowNode_t > m_FollowNodes; // 0x1b0 + CUtlVector< FeCollisionSphere_t > m_CollisionSpheres; // 0x1c8 + CUtlVector< FeCollisionPlane_t > m_CollisionPlanes; // 0x1e0 + CUtlVector< FeNodeIntegrator_t > m_NodeIntegrator; // 0x1f8 + CUtlVector< FeSpringIntegrator_t > m_SpringIntegrator; // 0x210 + CUtlVector< FeSimdSpringIntegrator_t > m_SimdSpringIntegrator; // 0x228 + CUtlVector< FeWorldCollisionParams_t > m_WorldCollisionParams; // 0x240 + CUtlVector< float32 > m_LegacyStretchForce; // 0x258 + CUtlVector< float32 > m_NodeCollisionRadii; // 0x270 + CUtlVector< float32 > m_DynNodeFriction; // 0x288 + CUtlVector< float32 > m_LocalRotation; // 0x2a0 + CUtlVector< float32 > m_LocalForce; // 0x2b8 + CUtlVector< FeTaperedCapsuleStretch_t > m_TaperedCapsuleStretches; // 0x2d0 + CUtlVector< FeTaperedCapsuleRigid_t > m_TaperedCapsuleRigids; // 0x2e8 + CUtlVector< FeSphereRigid_t > m_SphereRigids; // 0x300 + CUtlVector< uint16 > m_WorldCollisionNodes; // 0x318 + CUtlVector< uint16 > m_TreeParents; // 0x330 + CUtlVector< uint16 > m_TreeCollisionMasks; // 0x348 + CUtlVector< FeTreeChildren_t > m_TreeChildren; // 0x360 + CUtlVector< uint16 > m_FreeNodes; // 0x378 + CUtlVector< FeFitMatrix_t > m_FitMatrices; // 0x390 + CUtlVector< FeFitWeight_t > m_FitWeights; // 0x3a8 + CUtlVector< FeNodeReverseOffset_t > m_ReverseOffsets; // 0x3c0 + CUtlVector< FeAnimStrayRadius_t > m_AnimStrayRadii; // 0x3d8 + CUtlVector< FeSimdAnimStrayRadius_t > m_SimdAnimStrayRadii; // 0x3f0 + CUtlVector< FeKelagerBend2_t > m_KelagerBends; // 0x408 + CUtlVector< FeCtrlSoftOffset_t > m_CtrlSoftOffsets; // 0x420 + CUtlVector< CFeIndexedJiggleBone > m_JiggleBones; // 0x438 + CUtlVector< uint16 > m_SourceElems; // 0x450 + CUtlVector< uint32 > m_GoalDampedSpringIntegrators; // 0x468 + CUtlVector< FeTri_t > m_Tris; // 0x480 + uint16_t m_nTriCount1; // 0x498 + uint16_t m_nTriCount2; // 0x49a + uint8_t m_nReservedUint8; // 0x49c + uint8_t m_nExtraPressureIterations; // 0x49d + uint8_t m_nExtraGoalIterations; // 0x49e + uint8_t m_nExtraIterations; // 0x49f + CUtlVector< FeBoxRigid_t > m_BoxRigids; // 0x4a0 + CUtlVector< uint8 > m_DynNodeVertexSet; // 0x4b8 + CUtlVector< uint32 > m_VertexSetNames; // 0x4d0 + CUtlVector< FeRigidColliderIndices_t > m_RigidColliderPriorities; // 0x4e8 + CUtlVector< FeMorphLayerDepr_t > m_MorphLayers; // 0x500 + CUtlVector< uint8 > m_MorphSetData; // 0x518 + CUtlVector< FeVertexMapDesc_t > m_VertexMaps; // 0x530 + CUtlVector< uint8 > m_VertexMapValues; // 0x548 + CUtlVector< FeEffectDesc_t > m_Effects; // 0x560 + CUtlVector< FeCtrlOffset_t > m_LockToParent; // 0x578 + CUtlVector< uint16 > m_LockToGoal; // 0x590 + CUtlVector< FeNodeWindBase_t > m_DynNodeWindBases; // 0x5a8 + float m_flInternalPressure; // 0x5c0 + float m_flDefaultTimeDilation; // 0x5c4 + float m_flWindage; // 0x5c8 + float m_flWindDrag; // 0x5cc + float m_flDefaultSurfaceStretch; // 0x5d0 + float m_flDefaultThreadStretch; // 0x5d4 + float m_flDefaultGravityScale; // 0x5d8 + float m_flDefaultVelAirDrag; // 0x5dc + float m_flDefaultExpAirDrag; // 0x5e0 + float m_flDefaultVelQuadAirDrag; // 0x5e4 + float m_flDefaultExpQuadAirDrag; // 0x5e8 + float m_flRodVelocitySmoothRate; // 0x5ec + float m_flQuadVelocitySmoothRate; // 0x5f0 + float m_flAddWorldCollisionRadius; // 0x5f4 + float m_flDefaultVolumetricSolveAmount; // 0x5f8 + uint16_t m_nRodVelocitySmoothIterations; // 0x5fc + uint16_t m_nQuadVelocitySmoothIterations; // 0x5fe }; // Alignment: 2 // Size: 0x20 -class FourVectors2D : public -{ +class FourVectors2D +{ public: - fltx4 x; // 0x0 - fltx4 y; // 0x10 + fltx4 x; // 0x0 + fltx4 y; // 0x10 }; // Alignment: 3 // Size: 0x10 -struct FeEdgeDesc_t : public -{ +struct FeEdgeDesc_t +{ public: - uint16[2] nEdge; // 0x0 - uint16[2][2] nSide; // 0x4 - uint16[2] nVirtElem; // 0xc + uint16_t nEdge[2]; // 0x0 + uint16_t nSide[2][2]; // 0x4 + uint16_t nVirtElem[2]; // 0xc }; // Alignment: 12 // Size: 0x48 -struct OldFeEdge_t : public -{ +struct OldFeEdge_t +{ public: - float32[3] m_flK; // 0x0 - float invA; // 0xc - float t; // 0x10 - float flThetaRelaxed; // 0x14 - float flThetaFactor; // 0x18 - float c01; // 0x1c - float c02; // 0x20 - float c03; // 0x24 - float c04; // 0x28 - float flAxialModelDist; // 0x2c - float32[4] flAxialModelWeights; // 0x30 - uint16[4] m_nNode; // 0x40 + float m_flK[3]; // 0x0 + float invA; // 0xc + float t; // 0x10 + float flThetaRelaxed; // 0x14 + float flThetaFactor; // 0x18 + float c01; // 0x1c + float c02; // 0x20 + float c03; // 0x24 + float c04; // 0x28 + float flAxialModelDist; // 0x2c + float flAxialModelWeights[4]; // 0x30 + uint16_t m_nNode[4]; // 0x40 }; // Alignment: 2 // Size: 0x4 -struct FeWeightedNode_t : public -{ +struct FeWeightedNode_t +{ public: - uint16_t nNode; // 0x0 - uint16_t nWeight; // 0x2 + uint16_t nNode; // 0x0 + uint16_t nWeight; // 0x2 }; // Alignment: 4 // Size: 0x18 -struct FeKelagerBend2_t : public -{ +struct FeKelagerBend2_t +{ public: - float32[3] flWeight; // 0x0 - float flHeight0; // 0xc - uint16[3] nNode; // 0x10 - uint16_t nReserved; // 0x16 + float flWeight[3]; // 0x0 + float flHeight0; // 0xc + uint16_t nNode[3]; // 0x10 + uint16_t nReserved; // 0x16 }; // Alignment: 4 // Size: 0x1c -struct FeStiffHingeBuild_t : public -{ +struct FeStiffHingeBuild_t +{ public: - float flMaxAngle; // 0x0 - float flStrength; // 0x4 - float32[3] flMotionBias; // 0x8 - uint16[3] nNode; // 0x14 + float flMaxAngle; // 0x0 + float flStrength; // 0x4 + float flMotionBias[3]; // 0x8 + uint16_t nNode[3]; // 0x14 }; // Alignment: 5 // Size: 0x1c -struct FeTri_t : public -{ +struct FeTri_t +{ public: - uint16[3] nNode; // 0x0 - float w1; // 0x8 - float w2; // 0xc - float v1x; // 0x10 - Vector2D v2; // 0x14 + uint16_t nNode[3]; // 0x0 + float w1; // 0x8 + float w2; // 0xc + float v1x; // 0x10 + Vector2D v2; // 0x14 }; // Alignment: 5 // Size: 0x80 -struct FeSimdTri_t : public -{ +struct FeSimdTri_t +{ public: - uint32[4][3] nNode; // 0x0 - fltx4 w1; // 0x30 - fltx4 w2; // 0x40 - fltx4 v1x; // 0x50 - FourVectors2D v2; // 0x60 + uint32_t nNode[3][4]; // 0x0 + fltx4 w1; // 0x30 + fltx4 w2; // 0x40 + fltx4 v1x; // 0x50 + FourVectors2D v2; // 0x60 }; // Alignment: 3 // Size: 0x4c -struct FeQuad_t : public -{ +struct FeQuad_t +{ public: - uint16[4] nNode; // 0x0 - float flSlack; // 0x8 - Vector4D[4] vShape; // 0xc + uint16_t nNode[4]; // 0x0 + float flSlack; // 0x8 + Vector4D vShape[4]; // 0xc }; // Alignment: 7 // Size: 0x20 -struct FeNodeBase_t : public -{ +struct FeNodeBase_t +{ public: - uint16_t nNode; // 0x0 - uint16[3] nDummy; // 0x2 - uint16_t nNodeX0; // 0x8 - uint16_t nNodeX1; // 0xa - uint16_t nNodeY0; // 0xc - uint16_t nNodeY1; // 0xe - QuaternionStorage qAdjust; // 0x10 + uint16_t nNode; // 0x0 + uint16_t nDummy[3]; // 0x2 + uint16_t nNodeX0; // 0x8 + uint16_t nNodeX1; // 0xa + uint16_t nNodeY0; // 0xc + uint16_t nNodeY1; // 0xe + QuaternionStorage qAdjust; // 0x10 }; // Alignment: 4 // Size: 0x8 -struct FeNodeWindBase_t : public -{ +struct FeNodeWindBase_t +{ public: - uint16_t nNodeX0; // 0x0 - uint16_t nNodeX1; // 0x2 - uint16_t nNodeY0; // 0x4 - uint16_t nNodeY1; // 0x6 + uint16_t nNodeX0; // 0x0 + uint16_t nNodeX1; // 0x2 + uint16_t nNodeY0; // 0x4 + uint16_t nNodeY1; // 0x6 }; // Alignment: 3 // Size: 0x10 -struct FeNodeReverseOffset_t : public -{ +struct FeNodeReverseOffset_t +{ public: - Vector vOffset; // 0x0 - uint16_t nBoneCtrl; // 0xc - uint16_t nTargetNode; // 0xe + Vector vOffset; // 0x0 + uint16_t nBoneCtrl; // 0xc + uint16_t nTargetNode; // 0xe }; // Alignment: 4 // Size: 0x130 -struct FeSimdQuad_t : public -{ +struct FeSimdQuad_t +{ public: - uint16[4][4] nNode; // 0x0 - fltx4 f4Slack; // 0x20 - FourVectors[4] vShape; // 0x30 - fltx4[4] f4Weights; // 0xf0 + uint16_t nNode[4][4]; // 0x0 + fltx4 f4Slack; // 0x20 + FourVectors vShape[4]; // 0x30 + fltx4 f4Weights[4]; // 0xf0 }; // Alignment: 5 // Size: 0x28 -struct FeAxialEdgeBend_t : public -{ +struct FeAxialEdgeBend_t +{ public: - float te; // 0x0 - float tv; // 0x4 - float flDist; // 0x8 - float32[4] flWeight; // 0xc - uint16[6] nNode; // 0x1c + float te; // 0x0 + float tv; // 0x4 + float flDist; // 0x8 + float flWeight[4]; // 0xc + uint16_t nNode[6]; // 0x1c }; // Alignment: 3 // Size: 0x14 -struct FeBandBendLimit_t : public -{ +struct FeBandBendLimit_t +{ public: - float flDistMin; // 0x0 - float flDistMax; // 0x4 - uint16[6] nNode; // 0x8 + float flDistMin; // 0x0 + float flDistMax; // 0x4 + uint16_t nNode[6]; // 0x8 }; // Alignment: 5 // Size: 0x14 -struct FeRodConstraint_t : public -{ +struct FeRodConstraint_t +{ public: - uint16[2] nNode; // 0x0 - float flMaxDist; // 0x4 - float flMinDist; // 0x8 - float flWeight0; // 0xc - float flRelaxationFactor; // 0x10 + uint16_t nNode[2]; // 0x0 + float flMaxDist; // 0x4 + float flMinDist; // 0x8 + float flWeight0; // 0xc + float flRelaxationFactor; // 0x10 }; // Alignment: 4 // Size: 0xc -struct FeTwistConstraint_t : public -{ +struct FeTwistConstraint_t +{ public: - uint16_t nNodeOrient; // 0x0 - uint16_t nNodeEnd; // 0x2 - float flTwistRelax; // 0x4 - float flSwingRelax; // 0x8 + uint16_t nNodeOrient; // 0x0 + uint16_t nNodeEnd; // 0x2 + float flTwistRelax; // 0x4 + float flSwingRelax; // 0x8 }; // Alignment: 5 // Size: 0x50 -struct FeSimdRodConstraint_t : public -{ +struct FeSimdRodConstraint_t +{ public: - uint16[4][2] nNode; // 0x0 - fltx4 f4MaxDist; // 0x10 - fltx4 f4MinDist; // 0x20 - fltx4 f4Weight0; // 0x30 - fltx4 f4RelaxationFactor; // 0x40 + uint16_t nNode[2][4]; // 0x0 + fltx4 f4MaxDist; // 0x10 + fltx4 f4MinDist; // 0x20 + fltx4 f4Weight0; // 0x30 + fltx4 f4RelaxationFactor; // 0x40 }; // Alignment: 3 // Size: 0xc -struct FeAnimStrayRadius_t : public -{ +struct FeAnimStrayRadius_t +{ public: - uint16[2] nNode; // 0x0 - float flMaxDist; // 0x4 - float flRelaxationFactor; // 0x8 + uint16_t nNode[2]; // 0x0 + float flMaxDist; // 0x4 + float flRelaxationFactor; // 0x8 }; // Alignment: 3 // Size: 0x30 -struct FeSimdAnimStrayRadius_t : public -{ +struct FeSimdAnimStrayRadius_t +{ public: - uint16[4][2] nNode; // 0x0 - fltx4 flMaxDist; // 0x10 - fltx4 flRelaxationFactor; // 0x20 + uint16_t nNode[2][4]; // 0x0 + fltx4 flMaxDist; // 0x10 + fltx4 flRelaxationFactor; // 0x20 }; // Alignment: 7 // Size: 0x70 -struct FeSimdNodeBase_t : public -{ +struct FeSimdNodeBase_t +{ public: - uint16[4] nNode; // 0x0 - uint16[4] nNodeX0; // 0x8 - uint16[4] nNodeX1; // 0x10 - uint16[4] nNodeY0; // 0x18 - uint16[4] nNodeY1; // 0x20 - uint16[4] nDummy; // 0x28 - FourQuaternions qAdjust; // 0x30 + uint16_t nNode[4]; // 0x0 + uint16_t nNodeX0[4]; // 0x8 + uint16_t nNodeX1[4]; // 0x10 + uint16_t nNodeY0[4]; // 0x18 + uint16_t nNodeY1[4]; // 0x20 + uint16_t nDummy[4]; // 0x28 + FourQuaternions qAdjust; // 0x30 }; // Alignment: 4 // Size: 0x10 -struct FeNodeIntegrator_t : public -{ +struct FeNodeIntegrator_t +{ public: - float flPointDamping; // 0x0 - float flAnimationForceAttraction; // 0x4 - float flAnimationVertexAttraction; // 0x8 - float flGravity; // 0xc + float flPointDamping; // 0x0 + float flAnimationForceAttraction; // 0x4 + float flAnimationVertexAttraction; // 0x8 + float flGravity; // 0xc }; // Alignment: 5 // Size: 0x14 -struct FeSpringIntegrator_t : public -{ +struct FeSpringIntegrator_t +{ public: - uint16[2] nNode; // 0x0 - float flSpringRestLength; // 0x4 - float flSpringConstant; // 0x8 - float flSpringDamping; // 0xc - float flNodeWeight0; // 0x10 + uint16_t nNode[2]; // 0x0 + float flSpringRestLength; // 0x4 + float flSpringConstant; // 0x8 + float flSpringDamping; // 0xc + float flNodeWeight0; // 0x10 }; // Alignment: 5 // Size: 0x50 -struct FeSimdSpringIntegrator_t : public -{ +struct FeSimdSpringIntegrator_t +{ public: - uint16[4][2] nNode; // 0x0 - fltx4 flSpringRestLength; // 0x10 - fltx4 flSpringConstant; // 0x20 - fltx4 flSpringDamping; // 0x30 - fltx4 flNodeWeight0; // 0x40 + uint16_t nNode[2][4]; // 0x0 + fltx4 flSpringRestLength; // 0x10 + fltx4 flSpringConstant; // 0x20 + fltx4 flSpringDamping; // 0x30 + fltx4 flNodeWeight0; // 0x40 }; // Alignment: 3 // Size: 0x10 -struct FeCtrlOffset_t : public -{ +struct FeCtrlOffset_t +{ public: - Vector vOffset; // 0x0 - uint16_t nCtrlParent; // 0xc - uint16_t nCtrlChild; // 0xe + Vector vOffset; // 0x0 + uint16_t nCtrlParent; // 0xc + uint16_t nCtrlChild; // 0xe }; // Alignment: 2 // Size: 0x8 -struct FeSoftParent_t : public -{ +struct FeSoftParent_t +{ public: - int32_t nParent; // 0x0 - float flAlpha; // 0x4 + int32_t nParent; // 0x0 + float flAlpha; // 0x4 }; // Alignment: 4 // Size: 0x14 -struct FeCtrlSoftOffset_t : public -{ +struct FeCtrlSoftOffset_t +{ public: - uint16_t nCtrlParent; // 0x0 - uint16_t nCtrlChild; // 0x2 - Vector vOffset; // 0x4 - float flAlpha; // 0x10 + uint16_t nCtrlParent; // 0x0 + uint16_t nCtrlChild; // 0x2 + Vector vOffset; // 0x4 + float flAlpha; // 0x10 }; // Alignment: 2 // Size: 0x4 -struct FeCtrlOsOffset_t : public -{ +struct FeCtrlOsOffset_t +{ public: - uint16_t nCtrlParent; // 0x0 - uint16_t nCtrlChild; // 0x2 + uint16_t nCtrlParent; // 0x0 + uint16_t nCtrlChild; // 0x2 }; // Alignment: 3 // Size: 0x8 -struct FeFollowNode_t : public -{ +struct FeFollowNode_t +{ public: - uint16_t nParentNode; // 0x0 - uint16_t nChildNode; // 0x2 - float flWeight; // 0x4 + uint16_t nParentNode; // 0x0 + uint16_t nChildNode; // 0x2 + float flWeight; // 0x4 }; // Alignment: 5 // Size: 0x18 -struct FeCollisionSphere_t : public -{ +struct FeCollisionSphere_t +{ public: - uint16_t nCtrlParent; // 0x0 - uint16_t nChildNode; // 0x2 - float m_flRFactor; // 0x4 - Vector m_vOrigin; // 0x8 - float flStickiness; // 0x14 + uint16_t nCtrlParent; // 0x0 + uint16_t nChildNode; // 0x2 + float m_flRFactor; // 0x4 + Vector m_vOrigin; // 0x8 + float flStickiness; // 0x14 }; -// Alignment: 5 -// Size: 0x1c -struct FeCollisionPlane_t : public -{ +// Alignment: 2 +// Size: 0x10 +struct RnPlane_t +{ public: - uint16_t nCtrlParent; // 0x0 - uint16_t nChildNode; // 0x2 - RnPlane_t m_Plane; // 0x4 - float flStickiness; // 0x14 - float flStrength; // 0x18 + Vector m_vNormal; // 0x0 + float m_flOffset; // 0xc }; // Alignment: 4 // Size: 0xc -struct FeWorldCollisionParams_t : public -{ +struct FeWorldCollisionParams_t +{ public: - float flWorldFriction; // 0x0 - float flGroundFriction; // 0x4 - uint16_t nListBegin; // 0x8 - uint16_t nListEnd; // 0xa + float flWorldFriction; // 0x0 + float flGroundFriction; // 0x4 + uint16_t nListBegin; // 0x8 + uint16_t nListEnd; // 0xa }; // Alignment: 1 // Size: 0x4 -struct FeTreeChildren_t : public -{ +struct FeTreeChildren_t +{ public: - uint16[2] nChild; // 0x0 + uint16_t nChild[2]; // 0x0 }; // Alignment: 6 // Size: 0x30 -struct FeTaperedCapsuleRigid_t : public -{ +struct FeTaperedCapsuleRigid_t +{ public: - fltx4[2] vSphere; // 0x0 - float flStickiness; // 0x20 - uint16_t nNode; // 0x24 - uint16_t nCollisionMask; // 0x26 - uint16_t nVertexMapIndex; // 0x28 - uint16_t nFlags; // 0x2a + fltx4 vSphere[2]; // 0x0 + float flStickiness; // 0x20 + uint16_t nNode; // 0x24 + uint16_t nCollisionMask; // 0x26 + uint16_t nVertexMapIndex; // 0x28 + uint16_t nFlags; // 0x2a }; // Alignment: 6 // Size: 0x20 -struct FeSphereRigid_t : public -{ +struct FeSphereRigid_t +{ public: - fltx4 vSphere; // 0x0 - float flStickiness; // 0x10 - uint16_t nNode; // 0x14 - uint16_t nCollisionMask; // 0x16 - uint16_t nVertexMapIndex; // 0x18 - uint16_t nFlags; // 0x1a + fltx4 vSphere; // 0x0 + float flStickiness; // 0x10 + uint16_t nNode; // 0x14 + uint16_t nCollisionMask; // 0x16 + uint16_t nVertexMapIndex; // 0x18 + uint16_t nFlags; // 0x1a }; // Alignment: 5 // Size: 0x14 -struct FeTaperedCapsuleStretch_t : public -{ +struct FeTaperedCapsuleStretch_t +{ public: - uint16[2] nNode; // 0x0 - uint16_t nCollisionMask; // 0x4 + uint16_t nNode[2]; // 0x0 + uint16_t nCollisionMask; // 0x4 // MPropertySuppressField - uint16_t nDummy; // 0x6 - float32[2] flRadius; // 0x8 - float flStickiness; // 0x10 + uint16_t nDummy; // 0x6 + float flRadius[2]; // 0x8 + float flStickiness; // 0x10 }; // Alignment: 8 // Size: 0x40 -struct FeBoxRigid_t : public -{ +struct FeBoxRigid_t +{ public: - CTransform tmFrame2; // 0x0 - uint16_t nNode; // 0x20 - uint16_t nCollisionMask; // 0x22 - Vector vSize; // 0x24 - float flStickiness; // 0x30 - uint16_t nVertexMapIndex; // 0x34 - uint16_t nFlags; // 0x36 - float32[2] flReserved; // 0x38 + CTransform tmFrame2; // 0x0 + uint16_t nNode; // 0x20 + uint16_t nCollisionMask; // 0x22 + Vector vSize; // 0x24 + float flStickiness; // 0x30 + uint16_t nVertexMapIndex; // 0x34 + uint16_t nFlags; // 0x36 + float flReserved[2]; // 0x38 }; // Alignment: 4 // Size: 0x18 -class CovMatrix3 : public -{ +class CovMatrix3 +{ public: - Vector m_vDiag; // 0x0 - float m_flXY; // 0xc - float m_flXZ; // 0x10 - float m_flYZ; // 0x14 + Vector m_vDiag; // 0x0 + float m_flXY; // 0xc + float m_flXZ; // 0x10 + float m_flYZ; // 0x14 }; // Alignment: 4 // Size: 0x60 -class FourCovMatrices3 : public -{ +class FourCovMatrices3 +{ public: - FourVectors m_vDiag; // 0x0 - fltx4 m_flXY; // 0x30 - fltx4 m_flXZ; // 0x40 - fltx4 m_flYZ; // 0x50 + FourVectors m_vDiag; // 0x0 + fltx4 m_flXY; // 0x30 + fltx4 m_flXZ; // 0x40 + fltx4 m_flYZ; // 0x50 }; // Alignment: 3 // Size: 0x8 -struct FeFitWeight_t : public -{ +struct FeFitWeight_t +{ public: - float flWeight; // 0x0 - uint16_t nNode; // 0x4 - uint16_t nDummy; // 0x6 + float flWeight; // 0x0 + uint16_t nNode; // 0x4 + uint16_t nDummy; // 0x6 }; // Alignment: 3 // Size: 0xc -struct FeFitInfluence_t : public -{ +struct FeFitInfluence_t +{ public: - uint32_t nVertexNode; // 0x0 - float flWeight; // 0x4 - uint32_t nMatrixNode; // 0x8 + uint32_t nVertexNode; // 0x0 + float flWeight; // 0x4 + uint32_t nMatrixNode; // 0x8 }; // Alignment: 5 // Size: 0x40 -struct FeFitMatrix_t : public -{ +struct FeFitMatrix_t +{ public: - CTransform bone; // 0x0 - Vector vCenter; // 0x20 - uint16_t nEnd; // 0x2c - uint16_t nNode; // 0x2e - uint16_t nBeginDynamic; // 0x30 + CTransform bone; // 0x0 + Vector vCenter; // 0x20 + uint16_t nEnd; // 0x2c + uint16_t nNode; // 0x2e + uint16_t nBeginDynamic; // 0x30 }; // Alignment: 5 // Size: 0xc -struct FeRigidColliderIndices_t : public -{ +struct FeRigidColliderIndices_t +{ public: - uint16_t m_nTaperedCapsuleRigidIndex; // 0x0 - uint16_t m_nSphereRigidIndex; // 0x2 - uint16_t m_nBoxRigidIndex; // 0x4 - uint16[2] m_nCollisionSphereIndex; // 0x6 - uint16_t m_nCollisionPlaneIndex; // 0xa + uint16_t m_nTaperedCapsuleRigidIndex; // 0x0 + uint16_t m_nSphereRigidIndex; // 0x2 + uint16_t m_nBoxRigidIndex; // 0x4 + uint16_t m_nCollisionSphereIndex[2]; // 0x6 + uint16_t m_nCollisionPlaneIndex; // 0xa }; // Alignment: 2 // Size: 0x40 struct FeBuildTaperedCapsuleRigid_t : public FeTaperedCapsuleRigid_t -{ +{ public: - int32_t m_nPriority; // 0x30 - uint32_t m_nVertexMapHash; // 0x34 + int32_t m_nPriority; // 0x30 + uint32_t m_nVertexMapHash; // 0x34 }; // Alignment: 2 // Size: 0x50 struct FeBuildBoxRigid_t : public FeBoxRigid_t -{ +{ public: - int32_t m_nPriority; // 0x40 - uint32_t m_nVertexMapHash; // 0x44 + int32_t m_nPriority; // 0x40 + uint32_t m_nVertexMapHash; // 0x44 }; // Alignment: 2 // Size: 0x30 struct FeBuildSphereRigid_t : public FeSphereRigid_t -{ +{ public: - int32_t m_nPriority; // 0x20 - uint32_t m_nVertexMapHash; // 0x24 + int32_t m_nPriority; // 0x20 + uint32_t m_nVertexMapHash; // 0x24 }; // Alignment: 1 // Size: 0x4 -struct FeSourceEdge_t : public -{ +struct FeSourceEdge_t +{ public: - uint16[2] nNode; // 0x0 + uint16_t nNode[2]; // 0x0 }; // Alignment: 4 // Size: 0x20 -struct FeEffectDesc_t : public -{ +struct FeEffectDesc_t +{ public: - CUtlString sName; // 0x0 - uint32_t nNameHash; // 0x8 - int32_t nType; // 0xc - KeyValues3 m_Params; // 0x10 + CUtlString sName; // 0x0 + uint32_t nNameHash; // 0x8 + int32_t nType; // 0xc + KeyValues3 m_Params; // 0x10 }; // Alignment: 6 // Size: 0x30 -struct FeVertexMapBuild_t : public -{ +struct FeVertexMapBuild_t +{ public: - CUtlString m_VertexMapName; // 0x0 - uint32_t m_nNameHash; // 0x8 - Color m_Color; // 0xc - float m_flVolumetricSolveStrength; // 0x10 - int32_t m_nScaleSourceNode; // 0x14 - CUtlVector< float32 > m_Weights; // 0x18 + CUtlString m_VertexMapName; // 0x0 + uint32_t m_nNameHash; // 0x8 + Color m_Color; // 0xc + float m_flVolumetricSolveStrength; // 0x10 + int32_t m_nScaleSourceNode; // 0x14 + CUtlVector< float32 > m_Weights; // 0x18 }; // Alignment: 1 // Size: 0x18 -class CFeVertexMapBuildArray : public -{ +class CFeVertexMapBuildArray +{ public: - CUtlVector< FeVertexMapBuild_t* > m_Array; // 0x0 + CUtlVector< FeVertexMapBuild_t* > m_Array; // 0x0 }; // Alignment: 2 // Size: 0x10 -struct FeProxyVertexMap_t : public -{ +struct FeProxyVertexMap_t +{ public: - CUtlString m_Name; // 0x0 - float m_flWeight; // 0x8 + CUtlString m_Name; // 0x0 + float m_flWeight; // 0x8 }; // Alignment: 12 // Size: 0x38 -struct FeVertexMapDesc_t : public -{ +struct FeVertexMapDesc_t +{ public: - CUtlString sName; // 0x0 - uint32_t nNameHash; // 0x8 - uint32_t nColor; // 0xc - uint32_t nFlags; // 0x10 - uint16_t nVertexBase; // 0x14 - uint16_t nVertexCount; // 0x16 - uint32_t nMapOffset; // 0x18 - uint32_t nNodeListOffset; // 0x1c - Vector vCenterOfMass; // 0x20 - float flVolumetricSolveStrength; // 0x2c - int16_t nScaleSourceNode; // 0x30 - uint16_t nNodeListCount; // 0x32 + CUtlString sName; // 0x0 + uint32_t nNameHash; // 0x8 + uint32_t nColor; // 0xc + uint32_t nFlags; // 0x10 + uint16_t nVertexBase; // 0x14 + uint16_t nVertexCount; // 0x16 + uint32_t nMapOffset; // 0x18 + uint32_t nNodeListOffset; // 0x1c + Vector vCenterOfMass; // 0x20 + float flVolumetricSolveStrength; // 0x2c + int16_t nScaleSourceNode; // 0x30 + uint16_t nNodeListCount; // 0x32 }; // Alignment: 8 // Size: 0x90 -struct FeMorphLayerDepr_t : public -{ +struct FeMorphLayerDepr_t +{ public: - CUtlString m_Name; // 0x0 - uint32_t m_nNameHash; // 0x8 - CUtlVector< uint16 > m_Nodes; // 0x10 - CUtlVector< Vector > m_InitPos; // 0x28 - CUtlVector< float32 > m_Gravity; // 0x40 - CUtlVector< float32 > m_GoalStrength; // 0x58 - CUtlVector< float32 > m_GoalDamping; // 0x70 - uint32_t m_nFlags; // 0x88 + CUtlString m_Name; // 0x0 + uint32_t m_nNameHash; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< uint16 > m_Nodes; // 0x10 + CUtlVector< Vector > m_InitPos; // 0x28 + CUtlVector< float32 > m_Gravity; // 0x40 + CUtlVector< float32 > m_GoalStrength; // 0x58 + CUtlVector< float32 > m_GoalDamping; // 0x70 + uint32_t m_nFlags; // 0x88 }; // Alignment: 7 // Size: 0x88 -class CFeMorphLayer : public -{ +class CFeMorphLayer +{ public: - CUtlString m_Name; // 0x0 - uint32_t m_nNameHash; // 0x8 - CUtlVector< uint16 > m_Nodes; // 0x10 - CUtlVector< Vector > m_InitPos; // 0x28 - CUtlVector< float32 > m_Gravity; // 0x40 - CUtlVector< float32 > m_GoalStrength; // 0x58 - CUtlVector< float32 > m_GoalDamping; // 0x70 + CUtlString m_Name; // 0x0 + uint32_t m_nNameHash; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< uint16 > m_Nodes; // 0x10 + CUtlVector< Vector > m_InitPos; // 0x28 + CUtlVector< float32 > m_Gravity; // 0x40 + CUtlVector< float32 > m_GoalStrength; // 0x58 + CUtlVector< float32 > m_GoalDamping; // 0x70 }; // Alignment: 1 // Size: 0x68 -struct Dop26_t : public -{ +struct Dop26_t +{ public: - float32[26] m_flSupport; // 0x0 + float m_flSupport[26]; // 0x0 }; // Alignment: 2 // Size: 0x10 -struct RnSphere_t : public -{ +struct RnSphere_t +{ public: - Vector m_vCenter; // 0x0 - float m_flRadius; // 0xc + Vector m_vCenter; // 0x0 + float m_flRadius; // 0xc }; // Alignment: 2 // Size: 0x1c -struct RnCapsule_t : public -{ +struct RnCapsule_t +{ public: - Vector[2] m_vCenter; // 0x0 - float m_flRadius; // 0x18 + Vector m_vCenter[2]; // 0x0 + float m_flRadius; // 0x18 }; -// Alignment: 2 -// Size: 0x10 -struct RnPlane_t : public -{ +// Alignment: 5 +// Size: 0x1c +struct FeCollisionPlane_t +{ public: - Vector m_vNormal; // 0x0 - float m_flOffset; // 0xc + uint16_t nCtrlParent; // 0x0 + uint16_t nChildNode; // 0x2 + RnPlane_t m_Plane; // 0x4 + float flStickiness; // 0x14 + float flStrength; // 0x18 }; // Alignment: 4 // Size: 0x4 -struct RnHalfEdge_t : public -{ +struct RnHalfEdge_t +{ public: - uint8_t m_nNext; // 0x0 - uint8_t m_nTwin; // 0x1 - uint8_t m_nOrigin; // 0x2 - uint8_t m_nFace; // 0x3 + uint8_t m_nNext; // 0x0 + uint8_t m_nTwin; // 0x1 + uint8_t m_nOrigin; // 0x2 + uint8_t m_nFace; // 0x3 }; // Alignment: 1 // Size: 0x1 -struct RnFace_t : public -{ +struct RnFace_t +{ public: - uint8_t m_nEdge; // 0x0 + uint8_t m_nEdge; // 0x0 }; // Alignment: 2 // Size: 0x30 -class CRegionSVM : public -{ +class CRegionSVM +{ public: - CUtlVector< RnPlane_t > m_Planes; // 0x0 - CUtlVector< uint32 > m_Nodes; // 0x18 + CUtlVector< RnPlane_t > m_Planes; // 0x0 + CUtlVector< uint32 > m_Nodes; // 0x18 }; // Alignment: 12 // Size: 0xd8 -struct RnHull_t : public -{ +struct RnHull_t +{ public: - Vector m_vCentroid; // 0x0 - float m_flMaxAngularRadius; // 0xc - AABB_t m_Bounds; // 0x10 - Vector m_vOrthographicAreas; // 0x28 - matrix3x4_t m_MassProperties; // 0x34 - float m_flVolume; // 0x64 - CUtlVector< Vector > m_Vertices; // 0x68 - CUtlVector< RnHalfEdge_t > m_Edges; // 0x80 - CUtlVector< RnFace_t > m_Faces; // 0x98 - CUtlVector< RnPlane_t > m_Planes; // 0xb0 - uint32_t m_nFlags; // 0xc8 - CRegionSVM* m_pRegionSVM; // 0xd0 + Vector m_vCentroid; // 0x0 + float m_flMaxAngularRadius; // 0xc + AABB_t m_Bounds; // 0x10 + Vector m_vOrthographicAreas; // 0x28 + matrix3x4_t m_MassProperties; // 0x34 + float m_flVolume; // 0x64 + CUtlVector< Vector > m_Vertices; // 0x68 + CUtlVector< RnHalfEdge_t > m_Edges; // 0x80 + CUtlVector< RnFace_t > m_Faces; // 0x98 + CUtlVector< RnPlane_t > m_Planes; // 0xb0 + uint32_t m_nFlags; // 0xc8 +private: + [[maybe_unused]] uint8_t __pad00cc[0x4]; // 0xcc +public: + CRegionSVM* m_pRegionSVM; // 0xd0 }; // Alignment: 1 // Size: 0xc -struct RnTriangle_t : public -{ +struct RnTriangle_t +{ public: - int32[3] m_nIndex; // 0x0 + int32_t m_nIndex[3]; // 0x0 }; // Alignment: 1 // Size: 0xc -struct RnWing_t : public -{ +struct RnWing_t +{ public: - int32[3] m_nIndex; // 0x0 + int32_t m_nIndex[3]; // 0x0 }; // Alignment: 4 // Size: 0x20 -struct RnNode_t : public -{ +struct RnNode_t +{ public: - Vector m_vMin; // 0x0 - uint32_t m_nChildren; // 0xc - Vector m_vMax; // 0x10 - uint32_t m_nTriangleOffset; // 0x1c + Vector m_vMin; // 0x0 + uint32_t m_nChildren; // 0xc + Vector m_vMax; // 0x10 + uint32_t m_nTriangleOffset; // 0x1c }; // Alignment: 8 // Size: 0xa0 -struct RnMesh_t : public -{ +struct RnMesh_t +{ public: - Vector m_vMin; // 0x0 - Vector m_vMax; // 0xc - CUtlVector< RnNode_t > m_Nodes; // 0x18 - CUtlVectorSIMDPaddedVector m_Vertices; // 0x30 - CUtlVector< RnTriangle_t > m_Triangles; // 0x48 - CUtlVector< RnWing_t > m_Wings; // 0x60 - CUtlVector< uint8 > m_Materials; // 0x78 - Vector m_vOrthographicAreas; // 0x90 + Vector m_vMin; // 0x0 + Vector m_vMax; // 0xc + CUtlVector< RnNode_t > m_Nodes; // 0x18 + CUtlVectorSIMDPaddedVector m_Vertices; // 0x30 + CUtlVector< RnTriangle_t > m_Triangles; // 0x48 + CUtlVector< RnWing_t > m_Wings; // 0x60 + CUtlVector< uint8 > m_Materials; // 0x78 + Vector m_vOrthographicAreas; // 0x90 }; // Alignment: 3 // Size: 0x10 -struct RnShapeDesc_t : public -{ +struct RnShapeDesc_t +{ public: - uint32_t m_nCollisionAttributeIndex; // 0x0 - uint32_t m_nSurfacePropertyIndex; // 0x4 - CUtlString m_UserFriendlyName; // 0x8 + uint32_t m_nCollisionAttributeIndex; // 0x0 + uint32_t m_nSurfacePropertyIndex; // 0x4 + CUtlString m_UserFriendlyName; // 0x8 }; // Alignment: 1 // Size: 0x20 struct RnSphereDesc_t : public RnShapeDesc_t -{ +{ public: - RnSphere_t m_Sphere; // 0x10 + RnSphere_t m_Sphere; // 0x10 }; // Alignment: 1 // Size: 0x30 struct RnCapsuleDesc_t : public RnShapeDesc_t -{ +{ public: - RnCapsule_t m_Capsule; // 0x10 + RnCapsule_t m_Capsule; // 0x10 }; // Alignment: 1 // Size: 0xe8 struct RnHullDesc_t : public RnShapeDesc_t -{ +{ public: - RnHull_t m_Hull; // 0x10 + RnHull_t m_Hull; // 0x10 }; // Alignment: 1 // Size: 0xb0 struct RnMeshDesc_t : public RnShapeDesc_t -{ +{ public: - RnMesh_t m_Mesh; // 0x10 + RnMesh_t m_Mesh; // 0x10 }; // Alignment: 1 // Size: 0x4 -struct RnSoftbodyParticle_t : public -{ +struct RnSoftbodyParticle_t +{ public: - float m_flMassInv; // 0x0 + float m_flMassInv; // 0x0 }; // Alignment: 2 // Size: 0x8 -struct RnSoftbodySpring_t : public -{ +struct RnSoftbodySpring_t +{ public: - uint16[2] m_nParticle; // 0x0 - float m_flLength; // 0x4 + uint16_t m_nParticle[2]; // 0x0 + float m_flLength; // 0x4 }; // Alignment: 3 // Size: 0x20 -struct RnSoftbodyCapsule_t : public -{ +struct RnSoftbodyCapsule_t +{ public: - Vector[2] m_vCenter; // 0x0 - float m_flRadius; // 0x18 - uint16[2] m_nParticle; // 0x1c + Vector m_vCenter[2]; // 0x0 + float m_flRadius; // 0x18 + uint16_t m_nParticle[2]; // 0x1c }; // Alignment: 8 // Size: 0x10 -struct RnBlendVertex_t : public -{ +struct RnBlendVertex_t +{ public: - uint16_t m_nWeight0; // 0x0 - uint16_t m_nIndex0; // 0x2 - uint16_t m_nWeight1; // 0x4 - uint16_t m_nIndex1; // 0x6 - uint16_t m_nWeight2; // 0x8 - uint16_t m_nIndex2; // 0xa - uint16_t m_nFlags; // 0xc - uint16_t m_nTargetIndex; // 0xe + uint16_t m_nWeight0; // 0x0 + uint16_t m_nIndex0; // 0x2 + uint16_t m_nWeight1; // 0x4 + uint16_t m_nIndex1; // 0x6 + uint16_t m_nWeight2; // 0x8 + uint16_t m_nIndex2; // 0xa + uint16_t m_nFlags; // 0xc + uint16_t m_nTargetIndex; // 0xe }; // Alignment: 6 // Size: 0x30 -struct CastSphereSATParams_t : public -{ +struct CastSphereSATParams_t +{ public: - Vector m_vRayStart; // 0x0 - Vector m_vRayDelta; // 0xc - float m_flRadius; // 0x18 - float m_flMaxFraction; // 0x1c - float m_flScale; // 0x20 - RnHull_t* m_pHull; // 0x28 + Vector m_vRayStart; // 0x0 + Vector m_vRayDelta; // 0xc + float m_flRadius; // 0x18 + float m_flMaxFraction; // 0x1c + float m_flScale; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + RnHull_t* m_pHull; // 0x28 }; // Alignment: 2 // Size: 0x18 -struct VertexPositionNormal_t : public -{ +struct VertexPositionNormal_t +{ public: - Vector m_vPosition; // 0x0 - Vector m_vNormal; // 0xc + Vector m_vPosition; // 0x0 + Vector m_vNormal; // 0xc }; // Alignment: 1 // Size: 0x10 -struct VertexPositionColor_t : public -{ +struct VertexPositionColor_t +{ public: - Vector m_vPosition; // 0x0 + Vector m_vPosition; // 0x0 }; diff --git a/sdk/worldrenderer.hpp b/sdk/worldrenderer.hpp index 2acc15e3..49ffdc74 100644 --- a/sdk/worldrenderer.hpp +++ b/sdk/worldrenderer.hpp @@ -2,16 +2,17 @@ #include #include "!GlobalTypes.hpp" -// ///////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: worldrenderer.dll // Classes count: 23 // Enums count: 1 -// ///////////////////////////////////////// +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0xf enum class ObjectTypeFlags_t : uint32_t -{ +{ OBJECT_TYPE_NONE = 0x0, OBJECT_TYPE_IMAGE_LOD = 0x1, OBJECT_TYPE_GEOMETRY_LOD = 0x2, @@ -29,310 +30,360 @@ enum class ObjectTypeFlags_t : uint32_t OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000, }; +struct CRenderBufferBinding; +struct BakedLightingInfo_t; +struct WorldBuilderParams_t; +struct VoxelVisBlockOffset_t; +struct ChangeAccessorFieldPathIndex_t; +struct CEntityIdentity; +struct CScriptComponent; + // Alignment: 7 // Size: 0x30 -struct EntityIOConnectionData_t : public -{ +struct EntityIOConnectionData_t +{ public: - CUtlString m_outputName; // 0x0 - uint32_t m_targetType; // 0x8 - CUtlString m_targetName; // 0x10 - CUtlString m_inputName; // 0x18 - CUtlString m_overrideParam; // 0x20 - float m_flDelay; // 0x28 - int32_t m_nTimesToFire; // 0x2c + CUtlString m_outputName; // 0x0 + uint32_t m_targetType; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlString m_targetName; // 0x10 + CUtlString m_inputName; // 0x18 + CUtlString m_overrideParam; // 0x20 + float m_flDelay; // 0x28 + int32_t m_nTimesToFire; // 0x2c }; // Alignment: 2 // Size: 0x30 -struct EntityKeyValueData_t : public -{ +struct EntityKeyValueData_t +{ public: - CUtlBinaryBlock m_keyValuesData; // 0x0 - CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18 + CUtlBinaryBlock m_keyValuesData; // 0x0 + CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18 }; // Alignment: 4 // Size: 0x40 -struct PermEntityLumpData_t : public -{ +struct PermEntityLumpData_t +{ public: - CUtlString m_name; // 0x0 - CUtlString m_hammerUniqueId; // 0x8 - CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_childLumps; // 0x10 - CUtlVector< EntityKeyValueData_t > m_entityKeyValues; // 0x28 + CUtlString m_name; // 0x0 + CUtlString m_hammerUniqueId; // 0x8 + CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_childLumps; // 0x10 + CUtlVector< EntityKeyValueData_t > m_entityKeyValues; // 0x28 }; // Alignment: 15 // Size: 0x90 -struct SceneObject_t : public -{ +struct SceneObject_t +{ public: - uint32_t m_nObjectID; // 0x0 - Vector4D[3] m_vTransform; // 0x4 - float m_flFadeStartDistance; // 0x34 - float m_flFadeEndDistance; // 0x38 - Vector4D m_vTintColor; // 0x3c - CUtlString m_skin; // 0x50 - ObjectTypeFlags_t m_nObjectTypeFlags; // 0x58 - Vector m_vLightingOrigin; // 0x5c - uint32_t m_nLightGroup; // 0x68 - int16_t m_nOverlayRenderOrder; // 0x6c - int16_t m_nLODOverride; // 0x6e - int32_t m_nCubeMapPrecomputedHandshake; // 0x70 - int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x74 - CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x80 - CStrongHandle< InfoForResourceTypeCRenderMesh > m_renderable; // 0x88 + uint32_t m_nObjectID; // 0x0 + Vector4D m_vTransform[3]; // 0x4 + float m_flFadeStartDistance; // 0x34 + float m_flFadeEndDistance; // 0x38 + Vector4D m_vTintColor; // 0x3c +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + CUtlString m_skin; // 0x50 + ObjectTypeFlags_t m_nObjectTypeFlags; // 0x58 + Vector m_vLightingOrigin; // 0x5c + uint32_t m_nLightGroup; // 0x68 + int16_t m_nOverlayRenderOrder; // 0x6c + int16_t m_nLODOverride; // 0x6e + int32_t m_nCubeMapPrecomputedHandshake; // 0x70 + int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x74 +private: + [[maybe_unused]] uint8_t __pad0078[0x8]; // 0x78 +public: + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x80 + CStrongHandle< InfoForResourceTypeCRenderMesh > m_renderable; // 0x88 }; // Alignment: 1 // Size: 0x4 -struct BaseSceneObjectOverride_t : public -{ +struct BaseSceneObjectOverride_t +{ public: - uint32_t m_nSceneObjectIndex; // 0x0 + uint32_t m_nSceneObjectIndex; // 0x0 }; // Alignment: 4 // Size: 0x28 struct ExtraVertexStreamOverride_t : public BaseSceneObjectOverride_t -{ +{ public: - uint32_t m_nSubSceneObject; // 0x4 - uint32_t m_nDrawCallIndex; // 0x8 - MeshDrawPrimitiveFlags_t m_nAdditionalMeshDrawPrimitiveFlags; // 0xc - CRenderBufferBinding m_extraBufferBinding; // 0x10 + uint32_t m_nSubSceneObject; // 0x4 + uint32_t m_nDrawCallIndex; // 0x8 + MeshDrawPrimitiveFlags_t m_nAdditionalMeshDrawPrimitiveFlags; // 0xc + CRenderBufferBinding m_extraBufferBinding; // 0x10 }; // Alignment: 3 // Size: 0x18 struct MaterialOverride_t : public BaseSceneObjectOverride_t -{ +{ public: - uint32_t m_nSubSceneObject; // 0x4 - uint32_t m_nDrawCallIndex; // 0x8 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x10 + uint32_t m_nSubSceneObject; // 0x4 + uint32_t m_nDrawCallIndex; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x10 }; // Alignment: 10 // Size: 0x70 -struct InfoOverlayData_t : public -{ +struct InfoOverlayData_t +{ public: - matrix3x4_t m_transform; // 0x0 - float m_flWidth; // 0x30 - float m_flHeight; // 0x34 - float m_flDepth; // 0x38 - Vector2D m_vUVStart; // 0x3c - Vector2D m_vUVEnd; // 0x44 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x50 - int32_t m_nRenderOrder; // 0x58 - Vector4D m_vTintColor; // 0x5c - int32_t m_nSequenceOverride; // 0x6c + matrix3x4_t m_transform; // 0x0 + float m_flWidth; // 0x30 + float m_flHeight; // 0x34 + float m_flDepth; // 0x38 + Vector2D m_vUVStart; // 0x3c + Vector2D m_vUVEnd; // 0x44 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x50 + int32_t m_nRenderOrder; // 0x58 + Vector4D m_vTintColor; // 0x5c + int32_t m_nSequenceOverride; // 0x6c }; // Alignment: 5 // Size: 0x30 -struct BakedLightingInfo_t : public -{ +struct BakedLightingInfo_t +{ public: - uint32_t m_nLightmapVersionNumber; // 0x0 - uint32_t m_nLightmapGameVersionNumber; // 0x4 - Vector2D m_vLightmapUvScale; // 0x8 - bool m_bHasLightmaps; // 0x10 - CUtlVector< CStrongHandle< InfoForResourceTypeCTextureBase > > m_lightMaps; // 0x18 + uint32_t m_nLightmapVersionNumber; // 0x0 + uint32_t m_nLightmapGameVersionNumber; // 0x4 + Vector2D m_vLightmapUvScale; // 0x8 + bool m_bHasLightmaps; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x7]; // 0x11 +public: + CUtlVector< CStrongHandle< InfoForResourceTypeCTextureBase > > m_lightMaps; // 0x18 }; // Alignment: 4 // Size: 0x38 -struct WorldNodeOnDiskBufferData_t : public -{ +struct WorldNodeOnDiskBufferData_t +{ public: - int32_t m_nElementCount; // 0x0 - int32_t m_nElementSizeInBytes; // 0x4 - CUtlVector< RenderInputLayoutField_t > m_inputLayoutFields; // 0x8 - CUtlVector< uint8 > m_pData; // 0x20 + int32_t m_nElementCount; // 0x0 + int32_t m_nElementSizeInBytes; // 0x4 + CUtlVector< RenderInputLayoutField_t > m_inputLayoutFields; // 0x8 + CUtlVector< uint8 > m_pData; // 0x20 }; // Alignment: 12 // Size: 0x30 -struct AggregateMeshInfo_t : public -{ +struct AggregateMeshInfo_t +{ public: - uint32_t m_nVisClusterMemberOffset; // 0x0 - uint8_t m_nVisClusterMemberCount; // 0x4 - bool m_bHasTransform; // 0x5 - int16_t m_nDrawCallIndex; // 0x6 - Color m_vTintColor; // 0x8 - uint8_t m_nLODGroupMask; // 0xc - ObjectTypeFlags_t m_objectFlags; // 0x10 - Vector m_vLODOrigin; // 0x14 - float m_fLODStartDrawDistance; // 0x20 - float m_fLODEndDrawDistance; // 0x24 - float m_fMaxObjectScale; // 0x28 - int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x2c + uint32_t m_nVisClusterMemberOffset; // 0x0 + uint8_t m_nVisClusterMemberCount; // 0x4 + bool m_bHasTransform; // 0x5 + int16_t m_nDrawCallIndex; // 0x6 + Color m_vTintColor; // 0x8 + uint8_t m_nLODGroupMask; // 0xc +private: + [[maybe_unused]] uint8_t __pad000d[0x3]; // 0xd +public: + ObjectTypeFlags_t m_objectFlags; // 0x10 + Vector m_vLODOrigin; // 0x14 + float m_fLODStartDrawDistance; // 0x20 + float m_fLODEndDrawDistance; // 0x24 + float m_fMaxObjectScale; // 0x28 + int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x2c }; // Alignment: 7 // Size: 0x60 -struct AggregateSceneObject_t : public -{ +struct AggregateSceneObject_t +{ public: - ObjectTypeFlags_t m_allFlags; // 0x0 - ObjectTypeFlags_t m_anyFlags; // 0x4 - int16_t m_nLayer; // 0x8 - CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x10 - CUtlVector< uint16 > m_visClusterMembership; // 0x28 - CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x40 - CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58 + ObjectTypeFlags_t m_allFlags; // 0x0 + ObjectTypeFlags_t m_anyFlags; // 0x4 + int16_t m_nLayer; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000a[0x6]; // 0xa +public: + CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x10 + CUtlVector< uint16 > m_visClusterMembership; // 0x28 + CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x40 + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58 }; // Alignment: 12 // Size: 0x128 -struct WorldNode_t : public -{ +struct WorldNode_t +{ public: - CUtlVector< SceneObject_t > m_sceneObjects; // 0x0 - CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18 - CUtlVector< uint16 > m_visClusterMembership; // 0x30 - CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x48 - CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x60 - CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x78 - CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0x90 - CUtlVector< CUtlString > m_layerNames; // 0xa8 - CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xc0 - CUtlVector< uint8 > m_overlayLayerIndices; // 0xd8 - CUtlString m_grassFileName; // 0xf0 - BakedLightingInfo_t m_nodeLightingInfo; // 0xf8 + CUtlVector< SceneObject_t > m_sceneObjects; // 0x0 + CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18 + CUtlVector< uint16 > m_visClusterMembership; // 0x30 + CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x48 + CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x60 + CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x78 + CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0x90 + CUtlVector< CUtlString > m_layerNames; // 0xa8 + CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xc0 + CUtlVector< uint8 > m_overlayLayerIndices; // 0xd8 + CUtlString m_grassFileName; // 0xf0 + BakedLightingInfo_t m_nodeLightingInfo; // 0xf8 }; // Alignment: 5 // Size: 0x20 -struct WorldBuilderParams_t : public -{ +struct WorldBuilderParams_t +{ public: - float m_flMinDrawVolumeSize; // 0x0 - bool m_bBuildBakedLighting; // 0x4 - Vector2D m_vLightmapUvScale; // 0x8 - uint64_t m_nCompileTimestamp; // 0x10 - uint64_t m_nCompileFingerprint; // 0x18 + float m_flMinDrawVolumeSize; // 0x0 + bool m_bBuildBakedLighting; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + Vector2D m_vLightmapUvScale; // 0x8 + uint64_t m_nCompileTimestamp; // 0x10 + uint64_t m_nCompileFingerprint; // 0x18 }; // Alignment: 7 // Size: 0x50 -struct NodeData_t : public -{ +struct NodeData_t +{ public: - int32_t m_nParent; // 0x0 - Vector m_vOrigin; // 0x4 - Vector m_vMinBounds; // 0x10 - Vector m_vMaxBounds; // 0x1c - float m_flMinimumDistance; // 0x28 - CUtlVector< int32 > m_ChildNodeIndices; // 0x30 - CUtlString m_worldNodePrefix; // 0x48 + int32_t m_nParent; // 0x0 + Vector m_vOrigin; // 0x4 + Vector m_vMinBounds; // 0x10 + Vector m_vMaxBounds; // 0x1c + float m_flMinimumDistance; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + CUtlVector< int32 > m_ChildNodeIndices; // 0x30 + CUtlString m_worldNodePrefix; // 0x48 }; // Alignment: 4 // Size: 0x80 -struct World_t : public -{ +struct World_t +{ public: - WorldBuilderParams_t m_builderParams; // 0x0 - CUtlVector< NodeData_t > m_worldNodes; // 0x20 - BakedLightingInfo_t m_worldLightingInfo; // 0x38 - CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0x68 + WorldBuilderParams_t m_builderParams; // 0x0 + CUtlVector< NodeData_t > m_worldNodes; // 0x20 + BakedLightingInfo_t m_worldLightingInfo; // 0x38 + CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0x68 }; // Alignment: 2 // Size: 0x8 -struct VoxelVisBlockOffset_t : public -{ +struct VoxelVisBlockOffset_t +{ public: - uint32_t m_nOffset; // 0x0 - uint32_t m_nElementCount; // 0x4 + uint32_t m_nOffset; // 0x0 + uint32_t m_nElementCount; // 0x4 }; // Alignment: 13 // Size: 0xa0 -class CVoxelVisibility : public -{ +class CVoxelVisibility +{ public: - uint32_t m_nBaseClusterCount; // 0x40 - uint32_t m_nPVSBytesPerCluster; // 0x44 - Vector m_vMinBounds; // 0x48 - Vector m_vMaxBounds; // 0x54 - float m_flGridSize; // 0x60 - uint32_t m_nSkyVisibilityCluster; // 0x64 - uint32_t m_nSunVisibilityCluster; // 0x68 - VoxelVisBlockOffset_t m_NodeBlock; // 0x6c - VoxelVisBlockOffset_t m_RegionBlock; // 0x74 - VoxelVisBlockOffset_t m_EnclosedClusterListBlock; // 0x7c - VoxelVisBlockOffset_t m_EnclosedClustersBlock; // 0x84 - VoxelVisBlockOffset_t m_MasksBlock; // 0x8c - VoxelVisBlockOffset_t m_nVisBlocks; // 0x94 + uint32_t m_nBaseClusterCount; // 0x40 + uint32_t m_nPVSBytesPerCluster; // 0x44 + Vector m_vMinBounds; // 0x48 + Vector m_vMaxBounds; // 0x54 + float m_flGridSize; // 0x60 + uint32_t m_nSkyVisibilityCluster; // 0x64 + uint32_t m_nSunVisibilityCluster; // 0x68 + VoxelVisBlockOffset_t m_NodeBlock; // 0x6c + VoxelVisBlockOffset_t m_RegionBlock; // 0x74 + VoxelVisBlockOffset_t m_EnclosedClusterListBlock; // 0x7c + VoxelVisBlockOffset_t m_EnclosedClustersBlock; // 0x84 + VoxelVisBlockOffset_t m_MasksBlock; // 0x8c + VoxelVisBlockOffset_t m_nVisBlocks; // 0x94 }; // Alignment: 0 // Size: 0x1 -struct VMapResourceData_t : public -{ +struct VMapResourceData_t +{ public: // no members available }; // Alignment: 0 // Size: 0x1 -struct InfoForResourceTypeVMapResourceData_t : public -{ +struct InfoForResourceTypeVMapResourceData_t +{ public: // no members available }; // Alignment: 11 // Size: 0x78 -class CEntityIdentity : public -{ +class CEntityIdentity +{ public: // MNetworkEnable // MNetworkChangeCallback "entityIdentityNameChanged" - int32_t m_nameStringableIndex; // 0x14 - CUtlSymbolLarge m_name; // 0x18 - CUtlSymbolLarge m_designerName; // 0x20 - uint32_t m_flags; // 0x30 + int32_t m_nameStringableIndex; // 0x14 + CUtlSymbolLarge m_name; // 0x18 + CUtlSymbolLarge m_designerName; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 +public: + uint32_t m_flags; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: // MNetworkDisable - WorldGroupId_t m_worldGroupId; // 0x38 - uint32_t m_fDataObjectTypes; // 0x3c + WorldGroupId_t m_worldGroupId; // 0x38 + uint32_t m_fDataObjectTypes; // 0x3c // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x40 - CEntityIdentity* m_pPrev; // 0x58 - CEntityIdentity* m_pNext; // 0x60 - CEntityIdentity* m_pPrevByClass; // 0x68 - CEntityIdentity* m_pNextByClass; // 0x70 + ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0042[0x16]; // 0x42 +public: + CEntityIdentity* m_pPrev; // 0x58 + CEntityIdentity* m_pNext; // 0x60 + CEntityIdentity* m_pPrevByClass; // 0x68 + CEntityIdentity* m_pNextByClass; // 0x70 }; // Alignment: 3 // Size: 0x30 class CEntityInstance : public IHandleEntity -{ +{ public: // MNetworkDisable - CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 + CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 // MNetworkEnable // MNetworkPriority "56" - CEntityIdentity* m_pEntity; // 0x10 + CEntityIdentity* m_pEntity; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0018[0x10]; // 0x18 +public: // MNetworkEnable // MNetworkDisable - CScriptComponent* m_CScriptComponent; // 0x28 + CScriptComponent* m_CScriptComponent; // 0x28 }; // Alignment: 1 // Size: 0x38 class CScriptComponent : public CEntityComponent -{ +{ public: - CUtlSymbolLarge m_scriptClassName; // 0x30 - static EntComponentInfo_t &Get_s_EntComponentInfo(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("worldrenderer.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[0]->m_instance);}; - static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){ return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("worldrenderer.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[1]->m_instance);}; + CUtlSymbolLarge m_scriptClassName; // 0x30 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("worldrenderer.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[0]->m_instance);}; + static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("worldrenderer.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[1]->m_instance);}; };