From 962d70f9d6eb07cefc4463973eaa88d6e9e251b8 Mon Sep 17 00:00:00 2001 From: Arsenii es3n1n <40367813+es3n1n@users.noreply.github.com> Date: Thu, 23 Mar 2023 16:10:10 +0100 Subject: [PATCH] update sdk --- sdk/!GlobalTypes.hpp | 33468 +++++++++++++++++++------------------ sdk/animationsystem.hpp | 6812 ++++---- sdk/client.hpp | 8252 +++++---- sdk/engine2.hpp | 498 +- sdk/materialsystem2.hpp | 220 +- sdk/meshsystem.hpp | 9 +- sdk/networksystem.hpp | 15 +- sdk/panorama.hpp | 17 +- sdk/particles.hpp | 8255 ++++----- sdk/rendersystemdx11.hpp | 65 +- sdk/resourcesystem.hpp | 265 +- sdk/scenefilecache.hpp | 9 +- sdk/scenesystem.hpp | 118 +- sdk/schemasystem.hpp | 260 +- sdk/server.hpp | 19150 +++++++++++---------- sdk/soundsystem.hpp | 498 +- sdk/vphysics2.hpp | 1309 +- sdk/worldrenderer.hpp | 481 +- 18 files changed, 43189 insertions(+), 36512 deletions(-) diff --git a/sdk/!GlobalTypes.hpp b/sdk/!GlobalTypes.hpp index 65b23a42..deb87b26 100644 --- a/sdk/!GlobalTypes.hpp +++ b/sdk/!GlobalTypes.hpp @@ -2,14 +2,15 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: !GlobalTypes -// Class Count: 1319 -// Enum Count: 317 -/////////////////////////////////////////// +// Classes count: 1319 +// Enums count: 317 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ThreeState_t : uint32_t { TRS_FALSE = 0x0, @@ -17,88 +18,88 @@ enum class ThreeState_t : uint32_t TRS_NONE = 0x2, }; -// Aligment: 1 -// Size: 74 +// Alignment: 1 +// Size: 0x4a enum class fieldtype_t : uint8_t { - FIELD_VOID = 0, - FIELD_FLOAT32 = 1, - FIELD_STRING = 2, - FIELD_VECTOR = 3, - FIELD_QUATERNION = 4, - FIELD_INT32 = 5, - FIELD_BOOLEAN = 6, - FIELD_INT16 = 7, - FIELD_CHARACTER = 8, - FIELD_COLOR32 = 9, - FIELD_EMBEDDED = 10, - FIELD_CUSTOM = 11, - FIELD_CLASSPTR = 12, - FIELD_EHANDLE = 13, - FIELD_POSITION_VECTOR = 14, - FIELD_TIME = 15, - FIELD_TICK = 16, - FIELD_SOUNDNAME = 17, - FIELD_INPUT = 18, - FIELD_FUNCTION = 19, - FIELD_VMATRIX = 20, - FIELD_VMATRIX_WORLDSPACE = 21, - FIELD_MATRIX3X4_WORLDSPACE = 22, - FIELD_INTERVAL = 23, - FIELD_UNUSED = 24, - FIELD_VECTOR2D = 25, - FIELD_INT64 = 26, - FIELD_VECTOR4D = 27, - FIELD_RESOURCE = 28, - FIELD_TYPEUNKNOWN = 29, - FIELD_CSTRING = 30, - FIELD_HSCRIPT = 31, - FIELD_VARIANT = 32, - FIELD_UINT64 = 33, - FIELD_FLOAT64 = 34, - FIELD_POSITIVEINTEGER_OR_NULL = 35, - FIELD_HSCRIPT_NEW_INSTANCE = 36, - FIELD_UINT32 = 37, - FIELD_UTLSTRINGTOKEN = 38, - FIELD_QANGLE = 39, - FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_VECTOR = 40, - FIELD_HMATERIAL = 41, - FIELD_HMODEL = 42, - FIELD_NETWORK_QUANTIZED_VECTOR = 43, - FIELD_NETWORK_QUANTIZED_FLOAT = 44, - FIELD_DIRECTION_VECTOR_WORLDSPACE = 45, - FIELD_QANGLE_WORLDSPACE = 46, - FIELD_QUATERNION_WORLDSPACE = 47, - FIELD_HSCRIPT_LIGHTBINDING = 48, - FIELD_V8_VALUE = 49, - FIELD_V8_OBJECT = 50, - FIELD_V8_ARRAY = 51, - FIELD_V8_CALLBACK_INFO = 52, - FIELD_UTLSTRING = 53, - FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR = 54, - FIELD_HRENDERTEXTURE = 55, - FIELD_HPARTICLESYSTEMDEFINITION = 56, - FIELD_UINT8 = 57, - FIELD_UINT16 = 58, - FIELD_CTRANSFORM = 59, - FIELD_CTRANSFORM_WORLDSPACE = 60, - FIELD_HPOSTPROCESSING = 61, - FIELD_MATRIX3X4 = 62, - FIELD_SHIM = 63, - FIELD_CMOTIONTRANSFORM = 64, - FIELD_CMOTIONTRANSFORM_WORLDSPACE = 65, - FIELD_ATTACHMENT_HANDLE = 66, - FIELD_AMMO_INDEX = 67, - FIELD_CONDITION_ID = 68, - FIELD_AI_SCHEDULE_BITS = 69, - FIELD_MODIFIER_HANDLE = 70, - FIELD_ROTATION_VECTOR = 71, - FIELD_ROTATION_VECTOR_WORLDSPACE = 72, - FIELD_TYPECOUNT = 73, + FIELD_VOID = 0x0, + FIELD_FLOAT32 = 0x1, + FIELD_STRING = 0x2, + FIELD_VECTOR = 0x3, + FIELD_QUATERNION = 0x4, + FIELD_INT32 = 0x5, + FIELD_BOOLEAN = 0x6, + FIELD_INT16 = 0x7, + FIELD_CHARACTER = 0x8, + FIELD_COLOR32 = 0x9, + FIELD_EMBEDDED = 0xa, + FIELD_CUSTOM = 0xb, + FIELD_CLASSPTR = 0xc, + FIELD_EHANDLE = 0xd, + FIELD_POSITION_VECTOR = 0xe, + FIELD_TIME = 0xf, + FIELD_TICK = 0x10, + FIELD_SOUNDNAME = 0x11, + FIELD_INPUT = 0x12, + FIELD_FUNCTION = 0x13, + FIELD_VMATRIX = 0x14, + FIELD_VMATRIX_WORLDSPACE = 0x15, + FIELD_MATRIX3X4_WORLDSPACE = 0x16, + FIELD_INTERVAL = 0x17, + FIELD_UNUSED = 0x18, + FIELD_VECTOR2D = 0x19, + FIELD_INT64 = 0x1a, + FIELD_VECTOR4D = 0x1b, + FIELD_RESOURCE = 0x1c, + FIELD_TYPEUNKNOWN = 0x1d, + FIELD_CSTRING = 0x1e, + FIELD_HSCRIPT = 0x1f, + FIELD_VARIANT = 0x20, + FIELD_UINT64 = 0x21, + FIELD_FLOAT64 = 0x22, + FIELD_POSITIVEINTEGER_OR_NULL = 0x23, + FIELD_HSCRIPT_NEW_INSTANCE = 0x24, + FIELD_UINT32 = 0x25, + FIELD_UTLSTRINGTOKEN = 0x26, + FIELD_QANGLE = 0x27, + FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_VECTOR = 0x28, + FIELD_HMATERIAL = 0x29, + FIELD_HMODEL = 0x2a, + FIELD_NETWORK_QUANTIZED_VECTOR = 0x2b, + FIELD_NETWORK_QUANTIZED_FLOAT = 0x2c, + FIELD_DIRECTION_VECTOR_WORLDSPACE = 0x2d, + FIELD_QANGLE_WORLDSPACE = 0x2e, + FIELD_QUATERNION_WORLDSPACE = 0x2f, + FIELD_HSCRIPT_LIGHTBINDING = 0x30, + FIELD_V8_VALUE = 0x31, + FIELD_V8_OBJECT = 0x32, + FIELD_V8_ARRAY = 0x33, + FIELD_V8_CALLBACK_INFO = 0x34, + FIELD_UTLSTRING = 0x35, + FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR = 0x36, + FIELD_HRENDERTEXTURE = 0x37, + FIELD_HPARTICLESYSTEMDEFINITION = 0x38, + FIELD_UINT8 = 0x39, + FIELD_UINT16 = 0x3a, + FIELD_CTRANSFORM = 0x3b, + FIELD_CTRANSFORM_WORLDSPACE = 0x3c, + FIELD_HPOSTPROCESSING = 0x3d, + FIELD_MATRIX3X4 = 0x3e, + FIELD_SHIM = 0x3f, + FIELD_CMOTIONTRANSFORM = 0x40, + FIELD_CMOTIONTRANSFORM_WORLDSPACE = 0x41, + FIELD_ATTACHMENT_HANDLE = 0x42, + FIELD_AMMO_INDEX = 0x43, + FIELD_CONDITION_ID = 0x44, + FIELD_AI_SCHEDULE_BITS = 0x45, + FIELD_MODIFIER_HANDLE = 0x46, + FIELD_ROTATION_VECTOR = 0x47, + FIELD_ROTATION_VECTOR_WORLDSPACE = 0x48, + FIELD_TYPECOUNT = 0x49, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class RenderSlotType_t : uint32_t { RENDER_SLOT_INVALID = 0xffffffffffffffff, @@ -106,8 +107,8 @@ enum class RenderSlotType_t : uint32_t RENDER_SLOT_PER_INSTANCE = 0x1, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class InputLayoutVariation_t : uint32_t { INPUT_LAYOUT_VARIATION_DEFAULT = 0x0, @@ -117,8 +118,8 @@ enum class InputLayoutVariation_t : uint32_t INPUT_LAYOUT_VARIATION_MAX = 0x4, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class RenderMultisampleType_t : uint32_t { RENDER_MULTISAMPLE_INVALID = 0xffffffffffffffff, @@ -131,8 +132,8 @@ enum class RenderMultisampleType_t : uint32_t RENDER_MULTISAMPLE_TYPE_COUNT = 0x6, }; -// Aligment: 4 -// Size: 9 +// Alignment: 4 +// Size: 0x9 enum class RenderBufferFlags_t : uint32_t { RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1, @@ -146,8 +147,8 @@ enum class RenderBufferFlags_t : uint32_t RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100, }; -// Aligment: 4 -// Size: 45 +// Alignment: 4 +// Size: 0x2d enum class RenderPrimitiveType_t : uint32_t { RENDER_PRIM_POINTS = 0x0, @@ -197,8 +198,8 @@ enum class RenderPrimitiveType_t : uint32_t RENDER_PRIM_TYPE_COUNT = 0x2c, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class SpawnDebugRestrictionOverrideState_t : uint32_t { SPAWN_DEBUG_RESTRICT_NONE = 0x0, @@ -208,8 +209,8 @@ enum class SpawnDebugRestrictionOverrideState_t : uint32_t SPAWN_DEBUG_RESTRICT_IGNORE_TARGET_COOLDOWN_LIMITS = 0x8, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class SpawnDebugOverrideState_t : uint32_t { SPAWN_DEBUG_OVERRIDE_NONE = 0x0, @@ -217,8 +218,8 @@ enum class SpawnDebugOverrideState_t : uint32_t SPAWN_DEBUG_OVERRIDE_FORCE_DISABLED = 0x2, }; -// Aligment: 4 -// Size: 9 +// Alignment: 4 +// Size: 0x9 enum class EntityIOTargetType_t : uint32_t { ENTITY_IO_TARGET_INVALID = 0xffffffffffffffff, @@ -232,8 +233,8 @@ enum class EntityIOTargetType_t : uint32_t ENTITY_IO_TARGET_ENTITYNAME_OR_CLASSNAME = 0x7, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class EntityDormancyType_t : uint32_t { ENTITY_NOT_DORMANT = 0x0, @@ -241,8 +242,8 @@ enum class EntityDormancyType_t : uint32_t ENTITY_SUSPENDED = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class HorizJustification_e : uint32_t { HORIZ_JUSTIFICATION_LEFT = 0x0, @@ -251,8 +252,8 @@ enum class HorizJustification_e : uint32_t HORIZ_JUSTIFICATION_NONE = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class BloomBlendMode_t : uint32_t { BLOOM_BLEND_ADD = 0x0, @@ -260,8 +261,8 @@ enum class BloomBlendMode_t : uint32_t BLOOM_BLEND_BLUR = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ViewFadeMode_t : uint32_t { VIEW_FADE_CONSTANT_COLOR = 0x0, @@ -269,8 +270,8 @@ enum class ViewFadeMode_t : uint32_t VIEW_FADE_MOD2X = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class LayoutPositionType_e : uint32_t { LAYOUTPOSITIONTYPE_VIEWPORT_RELATIVE = 0x0, @@ -278,8 +279,8 @@ enum class LayoutPositionType_e : uint32_t LAYOUTPOSITIONTYPE_NONE = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class VertJustification_e : uint32_t { VERT_JUSTIFICATION_TOP = 0x0, @@ -288,32 +289,32 @@ enum class VertJustification_e : uint32_t VERT_JUSTIFICATION_NONE = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class MoodType_t : uint32_t { eMoodType_Head = 0x0, eMoodType_Body = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class JumpCorrectionMethod : uint32_t { ScaleMotion = 0x0, AddCorrectionDelta = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class BinaryNodeChildOption : uint32_t { Child1 = 0x0, Child2 = 0x1, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ModelConfigAttachmentType_t : uint32_t { MODEL_CONFIG_ATTACHMENT_INVALID = 0xffffffffffffffff, @@ -323,8 +324,8 @@ enum class ModelConfigAttachmentType_t : uint32_t MODEL_CONFIG_ATTACHMENT_COUNT = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class BoneMaskBlendSpace : uint32_t { BlendSpace_Parent = 0x0, @@ -333,16 +334,16 @@ enum class BoneMaskBlendSpace : uint32_t BlendSpace_Model_TranslationOnly = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class SelectionSource_t : uint32_t { SelectionSource_Bool = 0x0, SelectionSource_Enum = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class IkTargetType : uint32_t { IkTarget_Attachment = 0x0, @@ -351,8 +352,8 @@ enum class IkTargetType : uint32_t IkTarget_Parameter_WorldSpace = 0x3, }; -// Aligment: 4 -// Size: 13 +// Alignment: 4 +// Size: 0xd enum class AnimVectorSource : uint32_t { MoveDirection = 0x0, @@ -370,8 +371,8 @@ enum class AnimVectorSource : uint32_t RootMotionVelocity = 0xc, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ChoiceMethod : uint32_t { WeightedRandom = 0x0, @@ -380,8 +381,8 @@ enum class ChoiceMethod : uint32_t IterateRandom = 0x3, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class FootFallTagFoot_t : uint32_t { FOOT1 = 0x0, @@ -394,8 +395,8 @@ enum class FootFallTagFoot_t : uint32_t FOOT8 = 0x7, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class AnimationSnapshotType_t : uint32_t { ANIMATION_SNAPSHOT_SERVER_SIMULATION = 0x0, @@ -407,8 +408,8 @@ enum class AnimationSnapshotType_t : uint32_t ANIMATION_SNAPSHOT_MAX = 0x6, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class AimMatrixBlendMode : uint32_t { AimMatrixBlendMode_None = 0x0, @@ -416,8 +417,8 @@ enum class AimMatrixBlendMode : uint32_t AimMatrixBlendMode_BoneMask = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class FacingMode : uint32_t { FacingMode_Manual = 0x0, @@ -425,24 +426,24 @@ enum class FacingMode : uint32_t FacingMode_LookTarget = 0x2, }; -// Aligment: 4 -// Size: 2 -enum class VPhysXJoint_t::Flags_t : uint32_t +// Alignment: 4 +// Size: 0x2 +enum class VPhysXJoint_t__Flags_t : uint32_t { JOINT_FLAGS_NONE = 0x0, JOINT_FLAGS_BODY1_FIXED = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class AnimVRHandMotionRange_t : uint32_t { MotionRange_WithController = 0x0, MotionRange_WithoutController = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class FieldNetworkOption : uint32_t { Auto = 0x0, @@ -450,16 +451,16 @@ enum class FieldNetworkOption : uint32_t ForceDisable = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class SolveIKChainAnimNodeSettingSource : uint32_t { SOLVEIKCHAINANIMNODESETTINGSOURCE_Default = 0x0, SOLVEIKCHAINANIMNODESETTINGSOURCE_Override = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class SelectorTagBehavior_t : uint32_t { SelectorTagBehavior_OnWhileCurrent = 0x0, @@ -467,8 +468,8 @@ enum class SelectorTagBehavior_t : uint32_t SelectorTagBehavior_OffBeforeFinished = 0x2, }; -// Aligment: 4 -// Size: 13 +// Alignment: 4 +// Size: 0xd enum class AnimParamButton_t : uint32_t { ANIMPARAM_BUTTON_NONE = 0x0, @@ -486,8 +487,8 @@ enum class AnimParamButton_t : uint32_t ANIMPARAM_BUTTON_RTRIGGER = 0xc, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class SeqPoseSetting_t : uint32_t { SEQ_POSE_SETTING_CONSTANT = 0x0, @@ -496,16 +497,16 @@ enum class SeqPoseSetting_t : uint32_t SEQ_POSE_SETTING_VELOCITY = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class IkEndEffectorType : uint32_t { IkEndEffector_Attachment = 0x0, IkEndEffector_Bone = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class JiggleBoneSimSpace : uint32_t { SimSpace_Local = 0x0, @@ -513,8 +514,8 @@ enum class JiggleBoneSimSpace : uint32_t SimSpace_World = 0x2, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class AnimationProcessingType_t : uint32_t { ANIMATION_PROCESSING_SERVER_SIMULATION = 0x0, @@ -525,8 +526,8 @@ enum class AnimationProcessingType_t : uint32_t ANIMATION_PROCESSING_MAX = 0x5, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class DampingSpeedFunction : uint32_t { NoDamping = 0x0, @@ -534,16 +535,16 @@ enum class DampingSpeedFunction : uint32_t Spring = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class FootLockSubVisualization : uint32_t { FOOTLOCKSUBVISUALIZATION_ReachabilityAnalysis = 0x0, FOOTLOCKSUBVISUALIZATION_IKSolve = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class FootstepLandedFootSoundType_t : uint32_t { FOOTSOUND_Left = 0x0, @@ -551,8 +552,8 @@ enum class FootstepLandedFootSoundType_t : uint32_t FOOTSOUND_UseOverrideSound = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class AnimVrFingerSplay_t : uint32_t { AnimVrFingerSplay_Thumb_Index = 0x0, @@ -561,16 +562,16 @@ enum class AnimVrFingerSplay_t : uint32_t AnimVrFingerSplay_Ring_Pinky = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class AnimVrBoneTransformSource_t : uint32_t { AnimVrBoneTransformSource_LiveStream = 0x0, AnimVrBoneTransformSource_GripLimit = 0x1, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ResetCycleOption : uint32_t { Beginning = 0x0, @@ -580,8 +581,8 @@ enum class ResetCycleOption : uint32_t SameTimeAsSource = 0x4, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class MorphBundleType_t : uint32_t { MORPH_BUNDLE_TYPE_NONE = 0x0, @@ -590,9 +591,9 @@ enum class MorphBundleType_t : uint32_t MORPH_BUNDLE_TYPE_COUNT = 0x3, }; -// Aligment: 4 -// Size: 23 -enum class ModelSkeletonData_t::BoneFlags_t : uint32_t +// Alignment: 4 +// Size: 0x17 +enum class ModelSkeletonData_t__BoneFlags_t : uint32_t { FLAG_NO_BONE_FLAGS = 0x0, FLAG_BONEFLEXDRIVER = 0x4, @@ -619,8 +620,8 @@ enum class ModelSkeletonData_t::BoneFlags_t : uint32_t FLAG_PROCEDURAL = 0x400000, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class StateActionBehavior : uint32_t { STATETAGBEHAVIOR_ACTIVE_WHILE_CURRENT = 0x0, @@ -629,8 +630,8 @@ enum class StateActionBehavior : uint32_t STATETAGBEHAVIOR_FIRE_ON_ENTER_AND_EXIT = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class BlendKeyType : uint32_t { BlendKey_UserValue = 0x0, @@ -639,9 +640,9 @@ enum class BlendKeyType : uint32_t BlendKey_RemainingDistance = 0x3, }; -// Aligment: 4 -// Size: 4 -enum class VPhysXConstraintParams_t::EnumFlags0_t : uint32_t +// Alignment: 4 +// Size: 0x4 +enum class VPhysXConstraintParams_t__EnumFlags0_t : uint32_t { FLAG0_SHIFT_INTERPENETRATE = 0x0, FLAG0_SHIFT_CONSTRAIN = 0x1, @@ -649,24 +650,24 @@ enum class VPhysXConstraintParams_t::EnumFlags0_t : uint32_t FLAG0_SHIFT_BREAKABLE_TORQUE = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class MotionSamplingMethod : uint32_t { Uniform = 0x0, AtFootCycleStart = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ChoiceBlendMethod : uint32_t { SingleBlendTime = 0x0, PerChoiceBlendTimes = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ChoiceChangeMethod : uint32_t { OnReset = 0x0, @@ -674,24 +675,24 @@ enum class ChoiceChangeMethod : uint32_t OnResetOrCycleEnd = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class Blend2DMode : uint32_t { Blend2DMode_General = 0x0, Blend2DMode_Directional = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class AnimVRHand_t : uint32_t { AnimVRHand_Left = 0x0, AnimVRHand_Right = 0x1, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class IKSolverType : uint32_t { IKSOLVER_Perlin = 0x0, @@ -702,8 +703,8 @@ enum class IKSolverType : uint32_t IKSOLVER_COUNT = 0x5, }; -// Aligment: 4 -// Size: 36 +// Alignment: 4 +// Size: 0x24 enum class AnimValueSource : uint32_t { MoveHeading = 0x0, @@ -744,16 +745,16 @@ enum class AnimValueSource : uint32_t FingerSplay_Ring_Pinky = 0x23, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class FinishedConditionOption : uint32_t { FinishedConditionOption_OnFinished = 0x0, FinishedConditionOption_OnAlmostFinished = 0x1, }; -// Aligment: 4 -// Size: 40 +// Alignment: 4 +// Size: 0x28 enum class ControlValue : uint32_t { ControlValue_MoveHeading = 0x0, @@ -798,8 +799,8 @@ enum class ControlValue : uint32_t ControlValue_Invalid = 0xff, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ModelBoneFlexComponent_t : uint32_t { MODEL_BONE_FLEX_INVALID = 0xffffffffffffffff, @@ -808,8 +809,8 @@ enum class ModelBoneFlexComponent_t : uint32_t MODEL_BONE_FLEX_TZ = 0x2, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class MeshDrawPrimitiveFlags_t : uint32_t { MESH_DRAW_FLAGS_NONE = 0x0, @@ -822,8 +823,8 @@ enum class MeshDrawPrimitiveFlags_t : uint32_t MESH_DRAW_FLAGS_DRAW_LAST = 0x80, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class MorphFlexControllerRemapType_t : uint32_t { MORPH_FLEXCONTROLLER_REMAP_PASSTHRU = 0x0, @@ -832,8 +833,8 @@ enum class MorphFlexControllerRemapType_t : uint32_t MORPH_FLEXCONTROLLER_REMAP_EYELID = 0x3, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class StateValue : uint32_t { TotalTranslation_SourceState = 0x0, @@ -845,16 +846,16 @@ enum class StateValue : uint32_t Count = 0x6, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class DampedValueType : uint32_t { FloatParameter = 0x0, VectorParameter = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ComparisonValueType : uint32_t { COMPARISONVALUETYPE_FIXEDVALUE = 0x0, @@ -862,9 +863,9 @@ enum class ComparisonValueType : uint32_t COMPARISONVALUETYPE_PARAMETER = 0x2, }; -// Aligment: 4 -// Size: 15 -enum class PermModelInfo_t::FlagEnum : uint32_t +// Alignment: 4 +// Size: 0xf +enum class PermModelInfo_t__FlagEnum : uint32_t { FLAG_TRANSLUCENT = 0x1, FLAG_TRANSLUCENT_TWO_PASS = 0x2, @@ -883,8 +884,8 @@ enum class PermModelInfo_t::FlagEnum : uint32_t FLAG_MODEL_DOC = 0x800000, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class IKTargetSource : uint32_t { IKTARGETSOURCE_Bone = 0x0, @@ -892,8 +893,8 @@ enum class IKTargetSource : uint32_t IKTARGETSOURCE_COUNT = 0x2, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class AnimParamType_t : uint32_t { ANIMPARAM_UNKNOWN = 0x0, @@ -906,9 +907,9 @@ enum class AnimParamType_t : uint32_t ANIMPARAM_COUNT = 0x7, }; -// Aligment: 4 -// Size: 5 -enum class VPhysXBodyPart_t::VPhysXFlagEnum_t : uint32_t +// Alignment: 4 +// Size: 0x5 +enum class VPhysXBodyPart_t__VPhysXFlagEnum_t : uint32_t { FLAG_STATIC = 0x1, FLAG_KINEMATIC = 0x2, @@ -917,16 +918,16 @@ enum class VPhysXBodyPart_t::VPhysXFlagEnum_t : uint32_t FLAG_ALWAYS_DYNAMIC_ON_CLIENT = 0x10, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class AnimNodeNetworkMode : uint32_t { ServerAuthoritative = 0x0, ClientSimulate = 0x1, }; -// Aligment: 4 -// Size: 26 +// Alignment: 4 +// Size: 0x1a enum class FlexOpCode_t : uint32_t { FLEX_OP_CONST = 0x1, @@ -957,16 +958,16 @@ enum class FlexOpCode_t : uint32_t FLEX_OP_ABS = 0x1a, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class StepPhase : uint32_t { StepPhase_OnGround = 0x0, StepPhase_InAir = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class AnimPoseControl : uint32_t { NoPoseControl = 0x0, @@ -974,25 +975,25 @@ enum class AnimPoseControl : uint32_t RelativePoseControl = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class MatterialAttributeTagType_t : uint32_t { MATERIAL_ATTRIBUTE_TAG_VALUE = 0x0, MATERIAL_ATTRIBUTE_TAG_COLOR = 0x1, }; -// Aligment: 4 -// Size: 3 -enum class VPhysXAggregateData_t::VPhysXFlagEnum_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, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class IKTargetCoordinateSystem : uint32_t { IKTARGETCOORDINATESYSTEM_WorldSpace = 0x0, @@ -1000,8 +1001,8 @@ enum class IKTargetCoordinateSystem : uint32_t IKTARGETCOORDINATESYSTEM_COUNT = 0x2, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class Comparison_t : uint32_t { COMPARISON_EQUALS = 0x0, @@ -1013,8 +1014,8 @@ enum class Comparison_t : uint32_t COMPARISON_COUNT = 0x6, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class AnimVRFinger_t : uint32_t { AnimVrFinger_Thumb = 0x0, @@ -1024,8 +1025,8 @@ enum class AnimVRFinger_t : uint32_t AnimVrFinger_Pinky = 0x4, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class SolveIKChainAnimNodeDebugSetting : uint32_t { SOLVEIKCHAINANIMNODEDEBUGSETTING_None = 0x0, @@ -1037,8 +1038,8 @@ enum class SolveIKChainAnimNodeDebugSetting : uint32_t SOLVEIKCHAINANIMNODEDEBUGSETTING_Left = 0x6, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class PathStatusOptions : uint32_t { PathStatus_HasPath = 0x0, @@ -1046,8 +1047,8 @@ enum class PathStatusOptions : uint32_t PathStatus_GoalHasChanged = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class BinaryNodeTiming : uint32_t { UseChild1 = 0x0, @@ -1055,8 +1056,8 @@ enum class BinaryNodeTiming : uint32_t SyncChildren = 0x2, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class CAnimationGraphVisualizerPrimitiveType : uint32_t { ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Text = 0x0, @@ -1066,8 +1067,8 @@ enum class CAnimationGraphVisualizerPrimitiveType : uint32_t ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Axis = 0x4, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class BoneTransformSpace_t : uint32_t { BoneTransformSpace_Invalid = 0xffffffffffffffff, @@ -1076,8 +1077,8 @@ enum class BoneTransformSpace_t : uint32_t BoneTransformSpace_World = 0x2, }; -// Aligment: 4 -// Size: 17 +// Alignment: 4 +// Size: 0x11 enum class SeqCmd_t : uint32_t { SeqCmd_Nop = 0x0, @@ -1099,8 +1100,8 @@ enum class SeqCmd_t : uint32_t SeqCmd_Transform = 0x10, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class JointAxis_t : uint32_t { JOINT_AXIS_X = 0x0, @@ -1109,8 +1110,8 @@ enum class JointAxis_t : uint32_t JOINT_AXIS_COUNT = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class JointMotion_t : uint32_t { JOINT_MOTION_FREE = 0x0, @@ -1118,16 +1119,16 @@ enum class JointMotion_t : uint32_t JOINT_MOTION_COUNT = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class SosGroupType_t : uint32_t { SOS_GROUPTYPE_DYNAMIC = 0x0, SOS_GROUPTYPE_STATIC = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ActionType_t : uint32_t { SOS_ACTION_NONE = 0x0, @@ -1135,19 +1136,19 @@ enum class ActionType_t : uint32_t SOS_ACTION_TIME_LIMIT = 0x2, }; -// Aligment: 1 -// Size: 5 +// Alignment: 1 +// Size: 0x5 enum class VMixFilterSlope_t : uint8_t { - FILTER_SLOPE_12dB = 0, - FILTER_SLOPE_24dB = 1, - FILTER_SLOPE_36dB = 2, - FILTER_SLOPE_48dB = 3, - FILTER_SLOPE_MAX = 3, + FILTER_SLOPE_12dB = 0x0, + FILTER_SLOPE_24dB = 0x1, + FILTER_SLOPE_36dB = 0x2, + FILTER_SLOPE_48dB = 0x3, + FILTER_SLOPE_MAX = 0x3, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class VMixChannelOperation_t : uint32_t { VMIX_CHAN_STEREO = 0x0, @@ -1158,8 +1159,8 @@ enum class VMixChannelOperation_t : uint32_t VMIX_CHAN_MID_SIDE = 0x5, }; -// Aligment: 4 -// Size: 30 +// Alignment: 4 +// Size: 0x1e enum class soundlevel_t : uint32_t { SNDLVL_NONE = 0x0, @@ -1194,41 +1195,41 @@ enum class soundlevel_t : uint32_t SNDLVL_180dB = 0xb4, }; -// Aligment: 2 -// Size: 19 +// Alignment: 2 +// Size: 0x13 enum class VMixProcessorType_t : uint16_t { - VPROCESSOR_UNKNOWN = 0, - VPROCESSOR_STEAMAUDIO_REVERB = 1, - VPROCESSOR_RT_PITCH = 2, - VPROCESSOR_STEAMAUDIO_HRTF = 3, - VPROCESSOR_DYNAMICS = 4, - VPROCESSOR_PRESETDSP = 5, - VPROCESSOR_DELAY = 6, - VPROCESSOR_FULLWAVE_INTEGRATOR = 7, - VPROCESSOR_FILTER = 8, - VPROCESSOR_STEAMAUDIO_PATHING = 9, - VPROCESSOR_EQ8 = 10, - VPROCESSOR_ENVELOPE = 11, - VPROCESSOR_VOCODER = 12, - VPROCESSOR_CONVOLUTION = 13, - VPROCESSOR_DYNAMICS_3BAND = 14, - VPROCESSOR_DYNAMICS_COMPRESSOR = 15, - VPROCESSOR_SHAPER = 16, - VPROCESSOR_UTILITY = 17, - VPROCESSOR_AUTOFILTER = 18, + VPROCESSOR_UNKNOWN = 0x0, + VPROCESSOR_STEAMAUDIO_REVERB = 0x1, + VPROCESSOR_RT_PITCH = 0x2, + VPROCESSOR_STEAMAUDIO_HRTF = 0x3, + VPROCESSOR_DYNAMICS = 0x4, + VPROCESSOR_PRESETDSP = 0x5, + VPROCESSOR_DELAY = 0x6, + VPROCESSOR_FULLWAVE_INTEGRATOR = 0x7, + VPROCESSOR_FILTER = 0x8, + VPROCESSOR_STEAMAUDIO_PATHING = 0x9, + VPROCESSOR_EQ8 = 0xa, + VPROCESSOR_ENVELOPE = 0xb, + VPROCESSOR_VOCODER = 0xc, + VPROCESSOR_CONVOLUTION = 0xd, + VPROCESSOR_DYNAMICS_3BAND = 0xe, + VPROCESSOR_DYNAMICS_COMPRESSOR = 0xf, + VPROCESSOR_SHAPER = 0x10, + VPROCESSOR_UTILITY = 0x11, + VPROCESSOR_AUTOFILTER = 0x12, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class SosActionSortType_t : uint32_t { SOS_SORTTYPE_HIGHEST = 0x0, SOS_SORTTYPE_LOWEST = 0x1, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class SosEditItemType_t : uint32_t { SOS_EDIT_ITEM_TYPE_SOUNDEVENTS = 0x0, @@ -1239,8 +1240,8 @@ enum class SosEditItemType_t : uint32_t SOS_EDIT_ITEM_TYPE_FIELD = 0x5, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class SosActionStopType_t : uint32_t { SOS_STOPTYPE_NONE = 0x0, @@ -1248,22 +1249,22 @@ enum class SosActionStopType_t : uint32_t SOS_STOPTYPE_OPVAR = 0x2, }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 enum class VMixFilterType_t : uint16_t { - FILTER_UNKNOWN = 18446744073709551615, - FILTER_LOWPASS = 0, - FILTER_HIGHPASS = 1, - FILTER_BANDPASS = 2, - FILTER_NOTCH = 3, - FILTER_PEAKING_EQ = 4, - FILTER_LOW_SHELF = 5, - FILTER_HIGH_SHELF = 6, + FILTER_UNKNOWN = 0xffffffffffffffff, + FILTER_LOWPASS = 0x0, + FILTER_HIGHPASS = 0x1, + FILTER_BANDPASS = 0x2, + FILTER_NOTCH = 0x3, + FILTER_PEAKING_EQ = 0x4, + FILTER_LOW_SHELF = 0x5, + FILTER_HIGH_SHELF = 0x6, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class VMixLFOShape_t : uint32_t { LFO_SHAPE_SINE = 0x0, @@ -1273,18 +1274,18 @@ enum class VMixLFOShape_t : uint32_t LFO_SHAPE_NOISE = 0x4, }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 enum class DisableShadows_t : uint8_t { - kDisableShadows_None = 0, - kDisableShadows_All = 1, - kDisableShadows_Baked = 2, - kDisableShadows_Realtime = 3, + kDisableShadows_None = 0x0, + kDisableShadows_All = 0x1, + kDisableShadows_Baked = 0x2, + kDisableShadows_Realtime = 0x3, }; -// Aligment: 4 -// Size: 16 +// Alignment: 4 +// Size: 0x10 enum class ObjectTypeFlags_t : uint32_t { OBJECT_TYPE_NONE = 0x0, @@ -1305,32 +1306,32 @@ enum class ObjectTypeFlags_t : uint32_t OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class voxel_vis_compression_t : uint32_t { VOXVIS_COMPRESS_RAW = 0x0, VOXVIS_COMPRESS_RLE = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class TextureRepetitionMode_t : uint32_t { TEXTURE_REPETITION_PARTICLE = 0x0, TEXTURE_REPETITION_PATH = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ParticleOrientationSetMode_t : uint32_t { PARTICLE_ORIENTATION_SET_FROM_VELOCITY = 0x0, PARTICLE_ORIENTATION_SET_FROM_ROTATIONS = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ParticleLightTypeChoiceList_t : uint32_t { PARTICLE_LIGHT_TYPE_POINT = 0x0, @@ -1339,8 +1340,8 @@ enum class ParticleLightTypeChoiceList_t : uint32_t PARTICLE_LIGHT_TYPE_CAPSULE = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleLightFogLightingMode_t : uint32_t { PARTICLE_LIGHT_FOG_LIGHTING_MODE_NONE = 0x0, @@ -1348,16 +1349,16 @@ enum class ParticleLightFogLightingMode_t : uint32_t PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC_NOSHADOWS = 0x4, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class SpriteCardShaderType_t : uint32_t { SPRITECARD_SHADER_BASE = 0x0, SPRITECARD_SHADER_CUSTOM = 0x1, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ParticleImpulseType_t : uint32_t { IMPULSE_TYPE_NONE = 0x0, @@ -1368,8 +1369,8 @@ enum class ParticleImpulseType_t : uint32_t IMPULSE_TYPE_PARTICLE_SYSTEM = 0x10, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ClosestPointTestType_t : uint32_t { PARTICLE_CLOSEST_TYPE_BOX = 0x0, @@ -1377,8 +1378,8 @@ enum class ClosestPointTestType_t : uint32_t PARTICLE_CLOSEST_TYPE_HYBRID = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleEndcapMode_t : uint32_t { PARTICLE_ENDCAP_ALWAYS_ON = 0xffffffffffffffff, @@ -1386,16 +1387,16 @@ enum class ParticleEndcapMode_t : uint32_t PARTICLE_ENDCAP_ENDCAP_ON = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ParticleSortingChoiceList_t : uint32_t { PARTICLE_SORTING_NEAREST = 0x0, PARTICLE_SORTING_CREATION_TIME = 0x1, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ParticleCollisionMode_t : uint32_t { COLLISION_MODE_PER_PARTICLE_TRACE = 0x3, @@ -1405,8 +1406,8 @@ enum class ParticleCollisionMode_t : uint32_t COLLISION_MODE_DISABLED = 0xffffffffffffffff, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ParticleOrientationChoiceList_t : uint32_t { PARTICLE_ORIENTATION_SCREEN_ALIGNED = 0x0, @@ -1417,8 +1418,8 @@ enum class ParticleOrientationChoiceList_t : uint32_t PARTICLE_ORIENTATION_FULL_3AXIS_ROTATION = 0x5, }; -// Aligment: 4 -// Size: 18 +// Alignment: 4 +// Size: 0x12 enum class ParticleAttachment_t : uint32_t { PATTACH_INVALID = 0xffffffffffffffff, @@ -1441,8 +1442,8 @@ enum class ParticleAttachment_t : uint32_t MAX_PATTACH_TYPES = 0x10, }; -// Aligment: 4 -// Size: 15 +// Alignment: 4 +// Size: 0xf enum class SpriteCardTextureChannel_t : uint32_t { SPRITECARD_TEXTURE_CHANNEL_MIX_RGB = 0x0, @@ -1462,8 +1463,8 @@ enum class SpriteCardTextureChannel_t : uint32_t SPRITECARD_TEXTURE_CHANNEL_MIX_BALPHA = 0xe, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ParticleAlphaReferenceType_t : uint32_t { PARTICLE_ALPHA_REFERENCE_ALPHA_ALPHA = 0x0, @@ -1472,8 +1473,8 @@ enum class ParticleAlphaReferenceType_t : uint32_t PARTICLE_ALPHA_REFERENCE_OPAQUE_OPAQUE = 0x3, }; -// Aligment: 4 -// Size: 10 +// Alignment: 4 +// Size: 0xa enum class SpriteCardTextureType_t : uint32_t { SPRITECARD_TEXTURE_DIFFUSE = 0x0, @@ -1488,8 +1489,8 @@ enum class SpriteCardTextureType_t : uint32_t SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_C = 0x9, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ParticleDetailLevel_t : uint32_t { PARTICLEDETAIL_LOW = 0x0, @@ -1498,8 +1499,8 @@ enum class ParticleDetailLevel_t : uint32_t PARTICLEDETAIL_ULTRA = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleSequenceCropOverride_t : uint32_t { PARTICLE_SEQUENCE_CROP_OVERRIDE_DEFAULT = 0xffffffffffffffff, @@ -1507,8 +1508,8 @@ enum class ParticleSequenceCropOverride_t : uint32_t PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_ON = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleFalloffFunction_t : uint32_t { PARTICLE_FALLOFF_CONSTANT = 0x0, @@ -1516,8 +1517,8 @@ enum class ParticleFalloffFunction_t : uint32_t PARTICLE_FALLOFF_EXPONENTIAL = 0x2, }; -// Aligment: 4 -// Size: 12 +// Alignment: 4 +// Size: 0xc enum class ParticleVecType_t : uint32_t { PVEC_TYPE_INVALID = 0xffffffffffffffff, @@ -1534,8 +1535,8 @@ enum class ParticleVecType_t : uint32_t PVEC_TYPE_COUNT = 0xa, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class PFNoiseModifier_t : uint32_t { PF_NOISE_MODIFIER_NONE = 0x0, @@ -1544,8 +1545,8 @@ enum class PFNoiseModifier_t : uint32_t PF_NOISE_MODIFIER_RINGS = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ParticleFloatRandomMode_t : uint32_t { PF_RANDOM_MODE_INVALID = 0xffffffffffffffff, @@ -1554,8 +1555,8 @@ enum class ParticleFloatRandomMode_t : uint32_t PF_RANDOM_MODE_COUNT = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleDepthFeatheringMode_t : uint32_t { PARTICLE_DEPTH_FEATHERING_OFF = 0x0, @@ -1563,24 +1564,24 @@ enum class ParticleDepthFeatheringMode_t : uint32_t PARTICLE_DEPTH_FEATHERING_ON_REQUIRED = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class MaterialProxyType_t : uint32_t { MATERIAL_PROXY_STATUS_EFFECT = 0x0, MATERIAL_PROXY_TINT = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ParticleLightnintBranchBehavior_t : uint32_t { PARTICLE_LIGHTNING_BRANCH_CURRENT_DIR = 0x0, PARTICLE_LIGHTNING_BRANCH_ENDPOINT_DIR = 0x1, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class ParticleOutputBlendMode_t : uint32_t { PARTICLE_OUTPUT_BLEND_MODE_ALPHA = 0x0, @@ -1592,8 +1593,8 @@ enum class ParticleOutputBlendMode_t : uint32_t PARTICLE_OUTPUT_BLEND_MODE_LIGHTEN = 0x6, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ParticleFloatInputMode_t : uint32_t { PF_INPUT_MODE_INVALID = 0xffffffffffffffff, @@ -1602,8 +1603,8 @@ enum class ParticleFloatInputMode_t : uint32_t PF_INPUT_MODE_COUNT = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleSelection_t : uint32_t { PARTICLE_SELECTION_FIRST = 0x0, @@ -1611,8 +1612,8 @@ enum class ParticleSelection_t : uint32_t PARTICLE_SELECTION_NUMBER = 0x2, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class ParticleTextureLayerBlendType_t : uint32_t { SPRITECARD_TEXTURE_BLEND_MULTIPLY = 0x0, @@ -1624,8 +1625,8 @@ enum class ParticleTextureLayerBlendType_t : uint32_t SPRITECARD_TEXTURE_BLEND_LUMINANCE = 0x6, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleTraceSet_t : uint32_t { PARTICLE_TRACE_SET_ALL = 0x0, @@ -1633,8 +1634,8 @@ enum class ParticleTraceSet_t : uint32_t PARTICLE_TRACE_SET_DYNAMIC = 0x2, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class ParticleFloatMapType_t : uint32_t { PF_MAP_TYPE_INVALID = 0xffffffffffffffff, @@ -1646,8 +1647,8 @@ enum class ParticleFloatMapType_t : uint32_t PF_MAP_TYPE_COUNT = 0x5, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleLightBehaviorChoiceList_t : uint32_t { PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION = 0x0, @@ -1655,8 +1656,8 @@ enum class ParticleLightBehaviorChoiceList_t : uint32_t PARTICLE_LIGHT_BEHAVIOR_TRAILS = 0x2, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ParticleTopology_t : uint32_t { PARTICLE_TOPOLOGY_POINTS = 0x0, @@ -1666,8 +1667,8 @@ enum class ParticleTopology_t : uint32_t PARTICLE_TOPOLOGY_CUBES = 0x4, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class AnimationType_t : uint32_t { ANIMATION_TYPE_FIXED_RATE = 0x0, @@ -1675,16 +1676,16 @@ enum class AnimationType_t : uint32_t ANIMATION_TYPE_MANUAL_FRAMES = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class HitboxLerpType_t : uint32_t { HITBOX_LERP_LIFETIME = 0x0, HITBOX_LERP_CONSTANT = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleRotationLockType_t : uint32_t { PARTICLE_ROTATION_LOCK_NONE = 0x0, @@ -1692,8 +1693,8 @@ enum class ParticleRotationLockType_t : uint32_t PARTICLE_ROTATION_LOCK_NORMAL = 0x2, }; -// Aligment: 4 -// Size: 9 +// Alignment: 4 +// Size: 0x9 enum class VectorExpressionType_t : uint32_t { VECTOR_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff, @@ -1707,8 +1708,8 @@ enum class VectorExpressionType_t : uint32_t VECTOR_EXPRESSION_NORMALIZE_INPUT_1 = 0x7, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleFogType_t : uint32_t { PARTICLE_FOG_GAME_DEFAULT = 0x0, @@ -1716,8 +1717,8 @@ enum class ParticleFogType_t : uint32_t PARTICLE_FOG_DISABLED = 0x2, }; -// Aligment: 4 -// Size: 11 +// Alignment: 4 +// Size: 0xb enum class ParticlePinDistance_t : uint32_t { PARTICLE_PIN_DISTANCE_NONE = 0xffffffffffffffff, @@ -1733,8 +1734,8 @@ enum class ParticlePinDistance_t : uint32_t PARTICLE_PIN_COLLECTION_AGE = 0xa, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ParticleControlPointAxis_t : uint32_t { PARTICLE_CP_AXIS_X = 0x0, @@ -1745,16 +1746,16 @@ enum class ParticleControlPointAxis_t : uint32_t PARTICLE_CP_AXIS_NEGATIVE_Z = 0x5, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ParticleHitboxBiasType_t : uint32_t { PARTICLE_HITBOX_BIAS_ENTITY = 0x0, PARTICLE_HITBOX_BIAS_HITBOX = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleDirectionNoiseType_t : uint32_t { PARTICLE_DIR_NOISE_PERLIN = 0x0, @@ -1762,8 +1763,8 @@ enum class ParticleDirectionNoiseType_t : uint32_t PARTICLE_DIR_NOISE_WORLEY_BASIC = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class PFNoiseType_t : uint32_t { PF_NOISE_TYPE_PERLIN = 0x0, @@ -1772,32 +1773,32 @@ enum class PFNoiseType_t : uint32_t PF_NOISE_TYPE_CURL = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ParticleLightingQuality_t : uint32_t { PARTICLE_LIGHTING_PER_VERTEX = 0x0, PARTICLE_LIGHTING_PER_PIXEL = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class StandardLightingAttenuationStyle_t : uint32_t { LIGHT_STYLE_OLD = 0x0, LIGHT_STYLE_NEW = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class BlurFilterType_t : uint32_t { BLURFILTER_GAUSSIAN = 0x0, BLURFILTER_BOX = 0x1, }; -// Aligment: 4 -// Size: 14 +// Alignment: 4 +// Size: 0xe enum class SpriteCardPerParticleScale_t : uint32_t { SPRITECARD_TEXTURE_PP_SCALE_NONE = 0x0, @@ -1816,8 +1817,8 @@ enum class SpriteCardPerParticleScale_t : uint32_t SPRITECARD_TEXTURE_PP_SCALE_NEG_RANDOM_TIME = 0xd, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class ScalarExpressionType_t : uint32_t { SCALAR_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff, @@ -1830,8 +1831,8 @@ enum class ScalarExpressionType_t : uint32_t SCALAR_EXPRESSION_MAX = 0x6, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class DetailCombo_t : uint32_t { DETAIL_COMBO_OFF = 0x0, @@ -1840,8 +1841,8 @@ enum class DetailCombo_t : uint32_t DETAIL_COMBO_MOD2X = 0x3, }; -// Aligment: 4 -// Size: 13 +// Alignment: 4 +// Size: 0xd enum class ParticleColorBlendType_t : uint32_t { PARTICLE_COLOR_BLEND_MULTIPLY = 0x0, @@ -1859,8 +1860,8 @@ enum class ParticleColorBlendType_t : uint32_t PARTICLE_COLOR_BLEND_LUMINANCE = 0xc, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ParticleColorBlendMode_t : uint32_t { PARTICLEBLEND_DEFAULT = 0x0, @@ -1870,8 +1871,8 @@ enum class ParticleColorBlendMode_t : uint32_t PARTICLEBLEND_MULTIPLY = 0x4, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class PFNoiseTurbulence_t : uint32_t { PF_NOISE_TURB_NONE = 0x0, @@ -1882,8 +1883,8 @@ enum class PFNoiseTurbulence_t : uint32_t PF_NOISE_TURB_ALTERNATE = 0x5, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ParticlePostProcessPriorityGroup_t : uint32_t { PARTICLE_POST_PROCESS_PRIORITY_LEVEL_VOLUME = 0x0, @@ -1894,8 +1895,8 @@ enum class ParticlePostProcessPriorityGroup_t : uint32_t PARTICLE_POST_PROCESS_PRIORITY_GLOBAL_UI = 0x5, }; -// Aligment: 4 -// Size: 18 +// Alignment: 4 +// Size: 0x12 enum class ParticleFloatType_t : uint32_t { PF_TYPE_INVALID = 0xffffffffffffffff, @@ -1918,8 +1919,8 @@ enum class ParticleFloatType_t : uint32_t PF_TYPE_COUNT = 0x10, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class PetGroundType_t : uint32_t { PET_GROUND_NONE = 0x0, @@ -1927,8 +1928,8 @@ enum class PetGroundType_t : uint32_t PET_GROUND_PLANE = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ParticleVRHandChoiceList_t : uint32_t { PARTICLE_VRHAND_LEFT = 0x0, @@ -1937,8 +1938,8 @@ enum class ParticleVRHandChoiceList_t : uint32_t PARTICLE_VRHAND_CP_OBJECT = 0x3, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class PFuncVisualizationType_t : uint32_t { PFUNC_VISUALIZATION_SPHERE_WIREFRAME = 0x0, @@ -1950,8 +1951,8 @@ enum class PFuncVisualizationType_t : uint32_t PFUNC_VISUALIZATION_CYLINDER = 0x6, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleTraceMissBehavior_t : uint32_t { PARTICLE_TRACE_MISS_BEHAVIOR_NONE = 0x0, @@ -1959,8 +1960,8 @@ enum class ParticleTraceMissBehavior_t : uint32_t PARTICLE_TRACE_MISS_BEHAVIOR_TRACE_END = 0x2, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ParticleFloatBiasType_t : uint32_t { PF_BIAS_TYPE_INVALID = 0xffffffffffffffff, @@ -1970,8 +1971,8 @@ enum class ParticleFloatBiasType_t : uint32_t PF_BIAS_TYPE_COUNT = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class MissingParentInheritBehavior_t : uint32_t { MISSING_PARENT_DO_NOTHING = 0xffffffffffffffff, @@ -1979,8 +1980,8 @@ enum class MissingParentInheritBehavior_t : uint32_t MISSING_PARENT_FIND_NEW = 0x1, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class Detail2Combo_t : uint32_t { DETAIL_2_COMBO_UNINITIALIZED = 0xffffffffffffffff, @@ -1992,8 +1993,8 @@ enum class Detail2Combo_t : uint32_t DETAIL_2_COMBO_CROSSFADE = 0x5, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ParticleSetMethod_t : uint32_t { PARTICLE_SET_REPLACE_VALUE = 0x0, @@ -2004,28 +2005,28 @@ enum class ParticleSetMethod_t : uint32_t PARTICLE_SET_ADD_TO_CURRENT_VALUE = 0x5, }; -// Aligment: 1 -// Size: 14 +// Alignment: 1 +// Size: 0xe enum class MoveType_t : uint8_t { - MOVETYPE_NONE = 0, - MOVETYPE_OBSOLETE = 1, - MOVETYPE_WALK = 2, - MOVETYPE_STEP = 3, - MOVETYPE_FLY = 4, - MOVETYPE_FLYGRAVITY = 5, - MOVETYPE_VPHYSICS = 6, - MOVETYPE_PUSH = 7, - MOVETYPE_NOCLIP = 8, - MOVETYPE_LADDER = 9, - MOVETYPE_OBSERVER = 10, - MOVETYPE_CUSTOM = 11, - MOVETYPE_LAST = 11, - MOVETYPE_MAX_BITS = 4, + MOVETYPE_NONE = 0x0, + MOVETYPE_OBSOLETE = 0x1, + MOVETYPE_WALK = 0x2, + MOVETYPE_STEP = 0x3, + MOVETYPE_FLY = 0x4, + MOVETYPE_FLYGRAVITY = 0x5, + MOVETYPE_VPHYSICS = 0x6, + MOVETYPE_PUSH = 0x7, + MOVETYPE_NOCLIP = 0x8, + MOVETYPE_LADDER = 0x9, + MOVETYPE_OBSERVER = 0xa, + MOVETYPE_CUSTOM = 0xb, + MOVETYPE_LAST = 0xb, + MOVETYPE_MAX_BITS = 0x4, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class EModifierScriptedEvent : uint32_t { MODIFIER_SCRIPTED_EVENT_INVALID = 0x0, @@ -2033,8 +2034,8 @@ enum class EModifierScriptedEvent : uint32_t MODIFIER_SCRIPTED_EVENT_COUNT = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class NPCAbilityTaskHandling_t : uint32_t { TASK_START = 0x0, @@ -2042,16 +2043,16 @@ enum class NPCAbilityTaskHandling_t : uint32_t TASK_END = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class FuncDoorSpawnPos_t : uint32_t { FUNC_DOOR_SPAWN_CLOSED = 0x0, FUNC_DOOR_SPAWN_OPEN = 0x1, }; -// Aligment: 4 -// Size: 9 +// Alignment: 4 +// Size: 0x9 enum class ObserverMode_t : uint32_t { OBS_MODE_NONE = 0x0, @@ -2065,16 +2066,16 @@ enum class ObserverMode_t : uint32_t NUM_OBSERVER_MODES = 0x8, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ENPCAbilityMeleeAttackEvaluationTest : uint32_t { NPC_ABILITY_MELEE_ATTACK_EVAL_TEST_HULL = 0x0, NPC_ABILITY_MELEE_ATTACK_EVAL_TEST_LOS = 0x1, }; -// Aligment: 4 -// Size: 21 +// Alignment: 4 +// Size: 0x15 enum class sound_states : uint32_t { SS_NONE = 0x0, @@ -2100,8 +2101,8 @@ enum class sound_states : uint32_t SS_NUM_STATES = 0x14, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class CanPlaySequence_t : uint32_t { CANNOT_PLAY = 0x0, @@ -2109,8 +2110,8 @@ enum class CanPlaySequence_t : uint32_t CAN_PLAY_ENQUEUED = 0x2, }; -// Aligment: 4 -// Size: 10 +// Alignment: 4 +// Size: 0xa enum class Disposition_t : uint32_t { D_ER = 0x0, @@ -2125,16 +2126,16 @@ enum class Disposition_t : uint32_t D_NEUTRAL = 0x4, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ValueRemapperHapticsType_t : uint32_t { HaticsType_Default = 0x0, HaticsType_None = 0x1, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class SteamPal_Projectile_Tag_Marker_Type_t : uint32_t { STEAMPAL_PROJECTILE_TAG_MARKER_WORLD = 0x0, @@ -2145,26 +2146,26 @@ enum class SteamPal_Projectile_Tag_Marker_Type_t : uint32_t STEAMPAL_PROJECTILE_TAG_MARKER_TYPE_COUNT = 0x5, }; -// Aligment: 2 -// Size: 12 +// Alignment: 2 +// Size: 0xc enum class TakeDamageFlags_t : uint16_t { - DFLAG_NONE = 0, - DFLAG_SUPPRESS_HEALTH_CHANGES = 1, - DFLAG_SUPPRESS_PHYSICS_FORCE = 2, - DFLAG_SUPPRESS_EFFECTS = 4, - DFLAG_PREVENT_DEATH = 8, - DFLAG_FORCE_DEATH = 16, - DFLAG_ALWAYS_GIB = 32, - DFLAG_NEVER_GIB = 64, - DFLAG_REMOVE_NO_RAGDOLL = 128, - DFLAG_SUPPRESS_DAMAGE_MODIFICATION = 256, - DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS = 512, - DMG_LASTDFLAG = 512, + DFLAG_NONE = 0x0, + DFLAG_SUPPRESS_HEALTH_CHANGES = 0x1, + DFLAG_SUPPRESS_PHYSICS_FORCE = 0x2, + DFLAG_SUPPRESS_EFFECTS = 0x4, + DFLAG_PREVENT_DEATH = 0x8, + DFLAG_FORCE_DEATH = 0x10, + DFLAG_ALWAYS_GIB = 0x20, + DFLAG_NEVER_GIB = 0x40, + DFLAG_REMOVE_NO_RAGDOLL = 0x80, + DFLAG_SUPPRESS_DAMAGE_MODIFICATION = 0x100, + DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS = 0x200, + DMG_LASTDFLAG = 0x200, }; -// Aligment: 4 -// Size: 14 +// Alignment: 4 +// Size: 0xe enum class WeaponSound_t : uint32_t { WEAPON_SOUND_EMPTY = 0x0, @@ -2183,46 +2184,46 @@ enum class WeaponSound_t : uint32_t WEAPON_SOUND_NUM_TYPES = 0xd, }; -// Aligment: 4 -// Size: 1 +// Alignment: 4 +// Size: 0x1 enum class FlexWeight_t : uint32_t { FLEX_END = 0x7fffffff, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ValueRemapperInputType_t : uint32_t { InputType_PlayerShootPosition = 0x0, InputType_PlayerShootPositionAroundAxis = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ShadowType_t : uint32_t { SHADOWS_NONE = 0x0, SHADOWS_SIMPLE = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ModifyDamageReturn_t : uint32_t { CONTINUE_TO_APPLY_DAMAGE = 0x0, ABORT_DO_NOT_APPLY_DAMAGE = 0x1, }; -// Aligment: 4 -// Size: 1 +// Alignment: 4 +// Size: 0x1 enum class PoseParameter_t : uint32_t { POSE_END = 0x7fffffff, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class BrushSolidities_e : uint32_t { BRUSHSOLID_TOGGLE = 0x0, @@ -2230,16 +2231,16 @@ enum class BrushSolidities_e : uint32_t BRUSHSOLID_ALWAYS = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class RagdollBlendDirection : uint32_t { RAGDOLL_BLEND_IN = 0x0, RAGDOLL_BLEND_OUT = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class TRAIN_CODE : uint32_t { TRAIN_SAFE = 0x0, @@ -2247,8 +2248,8 @@ enum class TRAIN_CODE : uint32_t TRAIN_FOLLOWING = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class AI_Posture_t : uint32_t { AIP_INDIFFERENT = 0x0, @@ -2257,8 +2258,8 @@ enum class AI_Posture_t : uint32_t AIP_PEEKING = 0x3, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ShakeCommand_t : uint32_t { SHAKE_START = 0x0, @@ -2269,8 +2270,8 @@ enum class ShakeCommand_t : uint32_t SHAKE_START_NORUMBLE = 0x5, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class PointWorldTextJustifyHorizontal_t : uint32_t { POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_LEFT = 0x0, @@ -2278,8 +2279,8 @@ enum class PointWorldTextJustifyHorizontal_t : uint32_t POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT = 0x2, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ModifierVariantType_t : uint32_t { Variant_Null = 0x0, @@ -2289,8 +2290,8 @@ enum class ModifierVariantType_t : uint32_t Variant_Vector = 0x4, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class WeaponState_t : uint32_t { WEAPON_NOT_CARRIED = 0x0, @@ -2298,8 +2299,8 @@ enum class WeaponState_t : uint32_t WEAPON_IS_ACTIVE = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class PointTemplateOwnerSpawnGroupType_t : uint32_t { INSERT_INTO_POINT_TEMPLATE_SPAWN_GROUP = 0x0, @@ -2307,8 +2308,8 @@ enum class PointTemplateOwnerSpawnGroupType_t : uint32_t INSERT_INTO_NEWLY_CREATED_SPAWN_GROUP = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ValueRemapperOutputType_t : uint32_t { OutputType_AnimationCycle = 0x0, @@ -2317,8 +2318,8 @@ enum class ValueRemapperOutputType_t : uint32_t OutputType_RotationZ = 0x3, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class ModifierAttribute_t : uint32_t { MODIFIER_ATTRIBUTE_NONE = 0x0, @@ -2331,8 +2332,8 @@ enum class ModifierAttribute_t : uint32_t MODIFIER_ATTRIBUTE_TRANSFER_TO_RAGDOLL = 0x40, }; -// Aligment: 4 -// Size: 13 +// Alignment: 4 +// Size: 0xd enum class DeskButtonGroups_t : uint32_t { DESK_BUTTON_GROUP_BUMPERS = 0x0, @@ -2350,17 +2351,17 @@ enum class DeskButtonGroups_t : uint32_t DESK_BUTTON_GROUP_COUNT = 0xc, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class AI_MoveEfficiency_t : uint32_t { AIME_NORMAL = 0x0, AIME_EFFICIENT = 0x1, }; -// Aligment: 4 -// Size: 7 -enum class IChoreoServices::ChoreoState_t : uint32_t +// Alignment: 4 +// Size: 0x7 +enum class IChoreoServices__ChoreoState_t : uint32_t { STATE_PRE_SCRIPT = 0x0, STATE_WAIT_FOR_SCRIPT = 0x1, @@ -2371,20 +2372,20 @@ enum class IChoreoServices::ChoreoState_t : uint32_t STATE_PLAY_SCRIPT_POST_IDLE_DONE = 0x6, }; -// Aligment: 1 -// Size: 6 +// Alignment: 1 +// Size: 0x6 enum class MoveCollide_t : uint8_t { - MOVECOLLIDE_DEFAULT = 0, - MOVECOLLIDE_FLY_BOUNCE = 1, - MOVECOLLIDE_FLY_CUSTOM = 2, - MOVECOLLIDE_FLY_SLIDE = 3, - MOVECOLLIDE_COUNT = 4, - MOVECOLLIDE_MAX_BITS = 3, + MOVECOLLIDE_DEFAULT = 0x0, + MOVECOLLIDE_FLY_BOUNCE = 0x1, + MOVECOLLIDE_FLY_CUSTOM = 0x2, + MOVECOLLIDE_FLY_SLIDE = 0x3, + MOVECOLLIDE_COUNT = 0x4, + MOVECOLLIDE_MAX_BITS = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class PointWorldTextJustifyVertical_t : uint32_t { POINT_WORLD_TEXT_JUSTIFY_VERTICAL_BOTTOM = 0x0, @@ -2392,8 +2393,8 @@ enum class PointWorldTextJustifyVertical_t : uint32_t POINT_WORLD_TEXT_JUSTIFY_VERTICAL_TOP = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class TargetOriginType_t : uint32_t { eTargetOriginType_AbsOrigin = 0x0, @@ -2402,8 +2403,8 @@ enum class TargetOriginType_t : uint32_t eTargetOriginType_LastSeenPosition = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ModifierRemoveTargets_t : uint32_t { MODIFIER_REMOVE_ALL = 0x0, @@ -2412,8 +2413,8 @@ enum class ModifierRemoveTargets_t : uint32_t MODIFIER_REMOVE_INTRINSIC = 0x3, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class SteampalUltraToiletAttachedModel_t : uint32_t { ULTRA_ATTACHMENT_AAGUN_L = 0x0, @@ -2426,8 +2427,8 @@ enum class SteampalUltraToiletAttachedModel_t : uint32_t ULTRA_ATTACHED_MODEL_COUNT = 0x7, }; -// Aligment: 4 -// Size: 22 +// Alignment: 4 +// Size: 0x16 enum class DamageTypes_t : uint32_t { DMG_GENERIC = 0x0, @@ -2454,31 +2455,31 @@ enum class DamageTypes_t : uint32_t DMG_LASTGENERICFLAG = 0x1000000, }; -// Aligment: 1 -// Size: 9 +// Alignment: 1 +// Size: 0x9 enum class SolidType_t : uint8_t { - SOLID_NONE = 0, - SOLID_BSP = 1, - SOLID_BBOX = 2, - SOLID_OBB = 3, - SOLID_SPHERE = 4, - SOLID_POINT = 5, - SOLID_VPHYSICS = 6, - SOLID_CAPSULE = 7, - SOLID_LAST = 8, + SOLID_NONE = 0x0, + SOLID_BSP = 0x1, + SOLID_BBOX = 0x2, + SOLID_OBB = 0x3, + SOLID_SPHERE = 0x4, + SOLID_POINT = 0x5, + SOLID_VPHYSICS = 0x6, + SOLID_CAPSULE = 0x7, + SOLID_LAST = 0x8, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class GatherConditionsResult_t : uint32_t { GATHER_CONDITIONS_CANNOT_USE_ABILITY = 0x0, GATHER_CONDITIONS_CAN_USE_ABILITY = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ActorClasses_t : uint32_t { ACTOR_CLASS_DEFAULT = 0x0, @@ -2487,8 +2488,8 @@ enum class ActorClasses_t : uint32_t ACTOR_CLASS_COUNT = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class Interruptability_t : uint32_t { GENERAL_INTERRUPTABILITY = 0x0, @@ -2497,8 +2498,8 @@ enum class Interruptability_t : uint32_t COMBAT_INTERRUPTABILITY = 0x3, }; -// Aligment: 4 -// Size: 63 +// Alignment: 4 +// Size: 0x3f enum class Hint_e : uint32_t { HINT_ANY = 0xffffffffffffffff, @@ -2566,8 +2567,8 @@ enum class Hint_e : uint32_t HINT_HOLDOUT_AMMO_RESUPPLY = 0x709, }; -// Aligment: 4 -// Size: 18 +// Alignment: 4 +// Size: 0x12 enum class EModifierValue : uint32_t { MODIFIER_VALUE_MATERIAL_OVERRIDE = 0x0, @@ -2590,8 +2591,8 @@ enum class EModifierValue : uint32_t MODIFIER_VALUE_INVALID = 0xff, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class Flinch_DamageClasses_t : uint32_t { AGE_DMG_INVALID = 0xffffffffffffffff, @@ -2603,15 +2604,15 @@ enum class Flinch_DamageClasses_t : uint32_t AGE_DMG_SHOCK = 0x5, }; -// Aligment: 4 -// Size: 1 +// Alignment: 4 +// Size: 0x1 enum class navproperties_t : uint32_t { NAV_IGNORE = 0x1, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class AI_Efficiency_t : uint32_t { AIE_NORMAL = 0x0, @@ -2621,17 +2622,17 @@ enum class AI_Efficiency_t : uint32_t AIE_DORMANT = 0x4, }; -// Aligment: 4 -// Size: 3 -enum class SimpleConstraintSoundProfile::SimpleConstraintsSoundProfileKeypoints_t : uint32_t +// Alignment: 4 +// Size: 0x3 +enum class SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t : uint32_t { kMIN_THRESHOLD = 0x0, kMIN_FULL = 0x1, kHIGHWATER = 0x2, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class PlayerConnectedState : uint32_t { PlayerNeverConnected = 0xffffffffffffffff, @@ -2642,8 +2643,8 @@ enum class PlayerConnectedState : uint32_t PlayerDisconnected = 0x4, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ChatIgnoreType_t : uint32_t { CHAT_IGNORE_NONE = 0x0, @@ -2651,8 +2652,8 @@ enum class ChatIgnoreType_t : uint32_t CHAT_IGNORE_TEAM = 0x2, }; -// Aligment: 4 -// Size: 17 +// Alignment: 4 +// Size: 0x11 enum class EModifierEvent : uint32_t { MODIFIER_EVENT_PRE_DAMAGE_TAKEN_BROADCAST = 0x0, @@ -2674,8 +2675,8 @@ enum class EModifierEvent : uint32_t MODIFIER_EVENT_INVALID = 0xff, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class DoorState_t : uint32_t { DOOR_STATE_CLOSED = 0x0, @@ -2685,8 +2686,8 @@ enum class DoorState_t : uint32_t DOOR_STATE_AJAR = 0x4, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class LatchDirtyPermission_t : uint32_t { LATCH_DIRTY_DISALLOW = 0x0, @@ -2697,8 +2698,8 @@ enum class LatchDirtyPermission_t : uint32_t LATCH_DIRTY_PARTICLE_SIMULATE = 0x5, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class AbilityPickupBehaviorType_t : uint32_t { eAbilityPickupBehavior_GrantDroppedAmmo = 0x0, @@ -2708,8 +2709,8 @@ enum class AbilityPickupBehaviorType_t : uint32_t eAbilityPickupBehavior_GrantPlayerWeapon = 0x4, }; -// Aligment: 4 -// Size: 27 +// Alignment: 4 +// Size: 0x1b enum class RumbleEffect_t : uint32_t { RUMBLE_INVALID = 0xffffffffffffffff, @@ -2741,8 +2742,8 @@ enum class RumbleEffect_t : uint32_t NUM_RUMBLE_EFFECTS = 0x19, }; -// Aligment: 4 -// Size: 16 +// Alignment: 4 +// Size: 0x10 enum class vote_create_failed_t : uint32_t { VOTE_FAILED_GENERIC = 0x0, @@ -2763,34 +2764,34 @@ enum class vote_create_failed_t : uint32_t VOTE_FAILED_MAX = 0xf, }; -// Aligment: 1 -// Size: 20 +// Alignment: 1 +// Size: 0x14 enum class RenderFx_t : uint8_t { - kRenderFxNone = 0, - kRenderFxPulseSlow = 1, - kRenderFxPulseFast = 2, - kRenderFxPulseSlowWide = 3, - kRenderFxPulseFastWide = 4, - kRenderFxFadeSlow = 5, - kRenderFxFadeFast = 6, - kRenderFxSolidSlow = 7, - kRenderFxSolidFast = 8, - kRenderFxStrobeSlow = 9, - kRenderFxStrobeFast = 10, - kRenderFxStrobeFaster = 11, - kRenderFxFlickerSlow = 12, - kRenderFxFlickerFast = 13, - kRenderFxNoDissipation = 14, - kRenderFxFadeOut = 15, - kRenderFxFadeIn = 16, - kRenderFxPulseFastWider = 17, - kRenderFxGlowShell = 18, - kRenderFxMax = 19, + kRenderFxNone = 0x0, + kRenderFxPulseSlow = 0x1, + kRenderFxPulseFast = 0x2, + kRenderFxPulseSlowWide = 0x3, + kRenderFxPulseFastWide = 0x4, + kRenderFxFadeSlow = 0x5, + kRenderFxFadeFast = 0x6, + kRenderFxSolidSlow = 0x7, + kRenderFxSolidFast = 0x8, + kRenderFxStrobeSlow = 0x9, + kRenderFxStrobeFast = 0xa, + kRenderFxStrobeFaster = 0xb, + kRenderFxFlickerSlow = 0xc, + kRenderFxFlickerFast = 0xd, + kRenderFxNoDissipation = 0xe, + kRenderFxFadeOut = 0xf, + kRenderFxFadeIn = 0x10, + kRenderFxPulseFastWider = 0x11, + kRenderFxGlowShell = 0x12, + kRenderFxMax = 0x13, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class EModifierScriptVariantType : uint32_t { MODIFIER_SCRIPT_VARIANT_MODIFIER_FLOAT = 0x0, @@ -2798,24 +2799,24 @@ enum class EModifierScriptVariantType : uint32_t MODIFIER_SCRIPT_VARIANT_PARTICLE = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ScriptedMovementType_t : uint32_t { SCRIPT_WALK = 0x0, SCRIPT_RUN = 0x1, }; -// Aligment: 4 -// Size: 2 -enum class CRR_Response::ResponseEnum_t : uint32_t +// Alignment: 4 +// Size: 0x2 +enum class CRR_Response__ResponseEnum_t : uint32_t { MAX_RESPONSE_NAME = 0xc0, MAX_RULE_NAME = 0x80, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class NavDirType : uint32_t { NORTH = 0x0, @@ -2825,16 +2826,16 @@ enum class NavDirType : uint32_t NUM_DIRECTIONS = 0x4, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ValueRemapperRatchetType_t : uint32_t { RatchetType_Absolute = 0x0, RatchetType_EachEngage = 0x1, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class BodyLocations_t : uint32_t { BODYLOC_INVALID = 0xffffffffffffffff, @@ -2846,8 +2847,8 @@ enum class BodyLocations_t : uint32_t NUM_BODYLOCS = 0x5, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class TrackOrientationType_t : uint32_t { TrackOrientation_Fixed = 0x0, @@ -2855,35 +2856,35 @@ enum class TrackOrientationType_t : uint32_t TrackOrientation_FacePathAngles = 0x2, }; -// Aligment: 1 -// Size: 5 +// Alignment: 1 +// Size: 0x5 enum class ShatterGlassStressType : uint8_t { - SHATTERGLASS_BLUNT = 0, - SHATTERGLASS_BALLISTIC = 1, - SHATTERGLASS_PULSE = 2, - SHATTERDRYWALL_CHUNKS = 3, - SHATTERGLASS_EXPLOSIVE = 4, + SHATTERGLASS_BLUNT = 0x0, + SHATTERGLASS_BALLISTIC = 0x1, + SHATTERGLASS_PULSE = 0x2, + SHATTERDRYWALL_CHUNKS = 0x3, + SHATTERGLASS_EXPLOSIVE = 0x4, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class AbilityPathType_t : uint32_t { eAbilityPathType_None = 0x0, eAbilityPathType_Target = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class PointTemplateClientOnlyEntityBehavior_t : uint32_t { CREATE_FOR_CURRENTLY_CONNECTED_CLIENTS_ONLY = 0x0, CREATE_FOR_CLIENTS_WHO_CONNECT_LATER = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class HintIgnoreFacing_t : uint32_t { HIF_NO = 0x0, @@ -2891,8 +2892,8 @@ enum class HintIgnoreFacing_t : uint32_t HIF_DEFAULT = 0x2, }; -// Aligment: 4 -// Size: 9 +// Alignment: 4 +// Size: 0x9 enum class EntitySubclassScope_t : uint32_t { SUBCLASS_SCOPE_NONE = 0xffffffffffffffff, @@ -2906,8 +2907,8 @@ enum class EntitySubclassScope_t : uint32_t SUBCLASS_SCOPE_COUNT = 0x7, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class SteampalUltraToiletGunType_t : uint32_t { ULTRA_GUN_MINIGUN = 0x0, @@ -2920,8 +2921,8 @@ enum class SteampalUltraToiletGunType_t : uint32_t ULTRA_GUN_TYPE_COUNT = 0x7, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class BeamType_t : uint32_t { BEAM_INVALID = 0x0, @@ -2933,8 +2934,8 @@ enum class BeamType_t : uint32_t BEAM_LASER = 0x6, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class doorCheck_e : uint32_t { DOOR_CHECK_FORWARD = 0x0, @@ -2942,8 +2943,8 @@ enum class doorCheck_e : uint32_t DOOR_CHECK_FULL = 0x2, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class HierarchyType_t : uint32_t { HIERARCHY_NONE = 0x0, @@ -2954,8 +2955,8 @@ enum class HierarchyType_t : uint32_t HIERARCHY_TYPE_COUNT = 0x5, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class AmmoFlags_t : uint32_t { AMMO_FORCE_DROP_IF_CARRIED = 0x1, @@ -2963,8 +2964,8 @@ enum class AmmoFlags_t : uint32_t AMMO_FLAG_MAX = 0x2, }; -// Aligment: 8 -// Size: 40 +// Alignment: 8 +// Size: 0x28 enum class DebugOverlayBits_t : uint64_t { OVERLAY_TEXT_BIT = 0x1, @@ -3009,17 +3010,17 @@ enum class DebugOverlayBits_t : uint64_t OVERLAY_NPC_CONDITIONS_TEXT_BIT = 0x8000000000, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class PointWorldTextReorientMode_t : uint32_t { POINT_WORLD_TEXT_REORIENT_NONE = 0x0, POINT_WORLD_TEXT_REORIENT_AROUND_UP = 0x1, }; -// Aligment: 4 -// Size: 7 -enum class CGameChoreoServices::ChoreoState_t : uint32_t +// Alignment: 4 +// Size: 0x7 +enum class CGameChoreoServices__ChoreoState_t : uint32_t { STATE_PRE_SCRIPT = 0x0, STATE_WAIT_FOR_SCRIPT = 0x1, @@ -3030,8 +3031,8 @@ enum class CGameChoreoServices::ChoreoState_t : uint32_t STATE_PLAY_SCRIPT_POST_IDLE_DONE = 0x6, }; -// Aligment: 4 -// Size: 13 +// Alignment: 4 +// Size: 0xd enum class HitGroup_t : uint32_t { HITGROUP_INVALID = 0xffffffffffffffff, @@ -3049,8 +3050,8 @@ enum class HitGroup_t : uint32_t HITGROUP_SPECIAL = 0xb, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class EntityDisolveType_t : uint32_t { ENTITY_DISSOLVE_INVALID = 0xffffffffffffffff, @@ -3060,8 +3061,8 @@ enum class EntityDisolveType_t : uint32_t ENTITY_DISSOLVE_CORE = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class AI_HintChangeReaction_t : uint32_t { AIHCR_DEFAULT_AI = 0x0, @@ -3069,8 +3070,8 @@ enum class AI_HintChangeReaction_t : uint32_t AIHCR_MOVE_IMMEDIATE = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class SteamPalPaintType : uint32_t { STEAMPAL_PAINT_BOUNCE = 0x0, @@ -3078,8 +3079,8 @@ enum class SteamPalPaintType : uint32_t STEAMPAL_PAINT_POWER_TYPE_COUNT = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class WorldTextPanelVerticalAlign_t : uint32_t { WORLDTEXT_VERTICAL_ALIGN_TOP = 0x0, @@ -3087,16 +3088,16 @@ enum class WorldTextPanelVerticalAlign_t : uint32_t WORLDTEXT_VERTICAL_ALIGN_BOTTOM = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ScriptedConflictResponse_t : uint32_t { SS_CONFLICT_ENQUEUE = 0x0, SS_CONFLICT_INTERRUPT = 0x1, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ModifierDisableGroup_t : uint32_t { MODIFIER_DISABLE_GROUP_MIN = 0x0, @@ -3106,8 +3107,8 @@ enum class ModifierDisableGroup_t : uint32_t MODIFIER_DISABLE_GROUP_MAX = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class Flinch_Displacement_t : uint32_t { FLINCH_DISP_STATIONARY = 0x0, @@ -3115,8 +3116,8 @@ enum class Flinch_Displacement_t : uint32_t FLINCH_DISP_LARGE = 0x2, }; -// Aligment: 4 -// Size: 11 +// Alignment: 4 +// Size: 0xb enum class DeskState_t : uint32_t { DESK_STATE_NONE = 0x0, @@ -3132,8 +3133,8 @@ enum class DeskState_t : uint32_t DESK_STATE_BUTTONS_TOILET_OUTRO = 0xa, }; -// Aligment: 4 -// Size: 9 +// Alignment: 4 +// Size: 0x9 enum class AttachType_t : uint32_t { ATTACH_TYPE_NONE = 0xffffffffffffffff, @@ -3147,8 +3148,8 @@ enum class AttachType_t : uint32_t ATTACH_TYPE_LOCKED = 0x7, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ScriptedOnDeath_t : uint32_t { SS_ONDEATH_NOT_APPLICABLE = 0xffffffffffffffff, @@ -3157,8 +3158,8 @@ enum class ScriptedOnDeath_t : uint32_t SS_ONDEATH_ANIMATED_DEATH = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class Steampal_TurretType_t : uint32_t { STEAMPAL_TURRETTYPE_BADTURRET = 0x0, @@ -3167,19 +3168,19 @@ enum class Steampal_TurretType_t : uint32_t STEAMPAL_TURRETTYPE_INTROTURRET = 0x3, }; -// Aligment: 1 -// Size: 5 +// Alignment: 1 +// Size: 0x5 enum class ShatterDamageCause : uint8_t { - SHATTERDAMAGE_BULLET = 0, - SHATTERDAMAGE_MELEE = 1, - SHATTERDAMAGE_THROWN = 2, - SHATTERDAMAGE_SCRIPT = 3, - SHATTERDAMAGE_EXPLOSIVE = 4, + SHATTERDAMAGE_BULLET = 0x0, + SHATTERDAMAGE_MELEE = 0x1, + SHATTERDAMAGE_THROWN = 0x2, + SHATTERDAMAGE_SCRIPT = 0x3, + SHATTERDAMAGE_EXPLOSIVE = 0x4, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class InternalWeaponState_t : uint32_t { INTERNALWEAPONSTATE_HOLSTERED = 0x0, @@ -3188,8 +3189,8 @@ enum class InternalWeaponState_t : uint32_t INTERNALWEAPONSTATE_CHANGING_DESTROY = 0x3, }; -// Aligment: 4 -// Size: 11 +// Alignment: 4 +// Size: 0xb enum class SquadSlotId_t : uint32_t { SQUAD_SLOT_NONE = 0xffffffffffffffff, @@ -3205,8 +3206,8 @@ enum class SquadSlotId_t : uint32_t SQUAD_SLOT_COUNT = 0x9, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class CommandExecMode_t : uint32_t { EXEC_MANUAL = 0x0, @@ -3215,8 +3216,8 @@ enum class CommandExecMode_t : uint32_t EXEC_MODES_COUNT = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class NPCAbilityCategory_t : uint32_t { NPC_ABILITY_CATEGORY_INVALID = 0xffffffffffffffff, @@ -3225,8 +3226,8 @@ enum class NPCAbilityCategory_t : uint32_t NPC_ABILITY_CATEGORY_OTHER = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ModifierDebuffType_t : uint32_t { MODIFIER_DEBUFF_ENEMY_TEAM_ONLY = 0x0, @@ -3234,16 +3235,16 @@ enum class ModifierDebuffType_t : uint32_t MODIFIER_DEBUFF_NO = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class NPCAbilityUsageQuery_t : uint32_t { NPC_ABILITY_ONLY_BEING_PERFORMED = 0x0, NPC_ABILITY_PERFORMING_OR_RESOLUTION = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class NPCAbilityTaskPhase_t : uint32_t { TASK_PRE_ATTACK = 0x0, @@ -3251,8 +3252,8 @@ enum class NPCAbilityTaskPhase_t : uint32_t TASK_POST_ATTACK = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class BeamClipStyle_t : uint32_t { kNOCLIP = 0x0, @@ -3261,8 +3262,8 @@ enum class BeamClipStyle_t : uint32_t kBEAMCLIPSTYLE_NUMBITS = 0x2, }; -// Aligment: 4 -// Size: 11 +// Alignment: 4 +// Size: 0xb enum class Hull_t : uint32_t { HULL_HUMAN = 0x0, @@ -3278,8 +3279,8 @@ enum class Hull_t : uint32_t HULL_NONE = 0xa, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class NPCAbilityLOSMethod_t : uint32_t { NPC_ABILITY_LOS_IGNORE = 0x0, @@ -3288,8 +3289,8 @@ enum class NPCAbilityLOSMethod_t : uint32_t NPC_ABILITY_LOS_TEST_FRIENDLIES_ONLY = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ValueRemapperMomentumType_t : uint32_t { MomentumType_None = 0x0, @@ -3298,8 +3299,8 @@ enum class ValueRemapperMomentumType_t : uint32_t MomentumType_SpringAwayFromSnapValue = 0x3, }; -// Aligment: 4 -// Size: 19 +// Alignment: 4 +// Size: 0x13 enum class NavAttributeEnum : uint32_t { NAV_MESH_AVOID = 0x80, @@ -3323,8 +3324,8 @@ enum class NavAttributeEnum : uint32_t NAV_ATTR_LAST_INDEX = 0x1f, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class BodyLocationAnimgraphAttachments_t : uint32_t { BODYLOC_PITCH_MIDDLE = 0x0, @@ -3333,8 +3334,8 @@ enum class BodyLocationAnimgraphAttachments_t : uint32_t NUM_BODYLOC_PITCH = 0x3, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class TOGGLE_STATE : uint32_t { TS_AT_TOP = 0x0, @@ -3347,8 +3348,8 @@ enum class TOGGLE_STATE : uint32_t DOOR_CLOSING = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class PerformanceMode_t : uint32_t { PM_NORMAL = 0x0, @@ -3357,35 +3358,35 @@ enum class PerformanceMode_t : uint32_t PM_REDUCED_GIBS = 0x3, }; -// Aligment: 1 -// Size: 13 +// Alignment: 1 +// Size: 0xd enum class RenderMode_t : uint8_t { - kRenderNormal = 0, - kRenderTransColor = 1, - kRenderTransTexture = 2, - kRenderGlow = 3, - kRenderTransAlpha = 4, - kRenderTransAdd = 5, - kRenderEnvironmental = 6, - kRenderTransAddFrameBlend = 7, - kRenderTransAlphaAdd = 8, - kRenderWorldGlow = 9, - kRenderNone = 10, - kRenderDevVisualizer = 11, - kRenderModeCount = 12, + kRenderNormal = 0x0, + kRenderTransColor = 0x1, + kRenderTransTexture = 0x2, + kRenderGlow = 0x3, + kRenderTransAlpha = 0x4, + kRenderTransAdd = 0x5, + kRenderEnvironmental = 0x6, + kRenderTransAddFrameBlend = 0x7, + kRenderTransAlphaAdd = 0x8, + kRenderWorldGlow = 0x9, + kRenderNone = 0xa, + kRenderDevVisualizer = 0xb, + kRenderModeCount = 0xc, }; -// Aligment: 1 -// Size: 2 +// Alignment: 1 +// Size: 0x2 enum class ShardSolid_t : uint8_t { - SHARD_SOLID = 0, - SHARD_DEBRIS = 1, + SHARD_SOLID = 0x0, + SHARD_DEBRIS = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class PropDoorRotatingSpawnPos_t : uint32_t { DOOR_SPAWN_CLOSED = 0x0, @@ -3394,8 +3395,8 @@ enum class PropDoorRotatingSpawnPos_t : uint32_t DOOR_SPAWN_AJAR = 0x3, }; -// Aligment: 4 -// Size: 11 +// Alignment: 4 +// Size: 0xb enum class NPCAbilitySound_t : uint32_t { NPC_ABILITY_SOUND_EMPTY = 0x0, @@ -3411,8 +3412,8 @@ enum class NPCAbilitySound_t : uint32_t NPC_ABILITY_SOUND_NUM_TYPES = 0xa, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class AI_SleepState_t : uint32_t { AISS_AWAKE = 0x0, @@ -3423,8 +3424,8 @@ enum class AI_SleepState_t : uint32_t AISS_AUTO_PVS_AFTER_PVS = 0x5, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class TaskStatus_e : uint32_t { TASKSTATUS_NEW = 0x0, @@ -3434,8 +3435,8 @@ enum class TaskStatus_e : uint32_t TASKSTATUS_COMPLETE = 0x4, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class EntFinderMethod_t : uint32_t { ENT_FIND_METHOD_NEAREST = 0x0, @@ -3443,8 +3444,8 @@ enum class EntFinderMethod_t : uint32_t ENT_FIND_METHOD_RANDOM = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class TrainVelocityType_t : uint32_t { TrainVelocity_Instantaneous = 0x0, @@ -3452,8 +3453,8 @@ enum class TrainVelocityType_t : uint32_t TrainVelocity_EaseInEaseOut = 0x2, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class Touch_t : uint32_t { touch_none = 0x0, @@ -3463,17 +3464,17 @@ enum class Touch_t : uint32_t touch_player_or_npc_or_physicsprop = 0x4, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class CommandEntitySpecType_t : uint32_t { SPEC_SEARCH = 0x0, SPEC_TYPES_COUNT = 0x1, }; -// Aligment: 4 -// Size: 7 -enum class IChoreoServices::ScriptState_t : uint32_t +// Alignment: 4 +// Size: 0x7 +enum class IChoreoServices__ScriptState_t : uint32_t { SCRIPT_PLAYING = 0x0, SCRIPT_WAIT = 0x1, @@ -3484,8 +3485,8 @@ enum class IChoreoServices::ScriptState_t : uint32_t SCRIPT_CUSTOM_MOVE_TO_MARK = 0x6, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class AbilityDropBehaviorType_t : uint32_t { eAbilityDropBehavior_AddIntAttributeToAbilityModel = 0x0, @@ -3493,8 +3494,8 @@ enum class AbilityDropBehaviorType_t : uint32_t eAbilityDropBehavior_SetGravityScale = 0x2, }; -// Aligment: 4 -// Size: 84 +// Alignment: 4 +// Size: 0x54 enum class GameAnimEventIndex_t : uint32_t { AE_EMPTY = 0x0, @@ -3583,8 +3584,8 @@ enum class GameAnimEventIndex_t : uint32_t AE_SCRIPT_EVENT_CUSTOMINTERRUPT_END = 0x53, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class WeaponStateMode_t : uint32_t { WSM_AI = 0x0, @@ -3593,8 +3594,8 @@ enum class WeaponStateMode_t : uint32_t WSM_FORCED_HOLSTERED_DESTROY = 0x3, }; -// Aligment: 4 -// Size: 17 +// Alignment: 4 +// Size: 0x11 enum class BaseExplosionTypes_t : uint32_t { EXPLOSION_TYPE_DEFAULT = 0x0, @@ -3616,16 +3617,16 @@ enum class BaseExplosionTypes_t : uint32_t EXPLOSION_TYPE_COUNT = 0x10, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class filter_t : uint32_t { FILTER_AND = 0x0, FILTER_OR = 0x1, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class Class_T : uint32_t { CLASS_NONE = 0x0, @@ -3638,8 +3639,8 @@ enum class Class_T : uint32_t NUM_CLASSIFY_CLASSES = 0x7, }; -// Aligment: 4 -// Size: 23 +// Alignment: 4 +// Size: 0x17 enum class SoundFlags_t : uint32_t { SOUND_NONE = 0x0, @@ -3667,8 +3668,8 @@ enum class SoundFlags_t : uint32_t ALL_SOUNDS = 0xfffff, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class Flinch_Direction_t : uint32_t { FLINCH_DIR_NORTH = 0x0, @@ -3677,8 +3678,8 @@ enum class Flinch_Direction_t : uint32_t FLINCH_DIR_WEST = 0x3, }; -// Aligment: 4 -// Size: 12 +// Alignment: 4 +// Size: 0xc enum class Materials : uint32_t { matGlass = 0x0, @@ -3695,17 +3696,17 @@ enum class Materials : uint32_t matLastMaterial = 0xb, }; -// Aligment: 1 -// Size: 3 +// Alignment: 1 +// Size: 0x3 enum class OnFrame : uint8_t { - ONFRAME_UNKNOWN = 0, - ONFRAME_TRUE = 1, - ONFRAME_FALSE = 2, + ONFRAME_UNKNOWN = 0x0, + ONFRAME_TRUE = 0x1, + ONFRAME_FALSE = 0x2, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class WorldTextAttachmentType_t : uint32_t { ATTACHED_NONE = 0x0, @@ -3717,8 +3718,8 @@ enum class WorldTextAttachmentType_t : uint32_t ATTACHED_HAND_SPECIFIED_IN_EVENT = 0x6, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class NPC_STATE : uint32_t { NPC_STATE_INVALID = 0xffffffffffffffff, @@ -3731,8 +3732,8 @@ enum class NPC_STATE : uint32_t NUM_NPC_STATES = 0x6, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class PoseController_FModType_t : uint32_t { POSECONTROLLER_FMODTYPE_NONE = 0x0, @@ -3744,8 +3745,8 @@ enum class PoseController_FModType_t : uint32_t POSECONTROLLER_FMODTYPE_TOTAL = 0x6, }; -// Aligment: 4 -// Size: 1028 +// Alignment: 4 +// Size: 0x404 enum class BaseActivity_t : uint32_t { ACT_RESET = 0x0, @@ -4778,8 +4779,8 @@ enum class BaseActivity_t : uint32_t ACT_CSGO_TAUNT = 0x404, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class LifeState_t : uint32_t { LIFE_ALIVE = 0x0, @@ -4789,39 +4790,39 @@ enum class LifeState_t : uint32_t LIFE_RESPAWNING = 0x4, }; -// Aligment: 1 -// Size: 9 +// Alignment: 1 +// Size: 0x9 enum class SurroundingBoundsType_t : uint8_t { - USE_OBB_COLLISION_BOUNDS = 0, - USE_BEST_COLLISION_BOUNDS = 1, - USE_HITBOXES = 2, - USE_SPECIFIED_BOUNDS = 3, - USE_GAME_CODE = 4, - USE_ROTATION_EXPANDED_BOUNDS = 5, - USE_COLLISION_BOUNDS_NEVER_VPHYSICS = 6, - USE_ROTATION_EXPANDED_SEQUENCE_BOUNDS = 7, - SURROUNDING_TYPE_BIT_COUNT = 3, + USE_OBB_COLLISION_BOUNDS = 0x0, + USE_BEST_COLLISION_BOUNDS = 0x1, + USE_HITBOXES = 0x2, + USE_SPECIFIED_BOUNDS = 0x3, + USE_GAME_CODE = 0x4, + USE_ROTATION_EXPANDED_BOUNDS = 0x5, + USE_COLLISION_BOUNDS_NEVER_VPHYSICS = 0x6, + USE_ROTATION_EXPANDED_SEQUENCE_BOUNDS = 0x7, + SURROUNDING_TYPE_BIT_COUNT = 0x3, }; -// Aligment: 1 -// Size: 2 +// Alignment: 1 +// Size: 0x2 enum class ShatterPanelMode : uint8_t { - SHATTER_GLASS = 0, - SHATTER_DRYWALL = 1, + SHATTER_GLASS = 0x0, + SHATTER_DRYWALL = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class TestHullMode_t : uint32_t { TEST_HULL_EVER_PASSABLE = 0x0, TEST_HULL_CURRENTLY_PASSABLE = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class DesiredWeaponState_t : uint32_t { DESIREDWEAPONSTATE_IGNORE = 0x0, @@ -4830,23 +4831,23 @@ enum class DesiredWeaponState_t : uint32_t DESIREDWEAPONSTATE_UNHOLSTERED = 0x3, }; -// Aligment: 1 -// Size: 9 +// Alignment: 1 +// Size: 0x9 enum class ItemFlagTypes_t : uint8_t { - ITEM_FLAG_NONE = 0, - ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO = 1, - ITEM_FLAG_NOAUTORELOAD = 2, - ITEM_FLAG_NOAUTOSWITCHEMPTY = 4, - ITEM_FLAG_LIMITINWORLD = 8, - ITEM_FLAG_EXHAUSTIBLE = 16, - ITEM_FLAG_DOHITLOCATIONDMG = 32, - ITEM_FLAG_NOAMMOPICKUPS = 64, - ITEM_FLAG_NOITEMPICKUP = 128, + ITEM_FLAG_NONE = 0x0, + ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO = 0x1, + ITEM_FLAG_NOAUTORELOAD = 0x2, + ITEM_FLAG_NOAUTOSWITCHEMPTY = 0x4, + ITEM_FLAG_LIMITINWORLD = 0x8, + ITEM_FLAG_EXHAUSTIBLE = 0x10, + ITEM_FLAG_DOHITLOCATIONDMG = 0x20, + ITEM_FLAG_NOAMMOPICKUPS = 0x40, + ITEM_FLAG_NOITEMPICKUP = 0x80, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ApplianceWeaponState : uint32_t { APPLIANCE_WEAPON_CLOSED = 0x0, @@ -4857,8 +4858,8 @@ enum class ApplianceWeaponState : uint32_t APPLIANCE_WEAPON_CLOSING = 0x5, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class TrainOrientationType_t : uint32_t { TrainOrientation_Fixed = 0x0, @@ -4867,8 +4868,8 @@ enum class TrainOrientationType_t : uint32_t TrainOrientation_EaseInEaseOut = 0x3, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class EModifierPriority : uint32_t { MODIFIER_PRIORITY_LOW = 0x0, @@ -4878,8 +4879,8 @@ enum class EModifierPriority : uint32_t MODIFIER_PRIORITY_SUPER_ULTRA = 0x4, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class GoalType_t : uint32_t { GOALTYPE_NONE = 0x0, @@ -4891,8 +4892,8 @@ enum class GoalType_t : uint32_t GOALTYPE_INVALID = 0x6, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class WorldTextPanelHorizontalAlign_t : uint32_t { WORLDTEXT_HORIZONTAL_ALIGN_LEFT = 0x0, @@ -4900,8 +4901,8 @@ enum class WorldTextPanelHorizontalAlign_t : uint32_t WORLDTEXT_HORIZONTAL_ALIGN_RIGHT = 0x2, }; -// Aligment: 4 -// Size: 11 +// Alignment: 4 +// Size: 0xb enum class EModifierState : uint32_t { MODIFIER_STATE_MATERIAL_OVERRIDE = 0x0, @@ -4917,8 +4918,8 @@ enum class EModifierState : uint32_t MODIFIER_STATE_INVALID = 0xff, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ModifierSoundRecipients_t : uint32_t { MODIFIER_SOUND_RECIPIENT_ALWAYS = 0x0, @@ -4927,8 +4928,8 @@ enum class ModifierSoundRecipients_t : uint32_t MODIFIER_SOUND_RECIPIENT_PARENT_ON_OPPOSITE_TEAM_AS_LOCAL_PLAYER = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class WorldTextPanelOrientation_t : uint32_t { WORLDTEXT_ORIENTATION_DEFAULT = 0x0, @@ -4936,8 +4937,8 @@ enum class WorldTextPanelOrientation_t : uint32_t WORLDTEXT_ORIENTATION_FACEUSER_UPRIGHT = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class Explosions : uint32_t { expRandom = 0x0, @@ -4945,8 +4946,8 @@ enum class Explosions : uint32_t expUsePrecise = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class StanceType_t : uint32_t { STANCE_CURRENT = 0xffffffffffffffff, @@ -4955,8 +4956,8 @@ enum class StanceType_t : uint32_t NUM_STANCES = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class SubclassVDataChangeType_t : uint32_t { SUBCLASS_VDATA_CREATED = 0x0, @@ -4964,8 +4965,8 @@ enum class SubclassVDataChangeType_t : uint32_t SUBCLASS_VDATA_RELOADED = 0x2, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class eDryEraseMarkerType : uint32_t { k_DRY_ERASE_MARKER_ROUND_TIP = 0x0, @@ -4978,16 +4979,16 @@ enum class eDryEraseMarkerType : uint32_t k_DRY_ERASE_MARKER_COUNT = 0x7, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class EAIScheduleFlags : uint32_t { SCHEDULE_FLAGS_NONE = 0x0, SCHEDULE_FLAGS_ABILITY = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class DeskDeployButtonGroups_t : uint32_t { DESK_DEPLOY_BUTTON_GROUP_MICS = 0x0, @@ -4995,8 +4996,8 @@ enum class DeskDeployButtonGroups_t : uint32_t DESK_DEPLOY_BUTTON_GROUP_COUNT = 0x2, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class TimelineCompression_t : uint32_t { TIMELINE_COMPRESSION_SUM = 0x0, @@ -5006,8 +5007,8 @@ enum class TimelineCompression_t : uint32_t TIMELINE_COMPRESSION_TOTAL = 0x4, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class LessonPanelLayoutFileTypes_t : uint32_t { LAYOUT_HAND_DEFAULT = 0x0, @@ -5015,16 +5016,16 @@ enum class LessonPanelLayoutFileTypes_t : uint32_t LAYOUT_CUSTOM = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class SceneOnPlayerDeath_t : uint32_t { SCENE_ONPLAYERDEATH_DO_NOTHING = 0x0, SCENE_ONPLAYERDEATH_CANCEL = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class PropDoorRotatingOpenDirection_e : uint32_t { DOOR_ROTATING_OPEN_BOTH_WAYS = 0x0, @@ -5032,8 +5033,8 @@ enum class PropDoorRotatingOpenDirection_e : uint32_t DOOR_ROTATING_OPEN_BACKWARD = 0x2, }; -// Aligment: 4 -// Size: 14 +// Alignment: 4 +// Size: 0xe enum class EStyleNodeType : uint32_t { ROOT = 0x0, @@ -5052,8 +5053,8 @@ enum class EStyleNodeType : uint32_t REFERENCE_PASSTHROUGH = 0xd, }; -// Aligment: 4 -// Size: 13 +// Alignment: 4 +// Size: 0xd enum class ELayoutNodeType : uint32_t { ROOT = 0x0, @@ -5071,15750 +5072,9813 @@ enum class ELayoutNodeType : uint32_t REFERENCE_PASSTHROUGH = 0xc, }; -// Aligment: 2 -// Size: 8 +struct EngineLoopState_t; +struct CEntityComponentHelper; +struct ChangeAccessorFieldPathIndex_t; +struct EntComponentInfo_t; +struct PostProcessingTonemapParameters_t; +struct PostProcessingBloomParameters_t; +struct PostProcessingVignetteParameters_t; +struct PostProcessingLocalContrastParameters_t; +struct CAnimUpdateNodeRef; +struct AnimTagID; +struct IKSolverSettings_t; +struct IKTargetSettings_t; +struct CAnimNodeConnection; +struct CAnimInputDamping; +struct CSeqAutoLayerFlag; +struct AnimParamID; +struct AnimScriptHandle; +struct CAnimAttachment; +struct CAnimParamHandle; +struct VPhysics2ShapeDef_t; +struct TwoBoneIKSettings_t; +struct IKBoneNameAndIndex_t; +struct CAnimGraphSettingsManager; +struct CAnimNodePath; +struct CSeqSeqDescFlag; +struct CSeqTransition; +struct SolveIKChainPoseOpFixedSettings_t; +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 CAnimRetargetData; +struct CSeqMultiFetchFlag; +struct CAnimComponentManager; +struct CAnimCycle; +struct CFootCycle; +struct CompValues; +struct AnimNodeID; +struct CFootCycleDefinition; +struct CFootTrajectories; +struct FollowAttachmentSettings_t; +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 ClipIndex; +struct JiggleBoneSettingsList_t; +struct FootLockPoseOpFixedSettings; +struct CPhysSurfacePropertiesPhysics; +struct CPhysSurfacePropertiesSoundNames; +struct CPhysSurfacePropertiesAudio; +struct AnimationDecodeDebugDumpElement_t; +struct VPhysXConstraintParams_t; +struct CAnimClipDataManager; +struct CRenderBufferBinding; +struct StaticPoseCacheHandle; +struct StateComparisonValue; +struct PhysFeModelDesc_t; +struct TraceSettings_t; +struct VPhysXRange_t; +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 voxel_vis_cluster_t; +struct WorldBuilderParams_t; +struct BakedLightingInfo_t; +struct ParticleAttributeIndex_t; +struct CParticleCollectionVecInput; +struct CPerParticleFloatInput; +struct CParticleCollectionFloatInput; +struct CPerParticleVecInput; +struct ParticlePreviewState_t; +struct CPiecewiseCurveSchemaWrapper; +struct TextureControls_t; +struct CPathParameters; +struct ControlPointReference_t; +struct CParticleVisibilityInputs; +struct CNewParticleEffect; +struct IParticleCollection; +struct PARTICLE_EHANDLE__; +struct CParticleProperty; +struct CParticleFloatInput; +struct CSimTimer; +struct AttachmentHandle_t; +struct CResponseCriteriaSet; +struct CRR_Response; +struct CTakeDamageInfo; +struct CBaseAnimating; +struct BodyLocationListVData_t; +struct AI_StandoffParams_t; +struct CAI_MoveMonitor; +struct CRandSimTimer; +struct ModifierRenderAttribute_t; +struct ResponseFollowup; +struct AIScheduleState_t; +struct AmmoIndex_t; +struct ResponseParams; +struct CTakeDamageResult; +struct CRandStopwatch; +struct CSimpleSimTimer; +struct CSoundEnvelope; +struct CCopyRecipientFilter; +struct CFourWheelServerVehicle; +struct vehicle_controlparams_t; +struct ConditionId_t; +struct CNetworkVarChainer; +struct CSteamPal_Ultra_Toilet_Gun_VData_t; +struct CRangeInt; +struct CAI_BehaviorBase; +struct CBaseEntity; +struct vehiclesounds_t; +struct AI_FreePassParams_t; +struct CAI_DefaultNPC; +struct VelocitySampler; +struct SimpleConstraintSoundProfile; +struct LastIncomingHit_t; +struct ModifierTrackedSound_t; +struct CBaseFlex; +struct CSkeletonInstance; +struct CModifierLevelFloat; +struct ViewSmoothingData_t; +struct AbilityLOSResult_t; +struct CAI_ScheduleBits; +struct ModifierTrackedBodyGroup_t; +struct CSkillFloat; +struct ParticleIndex_t; +struct ModifierTrackedGraphParameter_t; +struct ragdoll_t; +struct ViewLockData_t; +struct ModifierTrackedParticle_t; +struct C_BaseAnimating; +struct C_FireSmoke; +struct CDecalInfo; + +// Alignment: 2 +// Size: 0x8 class CExampleSchemaVData_Monomorphic { public: - int32_t m_nExample1; // 0x0 - int32_t m_nExample2; // 0x4 + int32_t m_nExample1; // 0x0 + int32_t m_nExample2; // 0x4 }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 struct ResourceId_t { public: - uint64_t m_nBoxedTypeSafeInt; // 0x0 + uint64_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 1 -// Size: 24 -class CExampleSchemaVData_PolymorphicDerivedB : public CExampleSchemaVData_PolymorphicBase -{ -public: - int32_t m_nDerivedB; // 0x10 -}; - -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CExampleSchemaVData_PolymorphicBase { public: - int32_t m_nBase; // 0x8 + int32_t m_nBase; // 0x8 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 +class CExampleSchemaVData_PolymorphicDerivedB : public CExampleSchemaVData_PolymorphicBase +{ +public: + 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 }; -// Aligment: 22 -// Size: 384 +// Alignment: 22 +// Size: 0x180 class CSchemaSystemInternalRegistration { public: - Vector2D m_Vector2D; // 0x0 - Vector m_Vector; // 0x8 - VectorAligned m_VectorAligned; // 0x20 - QuaternionAligned m_QuaternionAligned; // 0x30 - QAngle m_QAngle; // 0x40 - RotationVector m_RotationVector; // 0x4c - RadianEuler m_RadianEuler; // 0x58 - DegreeEuler m_DegreeEuler; // 0x64 - Quaternion m_Quaternion; // 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 + QuaternionAligned m_QuaternionAligned; // 0x30 + QAngle m_QAngle; // 0x40 + RotationVector m_RotationVector; // 0x4c + RadianEuler m_RadianEuler; // 0x58 + DegreeEuler m_DegreeEuler; // 0x64 + Quaternion m_Quaternion; // 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 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCResourceManifestInternal { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCDOTAPatchNotesList { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCEntityLump { public: -// + // no members available }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 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 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCSequenceGroupData { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeIParticleSystemDefinition { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCTextureBase { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCModel { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCVDataResource { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCPanoramaDynamicImages { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeIVectorGraphic { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeIMaterial2 { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCAnimData { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCVMixListResource { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCCompositeMaterialKit { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCSmartProp { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCWorldNode { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCPanoramaStyle { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCDACGameDefsData { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCVSoundEventScriptList { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCAnimationGroup { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct InfoForResourceTypeVSound_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct InfoForResourceTypeTestResource_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCPanoramaLayout { public: -// + // no members available }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 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 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeIParticleSnapshot { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCPostProcessingResource { public: -// + // no members available }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 struct AABB_t { public: - Vector m_vMinBounds; // 0x0 - Vector m_vMaxBounds; // 0xc + Vector m_vMinBounds; // 0x0 + Vector m_vMaxBounds; // 0xc }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct InfoForResourceTypeProceduralTestResource_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct InfoForResourceTypeWorld_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCPhysAggregateData { public: -// + // no members available }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 struct TestResource_t { public: // MKV3TransferName "name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCVoxelVisibility { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCRenderMesh { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeIAnimGraphModelBinding { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct InfoForResourceTypeManifestTestResource_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCVPhysXSurfacePropertiesList { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCVSoundStackScriptList { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCPanoramaScript { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCChoreoSceneFileData { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCMorphSetData { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCDotaItemDefinitionResource { public: -// + // no members available }; -// Aligment: 7 -// Size: 56 +// Alignment: 7 +// Size: 0x38 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 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 struct VsInputSignature_t { public: - CUtlVector< VsInputSignatureElement_t > m_elems; // 0x0 + CUtlVector< VsInputSignatureElement_t > m_elems; // 0x0 }; -// Aligment: 4 -// Size: 196 +// Alignment: 4 +// Size: 0xc4 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 }; -// Aligment: 0 -// Size: 48 -struct EventServerPollNetworking_t : public EventSimulate_t -{ -public: -// -}; - -// Aligment: 3 -// Size: 48 -struct EventClientProcessInput_t -{ -public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 - float m_flFrameTime; // 0x2c -}; - -// Aligment: 1 -// Size: 4 -struct EventClientPollNetworking_t -{ -public: - int32_t m_nTickCount; // 0x0 -}; - -// Aligment: 4 -// Size: 40 -struct EngineLoopState_t -{ -public: - int32_t m_nPlatWindowWidth; // 0x18 - int32_t m_nPlatWindowHeight; // 0x1c - int32_t m_nRenderWidth; // 0x20 - int32_t m_nRenderHeight; // 0x24 -}; - -// Aligment: 8 -// Size: 120 -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 -}; - -// Aligment: 0 -// Size: 8 -class CEmptyEntityInstance -{ -public: -// -}; - -// Aligment: 0 -// Size: 48 -struct EventServerProcessNetworking_t : public EventSimulate_t -{ -public: -// -}; - -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 0 -// Size: 16 +// Alignment: 3 +// Size: 0x30 +struct EventClientProcessInput_t +{ +public: + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 + float m_flFrameTime; // 0x2c +}; + +// Alignment: 1 +// Size: 0x4 +struct EventClientPollNetworking_t +{ +public: + int32_t m_nTickCount; // 0x0 +}; + +// Alignment: 4 +// Size: 0x28 +struct EngineLoopState_t +{ +public: + int32_t m_nPlatWindowWidth; // 0x18 + int32_t m_nPlatWindowHeight; // 0x1c + int32_t m_nRenderWidth; // 0x20 + int32_t m_nRenderHeight; // 0x24 +}; + +// Alignment: 8 +// Size: 0x78 +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 +private: + [[maybe_unused]] uint8_t __pad0038[0x38]; // 0x38 +public: + CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x70 +}; + +// Alignment: 0 +// Size: 0x8 +class CEmptyEntityInstance +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x30 +struct EventServerProcessNetworking_t : public EventSimulate_t +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x30 +struct EventServerPollNetworking_t : public EventSimulate_t +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x10 struct EntOutput_t { public: -// + // no members available }; -// Aligment: 8 -// Size: 96 +// Alignment: 8 +// Size: 0x60 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 -}; - -// Aligment: 0 -// Size: 64 -struct EventServerAdvanceTick_t : public EventAdvanceTick_t, EventSimulate_t -{ + 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 }; -// Aligment: 0 -// Size: 1 -struct EventClientSendInput_t -{ -public: -// -}; - -// Aligment: 3 -// Size: 48 -struct EventClientFrameSimulate_t -{ -public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 - float m_flFrameTime; // 0x2c -}; - -// Aligment: 5 -// Size: 72 -struct EventClientPreOutput_t -{ -public: - EngineLoopState_t m_LoopState; // 0x0 - double m_flRenderTime; // 0x28 - double m_flRenderFrameTime; // 0x30 - double m_flRenderFrameTimeUnbounded; // 0x38 - bool m_bRenderOnly; // 0x40 -}; - -// Aligment: 0 -// Size: 1 -struct EventModInitialized_t -{ -public: -// -}; - -// Aligment: 0 -// Size: 1 -class CVariantDefaultAllocator -{ -public: -// -}; - -// Aligment: 0 -// Size: 64 -struct EventClientPostAdvanceTick_t : public EventPostAdvanceTick_t, EventSimulate_t -{ -public: -// -}; - -// Aligment: 0 -// Size: 1 -struct EventSplitScreenStateChanged_t -{ -public: -// -}; - -// Aligment: 4 -// Size: 64 +// 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 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 +struct EventClientSendInput_t +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x30 +struct EventClientFrameSimulate_t +{ +public: + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 + float m_flFrameTime; // 0x2c +}; + +// Alignment: 5 +// Size: 0x48 +struct EventClientPreOutput_t +{ +public: + EngineLoopState_t m_LoopState; // 0x0 + double m_flRenderTime; // 0x28 + double m_flRenderFrameTime; // 0x30 + double m_flRenderFrameTimeUnbounded; // 0x38 + bool m_bRenderOnly; // 0x40 +}; + +// Alignment: 0 +// Size: 0x1 +struct EventModInitialized_t +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x1 +class CVariantDefaultAllocator +{ +public: + // no members available +}; + +// 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 +}; + +// Alignment: 0 +// Size: 0x1 +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 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IHandleEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventClientPauseSimulate_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventClientPreSimulate_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct EventPostDataUpdate_t { public: - int32_t m_nCount; // 0x0 + int32_t m_nCount; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct EventProfileStorageAvailable_t { public: - CSplitScreenSlot m_nSplitScreenSlot; // 0x0 + CSplitScreenSlot m_nSplitScreenSlot; // 0x0 }; -// Aligment: 0 -// Size: 64 -struct EventServerPostAdvanceTick_t : public EventPostAdvanceTick_t, EventSimulate_t +// Alignment: 0 +// Size: 0x40 +struct EventServerPostAdvanceTick_t : public EventPostAdvanceTick_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventServerSimulate_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct EventAppShutdown_t { public: - int32_t m_nDummy0; // 0x0 + int32_t m_nDummy0; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct EventFrameBoundary_t { public: - float m_flFrameTime; // 0x0 + float m_flFrameTime; // 0x0 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct EventClientPredictionPostNetupdate_t { public: -// + // no members available }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct EventPreDataUpdate_t { public: - int32_t m_nCount; // 0x0 + int32_t m_nCount; // 0x0 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 struct EventClientPollInput_t { public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 - uint32_t m_nVRDisplayID; // 0x2c + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 + uint32_t m_nVRDisplayID; // 0x2c }; -// Aligment: 5 -// Size: 64 +// Alignment: 5 +// Size: 0x40 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 }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventClientSimulate_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CNetworkVarChainer { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x10 + ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x10 }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EntInput_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 64 -struct EventClientAdvanceTick_t : public EventAdvanceTick_t, EventSimulate_t +// Alignment: 0 +// Size: 0x40 +struct EventClientAdvanceTick_t : public EventAdvanceTick_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class CEntityComponent { public: -// + // no members available }; -// Aligment: 4 -// Size: 40 +// Alignment: 4 +// Size: 0x28 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 }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventServerPostSimulate_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 5 -// Size: 56 +// Alignment: 5 +// Size: 0x38 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 }; -// Aligment: 1 -// Size: 1 +// Alignment: 1 +// Size: 0x1 struct EventClientSceneSystemThreadStateChange_t { public: - bool m_bThreadsActive; // 0x0 + bool m_bThreadsActive; // 0x0 }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CEntityIOOutput { public: - CVariantBase< CVariantDefaultAllocator > m_Value; // 0x18 + CVariantBase< CVariantDefaultAllocator > m_Value; // 0x18 }; -// Aligment: 4 -// Size: 64 -struct EventPostAdvanceTick_t : public EventSimulate_t +// Alignment: 0 +// Size: 0x40 +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 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventClientPostSimulate_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 1 -// Size: 16 -struct MaterialParamTexture_t : public MaterialParam_t -{ -public: - CStrongHandle< InfoForResourceTypeCTextureBase > m_pValue; // 0x8 -}; - -// Aligment: 1 -// Size: 16 -struct MaterialParamFloat_t : public MaterialParam_t -{ -public: - float m_flValue; // 0x8 -}; - -// Aligment: 10 -// Size: 112 -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 -}; - -// Aligment: 14 -// Size: 304 -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 -}; - -// Aligment: 1 -// Size: 32 -struct MaterialParamBuffer_t : public MaterialParam_t -{ -public: - CUtlBinaryBlock m_value; // 0x8 -}; - -// Aligment: 8 -// Size: 32 -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 -}; - -// Aligment: 5 -// Size: 20 -struct PostProcessingLocalContrastParameters_t -{ -public: - float m_flLocalContrastStrength; // 0x0 - float m_flLocalContrastEdgeStrength; // 0x4 - float m_flLocalContrastVignetteStart; // 0x8 - float m_flLocalContrastVignetteEnd; // 0xc - float m_flLocalContrastVignetteBlur; // 0x10 -}; - -// Aligment: 6 -// Size: 36 -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 -}; - -// Aligment: 1 -// Size: 16 -struct MaterialParamInt_t : public MaterialParam_t -{ -public: - int32_t m_nValue; // 0x8 -}; - -// Aligment: 11 -// Size: 256 -struct PostProcessingResource_t -{ -public: - bool m_bHasTonemapParams; // 0x0 - PostProcessingTonemapParameters_t m_toneMapParams; // 0x4 - bool m_bHasBloomParams; // 0x24 - PostProcessingBloomParameters_t m_bloomParams; // 0x28 - bool m_bHasVignetteParams; // 0x98 - PostProcessingVignetteParameters_t m_vignetteParams; // 0x9c - bool m_bHasLocalContrastParams; // 0xc0 - PostProcessingLocalContrastParameters_t m_localConstrastParams; // 0xc4 - int32_t m_nColorCorrectionVolumeDim; // 0xd8 - CUtlBinaryBlock m_colorCorrectionVolumeData; // 0xe0 - bool m_bHasColorCorrection; // 0xf8 -}; - -// Aligment: 1 -// Size: 16 -struct MaterialParamString_t : public MaterialParam_t -{ -public: - CUtlString m_value; // 0x8 -}; - -// Aligment: 1 -// Size: 24 -struct MaterialParamVector_t : public MaterialParam_t -{ -public: - Vector4D m_value; // 0x8 -}; - -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 struct MaterialParam_t { public: - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 }; -// Aligment: 1 -// Size: 2 +// Alignment: 1 +// Size: 0x10 +struct MaterialParamFloat_t : public MaterialParam_t +{ +public: + float m_flValue; // 0x8 +}; + +// Alignment: 10 +// Size: 0x70 +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 + float m_flBlurWeight[5]; // 0x20 + Vector m_vBlurTint[5]; // 0x34 +}; + +// Alignment: 14 +// Size: 0x130 +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 +}; + +// Alignment: 1 +// Size: 0x20 +struct MaterialParamBuffer_t : public MaterialParam_t +{ +public: + CUtlBinaryBlock m_value; // 0x8 +}; + +// Alignment: 8 +// Size: 0x20 +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 +}; + +// Alignment: 5 +// Size: 0x14 +struct PostProcessingLocalContrastParameters_t +{ +public: + 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: + 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 +}; + +// Alignment: 11 +// Size: 0x100 +struct PostProcessingResource_t +{ +public: + bool m_bHasTonemapParams; // 0x0 + PostProcessingTonemapParameters_t m_toneMapParams; // 0x4 + bool m_bHasBloomParams; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0025[0x3]; // 0x25 +public: + PostProcessingBloomParameters_t m_bloomParams; // 0x28 + bool m_bHasVignetteParams; // 0x98 +private: + [[maybe_unused]] uint8_t __pad0099[0x3]; // 0x99 +public: + PostProcessingVignetteParameters_t m_vignetteParams; // 0x9c + bool m_bHasLocalContrastParams; // 0xc0 +private: + [[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1 +public: + PostProcessingLocalContrastParameters_t m_localConstrastParams; // 0xc4 + int32_t m_nColorCorrectionVolumeDim; // 0xd8 +private: + [[maybe_unused]] uint8_t __pad00dc[0x4]; // 0xdc +public: + CUtlBinaryBlock m_colorCorrectionVolumeData; // 0xe0 + bool m_bHasColorCorrection; // 0xf8 +}; + +// Alignment: 1 +// Size: 0x10 +struct MaterialParamString_t : public MaterialParam_t +{ +public: + CUtlString m_value; // 0x8 +}; + +// Alignment: 1 +// Size: 0x18 +struct MaterialParamVector_t : public MaterialParam_t +{ +public: + Vector4D m_value; // 0x8 +}; + +// Alignment: 1 +// Size: 0x10 +struct MaterialParamTexture_t : public MaterialParam_t +{ +public: + CStrongHandle< InfoForResourceTypeCTextureBase > m_pValue; // 0x8 +}; + +// Alignment: 1 +// Size: 0x2 struct ChangeAccessorFieldPathIndex_t { public: - int16_t m_Value; // 0x0 + int16_t m_Value; // 0x0 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CAnimTagManagerUpdater { public: - CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 + CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 }; -// Aligment: 14 -// Size: 232 -class CModelConfigElement_AttachedModel : public CModelConfigElement +// Alignment: 2 +// Size: 0x48 +class 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_ElementName; // 0x8 + CUtlVector< CModelConfigElement* > m_NestedElements; // 0x10 }; -// Aligment: 3 -// Size: 256 +// Alignment: 3 +// Size: 0x100 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 }; -// Aligment: 5 -// Size: 120 -class CWayPointHelperUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 3 +// Size: 0x58 +class CAnimUpdateNodeBase { public: - float m_flStartCycle; // 0x6c - float m_flEndCycle; // 0x70 - bool m_bOnlyGoals; // 0x74 - bool m_bPreventOvershoot; // 0x75 - bool m_bPreventUndershoot; // 0x76 + CAnimNodePath m_nodePath; // 0x18 + CUtlString m_name; // 0x48 + AnimNodeNetworkMode m_networkMode; // 0x50 }; -// Aligment: 2 -// Size: 112 -class CSetFacingUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x68 +class CUnaryUpdateNode : public CAnimUpdateNodeBase { public: - FacingMode m_facingMode; // 0x68 - bool m_bResetChild; // 0x6c + CAnimUpdateNodeRef m_pChildNode; // 0x58 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CAnimMorphDifference { public: - CBufferString m_name; // 0x0 + CBufferString m_name; // 0x0 }; -// Aligment: 1 -// Size: 1 +// Alignment: 1 +// Size: 0x1 struct AttachmentHandle_t { public: - uint8_t m_nBoxedTypeSafeInt; // 0x0 + uint8_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 6 -// Size: 120 +// Alignment: 6 +// Size: 0x78 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 }; -// Aligment: 6 -// Size: 136 -class CBinaryUpdateNode : public CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x70 +class CSetFacingUpdateNode : public CUnaryUpdateNode { 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 + FacingMode m_facingMode; // 0x68 + bool m_bResetChild; // 0x6c }; -// Aligment: 7 -// Size: 56 +// Alignment: 7 +// Size: 0x38 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 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 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 }; -// Aligment: 5 -// Size: 112 +// Alignment: 5 +// Size: 0x70 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 }; -// Aligment: 1 -// Size: 64 -class CEmitTagAction : public CAnimActionBase +// Alignment: 0 +// Size: 0x38 +class CAnimActionBase { public: - // MPropertyFriendlyName "Tag" - // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tag; // 0x28 + // no members available }; -// Aligment: 8 -// Size: 88 +// Alignment: 8 +// Size: 0x58 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 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CAnimSequenceParams { public: - float m_flFadeInTime; // 0x0 - float m_flFadeOutTime; // 0x4 + float m_flFadeInTime; // 0x0 + float m_flFadeOutTime; // 0x4 }; -// Aligment: 3 -// Size: 88 -class CPathHelperAnimNode : public CAnimNodeBase +// Alignment: 4 +// Size: 0x48 +class CAnimNodeBase +{ +public: + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CUtlString m_sName; // 0x20 + // MPropertyHideField + Vector2D m_vecPosition; // 0x28 + // MPropertyHideField + AnimNodeID m_nNodeID; // 0x30 + // MPropertyFriendlyName "Network Mode" + AnimNodeNetworkMode m_networkMode; // 0x34 +}; + +// 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 + float m_flWeight; // 0x20 }; -// Aligment: 4 -// Size: 56 -class CTimeRemainingMetric : public CMotionMetricBase -{ -public: - // MPropertyFriendlyName "Match Time Remaining" - // MPropertyGroupName - // MPropertyAttrChangeCallback - bool m_bMatchByTimeRemaining; // 0x28 - // MPropertyFriendlyName "Max Time Remaining" - // MPropertyAttrStateCallback - float m_flMaxTimeRemaining; // 0x2c - // MPropertyFriendlyName "Filter By Time Remaining" - // MPropertyAttrChangeCallback - bool m_bFilterByTimeRemaining; // 0x30 - // MPropertyFriendlyName "Min Time Remaining" - // MPropertyAttrStateCallback - float m_flMinTimeRemaining; // 0x34 -}; - -// Aligment: 6 -// Size: 144 +// Alignment: 6 +// Size: 0x90 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 }; -// Aligment: 7 -// Size: 280 -class CMovementComponent : public CAnimComponentBase +// Alignment: 5 +// Size: 0x48 +class CAnimComponentBase { public: - // MPropertyFriendlyName "Movement Modes" - CUtlVector< CMovementMode > m_moveModes; // 0x48 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimMotorBase > > m_motors; // 0x60 - // MPropertyFriendlyName "Network Path" - bool m_bNetworkPath; // 0x78 - // MPropertyGroupName "+Facing" - // MPropertyFriendlyName "Default Mode" - FacingMode m_eDefaultFacingMode; // 0x7c - // MPropertyGroupName "+Facing" - // MPropertyFriendlyName "Damping" - CAnimInputDamping m_facingDamping; // 0x80 - // MPropertyGroupName "+Facing" - // MPropertyFriendlyName "Network Facing" - bool m_bNetworkFacing; // 0x98 + CUtlString m_group; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0020[0x8]; // 0x20 +public: // MPropertyHideField - AnimParamID[27] m_paramIDs; // 0x9c + 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 }; -// Aligment: 7 -// Size: 28 +// 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 + int16_t m_nLocalReference; // 0x0 + int16_t m_nLocalPose; // 0x2 + CSeqAutoLayerFlag m_flags; // 0x4 + float m_start; // 0xc + float m_peak; // 0x10 + float m_tail; // 0x14 + float m_end; // 0x18 }; -// Aligment: 10 -// Size: 40 +// Alignment: 10 +// Size: 0x28 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 "lowPitchOcclusion" - float m_flLowPitchOcclusion; // 0x1c + float m_flLowPitchOcclusion; // 0x1c // MKV3TransferName "midPitchOcclusion" - float m_flMidPitchOcclusion; // 0x20 + float m_flMidPitchOcclusion; // 0x20 // MKV3TransferName "highPitchOcclusion" - float m_flHighPitchOcclusion; // 0x24 + float m_flHighPitchOcclusion; // 0x24 }; -// Aligment: 3 -// Size: 64 +// Alignment: 3 +// Size: 0x40 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 }; -// Aligment: 4 -// Size: 104 -class CMaterialAttributeAnimTag : public CAnimTagBase +// Alignment: 4 +// Size: 0x48 +class 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 + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CUtlString m_name; // 0x20 + // MPropertyHideField + CUtlString m_group; // 0x28 + // MPropertyHideField + AnimTagID m_tagID; // 0x30 + // MPropertyHideField + bool m_bIsReferenced; // 0x34 }; -// Aligment: 10 -// Size: 168 +// Alignment: 10 +// Size: 0xa8 class CBlend2DAnimNode : public CAnimNodeBase { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CBlend2DItemBase > > m_items; // 0x50 + CUtlVector< CSmartPtr< CBlend2DItemBase > > m_items; // 0x50 // MPropertyFriendlyName "Horizontal Axis" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendSourceX; // 0x68 + AnimValueSource m_blendSourceX; // 0x68 // MPropertyFriendlyName "Horizontal Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_paramX; // 0x6c + AnimParamID m_paramX; // 0x6c // MPropertyFriendlyName "Vertical Axis" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendSourceY; // 0x70 + AnimValueSource m_blendSourceY; // 0x70 // MPropertyFriendlyName "Vertical Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_paramY; // 0x74 + AnimParamID m_paramY; // 0x74 // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x78 + bool m_bLoop; // 0x78 // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0x79 + bool m_bLockBlendOnReset; // 0x79 // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x7a + bool m_bLockWhenWaning; // 0x7a +private: + [[maybe_unused]] uint8_t __pad007b[0x1]; // 0x7b +public: // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0x7c + float m_playbackSpeed; // 0x7c // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x80 + CAnimInputDamping m_damping; // 0x80 }; -// Aligment: 0 -// Size: 40 -class CPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase, CAnimMotorUpdaterBase +// Alignment: 2 +// Size: 0x20 +class CAnimMotorUpdaterBase { public: -// + CUtlString m_name; // 0x10 + bool m_bDefault; // 0x18 }; -// Aligment: 0 -// Size: 40 +// Alignment: 0 +// Size: 0x28 class CBoneConstraintBase { public: -// + // no members available }; -// Aligment: 2 -// Size: 88 +// Alignment: 2 +// Size: 0x58 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 }; -// Aligment: 1 -// Size: 112 -class CRagdollUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x70 +class CRagdollUpdateNode : public CUnaryUpdateNode { public: - int32_t m_nWeightListIndex; // 0x68 + int32_t m_nWeightListIndex; // 0x68 }; -// Aligment: 2 -// Size: 56 -class CAnimScriptComponentUpdater : public CAnimComponentUpdater +// Alignment: 3 +// Size: 0x28 +class CAnimComponentUpdater { public: - CUtlString m_sName; // 0x28 - AnimScriptHandle m_hScript; // 0x30 + AnimComponentID m_id; // 0x18 + AnimNodeNetworkMode m_networkMode; // 0x1c + bool m_bStartEnabled; // 0x20 }; -// Aligment: 8 -// Size: 224 +// Alignment: 8 +// Size: 0xe0 struct AimMatrixOpFixedSettings_t { public: - CAnimAttachment m_attachment; // 0x0 - CAnimInputDamping m_damping; // 0x80 - StaticPoseCacheHandle[10] m_poseCacheHandles; // 0x98 - AimMatrixBlendMode m_eBlendMode; // 0xc0 - float m_fAngleIncrement; // 0xc4 - int32_t m_nSequenceMaxFrame; // 0xc8 - int32_t m_nBoneMaskIndex; // 0xcc - bool m_bTargetIsPosition; // 0xd0 + CAnimAttachment m_attachment; // 0x0 + CAnimInputDamping m_damping; // 0x80 + StaticPoseCacheHandle m_poseCacheHandles[10]; // 0x98 + AimMatrixBlendMode m_eBlendMode; // 0xc0 + float m_fAngleIncrement; // 0xc4 + int32_t m_nSequenceMaxFrame; // 0xc8 + int32_t m_nBoneMaskIndex; // 0xcc + bool m_bTargetIsPosition; // 0xd0 }; -// Aligment: 13 -// Size: 184 -class CFollowPathUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 13 +// Size: 0xb8 +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; // 0xa0 - CAnimParamHandle m_hParam; // 0xa4 - float m_flTurnToFaceOffset; // 0xac - bool m_bTurnToFace; // 0xb0 + 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; // 0xa0 + CAnimParamHandle m_hParam; // 0xa4 + float m_flTurnToFaceOffset; // 0xac + bool m_bTurnToFace; // 0xb0 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CChoreoAnimNode : public CAnimNodeBase { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 }; -// Aligment: 10 -// Size: 160 +// 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 - 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 }; -// Aligment: 1 -// Size: 480 -class CTwoBoneIKUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x1e0 +class CTwoBoneIKUpdateNode : public CUnaryUpdateNode { public: - TwoBoneIKSettings_t m_opFixedData; // 0x70 + TwoBoneIKSettings_t m_opFixedData; // 0x70 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 struct SkeletonBoneBounds_t { public: - Vector m_vecCenter; // 0x0 - Vector m_vecSize; // 0xc + Vector m_vecCenter; // 0x0 + Vector m_vecSize; // 0xc }; -// Aligment: 13 -// Size: 168 +// Alignment: 13 +// Size: 0xa8 class CAnimRetargetElementData { public: - int32_t m_nElementType; // 0x0 - int32_t m_nGroupType; // 0x4 - int32_t m_nChainType; // 0x8 - int32_t m_nChainIndex; // 0xc - int32_t m_nChainInvIndex; // 0x10 - int32_t m_nBoneIndex; // 0x14 - CBufferString m_boneName; // 0x18 - matrix3x4_t m_transform; // 0x28 - matrix3x4_t m_invTransform; // 0x58 - float m_flDistance; // 0x88 - Vector m_vecMin; // 0x8c - Vector m_vecMax; // 0x98 - float m_flMass; // 0xa4 + int32_t m_nElementType; // 0x0 + int32_t m_nGroupType; // 0x4 + int32_t m_nChainType; // 0x8 + int32_t m_nChainIndex; // 0xc + int32_t m_nChainInvIndex; // 0x10 + int32_t m_nBoneIndex; // 0x14 + CBufferString m_boneName; // 0x18 + matrix3x4_t m_transform; // 0x28 + matrix3x4_t m_invTransform; // 0x58 + float m_flDistance; // 0x88 + Vector m_vecMin; // 0x8c + Vector m_vecMax; // 0x98 + float m_flMass; // 0xa4 }; -// Aligment: 5 -// Size: 72 -class CControlValueCondition : public CAnimStateConditionBase +// Alignment: 1 +// Size: 0x30 +class CAnimStateConditionBase { public: - ControlValue m_sourceControlValue; // 0x30 - int32_t m_comparisonValueType; // 0x34 - float m_comparisonFixedValue; // 0x38 - ControlValue m_comparisonControlValue; // 0x3c - AnimParamID m_comparisonParamID; // 0x40 + uint8_t m_comparisonOp; // 0x28 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CModelConfigElement_SetRenderColor : public CModelConfigElement { public: - Color m_Color; // 0x48 + Color m_Color; // 0x48 }; -// Aligment: 7 -// Size: 52 +// Alignment: 7 +// Size: 0x34 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 }; -// Aligment: 6 -// Size: 48 +// Alignment: 6 +// Size: 0x30 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 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 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 }; -// Aligment: 1 -// Size: 40 -class CMotionMetricBase +// Alignment: 4 +// Size: 0x38 +class CTimeRemainingMetric : public CMotionMetricBase { public: - // MPropertyHideField - float m_flWeight; // 0x20 + // 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 }; -// Aligment: 2 -// Size: 136 -class CFootStepTriggerUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x88 +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 }; -// Aligment: 11 -// Size: 168 +// Alignment: 11 +// Size: 0xa8 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 }; -// Aligment: 24 -// Size: 184 +// Alignment: 24 +// Size: 0xb8 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 }; -// Aligment: 8 -// Size: 176 -class CDirectionalBlendUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 0 +// Size: 0x58 +class CLeafUpdateNode : public CAnimUpdateNodeBase { public: - HSequence[8] m_hSequences; // 0x5c - CAnimInputDamping m_damping; // 0x80 - AnimValueSource m_blendValueSource; // 0x98 - CAnimParamHandle m_paramIndex; // 0x9c - float m_playbackSpeed; // 0xa4 - float m_duration; // 0xa8 - bool m_bLoop; // 0xac - bool m_bLockBlendOnReset; // 0xad + // no members available }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 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 }; -// Aligment: 7 -// Size: 72 +// 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimParamID { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CBoneVelocityMetric : public CMotionMetricBase { public: // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x28 + CUtlString m_boneName; // 0x28 }; -// Aligment: 14 -// Size: 144 +// Alignment: 14 +// Size: 0x90 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 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CActionComponent : public CAnimComponentBase { public: - CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 + CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 }; -// Aligment: 2 -// Size: 120 +// Alignment: 2 +// Size: 0x78 class CBodyGroupAnimTag : public CAnimTagBase { public: // MPropertyFriendlyName "Priority" - int32_t m_nPriority; // 0x48 + int32_t m_nPriority; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: // MPropertyFriendlyName "Body Group Settings" - CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x50 + CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x50 }; -// Aligment: 6 -// Size: 104 +// Alignment: 6 +// Size: 0x68 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 }; -// Aligment: 1 -// Size: 80 -class CBoolAnimParameter : public CAnimParameterBase +// Alignment: 11 +// Size: 0x48 +class CAnimParameterBase { public: - // MPropertyFriendlyName "Default Value" - bool m_bDefaultValue; // 0x48 + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CUtlString m_name; // 0x18 + // MPropertyHideField + CUtlString m_group; // 0x20 + // MPropertyHideField + AnimParamID m_id; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: + // MPropertyHideField + // MPropertyAttrChangeCallback + CUtlString m_componentName; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0038[0x4]; // 0x38 +public: + // MPropertyFriendlyName "Preview Button" + AnimParamButton_t m_previewButton; // 0x3c + // MPropertyFriendlyName "Force Latest Value" + bool m_bUseMostRecentValue; // 0x40 + // MPropertyFriendlyName "Auto Reset" + bool m_bAutoReset; // 0x41 + // MPropertyFriendlyName "Internal" + // MPropertyAttrStateCallback + bool m_bInternal; // 0x42 + // MPropertyHideField + bool m_bIsReferenced; // 0x43 + // MPropertyHideField + bool m_bNetwork; // 0x44 + // MPropertyFriendlyName "Disable Networking" + bool m_bDisableNetworking; // 0x45 }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 class CBlendNodeChild { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x0 + CAnimNodeConnection m_inputConnection; // 0x0 // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x8 + CUtlString m_name; // 0x8 // MPropertyFriendlyName "Blend Value" - float m_blendValue; // 0x10 + float m_blendValue; // 0x10 }; -// Aligment: 0 -// Size: 80 +// Alignment: 0 +// Size: 0x50 class CStringAnimTag : public CAnimTagBase { public: -// + // no members available }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CFootTrajectories { public: - CUtlVector< CFootTrajectory > m_trajectories; // 0x0 + CUtlVector< CFootTrajectory > m_trajectories; // 0x0 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CAnimParameterList { public: - CUtlVector< CSmartPtr< CAnimParameterBase > > m_Parameters; // 0x18 + CUtlVector< CSmartPtr< CAnimParameterBase > > m_Parameters; // 0x18 }; -// Aligment: 10 -// Size: 232 +// Alignment: 10 +// Size: 0xe8 class CAnimUpdateSharedData { 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< 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 }; -// Aligment: 9 -// Size: 136 +// Alignment: 9 +// Size: 0x88 class CBlendAnimNode : public CAnimNodeBase { public: // MPropertyFriendlyName "Blend Items" // MPropertyAutoExpandSelf - CUtlVector< CBlendNodeChild > m_children; // 0x38 + CUtlVector< CBlendNodeChild > m_children; // 0x38 // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x50 + AnimValueSource m_blendValueSource; // 0x50 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x54 + AnimParamID m_param; // 0x54 // MPropertyFriendlyName "Blend Key Values" - BlendKeyType m_blendKeyType; // 0x58 + BlendKeyType m_blendKeyType; // 0x58 // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0x5c + bool m_bLockBlendOnReset; // 0x5c // MPropertyFriendlyName "Sync Cycles" - bool m_bSyncCycles; // 0x5d + bool m_bSyncCycles; // 0x5d // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x5e + bool m_bLoop; // 0x5e // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x5f + bool m_bLockWhenWaning; // 0x5f // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x60 + CAnimInputDamping m_damping; // 0x60 }; -// Aligment: 13 -// Size: 352 +// Alignment: 13 +// Size: 0x160 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; // 0x12c - bool m_bMatchTargetOrientation; // 0x134 - bool m_bAlwaysUseFallbackHinge; // 0x135 - VectorAligned m_vFallbackHingeAxis; // 0x140 - int32_t m_nFixedBoneIndex; // 0x150 - int32_t m_nMiddleBoneIndex; // 0x154 - int32_t m_nEndBoneIndex; // 0x158 + 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; // 0x12c + bool m_bMatchTargetOrientation; // 0x134 + bool m_bAlwaysUseFallbackHinge; // 0x135 +private: + [[maybe_unused]] uint8_t __pad0136[0xa]; // 0x136 +public: + VectorAligned m_vFallbackHingeAxis; // 0x140 + int32_t m_nFixedBoneIndex; // 0x150 + int32_t m_nMiddleBoneIndex; // 0x154 + int32_t m_nEndBoneIndex; // 0x158 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CFutureFacingMetric : public CMotionMetricBase { public: // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 + float m_flDistance; // 0x28 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 struct SolveIKChainPoseOpFixedSettings_t { public: - CUtlVector< ChainToSolveData_t > m_ChainsToSolveData; // 0x0 + CUtlVector< ChainToSolveData_t > m_ChainsToSolveData; // 0x0 }; -// Aligment: 0 -// Size: 88 -class CLeafUpdateNode : public CAnimUpdateNodeBase +// Alignment: 8 +// Size: 0xb0 +class CDirectionalBlendUpdateNode : public CLeafUpdateNode { public: -// + HSequence m_hSequences[8]; // 0x5c +private: + [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c +public: + CAnimInputDamping m_damping; // 0x80 + AnimValueSource m_blendValueSource; // 0x98 + CAnimParamHandle m_paramIndex; // 0x9c + float m_playbackSpeed; // 0xa4 + float m_duration; // 0xa8 + bool m_bLoop; // 0xac + bool m_bLockBlendOnReset; // 0xad }; -// Aligment: 7 -// Size: 176 -class CBoneMaskUpdateNode : public CBinaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 6 +// Size: 0x88 +class CBinaryUpdateNode : public CAnimUpdateNodeBase { 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 + CAnimUpdateNodeRef m_pChild1; // 0x58 + CAnimUpdateNodeRef m_pChild2; // 0x68 + BinaryNodeTiming m_timingBehavior; // 0x78 + float m_flTimingBlend; // 0x7c + bool m_bResetChild1; // 0x80 + bool m_bResetChild2; // 0x81 }; -// Aligment: 12 -// Size: 144 +// Alignment: 12 +// Size: 0x90 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 }; -// Aligment: 2 -// Size: 160 -class CSolveIKChainUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0xa0 +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 }; -// Aligment: 2 -// Size: 152 -class CSubtractUpdateNode : public CBinaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x98 +class CSubtractUpdateNode : public CBinaryUpdateNode { public: - BinaryNodeChildOption m_footMotionTiming; // 0x8c - bool m_bApplyChannelsSeparately; // 0x90 + BinaryNodeChildOption m_footMotionTiming; // 0x8c + bool m_bApplyChannelsSeparately; // 0x90 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 struct JiggleBoneSettingsList_t { public: - CUtlVector< JiggleBoneSettings_t > m_boneSettings; // 0x0 + CUtlVector< JiggleBoneSettings_t > m_boneSettings; // 0x0 }; -// Aligment: 2 -// Size: 32 -class CAnimMotorUpdaterBase +// Alignment: 1 +// Size: 0x28 +class CPathAnimMotorUpdaterBase : public CAnimMotorUpdaterBase { public: - CUtlString m_name; // 0x10 - bool m_bDefault; // 0x18 + bool m_bLockToPath; // 0x20 }; -// Aligment: 11 -// Size: 176 -class CMoverUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 11 +// Size: 0xb0 +class CMoverUpdateNode : public CUnaryUpdateNode { public: - CAnimInputDamping m_damping; // 0x70 - AnimValueSource m_facingTarget; // 0x88 - CAnimParamHandle m_hMoveVecParam; // 0x8c - CAnimParamHandle m_hMoveHeadingParam; // 0x94 - CAnimParamHandle m_hTurnToFaceParam; // 0x9c - float m_flTurnToFaceOffset; // 0xa4 - float m_flTurnToFaceLimit; // 0xa8 - bool m_bAdditive; // 0xac - bool m_bApplyMovement; // 0xad - bool m_bOrientMovement; // 0xae - bool m_bApplyRotation; // 0xaf + CAnimInputDamping m_damping; // 0x70 + AnimValueSource m_facingTarget; // 0x88 + CAnimParamHandle m_hMoveVecParam; // 0x8c + CAnimParamHandle m_hMoveHeadingParam; // 0x94 + CAnimParamHandle m_hTurnToFaceParam; // 0x9c + float m_flTurnToFaceOffset; // 0xa4 + float m_flTurnToFaceLimit; // 0xa8 + bool m_bAdditive; // 0xac + bool m_bApplyMovement; // 0xad + bool m_bOrientMovement; // 0xae + bool m_bApplyRotation; // 0xaf }; -// Aligment: 0 -// Size: 112 -class COrientConstraint : public CBaseConstraint, CBoneConstraintBase +// Alignment: 4 +// Size: 0x70 +class CBaseConstraint : public CBoneConstraintBase { public: -// + 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 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CAnimClipDataManager { public: - CUtlHashtable< CUtlString, CSmartPtr< CAnimClipData > > m_itemTable; // 0x18 + CUtlHashtable< CUtlString, CSmartPtr< CAnimClipData > > m_itemTable; // 0x18 }; -// Aligment: 7 -// Size: 64 +// Alignment: 7 +// Size: 0x40 class CStateUpdateData { public: - CUtlString m_name; // 0x0 - CUtlVector< int32 > m_transitionIndices; // 0x8 - CUtlVector< CStateActionUpdater > m_actions; // 0x20 - AnimStateID m_stateID; // 0x38 - bitfield:1 m_bIsStartState; // 0x0 - bitfield:1 m_bIsEndState; // 0x0 - bitfield:1 m_bIsPassthrough; // 0x0 + CUtlString m_name; // 0x0 + CUtlVector< int32 > m_transitionIndices; // 0x8 + CUtlVector< CStateActionUpdater > m_actions; // 0x20 + AnimStateID m_stateID; // 0x38 + struct + { + uint8_t m_bIsStartState: 1; + uint8_t m_bIsEndState: 1; + uint8_t m_bIsPassthrough: 1; + uint8_t __pad0: 3; // @note: autoaligned + }; // 6 bits }; -// Aligment: 0 -// Size: 120 -class CGroupInputAnimNode : public CProxyAnimNodeBase, CAnimNodeBase -{ -public: -// -}; - -// Aligment: 2 -// Size: 48 -struct WristBone_t -{ -public: - CTransform m_xOffsetTransformMS; // 0x0 - int32_t m_boneIndex; // 0x20 -}; - -// Aligment: 46 -// Size: 248 -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 - Quaternion[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 - Quaternion 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 -}; - -// Aligment: 1 -// Size: 48 -class CAnimStateConditionBase -{ -public: - uint8_t m_comparisonOp; // 0x28 -}; - -// Aligment: 2 -// Size: 8 -struct TraceSettings_t -{ -public: - float m_flTraceHeight; // 0x0 - float m_flTraceRadius; // 0x4 -}; - -// Aligment: 0 -// Size: 112 -class CPointConstraint : public CBaseConstraint, CBoneConstraintBase -{ -public: -// -}; - -// Aligment: 4 -// Size: 80 -class CAnimationGraphVisualizerPie : public CAnimationGraphVisualizerPrimitiveBase -{ -public: - VectorAligned m_vWsCenter; // 0x10 - VectorAligned m_vWsStart; // 0x20 - VectorAligned m_vWsEnd; // 0x30 - Color m_Color; // 0x40 -}; - -// Aligment: 5 -// Size: 20 -class CPhysSurfacePropertiesPhysics -{ -public: - // MKV3TransferName "friction" - float m_friction; // 0x0 - // MKV3TransferName "elasticity" - float m_elasticity; // 0x4 - // MKV3TransferName "density" - float m_density; // 0x8 - // MKV3TransferName "thickness" - float m_thickness; // 0xc - // MKV3TransferName "dampening" - float m_dampening; // 0x10 -}; - -// Aligment: 2 -// Size: 4 -class ClipIndex -{ -public: - uint16_t m_groupIndex; // 0x0 - uint16_t m_clipIndex; // 0x2 -}; - -// Aligment: 0 -// Size: 112 -class CGroupOutputAnimNode : public CProxyAnimNodeBase, CAnimNodeBase -{ -public: -// -}; - -// Aligment: 3 -// Size: 32 -class CTagConditionUpdater : public ConditionUpdater -{ -public: - Comparison_t m_operation; // 0x10 - int32_t m_tagIndex; // 0x14 - bool m_comparisonValue; // 0x18 -}; - -// Aligment: 14 -// Size: 432 -class CAnimDesc -{ -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 -}; - -// Aligment: 4 -// Size: 12 -class CSeqIKLock -{ -public: - float m_flPosWeight; // 0x0 - float m_flAngleWeight; // 0x4 - int16_t m_nLocalBone; // 0x8 - bool m_bBonesOrientedAlongPositiveX; // 0xa -}; - -// Aligment: 1 -// Size: 216 -class CGroupAnimNode : public CContainerAnimNodeBase, CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeManager m_nodeMgr; // 0x80 -}; - -// Aligment: 2 -// Size: 24 -class CFinishedConditionUpdater : public ConditionUpdater -{ -public: - FinishedConditionOption m_option; // 0x10 - bool m_bIsFinished; // 0x14 -}; - -// Aligment: 3 -// Size: 80 -class CRenderSkeleton -{ -public: - CUtlVector< RenderSkeletonBone_t > m_bones; // 0x0 - CUtlVector< int32 > m_boneParents; // 0x30 - int32_t m_nBoneWeightCount; // 0x48 -}; - -// Aligment: 6 -// Size: 88 -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; // 0x4c - bool m_bUseAcceleration; // 0x54 -}; - -// Aligment: 2 -// Size: 16 -class CStateActionUpdater -{ -public: - CSmartPtr< CAnimActionUpdater > m_pAction; // 0x0 - StateActionBehavior m_eBehavior; // 0x8 -}; - -// Aligment: 4 -// Size: 88 -class CFloatAnimParameter : public CAnimParameterBase -{ -public: - // MPropertyFriendlyName "Default Value" - float m_fDefaultValue; // 0x48 - // MPropertyFriendlyName "Min Value" - float m_fMinValue; // 0x4c - // MPropertyFriendlyName "Max Value" - float m_fMaxValue; // 0x50 - // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x54 -}; - -// Aligment: 5 -// Size: 168 -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 -}; - -// Aligment: 1 -// Size: 152 -class CBoneConstraintPoseSpaceBone : public CBaseConstraint, CBoneConstraintBase -{ -public: - CUtlVector< CBoneConstraintPoseSpaceBone::Input_t > m_inputList; // 0x70 -}; - -// Aligment: 2 -// Size: 32 -class CAnimGraphModelBinding -{ -public: - CUtlString m_modelName; // 0x8 - CSmartPtr< CAnimUpdateSharedData > m_pSharedData; // 0x10 -}; - -// Aligment: 1 -// Size: 48 -class CAnimGraphSettingsManager -{ -public: - CUtlVector< CSmartPtr< CAnimGraphSettingsGroup > > m_settingsGroups; // 0x18 -}; - -// Aligment: 9 -// Size: 208 -struct LookAtOpFixedSettings_t -{ -public: - CAnimAttachment m_attachment; // 0x0 - CAnimInputDamping m_damping; // 0x80 - CUtlVector< LookAtBone_t > m_bones; // 0x98 - float m_flYawLimit; // 0xb0 - float m_flPitchLimit; // 0xb4 - float m_flHysteresisInnerAngle; // 0xb8 - float m_flHysteresisOuterAngle; // 0xbc - bool m_bTargetIsPosition; // 0xc0 - bool m_bUseHysteresis; // 0xc1 -}; - -// Aligment: 3 -// Size: 48 -class CStaticPoseCache -{ -public: - CUtlVector< CCachedPose > m_poses; // 0x10 - int32_t m_nBoneCount; // 0x28 - int32_t m_nMorphCount; // 0x2c -}; - -// Aligment: 2 -// Size: 24 -class CForceFacingConditionUpdater : public ConditionUpdater -{ -public: - Comparison_t m_comparisonOperation; // 0x10 - bool m_bComparisonValue; // 0x14 -}; - -// Aligment: 2 -// Size: 112 -class CSequenceBlend2DItem : public CBlend2DItemBase -{ -public: - // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x40 - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x58 -}; - -// Aligment: 5 -// Size: 144 -class CCycleControlClipUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase -{ -public: - CUtlVector< TagSpan_t > m_tags; // 0x60 - HSequence m_hSequence; // 0x7c - float m_duration; // 0x80 - AnimValueSource m_valueSource; // 0x84 - CAnimParamHandle m_paramIndex; // 0x88 -}; - -// Aligment: 1 -// Size: 24 -class CVPhysXSurfacePropertiesList -{ -public: - // MKV3TransferName "SurfacePropertiesList" - CUtlVector< CPhysSurfaceProperties* > m_surfacePropertiesList; // 0x0 -}; - -// Aligment: 2 -// Size: 160 -class CTiltTwistConstraint : public CBaseConstraint, CBoneConstraintBase -{ -public: - int32_t m_nTargetAxis; // 0x70 - int32_t m_nSlaveAxis; // 0x74 -}; - -// Aligment: 1 -// Size: 88 -class CPostGraphIKTag : public CAnimTagBase -{ -public: - // MPropertyFriendlyName "Blend Amount" - float m_flBlendAmount; // 0x40 -}; - -// Aligment: 2 -// Size: 32 -class CFlexRule -{ -public: - int32_t m_nFlex; // 0x0 - CUtlVector< CFlexOp > m_FlexOps; // 0x8 -}; - -// Aligment: 1 -// Size: 64 -class CExpressionAction : public CAnimActionBase -{ -public: - CUtlString m_expression; // 0x28 -}; - -// Aligment: 2 -// Size: 112 -class CDirectPlaybackUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase -{ -public: - bool m_bFinishEarly; // 0x6c - bool m_bResetOnFinish; // 0x6d -}; - -// Aligment: 7 -// Size: 104 -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 -}; - -// Aligment: 5 -// Size: 96 -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 -}; - -// Aligment: 9 -// Size: 24 -class CSeqCmdLayer -{ -public: - int16_t m_cmd; // 0x0 - int16_t m_nLocalReference; // 0x2 - int16_t m_nLocalBonemask; // 0x4 - int16_t m_nDstResult; // 0x6 - int16_t m_nSrcResult; // 0x8 - bool m_bSpline; // 0xa - float m_flVar1; // 0xc - float m_flVar2; // 0x10 - int16_t m_nLineNumber; // 0x14 -}; - -// Aligment: 5 -// Size: 32 -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 -}; - -// Aligment: 3 -// Size: 152 -class CTwistConstraint : public CBaseConstraint, CBoneConstraintBase -{ -public: - bool m_bInverse; // 0x70 - Quaternion m_qParentBindRotation; // 0x74 - Quaternion m_qChildBindRotation; // 0x84 -}; - -// Aligment: 2 -// Size: 64 -class CAnimationGraphVisualizerAxis : public CAnimationGraphVisualizerPrimitiveBase -{ -public: - CTransform m_xWsTransform; // 0x10 - float m_flAxisSize; // 0x30 -}; - -// Aligment: 8 -// Size: 104 -class CSubtractAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_baseInputConnection; // 0x38 - // MPropertyHideField - CAnimNodeConnection m_subtractInputConnection; // 0x40 - // MPropertyFriendlyName "Timing Control" - // MPropertyAttrChangeCallback - BinaryNodeTiming m_timingBehavior; // 0x48 - // MPropertyFriendlyName "Timing Blend" - // MPropertyAttributeRange "0 1" - // MPropertyAttrStateCallback - float m_flTimingBlend; // 0x4c - // MPropertyFriendlyName "Foot Motion Timing" - BinaryNodeChildOption m_footMotionTiming; // 0x50 - // MPropertyFriendlyName "Reset Base Child" - bool m_bResetBase; // 0x54 - // MPropertyFriendlyName "Reset Subtracted Child" - bool m_bResetSubtract; // 0x55 - // MPropertyFriendlyName "Treat Translation Separately" - bool m_bApplyChannelsSeparately; // 0x56 -}; - -// Aligment: 5 -// Size: 120 -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 -}; - -// Aligment: 9 -// Size: 112 -class CVRInputComponent : public CAnimComponentBase -{ -public: - // 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 -}; - -// Aligment: 6 -// Size: 88 -class CPlayerInputAnimMotor : public CAnimMotorBase -{ -public: - // MPropertyFriendlyName "Sample Times" - CUtlVector< float32 > m_sampleTimes; // 0x28 - // MPropertyFriendlyName "Use Acceleration" - // MPropertyAttrChangeCallback - bool m_bUseAcceleration; // 0x40 - // MPropertyFriendlyName "Spring Constant" - // MPropertyAttrStateCallback - float m_flSpringConstant; // 0x44 - // MPropertyFriendlyName "Anticipation Distance" - float m_flAnticipationDistance; // 0x48 - // MPropertyFriendlyName "Anticipation Position Parameter" - // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_anticipationPosParam; // 0x4c - // MPropertyFriendlyName "Anticipation Heading Parameter" - // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_anticipationHeadingParam; // 0x50 -}; - -// Aligment: 8 -// Size: 208 -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 -}; - -// Aligment: 3 -// Size: 440 -class CRenderMesh -{ -public: - CUtlVectorFixedGrowable< CSceneObjectData > m_sceneObjects; // 0x10 - CUtlVector< CBaseConstraint* > m_constraints; // 0x88 - CRenderSkeleton m_skeleton; // 0xa0 -}; - -// Aligment: 1 -// Size: 8 -class CFlexDesc -{ -public: - CUtlString m_szFacs; // 0x0 -}; - -// Aligment: 4 -// Size: 48 -class CWristBone -{ -public: - CUtlString m_name; // 0x0 - Vector m_vForwardLS; // 0x8 - Vector m_vUpLS; // 0x14 - Vector m_vOffset; // 0x20 -}; - -// Aligment: 2 -// Size: 72 -class CAnimClipData -{ -public: - // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 - // MPropertyFriendlyName "Sequence" - // MPropertyAttributeChoiceName "Sequence" - CUtlString m_clipName; // 0x38 -}; - -// Aligment: 6 -// Size: 96 -class CWayPointHelperAnimNode : public CAnimNodeBase -{ -public: - // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 - // MPropertyFriendlyName "Start Cycle" - // MPropertyAttributeRange "0 1" - float m_flStartCycle; // 0x40 - // MPropertyFriendlyName "End Cycle" - // MPropertyAttributeRange "0 1" - float m_flEndCycle; // 0x44 - // MPropertyFriendlyName "Only align to Goals" - bool m_bOnlyGoals; // 0x48 - // MPropertyFriendlyName "Prevent Overshoot" - bool m_bPreventOvershoot; // 0x49 - // MPropertyFriendlyName "Prevent Undershoot" - bool m_bPreventUndershoot; // 0x4a -}; - -// Aligment: 2 -// Size: 8 -class CFingerSource -{ -public: - AnimVRFinger_t m_nFingerIndex; // 0x0 - float m_flFingerWeight; // 0x4 -}; - -// Aligment: 4 -// Size: 24 -class CFlexController -{ -public: - CUtlString m_szName; // 0x0 - CUtlString m_szType; // 0x8 - float min; // 0x10 - float max; // 0x14 -}; - -// Aligment: 11 -// Size: 280 -class CSeqS1SeqDesc -{ -public: - CBufferString m_sName; // 0x0 - CSeqSeqDescFlag m_flags; // 0x10 - CSeqMultiFetch m_fetch; // 0x20 - int32_t m_nLocalWeightlist; // 0x88 - CUtlVector< CSeqAutoLayer > m_autoLayerArray; // 0x90 - CUtlVector< CSeqIKLock > m_IKLockArray; // 0xa8 - CSeqTransition m_transition; // 0xc0 - KeyValues3 m_SequenceKeys; // 0xc8 - // MKV3TransferName "m_keyValueText" - CBufferString m_LegacyKeyValueText; // 0xd8 - CUtlVector< CAnimActivity > m_activityArray; // 0xe8 - CUtlVector< CFootMotion > m_footMotion; // 0x100 -}; - -// Aligment: 1 -// Size: 112 +// Alignment: 1 +// Size: 0x70 class CProxyAnimNodeBase : public CAnimNodeBase { public: // MPropertyFriendlyName "External Connections" // MPropertyAutoExpandSelf // MPropertyAttrChangeCallback - CUtlVector< CConnectionProxyItem > m_proxyItems; // 0x48 + CUtlVector< CConnectionProxyItem > m_proxyItems; // 0x48 }; -// Aligment: 23 -// Size: 256 -class CMotionMatchingUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x30 +struct WristBone_t { public: - CMotionDataSet m_dataSet; // 0x58 - CUtlVector< CSmartPtr< CMotionMetricEvaluator > > m_metrics; // 0x78 - bool m_bSearchAtInterval; // 0x98 - float m_flSearchInterval; // 0x9c - bool m_bSearchOnSteps; // 0xa0 - bool m_bForceSearchWhenTagsChange; // 0xa1 - bool m_bSearchWhenClipEnds; // 0xa2 - bool m_bSearchWhenGoalChanges; // 0xa3 - CBlendCurve m_blendCurve; // 0xa4 - float m_flPredictionTime; // 0xac - float m_flSampleRate; // 0xb0 - float m_flBlendTime; // 0xb4 - bool m_bLockClipWhenWaning; // 0xb8 - float m_flSelectionThreshold; // 0xbc - bool m_bGoalAssist; // 0xc0 - float m_flGoalAssistDistance; // 0xc4 - float m_flGoalAssistTolerance; // 0xc8 - CAnimInputDamping m_distanceScale_Damping; // 0xd0 - float m_flDistanceScale_OuterRadius; // 0xe8 - float m_flDistanceScale_InnerRadius; // 0xec - float m_flDistanceScale_MaxScale; // 0xf0 - float m_flDistanceScale_MinScale; // 0xf4 - bool m_bEnableDistanceScaling; // 0xf8 + CTransform m_xOffsetTransformMS; // 0x0 + int32_t m_boneIndex; // 0x20 }; -// Aligment: 3 -// Size: 20 +// Alignment: 46 +// Size: 0xf8 +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 m_anchor[2]; // 0x4 + Quaternion 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 + Quaternion 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: 5 +// Size: 0x48 +class CControlValueCondition : public CAnimStateConditionBase +{ +public: + ControlValue m_sourceControlValue; // 0x30 + int32_t m_comparisonValueType; // 0x34 + float m_comparisonFixedValue; // 0x38 + ControlValue m_comparisonControlValue; // 0x3c + AnimParamID m_comparisonParamID; // 0x40 +}; + +// Alignment: 2 +// Size: 0x8 +struct TraceSettings_t +{ +public: + float m_flTraceHeight; // 0x0 + float m_flTraceRadius; // 0x4 +}; + +// Alignment: 0 +// Size: 0x70 +class CPointConstraint : public CBaseConstraint +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x10 +class CAnimationGraphVisualizerPrimitiveBase +{ +public: + CAnimationGraphVisualizerPrimitiveType m_Type; // 0x8 +}; + +// Alignment: 5 +// Size: 0x14 +class CPhysSurfacePropertiesPhysics +{ +public: + // MKV3TransferName "friction" + float m_friction; // 0x0 + // MKV3TransferName "elasticity" + float m_elasticity; // 0x4 + // MKV3TransferName "density" + float m_density; // 0x8 + // MKV3TransferName "thickness" + float m_thickness; // 0xc + // MKV3TransferName "dampening" + float m_dampening; // 0x10 +}; + +// Alignment: 2 +// Size: 0x4 +class ClipIndex +{ +public: + uint16_t m_groupIndex; // 0x0 + uint16_t m_clipIndex; // 0x2 +}; + +// Alignment: 0 +// Size: 0x70 +class CGroupOutputAnimNode : public CProxyAnimNodeBase +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x10 +class ConditionUpdater +{ +public: + // no members available +}; + +// Alignment: 14 +// Size: 0x1b0 +class CAnimDesc +{ +public: + CBufferString m_name; // 0x0 + CAnimDesc_Flag m_flags; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0017[0x1]; // 0x17 +public: + 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: 4 +// Size: 0xc +class CSeqIKLock +{ +public: + float m_flPosWeight; // 0x0 + float m_flAngleWeight; // 0x4 + int16_t m_nLocalBone; // 0x8 + bool m_bBonesOrientedAlongPositiveX; // 0xa +}; + +// Alignment: 3 +// Size: 0x90 +class CContainerAnimNodeBase : public CAnimNodeBase +{ +public: + // MPropertyHideField + AnimNodeID m_inputNodeID; // 0x58 + // MPropertyHideField + AnimNodeID m_outputNodeID; // 0x5c + // MPropertyHideField + CUtlHashtable< AnimNodeOutputID, CAnimNodeConnection > m_inputConnectionMap; // 0x60 +}; + +// Alignment: 2 +// Size: 0x18 +class CFinishedConditionUpdater : public ConditionUpdater +{ +public: + FinishedConditionOption m_option; // 0x10 + bool m_bIsFinished; // 0x14 +}; + +// Alignment: 3 +// Size: 0x50 +class CRenderSkeleton +{ +public: + CUtlVector< RenderSkeletonBone_t > m_bones; // 0x0 + CUtlVector< int32 > m_boneParents; // 0x30 + int32_t m_nBoneWeightCount; // 0x48 +}; + +// Alignment: 6 +// Size: 0x58 +class CPlayerInputAnimMotorUpdater : public CAnimMotorUpdaterBase +{ +public: + 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; // 0x4c + bool m_bUseAcceleration; // 0x54 +}; + +// Alignment: 2 +// Size: 0x10 +class CStateActionUpdater +{ +public: + CSmartPtr< CAnimActionUpdater > m_pAction; // 0x0 + StateActionBehavior m_eBehavior; // 0x8 +}; + +// Alignment: 4 +// Size: 0x58 +class CFloatAnimParameter : public CAnimParameterBase +{ +public: + // MPropertyFriendlyName "Default Value" + float m_fDefaultValue; // 0x48 + // MPropertyFriendlyName "Min Value" + float m_fMinValue; // 0x4c + // MPropertyFriendlyName "Max Value" + float m_fMaxValue; // 0x50 + // MPropertyFriendlyName "Interpolate" + bool m_bInterpolate; // 0x54 +}; + +// 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 +}; + +// Alignment: 1 +// Size: 0x98 +class CBoneConstraintPoseSpaceBone : public CBaseConstraint +{ +public: + CUtlVector< CBoneConstraintPoseSpaceBone::Input_t > m_inputList; // 0x70 +}; + +// Alignment: 2 +// Size: 0x20 +class CAnimGraphModelBinding +{ +public: + CUtlString m_modelName; // 0x8 + CSmartPtr< CAnimUpdateSharedData > m_pSharedData; // 0x10 +}; + +// Alignment: 1 +// Size: 0x30 +class CAnimGraphSettingsManager +{ +public: + CUtlVector< CSmartPtr< CAnimGraphSettingsGroup > > m_settingsGroups; // 0x18 +}; + +// Alignment: 9 +// Size: 0xd0 +struct LookAtOpFixedSettings_t +{ +public: + CAnimAttachment m_attachment; // 0x0 + CAnimInputDamping m_damping; // 0x80 + CUtlVector< LookAtBone_t > m_bones; // 0x98 + float m_flYawLimit; // 0xb0 + float m_flPitchLimit; // 0xb4 + float m_flHysteresisInnerAngle; // 0xb8 + float m_flHysteresisOuterAngle; // 0xbc + bool m_bTargetIsPosition; // 0xc0 + bool m_bUseHysteresis; // 0xc1 +}; + +// Alignment: 3 +// Size: 0x30 +class CStaticPoseCache +{ +public: + CUtlVector< CCachedPose > m_poses; // 0x10 + int32_t m_nBoneCount; // 0x28 + int32_t m_nMorphCount; // 0x2c +}; + +// Alignment: 2 +// Size: 0x18 +class CForceFacingConditionUpdater : public ConditionUpdater +{ +public: + Comparison_t m_comparisonOperation; // 0x10 + bool m_bComparisonValue; // 0x14 +}; + +// Alignment: 2 +// Size: 0x70 +class CSequenceBlend2DItem : public CBlend2DItemBase +{ +public: + // MPropertySuppressField + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x40 + // MPropertyFriendlyName "Sequence" + // MPropertyAttributeChoiceName "Sequence" + CUtlString m_sequenceName; // 0x58 +}; + +// Alignment: 5 +// Size: 0x90 +class CCycleControlClipUpdateNode : public CLeafUpdateNode +{ +public: + 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: 1 +// Size: 0x18 +class CVPhysXSurfacePropertiesList +{ +public: + // MKV3TransferName "SurfacePropertiesList" + CUtlVector< CPhysSurfaceProperties* > m_surfacePropertiesList; // 0x0 +}; + +// Alignment: 2 +// Size: 0xa0 +class CTiltTwistConstraint : public CBaseConstraint +{ +public: + int32_t m_nTargetAxis; // 0x70 + int32_t m_nSlaveAxis; // 0x74 +}; + +// Alignment: 1 +// Size: 0x58 +class CPostGraphIKTag : public CAnimTagBase +{ +public: + // MPropertyFriendlyName "Blend Amount" + float m_flBlendAmount; // 0x40 +}; + +// Alignment: 2 +// Size: 0x20 +class CFlexRule +{ +public: + int32_t m_nFlex; // 0x0 + CUtlVector< CFlexOp > m_FlexOps; // 0x8 +}; + +// Alignment: 1 +// Size: 0x40 +class CExpressionAction : public CAnimActionBase +{ +public: + CUtlString m_expression; // 0x28 +}; + +// Alignment: 2 +// Size: 0x70 +class CDirectPlaybackUpdateNode : public CUnaryUpdateNode +{ +public: + bool m_bFinishEarly; // 0x6c + bool m_bResetOnFinish; // 0x6d +}; + +// Alignment: 3 +// Size: 0x50 +class CMotionMetricEvaluator +{ +public: + CUtlVector< float32 > m_means; // 0x18 + CUtlVector< float32 > m_standardDeviations; // 0x30 + float m_flWeight; // 0x48 +}; + +// Alignment: 5 +// Size: 0x60 +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 +}; + +// Alignment: 9 +// Size: 0x18 +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 +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: + 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: 0x98 +class CTwistConstraint : public CBaseConstraint +{ +public: + bool m_bInverse; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 +public: + Quaternion m_qParentBindRotation; // 0x74 + Quaternion m_qChildBindRotation; // 0x84 +}; + +// Alignment: 2 +// Size: 0x40 +class CAnimationGraphVisualizerAxis : public CAnimationGraphVisualizerPrimitiveBase +{ +public: + CTransform m_xWsTransform; // 0x10 + float m_flAxisSize; // 0x30 +}; + +// Alignment: 8 +// Size: 0x68 +class CSubtractAnimNode : public CAnimNodeBase +{ +public: + // MPropertyHideField + CAnimNodeConnection m_baseInputConnection; // 0x38 + // MPropertyHideField + CAnimNodeConnection m_subtractInputConnection; // 0x40 + // MPropertyFriendlyName "Timing Control" + // MPropertyAttrChangeCallback + BinaryNodeTiming m_timingBehavior; // 0x48 + // MPropertyFriendlyName "Timing Blend" + // MPropertyAttributeRange "0 1" + // MPropertyAttrStateCallback + float m_flTimingBlend; // 0x4c + // MPropertyFriendlyName "Foot Motion Timing" + BinaryNodeChildOption m_footMotionTiming; // 0x50 + // MPropertyFriendlyName "Reset Base Child" + bool m_bResetBase; // 0x54 + // MPropertyFriendlyName "Reset Subtracted Child" + bool m_bResetSubtract; // 0x55 + // MPropertyFriendlyName "Treat Translation Separately" + bool m_bApplyChannelsSeparately; // 0x56 +}; + +// 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: 9 +// Size: 0x70 +class CVRInputComponent : public CAnimComponentBase +{ +public: + // 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: 2 +// Size: 0x28 +class CAnimMotorBase +{ +public: + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CUtlString m_name; // 0x18 + // MPropertyFriendlyName "Is Default" + bool m_bDefault; // 0x20 +}; + +// Alignment: 8 +// Size: 0xd0 +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 +}; + +// Alignment: 3 +// Size: 0x1b8 +class CRenderMesh +{ +public: + CUtlVectorFixedGrowable< CSceneObjectData > m_sceneObjects; // 0x10 + CUtlVector< CBaseConstraint* > m_constraints; // 0x88 + CRenderSkeleton m_skeleton; // 0xa0 +}; + +// Alignment: 1 +// Size: 0x8 +class CFlexDesc +{ +public: + CUtlString m_szFacs; // 0x0 +}; + +// Alignment: 4 +// Size: 0x30 +class CWristBone +{ +public: + CUtlString m_name; // 0x0 + Vector m_vForwardLS; // 0x8 + Vector m_vUpLS; // 0x14 + Vector m_vOffset; // 0x20 +}; + +// Alignment: 2 +// Size: 0x48 +class CAnimClipData +{ +public: + // MPropertySuppressField + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 + // MPropertyFriendlyName "Sequence" + // MPropertyAttributeChoiceName "Sequence" + CUtlString m_clipName; // 0x38 +}; + +// Alignment: 6 +// Size: 0x60 +class CWayPointHelperAnimNode : public CAnimNodeBase +{ +public: + // MPropertyHideField + CAnimNodeConnection m_inputConnection; // 0x38 + // MPropertyFriendlyName "Start Cycle" + // MPropertyAttributeRange "0 1" + float m_flStartCycle; // 0x40 + // MPropertyFriendlyName "End Cycle" + // MPropertyAttributeRange "0 1" + float m_flEndCycle; // 0x44 + // MPropertyFriendlyName "Only align to Goals" + bool m_bOnlyGoals; // 0x48 + // MPropertyFriendlyName "Prevent Overshoot" + bool m_bPreventOvershoot; // 0x49 + // MPropertyFriendlyName "Prevent Undershoot" + bool m_bPreventUndershoot; // 0x4a +}; + +// Alignment: 2 +// Size: 0x8 +class CFingerSource +{ +public: + AnimVRFinger_t m_nFingerIndex; // 0x0 + float m_flFingerWeight; // 0x4 +}; + +// Alignment: 4 +// Size: 0x18 +class CFlexController +{ +public: + CUtlString m_szName; // 0x0 + CUtlString m_szType; // 0x8 + float min; // 0x10 + float max; // 0x14 +}; + +// Alignment: 11 +// Size: 0x118 +class CSeqS1SeqDesc +{ +public: + 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: 0 +// Size: 0x78 +class CGroupInputAnimNode : public CProxyAnimNodeBase +{ +public: + // no members available +}; + +// Alignment: 23 +// Size: 0x100 +class CMotionMatchingUpdateNode : public CLeafUpdateNode +{ +public: + CMotionDataSet m_dataSet; // 0x58 + CUtlVector< CSmartPtr< CMotionMetricEvaluator > > m_metrics; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0090[0x8]; // 0x90 +public: + bool m_bSearchAtInterval; // 0x98 +private: + [[maybe_unused]] uint8_t __pad0099[0x3]; // 0x99 +public: + float m_flSearchInterval; // 0x9c + bool m_bSearchOnSteps; // 0xa0 + bool m_bForceSearchWhenTagsChange; // 0xa1 + bool m_bSearchWhenClipEnds; // 0xa2 + bool m_bSearchWhenGoalChanges; // 0xa3 + CBlendCurve m_blendCurve; // 0xa4 + float m_flPredictionTime; // 0xac + float m_flSampleRate; // 0xb0 + float m_flBlendTime; // 0xb4 + bool m_bLockClipWhenWaning; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 +public: + float m_flSelectionThreshold; // 0xbc + bool m_bGoalAssist; // 0xc0 +private: + [[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1 +public: + float m_flGoalAssistDistance; // 0xc4 + float m_flGoalAssistTolerance; // 0xc8 +private: + [[maybe_unused]] uint8_t __pad00cc[0x4]; // 0xcc +public: + CAnimInputDamping m_distanceScale_Damping; // 0xd0 + float m_flDistanceScale_OuterRadius; // 0xe8 + float m_flDistanceScale_InnerRadius; // 0xec + float m_flDistanceScale_MaxScale; // 0xf0 + float m_flDistanceScale_MinScale; // 0xf4 + bool m_bEnableDistanceScaling; // 0xf8 +}; + +// Alignment: 3 +// Size: 0x14 class CFootTrajectory { public: - Vector m_vOffset; // 0x0 - float m_flRotationOffset; // 0xc - float m_flProgression; // 0x10 -public: - static CFootTrajectory &Get_Identity() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CFootTrajectory")->m_static_fiels[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);}; }; -// Aligment: 3 -// Size: 48 +// 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 }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 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 }; -// Aligment: 1 -// Size: 16 -class CAnimationGraphVisualizerPrimitiveBase +// 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 }; -// Aligment: 13 -// Size: 136 +// Alignment: 13 +// Size: 0x88 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 }; -// Aligment: 1 -// Size: 120 +// Alignment: 1 +// Size: 0x78 class CStateMachineComponent : public CAnimComponentBase { public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_sName; // 0x60 + CUtlString m_sName; // 0x60 }; -// Aligment: 2 -// Size: 32 -class CToggleComponentActionUpdater : public CAnimActionUpdater +// Alignment: 0 +// Size: 0x18 +class CAnimActionUpdater { public: - AnimComponentID m_componentID; // 0x18 - bool m_bSetEnabled; // 0x1c + // no members available }; -// Aligment: 1 -// Size: 72 +// Alignment: 1 +// Size: 0x48 class CAnimNodeManager { public: // MPropertyHideField - CUtlHashtable< AnimNodeID, CSmartPtr< CAnimNodeBase > > m_nodes; // 0x8 + CUtlHashtable< AnimNodeID, CSmartPtr< CAnimNodeBase > > m_nodes; // 0x8 }; -// Aligment: 5 -// Size: 72 +// Alignment: 5 +// Size: 0x48 class CStateStatusCondition : public CAnimStateConditionBase { public: - StateValue m_sourceValue; // 0x30 - ComparisonValueType m_comparisonValueType; // 0x34 - float m_comparisonFixedValue; // 0x38 - StateValue m_comparisonStateValue; // 0x3c - AnimParamID m_comparisonParamID; // 0x40 + StateValue m_sourceValue; // 0x30 + ComparisonValueType m_comparisonValueType; // 0x34 + float m_comparisonFixedValue; // 0x38 + StateValue m_comparisonStateValue; // 0x3c + AnimParamID m_comparisonParamID; // 0x40 }; -// Aligment: 2 -// Size: 120 +// Alignment: 2 +// Size: 0x78 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 }; -// Aligment: 8 -// Size: 384 +// Alignment: 8 +// Size: 0x180 class CAnimationGroup { public: - uint32_t m_nFlags; // 0x10 - CBufferString m_name; // 0x18 + 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 + 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 - CAnimRetargetData m_retarget; // 0x110 - CUtlVector< CBufferString > m_szScripts; // 0x160 + CStrongHandle< InfoForResourceTypeCSequenceGroupData > m_directHSeqGroup_Handle; // 0x90 + CAnimKeyData m_decodeKey; // 0x98 + CAnimRetargetData m_retarget; // 0x110 + CUtlVector< CBufferString > m_szScripts; // 0x160 }; -// Aligment: 6 -// Size: 136 -class CTurnHelperUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// 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 - 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 }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CAudioAnimTag : public CAnimTagBase { public: // MPropertyFriendlyName "Sound Event" // MPropertyAttributeEditor "SoundPicker()" - CUtlString m_clipName; // 0x40 + CUtlString m_clipName; // 0x40 }; -// Aligment: 8 -// Size: 64 +// Alignment: 8 +// Size: 0x40 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 }; -// Aligment: 8 -// Size: 104 +// Alignment: 8 +// Size: 0x68 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 }; -// Aligment: 2 -// Size: 40 -struct CBoneConstraintPoseSpaceBone::Input_t +// Alignment: 2 +// Size: 0x28 +struct CBoneConstraintPoseSpaceBone__Input_t { public: - Vector m_inputValue; // 0x0 - CUtlVector< CTransform > m_outputTransformList; // 0x10 + Vector m_inputValue; // 0x0 + CUtlVector< CTransform > m_outputTransformList; // 0x10 }; -// Aligment: 7 -// Size: 80 -class CDampedPathAnimMotor : public CPathAnimMotorBase, CAnimMotorBase +// Alignment: 1 +// Size: 0x30 +class CPathAnimMotorBase : public 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 + // MPropertyFriendlyName "Lock To Path" + // MPropertySortPriority "90" + bool m_bLockToPath; // 0x28 }; -// Aligment: 9 -// Size: 72 +// 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 + 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 }; -// Aligment: 10 -// Size: 112 +// 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 - 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 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 class CTransitionUpdateData { public: - CUtlVector< CSmartPtr< ConditionUpdater > > m_conditions; // 0x0 - int16_t m_srcStateIndex; // 0x18 - int16_t m_destStateIndex; // 0x1a - bitfield:1 m_bDisabled; // 0x0 + CUtlVector< CSmartPtr< ConditionUpdater > > m_conditions; // 0x0 + int16_t m_srcStateIndex; // 0x18 + int16_t m_destStateIndex; // 0x1a + struct + { + uint8_t m_bDisabled: 1; + uint8_t __pad1: 1; // @note: autoaligned + }; // 2 bits }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CAnimUserDifference { public: - CBufferString m_name; // 0x0 - int32_t m_nType; // 0x10 + CBufferString m_name; // 0x0 + int32_t m_nType; // 0x10 }; -// Aligment: 2 -// Size: 128 -class CAnimNodeState : public CAnimState +// Alignment: 8 +// Size: 0x70 +class CAnimState { public: + // MPropertySuppressField + CUtlVector< CSmartPtr< CAnimStateTransition > > m_transitions; // 0x28 + // MPropertySuppressField + CUtlVector< CStateAction > m_actions; // 0x40 + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CUtlString m_name; // 0x58 // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x70 - // MPropertyFriendlyName "Exclusive Root Motion" - bool m_bIsRootMotionExclusive; // 0x78 + 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 }; -// Aligment: 3 -// Size: 48 +// 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 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CBlendCurve { public: - float m_flControlPoint1; // 0x0 - float m_flControlPoint2; // 0x4 + float m_flControlPoint1; // 0x0 + float m_flControlPoint2; // 0x4 }; -// Aligment: 7 -// Size: 7 +// Alignment: 7 +// Size: 0x7 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_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 }; -// Aligment: 6 -// Size: 248 +// Alignment: 6 +// Size: 0xf8 class CAnimationSubGraph { public: - CAnimNodeManager m_nodeManager; // 0x10 - CAnimComponentManager m_componentManager; // 0x58 - CUtlVector< CSmartPtr< CAnimParameterBase > > m_localParameters; // 0x80 - CUtlVector< CSmartPtr< CAnimTagBase > > m_localTags; // 0x98 - CUtlVector< CUtlString > m_referencedParamGroups; // 0xb0 - CUtlVector< CUtlString > m_referencedTagGroups; // 0xc8 + CAnimNodeManager m_nodeManager; // 0x10 + CAnimComponentManager m_componentManager; // 0x58 + CUtlVector< CSmartPtr< CAnimParameterBase > > m_localParameters; // 0x80 + CUtlVector< CSmartPtr< CAnimTagBase > > m_localTags; // 0x98 + CUtlVector< CUtlString > m_referencedParamGroups; // 0xb0 + CUtlVector< CUtlString > m_referencedTagGroups; // 0xc8 }; -// Aligment: 4 -// Size: 104 +// Alignment: 4 +// Size: 0x68 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 }; -// Aligment: 2 -// Size: 40 +// Alignment: 2 +// Size: 0x28 class CRigidBodyWeightList { public: - CUtlString m_name; // 0x8 - CUtlVector< CRigidBodyWeight > m_weights; // 0x10 + CUtlString m_name; // 0x8 + CUtlVector< CRigidBodyWeight > m_weights; // 0x10 }; -// Aligment: 4 -// Size: 144 -class CMorphConstraint : public CBaseConstraint, CBoneConstraintBase +// 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 + CUtlString m_sTargetMorph; // 0x70 + int32_t m_nSlaveChannel; // 0x78 + float m_flMin; // 0x7c + float m_flMax; // 0x80 }; -// Aligment: 4 -// Size: 24 +// Alignment: 4 +// Size: 0x18 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 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CFacingHeadingConditionUpdater : public ConditionUpdater { public: - float m_comparisonValue; // 0x10 - Comparison_t m_operation; // 0x14 + float m_comparisonValue; // 0x10 + Comparison_t m_operation; // 0x14 }; -// Aligment: 8 -// Size: 152 +// 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 + 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 }; -// Aligment: 2 -// Size: 56 +// Alignment: 2 +// Size: 0x38 class CFinishedCondition : public CAnimStateConditionBase { public: - FinishedConditionOption m_option; // 0x30 - bool m_bIsFinished; // 0x34 + FinishedConditionOption m_option; // 0x30 + bool m_bIsFinished; // 0x34 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CRenderBufferBinding { public: - uint64_t m_hBuffer; // 0x0 - uint32_t m_nBindOffsetBytes; // 0x8 + uint64_t m_hBuffer; // 0x0 + uint32_t m_nBindOffsetBytes; // 0x8 }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CBonePositionMetricEvaluator : public CMotionMetricEvaluator { public: - int32_t m_nBoneIndex; // 0x50 + int32_t m_nBoneIndex; // 0x50 }; -// Aligment: 2 -// Size: 56 +// Alignment: 2 +// Size: 0x38 class CSetParameterActionUpdater : public CAnimActionUpdater { public: - CAnimParamHandle m_hParam; // 0x18 - CAnimVariant m_value; // 0x20 + CAnimParamHandle m_hParam; // 0x18 + CAnimVariant m_value; // 0x20 }; -// Aligment: 3 -// Size: 88 -class CAnimUpdateNodeBase +// Alignment: 7 +// Size: 0xb0 +class CBoneMaskUpdateNode : public CBinaryUpdateNode { public: - CAnimNodePath m_nodePath; // 0x18 - CUtlString m_name; // 0x48 - AnimNodeNetworkMode m_networkMode; // 0x50 + 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 }; -// Aligment: 4 -// Size: 96 +// Alignment: 4 +// Size: 0x60 class CFutureVelocityMetricEvaluator : public CMotionMetricEvaluator { public: - float m_flDistance; // 0x50 - float m_flStoppingDistance; // 0x54 - float m_flTargetSpeed; // 0x58 - bool m_bIgnoreDirection; // 0x5c + float m_flDistance; // 0x50 + float m_flStoppingDistance; // 0x54 + float m_flTargetSpeed; // 0x58 + bool m_bIgnoreDirection; // 0x5c }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CMovementMode { public: // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 // MPropertyFriendlyName "Top Speed" - float m_flSpeed; // 0x8 + float m_flSpeed; // 0x8 }; -// Aligment: 3 -// Size: 80 -class CMotionMetricEvaluator +// Alignment: 7 +// Size: 0x68 +class CDistanceRemainingMetricEvaluator : public CMotionMetricEvaluator { public: - CUtlVector< float32 > m_means; // 0x18 - CUtlVector< float32 > m_standardDeviations; // 0x30 - float m_flWeight; // 0x48 + 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 }; -// Aligment: 3 -// Size: 88 +// Alignment: 3 +// Size: 0x58 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 }; -// Aligment: 2 -// Size: 64 +// Alignment: 2 +// Size: 0x40 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 }; -// Aligment: 9 -// Size: 60 +// Alignment: 9 +// Size: 0x3c 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 }; -// Aligment: 3 -// Size: 112 +// Alignment: 3 +// Size: 0x70 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 }; -// Aligment: 5 -// Size: 88 +// Alignment: 5 +// Size: 0x58 class CConstraintSlave { public: - uint32_t m_nBoneHash; // 0x0 - float m_flWeight; // 0x4 - Vector m_vBasePosition; // 0x8 - Quaternion m_qBaseOrientation; // 0x14 - CUtlString m_sName; // 0x28 + uint32_t m_nBoneHash; // 0x0 + float m_flWeight; // 0x4 + Vector m_vBasePosition; // 0x8 + Quaternion m_qBaseOrientation; // 0x14 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + CUtlString m_sName; // 0x28 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CLODComponent : public CAnimComponentBase { public: - int32_t m_nServerLOD; // 0x38 + int32_t m_nServerLOD; // 0x38 }; -// Aligment: 6 -// Size: 80 +// Alignment: 6 +// Size: 0x50 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 }; -// Aligment: 4 -// Size: 48 +// Alignment: 4 +// Size: 0x30 class CControlValueConditionUpdater : public ConditionUpdater { public: - CompValues m_comparison; // 0x10 - ControlValue m_sourceControlValue; // 0x20 - ComparisonValueType m_comparisonValueType; // 0x24 - Comparison_t m_operation; // 0x28 + CompValues m_comparison; // 0x10 + ControlValue m_sourceControlValue; // 0x20 + ComparisonValueType m_comparisonValueType; // 0x24 + Comparison_t m_operation; // 0x28 }; -// Aligment: 4 -// Size: 48 +// Alignment: 4 +// Size: 0x30 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 }; -// Aligment: 4 -// Size: 24 +// Alignment: 4 +// Size: 0x18 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 // MPropertyFriendlyName "Minimum Speed" - float m_fMinSpeed; // 0x10 + float m_fMinSpeed; // 0x10 // MPropertyFriendlyName "Maximum Tension" - float m_fMaxTension; // 0x14 + float m_fMaxTension; // 0x14 }; -// Aligment: 6 -// Size: 96 +// Alignment: 6 +// Size: 0x60 class CSlopeComponentUpdater : public CAnimComponentUpdater { public: - CAnimParamHandle m_hSlopeAngle; // 0x2c - CAnimParamHandle m_hSlopeAngleFront; // 0x34 - CAnimParamHandle m_hSlopeAngleSide; // 0x3c - CAnimParamHandle m_hSlopeHeading; // 0x44 - CAnimParamHandle m_hSlopeNormal; // 0x4c - CAnimParamHandle m_hSlopeNormal_WorldSpace; // 0x54 + CAnimParamHandle m_hSlopeAngle; // 0x2c + CAnimParamHandle m_hSlopeAngleFront; // 0x34 + CAnimParamHandle m_hSlopeAngleSide; // 0x3c + CAnimParamHandle m_hSlopeHeading; // 0x44 + CAnimParamHandle m_hSlopeNormal; // 0x4c + CAnimParamHandle m_hSlopeNormal_WorldSpace; // 0x54 }; -// Aligment: 3 -// Size: 144 -class CContainerAnimNodeBase : public CAnimNodeBase +// Alignment: 1 +// Size: 0xd8 +class CGroupAnimNode : public CContainerAnimNodeBase { public: // MPropertyHideField - AnimNodeID m_inputNodeID; // 0x58 - // MPropertyHideField - AnimNodeID m_outputNodeID; // 0x5c - // MPropertyHideField - CUtlHashtable< AnimNodeOutputID, CAnimNodeConnection > m_inputConnectionMap; // 0x60 + CAnimNodeManager m_nodeMgr; // 0x80 }; -// Aligment: 4 -// Size: 40 +// Alignment: 4 +// Size: 0x28 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimTagID { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 6 -// Size: 80 +// Alignment: 6 +// Size: 0x50 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 }; -// Aligment: 2 -// Size: 112 +// Alignment: 2 +// Size: 0x70 class CEnumAnimParameter : public CAnimParameterBase { public: // MPropertyFriendlyName "Default Value" - uint8_t m_defaultValue; // 0x50 + uint8_t m_defaultValue; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x7]; // 0x51 +public: // MPropertyFriendlyName "Values" - CUtlVector< CUtlString > m_enumOptions; // 0x58 + CUtlVector< CUtlString > m_enumOptions; // 0x58 }; -// Aligment: 4 -// Size: 112 +// Alignment: 4 +// Size: 0x70 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 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CStateNodeStateData { public: - CAnimUpdateNodeRef m_pChild; // 0x0 - bitfield:1 m_bExclusiveRootMotion; // 0x0 + CAnimUpdateNodeRef m_pChild; // 0x0 + struct + { + uint8_t m_bExclusiveRootMotion: 1; + uint8_t __pad2: 1; // @note: autoaligned + }; // 2 bits }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CRootAnimNode : public CAnimNodeBase { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 + CAnimNodeConnection m_inputConnection; // 0x40 }; -// Aligment: 2 -// Size: 88 +// Alignment: 2 +// Size: 0x58 class CFootStride { public: - CFootCycleDefinition m_definition; // 0x0 - CFootTrajectories m_trajectories; // 0x40 + CFootCycleDefinition m_definition; // 0x0 + CFootTrajectories m_trajectories; // 0x40 }; -// Aligment: 5 -// Size: 40 +// Alignment: 5 +// Size: 0x28 class CTimeConditionUpdater : public ConditionUpdater { public: - Comparison_t m_comparisonOperation; // 0x10 - ComparisonValueType m_comparisonValueType; // 0x14 - float m_flComparisonValue; // 0x18 - ControlValue m_comparisonControlValue; // 0x1c - CAnimParamHandle m_comparisonParamIndex; // 0x20 + Comparison_t m_comparisonOperation; // 0x10 + ComparisonValueType m_comparisonValueType; // 0x14 + float m_flComparisonValue; // 0x18 + ControlValue m_comparisonControlValue; // 0x1c + CAnimParamHandle m_comparisonParamIndex; // 0x20 }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 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 }; -// Aligment: 2 -// Size: 152 -class CAddUpdateNode : public CBinaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x98 +class CAddUpdateNode : public CBinaryUpdateNode { public: - BinaryNodeChildOption m_footMotionTiming; // 0x8c - bool m_bApplyChannelsSeparately; // 0x90 + BinaryNodeChildOption m_footMotionTiming; // 0x8c + bool m_bApplyChannelsSeparately; // 0x90 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CBonePositionMetric : public CMotionMetricBase { public: // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x28 + CUtlString m_boneName; // 0x28 }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CFutureFacingMetricEvaluator : public CMotionMetricEvaluator { public: - float m_flDistance; // 0x50 + float m_flDistance; // 0x50 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CModelConfigElement_SetMaterialGroup : public CModelConfigElement { public: - CUtlString m_MaterialGroupName; // 0x48 + CUtlString m_MaterialGroupName; // 0x48 }; -// Aligment: 8 -// Size: 104 +// Alignment: 8 +// Size: 0x68 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 "Reset Base Child" - bool m_bResetBase; // 0x54 + bool m_bResetBase; // 0x54 // MPropertyFriendlyName "Reset Additive Child" - bool m_bResetAdditive; // 0x55 + bool m_bResetAdditive; // 0x55 // MPropertyFriendlyName "Treat Translation Separately" - bool m_bApplyChannelsSeparately; // 0x56 + bool m_bApplyChannelsSeparately; // 0x56 }; -// Aligment: 9 -// Size: 352 +// Alignment: 9 +// Size: 0x160 class CMovementComponentUpdater : public CAnimComponentUpdater { public: - CUtlVector< CMovementMode > m_movementModes; // 0x28 - CUtlVector< CSmartPtr< CAnimMotorUpdaterBase > > m_motors; // 0x40 - CAnimInputDamping m_facingDamping; // 0x58 - FacingMode m_eDefaultFacingMode; // 0x70 - int32_t m_nDefaultMotorIndex; // 0x7c - bool m_bMoveVarsDisabled; // 0x80 - bool m_bNetworkPath; // 0x81 - bool m_bNetworkFacing; // 0x82 - CAnimParamHandle[27] m_paramHandles; // 0x84 + CUtlVector< CMovementMode > m_movementModes; // 0x28 + CUtlVector< CSmartPtr< CAnimMotorUpdaterBase > > m_motors; // 0x40 + CAnimInputDamping m_facingDamping; // 0x58 + 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 +private: + [[maybe_unused]] uint8_t __pad0083[0x1]; // 0x83 +public: + CAnimParamHandle m_paramHandles[27]; // 0x84 }; -// Aligment: 0 -// Size: 16 -class ConditionUpdater +// Alignment: 3 +// Size: 0x20 +class CTagConditionUpdater : public ConditionUpdater { public: -// + Comparison_t m_operation; // 0x10 + int32_t m_tagIndex; // 0x14 + bool m_comparisonValue; // 0x18 }; -// Aligment: 1 -// Size: 272 -class CFollowAttachmentUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x110 +class CFollowAttachmentUpdateNode : public CUnaryUpdateNode { public: - FollowAttachmentSettings_t m_opFixedData; // 0x70 + FollowAttachmentSettings_t m_opFixedData; // 0x70 }; -// Aligment: 1 -// Size: 40 -class CPathAnimMotorUpdaterBase : public CAnimMotorUpdaterBase +// Alignment: 0 +// Size: 0x28 +class CPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase { public: - bool m_bLockToPath; // 0x20 + // no members available }; -// Aligment: 10 -// Size: 168 +// Alignment: 10 +// Size: 0xa8 class CSelectorAnimNode : public CAnimNodeBase { public: // MPropertySuppressField - CUtlVector< CAnimNodeConnection > m_children; // 0x48 + CUtlVector< CAnimNodeConnection > m_children; // 0x48 // MPropertySuppressField - CUtlVector< AnimTagID > m_tags; // 0x60 + CUtlVector< AnimTagID > m_tags; // 0x60 // MPropertyFriendlyName "Selection Source" // MPropertyAttrChangeCallback - SelectionSource_t m_selectionSource; // 0x78 + SelectionSource_t m_selectionSource; // 0x78 // MPropertyFriendlyName "Bool Parameter" // MPropertyAttributeChoiceName "BoolParameter" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimParamID m_boolParamID; // 0x7c + AnimParamID m_boolParamID; // 0x7c // MPropertyFriendlyName "Enum Parameter" // MPropertyAttributeChoiceName "EnumParameter" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimParamID m_enumParamID; // 0x80 + AnimParamID m_enumParamID; // 0x80 // MPropertyFriendlyName "Blend Duration" - float m_blendDuration; // 0x84 + float m_blendDuration; // 0x84 // MPropertyFriendlyName "Tag Behavior" - SelectorTagBehavior_t m_tagBehavior; // 0x88 + SelectorTagBehavior_t m_tagBehavior; // 0x88 // MPropertyFriendlyName "Reset On Change" - bool m_bResetOnChange; // 0x8c + bool m_bResetOnChange; // 0x8c // MPropertyFriendlyName "Start new option at same cycle" - bool m_bSyncCyclesOnChange; // 0x8d + bool m_bSyncCyclesOnChange; // 0x8d +private: + [[maybe_unused]] uint8_t __pad008e[0x2]; // 0x8e +public: // MPropertySuppressField - CBlendCurve m_blendCurve; // 0x90 + CBlendCurve m_blendCurve; // 0x90 }; -// Aligment: 3 -// Size: 96 +// Alignment: 3 +// Size: 0x60 class CAnimReplayFrame { public: - CUtlBinaryBlock m_instanceData; // 0x10 - CTransform m_localToWorldTransform; // 0x30 - float m_timeStamp; // 0x50 + CUtlBinaryBlock m_instanceData; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 +public: + CTransform m_localToWorldTransform; // 0x30 + float m_timeStamp; // 0x50 }; -// Aligment: 0 -// Size: 80 +// Alignment: 0 +// Size: 0x50 class CCurrentVelocityMetricEvaluator : public CMotionMetricEvaluator { public: -// + // no members available }; -// Aligment: 2 -// Size: 88 +// 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 }; -// Aligment: 1 -// Size: 112 -class CSpeedScaleUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x70 +class CSpeedScaleUpdateNode : public CUnaryUpdateNode { public: - CAnimParamHandle m_paramIndex; // 0x68 + CAnimParamHandle m_paramIndex; // 0x68 }; -// Aligment: 12 -// Size: 96 +// Alignment: 12 +// Size: 0x60 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 }; -// Aligment: 2 -// Size: 40 -struct CBoneConstraintPoseSpaceMorph::Input_t +// Alignment: 2 +// Size: 0x28 +struct CBoneConstraintPoseSpaceMorph__Input_t { public: - Vector m_inputValue; // 0x0 - CUtlVector< float32 > m_outputWeightList; // 0x10 + Vector m_inputValue; // 0x0 + CUtlVector< float32 > m_outputWeightList; // 0x10 }; -// Aligment: 2 -// Size: 80 +// Alignment: 2 +// Size: 0x50 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 }; -// Aligment: 24 -// Size: 240 +// Alignment: 24 +// Size: 0xf0 class CMotionMatchingAnimNode : public CAnimNodeBase { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CMotionClipGroup > > m_clipGroups; // 0x50 + CUtlVector< CSmartPtr< CMotionClipGroup > > m_clipGroups; // 0x50 // MPropertySuppressField - CUtlVector< CSmartPtr< CMotionMetricBase > > m_metrics; // 0x68 + CUtlVector< CSmartPtr< CMotionMetricBase > > m_metrics; // 0x68 // MPropertySuppressField - CBlendCurve m_blendCurve; // 0x80 + CBlendCurve m_blendCurve; // 0x80 // MPropertyFriendlyName "Prediction Time" - float m_flPredictionTime; // 0x88 + float m_flPredictionTime; // 0x88 // MPropertyFriendlyName "Sampling Method" // MPropertyAttrChangeCallback - MotionSamplingMethod m_samplingMethod; // 0x8c + MotionSamplingMethod m_samplingMethod; // 0x8c // MPropertyFriendlyName "Sample Rate" // MPropertyAttrStateCallback - float m_flSampleRate; // 0x90 + float m_flSampleRate; // 0x90 // MPropertyFriendlyName "Search at fixed interval" // MPropertyGroupName "Search Triggers" // MPropertyAttrChangeCallback - bool m_bSearchAtInterval; // 0x94 + bool m_bSearchAtInterval; // 0x94 +private: + [[maybe_unused]] uint8_t __pad0095[0x3]; // 0x95 +public: // MPropertyFriendlyName "Search Interval" // MPropertyGroupName "Search Triggers" // MPropertyAttrStateCallback - float m_flSearchInterval; // 0x98 + float m_flSearchInterval; // 0x98 // MPropertyFriendlyName "Search on Steps" // MPropertyGroupName "Search Triggers" - bool m_bSearchOnSteps; // 0x9c + bool m_bSearchOnSteps; // 0x9c // MPropertyFriendlyName "Search when tags change" // MPropertyGroupName "Search Triggers" - bool m_bForceSearchWhenTagsChange; // 0x9d + bool m_bForceSearchWhenTagsChange; // 0x9d // MPropertyFriendlyName "Search when clip ends" // MPropertyGroupName "Search Triggers" - bool m_bSearchWhenClipEnds; // 0x9e + bool m_bSearchWhenClipEnds; // 0x9e // MPropertyFriendlyName "Search when goal changes" // MPropertyGroupName "Search Triggers" - bool m_bSearchWhenGoalChanges; // 0x9f + bool m_bSearchWhenGoalChanges; // 0x9f // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0xa0 + float m_flBlendTime; // 0xa0 // MPropertyFriendlyName "Selection Threshold" - float m_flSelectionThreshold; // 0xa4 + float m_flSelectionThreshold; // 0xa4 // MPropertyFriendlyName "Lock Clip When Waning" - bool m_bLockClipWhenWaning; // 0xa8 + bool m_bLockClipWhenWaning; // 0xa8 // MPropertyFriendlyName "Enable Goal Assist" // MPropertyGroupName "Goal Assist" // MPropertyAttrChangeCallback - bool m_bGoalAssist; // 0xa9 + bool m_bGoalAssist; // 0xa9 +private: + [[maybe_unused]] uint8_t __pad00aa[0x2]; // 0xaa +public: // MPropertyFriendlyName "Goal Assist Distance" // MPropertyGroupName "Goal Assist" // MPropertyAttrStateCallback - float m_flGoalAssistDistance; // 0xac + float m_flGoalAssistDistance; // 0xac // MPropertyFriendlyName "Goal Assist Tolerance" // MPropertyGroupName "Goal Assist" // MPropertyAttrStateCallback - float m_flGoalAssistTolerance; // 0xb0 + float m_flGoalAssistTolerance; // 0xb0 // MPropertyFriendlyName "Enable Distance Scaling" // MPropertyGroupName "Distance Scaling" // MPropertyAttrChangeCallback - bool m_bEnableDistanceScaling; // 0xb4 + bool m_bEnableDistanceScaling; // 0xb4 +private: + [[maybe_unused]] uint8_t __pad00b5[0x3]; // 0xb5 +public: // MPropertyFriendlyName "Outer Stopping Radius" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_OuterRadius; // 0xb8 + float m_flDistanceScale_OuterRadius; // 0xb8 // MPropertyFriendlyName "Inner Stopping Radius" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_InnerRadius; // 0xbc + float m_flDistanceScale_InnerRadius; // 0xbc // MPropertyFriendlyName "Maximum Speed Scale" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_MaxScale; // 0xc0 + float m_flDistanceScale_MaxScale; // 0xc0 // MPropertyFriendlyName "Minimum Speed Scale" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_MinScale; // 0xc4 + float m_flDistanceScale_MinScale; // 0xc4 // MPropertyFriendlyName "Damping" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - CAnimInputDamping m_distanceScale_Damping; // 0xc8 + CAnimInputDamping m_distanceScale_Damping; // 0xc8 }; -// Aligment: 4 -// Size: 144 +// Alignment: 4 +// Size: 0x90 class CCycleControlClipAnimNode : public CAnimNodeBase { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x58 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x58 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x70 + CUtlString m_sequenceName; // 0x70 // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_valueSource; // 0x78 + AnimValueSource m_valueSource; // 0x78 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x7c + AnimParamID m_param; // 0x7c }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CRigidBodyWeight { public: - CUtlString m_name; // 0x0 - float m_flWeight; // 0x8 + CUtlString m_name; // 0x0 + float m_flWeight; // 0x8 }; -// Aligment: 6 -// Size: 72 +// Alignment: 6 +// Size: 0x48 class CAnimBone { public: - CBufferString m_name; // 0x0 - int32_t m_parent; // 0x10 - Vector m_pos; // 0x14 - Quaternion m_quat; // 0x20 - Quaternion m_qAlignment; // 0x30 - int32_t m_flags; // 0x40 + CBufferString m_name; // 0x0 + int32_t m_parent; // 0x10 + Vector m_pos; // 0x14 + Quaternion m_quat; // 0x20 + Quaternion m_qAlignment; // 0x30 + int32_t m_flags; // 0x40 }; -// Aligment: 4 -// Size: 48 +// Alignment: 4 +// Size: 0x30 class CAnimRetargetChainData { public: - CBufferString m_sChainName; // 0x0 - int32_t m_nGroupType; // 0x10 - int32_t m_nChainType; // 0x14 - CUtlVector< int32 > m_nElement; // 0x18 + CBufferString m_sChainName; // 0x0 + int32_t m_nGroupType; // 0x10 + int32_t m_nChainType; // 0x14 + CUtlVector< int32 > m_nElement; // 0x18 }; -// Aligment: 6 -// Size: 352 -class CLookAtUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 6 +// Size: 0x160 +class CLookAtUpdateNode : public CUnaryUpdateNode { public: - LookAtOpFixedSettings_t m_opFixedSettings; // 0x70 - AnimVectorSource m_target; // 0x148 - CAnimParamHandle m_paramIndex; // 0x14c - CAnimParamHandle m_weightParamIndex; // 0x154 - bool m_bResetChild; // 0x15c - bool m_bLockWhenWaning; // 0x15d + LookAtOpFixedSettings_t m_opFixedSettings; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0140[0x8]; // 0x140 +public: + AnimVectorSource m_target; // 0x148 + CAnimParamHandle m_paramIndex; // 0x14c + CAnimParamHandle m_weightParamIndex; // 0x154 + bool m_bResetChild; // 0x15c + bool m_bLockWhenWaning; // 0x15d }; -// Aligment: 8 -// Size: 232 -class CHitReactUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 8 +// Size: 0xe8 +class CHitReactUpdateNode : public CUnaryUpdateNode { public: - HitReactFixedSettings_t m_opFixedSettings; // 0x68 - CAnimParamHandle m_triggerParam; // 0xb4 - CAnimParamHandle m_hitBoneParam; // 0xbc - CAnimParamHandle m_hitOffsetParam; // 0xc4 - CAnimParamHandle m_hitDirectionParam; // 0xcc - CAnimParamHandle m_hitStrengthParam; // 0xd4 - float m_flMinDelayBetweenHits; // 0xdc - bool m_bResetChild; // 0xe0 + HitReactFixedSettings_t m_opFixedSettings; // 0x68 +private: + [[maybe_unused]] uint8_t __pad00ac[0x8]; // 0xac +public: + CAnimParamHandle m_triggerParam; // 0xb4 + CAnimParamHandle m_hitBoneParam; // 0xbc + CAnimParamHandle m_hitOffsetParam; // 0xc4 + CAnimParamHandle m_hitDirectionParam; // 0xcc + CAnimParamHandle m_hitStrengthParam; // 0xd4 + float m_flMinDelayBetweenHits; // 0xdc + bool m_bResetChild; // 0xe0 }; -// Aligment: 1 -// Size: 168 -class CSkeletalInputUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0xa8 +class CSkeletalInputUpdateNode : public CLeafUpdateNode { public: - SkeletalInputOpFixedSettings_t m_fixedOpData; // 0x58 + SkeletalInputOpFixedSettings_t m_fixedOpData; // 0x58 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CFlexOp { public: - FlexOpCode_t m_OpCode; // 0x0 - int32_t m_Data; // 0x4 + FlexOpCode_t m_OpCode; // 0x0 + int32_t m_Data; // 0x4 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimScriptHandle { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 2 -// Size: 96 +// 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 }; -// Aligment: 3 -// Size: 72 +// Alignment: 3 +// Size: 0x48 class CAnimStateTransition { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimStateConditionBase > > m_conditions; // 0x28 + CUtlVector< CSmartPtr< CAnimStateConditionBase > > m_conditions; // 0x28 // MPropertyHideField - AnimStateID m_destState; // 0x40 + AnimStateID m_destState; // 0x40 // MPropertyFriendlyName "Disable" - bool m_bDisabled; // 0x44 + bool m_bDisabled; // 0x44 }; -// Aligment: 3 -// Size: 80 +// Alignment: 3 +// Size: 0x50 class CMotionClip { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x38 + CUtlString m_sequenceName; // 0x38 // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x40 + bool m_bLoop; // 0x40 }; -// Aligment: 6 -// Size: 368 -class CAimMatrixUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 6 +// Size: 0x170 +class CAimMatrixUpdateNode : public CUnaryUpdateNode { public: - AimMatrixOpFixedSettings_t m_opFixedSettings; // 0x70 - AnimVectorSource m_target; // 0x158 - CAnimParamHandle m_paramIndex; // 0x15c - HSequence m_hSequence; // 0x164 - bool m_bResetChild; // 0x168 - bool m_bLockWhenWaning; // 0x169 + AimMatrixOpFixedSettings_t m_opFixedSettings; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0150[0x8]; // 0x150 +public: + AnimVectorSource m_target; // 0x158 + CAnimParamHandle m_paramIndex; // 0x15c + HSequence m_hSequence; // 0x164 + bool m_bResetChild; // 0x168 + bool m_bLockWhenWaning; // 0x169 }; -// Aligment: 5 -// Size: 248 +// 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 }; -// Aligment: 13 -// Size: 288 +// Alignment: 13 +// Size: 0x120 class CSequenceGroupData { public: - CBufferString m_sName; // 0x10 - uint32_t m_nFlags; // 0x20 - CUtlVector< CBufferString > m_localSequenceNameArray; // 0x28 - CUtlVector< CSeqS1SeqDesc > m_localS1SeqDescArray; // 0x40 - CUtlVector< CSeqS1SeqDesc > m_localMultiSeqDescArray; // 0x58 - CUtlVector< CSeqSynthAnimDesc > m_localSynthAnimDescArray; // 0x70 - CUtlVector< CSeqCmdSeqDesc > m_localCmdSeqDescArray; // 0x88 - CUtlVector< CSeqBoneMaskList > m_localBoneMaskArray; // 0xa0 - CUtlVector< CBufferString > m_localBoneNameArray; // 0xb8 - CBufferString m_localNodeName; // 0xd0 - CUtlVector< CSeqPoseParamDesc > m_localPoseParamArray; // 0xe0 - KeyValues3 m_keyValues; // 0xf8 - CUtlVector< CSeqIKLock > m_localIKAutoplayLockArray; // 0x108 + 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< CBufferString > m_localBoneNameArray; // 0xb8 + CBufferString m_localNodeName; // 0xd0 + CUtlVector< CSeqPoseParamDesc > m_localPoseParamArray; // 0xe0 + KeyValues3 m_keyValues; // 0xf8 + CUtlVector< CSeqIKLock > m_localIKAutoplayLockArray; // 0x108 }; -// Aligment: 0 -// Size: 56 +// Alignment: 0 +// Size: 0x38 class CStaticPoseCacheBuilder : public CStaticPoseCache { public: -// + // no members available }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CAnimNodeConnection { public: - AnimNodeID m_nodeID; // 0x0 - AnimNodeOutputID m_outputID; // 0x4 + AnimNodeID m_nodeID; // 0x0 + AnimNodeOutputID m_outputID; // 0x4 }; -// Aligment: 23 -// Size: 688 +// Alignment: 23 +// Size: 0x2b0 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; // 0x218 - CUtlVector< uint16 > m_remappingTableStarts; // 0x230 - CUtlVector< ModelBoneFlexDriver_t > m_boneFlexDrivers; // 0x248 - CModelConfigList* m_pModelConfigList; // 0x260 - CUtlVector< CUtlString > m_BodyGroupsHiddenInTools; // 0x268 - CUtlVector< CStrongHandle< InfoForResourceTypeCModel > > m_refAnimIncludeModels; // 0x280 - CUtlVector< PermModelDataAnimatedMaterialAttribute_t > m_AnimatedMaterialAttributes; // 0x298 + 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; // 0x218 + CUtlVector< uint16 > m_remappingTableStarts; // 0x230 + CUtlVector< ModelBoneFlexDriver_t > m_boneFlexDrivers; // 0x248 + CModelConfigList* m_pModelConfigList; // 0x260 + CUtlVector< CUtlString > m_BodyGroupsHiddenInTools; // 0x268 + CUtlVector< CStrongHandle< InfoForResourceTypeCModel > > m_refAnimIncludeModels; // 0x280 + CUtlVector< PermModelDataAnimatedMaterialAttribute_t > m_AnimatedMaterialAttributes; // 0x298 }; -// Aligment: 2 -// Size: 96 +// Alignment: 2 +// Size: 0x60 class CQuaternionAnimParameter : public CAnimParameterBase { public: // MPropertyFriendlyName "Default Value" - Quaternion m_defaultValue; // 0x48 + Quaternion m_defaultValue; // 0x48 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x58 + bool m_bInterpolate; // 0x58 }; -// Aligment: 2 -// Size: 72 +// 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 }; -// Aligment: 9 -// Size: 120 +// Alignment: 9 +// Size: 0x78 class CVRInputComponentUpdater : public CAnimComponentUpdater { public: - CAnimParamHandle m_FingerCurl_Thumb; // 0x2c - CAnimParamHandle m_FingerCurl_Index; // 0x34 - CAnimParamHandle m_FingerCurl_Middle; // 0x3c - CAnimParamHandle m_FingerCurl_Ring; // 0x44 - CAnimParamHandle m_FingerCurl_Pinky; // 0x4c - CAnimParamHandle m_FingerSplay_Thumb_Index; // 0x54 - CAnimParamHandle m_FingerSplay_Index_Middle; // 0x5c - CAnimParamHandle m_FingerSplay_Middle_Ring; // 0x64 - CAnimParamHandle m_FingerSplay_Ring_Pinky; // 0x6c + CAnimParamHandle m_FingerCurl_Thumb; // 0x2c + CAnimParamHandle m_FingerCurl_Index; // 0x34 + CAnimParamHandle m_FingerCurl_Middle; // 0x3c + CAnimParamHandle m_FingerCurl_Ring; // 0x44 + CAnimParamHandle m_FingerCurl_Pinky; // 0x4c + CAnimParamHandle m_FingerSplay_Thumb_Index; // 0x54 + CAnimParamHandle m_FingerSplay_Index_Middle; // 0x5c + CAnimParamHandle m_FingerSplay_Middle_Ring; // 0x64 + CAnimParamHandle m_FingerSplay_Ring_Pinky; // 0x6c }; -// Aligment: 11 -// Size: 216 +// Alignment: 11 +// Size: 0xd8 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; // 0xd0 - bool m_bLockBlendOnReset; // 0xd4 - bool m_bSyncCycles; // 0xd5 - bool m_bLoop; // 0xd6 - bool m_bLockWhenWaning; // 0xd7 + 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 + CAnimInputDamping m_damping; // 0xb8 + BlendKeyType m_blendKeyType; // 0xd0 + bool m_bLockBlendOnReset; // 0xd4 + bool m_bSyncCycles; // 0xd5 + bool m_bLoop; // 0xd6 + bool m_bLockWhenWaning; // 0xd7 }; -// Aligment: 6 -// Size: 48 +// Alignment: 6 +// Size: 0x30 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 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 class CDampedValueUpdateItem { public: - CAnimInputDamping m_damping; // 0x0 - CAnimParamHandle m_hParamIn; // 0x20 - CAnimParamHandle m_hParamOut; // 0x28 + CAnimInputDamping m_damping; // 0x0 + CAnimParamHandle m_hParamIn; // 0x20 + CAnimParamHandle m_hParamOut; // 0x28 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class HSequence { public: - int32_t m_nBoxedTypeSafeInt; // 0x0 + int32_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 2 -// Size: 112 +// 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 }; -// Aligment: 3 -// Size: 16 +// Alignment: 3 +// Size: 0x10 class StateComparisonValue { public: - float m_fixedValue; // 0x0 - StateValue m_stateValue; // 0x4 - CAnimParamHandle m_paramIndex; // 0x8 + float m_fixedValue; // 0x0 + StateValue m_stateValue; // 0x4 + CAnimParamHandle m_paramIndex; // 0x8 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc class ClipSampleInfo { public: - ClipIndex m_clipIndex; // 0x0 - float m_clipCycle; // 0x4 - uint16_t m_clipSampleIndex; // 0x8 + ClipIndex m_clipIndex; // 0x0 + float m_clipCycle; // 0x4 + uint16_t m_clipSampleIndex; // 0x8 }; -// Aligment: 0 -// Size: 112 -class CParentConstraint : public CBaseConstraint, CBoneConstraintBase +// Alignment: 0 +// Size: 0x70 +class CParentConstraint : public CBaseConstraint { public: -// + // no members available }; -// Aligment: 0 -// Size: 56 -class CAnimActionBase +// Alignment: 1 +// Size: 0x40 +class CEmitTagAction : public CAnimActionBase { public: -// + // MPropertyFriendlyName "Tag" + // MPropertyAttributeChoiceName "Tag" + AnimTagID m_tag; // 0x28 }; -// Aligment: 5 -// Size: 40 +// Alignment: 5 +// Size: 0x28 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 }; -// Aligment: 5 -// Size: 40 +// Alignment: 5 +// Size: 0x28 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 }; -// Aligment: 7 -// Size: 64 +// Alignment: 7 +// Size: 0x40 class FootOpFixedInfo { 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 + 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 }; -// Aligment: 9 -// Size: 144 +// Alignment: 9 +// Size: 0x90 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 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CLODComponentUpdater : public CAnimComponentUpdater { public: - int32_t m_nServerLOD; // 0x28 + int32_t m_nServerLOD; // 0x28 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 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 }; -// Aligment: 8 -// Size: 112 -class CAnimState +// Alignment: 2 +// Size: 0x80 +class CAnimNodeState : public CAnimState { public: - // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimStateTransition > > m_transitions; // 0x28 - // MPropertySuppressField - 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" + bool m_bIsRootMotionExclusive; // 0x78 }; -// Aligment: 1 -// Size: 136 -class CJiggleBoneUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x88 +class CJiggleBoneUpdateNode : public CUnaryUpdateNode { public: - JiggleBoneSettingsList_t m_opFixedData; // 0x68 + JiggleBoneSettingsList_t m_opFixedData; // 0x68 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 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 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CModelConfigElement_RandomColor : public CModelConfigElement { public: - CColorGradient m_Gradient; // 0x48 + CColorGradient m_Gradient; // 0x48 }; -// Aligment: 6 -// Size: 20 +// Alignment: 6 +// Size: 0x14 class CAnimIKRuleStallFrame { public: - int16_t chain; // 0x0 - int16_t slot; // 0x2 - float start; // 0x4 - float peak; // 0x8 - float tail; // 0xc - float end; // 0x10 + int16_t chain; // 0x0 + int16_t slot; // 0x2 + float start; // 0x4 + float peak; // 0x8 + float tail; // 0xc + float end; // 0x10 }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CBoneVelocityMetricEvaluator : public CMotionMetricEvaluator { public: - int32_t m_nBoneIndex; // 0x50 + int32_t m_nBoneIndex; // 0x50 }; -// Aligment: 15 -// Size: 96 +// Alignment: 15 +// Size: 0x60 class FootLockPoseOpFixedSettings { public: - CUtlVector< FootOpFixedInfo > m_footInfo; // 0x0 - CAnimInputDamping m_hipDampingSettings; // 0x18 - int32_t m_nHipBoneIndex; // 0x30 - IKSolverType m_ikSolverType; // 0x34 - bool m_bApplyTilt; // 0x38 - bool m_bApplyHipDrop; // 0x39 - bool m_bAlwaysUseFallbackHinge; // 0x3a - float m_flMaxFootHeight; // 0x3c - float m_flExtensionScale; // 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< FootOpFixedInfo > m_footInfo; // 0x0 + CAnimInputDamping m_hipDampingSettings; // 0x18 + int32_t m_nHipBoneIndex; // 0x30 + IKSolverType m_ikSolverType; // 0x34 + bool m_bApplyTilt; // 0x38 + bool m_bApplyHipDrop; // 0x39 + bool m_bAlwaysUseFallbackHinge; // 0x3a +private: + [[maybe_unused]] uint8_t __pad003b[0x1]; // 0x3b +public: + float m_flMaxFootHeight; // 0x3c + float m_flExtensionScale; // 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 }; -// Aligment: 8 -// Size: 184 -class CJumpHelperUpdateNode : public CSequenceUpdateNode, CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 5 +// Size: 0x90 +class CSequenceUpdateNode : public CLeafUpdateNode { public: - CAnimParamHandle m_hTargetParam; // 0x90 - Vector m_flOriginalJumpMovement; // 0x98 - float m_flOriginalJumpDuration; // 0xa4 - float m_flJumpStartCycle; // 0xa8 - float m_flJumpEndCycle; // 0xac - JumpCorrectionMethod m_eCorrectionMethod; // 0xb0 - bool[3] m_bTranslationAxis; // 0xb4 - bool m_bScaleSpeed; // 0xb7 + CUtlVector< TagSpan_t > m_tags; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0078[0x4]; // 0x78 +public: + HSequence m_hSequence; // 0x7c + float m_playbackSpeed; // 0x80 + float m_duration; // 0x84 + bool m_bLoop; // 0x88 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct FingerSource_t { public: - AnimVRFinger_t m_nFingerIndex; // 0x0 - float m_flFingerWeight; // 0x4 + AnimVRFinger_t m_nFingerIndex; // 0x0 + float m_flFingerWeight; // 0x4 }; -// Aligment: 7 -// Size: 44 +// Alignment: 7 +// Size: 0x2c 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 }; -// Aligment: 1 -// Size: 48 -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 }; -// Aligment: 20 -// Size: 328 -class CFootLockUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 20 +// Size: 0x148 +class CFootLockUpdateNode : public CUnaryUpdateNode { public: - FootLockPoseOpFixedSettings m_opFixedSettings; // 0x68 - CUtlVector< FootFixedSettings > m_footSettings; // 0xd0 - CAnimInputDamping m_hipShiftDamping; // 0xe8 - CAnimInputDamping m_rootHeightDamping; // 0x100 - float m_flStrideCurveScale; // 0x118 - float m_flStrideCurveLimitScale; // 0x11c - float m_flStepHeightIncreaseScale; // 0x120 - float m_flStepHeightDecreaseScale; // 0x124 - float m_flHipShiftScale; // 0x128 - float m_flBlendTime; // 0x12c - float m_flMaxRootHeightOffset; // 0x130 - float m_flMinRootHeightOffset; // 0x134 - float m_flTiltPlanePitchSpringStrength; // 0x138 - float m_flTiltPlaneRollSpringStrength; // 0x13c - bool m_bApplyFootRotationLimits; // 0x140 - bool m_bApplyHipShift; // 0x141 - bool m_bModulateStepHeight; // 0x142 - bool m_bResetChild; // 0x143 - bool m_bEnableVerticalCurvedPaths; // 0x144 - bool m_bEnableRootHeightDamping; // 0x145 + 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; // 0x100 + float m_flStrideCurveScale; // 0x118 + float m_flStrideCurveLimitScale; // 0x11c + float m_flStepHeightIncreaseScale; // 0x120 + float m_flStepHeightDecreaseScale; // 0x124 + float m_flHipShiftScale; // 0x128 + float m_flBlendTime; // 0x12c + float m_flMaxRootHeightOffset; // 0x130 + float m_flMinRootHeightOffset; // 0x134 + float m_flTiltPlanePitchSpringStrength; // 0x138 + float m_flTiltPlaneRollSpringStrength; // 0x13c + bool m_bApplyFootRotationLimits; // 0x140 + bool m_bApplyHipShift; // 0x141 + bool m_bModulateStepHeight; // 0x142 + bool m_bResetChild; // 0x143 + bool m_bEnableVerticalCurvedPaths; // 0x144 + bool m_bEnableRootHeightDamping; // 0x145 }; -// Aligment: 3 -// Size: 112 +// Alignment: 3 +// Size: 0x70 class CCommentAnimNode : public CAnimNodeBase { public: // MPropertySuppressField - CUtlString m_commentText; // 0x48 + CUtlString m_commentText; // 0x48 // MPropertySuppressField - Vector2D m_size; // 0x50 + Vector2D m_size; // 0x50 // MPropertyFriendlyName "Color" - Color m_color; // 0x58 + Color m_color; // 0x58 }; -// Aligment: 4 -// Size: 120 +// 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 }; -// Aligment: 2 -// Size: 96 +// Alignment: 2 +// Size: 0x60 class CNodeBlend2DItem : public CBlend2DItemBase { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 + CAnimNodeConnection m_inputConnection; // 0x40 // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x48 + CUtlString m_name; // 0x48 }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 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 }; -// Aligment: 12 -// Size: 144 +// Alignment: 12 +// Size: 0x90 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 "Turn to Face Offset" // MPropertyAttributeRange "-180 180" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - float m_flTurnToFaceOffset; // 0x54 + float m_flTurnToFaceOffset; // 0x54 // MPropertyFriendlyName "Turn to Face Limit" // MPropertyAttributeRange "0 180" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - float m_flTurnToFaceLimit; // 0x58 + float m_flTurnToFaceLimit; // 0x58 // MPropertyFriendlyName "Face Direction" // MPropertyGroupName "Turn to Face" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_facingTarget; // 0x5c + AnimValueSource m_facingTarget; // 0x5c // MPropertyFriendlyName "Facing Parameter" // MPropertyGroupName "Turn to Face" // MPropertyAttributeChoiceName "FloatParameter" // MPropertyAttrStateCallback - AnimParamID m_param; // 0x60 + AnimParamID m_param; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0064[0x4]; // 0x64 +public: // MPropertyFriendlyName "Damping" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - CAnimInputDamping m_damping; // 0x68 + CAnimInputDamping m_damping; // 0x68 }; -// Aligment: 7 -// Size: 128 +// Alignment: 7 +// Size: 0x80 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 }; -// Aligment: 7 -// Size: 44 +// Alignment: 7 +// Size: 0x2c 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 }; -// Aligment: 9 -// Size: 96 +// Alignment: 9 +// Size: 0x60 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 }; -// Aligment: 2 -// Size: 88 +// 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 }; -// Aligment: 5 -// Size: 32 +// Alignment: 5 +// Size: 0x20 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 }; -// Aligment: 8 -// Size: 168 +// Alignment: 8 +// Size: 0xa8 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 __pad003c[0x4]; // 0x3c +public: // MKV3TransferName "audiosounds" - CPhysSurfacePropertiesSoundNames m_audioSounds; // 0x40 + CPhysSurfacePropertiesSoundNames m_audioSounds; // 0x40 // MKV3TransferName "audioparams" - CPhysSurfacePropertiesAudio m_audioParams; // 0x80 + CPhysSurfacePropertiesAudio m_audioParams; // 0x80 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CAnimUpdateNodeRef { public: - int32_t m_nodeIndex; // 0x8 + int32_t m_nodeIndex; // 0x8 }; -// Aligment: 2 -// Size: 136 +// Alignment: 2 +// Size: 0x88 class CStateMachineComponentUpdater : public CAnimComponentUpdater { public: - CAnimStateMachineUpdater m_stateMachine; // 0x28 - CUtlString m_sName; // 0x80 + CAnimStateMachineUpdater m_stateMachine; // 0x28 + CUtlString m_sName; // 0x80 }; -// Aligment: 8 -// Size: 168 +// Alignment: 8 +// Size: 0xa8 class CSelectorUpdateNode : public CAnimUpdateNodeBase { public: - CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 - CUtlVector< int8 > m_tags; // 0x70 - CBlendCurve m_blendCurve; // 0x8c - float m_flBlendTime; // 0x94 - CAnimParamHandle m_hParameter; // 0x98 - 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 + float m_flBlendTime; // 0x94 + CAnimParamHandle m_hParameter; // 0x98 + SelectorTagBehavior_t m_eTagBehavior; // 0xa0 + bool m_bResetOnChange; // 0xa4 + bool m_bSyncCyclesOnChange; // 0xa5 }; -// Aligment: 17 -// Size: 416 +// Alignment: 17 +// Size: 0x1a0 class CCompressorGroup { public: - int32_t m_nTotalElementCount; // 0x0 - CUtlVector< char* > m_szChannelClass; // 0x8 - CUtlVector< char* > m_szVariableName; // 0x20 - CUtlVector< fieldtype_t > m_nType; // 0x38 - CUtlVector< int32 > m_nFlags; // 0x50 - CUtlVector< CUtlString > m_szGrouping; // 0x68 - CUtlVector< int32 > m_nCompressorIndex; // 0x80 - CUtlVector< CUtlVector< char* > > m_szElementNames; // 0x98 - CUtlVector< CUtlVector< int32 > > m_nElementUniqueID; // 0xb0 - CUtlVector< uint32 > m_nElementMask; // 0xc8 - CUtlVector< CCompressor< Vector >* > m_vectorCompressor; // 0xf8 - CUtlVector< CCompressor< Quaternion >* > m_quaternionCompressor; // 0x110 - CUtlVector< CCompressor< int32 >* > m_intCompressor; // 0x128 - CUtlVector< CCompressor< bool >* > m_boolCompressor; // 0x140 - CUtlVector< CCompressor< Color >* > m_colorCompressor; // 0x158 - CUtlVector< CCompressor< Vector2D >* > m_vector2DCompressor; // 0x170 - CUtlVector< CCompressor< Vector4D >* > m_vector4DCompressor; // 0x188 + 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< Quaternion >* > m_quaternionCompressor; // 0x110 + CUtlVector< CCompressor< int32 >* > m_intCompressor; // 0x128 + CUtlVector< CCompressor< bool >* > m_boolCompressor; // 0x140 + CUtlVector< CCompressor< Color >* > m_colorCompressor; // 0x158 + CUtlVector< CCompressor< Vector2D >* > m_vector2DCompressor; // 0x170 + CUtlVector< CCompressor< Vector4D >* > m_vector4DCompressor; // 0x188 }; -// Aligment: 1 -// Size: 104 -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 }; -// Aligment: 3 -// Size: 88 +// Alignment: 3 +// Size: 0x58 class CAnimStateMachineUpdater { public: - CUtlVector< CStateUpdateData > m_states; // 0x8 - CUtlVector< CTransitionUpdateData > m_transitions; // 0x20 - int32_t m_startStateIndex; // 0x50 + CUtlVector< CStateUpdateData > m_states; // 0x8 + CUtlVector< CTransitionUpdateData > m_transitions; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 +public: + int32_t m_startStateIndex; // 0x50 }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 class CEmitTagActionUpdater : public CAnimActionUpdater { public: - int32_t m_nTagIndex; // 0x18 + int32_t m_nTagIndex; // 0x18 }; -// Aligment: 9 -// Size: 272 +// Alignment: 9 +// Size: 0x110 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 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CPathStatusConditionUpdater : public ConditionUpdater { public: - PathStatusOptions m_optionToCheck; // 0x10 - bool m_bComparisonValue; // 0x14 + PathStatusOptions m_optionToCheck; // 0x10 + bool m_bComparisonValue; // 0x14 }; -// Aligment: 5 -// Size: 56 +// Alignment: 5 +// Size: 0x38 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class CCycleBase { public: - float m_flCycle; // 0x0 + float m_flCycle; // 0x0 }; -// Aligment: 4 -// Size: 104 +// Alignment: 4 +// Size: 0x68 class CParticleAnimTag : public CAnimTagBase { public: // MPropertyAttributeEditor "AssetBrowse( vpcf )" // MPropertyFriendlyName "Particle System" - CUtlString m_particleSystemName; // 0x40 + CUtlString m_particleSystemName; // 0x40 // MPropertyFriendlyName "Configuration" - CUtlString m_configName; // 0x48 + CUtlString m_configName; // 0x48 // MPropertyFriendlyName "Stop on Tag End" - bool m_bStopWhenTagEnds; // 0x50 + bool m_bStopWhenTagEnds; // 0x50 // MPropertyFriendlyName "Tag End Stop is Instant" - bool m_bTagEndStopIsInstant; // 0x51 + bool m_bTagEndStopIsInstant; // 0x51 }; -// Aligment: 3 -// Size: 72 +// Alignment: 3 +// Size: 0x48 class CMotionClipGroup { public: // MPropertyHideField - CUtlVector< CSmartPtr< CMotionClip > > m_clips; // 0x20 + CUtlVector< CSmartPtr< CMotionClip > > m_clips; // 0x20 // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x38 + CUtlString m_name; // 0x38 // MPropertyFriendlyName "Enable On Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tagID; // 0x40 + AnimTagID m_tagID; // 0x40 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 class CCycleCondition : public CAnimStateConditionBase { public: - float m_comparisonValue; // 0x30 - int32_t m_comparisonValueType; // 0x34 - ControlValue m_comparisonControlValue; // 0x38 - AnimParamID m_comparisonParamID; // 0x3c + float m_comparisonValue; // 0x30 + int32_t m_comparisonValueType; // 0x34 + ControlValue m_comparisonControlValue; // 0x38 + AnimParamID m_comparisonParamID; // 0x3c }; -// Aligment: 0 -// Size: 24 -class CAnimActionUpdater +// Alignment: 2 +// Size: 0x20 +class CToggleComponentActionUpdater : public CAnimActionUpdater { public: -// + AnimComponentID m_componentID; // 0x18 + bool m_bSetEnabled; // 0x1c }; -// Aligment: 2 -// Size: 88 +// Alignment: 2 +// Size: 0x58 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 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CHitBoxSetList { public: - CUtlVector< CHitBoxSet > m_HitBoxSets; // 0x0 + CUtlVector< CHitBoxSet > m_HitBoxSets; // 0x0 }; -// Aligment: 2 -// Size: 72 +// 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 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CRagdollComponent : public CAnimComponentBase { public: - CUtlVector< CRigidBodyWeightList > m_weightLists; // 0x38 + CUtlVector< CRigidBodyWeightList > m_weightLists; // 0x38 }; -// Aligment: 10 -// Size: 240 -class CLeanMatrixUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 10 +// Size: 0xf0 +class CLeanMatrixUpdateNode : public CLeafUpdateNode { public: - int32[3][3] m_frameCorners; // 0x5c - StaticPoseCacheHandle[9] m_poses; // 0x80 - CAnimInputDamping m_damping; // 0xa8 - AnimVectorSource m_blendSource; // 0xc0 - CAnimParamHandle m_paramIndex; // 0xc4 - Vector m_verticalAxis; // 0xcc - Vector m_horizontalAxis; // 0xd8 - HSequence m_hSequence; // 0xe4 - float m_flMaxValue; // 0xe8 - int32_t m_nSequenceMaxFrame; // 0xec + int32_t m_frameCorners[3][3]; // 0x5c + StaticPoseCacheHandle m_poses[9]; // 0x80 +private: + [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 +public: + CAnimInputDamping m_damping; // 0xa8 + AnimVectorSource m_blendSource; // 0xc0 + CAnimParamHandle m_paramIndex; // 0xc4 + Vector m_verticalAxis; // 0xcc + Vector m_horizontalAxis; // 0xd8 + HSequence m_hSequence; // 0xe4 + float m_flMaxValue; // 0xe8 + int32_t m_nSequenceMaxFrame; // 0xec }; -// Aligment: 3 -// Size: 96 +// Alignment: 3 +// Size: 0x60 class CPostGraphIKChainBlendTag : public CAnimTagBase { public: // MPropertyFriendlyName "Chain Name" - CUtlString m_ChainName; // 0x40 + CUtlString m_ChainName; // 0x40 // MPropertyFriendlyName "Blend Amount on Enter" - float m_flBlendAmountOnEnter; // 0x48 + float m_flBlendAmountOnEnter; // 0x48 // MPropertyFriendlyName "Blend Amount on Exit" - float m_flBlendAmountOnExit; // 0x4c + float m_flBlendAmountOnExit; // 0x4c }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 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 }; -// Aligment: 12 -// Size: 208 +// Alignment: 12 +// Size: 0xd0 class CBlend2DUpdateNode : public CAnimUpdateNodeBase { public: - CUtlVector< BlendItem_t > m_items; // 0x60 - CUtlVector< int32 > m_nodeItemIndices; // 0x78 - CAnimInputDamping m_damping; // 0x90 - AnimValueSource m_blendSourceX; // 0xa8 - CAnimParamHandle m_paramX; // 0xac - AnimValueSource m_blendSourceY; // 0xb4 - CAnimParamHandle m_paramY; // 0xb8 - Blend2DMode m_eBlendMode; // 0xc0 - float m_playbackSpeed; // 0xc4 - bool m_bLoop; // 0xc8 - bool m_bLockBlendOnReset; // 0xc9 - bool m_bLockWhenWaning; // 0xca + CUtlVector< BlendItem_t > m_items; // 0x60 + CUtlVector< int32 > m_nodeItemIndices; // 0x78 + CAnimInputDamping m_damping; // 0x90 + AnimValueSource m_blendSourceX; // 0xa8 + CAnimParamHandle m_paramX; // 0xac + AnimValueSource m_blendSourceY; // 0xb4 + CAnimParamHandle m_paramY; // 0xb8 + Blend2DMode m_eBlendMode; // 0xc0 + float m_playbackSpeed; // 0xc4 + bool m_bLoop; // 0xc8 + bool m_bLockBlendOnReset; // 0xc9 + bool m_bLockWhenWaning; // 0xca }; -// Aligment: 3 -// Size: 40 -class CAnimComponentUpdater +// Alignment: 2 +// Size: 0x38 +class CAnimScriptComponentUpdater : public CAnimComponentUpdater { public: - AnimComponentID m_id; // 0x18 - AnimNodeNetworkMode m_networkMode; // 0x1c - bool m_bStartEnabled; // 0x20 + CUtlString m_sName; // 0x28 + AnimScriptHandle m_hScript; // 0x30 }; -// Aligment: 6 -// Size: 64 +// Alignment: 6 +// Size: 0x40 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 }; -// Aligment: 9 -// Size: 64 +// Alignment: 9 +// Size: 0x40 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 }; -// Aligment: 4 -// Size: 144 +// Alignment: 4 +// Size: 0x90 class CRagdollComponentUpdater : public CAnimComponentUpdater { public: - CUtlVector< CAnimNodePath > m_ragdollNodePaths; // 0x28 - CUtlVector< int32 > m_boneIndices; // 0x40 - CUtlVector< CUtlString > m_boneNames; // 0x58 - CUtlVector< WeightList > m_weightLists; // 0x70 + CUtlVector< CAnimNodePath > m_ragdollNodePaths; // 0x28 + CUtlVector< int32 > m_boneIndices; // 0x40 + CUtlVector< CUtlString > m_boneNames; // 0x58 + CUtlVector< WeightList > m_weightLists; // 0x70 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CAnimUser { public: - CBufferString m_name; // 0x0 - int32_t m_nType; // 0x10 + CBufferString m_name; // 0x0 + int32_t m_nType; // 0x10 }; -// Aligment: 6 -// Size: 112 +// Alignment: 6 +// Size: 0x70 class CConstraintTarget { public: - uint32_t m_nBoneHash; // 0x0 - float m_flWeight; // 0x4 - Vector m_vOffset; // 0x8 - Quaternion m_qOffset; // 0x14 - bool m_bIsAttachment; // 0x24 - CUtlString m_sName; // 0x28 + uint32_t m_nBoneHash; // 0x0 + float m_flWeight; // 0x4 + Vector m_vOffset; // 0x8 + Quaternion m_qOffset; // 0x14 + bool m_bIsAttachment; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0025[0x3]; // 0x25 +public: + CUtlString m_sName; // 0x28 }; -// Aligment: 0 -// Size: 72 +// Alignment: 0 +// Size: 0x48 class CInputStreamAnimNode : public CAnimNodeBase { public: -// + // no members available }; -// Aligment: 4 -// Size: 256 +// Alignment: 4 +// Size: 0x100 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 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CModelConfigElement_RandomPick : public CModelConfigElement { public: - CUtlVector< CUtlString > m_Choices; // 0x48 + CUtlVector< CUtlString > m_Choices; // 0x48 }; -// Aligment: 2 -// Size: 224 -class CSubGraphAnimNode : public CContainerAnimNodeBase, CAnimNodeBase +// Alignment: 2 +// Size: 0xe0 +class CSubGraphAnimNode : public CContainerAnimNodeBase { public: // MPropertyFriendlyName "SubGraph File" // MPropertyAttributeEditor "AssetBrowse( vsubgrph )" // MPropertyAttrChangeCallback - CUtlString m_subGraphFilename; // 0x90 + CUtlString m_subGraphFilename; // 0x90 // MPropertyHideField - CUtlHashtable< CUtlString, CUtlString > m_animNameMap; // 0x98 + CUtlHashtable< CUtlString, CUtlString > m_animNameMap; // 0x98 }; -// Aligment: 6 -// Size: 104 +// Alignment: 6 +// Size: 0x68 class CSlopeComponent : public CAnimComponentBase { public: // MPropertyHideField - AnimParamID m_slopeAngleID; // 0x40 + AnimParamID m_slopeAngleID; // 0x40 // MPropertyHideField - AnimParamID m_slopeHeadingID; // 0x44 + AnimParamID m_slopeHeadingID; // 0x44 // MPropertyHideField - AnimParamID m_slopeAngleSideID; // 0x48 + AnimParamID m_slopeAngleSideID; // 0x48 // MPropertyHideField - AnimParamID m_slopeAngleFrontID; // 0x4c + AnimParamID m_slopeAngleFrontID; // 0x4c // MPropertyHideField - AnimParamID m_slopeNormalID; // 0x50 + AnimParamID m_slopeNormalID; // 0x50 // MPropertyHideField - AnimParamID m_slopeNormal_WorldSpaceID; // 0x54 + AnimParamID m_slopeNormal_WorldSpaceID; // 0x54 }; -// Aligment: 5 -// Size: 168 +// Alignment: 5 +// Size: 0xa8 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 + 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 }; -// Aligment: 5 -// Size: 104 +// Alignment: 5 +// Size: 0x68 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 }; -// Aligment: 6 -// Size: 64 +// Alignment: 6 +// Size: 0x40 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 }; -// Aligment: 4 -// Size: 112 -class CBaseConstraint : public CBoneConstraintBase +// Alignment: 0 +// Size: 0x70 +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 }; -// Aligment: 1 -// Size: 64 +// Alignment: 1 +// Size: 0x40 class CDampedValueComponentUpdater : public CAnimComponentUpdater { public: - CUtlVector< CDampedValueUpdateItem > m_items; // 0x28 + CUtlVector< CDampedValueUpdateItem > m_items; // 0x28 }; -// Aligment: 2 -// Size: 120 -class CCycleControlUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x78 +class CCycleControlUpdateNode : public CUnaryUpdateNode { public: - AnimValueSource m_valueSource; // 0x68 - CAnimParamHandle m_paramIndex; // 0x6c + AnimValueSource m_valueSource; // 0x68 + CAnimParamHandle m_paramIndex; // 0x6c }; -// Aligment: 3 -// Size: 64 +// 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 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CGroundConditionUpdater : public ConditionUpdater { public: - Comparison_t m_comparisonOperation; // 0x10 - bool m_bComparisonValue; // 0x14 + Comparison_t m_comparisonOperation; // 0x10 + bool m_bComparisonValue; // 0x14 }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 class CExpressionActionUpdater : public CAnimActionUpdater { public: - AnimScriptHandle m_hScript; // 0x18 + AnimScriptHandle m_hScript; // 0x18 }; -// Aligment: 4 -// Size: 368 +// Alignment: 4 +// Size: 0x170 class CAnimationGraph : public CAnimationSubGraph { public: - CSmartPtr< CAnimGraphSettingsManager > m_pSettingsManager; // 0xf8 - CAnimClipDataManager m_clipDataManager; // 0x108 - CUtlString m_modelName; // 0x150 - CUtlString m_previewModelName; // 0x158 + CSmartPtr< CAnimGraphSettingsManager > m_pSettingsManager; // 0xf8 +private: + [[maybe_unused]] uint8_t __pad0100[0x8]; // 0x100 +public: + CAnimClipDataManager m_clipDataManager; // 0x108 +private: + [[maybe_unused]] uint8_t __pad0140[0x10]; // 0x140 +public: + CUtlString m_modelName; // 0x150 + CUtlString m_previewModelName; // 0x158 }; -// Aligment: 7 -// Size: 48 +// Alignment: 7 +// Size: 0x30 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 }; -// Aligment: 10 -// Size: 184 +// 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 }; -// Aligment: 1 -// Size: 64 +// Alignment: 1 +// Size: 0x40 class CFootCycleMetric : public CMotionMetricBase { public: // MPropertyFriendlyName "Foot" // MPropertyAttributeChoiceName "Foot" // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 + CUtlVector< CUtlString > m_feet; // 0x28 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 class CMotionDataSet { public: - CUtlVector< CMotionClipGroupData > m_clipGroups; // 0x0 - int32_t m_nDimensionCount; // 0x18 + CUtlVector< CMotionClipGroupData > m_clipGroups; // 0x0 + int32_t m_nDimensionCount; // 0x18 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct PermModelDataAnimatedMaterialAttribute_t { public: - CUtlString m_AttributeName; // 0x0 - int32_t m_nNumChannels; // 0x8 + CUtlString m_AttributeName; // 0x0 + int32_t m_nNumChannels; // 0x8 }; -// Aligment: 4 -// Size: 88 +// Alignment: 4 +// Size: 0x58 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 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc 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 }; -// Aligment: 2 -// Size: 120 +// Alignment: 2 +// Size: 0x78 class CSolveIKChainAnimNode : public CAnimNodeBase { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x48 + CAnimNodeConnection m_inputConnection; // 0x48 // MPropertyFriendlyName "IK Chains" // MPropertyAutoExpandSelf - CUtlVector< CSolveIKChainAnimNodeChainData > m_IkChains; // 0x50 + CUtlVector< CSolveIKChainAnimNodeChainData > m_IkChains; // 0x50 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 class CCycleConditionUpdater : public ConditionUpdater { public: - CompValues m_comparisonValue; // 0x10 - ComparisonValueType m_comparisonValueType; // 0x20 - Comparison_t m_operation; // 0x24 + CompValues m_comparisonValue; // 0x10 + ComparisonValueType m_comparisonValueType; // 0x20 + Comparison_t m_operation; // 0x24 }; -// Aligment: 14 -// Size: 160 +// Alignment: 14 +// Size: 0xa0 class CLookAtAnimNode : public CAnimNodeBase { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Target" - AnimVectorSource m_target; // 0x40 + AnimVectorSource m_target; // 0x40 // MPropertyFriendlyName "Target Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_param; // 0x44 + AnimParamID m_param; // 0x44 // MPropertyFriendlyName "Weight Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_weightParam; // 0x48 + AnimParamID m_weightParam; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: // 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 "Yaw Limit" // MPropertyAttributeRange "0 180" - float m_flYawLimit; // 0x60 + float m_flYawLimit; // 0x60 // MPropertyFriendlyName "Pitch Limit" // MPropertyAttributeRange "0 180" - float m_flPitchLimit; // 0x64 + float m_flPitchLimit; // 0x64 // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0x68 + bool m_bResetBase; // 0x68 // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x69 + bool m_bLockWhenWaning; // 0x69 // MPropertyFriendlyName "Use Hysteresis" // MPropertyGroupName "Hysteresis" - bool m_bUseHysteresis; // 0x6a + bool m_bUseHysteresis; // 0x6a +private: + [[maybe_unused]] uint8_t __pad006b[0x1]; // 0x6b +public: // MPropertyFriendlyName "Inner Angle" // MPropertyGroupName "Hysteresis" - float m_flHysteresisInnerAngle; // 0x6c + float m_flHysteresisInnerAngle; // 0x6c // MPropertyFriendlyName "Outer Angle" // MPropertyGroupName "Hysteresis" - float m_flHysteresisOuterAngle; // 0x70 + float m_flHysteresisOuterAngle; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0074[0x4]; // 0x74 +public: // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x78 + CAnimInputDamping m_damping; // 0x78 }; -// Aligment: 2 -// Size: 56 +// Alignment: 2 +// Size: 0x38 class CTagCondition : public CAnimStateConditionBase { public: // MPropertyFriendlyName "Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tagID; // 0x30 + AnimTagID m_tagID; // 0x30 // MPropertyFriendlyName "Value" - bool m_comparisonValue; // 0x34 + bool m_comparisonValue; // 0x34 }; -// Aligment: 6 -// Size: 144 +// Alignment: 6 +// Size: 0x90 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< Quaternion > m_boneRotParent; // 0x78 + 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< Quaternion > m_boneRotParent; // 0x78 }; -// Aligment: 14 -// Size: 112 +// Alignment: 14 +// Size: 0x70 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 }; -// Aligment: 0 -// Size: 72 +// Alignment: 0 +// Size: 0x48 class CAnimComponentStateTransition : public CAnimStateTransition { public: -// + // no members available }; -// Aligment: 1 -// Size: 104 +// Alignment: 1 +// Size: 0x68 class CFootCycleMetricEvaluator : public CMotionMetricEvaluator { public: - CUtlVector< int32 > m_footIndices; // 0x50 + CUtlVector< int32 > m_footIndices; // 0x50 }; -// Aligment: 0 -// Size: 112 +// Alignment: 0 +// Size: 0x70 class CAnimComponentState : public CAnimState { public: -// + // no members available }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 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 }; -// Aligment: 2 -// Size: 104 +// Alignment: 2 +// Size: 0x68 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 }; -// Aligment: 2 -// Size: 88 +// Alignment: 2 +// Size: 0x58 class CRagdollAnimNode : public CAnimNodeBase { public: // MPropertyFriendlyName "WeightList" - CUtlString m_weightListName; // 0x38 + CUtlString m_weightListName; // 0x38 // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 + CAnimNodeConnection m_inputConnection; // 0x40 }; -// Aligment: 6 -// Size: 112 +// Alignment: 6 +// Size: 0x70 class CAnimNodeStateTransition : public CAnimStateTransition { public: // MPropertyFriendlyName "Blend Duration" - float m_blendDuration; // 0x50 + float m_blendDuration; // 0x50 // MPropertyFriendlyName "Reset Destination" - bool m_bReset; // 0x54 + bool m_bReset; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 +public: // MPropertyFriendlyName "Start Cycle At" - ResetCycleOption m_resetCycleOption; // 0x58 + ResetCycleOption m_resetCycleOption; // 0x58 // MPropertyFriendlyName "Fixed Start Cycle Value" // MPropertyAttributeRange "0 1" - float m_flFixedCycleValue; // 0x5c + float m_flFixedCycleValue; // 0x5c // MPropertySuppressField - CBlendCurve m_blendCurve; // 0x60 + CBlendCurve m_blendCurve; // 0x60 // MPropertyFriendlyName "Park Feet" - bool m_bForceFootPlant; // 0x68 + bool m_bForceFootPlant; // 0x68 }; -// Aligment: 2 -// Size: 112 +// 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 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 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 }; -// Aligment: 14 -// Size: 208 +// Alignment: 14 +// Size: 0xd0 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 - int32_t m_nStartInstance; // 0x14 - int32_t m_nInstanceCount; // 0x18 - float m_flUvDensity; // 0x1c - Vector m_vTintColor; // 0x20 - float m_flAlpha; // 0x2c - int16_t m_CullDataIndex; // 0x36 - int32_t m_nMeshID; // 0x38 - CRenderBufferBinding m_indexBuffer; // 0xa8 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_material; // 0xc8 + 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 + int32_t m_nStartInstance; // 0x14 + int32_t m_nInstanceCount; // 0x18 + float m_flUvDensity; // 0x1c + Vector m_vTintColor; // 0x20 + float m_flAlpha; // 0x2c +private: + [[maybe_unused]] uint8_t __pad0030[0x6]; // 0x30 +public: + int16_t m_CullDataIndex; // 0x36 + int32_t m_nMeshID; // 0x38 +private: + [[maybe_unused]] uint8_t __pad003c[0x6c]; // 0x3c +public: + CRenderBufferBinding m_indexBuffer; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00b8[0x10]; // 0xb8 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_material; // 0xc8 }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CFootFallAnimTag : public CAnimTagBase { public: // MPropertyFriendlyName "Foot" - FootFallTagFoot_t m_foot; // 0x40 + FootFallTagFoot_t m_foot; // 0x40 }; -// Aligment: 2 -// Size: 136 -class CAimConstraint : public CBaseConstraint, CBoneConstraintBase +// Alignment: 2 +// Size: 0x88 +class CAimConstraint : public CBaseConstraint { public: - Quaternion m_qAimOffset; // 0x70 - uint32_t m_nUpType; // 0x80 + Quaternion m_qAimOffset; // 0x70 + uint32_t m_nUpType; // 0x80 }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CAnimComponentManager { public: - CUtlVector< CSmartPtr< CAnimComponentBase > > m_components; // 0x8 + CUtlVector< CSmartPtr< CAnimComponentBase > > m_components; // 0x8 }; -// Aligment: 0 -// Size: 112 -class CChoreoUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 0 +// Size: 0x70 +class CChoreoUpdateNode : public CUnaryUpdateNode { public: -// + // no members available }; -// Aligment: 9 -// Size: 168 -class CFootAdjustmentUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 9 +// Size: 0xa8 +class CFootAdjustmentUpdateNode : public CUnaryUpdateNode { public: - CUtlVector< HSequence > m_clips; // 0x70 - StaticPoseCacheHandle m_hBasePoseCacheHandle; // 0x88 - CAnimParamHandle m_facingTarget; // 0x8c - float m_flTurnTimeMin; // 0x94 - float m_flTurnTimeMax; // 0x98 - float m_flStepHeightMax; // 0x9c - float m_flStepHeightMaxAngle; // 0xa0 - bool m_bResetChild; // 0xa4 - bool m_bAnimationDriven; // 0xa5 + CUtlVector< HSequence > m_clips; // 0x70 + StaticPoseCacheHandle m_hBasePoseCacheHandle; // 0x88 + CAnimParamHandle m_facingTarget; // 0x8c + float m_flTurnTimeMin; // 0x94 + float m_flTurnTimeMax; // 0x98 + float m_flStepHeightMax; // 0x9c + float m_flStepHeightMaxAngle; // 0xa0 + bool m_bResetChild; // 0xa4 + bool m_bAnimationDriven; // 0xa5 }; -// Aligment: 6 -// Size: 104 +// Alignment: 6 +// Size: 0x68 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_lookPitchID; // 0x48 + AnimParamID m_lookPitchID; // 0x48 // MPropertyHideField - AnimParamID m_lookDirectionID; // 0x4c + AnimParamID m_lookDirectionID; // 0x4c // MPropertyHideField - AnimParamID m_lookTargetID; // 0x50 + AnimParamID m_lookTargetID; // 0x50 // MPropertyHideField - AnimParamID m_lookTargetWorldSpaceID; // 0x54 + AnimParamID m_lookTargetWorldSpaceID; // 0x54 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CModelConfigElement_UserPick : public CModelConfigElement { public: - CUtlVector< CUtlString > m_Choices; // 0x48 + CUtlVector< CUtlString > m_Choices; // 0x48 }; -// Aligment: 4 -// Size: 56 +// Alignment: 4 +// Size: 0x38 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 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 struct MaterialGroup_t { public: - CUtlString m_name; // 0x0 - CUtlVector< CStrongHandle< InfoForResourceTypeIMaterial2 > > m_materials; // 0x8 + CUtlString m_name; // 0x0 + CUtlVector< CStrongHandle< InfoForResourceTypeIMaterial2 > > m_materials; // 0x8 }; -// Aligment: 2 -// Size: 40 -class CAnimMotorBase +// 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" + // MPropertyAttrChangeCallback + bool m_bUseAcceleration; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: + // MPropertyFriendlyName "Spring Constant" + // MPropertyAttrStateCallback + float m_flSpringConstant; // 0x44 + // MPropertyFriendlyName "Anticipation Distance" + float m_flAnticipationDistance; // 0x48 + // MPropertyFriendlyName "Anticipation Position Parameter" + // MPropertyAttributeChoiceName "VectorParameter" + AnimParamID m_anticipationPosParam; // 0x4c + // MPropertyFriendlyName "Anticipation Heading Parameter" + // MPropertyAttributeChoiceName "FloatParameter" + AnimParamID m_anticipationHeadingParam; // 0x50 }; -// Aligment: 2 -// Size: 112 -class CPathHelperUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x70 +class CPathHelperUpdateNode : public CUnaryUpdateNode { public: - float m_flStoppingRadius; // 0x68 - float m_flStoppingSpeedScale; // 0x6c + float m_flStoppingRadius; // 0x68 + float m_flStoppingSpeedScale; // 0x6c }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CAnimTagManager { public: - CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 + CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CModelConfigElement_SetMaterialGroupOnAttachedModels : public CModelConfigElement { public: - CUtlString m_MaterialGroupName; // 0x48 + CUtlString m_MaterialGroupName; // 0x48 }; -// Aligment: 6 -// Size: 48 +// Alignment: 6 +// Size: 0x30 class ClipInfo { public: - CUtlVector< TagSpan_t > m_tags; // 0x0 - HSequence m_hSequence; // 0x18 - float m_flDuration; // 0x1c - int32_t m_nFirstSampleIndex; // 0x20 - int32_t m_nSampleCount; // 0x24 - bool m_bLoop; // 0x28 + CUtlVector< TagSpan_t > m_tags; // 0x0 + HSequence m_hSequence; // 0x18 + float m_flDuration; // 0x1c + int32_t m_nFirstSampleIndex; // 0x20 + int32_t m_nSampleCount; // 0x24 + bool m_bLoop; // 0x28 }; -// Aligment: 7 -// Size: 80 -class CDampedPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase, CAnimMotorUpdaterBase +// Alignment: 7 +// Size: 0x50 +class CDampedPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase { public: - float m_flAnticipationTime; // 0x2c - float m_flMinSpeedScale; // 0x30 - CAnimParamHandle m_hAnticipationPosParam; // 0x34 - CAnimParamHandle m_hAnticipationHeadingParam; // 0x3c - float m_flSpringConstant; // 0x44 - float m_flMinSpringTension; // 0x48 - float m_flMaxSpringTension; // 0x4c + float m_flAnticipationTime; // 0x2c + float m_flMinSpeedScale; // 0x30 + CAnimParamHandle m_hAnticipationPosParam; // 0x34 + CAnimParamHandle m_hAnticipationHeadingParam; // 0x3c + float m_flSpringConstant; // 0x44 + float m_flMinSpringTension; // 0x48 + float m_flMaxSpringTension; // 0x4c }; -// Aligment: 1 -// Size: 64 +// Alignment: 1 +// Size: 0x40 class CActionComponentUpdater : public CAnimComponentUpdater { public: - CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x28 + CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x28 }; -// Aligment: 0 -// Size: 4 +// Alignment: 0 +// Size: 0x4 class CAnimCycle : public CCycleBase { public: -// + // no members available }; -// Aligment: 5 -// Size: 48 +// Alignment: 5 +// Size: 0x30 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 }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CAnimStateMachine { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimState > > m_states; // 0x8 + CUtlVector< CSmartPtr< CAnimState > > m_states; // 0x8 }; -// Aligment: 6 -// Size: 120 +// Alignment: 6 +// Size: 0x78 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 }; -// Aligment: 2 -// Size: 56 +// Alignment: 2 +// Size: 0x38 class CPathStatusCondition : public CAnimStateConditionBase { public: - PathStatusOptions m_optionToCheck; // 0x30 - bool m_bComparisonValue; // 0x34 + PathStatusOptions m_optionToCheck; // 0x30 + bool m_bComparisonValue; // 0x34 }; -// Aligment: 5 -// Size: 152 -class CStopAtGoalUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 5 +// Size: 0x98 +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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class StaticPoseCacheHandle { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct VPhysXRange_t { public: - float m_flMin; // 0x0 - float m_flMax; // 0x4 + float m_flMin; // 0x0 + float m_flMax; // 0x4 }; -// Aligment: 3 -// Size: 16 +// Alignment: 3 +// Size: 0x10 class CompValues { public: - float m_fixedValue; // 0x0 - ControlValue m_controlValue; // 0x4 - CAnimParamHandle m_paramIndex; // 0x8 + float m_fixedValue; // 0x0 + ControlValue m_controlValue; // 0x4 + CAnimParamHandle m_paramIndex; // 0x8 }; -// Aligment: 4 -// Size: 48 +// Alignment: 4 +// Size: 0x30 class CStateStatusConditionUpdater : public ConditionUpdater { public: - StateComparisonValue m_comparisonValue; // 0x10 - StateValue m_sourceValue; // 0x20 - ComparisonValueType m_comparisonValueType; // 0x24 - Comparison_t m_operation; // 0x28 + StateComparisonValue m_comparisonValue; // 0x10 + StateValue m_sourceValue; // 0x20 + ComparisonValueType m_comparisonValueType; // 0x24 + Comparison_t m_operation; // 0x28 }; -// Aligment: 6 -// Size: 6 +// Alignment: 6 +// Size: 0x6 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 }; -// Aligment: 16 -// Size: 312 +// Alignment: 16 +// Size: 0x138 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimComponentID { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 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 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CFacingHeadingCondition : public CAnimStateConditionBase { public: // MPropertyFriendlyName "Comparison Value" - float m_comparisonValue; // 0x30 + float m_comparisonValue; // 0x30 }; -// Aligment: 2 -// Size: 72 +// Alignment: 2 +// Size: 0x48 class CParameterAnimCondition : public CAnimStateConditionBase { public: // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "Parameter" - AnimParamID m_paramID; // 0x30 + AnimParamID m_paramID; // 0x30 // MPropertyFriendlyName "Comparison Value" - CAnimVariant m_comparisonValue; // 0x34 + CAnimVariant m_comparisonValue; // 0x34 }; -// Aligment: 10 -// Size: 64 +// Alignment: 10 +// Size: 0x40 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 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 0 -// Size: 48 -class CPathAnimMotor : public CPathAnimMotorBase, CAnimMotorBase +// Alignment: 0 +// Size: 0x30 +class CPathAnimMotor : public CPathAnimMotorBase { public: -// + // no members available }; -// Aligment: 5 -// Size: 112 +// Alignment: 5 +// Size: 0x70 class CScriptModule { public: - CUtlString m_moduleName; // 0x10 - CUtlString m_entryFunctionSignature; // 0x18 - CAnimNodePath m_nodePath; // 0x20 - AnimComponentID m_componentID; // 0x50 - CUtlVector< char > m_byteCode; // 0x58 + CUtlString m_moduleName; // 0x10 + CUtlString m_entryFunctionSignature; // 0x18 + CAnimNodePath m_nodePath; // 0x20 + AnimComponentID m_componentID; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 +public: + CUtlVector< char > m_byteCode; // 0x58 }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CAnimNodeList { public: - CUtlVector< CAnimNodeBase* > m_nodes; // 0x10 + CUtlVector< CAnimNodeBase* > m_nodes; // 0x10 }; -// Aligment: 4 -// Size: 144 +// Alignment: 4 +// Size: 0x90 class CSequenceAnimNode : public CAnimNodeBase { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x58 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x58 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x70 + CUtlString m_sequenceName; // 0x70 // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0x78 + float m_playbackSpeed; // 0x78 // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x7c + bool m_bLoop; // 0x7c }; -// Aligment: 2 -// Size: 72 -class CModelConfigElement +// 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 }; -// Aligment: 36 -// Size: 304 +// Alignment: 36 +// Size: 0x130 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 +private: + [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d +public: // MPropertyFriendlyName "Curve Foot Paths" // MPropertyGroupName "Curve Paths" // MPropertyAttributeRange "0 1" - float m_flStrideCurveScale; // 0x70 + float m_flStrideCurveScale; // 0x70 // MPropertyFriendlyName "Curve Paths Limit" // MPropertyGroupName "Curve Paths" // MPropertyAttributeRange "0 1" - float m_flStrideCurveLimitScale; // 0x74 + float m_flStrideCurveLimitScale; // 0x74 // MPropertyFriendlyName "Enable Vertical Curved Paths" // MPropertyGroupName "Curve Paths" - bool m_bEnableVerticalCurvedPaths; // 0x78 + bool m_bEnableVerticalCurvedPaths; // 0x78 // MPropertyFriendlyName "Modulate Step Height" // MPropertyGroupName "Step Height" // MPropertyAttrChangeCallback - bool m_bModulateStepHeight; // 0x79 + bool m_bModulateStepHeight; // 0x79 +private: + [[maybe_unused]] uint8_t __pad007a[0x2]; // 0x7a +public: // MPropertyFriendlyName "Height Increase Scale" // MPropertyGroupName "Step Height" // MPropertyAttrStateCallback - float m_flStepHeightIncreaseScale; // 0x7c + float m_flStepHeightIncreaseScale; // 0x7c // MPropertyFriendlyName "Height Decrease Scale" // MPropertyGroupName "Step Height" // MPropertyAttrStateCallback - float m_flStepHeightDecreaseScale; // 0x80 + float m_flStepHeightDecreaseScale; // 0x80 // MPropertyFriendlyName "Enable Hip Shift" // MPropertyGroupName "Hip Shift" - bool m_bEnableHipShift; // 0x84 + bool m_bEnableHipShift; // 0x84 +private: + [[maybe_unused]] uint8_t __pad0085[0x3]; // 0x85 +public: // MPropertyFriendlyName "Hip Shift Scale" // MPropertyGroupName "Hip Shift" // MPropertyAttributeRange "0 1" - float m_flHipShiftScale; // 0x88 + float m_flHipShiftScale; // 0x88 +private: + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c +public: // MPropertyFriendlyName "Damping" // MPropertyGroupName "Hip Shift" - CAnimInputDamping m_hipShiftDamping; // 0x90 + CAnimInputDamping m_hipShiftDamping; // 0x90 // MPropertyFriendlyName "Apply Tilt" // MPropertyGroupName "Tilt" - bool m_bApplyTilt; // 0xa8 + bool m_bApplyTilt; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00a9[0x3]; // 0xa9 +public: // MPropertyFriendlyName "Tilt Plane Pitch Spring Strength" // MPropertyGroupName "Tilt" - float m_flTiltPlanePitchSpringStrength; // 0xac + float m_flTiltPlanePitchSpringStrength; // 0xac // MPropertyFriendlyName "Tilt Plane Roll Spring Strength" // MPropertyGroupName "Tilt" - float m_flTiltPlaneRollSpringStrength; // 0xb0 + float m_flTiltPlaneRollSpringStrength; // 0xb0 // MPropertyFriendlyName "Enable Lock Breaking" // MPropertyGroupName "Lock Breaking" - bool m_bEnableLockBreaking; // 0xb4 + bool m_bEnableLockBreaking; // 0xb4 +private: + [[maybe_unused]] uint8_t __pad00b5[0x3]; // 0xb5 +public: // MPropertyFriendlyName "Tolerance" // MPropertyGroupName "Lock Breaking" - float m_flLockBreakTolerance; // 0xb8 + float m_flLockBreakTolerance; // 0xb8 // MPropertyFriendlyName "Blend Time" // MPropertyGroupName "Lock Breaking" - float m_flLockBreakBlendTime; // 0xbc + float m_flLockBreakBlendTime; // 0xbc // MPropertyFriendlyName "Enable Stretching" // MPropertyGroupName "Stretch" - bool m_bEnableStretching; // 0xc0 + bool m_bEnableStretching; // 0xc0 +private: + [[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1 +public: // MPropertyFriendlyName "Max Stretch Amount" // MPropertyGroupName "Stretch" - float m_flMaxStretchAmount; // 0xc4 + float m_flMaxStretchAmount; // 0xc4 // MPropertyFriendlyName "Extension Scale" // MPropertyGroupName "Stretch" // MPropertyAttributeRange "0 1" - float m_flStretchExtensionScale; // 0xc8 + float m_flStretchExtensionScale; // 0xc8 // MPropertyFriendlyName "Enable Ground Tracing" // MPropertyGroupName "Ground IK" // MPropertyAttrChangeCallback - bool m_bEnableGroundTracing; // 0xcc + bool m_bEnableGroundTracing; // 0xcc +private: + [[maybe_unused]] uint8_t __pad00cd[0x3]; // 0xcd +public: // MPropertyFriendlyName "Angle Traces with Slope" // MPropertyGroupName "Ground IK" // MPropertyAttributeRange "0 1" // MPropertyAttrStateCallback - float m_flTraceAngleBlend; // 0xd0 + float m_flTraceAngleBlend; // 0xd0 // MPropertyFriendlyName "Apply Hip Drop" // MPropertyGroupName "Ground IK" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - bool m_bApplyHipDrop; // 0xd4 + bool m_bApplyHipDrop; // 0xd4 +private: + [[maybe_unused]] uint8_t __pad00d5[0x3]; // 0xd5 +public: // MPropertyFriendlyName "Max Foot Lift" // MPropertyGroupName "Ground IK" // MPropertyAttrStateCallback - float m_flMaxFootHeight; // 0xd8 + float m_flMaxFootHeight; // 0xd8 // MPropertyFriendlyName "Leg Extension Scale" // MPropertyGroupName "Ground IK" // MPropertyAttrStateCallback - float m_flExtensionScale; // 0xdc + float m_flExtensionScale; // 0xdc // MPropertyFriendlyName "Hip Damping" // MPropertyGroupName "Ground IK" // MPropertyAttrStateCallback - CAnimInputDamping m_hipDampingSettings; // 0xe0 + CAnimInputDamping m_hipDampingSettings; // 0xe0 // MPropertyFriendlyName "Enable Root Height Damping" // MPropertyGroupName "Root Height Damping" // MPropertyAttrChangeCallback - bool m_bEnableRootHeightDamping; // 0xf8 + bool m_bEnableRootHeightDamping; // 0xf8 +private: + [[maybe_unused]] uint8_t __pad00f9[0x7]; // 0xf9 +public: // MPropertyFriendlyName "Damping Settings" // MPropertyGroupName "Root Height Damping" // MPropertyAttrStateCallback - CAnimInputDamping m_rootHeightDamping; // 0x100 + CAnimInputDamping m_rootHeightDamping; // 0x100 // MPropertyFriendlyName "Max Offset" // MPropertyGroupName "Root Height Damping" // MPropertyAttrStateCallback - float m_flMaxRootHeightOffset; // 0x118 + float m_flMaxRootHeightOffset; // 0x118 // MPropertyFriendlyName "Min Offset" // MPropertyGroupName "Root Height Damping" // MPropertyAttrStateCallback - float m_flMinRootHeightOffset; // 0x11c + float m_flMinRootHeightOffset; // 0x11c }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 class CTimeCondition : public CAnimStateConditionBase { public: - int32_t m_comparisonValueType; // 0x30 - float m_comparisonValue; // 0x34 - ControlValue m_comparisonControlValue; // 0x38 - AnimParamID m_comparisonParamID; // 0x3c + int32_t m_comparisonValueType; // 0x30 + float m_comparisonValue; // 0x34 + ControlValue m_comparisonControlValue; // 0x38 + AnimParamID m_comparisonParamID; // 0x3c }; -// Aligment: 4 -// Size: 96 +// 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 }; -// Aligment: 2 -// Size: 112 +// Alignment: 2 +// Size: 0x70 class CSingleFrameAnimNode : public CAnimNodeBase { public: // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x50 + CUtlString m_sequenceName; // 0x50 // MPropertyFriendlyName "Frame" - int32_t m_nFrameIndex; // 0x58 + int32_t m_nFrameIndex; // 0x58 }; -// Aligment: 6 -// Size: 20 +// Alignment: 6 +// Size: 0x14 class CStateNodeTransitionData { public: - CBlendCurve m_curve; // 0x0 - float m_blendDuration; // 0x8 - float m_resetCycleValue; // 0xc - bitfield:1 m_bReset; // 0x0 - bitfield:3 m_resetCycleOption; // 0x0 - bitfield:1 m_bForceFootPlant; // 0x0 + CBlendCurve m_curve; // 0x0 + float m_blendDuration; // 0x8 + float m_resetCycleValue; // 0xc + struct + { + uint8_t m_bReset: 1; + uint8_t m_resetCycleOption: 3; + uint8_t m_bForceFootPlant: 1; + uint8_t __pad3: 5; // @note: autoaligned + }; // 10 bits }; -// Aligment: 10 -// Size: 144 +// Alignment: 10 +// Size: 0x90 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 // MPropertyGroupName "End Effector" // MPropertyFriendlyName "End Effector Type" // MPropertyAttrChangeCallback - IkEndEffectorType m_endEffectorType; // 0x48 + IkEndEffectorType m_endEffectorType; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: // 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 }; -// Aligment: 9 -// Size: 120 +// Alignment: 9 +// Size: 0x78 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 }; -// Aligment: 23 -// Size: 176 +// Alignment: 23 +// Size: 0xb0 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 + 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 }; -// Aligment: 3 -// Size: 16 +// Alignment: 3 +// Size: 0x10 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 }; -// Aligment: 5 -// Size: 56 +// 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 "Ignore Direction" - bool m_bIgnoreDirection; // 0x30 + bool m_bIgnoreDirection; // 0x30 // MPropertyFriendlyName "Auto-Calculate target speed" // MPropertyAttrChangeCallback - 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 }; -// Aligment: 10 -// Size: 136 +// Alignment: 10 +// Size: 0x88 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 }; -// Aligment: 8 -// Size: 136 +// Alignment: 8 +// Size: 0x88 class CAttachment { public: - CUtlString m_name; // 0x0 - CUtlString[3] m_influenceNames; // 0x8 - Vector[3] m_vInfluenceOffsets; // 0x20 - Quaternion[3] m_vInfluenceRotations; // 0x44 - 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 + Vector m_vInfluenceOffsets[3]; // 0x20 + Quaternion m_vInfluenceRotations[3]; // 0x44 + float m_influenceWeights[3]; // 0x74 + bool m_bInfluenceRootTransform[3]; // 0x80 + uint8_t m_nInfluences; // 0x83 + bool m_bIgnoreRotation; // 0x84 }; -// Aligment: 8 -// Size: 64 +// Alignment: 8 +// Size: 0x40 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 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 class CMorphData { public: - CUtlString m_name; // 0x0 - CUtlVector< CMorphRectData > m_morphRectDatas; // 0x8 + CUtlString m_name; // 0x0 + CUtlVector< CMorphRectData > m_morphRectDatas; // 0x8 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 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 }; -// Aligment: 4 -// Size: 80 +// 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimStateID { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 8 -// Size: 8 +// Alignment: 8 +// Size: 0x8 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 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CGroundCondition : public CAnimStateConditionBase { public: // MPropertyFriendlyName "Value" - bool m_comparisonValue; // 0x30 + bool m_comparisonValue; // 0x30 }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 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 }; -// Aligment: 1 -// Size: 96 -class CSingleFrameUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x60 +class CSingleFrameUpdateNode : public CLeafUpdateNode { public: - StaticPoseCacheHandle m_hPoseCacheHandle; // 0x58 + StaticPoseCacheHandle m_hPoseCacheHandle; // 0x58 }; -// Aligment: 1 -// Size: 40 -class CAnimGraphNetworkSettings : public CAnimGraphSettingsGroup +// Alignment: 0 +// Size: 0x20 +class CAnimGraphSettingsGroup { public: - // MPropertyFriendlyName "Enable Networking" - bool m_bNetworkingEnabled; // 0x20 + // no members available }; -// Aligment: 6 -// Size: 88 +// Alignment: 6 +// Size: 0x58 class CLookComponentUpdater : public CAnimComponentUpdater { public: - CAnimParamHandle m_hLookHeading; // 0x2c - CAnimParamHandle m_hLookPitch; // 0x34 - CAnimParamHandle m_hLookDirection; // 0x3c - CAnimParamHandle m_hLookTarget; // 0x44 - CAnimParamHandle m_hLookTargetWorldSpace; // 0x4c - bool m_bNetworkLookTarget; // 0x54 + CAnimParamHandle m_hLookHeading; // 0x2c + CAnimParamHandle m_hLookPitch; // 0x34 + CAnimParamHandle m_hLookDirection; // 0x3c + CAnimParamHandle m_hLookTarget; // 0x44 + CAnimParamHandle m_hLookTargetWorldSpace; // 0x4c + bool m_bNetworkLookTarget; // 0x54 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CDampedValueComponent : public CAnimComponentBase { public: // MPropertyFriendlyName "Items" // MPropertyAutoExpandSelf - CUtlVector< CDampedValueItem > m_items; // 0x38 + CUtlVector< CDampedValueItem > m_items; // 0x38 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimNodeID { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 4 -// Size: 144 +// Alignment: 4 +// Size: 0x90 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 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 class WeightList { public: - CUtlString m_name; // 0x0 - CUtlVector< float32 > m_weights; // 0x8 + CUtlString m_name; // 0x0 + CUtlVector< float32 > m_weights; // 0x8 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CAnimParamHandle { public: - AnimParamType_t m_type; // 0x0 - uint8_t m_index; // 0x4 + AnimParamType_t m_type; // 0x0 + uint8_t m_index; // 0x4 }; -// Aligment: 0 -// Size: 104 -class CRootUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 0 +// Size: 0x68 +class CRootUpdateNode : public CUnaryUpdateNode { public: -// + // no members available }; -// Aligment: 7 -// Size: 168 +// 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 + CUtlVector< CAnimBoneDifference > m_boneArray; // 0x0 + CUtlVector< CAnimMorphDifference > m_morphArray; // 0x18 + CUtlVector< CAnimUserDifference > m_userArray; // 0x30 + CUtlVector< uint8 > m_bHasRotationBitArray; // 0x48 + CUtlVector< uint8 > m_bHasMovementBitArray; // 0x60 + CUtlVector< uint8 > m_bHasMorphBitArray; // 0x78 + CUtlVector< uint8 > m_bHasUserBitArray; // 0x90 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 class CParamConditionUpdater : public ConditionUpdater { public: - CAnimParamHandle m_paramIndex; // 0x10 - CAnimVariant m_comparisonValue; // 0x18 - Comparison_t m_operation; // 0x2c + CAnimParamHandle m_paramIndex; // 0x10 + CAnimVariant m_comparisonValue; // 0x18 + Comparison_t m_operation; // 0x2c }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CAnimStateList { public: - CUtlVector< CAnimState* > m_states; // 0x10 + CUtlVector< CAnimState* > m_states; // 0x10 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct LookAtBone_t { public: - int32_t m_index; // 0x0 - float m_weight; // 0x4 + int32_t m_index; // 0x0 + float m_weight; // 0x4 }; -// Aligment: 2 -// Size: 88 +// Alignment: 2 +// Size: 0x58 class CVectorAnimParameter : public CAnimParameterBase { public: // MPropertyFriendlyName "Default Value" - Vector m_defaultValue; // 0x48 + Vector m_defaultValue; // 0x48 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x54 + bool m_bInterpolate; // 0x54 }; -// Aligment: 5 -// Size: 136 +// Alignment: 5 +// Size: 0x88 class CAnimGraphDebugReplay { public: - CUtlString m_animGraphFileName; // 0x58 - CUtlVector< CSmartPtr< CAnimReplayFrame > > m_frameList; // 0x60 - int32_t m_startIndex; // 0x78 - int32_t m_writeIndex; // 0x7c - int32_t m_frameCount; // 0x80 + CUtlString m_animGraphFileName; // 0x58 + CUtlVector< CSmartPtr< CAnimReplayFrame > > m_frameList; // 0x60 + int32_t m_startIndex; // 0x78 + int32_t m_writeIndex; // 0x7c + int32_t m_frameCount; // 0x80 }; -// Aligment: 0 -// Size: 32 -class CAnimGraphSettingsGroup +// Alignment: 1 +// Size: 0x28 +class CAnimGraphNetworkSettings : public CAnimGraphSettingsGroup { public: -// + // MPropertyFriendlyName "Enable Networking" + bool m_bNetworkingEnabled; // 0x20 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CSeqTransition { public: - float m_flFadeInTime; // 0x0 - float m_flFadeOutTime; // 0x4 + float m_flFadeInTime; // 0x0 + float m_flFadeOutTime; // 0x4 }; -// Aligment: 2 -// Size: 288 +// 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 }; -// Aligment: 4 -// Size: 72 -class CAnimTagBase +// Alignment: 4 +// Size: 0x68 +class CMaterialAttributeAnimTag : public CAnimTagBase { public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_name; // 0x20 - // MPropertyHideField - CUtlString m_group; // 0x28 - // MPropertyHideField - AnimTagID m_tagID; // 0x30 - // MPropertyHideField - bool m_bIsReferenced; // 0x34 + // 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 }; -// Aligment: 5 -// Size: 72 -class CAnimComponentBase +// Alignment: 7 +// Size: 0x118 +class CMovementComponent : public CAnimComponentBase { public: + // MPropertyFriendlyName "Movement Modes" + CUtlVector< CMovementMode > m_moveModes; // 0x48 // MPropertyHideField - CUtlString m_group; // 0x18 + CUtlVector< CSmartPtr< CAnimMotorBase > > m_motors; // 0x60 + // MPropertyFriendlyName "Network Path" + bool m_bNetworkPath; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0079[0x3]; // 0x79 +public: + // MPropertyGroupName "+Facing" + // MPropertyFriendlyName "Default Mode" + FacingMode m_eDefaultFacingMode; // 0x7c + // MPropertyGroupName "+Facing" + // MPropertyFriendlyName "Damping" + CAnimInputDamping m_facingDamping; // 0x80 + // MPropertyGroupName "+Facing" + // MPropertyFriendlyName "Network Facing" + bool m_bNetworkFacing; // 0x98 +private: + [[maybe_unused]] uint8_t __pad0099[0x3]; // 0x99 +public: // 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 + AnimParamID m_paramIDs[27]; // 0x9c }; -// Aligment: 17 -// Size: 68 +// Alignment: 17 +// Size: 0x44 struct HitReactFixedSettings_t { 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 + 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 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct IKBoneNameAndIndex_t { public: // MPropertyAttributeChoiceName "Bone" - CUtlString m_Name; // 0x0 + CUtlString m_Name; // 0x0 }; -// Aligment: 10 -// Size: 88 +// Alignment: 10 +// Size: 0x58 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 }; -// Aligment: 11 -// Size: 11 +// Alignment: 11 +// Size: 0xb 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 }; -// Aligment: 5 -// Size: 144 -class CSequenceUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 8 +// Size: 0xb8 +class CJumpHelperUpdateNode : public CSequenceUpdateNode { public: - CUtlVector< TagSpan_t > m_tags; // 0x60 - HSequence m_hSequence; // 0x7c - float m_playbackSpeed; // 0x80 - float m_duration; // 0x84 - bool m_bLoop; // 0x88 + CAnimParamHandle m_hTargetParam; // 0x90 + Vector m_flOriginalJumpMovement; // 0x98 + float m_flOriginalJumpDuration; // 0xa4 + float m_flJumpStartCycle; // 0xa8 + float m_flJumpEndCycle; // 0xac + JumpCorrectionMethod m_eCorrectionMethod; // 0xb0 + bool m_bTranslationAxis[3]; // 0xb4 + bool m_bScaleSpeed; // 0xb7 }; -// Aligment: 4 -// Size: 80 +// Alignment: 4 +// Size: 0x50 class CMotionClipGroupData { public: - CUtlVector< ClipInfo > m_clips; // 0x0 - CUtlVector< ClipSampleInfo > m_samplePoints; // 0x18 - CUtlVector< float32 > m_samplePointVectors; // 0x30 - int32_t m_activeTagIndex; // 0x48 + CUtlVector< ClipInfo > m_clips; // 0x0 + CUtlVector< ClipSampleInfo > m_samplePoints; // 0x18 + CUtlVector< float32 > m_samplePointVectors; // 0x30 + int32_t m_activeTagIndex; // 0x48 }; -// Aligment: 8 -// Size: 160 +// 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 + 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 }; -// Aligment: 8 -// Size: 176 -class CJumpHelperAnimNode : public CSequenceAnimNode, CAnimNodeBase +// Alignment: 8 +// Size: 0xb0 +class CJumpHelperAnimNode : public CSequenceAnimNode { public: // MPropertyFriendlyName "Target Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_targetParamID; // 0x88 + AnimParamID m_targetParamID; // 0x88 // MPropertySuppressField - float m_flJumpStartCycle; // 0x8c + float m_flJumpStartCycle; // 0x8c // MPropertySuppressField - float m_flJumpDuration; // 0x90 + float m_flJumpDuration; // 0x90 // MPropertyFriendlyName "Translate X" - bool m_bTranslateX; // 0x94 + bool m_bTranslateX; // 0x94 // MPropertyFriendlyName "Translate Y" - bool m_bTranslateY; // 0x95 + bool m_bTranslateY; // 0x95 // MPropertyFriendlyName "Translate Z" - bool m_bTranslateZ; // 0x96 + bool m_bTranslateZ; // 0x96 // MPropertyFriendlyName "Apply Speed Scale" - bool m_bScaleSpeed; // 0x97 + bool m_bScaleSpeed; // 0x97 // MPropertyFriendlyName "Correction Method" - JumpCorrectionMethod m_eCorrectionMethod; // 0x98 + JumpCorrectionMethod m_eCorrectionMethod; // 0x98 }; -// Aligment: 6 -// Size: 112 +// Alignment: 6 +// Size: 0x70 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 }; -// Aligment: 1 -// Size: 72 +// Alignment: 1 +// Size: 0x48 class CAnimScriptManager { public: - CUtlVector< CSmartPtr< CScriptModule > > m_compiledModules; // 0x10 + CUtlVector< CSmartPtr< CScriptModule > > m_compiledModules; // 0x10 }; -// Aligment: 0 -// Size: 40 +// Alignment: 0 +// Size: 0x28 class CCurrentVelocityMetric : public CMotionMetricBase { public: -// + // no members available }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 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 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CTaskStatusAnimTag : public CAnimTagBase { public: // MPropertyHideField - CUtlString m_identifierString; // 0x40 + CUtlString m_identifierString; // 0x40 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 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 }; -// Aligment: 5 -// Size: 216 +// Alignment: 5 +// Size: 0xd8 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 }; -// Aligment: 5 -// Size: 96 +// Alignment: 5 +// Size: 0x60 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 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CForceFacingCondition : public CAnimStateConditionBase { public: // MPropertyFriendlyName "Value" - bool m_comparisonValue; // 0x30 + bool m_comparisonValue; // 0x30 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimNodeOutputID { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 2 -// Size: 48 +// Alignment: 2 +// Size: 0x30 class CAnimNodePath { public: - AnimNodeID[11] m_path; // 0x0 - int32_t m_nCount; // 0x2c + AnimNodeID m_path[11]; // 0x0 + int32_t m_nCount; // 0x2c }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CStateAction { public: - CSmartPtr< CAnimActionBase > m_pAction; // 0x8 - StateActionBehavior m_eBehavior; // 0x10 + CSmartPtr< CAnimActionBase > m_pAction; // 0x8 + StateActionBehavior m_eBehavior; // 0x10 }; -// Aligment: 7 -// Size: 152 +// Alignment: 7 +// Size: 0x98 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 }; -// Aligment: 7 -// Size: 40 +// Alignment: 7 +// Size: 0x28 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 }; -// Aligment: 5 -// Size: 80 +// Alignment: 5 +// Size: 0x50 class CAnimRetargetData { public: - int32_t m_bEnableRetarget; // 0x0 - int32_t m_nRetargetStyle; // 0x4 - CUtlVector< CAnimRetargetElementData > m_element; // 0x8 - CUtlVector< CAnimRetargetChainData > m_chain; // 0x20 - CUtlVector< CBufferString > m_replicated; // 0x38 + int32_t m_bEnableRetarget; // 0x0 + int32_t m_nRetargetStyle; // 0x4 + CUtlVector< CAnimRetargetElementData > m_element; // 0x8 + CUtlVector< CAnimRetargetChainData > m_chain; // 0x20 + CUtlVector< CBufferString > m_replicated; // 0x38 }; -// Aligment: 3 -// Size: 88 +// Alignment: 3 +// Size: 0x58 class CIntAnimParameter : public CAnimParameterBase { public: // MPropertyFriendlyName "Default Value" - int32_t m_defaultValue; // 0x48 + int32_t m_defaultValue; // 0x48 // MPropertyFriendlyName "Min Value" - int32_t m_minValue; // 0x4c + int32_t m_minValue; // 0x4c // MPropertyFriendlyName "Max Value" - int32_t m_maxValue; // 0x50 + int32_t m_maxValue; // 0x50 }; -// Aligment: 0 -// Size: 96 -class CInputStreamUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 0 +// Size: 0x60 +class CInputStreamUpdateNode : public CLeafUpdateNode { public: -// + // no members available }; -// Aligment: 4 -// Size: 72 -class CAnimNodeBase +// Alignment: 3 +// Size: 0x58 +class CPathHelperAnimNode : public CAnimNodeBase { public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_sName; // 0x20 // MPropertyHideField - Vector2D m_vecPosition; // 0x28 - // MPropertyHideField - AnimNodeID m_nNodeID; // 0x30 - // MPropertyFriendlyName "Network Mode" - AnimNodeNetworkMode m_networkMode; // 0x34 + CAnimNodeConnection m_inputConnection; // 0x38 + // MPropertyFriendlyName "Stopping Radius" + float m_flStoppingRadius; // 0x40 + // MPropertyFriendlyName "Stopping Min Speed Scale" + float m_flStoppingSpeedScale; // 0x44 }; -// Aligment: 0 -// Size: 4 +// Alignment: 0 +// Size: 0x4 class CFootCycle : public CCycleBase { public: -// + // no members available }; -// Aligment: 7 -// Size: 104 +// Alignment: 7 +// Size: 0x68 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 }; -// Aligment: 2 -// Size: 112 +// Alignment: 2 +// Size: 0x70 class CAnimScriptComponent : public CAnimComponentBase { public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_sName; // 0x48 + CUtlString m_sName; // 0x48 // MPropertyFriendlyName "Script File" // MPropertyAttributeEditor "AssetBrowse( as )" // MPropertyAttrChangeCallback - CUtlString m_scriptFilename; // 0x50 + CUtlString m_scriptFilename; // 0x50 }; -// Aligment: 3 -// Size: 88 +// Alignment: 3 +// Size: 0x58 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 }; -// Aligment: 5 -// Size: 96 +// Alignment: 5 +// Size: 0x60 class CSceneObjectData { public: - Vector m_vMinBounds; // 0x0 - Vector m_vMaxBounds; // 0xc - CUtlVector< CMaterialDrawDescriptor > m_drawCalls; // 0x18 - CUtlVector< CDrawCullingData > m_drawCullData; // 0x30 - Vector4D m_vTintColor; // 0x48 + Vector m_vMinBounds; // 0x0 + Vector m_vMaxBounds; // 0xc + CUtlVector< CMaterialDrawDescriptor > m_drawCalls; // 0x18 + CUtlVector< CDrawCullingData > m_drawCullData; // 0x30 + Vector4D m_vTintColor; // 0x48 }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CSequenceFinishedAnimTag : public CAnimTagBase { public: // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x40 + CUtlString m_sequenceName; // 0x40 }; -// Aligment: 11 -// Size: 72 -class CAnimParameterBase +// Alignment: 1 +// Size: 0x50 +class CBoolAnimParameter : public CAnimParameterBase { public: - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_name; // 0x18 - // MPropertyHideField - CUtlString m_group; // 0x20 - // MPropertyHideField - AnimParamID m_id; // 0x28 - // MPropertyHideField - // MPropertyAttrChangeCallback - CUtlString m_componentName; // 0x30 - // MPropertyFriendlyName "Preview Button" - AnimParamButton_t m_previewButton; // 0x3c - // MPropertyFriendlyName "Force Latest Value" - bool m_bUseMostRecentValue; // 0x40 - // MPropertyFriendlyName "Auto Reset" - bool m_bAutoReset; // 0x41 - // MPropertyFriendlyName "Internal" - // MPropertyAttrStateCallback - bool m_bInternal; // 0x42 - // MPropertyHideField - bool m_bIsReferenced; // 0x43 - // MPropertyHideField - bool m_bNetwork; // 0x44 - // MPropertyFriendlyName "Disable Networking" - bool m_bDisableNetworking; // 0x45 + // MPropertyFriendlyName "Default Value" + bool m_bDefaultValue; // 0x48 }; -// Aligment: 3 -// Size: 88 +// Alignment: 3 +// Size: 0x58 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 }; -// Aligment: 1 -// Size: 112 -class CSlowDownOnSlopesUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x70 +class CSlowDownOnSlopesUpdateNode : public CUnaryUpdateNode { public: - float m_flSlowDownStrength; // 0x68 + float m_flSlowDownStrength; // 0x68 }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 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 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc 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 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct VertexPositionColor_t { public: - Vector m_vPosition; // 0x0 + Vector m_vPosition; // 0x0 }; -// Aligment: 5 -// Size: 128 +// Alignment: 5 +// Size: 0x80 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 }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 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 }; -// Aligment: 3 -// Size: 8 +// Alignment: 3 +// Size: 0x8 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 }; -// Aligment: 5 -// Size: 20 +// Alignment: 5 +// Size: 0x14 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct FeTreeChildren_t { public: - uint16[2] nChild; // 0x0 + uint16_t nChild[2]; // 0x0 }; -// Aligment: 3 -// Size: 16 +// Alignment: 3 +// Size: 0x10 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 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct FeSoftParent_t { public: - int32_t nParent; // 0x0 - float flAlpha; // 0x4 + int32_t nParent; // 0x0 + float flAlpha; // 0x4 }; -// Aligment: 2 -// Size: 64 -struct FeBuildTaperedCapsuleRigid_t : public FeTaperedCapsuleRigid_t -{ -public: - int32_t m_nPriority; // 0x30 - uint32_t m_nVertexMapHash; // 0x34 -}; - -// Aligment: 6 -// Size: 32 -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 -}; - -// Aligment: 5 -// Size: 24 -struct constraint_breakableparams_t -{ -public: - float strength; // 0x0 - float forceLimit; // 0x4 - float torqueLimit; // 0x8 - float32[2] bodyMassScale; // 0xc - bool isActive; // 0x14 -}; - -// Aligment: 4 -// Size: 96 -class FourCovMatrices3 -{ -public: - FourVectors m_vDiag; // 0x0 - fltx4 m_flXY; // 0x30 - fltx4 m_flXZ; // 0x40 - fltx4 m_flYZ; // 0x50 -}; - -// Aligment: 5 -// Size: 40 -struct FeAxialEdgeBend_t -{ -public: - float te; // 0x0 - float tv; // 0x4 - float flDist; // 0x8 - float32[4] flWeight; // 0xc - uint16[6] nNode; // 0x1c -}; - -// Aligment: 4 -// Size: 8 -struct FeNodeWindBase_t -{ -public: - uint16_t nNodeX0; // 0x0 - uint16_t nNodeX1; // 0x2 - uint16_t nNodeY0; // 0x4 - uint16_t nNodeY1; // 0x6 -}; - -// Aligment: 4 -// Size: 12 -struct FeTwistConstraint_t -{ -public: - uint16_t nNodeOrient; // 0x0 - uint16_t nNodeEnd; // 0x2 - float flTwistRelax; // 0x4 - float flSwingRelax; // 0x8 -}; - -// Aligment: 1 -// Size: 4 -struct FeSourceEdge_t -{ -public: - uint16[2] nNode; // 0x0 -}; - -// Aligment: 2 -// Size: 4 -struct FeCtrlOsOffset_t -{ -public: - uint16_t nCtrlParent; // 0x0 - uint16_t nCtrlChild; // 0x2 -}; - -// Aligment: 1 -// Size: 1 -struct RnFace_t -{ -public: - uint8_t m_nEdge; // 0x0 -}; - -// Aligment: 1 -// Size: 104 -struct Dop26_t -{ -public: - float32[26] m_flSupport; // 0x0 -}; - -// Aligment: 4 -// Size: 24 -class CovMatrix3 -{ -public: - Vector m_vDiag; // 0x0 - float m_flXY; // 0xc - float m_flXZ; // 0x10 - float m_flYZ; // 0x14 -}; - -// Aligment: 12 -// Size: 216 -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 -}; - -// Aligment: 5 -// Size: 24 -struct FeCollisionSphere_t -{ -public: - uint16_t nCtrlParent; // 0x0 - uint16_t nChildNode; // 0x2 - float m_flRFactor; // 0x4 - Vector m_vOrigin; // 0x8 - float flStickiness; // 0x14 -}; - -// Aligment: 5 -// Size: 28 -struct FeTri_t -{ -public: - uint16[3] nNode; // 0x0 - float w1; // 0x8 - float w2; // 0xc - float v1x; // 0x10 - Vector2D v2; // 0x14 -}; - -// Aligment: 1 -// Size: 24 -class CFeVertexMapBuildArray -{ -public: - CUtlVector< FeVertexMapBuild_t* > m_Array; // 0x0 -}; - -// Aligment: 4 -// Size: 40 -struct FeVertexMapBuild_t -{ -public: - CUtlString m_VertexMapName; // 0x0 - uint32_t m_nNameHash; // 0x8 - Color m_Color; // 0xc - CUtlVector< float32 > m_Weights; // 0x10 -}; - -// Aligment: 7 -// Size: 32 -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 - Quaternion qAdjust; // 0x10 -}; - -// Aligment: 0 -// Size: 8 -class IPhysicsPlayerController -{ -public: -// -}; - -// Aligment: 3 -// Size: 16 -struct FeCtrlOffset_t -{ -public: - Vector vOffset; // 0x0 - uint16_t nCtrlParent; // 0xc - uint16_t nCtrlChild; // 0xe -}; - -// Aligment: 8 -// Size: 144 -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 -}; - -// Aligment: 8 -// Size: 64 -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 -}; - -// Aligment: 4 -// Size: 28 -struct FeStiffHingeBuild_t -{ -public: - float flMaxAngle; // 0x0 - float flStrength; // 0x4 - float32[3] flMotionBias; // 0x8 - uint16[3] nNode; // 0x14 -}; - -// Aligment: 5 -// Size: 28 -struct FeCollisionPlane_t -{ -public: - uint16_t nCtrlParent; // 0x0 - uint16_t nChildNode; // 0x2 - RnPlane_t m_Plane; // 0x4 - float flStickiness; // 0x14 - float flStrength; // 0x18 -}; - -// Aligment: 5 -// Size: 12 -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 -}; - -// Aligment: 6 -// Size: 48 -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 -}; - -// Aligment: 4 -// Size: 24 -struct FeKelagerBend2_t -{ -public: - float32[3] flWeight; // 0x0 - float flHeight0; // 0xc - uint16[3] nNode; // 0x10 - uint16_t nReserved; // 0x16 -}; - -// Aligment: 2 -// Size: 32 -class FourVectors2D -{ -public: - fltx4 x; // 0x0 - fltx4 y; // 0x10 -}; - -// Aligment: 5 -// Size: 20 -struct FeSpringIntegrator_t -{ -public: - uint16[2] nNode; // 0x0 - float flSpringRestLength; // 0x4 - float flSpringConstant; // 0x8 - float flSpringDamping; // 0xc - float flNodeWeight0; // 0x10 -}; - -// Aligment: 4 -// Size: 32 -struct FeEffectDesc_t -{ -public: - CUtlString sName; // 0x0 - uint32_t nNameHash; // 0x8 - int32_t nType; // 0xc - KeyValues3 m_Params; // 0x10 -}; - -// Aligment: 2 -// Size: 4 -struct FeWeightedNode_t -{ -public: - uint16_t nNode; // 0x0 - uint16_t nWeight; // 0x2 -}; - -// Aligment: 3 -// Size: 76 -struct FeQuad_t -{ -public: - uint16[4] nNode; // 0x0 - float flSlack; // 0x8 - Vector4D[4] vShape; // 0xc -}; - -// Aligment: 7 -// Size: 112 -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 -}; - -// Aligment: 5 -// Size: 80 -struct FeSimdSpringIntegrator_t -{ -public: - uint16[4][2] nNode; // 0x0 - fltx4 flSpringRestLength; // 0x10 - fltx4 flSpringConstant; // 0x20 - fltx4 flSpringDamping; // 0x30 - fltx4 flNodeWeight0; // 0x40 -}; - -// Aligment: 4 -// Size: 304 -struct FeSimdQuad_t -{ -public: - uint16[4][4] nNode; // 0x0 - fltx4 f4Slack; // 0x20 - FourVectors[4] vShape; // 0x30 - fltx4[4] f4Weights; // 0xf0 -}; - -// Aligment: 5 -// Size: 64 -struct FeFitMatrix_t -{ -public: - CTransform bone; // 0x0 - Vector vCenter; // 0x20 - uint16_t nEnd; // 0x2c - uint16_t nNode; // 0x2e - uint16_t nBeginDynamic; // 0x30 -}; - -// Aligment: 4 -// Size: 32 -struct RnNode_t -{ -public: - Vector m_vMin; // 0x0 - uint32_t m_nChildren; // 0xc - Vector m_vMax; // 0x10 - uint32_t m_nTriangleOffset; // 0x1c -}; - -// Aligment: 4 -// Size: 12 -struct FeWorldCollisionParams_t -{ -public: - float flWorldFriction; // 0x0 - float flGroundFriction; // 0x4 - uint16_t nListBegin; // 0x8 - uint16_t nListEnd; // 0xa -}; - -// Aligment: 2 -// Size: 48 -class CRegionSVM -{ -public: - CUtlVector< RnPlane_t > m_Planes; // 0x0 - CUtlVector< uint32 > m_Nodes; // 0x18 -}; - -// Aligment: 35 -// Size: 156 -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 -}; - -// Aligment: 2 -// Size: 16 -struct RnPlane_t -{ -public: - Vector m_vNormal; // 0x0 - float m_flOffset; // 0xc -}; - -// Aligment: 3 -// Size: 16 -struct FeNodeReverseOffset_t -{ -public: - Vector vOffset; // 0x0 - uint16_t nBoneCtrl; // 0xc - uint16_t nTargetNode; // 0xe -}; - -// Aligment: 3 -// Size: 16 -struct FeEdgeDesc_t -{ -public: - uint16[2] nEdge; // 0x0 - uint16[2][2] nSide; // 0x4 - uint16[2] nVirtElem; // 0xc -}; - -// Aligment: 3 -// Size: 12 -struct FeAnimStrayRadius_t -{ -public: - uint16[2] nNode; // 0x0 - float flMaxDist; // 0x4 - float flRelaxationFactor; // 0x8 -}; - -// Aligment: 6 -// Size: 48 +// Alignment: 6 +// Size: 0x30 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 }; -// Aligment: 9 -// Size: 40 +// 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: 4 +// Size: 0x28 +struct FeVertexMapBuild_t +{ +public: + CUtlString m_VertexMapName; // 0x0 + uint32_t m_nNameHash; // 0x8 + Color m_Color; // 0xc + CUtlVector< float32 > m_Weights; // 0x10 +}; + +// 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 + Quaternion 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: 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: 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: 2 +// Size: 0x20 +class FourVectors2D +{ +public: + fltx4 x; // 0x0 + fltx4 y; // 0x10 +}; + +// 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: 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: 2 +// Size: 0x10 +struct RnPlane_t +{ +public: + Vector m_vNormal; // 0x0 + float m_flOffset; // 0xc +}; + +// 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: 9 +// Size: 0x28 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 - uint16_t nNodeListCount; // 0x20 + 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 + uint16_t nNodeListCount; // 0x20 }; -// Aligment: 4 -// Size: 20 +// Alignment: 4 +// Size: 0x14 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 }; -// Aligment: 7 -// Size: 136 +// Alignment: 7 +// Size: 0x88 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 }; -// Aligment: 8 -// Size: 16 +// Alignment: 8 +// Size: 0x10 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 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 struct VertexPositionNormal_t { public: - Vector m_vPosition; // 0x0 - Vector m_vNormal; // 0xc + Vector m_vPosition; // 0x0 + Vector m_vNormal; // 0xc }; -// Aligment: 7 -// Size: 136 +// Alignment: 7 +// Size: 0x88 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< uint8 > m_Materials; // 0x60 - Vector m_vOrthographicAreas; // 0x78 + 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< uint8 > m_Materials; // 0x60 + Vector m_vOrthographicAreas; // 0x78 }; -// Aligment: 3 -// Size: 8 +// Alignment: 3 +// Size: 0x8 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 }; -// Aligment: 12 -// Size: 72 +// Alignment: 12 +// Size: 0x48 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 }; -// Aligment: 4 -// Size: 208 +// Alignment: 4 +// Size: 0xd0 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 }; -// Aligment: 2 -// Size: 28 +// Alignment: 2 +// Size: 0x1c struct RnCapsule_t { public: - Vector[2] m_vCenter; // 0x0 - float m_flRadius; // 0x18 + Vector m_vCenter[2]; // 0x0 + float m_flRadius; // 0x18 }; -// Aligment: 4 -// Size: 16 +// Alignment: 4 +// Size: 0x10 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 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct FeProxyVertexMap_t { public: - CUtlString m_Name; // 0x0 - float m_flWeight; // 0x8 + CUtlString m_Name; // 0x0 + float m_flWeight; // 0x8 }; -// Aligment: 1 -// Size: 12 +// Alignment: 1 +// Size: 0xc struct RnTriangle_t { public: - int32[3] m_nIndex; // 0x0 + int32_t m_nIndex[3]; // 0x0 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 2 -// Size: 48 +// 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 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct RnSphere_t { public: - Vector m_vCenter; // 0x0 - float m_flRadius; // 0xc + Vector m_vCenter; // 0x0 + float m_flRadius; // 0xc }; -// Aligment: 4 -// Size: 64 +// 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 + Vector worldPosition; // 0x0 + Vector worldAxisDirection; // 0xc + constraint_axislimit_t hingeAxis; // 0x18 + constraint_breakableparams_t constraint; // 0x28 }; -// Aligment: 5 -// Size: 80 +// Alignment: 5 +// Size: 0x50 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 }; -// Aligment: 4 -// Size: 16 +// Alignment: 4 +// Size: 0x10 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 }; -// Aligment: 5 -// Size: 20 +// Alignment: 5 +// Size: 0x14 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 }; -// Aligment: 3 -// Size: 20 +// Alignment: 3 +// Size: 0x14 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 }; -// Aligment: 10 -// Size: 24 +// Alignment: 10 +// Size: 0x18 struct vehicle_controlparams_t { public: - float throttle; // 0x0 - float steering; // 0x4 - float brake; // 0x8 - float boost; // 0xc - bool handbrake; // 0x10 - bool handbrakeLeft; // 0x11 - bool handbrakeRight; // 0x12 - bool brakepedal; // 0x13 - bool bHasBrakePedal; // 0x14 - bool bAnalogSteering; // 0x15 + float throttle; // 0x0 + float steering; // 0x4 + float brake; // 0x8 + float boost; // 0xc + bool handbrake; // 0x10 + bool handbrakeLeft; // 0x11 + bool handbrakeRight; // 0x12 + bool brakepedal; // 0x13 + bool bHasBrakePedal; // 0x14 + bool bAnalogSteering; // 0x15 }; -// Aligment: 3 -// Size: 164 +// Alignment: 3 +// Size: 0xa4 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 }; -// Aligment: 2 -// Size: 80 +// 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 }; -// Aligment: 99 -// Size: 1536 +// Alignment: 99 +// Size: 0x600 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_nSimdTriCount1; // 0x46 - uint16_t m_nSimdTriCount2; // 0x48 - uint16_t m_nSimdQuadCount1; // 0x4a - uint16_t m_nSimdQuadCount2; // 0x4c - uint16_t m_nQuadCount1; // 0x4e - uint16_t m_nQuadCount2; // 0x50 - uint16_t m_nCollisionSphereInclusiveCount; // 0x52 - uint16_t m_nTreeDepth; // 0x54 - uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x56 - uint16_t m_nRopeCount; // 0x58 - 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_nSimdTriCount1; // 0x46 + uint16_t m_nSimdTriCount2; // 0x48 + uint16_t m_nSimdQuadCount1; // 0x4a + uint16_t m_nSimdQuadCount2; // 0x4c + uint16_t m_nQuadCount1; // 0x4e + uint16_t m_nQuadCount2; // 0x50 + uint16_t m_nCollisionSphereInclusiveCount; // 0x52 + uint16_t m_nTreeDepth; // 0x54 + uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x56 + uint16_t m_nRopeCount; // 0x58 +private: + [[maybe_unused]] uint8_t __pad005a[0x6]; // 0x5a +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 }; -// Aligment: 1 -// Size: 152 +// Alignment: 1 +// Size: 0x98 struct RnMeshDesc_t : public RnShapeDesc_t { public: - RnMesh_t m_Mesh; // 0x10 + RnMesh_t m_Mesh; // 0x10 }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 struct RnSphereDesc_t : public RnShapeDesc_t { public: - RnSphere_t m_Sphere; // 0x10 + RnSphere_t m_Sphere; // 0x10 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 struct RnCapsuleDesc_t : public RnShapeDesc_t { public: - RnCapsule_t m_Capsule; // 0x10 + RnCapsule_t m_Capsule; // 0x10 }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 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 }; -// Aligment: 1 -// Size: 232 +// Alignment: 1 +// Size: 0xe8 struct RnHullDesc_t : public RnShapeDesc_t { public: - RnHull_t m_Hull; // 0x10 + RnHull_t m_Hull; // 0x10 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct RnSoftbodyParticle_t { public: - float m_flMassInv; // 0x0 + float m_flMassInv; // 0x0 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct RnSoftbodySpring_t { public: - uint16[2] m_nParticle; // 0x0 - float m_flLength; // 0x4 + uint16_t m_nParticle[2]; // 0x0 + float m_flLength; // 0x4 }; -// Aligment: 12 -// Size: 48 +// Alignment: 12 +// Size: 0x30 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 }; -// Aligment: 6 -// Size: 16 +// Alignment: 6 +// Size: 0x10 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 }; -// Aligment: 6 -// Size: 24 +// Alignment: 6 +// Size: 0x18 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 }; -// Aligment: 10 -// Size: 40 +// Alignment: 10 +// Size: 0x28 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 }; -// Aligment: 1 -// Size: 32 -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 }; -// Aligment: 10 -// Size: 36 +// Alignment: 10 +// Size: 0x24 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 "Above Threshold(dB)" - float m_fldbThresholdBelow; // 0x8 + float m_fldbThresholdBelow; // 0x8 // MPropertyFriendlyName "Below 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 }; -// Aligment: 8 -// Size: 44 +// Alignment: 8 +// Size: 0x2c 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 }; -// Aligment: 3 -// Size: 40 +// 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 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc 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 }; -// Aligment: 5 -// Size: 20 +// Alignment: 5 +// Size: 0x14 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 }; -// Aligment: 9 -// Size: 36 +// Alignment: 9 +// Size: 0x24 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 }; -// Aligment: 5 -// Size: 48 +// Alignment: 5 +// Size: 0x30 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 }; -// Aligment: 4 -// Size: 40 -class CSosGroupMatchPattern : public CSosGroupBranchPattern +// Alignment: 4 +// Size: 0x10 +class CSosGroupBranchPattern { public: // MPropertyFriendlyName "Event Name" - CUtlString m_matchSoundEventName; // 0x10 + bool m_bMatchEventName; // 0x8 // MPropertyFriendlyName "Sub-String" - CUtlString m_matchSoundEventSubString; // 0x18 - // MPropertyFriendlyName "Entity Index" - float m_flEntIndex; // 0x20 - // MPropertyFriendlyName "Operator Variable Value" - float m_flOpvar; // 0x24 + bool m_bMatchEventSubString; // 0x9 + // MPropertyFriendlyName "Source Entity Index" + bool m_bMatchEntIndex; // 0xa + // MPropertyFriendlyName "Operator Variable" + bool m_bMatchOpvar; // 0xb }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CSosSoundEventGroupListSchema { public: // MPropertyAutoExpandSelf // MPropertyFriendlyName "Groups" - CUtlVector< CSosSoundEventGroupSchema > m_groupList; // 0x0 + CUtlVector< CSosSoundEventGroupSchema > m_groupList; // 0x0 }; -// Aligment: 8 -// Size: 32 +// Alignment: 8 +// Size: 0x20 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 }; -// Aligment: 4 -// Size: 16 +// 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 + int32_t m_nGrainSampleCount; // 0x0 + float m_flPitchShift; // 0x4 + int32_t m_nQuality; // 0x8 + int32_t m_nProcType; // 0xc }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 class CSoundEventMetaData { public: - CStrongHandle< InfoForResourceTypeCVMixListResource > m_soundEventVMix; // 0x0 + CStrongHandle< InfoForResourceTypeCVMixListResource > m_soundEventVMix; // 0x0 }; -// Aligment: 1 -// Size: 128 +// Alignment: 1 +// Size: 0x80 struct VMixEQ8Desc_t { public: - VMixFilterDesc_t[8] m_stages; // 0x0 + VMixFilterDesc_t m_stages[8]; // 0x0 }; -// Aligment: 7 -// Size: 40 +// Alignment: 7 +// Size: 0x28 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 }; -// Aligment: 10 -// Size: 144 +// 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 - 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 }; -// Aligment: 4 -// Size: 16 -class CSosGroupBranchPattern +// Alignment: 4 +// Size: 0x28 +class CSosGroupMatchPattern : public CSosGroupBranchPattern { public: // MPropertyFriendlyName "Event Name" - bool m_bMatchEventName; // 0x8 + CUtlString m_matchSoundEventName; // 0x10 // MPropertyFriendlyName "Sub-String" - bool m_bMatchEventSubString; // 0x9 - // MPropertyFriendlyName "Source Entity Index" - bool m_bMatchEntIndex; // 0xa - // MPropertyFriendlyName "Operator Variable" - bool m_bMatchOpvar; // 0xb + CUtlString m_matchSoundEventSubString; // 0x18 + // MPropertyFriendlyName "Entity Index" + float m_flEntIndex; // 0x20 + // MPropertyFriendlyName "Operator Variable Value" + float m_flOpvar; // 0x24 }; -// Aligment: 8 -// Size: 208 +// Alignment: 8 +// Size: 0xd0 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 }; -// Aligment: 3 -// Size: 24 -class CSosGroupActionSchema +// 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 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 struct SelectedEditItemInfo_t { public: - CUtlVector< SosEditItemInfo_t > m_EditItems; // 0x0 + CUtlVector< SosEditItemInfo_t > m_EditItems; // 0x0 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CSSDSMsg_EndFrame { public: - CUtlVector< CSSDSEndFrameViewInfo > m_Views; // 0x0 + CUtlVector< CSSDSEndFrameViewInfo > m_Views; // 0x0 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CSSDSMsg_ViewRender { public: - SceneViewId_t m_viewId; // 0x0 - CUtlString m_ViewName; // 0x10 + SceneViewId_t m_viewId; // 0x0 + CUtlString m_ViewName; // 0x10 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 0 -// Size: 56 -class CSSDSMsg_PreLayer : public CSSDSMsg_LayerBase -{ -public: -// -}; - -// Aligment: 6 -// Size: 56 +// Alignment: 6 +// Size: 0x38 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 }; -// Aligment: 0 -// Size: 56 +// Alignment: 0 +// Size: 0x38 +class CSSDSMsg_PreLayer : public CSSDSMsg_LayerBase +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x38 class CSSDSMsg_PostLayer : public CSSDSMsg_LayerBase { public: -// + // no members available }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CSSDSEndFrameViewInfo { public: - uint64_t m_nViewId; // 0x0 - CUtlString m_ViewName; // 0x8 + uint64_t m_nViewId; // 0x0 + CUtlString m_ViewName; // 0x8 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct SceneViewId_t { public: - uint64_t m_nViewId; // 0x0 - uint64_t m_nFrameCount; // 0x8 + uint64_t m_nViewId; // 0x0 + uint64_t m_nFrameCount; // 0x8 }; -// Aligment: 10 -// Size: 48 +// Alignment: 10 +// Size: 0x30 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 }; -// Aligment: 14 -// Size: 224 +// Alignment: 14 +// Size: 0xe0 class CVoxelVisibility { public: - CUtlVector< uint32 > m_blockOffset; // 0x40 - CUtlVector< voxel_vis_cluster_t > m_clusters; // 0x58 - CUtlVector< uint16 > m_mergeClusters; // 0x70 - CUtlVector< voxel_vis_mergelist_t > m_mergeLists; // 0x88 - Vector m_vMinBounds; // 0xa0 - Vector m_vMaxBounds; // 0xac - float m_flGridSize; // 0xb8 - int32_t m_nNodeCount; // 0xbc - int32_t m_nRegionCount; // 0xc0 - voxel_vis_cluster_t m_skyVisibilityCluster; // 0xc4 - voxel_vis_cluster_t m_sunVisibilityCluster; // 0xcc - voxel_vis_compression_t m_nPVSCompression; // 0xd4 - uint32_t m_nTreeSize; // 0xd8 - uint32_t m_nPVSSizeCompressed; // 0xdc + CUtlVector< uint32 > m_blockOffset; // 0x40 + CUtlVector< voxel_vis_cluster_t > m_clusters; // 0x58 + CUtlVector< uint16 > m_mergeClusters; // 0x70 + CUtlVector< voxel_vis_mergelist_t > m_mergeLists; // 0x88 + Vector m_vMinBounds; // 0xa0 + Vector m_vMaxBounds; // 0xac + float m_flGridSize; // 0xb8 + int32_t m_nNodeCount; // 0xbc + int32_t m_nRegionCount; // 0xc0 + voxel_vis_cluster_t m_skyVisibilityCluster; // 0xc4 + voxel_vis_cluster_t m_sunVisibilityCluster; // 0xcc + voxel_vis_compression_t m_nPVSCompression; // 0xd4 + uint32_t m_nTreeSize; // 0xd8 + uint32_t m_nPVSSizeCompressed; // 0xdc }; -// Aligment: 2 -// Size: 48 +// Alignment: 2 +// Size: 0x30 struct EntityKeyValueData_t { public: - CUtlBinaryBlock m_keyValuesData; // 0x0 - CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18 + CUtlBinaryBlock m_keyValuesData; // 0x0 + CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18 }; -// Aligment: 3 -// Size: 24 -struct MaterialOverride_t : public BaseSceneObjectOverride_t -{ -public: - uint32_t m_nSubSceneObject; // 0x4 - uint32_t m_nDrawCallIndex; // 0x8 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x10 -}; - -// Aligment: 10 -// Size: 112 -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 -}; - -// Aligment: 4 -// Size: 200 -struct World_t -{ -public: - WorldBuilderParams_t m_builderParams; // 0x0 - CUtlVector< NodeData_t > m_worldNodes; // 0x68 - BakedLightingInfo_t m_worldLightingInfo; // 0x80 - CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0xb0 -}; - -// Aligment: 9 -// Size: 60 -struct AggregateMeshInfo_t -{ -public: - Vector[2] m_vWorldBounds; // 0x0 - uint32_t m_nVisClusterMemberOffset; // 0x18 - uint8_t m_nVisClusterMemberCount; // 0x1c - uint8_t m_nLODGroupMask; // 0x1d - int32_t m_nCubeMapPrecomputedHandshake; // 0x20 - ObjectTypeFlags_t m_objectFlags; // 0x24 - Vector m_vLODOrigin; // 0x28 - float m_fLODStartDrawDistance; // 0x34 - float m_fLODEndDrawDistance; // 0x38 -}; - -// Aligment: 4 -// Size: 56 -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 -}; - -// Aligment: 0 -// Size: 1 -struct InfoForResourceTypeVMapResourceData_t -{ -public: -// -}; - -// Aligment: 2 -// Size: 8 -struct voxel_vis_mergelist_t -{ -public: - uint32_t m_nFirstCluster; // 0x0 - uint32_t m_nClusterCount; // 0x4 -}; - -// Aligment: 5 -// Size: 48 -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 -}; - -// Aligment: 2 -// Size: 8 -struct voxel_vis_cluster_t -{ -public: - uint32_t m_nBlockIndex; // 0x0 - uint32_t m_nOffsetIntoBlock; // 0x4 -}; - -// Aligment: 7 -// Size: 48 -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 -}; - -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct BaseSceneObjectOverride_t { public: - uint32_t m_nSceneObjectIndex; // 0x0 + uint32_t m_nSceneObjectIndex; // 0x0 }; -// Aligment: 13 -// Size: 320 +// 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: 4 +// Size: 0xc8 +struct World_t +{ +public: + WorldBuilderParams_t m_builderParams; // 0x0 + CUtlVector< NodeData_t > m_worldNodes; // 0x68 + BakedLightingInfo_t m_worldLightingInfo; // 0x80 + CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0xb0 +}; + +// Alignment: 9 +// Size: 0x3c +struct AggregateMeshInfo_t +{ +public: + Vector m_vWorldBounds[2]; // 0x0 + uint32_t m_nVisClusterMemberOffset; // 0x18 + uint8_t m_nVisClusterMemberCount; // 0x1c + uint8_t m_nLODGroupMask; // 0x1d +private: + [[maybe_unused]] uint8_t __pad001e[0x2]; // 0x1e +public: + int32_t m_nCubeMapPrecomputedHandshake; // 0x20 + ObjectTypeFlags_t m_objectFlags; // 0x24 + Vector m_vLODOrigin; // 0x28 + float m_fLODStartDrawDistance; // 0x34 + float m_fLODEndDrawDistance; // 0x38 +}; + +// 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: 2 +// Size: 0x8 +struct voxel_vis_mergelist_t +{ +public: + uint32_t m_nFirstCluster; // 0x0 + uint32_t m_nClusterCount; // 0x4 +}; + +// 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: 2 +// Size: 0x8 +struct voxel_vis_cluster_t +{ +public: + uint32_t m_nBlockIndex; // 0x0 + uint32_t m_nOffsetIntoBlock; // 0x4 +}; + +// 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 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x10 +}; + +// Alignment: 13 +// Size: 0x140 struct WorldNode_t { public: - CUtlVector< SceneObject_t > m_sceneObjects; // 0x0 - CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18 - CUtlVector< uint16 > m_visClusterMembership; // 0x30 - CUtlVector< AABB_t > m_boundsGroups; // 0x48 - CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x60 - CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x78 - CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x90 - CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0xa8 - CUtlVector< CUtlString > m_layerNames; // 0xc0 - CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xd8 - CUtlVector< uint8 > m_overlayLayerIndices; // 0xf0 - CUtlString m_grassFileName; // 0x108 - BakedLightingInfo_t m_nodeLightingInfo; // 0x110 + CUtlVector< SceneObject_t > m_sceneObjects; // 0x0 + CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18 + CUtlVector< uint16 > m_visClusterMembership; // 0x30 + CUtlVector< AABB_t > m_boundsGroups; // 0x48 + CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x60 + CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x78 + CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x90 + CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0xa8 + CUtlVector< CUtlString > m_layerNames; // 0xc0 + CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xd8 + CUtlVector< uint8 > m_overlayLayerIndices; // 0xf0 + CUtlString m_grassFileName; // 0x108 + BakedLightingInfo_t m_nodeLightingInfo; // 0x110 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 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 }; -// Aligment: 21 -// Size: 104 +// Alignment: 21 +// Size: 0x68 struct WorldBuilderParams_t { public: - int32_t m_nSizeBytesPerVoxel; // 0x0 - float m_flMinDrawVolumeSize; // 0x4 - float m_flMinDistToCamera; // 0x8 - float m_flMinAtlasDist; // 0xc - float m_flMinSimplifiedDist; // 0x10 - float m_flHorzFOV; // 0x14 - float m_flHalfScreenWidth; // 0x18 - int32_t m_nAtlasTextureSizeX; // 0x1c - int32_t m_nAtlasTextureSizeY; // 0x20 - int32_t m_nUniqueTextureSizeX; // 0x24 - int32_t m_nUniqueTextureSizeY; // 0x28 - int32_t m_nCompressedAtlasSize; // 0x2c - float m_flGutterSize; // 0x30 - float m_flUVMapThreshold; // 0x34 - Vector m_vWorldUnitsPerTile; // 0x38 - int32_t m_nMaxTexScaleSlots; // 0x44 - bool m_bWrapInAtlas; // 0x48 - bool m_bBuildBakedLighting; // 0x49 - Vector2D m_vLightmapUvScale; // 0x4c - uint64_t m_nCompileTimestamp; // 0x58 - uint64_t m_nCompileFingerprint; // 0x60 + int32_t m_nSizeBytesPerVoxel; // 0x0 + float m_flMinDrawVolumeSize; // 0x4 + float m_flMinDistToCamera; // 0x8 + float m_flMinAtlasDist; // 0xc + float m_flMinSimplifiedDist; // 0x10 + float m_flHorzFOV; // 0x14 + float m_flHalfScreenWidth; // 0x18 + int32_t m_nAtlasTextureSizeX; // 0x1c + int32_t m_nAtlasTextureSizeY; // 0x20 + int32_t m_nUniqueTextureSizeX; // 0x24 + int32_t m_nUniqueTextureSizeY; // 0x28 + int32_t m_nCompressedAtlasSize; // 0x2c + float m_flGutterSize; // 0x30 + float m_flUVMapThreshold; // 0x34 + Vector m_vWorldUnitsPerTile; // 0x38 + int32_t m_nMaxTexScaleSlots; // 0x44 + bool m_bWrapInAtlas; // 0x48 + bool m_bBuildBakedLighting; // 0x49 +private: + [[maybe_unused]] uint8_t __pad004a[0x2]; // 0x4a +public: + Vector2D m_vLightmapUvScale; // 0x4c +private: + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 +public: + uint64_t m_nCompileTimestamp; // 0x58 + uint64_t m_nCompileFingerprint; // 0x60 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct VMapResourceData_t { public: -// + // no members available }; -// Aligment: 8 -// Size: 80 +// Alignment: 8 +// Size: 0x50 struct NodeData_t { public: - int32_t m_Flags; // 0x0 - int32_t m_nParent; // 0x4 - Vector m_vOrigin; // 0x8 - Vector m_vMinBounds; // 0x14 - Vector m_vMaxBounds; // 0x20 - float m_flMinimumDistance; // 0x2c - CUtlVector< int32 > m_ChildNodeIndices; // 0x30 - CUtlString m_worldNodePrefix; // 0x48 + int32_t m_Flags; // 0x0 + int32_t m_nParent; // 0x4 + Vector m_vOrigin; // 0x8 + Vector m_vMinBounds; // 0x14 + Vector m_vMaxBounds; // 0x20 + float m_flMinimumDistance; // 0x2c + CUtlVector< int32 > m_ChildNodeIndices; // 0x30 + CUtlString m_worldNodePrefix; // 0x48 }; -// Aligment: 8 -// Size: 96 +// Alignment: 8 +// Size: 0x60 struct AggregateSceneObject_t { public: - Vector[2] m_vWorldBounds; // 0x0 - ObjectTypeFlags_t m_allFlags; // 0x18 - ObjectTypeFlags_t m_anyFlags; // 0x1c - int16_t m_nLayer; // 0x20 - int16_t m_nBoundsGroupIndex; // 0x22 - CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x28 - CUtlVector< uint16 > m_visClusterMembership; // 0x40 - CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58 + Vector m_vWorldBounds[2]; // 0x0 + ObjectTypeFlags_t m_allFlags; // 0x18 + ObjectTypeFlags_t m_anyFlags; // 0x1c + int16_t m_nLayer; // 0x20 + int16_t m_nBoundsGroupIndex; // 0x22 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x28 + CUtlVector< uint16 > m_visClusterMembership; // 0x40 + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 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 }; -// Aligment: 16 -// Size: 144 +// Alignment: 16 +// Size: 0x90 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 - int16_t m_nBoundsGroupIndex; // 0x78 - 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 + int16_t m_nBoundsGroupIndex; // 0x78 +private: + [[maybe_unused]] uint8_t __pad007a[0x6]; // 0x7a +public: + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x80 + CStrongHandle< InfoForResourceTypeCRenderMesh > m_renderable; // 0x88 }; -// Aligment: 0 -// Size: 40 +// Alignment: 0 +// Size: 0x28 class CParticleProperty { public: -// + // no members available }; -// Aligment: 3 -// Size: 400 -class C_OP_LerpEndCapScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "value to lerp to" - float m_flOutput; // 0x184 - // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x188 -}; - -// Aligment: 11 -// Size: 432 -class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x180 - // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x184 - // MPropertyFriendlyName "percentage bias" - float m_flInputBias; // 0x188 - // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x18c - // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x190 - // MPropertyFriendlyName "offset control point" - int32_t m_nOffsetCP; // 0x194 - // MPropertyFriendlyName "output control point" - int32_t m_nOuputCP; // 0x198 - // MPropertyFriendlyName "input control point" - int32_t m_nInputCP; // 0x19c - // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x1a0 - // MPropertyFriendlyName "treat offset as scale of total distance" - bool m_bScaleOffset; // 0x1a1 - // MPropertyFriendlyName "offset amount" - // MVectorIsCoordinate - Vector m_vecOffset; // 0x1a4 -}; - -// Aligment: 4 -// Size: 416 -class C_INIT_SequenceFromCP : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "kill unused" - bool m_bKillUnused; // 0x180 - // MPropertyFriendlyName "offset propotional to radius" - bool m_bRadiusScale; // 0x181 - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x184 - // MPropertyFriendlyName "per particle spatial offset" - // MVectorIsCoordinate - Vector m_vecOffset; // 0x188 -}; - -// Aligment: 0 -// Size: 464 -class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar, C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction -{ -public: -// -}; - -// Aligment: 2 -// Size: 1472 -class C_INIT_InitVecCollection : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "value" - CParticleCollectionVecInput m_InputValue; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x5b0 -}; - -// Aligment: 7 -// Size: 656 -class C_OP_RotateVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "rotation axis min" - // MVectorIsCoordinate - Vector m_vecRotAxisMin; // 0x184 - // MPropertyFriendlyName "rotation axis max" - // MVectorIsCoordinate - Vector m_vecRotAxisMax; // 0x190 - // MPropertyFriendlyName "rotation rate min" - float m_flRotRateMin; // 0x19c - // MPropertyFriendlyName "rotation rate max" - float m_flRotRateMax; // 0x1a0 - // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x1a4 - // MPropertyFriendlyName "per particle scale" - CPerParticleFloatInput m_flScale; // 0x1a8 -}; - -// Aligment: 8 -// Size: 464 -class C_OP_RampScalarLinear : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x180 - // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x184 - // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x188 - // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x18c - // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x190 - // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x194 - // MPropertyFriendlyName "ramp field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1c0 - // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1c4 -}; - -// Aligment: 2 -// Size: 240 -struct FloatInputMaterialVariable_t -{ -public: - // MPropertyFriendlyName "material variable" - CUtlString m_strVariable; // 0x0 - // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInput; // 0x8 -}; - -// Aligment: 8 -// Size: 2080 -class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "Control Point for Model" - int32_t m_nMaterialControlPoint; // 0x1d0 - // MPropertyFriendlyName "proxy type" - MaterialProxyType_t m_nProxyType; // 0x1d4 - // MPropertyFriendlyName "material variables" - // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1d8 - // MPropertyFriendlyName "material override" - // MPropertyAttributeEditor "AssetBrowse( vmat )" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1f0 - // MPropertyFriendlyName "material override enable" - CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x1f8 - // MPropertyFriendlyName "model tint" - CParticleCollectionVecInput m_vecColorScale; // 0x2e0 - // MPropertyFriendlyName "model alpha" - CPerParticleFloatInput m_flAlpha; // 0x710 - // MPropertyFriendlyName "model tint blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0x7f8 -}; - -// Aligment: 10 -// Size: 432 -class C_OP_CycleScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "destination scalar field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDestField; // 0x180 - // MPropertyFriendlyName "Value at start of cycle" - float m_flStartValue; // 0x184 - // MPropertyFriendlyName "Value at end of cycle" - float m_flEndValue; // 0x188 - // MPropertyFriendlyName "Cycle time" - float m_flCycleTime; // 0x18c - // MPropertyFriendlyName "Do not repeat cycle" - bool m_bDoNotRepeatCycle; // 0x190 - // MPropertyFriendlyName "Synchronize particles" - bool m_bSynchronizeParticles; // 0x191 - // MPropertyFriendlyName "Scale Start/End Control Point" - int32_t m_nCPScale; // 0x194 - // MPropertyFriendlyName "start scale control point field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMin; // 0x198 - // MPropertyFriendlyName "end scale control point field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMax; // 0x19c - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a0 -}; - -// Aligment: 5 -// Size: 896 -class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x180 - // MPropertyFriendlyName "input 1" - CPerParticleFloatInput m_flInput1; // 0x188 - // MPropertyFriendlyName "input 2" - CPerParticleFloatInput m_flInput2; // 0x270 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x358 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x35c -}; - -// Aligment: 0 -// Size: 384 -class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint, CParticleFunction -{ -public: -// -}; - -// Aligment: 10 -// Size: 512 -class C_OP_RenderTreeShake : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "peak strength" - float m_flPeakStrength; // 0x1d0 - // MPropertyFriendlyName "peak strength field override" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x1d4 - // MPropertyFriendlyName "radius" - float m_flRadius; // 0x1d8 - // MPropertyFriendlyName "strength field override" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x1dc - // MPropertyFriendlyName "shake duration after end" - float m_flShakeDuration; // 0x1e0 - // MPropertyFriendlyName "amount of time taken to smooth between different shake parameters" - float m_flTransitionTime; // 0x1e4 - // MPropertyFriendlyName "Twist amount (-1..1)" - float m_flTwistAmount; // 0x1e8 - // MPropertyFriendlyName "Radial Amount (-1..1)" - float m_flRadialAmount; // 0x1ec - // MPropertyFriendlyName "Control Point Orientation Amount (-1..1)" - float m_flControlPointOrientationAmount; // 0x1f0 - // MPropertyFriendlyName "Control Point for Orientation Amount" - int32_t m_nControlPointForLinearDirection; // 0x1f4 -}; - -// Aligment: 8 -// Size: 880 -class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x180 - // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x184 - // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x188 - // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_nParticleIncrement; // 0x190 - // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x278 - // MPropertyFriendlyName "set orientation from velocity" - bool m_bSetOrientation; // 0x360 - // MPropertyFriendlyName "orientation vector" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOrientationField; // 0x364 - // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x368 -}; - -// Aligment: 24 -// Size: 6656 -class C_OP_RenderSprites : public CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "sequence id override" - // MPropertySortPriority "500" - CParticleCollectionFloatInput m_nSequenceOverride; // 0x16f0 - // MPropertyStartGroup "Orientation" - // MPropertyFriendlyName "orientation type" - // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x17d8 - // 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; // 0x17dc - // 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; // 0x17e0 - // MPropertyStartGroup "Fading and culling" - // MPropertyFriendlyName "minimum visual size" - // MPropertySortPriority "1000" - float m_flMinSize; // 0x17e4 - // MPropertyFriendlyName "maximum visual size" - // MPropertySortPriority "1000" - float m_flMaxSize; // 0x17e8 - // MPropertyFriendlyName "Factor to map size adjustment to alpha" - // MPropertySortPriority "1000" - float m_flAlphaAdjustWithSizeAdjust; // 0x17ec - // MPropertyStartGroup - // MPropertyFriendlyName "size at which to start fading" - // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x17f0 - // MPropertyFriendlyName "size at which to fade away" - // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x18d8 - // MPropertyStartGroup "Fading and culling" - // MPropertyFriendlyName "start dot product value for fading as the particle normal becomes aligned with the view vector" - // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x19c0 - // MPropertyFriendlyName "end dot product value for fading as the particle normal becomes aligned with the view vector" - // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x19c4 - // MPropertyStartGroup "Distance to alpha coding" - // MPropertyFriendlyName "distance alpha" - // MPropertySortPriority "0" - bool m_bDistanceAlpha; // 0x19c8 - // MPropertyFriendlyName "use soft edges for distance alpha" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bDistanceAlpha" - bool m_bSoftEdges; // 0x19c9 - // MPropertyFriendlyName "start value for soft edges for distance alpha" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessStart; // 0x19cc - // MPropertyFriendlyName "end value for soft edges for distance alpha" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessEnd; // 0x19d0 - // MPropertyStartGroup "Outlining" - // MPropertyFriendlyName "enable particle outlining" - // MPropertySortPriority "0" - bool m_bOutline; // 0x19d4 - // MPropertyFriendlyName "outline color" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - Color m_OutlineColor; // 0x19d5 - // MPropertyFriendlyName "outline alpha" - // MPropertyAttributeRange "0 255" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - int32_t m_nOutlineAlpha; // 0x19dc - // MPropertyFriendlyName "outline start 0" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart0; // 0x19e0 - // MPropertyFriendlyName "outline start 1" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart1; // 0x19e4 - // MPropertyFriendlyName "outline end 0" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd0; // 0x19e8 - // MPropertyFriendlyName "outline end 1" - // MPropertySortPriority "0" - // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd1; // 0x19ec - // MPropertyStartGroup "Lighting and Shadows" - // MPropertyFriendlyName "Particle Shadows" - // MPropertySortPriority "400" - bool m_bParticleShadows; // 0x19f0 - // MPropertyFriendlyName "Shadow Density" - // MPropertySortPriority "400" - // MPropertySuppressExpr "!m_bParticleShadows" - float m_flShadowDensity; // 0x19f4 -}; - -// Aligment: 5 -// Size: 528 -class C_INIT_ModelCull : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x184 - // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x185 - // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x186 - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x187 -}; - -// Aligment: 2 -// Size: 400 -class C_OP_ExternalWindForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point to sample wind" - int32_t m_nCP; // 0x180 - // MPropertyFriendlyName "scale" - Vector m_vecScale; // 0x184 -}; - -// Aligment: 1 -// Size: 24 -struct PointDefinitionWithTimeValues_t : public PointDefinition_t -{ -public: - // MPropertyFriendlyName "Duration value for path point" - float m_flTimeDuration; // 0x14 -}; - -// Aligment: 0 -// Size: 416 -class C_OP_SpinYaw : public CGeneralSpin, CParticleFunctionOperator, CParticleFunction -{ -public: -// -}; - -// Aligment: 5 -// Size: 432 -class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point input" - int32_t m_nCPInput; // 0x190 - // MPropertyFriendlyName "control point number to set velocity" - int32_t m_nCPOutputVel; // 0x194 - // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x198 - // MPropertyFriendlyName "control point number to set magnitude" - int32_t m_nCPOutputMag; // 0x19c - // MPropertyFriendlyName "control point field for magnitude" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1a0 -}; - -// Aligment: 3 -// Size: 416 -class C_OP_ParentVortices : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "amount of force" - float m_flForceScale; // 0x180 - // MPropertyFriendlyName "twist axis" - // MVectorIsCoordinate - Vector m_vecTwistAxis; // 0x184 - // MPropertyFriendlyName "flip twist axis with yaw" - bool m_bFlipBasedOnYaw; // 0x190 -}; - -// Aligment: 6 -// Size: 48 -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 -}; - -// Aligment: 3 -// Size: 416 -class C_OP_SetToCP : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "offset" - Vector m_vecOffset; // 0x184 - // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x190 -}; - -// Aligment: 7 -// Size: 432 -class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x190 - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x194 - // MPropertyFriendlyName "output CP component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x198 - // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x19c - // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x1a0 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1a4 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1a8 -}; - -// Aligment: 2 -// Size: 624 -class C_INIT_QuantizeFloat : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "interval to snap to" - CPerParticleFloatInput m_InputValue; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x268 -}; - -// Aligment: 7 -// Size: 1328 -class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_nInputMin; // 0x188 - // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_nInputMax; // 0x270 - // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x358 - // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x440 - // MPropertyFriendlyName - bool m_bActiveRange; // 0x528 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x52c -}; - -// Aligment: 0 -// Size: 16 -class IParticleCollection -{ -public: -// -}; - -// Aligment: 7 -// Size: 432 -class C_OP_VectorNoise : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x184 - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x190 - // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x19c - // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x1a0 - // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x1a1 - // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x1a4 -}; - -// Aligment: 1 -// Size: 416 -class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_ControlPoint; // 0x190 -}; - -// Aligment: 6 -// Size: 656 -class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "warp min" - // MVectorIsCoordinate - Vector m_vecWarpMin; // 0x180 - // MPropertyFriendlyName "warp max" - // MVectorIsCoordinate - Vector m_vecWarpMax; // 0x18c - // MPropertyFriendlyName "warp amount" - CPerParticleFloatInput m_InputValue; // 0x198 - // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x280 - // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0x284 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x288 -}; - -// Aligment: 5 -// Size: 1328 -class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // MPropertyFriendlyName "slack" - CParticleCollectionFloatInput m_flRestLength; // 0x180 - // MPropertyFriendlyName "minimum segment length %" - CParticleCollectionFloatInput m_flMinDistance; // 0x268 - // MPropertyFriendlyName "maximum segment length %" - CParticleCollectionFloatInput m_flMaxDistance; // 0x350 - // MPropertyFriendlyName "scale factor for spring correction" - float m_flAdjustmentScale; // 0x438 - // MPropertyFriendlyName "manual resting spacing" - CParticleCollectionFloatInput m_flInitialRestingLength; // 0x440 -}; - -// Aligment: 11 -// Size: 1344 -class C_OP_CylindricalDistanceToCP : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "cylinder inner radius" - CPerParticleFloatInput m_flInputMin; // 0x188 - // MPropertyFriendlyName "cylinder outer radius" - CPerParticleFloatInput m_flInputMax; // 0x270 - // MPropertyFriendlyName "cylinder inner output" - CPerParticleFloatInput m_flOutputMin; // 0x358 - // MPropertyFriendlyName "cylinder outer output" - CPerParticleFloatInput m_flOutputMax; // 0x440 - // MPropertyFriendlyName "cylinder top control point" - int32_t m_nStartCP; // 0x528 - // MPropertyFriendlyName "cylinder bottom control point" - int32_t m_nEndCP; // 0x52c - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x530 - // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x534 - // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x535 - // MPropertyFriendlyName "apply radius to ends (capsule)" - bool m_bCapsule; // 0x536 -}; - -// Aligment: 2 -// Size: 416 -class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point input for velocity" - int32_t m_nCPInput; // 0x190 - // MPropertyFriendlyName "control point output for orientation" - int32_t m_nCPOutput; // 0x194 -}; - -// Aligment: 0 -// Size: 464 -class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar, CParticleFunctionInitializer, CParticleFunction -{ -public: -// -}; - -// Aligment: 0 -// Size: 384 -class CParticleFunctionEmitter : public CParticleFunction -{ -public: -// -}; - -// Aligment: 4 -// Size: 400 -class C_INIT_RemapInitialCPDirectionToRotation : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 - // MPropertyFriendlyName "rotation field" - // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x188 - // MPropertyFriendlyName "control point axis" - // MPropertyAttributeChoiceName "vector_component" - // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x18c -}; - -// Aligment: 42 -// Size: 6208 -class C_OP_RenderModels : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "Only Render in effects bloom pass" - // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x1d0 - // MPropertyFriendlyName "Use Mixed Resolution Rendering" - // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x1d1 - // MPropertyFriendlyName "models" - // MParticleRequireDefaultArrayEntry - // MPropertyAutoExpandSelf - // MPropertySortPriority "775" - CUtlVector< ModelReference_t > m_ModelList; // 0x1d8 - // MPropertyFriendlyName "bodygroup field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nBodyGroupField; // 0x1f4 - // MPropertyFriendlyName "submodel field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSubModelField; // 0x1f8 - // MPropertyStartGroup "Orientation" - // MPropertyFriendlyName "ignore normal" - // MPropertySortPriority "750" - bool m_bIgnoreNormal; // 0x1fc - // MPropertyFriendlyName "orient model z to normal" - // MPropertySortPriority "750" - // MPropertySuppressExpr "m_bIgnoreNormal" - bool m_bOrientZ; // 0x1fd - // MPropertyFriendlyName "model local offset" - // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalOffset; // 0x200 - // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" - // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalRotation; // 0x630 - // MPropertyStartGroup "Model Scale" - // MPropertyFriendlyName "ignore radius" - // MPropertySortPriority "450" - bool m_bIgnoreRadius; // 0xa60 - // MPropertyFriendlyName "model scale CP" - // MPropertySortPriority "450" - int32_t m_nModelScaleCP; // 0xa64 - // MPropertyFriendlyName "model component scale" - // MPropertySortPriority "700" - CPerParticleVecInput m_vecComponentScale; // 0xa68 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animated" - // MPropertySortPriority "500" - bool m_bAnimated; // 0xe98 - // MPropertyFriendlyName "animation rate" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - float m_flAnimationRate; // 0xe9c - // MPropertyFriendlyName "scale animation rate" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bScaleAnimationRate; // 0xea0 - // MPropertyFriendlyName "force looping animations" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bForceLoopingAnimation; // 0xea1 - // MPropertyFriendlyName "reset animation frame on stop" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bResetAnimOnStop; // 0xea2 - // MPropertyFriendlyName "set animation frame manually" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bManualAnimFrame; // 0xea3 - // MPropertyFriendlyName "animation rate scale field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - ParticleAttributeIndex_t m_nAnimationScaleField; // 0xea4 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animation sequence field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "500" - ParticleAttributeIndex_t m_nAnimationField; // 0xea8 - // MPropertyFriendlyName "manual animation frame field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" - ParticleAttributeIndex_t m_nManualFrameField; // 0xeac - // MPropertyFriendlyName "activity override" - // MPropertySortPriority "500" - char[256] m_ActivityName; // 0xeb0 - // MPropertyFriendlyName "Enable Cloth Simulation" - bool m_bEnableClothSimulation; // 0xfb0 - // MPropertyStartGroup "Material" - // MPropertyFriendlyName "material override" - // MPropertyAttributeEditor "AssetBrowse( vmat )" - // MPropertySortPriority "600" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0xfb8 - // MPropertyFriendlyName "override translucent materials" - // MPropertySortPriority "600" - bool m_bOverrideTranslucentMaterials; // 0xfc0 - // MPropertyFriendlyName "skin number" - // MPropertySortPriority "600" - int32_t m_nSkin; // 0xfc4 - // MPropertyFriendlyName "skin override CP" - // MPropertySortPriority "600" - int32_t m_nSkinCP; // 0xfc8 - // MPropertyFriendlyName "material variables" - // MPropertyAutoExpandSelf - // MPropertySortPriority "600" - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0xfd0 - // MPropertyStartGroup "Model Overrides" - // MPropertyFriendlyName "model LOD" - int32_t m_nLOD; // 0xfe8 - // MPropertyFriendlyName "model override CP" - int32_t m_nModelCP; // 0xfec - // MPropertyFriendlyName "model override economy loadout slot type" - char[256] m_EconSlotName; // 0xff0 - // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" - bool m_bOriginalModel; // 0x10f0 - // MPropertyFriendlyName "suppress tinting of the model" - bool m_bSuppressTint; // 0x10f1 - // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" - bool m_bUseRawMeshGroup; // 0x10f2 - // MPropertyFriendlyName "disable shadows" - bool m_bDisableShadows; // 0x10f3 - // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" - bool m_bForceDrawInterlevedWithSiblings; // 0x10f4 - // MPropertyFriendlyName "render attribute" - char[260] m_szRenderAttribute; // 0x10f5 - // MPropertyStartGroup "+Renderer Modifiers" - // MPropertyFriendlyName "Radius Scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1200 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x12e8 - // MPropertyFriendlyName "per-particle alpha scale attribute" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x13d0 - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x13d8 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x1808 -}; - -// Aligment: 7 -// Size: 416 -class C_OP_RemapSpeed : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x184 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x188 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x18c - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x190 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x194 - // MPropertyFriendlyName "ignore delta time" - // MParticleAdvancedField - bool m_bIgnoreDelta; // 0x198 -}; - -// Aligment: 0 -// Size: 384 -class CParticleFunctionConstraint : public CParticleFunction -{ -public: -// -}; - -// Aligment: 3 -// Size: 16 -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 -}; - -// Aligment: 4 -// Size: 400 -class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "attribute to read from" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x184 - // MPropertyFriendlyName "attribute to cache to" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 - // MPropertyFriendlyName "local space" - bool m_bLocalSpace; // 0x18c -}; - -// Aligment: 3 -// Size: 120 -struct ParticleControlPointConfiguration_t -{ -public: - CUtlString m_name; // 0x0 - CUtlVector< ParticleControlPointDriver_t > m_drivers; // 0x8 - ParticlePreviewState_t m_previewState; // 0x20 -}; - -// Aligment: 7 -// Size: 448 -class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "min distance from plane" - float m_flMinDist; // 0x180 - // MPropertyFriendlyName "force at min distance" - // MVectorIsCoordinate - Vector m_vecForceAtMinDist; // 0x184 - // MPropertyFriendlyName "max distance from plane" - float m_flMaxDist; // 0x190 - // MPropertyFriendlyName "force at max distance" - // MVectorIsCoordinate - Vector m_vecForceAtMaxDist; // 0x194 - // MPropertyFriendlyName "plane normal" - // MVectorIsCoordinate - Vector m_vecPlaneNormal; // 0x1a0 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1ac - // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1b0 -}; - -// Aligment: 0 -// Size: 384 -class C_OP_EndCapDecay : public CParticleFunctionOperator, CParticleFunction -{ -public: -// -}; - -// Aligment: 12 -// Size: 432 -class C_OP_PercentageBetweenCPLerpCPs : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x184 - // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x188 - // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x18c - // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x190 - // MPropertyFriendlyName "output starting control point number" - int32_t m_nOutputStartCP; // 0x194 - // MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z" - int32_t m_nOutputStartField; // 0x198 - // MPropertyFriendlyName "output ending control point number" - int32_t m_nOutputEndCP; // 0x19c - // MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z" - int32_t m_nOutputEndField; // 0x1a0 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a4 - // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x1a8 - // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x1a9 -}; - -// Aligment: 15 -// Size: 1728 -class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x188 - // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x270 - // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x358 - // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x440 - // MPropertyFriendlyName "control point" - int32_t m_nStartCP; // 0x528 - // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x52c - // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x52d - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x5b0 - // MPropertyFriendlyName "Maximum Trace Length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x5b8 - // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x6a0 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x6a4 - // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x6a8 - // MPropertyFriendlyName "distance component scale" - Vector m_vecDistanceScale; // 0x6ac - // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x6b8 -}; - -// Aligment: 3 -// Size: 640 -class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x190 - // MPropertyFriendlyName "first child to enable" - int32_t m_nFirstChild; // 0x194 - // MPropertyFriendlyName "max # of children to enable (-1 for max particle count)" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x198 -}; - -// Aligment: 3 -// Size: 480 -class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "flattening strength" - float m_flFlattenStrength; // 0x1d0 - // MPropertyFriendlyName "strength field override" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x1d4 - // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x1d8 -}; - -// Aligment: 6 -// Size: 416 -class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPoint; // 0x184 - // MPropertyFriendlyName "scale control point field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleCPField; // 0x188 - // MPropertyFriendlyName "cache attribute to read from" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x18c - // MPropertyFriendlyName "attribute to write to" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x190 - // MPropertyFriendlyName "local space" - bool m_bOffsetLocal; // 0x194 -}; - -// Aligment: 9 -// Size: 432 -class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "pickover A parameter" - float m_flAParm; // 0x180 - // MPropertyFriendlyName "pickover B parameter" - float m_flBParm; // 0x184 - // MPropertyFriendlyName "pickover C parameter" - float m_flCParm; // 0x188 - // MPropertyFriendlyName "pickover D parameter" - float m_flDParm; // 0x18c - // MPropertyFriendlyName "scale" - float m_flScale; // 0x190 - // MPropertyFriendlyName "speed min" - float m_flSpeedMin; // 0x194 - // MPropertyFriendlyName "speed max" - float m_flSpeedMax; // 0x198 - // MPropertyFriendlyName "relative control point number" - int32_t m_nBaseCP; // 0x19c - // MPropertyFriendlyName "uniform speed" - bool m_bUniformSpeed; // 0x1a0 -}; - -// Aligment: 4 -// Size: 448 -class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x180 - // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x184 - // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x188 - // MPropertyFriendlyName "ramp field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1b0 -}; - -// Aligment: 5 -// Size: 416 -class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "scale" - float m_flScale; // 0x180 - // MPropertyFriendlyName "inherited field" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x188 - // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x18c - // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x190 -}; - -// Aligment: 12 -// Size: 432 -class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x184 - // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x188 - // MPropertyFriendlyName "input scale control point" - int32_t m_nScaleControlPoint; // 0x18c - // MPropertyFriendlyName "input scale control point field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x190 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x19c - // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x1a0 - // MPropertyFriendlyName "invert input from total particle count" - bool m_bInvert; // 0x1a1 - // MPropertyFriendlyName "wrap input" - bool m_bWrap; // 0x1a2 - // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x1a4 -}; - -// Aligment: 10 -// Size: 448 -class C_INIT_RandomColor : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x198 - // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x19c - // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x1a0 - // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x1a4 - // MPropertyFriendlyName "tint perc" - float m_flTintPerc; // 0x1a8 - // MPropertyFriendlyName "tint update movement threshold" - float m_flUpdateThreshold; // 0x1ac - // MPropertyFriendlyName "tint control point" - int32_t m_nTintCP; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 - // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x1b8 - // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x1bc -}; - -// Aligment: 4 -// Size: 672 -class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x180 - // MPropertyFriendlyName "input attribute from" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInputFrom; // 0x268 - // MPropertyFriendlyName "input attribute to" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x26c - // MPropertyFriendlyName "output attribute" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x270 -}; - -// Aligment: 5 -// Size: 432 -class C_INIT_PointList : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x188 - // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x1a0 - // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x1a1 - // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x1a4 -}; - -// Aligment: 36 -// Size: 232 -class CParticleFloatInput -{ -public: - ParticleFloatType_t m_nType; // 0x0 - ParticleFloatMapType_t m_nMapType; // 0x4 - float m_flLiteralValue; // 0x8 - int32_t m_nControlPoint; // 0xc - ParticleAttributeIndex_t m_nScalarAttribute; // 0x10 - ParticleAttributeIndex_t m_nVectorAttribute; // 0x14 - int32_t m_nVectorComponent; // 0x18 - float m_flRandomMin; // 0x1c - float m_flRandomMax; // 0x20 - ParticleFloatRandomMode_t m_nRandomMode; // 0x24 - float m_flLOD0; // 0x2c - float m_flLOD1; // 0x30 - float m_flLOD2; // 0x34 - float m_flLOD3; // 0x38 - float m_flNoiseOutputMin; // 0x3c - float m_flNoiseOutputMax; // 0x40 - float m_flNoiseScale; // 0x44 - Vector m_vecNoiseOffsetRate; // 0x48 - float m_flNoiseOffset; // 0x54 - int32_t m_nNoiseOctaves; // 0x58 - PFNoiseTurbulence_t m_nNoiseTurbulence; // 0x5c - PFNoiseType_t m_nNoiseType; // 0x60 - PFNoiseModifier_t m_nNoiseModifier; // 0x64 - float m_flNoiseTurbulenceScale; // 0x68 - float m_flNoiseTurbulenceMix; // 0x6c - float m_flNoiseImgPreviewScale; // 0x70 - bool m_bNoiseImgPreviewLive; // 0x74 - ParticleFloatInputMode_t m_nInputMode; // 0x7c - float m_flMultFactor; // 0x80 - float m_flInput0; // 0x84 - float m_flInput1; // 0x88 - float m_flOutput0; // 0x8c - float m_flOutput1; // 0x90 - ParticleFloatBiasType_t m_nBiasType; // 0x94 - float m_flBiasParameter; // 0x98 - CPiecewiseCurveSchemaWrapper m_Curve; // 0xa0 -}; - -// Aligment: 8 -// Size: 784 -class C_OP_MoveToHitbox : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "lifetime lerp start" - float m_flLifeTimeLerpStart; // 0x188 - // MPropertyFriendlyName "lifetime lerp end" - float m_flLifeTimeLerpEnd; // 0x18c - // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x190 - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x194 - // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x214 - // MPropertyFriendlyName "lerp type" - HitboxLerpType_t m_nLerpType; // 0x218 - // MPropertyFriendlyName "Constant Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x220 -}; - -// Aligment: 1 -// Size: 1456 -class C_INIT_ScaleVelocity : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "velocity scale" - // MVectorIsCoordinate - CParticleCollectionVecInput m_vecScale; // 0x180 -}; - -// Aligment: 7 -// Size: 480 -class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "model" - // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 - // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x188 - // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x1a0 - // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x1b8 - // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x1d0 - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1d4 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8 -}; - -// Aligment: 2 -// Size: 624 -class C_OP_CPVelocityForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "velocity scale" - CPerParticleFloatInput m_flScale; // 0x188 -}; - -// Aligment: 7 -// Size: 416 -class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "override CP (X/Y/Z *= radius/density/speed)" - int32_t m_nOverrideCP; // 0x184 - // MPropertyFriendlyName "density" - int32_t m_nDensity; // 0x188 - // MPropertyFriendlyName "initial radius" - float m_flInitialRadius; // 0x18c - // MPropertyFriendlyName "min initial speed" - float m_flInitialSpeedMin; // 0x190 - // MPropertyFriendlyName "max initial speed" - float m_flInitialSpeedMax; // 0x194 - // MPropertyFriendlyName "use particle count as density scale" - bool m_bUseParticleCount; // 0x198 -}; - -// Aligment: 6 -// Size: 416 -class C_OP_LockPoints : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "min column/particle index to affect" - int32_t m_nMinCol; // 0x180 - // MPropertyFriendlyName "max column/particle index to affect" - int32_t m_nMaxCol; // 0x184 - // MPropertyFriendlyName "min row/particle index to affect" - int32_t m_nMinRow; // 0x188 - // MPropertyFriendlyName "max row/particle index to affect" - int32_t m_nMaxRow; // 0x18c - // MPropertyFriendlyName "control point to lock to" - int32_t m_nControlPoint; // 0x190 - // MPropertyFriendlyName "amount of current position to preserve" - float m_flBlendValue; // 0x194 -}; - -// Aligment: 4 -// Size: 640 -class C_INIT_CreateFromCPs : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point increment amount" - int32_t m_nIncrement; // 0x180 - // MPropertyFriendlyName "starting control point" - int32_t m_nMinCP; // 0x184 - // MPropertyFriendlyName "ending control point" - // MParticleMinVersion - int32_t m_nMaxCP; // 0x188 - // MPropertyFriendlyName "dynamic control point count" - CParticleCollectionFloatInput m_nDynamicCPCount; // 0x190 -}; - -// Aligment: 7 -// Size: 880 -class C_OP_PlanarConstraint : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // MPropertyFriendlyName "plane point" - // MVectorIsCoordinate - Vector m_PointOnPlane; // 0x180 - // MPropertyFriendlyName "plane normal" - Vector m_PlaneNormal; // 0x18c - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x198 - // MPropertyFriendlyName "global origin" - bool m_bGlobalOrigin; // 0x19c - // MPropertyFriendlyName "global normal" - bool m_bGlobalNormal; // 0x19d - // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x1a0 - // MPropertyFriendlyName "falloff distance from control point" - CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x288 -}; - -// Aligment: 2 -// Size: 16 -struct ModelReference_t -{ -public: - // MPropertyFriendlyName "model" - // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CStrongHandle< InfoForResourceTypeCModel > m_model; // 0x0 - // MPropertyFriendlyName "Relative probability" - float m_flRelativeProbabilityOfSpawn; // 0x8 -}; - -// Aligment: 5 -// Size: 1104 -class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "group ID to affect" - CParticleCollectionFloatInput m_nChildGroupID; // 0x190 - // MPropertyFriendlyName "first child to enable" - CParticleCollectionFloatInput m_nFirstChild; // 0x278 - // MPropertyFriendlyName "# of children to enable" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x360 - // MPropertyFriendlyName "play endcap when children are removed" - bool m_bPlayEndcapOnStop; // 0x448 - // MPropertyFriendlyName "destroy particles immediately when child is removed" - bool m_bDestroyImmediately; // 0x449 -}; - -// Aligment: 0 -// Size: 384 -class CParticleFunctionInitializer : public CParticleFunction -{ -public: -// -}; - -// Aligment: 15 -// Size: 448 -class C_OP_NoiseEmitter : public CParticleFunctionEmitter, CParticleFunction -{ -public: - // MPropertyFriendlyName "emission duration" - float m_flEmissionDuration; // 0x180 - // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x184 - // MPropertyFriendlyName "scale emission to used control points" - // MParticleMaxVersion - float m_flEmissionScale; // 0x188 - // MPropertyFriendlyName "emission count scale control point" - int32_t m_nScaleControlPoint; // 0x18c - // MPropertyFriendlyName "emission count scale control point field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x190 - // MPropertyFriendlyName "world noise scale control point" - int32_t m_nWorldNoisePoint; // 0x194 - // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x198 - // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x199 - // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x19c - // MPropertyFriendlyName "emission minimum" - float m_flOutputMin; // 0x1a0 - // MPropertyFriendlyName "emission maximum" - float m_flOutputMax; // 0x1a4 - // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x1a8 - // MPropertyFriendlyName "world spatial noise coordinate scale" - float m_flWorldNoiseScale; // 0x1ac - // MPropertyFriendlyName "spatial coordinate offset" - // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x1b0 - // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x1bc -}; - -// Aligment: 8 -// Size: 416 -class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "current anim time output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x188 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x18c - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x190 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x19c -}; - -// Aligment: 12 -// Size: 464 -class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x188 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x18c - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x190 - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x19c - // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1a8 - // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1ac - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1b0 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b4 - // MPropertyFriendlyName "use local system" - bool m_bLocalCoords; // 0x1b8 - // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x1bc -}; - -// Aligment: 10 -// Size: 432 -class C_OP_PercentageBetweenCPs : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x184 - // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x188 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x18c - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x190 - // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x194 - // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x198 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x19c - // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x1a0 - // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x1a1 -}; - -// Aligment: 0 -// Size: 464 -class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar, CParticleFunctionInitializer, CParticleFunction -{ -public: -// -}; - -// Aligment: 1 -// Size: 400 -class C_OP_RadiusDecay : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "minimum radius" - float m_flMinRadius; // 0x180 -}; - -// Aligment: 6 -// Size: 416 -class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x180 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x184 - // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x188 - // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x18c - // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x190 - // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x194 -}; - -// Aligment: 9 -// Size: 560 -class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "interpolation rate" - float m_flInterpRate; // 0x180 - // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x184 - // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x188 - // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x18c - // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x190 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x210 - // MPropertyFriendlyName "CP to trace from" - int32_t m_nInputCP; // 0x214 - // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x218 - // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x228 -}; - -// Aligment: 4 -// Size: 416 -class C_OP_TimeVaryingForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "time to start transition" - float m_flStartLerpTime; // 0x180 - // MPropertyFriendlyName "starting force" - // MVectorIsCoordinate - Vector m_StartingForce; // 0x184 - // MPropertyFriendlyName "time to end transition" - float m_flEndLerpTime; // 0x190 - // MPropertyFriendlyName "ending force" - // MVectorIsCoordinate - Vector m_EndingForce; // 0x194 -}; - -// Aligment: 9 -// Size: 1944 -struct TextureGroup_t -{ -public: - // MPropertyFriendlyName "Enabled" - bool m_bEnabled; // 0x0 - // MPropertyFriendlyName "Author Texture As Gradient" - 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; // 0x120 -}; - -// Aligment: 3 -// Size: 416 -class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x190 - // MPropertyFriendlyName "dest CP" - int32_t m_nDestCP; // 0x194 - // MPropertyFriendlyName "dest control point component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x198 -}; - -// Aligment: 5 -// Size: 416 -class C_OP_LerpVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "value to lerp to" - // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x184 - // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x190 - // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x194 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x198 -}; - -// Aligment: 5 -// Size: 528 -class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "velocity minimum" - float m_flVelocityMin; // 0x180 - // MPropertyFriendlyName "velocity maximum" - float m_flVelocityMax; // 0x184 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x188 - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x18c - // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x20c -}; - -// Aligment: 1 -// Size: 400 -class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x180 -}; - -// Aligment: 6 -// Size: 400 -class C_INIT_GlobalScale : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "scale amount" - float m_flScale; // 0x180 - // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPointNumber; // 0x184 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x188 - // MPropertyFriendlyName "scale radius" - bool m_bScaleRadius; // 0x18c - // MPropertyFriendlyName "scale position" - bool m_bScalePosition; // 0x18d - // MPropertyFriendlyName "scale velocity" - bool m_bScaleVelocity; // 0x18e -}; - -// Aligment: 4 -// Size: 432 -class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "Target color control point number" - int32_t m_nColorCP; // 0x190 - // MPropertyFriendlyName "Color Gem Enable control point number" - int32_t m_nColorGemEnableCP; // 0x194 - // MPropertyFriendlyName "output control point number" - int32_t m_nOutputCP; // 0x198 - // MPropertyFriendlyName "Default HSV Color" - Color m_DefaultHSVColor; // 0x19c -}; - -// Aligment: 5 -// Size: 432 -class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x190 - // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x194 - // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x198 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x19c - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1a0 -}; - -// Aligment: 9 -// Size: 512 -class C_OP_RenderScreenShake : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x1d0 - // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x1d4 - // MPropertyFriendlyName "frequence scale" - float m_flFrequencyScale; // 0x1d8 - // MPropertyFriendlyName "amplitude scale" - float m_flAmplitudeScale; // 0x1dc - // MPropertyFriendlyName "radius field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusField; // 0x1e0 - // MPropertyFriendlyName "duration field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x1e4 - // MPropertyFriendlyName "frequency field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFrequencyField; // 0x1e8 - // MPropertyFriendlyName "amplitude field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nAmplitudeField; // 0x1ec - // MPropertyFriendlyName "control point of shake recipient (-1 = global)" - int32_t m_nFilterCP; // 0x1f0 -}; - -// Aligment: 4 -// Size: 400 -class C_OP_FadeIn : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "fade in time min" - float m_flFadeInTimeMin; // 0x180 - // MPropertyFriendlyName "fade in time max" - float m_flFadeInTimeMax; // 0x184 - // MPropertyFriendlyName "fade in time exponent" - float m_flFadeInTimeExp; // 0x188 - // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x18c -}; - -// Aligment: 1 -// Size: 640 -class C_OP_SetSimulationRate : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "simulation timescale" - CParticleCollectionFloatInput m_flSimulationScale; // 0x190 -}; - -// Aligment: 3 -// Size: 400 -class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 - // MPropertyFriendlyName "rotation field" - // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x188 -}; - -// Aligment: 6 -// Size: 4080 -class C_OP_CurlNoiseForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "noise type" - ParticleDirectionNoiseType_t m_nNoiseType; // 0x180 - // MPropertyFriendlyName "noise frequency" - // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseFreq; // 0x188 - // MPropertyFriendlyName "noise amplitude" - // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseScale; // 0x5b8 - // MPropertyFriendlyName "offset rate" - // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetRate; // 0x9e8 - // MPropertyFriendlyName "worley seed" - CPerParticleFloatInput m_flWorleySeed; // 0xe18 - // MPropertyFriendlyName "worley jitter" - CPerParticleFloatInput m_flWorleyJitter; // 0xf00 -}; - -// Aligment: 0 -// Size: 8 -class IControlPointEditorData -{ -public: -// -}; - -// Aligment: 4 -// Size: 416 -class C_OP_RemapCPOrientationToRotations : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 - // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x184 - // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x190 - // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x191 -}; - -// Aligment: 4 -// Size: 1712 -class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "rotation axis" - // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x190 - // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x5c0 - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x6a8 - // MPropertyFriendlyName "local space control point" - int32_t m_nLocalCP; // 0x6ac -}; - -// Aligment: 10 -// Size: 448 -class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input control point number" - int32_t m_nInputControlPoint; // 0x190 - // MPropertyFriendlyName "output control point number" - int32_t m_nOutputControlPoint; // 0x194 - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nInputField; // 0x198 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x19c - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1a0 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1a4 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1a8 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1ac - // MPropertyFriendlyName "use the derivative" - bool m_bDerivative; // 0x1b0 - // MPropertyFriendlyName "interpolation" - float m_flInterpRate; // 0x1b4 -}; - -// Aligment: 11 -// Size: 432 -class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x180 - // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x184 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 - // MPropertyFriendlyName "input minimum (-1 to 1)" - float m_flInputMin; // 0x18c - // MPropertyFriendlyName "input maximum (-1 to 1)" - float m_flInputMax; // 0x190 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 - // MPropertyFriendlyName "use particle velocity for first input" - bool m_bUseParticleVelocity; // 0x19c - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a0 - // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x1a4 - // MPropertyFriendlyName "use particle normal for first input" - bool m_bUseParticleNormal; // 0x1a5 -}; - -// Aligment: 7 -// Size: 432 -class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x190 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x194 - // MPropertyFriendlyName "scalar field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x198 - // MPropertyFriendlyName "input volume minimum" - float m_flInputMin; // 0x19c - // MPropertyFriendlyName "input volume maximum" - float m_flInputMax; // 0x1a0 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1a4 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1a8 -}; - -// Aligment: 2 -// Size: 416 -class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number to set" - int32_t m_nCP1; // 0x190 - // MPropertyFriendlyName "center offset" - // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x194 -}; - -// Aligment: 17 -// Size: 4576 -class C_INIT_CreateWithinSphere : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "distance min" - CPerParticleFloatInput m_fRadiusMin; // 0x180 - // MPropertyFriendlyName "distance max" - CPerParticleFloatInput m_fRadiusMax; // 0x268 - // MPropertyFriendlyName "distance bias" - // MVectorIsCoordinate - CPerParticleVecInput m_vecDistanceBias; // 0x350 - // MPropertyFriendlyName "distance bias absolute value" - // MVectorIsCoordinate - Vector m_vecDistanceBiasAbs; // 0x780 - // MPropertyFriendlyName "randomly distribute between the control point and control point max" - bool m_bDistributeInCPRange; // 0x78c - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x790 - // MPropertyFriendlyName "max control point number" - // MPropertySuppressExpr "m_bDistributeInCPRange != true" - int32_t m_nControlPointNumberMax; // 0x794 - // MPropertyFriendlyName "speed min" - CPerParticleFloatInput m_fSpeedMin; // 0x798 - // MPropertyFriendlyName "speed max" - CPerParticleFloatInput m_fSpeedMax; // 0x880 - // MPropertyFriendlyName "speed random exponent" - float m_fSpeedRandExp; // 0x968 - // MPropertyFriendlyName "bias in local system" - bool m_bLocalCoords; // 0x96c - // MPropertyFriendlyName "randomly distribute to highest supplied control point" - // MParticleMaxVersion - bool m_bUseHighestEndCP; // 0x96e - // MPropertyFriendlyName "randomly distribution growth time" - float m_flEndCPGrowthTime; // 0x970 - // MPropertyFriendlyName "speed in local coordinate system min" - // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x978 - // MPropertyFriendlyName "speed in local coordinate system max" - // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xda8 - // MPropertyFriendlyName "Output vector" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x11d8 - // MPropertyFriendlyName "Velocity vector" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldVelocity; // 0x11dc -}; - -// Aligment: 4 -// Size: 400 -class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 - // MPropertyFriendlyName "rotation field" - // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x188 - // MPropertyFriendlyName "control point axis" - // MPropertyAttributeChoiceName "vector_component" - // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x18c -}; - -// Aligment: 29 -// Size: 3504 -class C_OP_RenderStandardLight : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "light type" - ParticleLightTypeChoiceList_t m_nLightType; // 0x1d0 - // MPropertyFriendlyName "color blend" - CParticleCollectionVecInput m_vecColorScale; // 0x1d8 - // MPropertyFriendlyName "color blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0x608 - // MPropertyFriendlyName "intensity" - CParticleCollectionFloatInput m_flIntensity; // 0x610 - // MPropertyFriendlyName "cast shadows" - // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bCastShadows; // 0x6f8 - // MPropertyFriendlyName "inner cone angle" - // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flTheta; // 0x700 - // MPropertyFriendlyName "outer cone angle" - // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flPhi; // 0x7e8 - // MPropertyFriendlyName "light radius multiplier" - CParticleCollectionFloatInput m_flRadiusMultiplier; // 0x8d0 - // MPropertyFriendlyName "attenuation type" - StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0x9b8 - // MPropertyFriendlyName "falloff linearity" - // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )" - CParticleCollectionFloatInput m_flFalloffLinearity; // 0x9c0 - // MPropertyFriendlyName "falloff fifty percent" - // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xaa8 - // MPropertyFriendlyName "falloff zero percent" - // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xb90 - // MPropertyFriendlyName "render diffuse" - // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderDiffuse; // 0xc78 - // MPropertyFriendlyName "render specular" - // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderSpecular; // 0xc79 - // MPropertyFriendlyName "light cookie string" - CUtlString m_lightCookie; // 0xc80 - // MPropertyFriendlyName "light priority" - int32_t m_nPriority; // 0xc88 - // MPropertyFriendlyName "fog lighting mode" - // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - ParticleLightFogLightingMode_t m_nFogLightingMode; // 0xc8c - // MPropertyFriendlyName "fog contribution" - // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - CParticleCollectionFloatInput m_flFogContribution; // 0xc90 - // MPropertyFriendlyName "capsule behavior" - ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0xd78 - // MPropertyStartGroup "Capsule Light Controls" - // MPropertyFriendlyName "capsule length" - // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - float m_flCapsuleLength; // 0xd7c - // MPropertyFriendlyName "reverse point order" - // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bReverseOrder; // 0xd80 - // MPropertyFriendlyName "Closed loop" - // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bClosedLoop; // 0xd81 - // 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; // 0xd84 - // MPropertyFriendlyName "max length" - // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMaxLength; // 0xd88 - // MPropertyFriendlyName "min length" - // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMinLength; // 0xd8c - // MPropertyFriendlyName "ignore delta time" - // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - bool m_bIgnoreDT; // 0xd90 - // 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; // 0xd94 - // MPropertyFriendlyName "amount to scale trail length by" - // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthScale; // 0xd98 - // 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; // 0xd9c -}; - -// Aligment: 1 -// Size: 400 -class C_OP_WindForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "force to apply" - // MVectorIsCoordinate - Vector m_vForce; // 0x180 -}; - -// Aligment: 0 -// Size: 232 -class CParticleCollectionFloatInput : public CParticleFloatInput -{ -public: -// -}; - -// Aligment: 0 -// Size: 8 -class IParticleSystemDefinition -{ -public: -// -}; - -// Aligment: 11 -// Size: 432 -class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "input field 0-2 X/Y/Z" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x188 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x18c - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x190 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 - // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x19c - // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1a0 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a4 - // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x1a8 -}; - -// Aligment: 6 -// Size: 512 -class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "color warp texture (3d)" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x1d0 - // MPropertyFriendlyName "normal texture" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x1d8 - // MPropertyFriendlyName "metalness texture" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x1e0 - // MPropertyFriendlyName "roughness texture" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x1e8 - // MPropertyFriendlyName "self illum texture" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x1f0 - // MPropertyFriendlyName "detail texture" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x1f8 -}; - -// Aligment: 3 -// Size: 416 -class C_OP_ClampVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x184 - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x190 -}; - -// Aligment: 7 -// Size: 464 -class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "model" - // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 - // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x188 - // MPropertyFriendlyName "remap values for names" - CUtlVector< float32 > m_values; // 0x1a0 - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b8 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1bc - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c0 - // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x1c4 -}; - -// Aligment: 4 -// Size: 464 -class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x184 - // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x188 - // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x18c - CPathParameters m_PathParams; // 0x190 -}; - -// Aligment: 3 -// Size: 416 -class CGeneralSpin : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "spin rate degrees" - int32_t m_nSpinRateDegrees; // 0x180 - // MPropertyFriendlyName "spin rate min" - int32_t m_nSpinRateMinDegrees; // 0x184 - // MPropertyFriendlyName "spin stop time" - float m_fSpinRateStopTime; // 0x18c -}; - -// Aligment: 3 -// Size: 640 -class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "duration at which to stop" - CParticleCollectionFloatInput m_flDuration; // 0x190 - // MPropertyFriendlyName "destroy all particles immediately" - bool m_bDestroyImmediately; // 0x278 - // MPropertyFriendlyName "play end cap effect" - bool m_bPlayEndCap; // 0x279 -}; - -// Aligment: 0 -// Size: 480 -class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap, CParticleFunctionOperator, CParticleFunction -{ -public: -// -}; - -// Aligment: 7 -// Size: 480 -class C_OP_MaintainSequentialPath : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x180 - // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x184 - // MPropertyFriendlyName "cohesion strength" - float m_flCohesionStrength; // 0x188 - // MPropertyFriendlyName "control point movement tolerance" - float m_flTolerance; // 0x18c - // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x190 - // MPropertyFriendlyName "use existing particle count" - bool m_bUseParticleCount; // 0x191 - CPathParameters m_PathParams; // 0x1a0 -}; - -// Aligment: 2 -// Size: 416 -class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x190 - // MPropertyFriendlyName "output control point number" - int32_t m_nCPOutput; // 0x194 -}; - -// Aligment: 5 -// Size: 416 -class C_OP_ExternalGenericForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "strength" - float m_flStrength; // 0x180 - // MPropertyFriendlyName "curl strength" - float m_flCurlStrength; // 0x184 - // MPropertyFriendlyName "linear strength" - float m_flLinearStrength; // 0x188 - // MPropertyFriendlyName "radial strength" - float m_flRadialStrength; // 0x18c - // MPropertyFriendlyName "rotation strength" - float m_flRotationStrength; // 0x190 -}; - -// Aligment: 0 -// Size: 480 -class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed, CParticleFunctionOperator, CParticleFunction -{ -public: -// -}; - -// Aligment: 1 -// Size: 400 -class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "Acceleration" - float m_flAccel; // 0x180 -}; - -// Aligment: 10 -// Size: 464 -class C_OP_RampScalarSpline : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x180 - // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x184 - // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x188 - // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x18c - // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x190 - // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x194 - // MPropertyFriendlyName "bias" - float m_flBias; // 0x198 - // MPropertyFriendlyName "ramp field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1c0 - // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1c4 - // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x1c5 -}; - -// Aligment: 5 -// Size: 416 -class C_OP_ColorInterpolate : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "color fade" - Color m_ColorFade; // 0x180 - // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x190 - // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x194 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x198 - // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x19c -}; - -// Aligment: 1 -// Size: 4 -class PARTICLE_WORLD_HANDLE__ -{ -public: - int32_t unused; // 0x0 -}; - -// Aligment: 7 -// Size: 416 -class C_OP_FadeAndKill : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x180 - // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x184 - // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x188 - // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x18c - // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x190 - // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x194 - // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x198 -}; - -// Aligment: 3 -// Size: 400 -class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "creation control point number" - int32_t m_nControlPointNumberStart; // 0x180 - // MPropertyFriendlyName "offset control point number" - int32_t m_nControlPointNumberEnd; // 0x184 - // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x188 -}; - -// Aligment: 7 -// Size: 416 -class C_OP_MaintainEmitter : public CParticleFunctionEmitter, CParticleFunction -{ -public: - // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x180 - // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x184 - // MPropertyFriendlyName "maintain count scale control point" - int32_t m_nScaleControlPoint; // 0x188 - // MPropertyFriendlyName "maintain count scale control point field" - int32_t m_nScaleControlPointField; // 0x18c - // MPropertyFriendlyName "emission rate" - float m_flEmissionRate; // 0x190 - // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x194 - // MPropertyFriendlyName "group emission times for new particles" - bool m_bEmitInstantaneously; // 0x198 -}; - -// Aligment: 3 -// Size: 400 -class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x180 - // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x184 - // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x188 -}; - -// Aligment: 3 -// Size: 400 -class C_OP_MaxVelocity : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "maximum velocity" - float m_flMaxVelocity; // 0x180 - // MPropertyFriendlyName "override max velocity from this CP" - int32_t m_nOverrideCP; // 0x184 - // MPropertyFriendlyName "override CP field" - int32_t m_nOverrideCPField; // 0x188 -}; - -// Aligment: 11 -// Size: 544 -class C_OP_RenderProjected : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "project on characters" - bool m_bProjectCharacter; // 0x1d0 - // MPropertyFriendlyName "project on world" - bool m_bProjectWorld; // 0x1d1 - // MPropertyFriendlyName "project on water" - bool m_bProjectWater; // 0x1d2 - // MPropertyFriendlyName "flip horizontal" - bool m_bFlipHorizontal; // 0x1d3 - // MPropertyFriendlyName "enable projected depth controls" - bool m_bEnableProjectedDepthControls; // 0x1d4 - // MPropertyFriendlyName "min projection depth" - // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMinProjectionDepth; // 0x1d8 - // MPropertyFriendlyName "max projection depth" - // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMaxProjectionDepth; // 0x1dc - // MPropertyFriendlyName "material" - // MPropertyAttributeEditor "AssetBrowse( vmat )" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x1e0 - // MPropertyFriendlyName "sheet animation time scale" - float m_flAnimationTimeScale; // 0x1e8 - // MPropertyFriendlyName "orient to normal" - bool m_bOrientToNormal; // 0x1ec - // MPropertyFriendlyName "material variables" - // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1f0 -}; - -// Aligment: 0 -// Size: 432 -class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement, CParticleFunctionInitializer, CParticleFunction -{ -public: -// -}; - -// Aligment: 3 -// Size: 1696 -class C_OP_PerParticleForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x180 - // MPropertyFriendlyName "force to apply" - // MVectorIsCoordinate - CPerParticleVecInput m_vForce; // 0x268 - // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x698 -}; - -// Aligment: 4 -// Size: 400 -class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "read field" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "written field" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x184 - // MPropertyFriendlyName "particle neighbor increment amount" - int32_t m_nIncrement; // 0x188 - // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x18c -}; - -// Aligment: 11 -// Size: 2688 -class C_INIT_CreateOnModel : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x184 - // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x188 - // MPropertyFriendlyName "Control Point Providing Hitbox index" - int32_t m_nHitboxValueFromControlPointIndex; // 0x18c - // MPropertyFriendlyName "hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x190 - // MPropertyFriendlyName "inherited velocity scale" - float m_flBoneVelocity; // 0x5c0 - // MPropertyFriendlyName "maximum inherited velocity" - float m_flMaxBoneVelocity; // 0x5c4 - // MPropertyFriendlyName "direction bias" - // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x5c8 - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x9f8 - // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xa78 - // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0xa79 -}; - -// Aligment: 3 -// Size: 624 -class C_INIT_InitFloat : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x268 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x26c -}; - -// Aligment: 4 -// Size: 1696 -class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "rotation axis" - // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x180 - // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x5b0 - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x698 - // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x69c -}; - -// Aligment: 15 -// Size: 1632 -class C_OP_DistanceToCP : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "distance minimum" - float m_flInputMin; // 0x184 - // MPropertyFriendlyName "distance maximum" - float m_flInputMax; // 0x188 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x18c - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x190 - // MPropertyFriendlyName "control point" - int32_t m_nStartCP; // 0x194 - // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x198 - // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x199 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x21c - // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x220 - // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x224 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x228 - // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x22c - // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x22d - // MPropertyFriendlyName "component scale" - CPerParticleVecInput m_vecComponentScale; // 0x230 -}; - -// Aligment: 12 -// Size: 480 -class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x190 - // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x191 - // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x192 - // MPropertyFriendlyName "first control point number" - int32_t m_nCP1; // 0x194 - // MPropertyFriendlyName "second control point number" - int32_t m_nCP2; // 0x198 - // MPropertyFriendlyName "third control point number" - int32_t m_nCP3; // 0x19c - // MPropertyFriendlyName "fourth control point number" - int32_t m_nCP4; // 0x1a0 - // MPropertyFriendlyName "first control point location" - // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1a4 - // MPropertyFriendlyName "second control point location" - // MVectorIsCoordinate - Vector m_vecCP2Pos; // 0x1b0 - // MPropertyFriendlyName "third control point location" - // MVectorIsCoordinate - Vector m_vecCP3Pos; // 0x1bc - // MPropertyFriendlyName "fourth control point location" - // MVectorIsCoordinate - Vector m_vecCP4Pos; // 0x1c8 - // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x1d4 -}; - -// Aligment: 5 -// Size: 432 -class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x180 - // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance; // 0x184 - // MPropertyFriendlyName "Time scale" - float m_flTimeScale; // 0x188 - // MPropertyFriendlyName "Treat path as a loop" - bool m_bLoopedPath; // 0x18c - // MPropertyFriendlyName "path points" - CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x190 -}; - -// Aligment: 10 -// Size: 1344 -class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "first dimension 0-2 (-1 disables)" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent1; // 0x180 - // MPropertyFriendlyName "second dimension 0-2 (-1 disables)" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent2; // 0x184 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x188 - // MPropertyFriendlyName "particle density" - CPerParticleFloatInput m_flParticleDensity; // 0x190 - // MPropertyFriendlyName "point offset" - CPerParticleFloatInput m_flOffset; // 0x278 - // MPropertyFriendlyName "radius 1" - CPerParticleFloatInput m_flRadius1; // 0x360 - // MPropertyFriendlyName "radius 2" - CPerParticleFloatInput m_flRadius2; // 0x448 - // MPropertyFriendlyName "use particle count instead of creation time" - bool m_bUseCount; // 0x530 - // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x531 - // MPropertyFriendlyName "offset from existing position" - bool m_bOffsetExistingPos; // 0x532 -}; - -// Aligment: 5 -// Size: 1104 -class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "radius" - CPerParticleFloatInput m_InputRadius; // 0x180 - // MPropertyFriendlyName "magnitude" - CPerParticleFloatInput m_InputMagnitude; // 0x268 - // MPropertyFriendlyName "force falloff function" - ParticleFalloffFunction_t m_nFalloffFunction; // 0x350 - // MPropertyFriendlyName "exponential falloff exponent" - CPerParticleFloatInput m_InputFalloffExp; // 0x358 - // MPropertyFriendlyName "impulse type" - ParticleImpulseType_t m_nImpulseType; // 0x440 -}; - -// Aligment: 13 -// Size: 464 -class C_OP_RemapCPtoVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "local space CP" - int32_t m_nLocalSpaceCP; // 0x188 - // MPropertyFriendlyName "input minimum" - // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x18c - // MPropertyFriendlyName "input maximum" - // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x198 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x1a4 - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x1b0 - // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1bc - // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1c0 - // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x1c4 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c8 - // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x1cc - // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x1cd -}; - -// Aligment: 12 -// Size: 2656 -class C_OP_PinParticleToCP : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "offset" - CParticleCollectionVecInput m_vecOffset; // 0x188 - // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x5b8 - // MPropertyFriendlyName "particle to use" - ParticleSelection_t m_nParticleSelection; // 0x5bc - // MPropertyFriendlyName "particle number" - CParticleCollectionFloatInput m_nParticleNumber; // 0x5c0 - // MPropertyFriendlyName "pin break type" - ParticlePinDistance_t m_nPinBreakType; // 0x6a8 - // MPropertyFriendlyName "break length %" - CParticleCollectionFloatInput m_flBreakDistance; // 0x6b0 - // MPropertyFriendlyName "break speed" - CParticleCollectionFloatInput m_flBreakSpeed; // 0x798 - // MPropertyFriendlyName "break age" - CParticleCollectionFloatInput m_flAge; // 0x880 - // MPropertyFriendlyName "break comparison control point 1" - int32_t m_nBreakControlPointNumber; // 0x968 - // MPropertyFriendlyName "break comparison control point 2" - int32_t m_nBreakControlPointNumber2; // 0x96c - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x970 -}; - -// Aligment: 7 -// Size: 560 -class C_OP_RtEnvCull : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "test direction" - // MVectorIsCoordinate - Vector m_vecTestDir; // 0x180 - // MPropertyFriendlyName "cull normal" - // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x18c - // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x198 - // MPropertyFriendlyName "stick instead of cull" - bool m_bStickInsteadOfCull; // 0x199 - // MPropertyFriendlyName "ray trace environment name" - char[128] m_RtEnvName; // 0x19a - // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x21c - // MPropertyFriendlyName "rt env control point component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x220 -}; - -// Aligment: 9 -// Size: 464 -class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x190 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x194 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x198 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x19c - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1a0 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1a4 - // MPropertyFriendlyName "sound stack name" - CUtlString m_StackName; // 0x1a8 - // MPropertyFriendlyName "sound operator name" - CUtlString m_OperatorName; // 0x1b0 - // MPropertyFriendlyName "sound field name" - CUtlString m_FieldName; // 0x1b8 -}; - -// Aligment: 7 -// Size: 432 -class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x188 - // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x18c - // MPropertyFriendlyName "offset axis" - // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x190 - // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x19c - // MPropertyFriendlyName "strength field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldStrength; // 0x1a0 -}; - -// Aligment: 10 -// Size: 3488 -class C_OP_ChladniWave : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "wave minimum" - CPerParticleFloatInput m_flInputMin; // 0x188 - // MPropertyFriendlyName "wave maximum" - CPerParticleFloatInput m_flInputMax; // 0x270 - // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x358 - // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x440 - // MPropertyFriendlyName "wave length" - CPerParticleVecInput m_vecWaveLength; // 0x528 - // MPropertyFriendlyName "harmonics" - CPerParticleVecInput m_vecHarmonics; // 0x958 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd88 - // MPropertyFriendlyName "local space control point" - int32_t m_nLocalSpaceControlPoint; // 0xd8c - // MPropertyFriendlyName "3D" - bool m_b3D; // 0xd90 -}; - -// Aligment: 5 -// Size: 640 -class C_OP_SetChildControlPoints : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x180 - // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x184 - // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x188 - // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x190 - // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x278 -}; - -// Aligment: 2 -// Size: 400 -class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "control point axis" - ParticleControlPointAxis_t m_nControlPointAxis; // 0x184 -}; - -// Aligment: 5 -// Size: 2544 -class C_INIT_PositionOffset : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "offset min" - // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMin; // 0x180 - // MPropertyFriendlyName "offset max" - // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMax; // 0x5b0 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x9e0 - // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x9e4 - // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0x9e5 -}; - -// Aligment: 2 -// Size: 400 -class C_INIT_InheritVelocity : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x184 -}; - -// Aligment: 21 -// Size: 3552 -class C_OP_RenderCables : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyStartGroup "Renderer Modifiers" - // MPropertyFriendlyName "Radius Scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1d0 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x2b8 - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x3a0 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x7d0 - // MPropertyStartGroup - // MPropertyFriendlyName "material" - // MPropertyAttributeEditor "AssetBrowse( vmat )" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x7d8 - // MPropertyFriendlyName "texture repetition mode" - TextureRepetitionMode_t m_nTextureRepetitionMode; // 0x7e0 - // MPropertyFriendlyName "texture repetitions" - CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0x7e8 - // MPropertyFriendlyName "texture repetitions around cable" - CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0x8d0 - // MPropertyFriendlyName "color map offset along path" - CParticleCollectionFloatInput m_flColorMapOffsetV; // 0x9b8 - // MPropertyFriendlyName "color map offset around cable" - CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xaa0 - // MPropertyFriendlyName "normal map offset along path" - CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xb88 - // MPropertyFriendlyName "normal map offset around cable" - CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0xc70 - // MPropertyFriendlyName "draw caps at each end of the cable" - bool m_bDrawCableCaps; // 0xd58 - // MPropertyFriendlyName "cable end cap shape factor" - // MPropertyAttributeRange "0 2" - float m_flCapRoundness; // 0xd5c - // MPropertyFriendlyName "cable end cap offset amount" - // MPropertyAttributeRange "0 2" - float m_flCapOffsetAmount; // 0xd60 - // MPropertyFriendlyName "tessellation scale factor" - float m_flTessScale; // 0xd64 - // MPropertyFriendlyName "minimum steps between particles" - int32_t m_nMinTesselation; // 0xd68 - // MPropertyFriendlyName "maximum steps between particles" - int32_t m_nMaxTesselation; // 0xd6c - // MPropertyFriendlyName "roundness factor" - int32_t m_nRoundness; // 0xd70 - // MPropertyFriendlyName "material float variables" - CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0xd78 - // MPropertyFriendlyName "material vector variables" - CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0xda8 -}; - -// Aligment: 8 -// Size: 416 -class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "field to read" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x184 - // MPropertyFriendlyName "field to write" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x188 - // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x18c - // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x190 - // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x191 - // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x194 - // MPropertyFriendlyName "local space angles" - bool m_bLocalSpaceAngles; // 0x198 -}; - -// Aligment: 0 -// Size: 480 -class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap, CParticleFunctionOperator, CParticleFunction -{ -public: -// -}; - -// Aligment: 3 -// Size: 640 -class C_INIT_PlaneCull : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point of plane" - int32_t m_nControlPoint; // 0x180 - // MPropertyFriendlyName "cull offset" - CParticleCollectionFloatInput m_flDistance; // 0x188 - // MPropertyFriendlyName "flip cull normal" - bool m_bCullInside; // 0x270 -}; - -// Aligment: 9 -// Size: 416 -class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "difference minimum" - float m_flInputMin; // 0x188 - // MPropertyFriendlyName "difference maximum" - float m_flInputMax; // 0x18c - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x190 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x194 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x198 - // MPropertyFriendlyName "only active within specified difference" - bool m_bActiveRange; // 0x19c - // MPropertyFriendlyName "also set ouput to previous particle" - bool m_bSetPreviousParticle; // 0x19d -}; - -// Aligment: 3 -// Size: 432 -class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x190 - // MPropertyFriendlyName "control point offset" - // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x194 - // MPropertyFriendlyName "use hmd orientation" - bool m_bOrientToHMD; // 0x1a0 -}; - -// Aligment: 3 -// Size: 400 -class C_OP_ClampScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x184 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x188 -}; - -// Aligment: 13 -// Size: 576 -class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x180 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x200 - // MPropertyFriendlyName "minimum velocity" - // MVectorIsCoordinate - Vector m_vecOutputMin; // 0x204 - // MPropertyFriendlyName "maximum velocity" - // MVectorIsCoordinate - Vector m_vecOutputMax; // 0x210 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x21c - // MPropertyFriendlyName "per particle world collision tests" - bool m_bPerParticle; // 0x220 - // MPropertyFriendlyName "offset instead of accelerate" - bool m_bTranslate; // 0x221 - // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0x222 - // MPropertyFriendlyName "trace length" - float m_flTraceLength; // 0x224 - // MPropertyFriendlyName "use radius for per particle trace length" - bool m_bPerParticleTR; // 0x228 - // MPropertyFriendlyName "inherit from parent" - bool m_bInherit; // 0x229 - // MPropertyFriendlyName "control points to broadcast to children (n + 1)" - int32_t m_nChildCP; // 0x22c - // MPropertyFriendlyName "child group ID to affect" - int32_t m_nChildGroupID; // 0x230 -}; - -// Aligment: 4 -// Size: 640 -class C_OP_LerpScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "value to lerp to" - CPerParticleFloatInput m_flOutput; // 0x188 - // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x270 - // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x274 -}; - -// Aligment: 5 -// Size: 864 -class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x184 - // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x188 - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x190 - // MPropertyFriendlyName "Snapshot Index T Value" - CPerParticleFloatInput m_flTValue; // 0x278 -}; - -// Aligment: 8 -// Size: 1616 -class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x184 - // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x188 - // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x190 - // MPropertyFriendlyName "direction bias" - // MVectorIsCoordinate - Vector m_vecDirectionBias; // 0x5c0 - // MPropertyFriendlyName "maintain existing hitbox" - bool m_bMaintainHitbox; // 0x5cc - // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x5cd - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x5ce -}; - -// Aligment: 3 -// Size: 1472 -class C_INIT_InitVec : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x5b0 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x5b4 -}; - -// Aligment: 1 -// Size: 400 -class C_OP_AlphaDecay : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "minimum alpha" - float m_flMinAlpha; // 0x180 -}; - -// Aligment: 8 -// Size: 416 -class C_OP_SequenceFromModel : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "current anim time output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x188 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x18c - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x190 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x19c -}; - -// Aligment: 3 -// Size: 1088 -class C_OP_ColorAdjustHSL : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "hue adjust" - CPerParticleFloatInput m_flHueAdjust; // 0x180 - // MPropertyFriendlyName "saturation adjust" - CPerParticleFloatInput m_flSaturationAdjust; // 0x268 - // MPropertyFriendlyName "lightness adjust" - CPerParticleFloatInput m_flLightnessAdjust; // 0x350 -}; - -// Aligment: 6 -// Size: 416 -class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x180 - // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x184 - // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x188 - // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x18c - // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x190 - // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x194 -}; - -// Aligment: 6 -// Size: 416 -class C_OP_Noise : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x184 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x188 - // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x18c - // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x190 - // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x194 -}; - -// Aligment: 2 -// Size: 848 -class C_OP_CollideWithSelf : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x180 - // MPropertyFriendlyName "minimum speed for check" - CPerParticleFloatInput m_flMinimumSpeed; // 0x268 -}; - -// Aligment: 4 -// Size: 400 -class C_OP_LagCompensation : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "desired velocity CP" - int32_t m_nDesiredVelocityCP; // 0x180 - // MPropertyFriendlyName "latency CP" - int32_t m_nLatencyCP; // 0x184 - // MPropertyFriendlyName "latency CP field" - int32_t m_nLatencyCPField; // 0x188 - // MPropertyFriendlyName "desired velocity CP field override(for speed only)" - int32_t m_nDesiredVelocityCPField; // 0x18c -}; - -// Aligment: 17 -// Size: 448 -class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x180 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x184 - // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x188 - // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x18c - // MPropertyFriendlyName "prepare for rigid lock" - bool m_bRigid; // 0x190 - // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x191 - // MPropertyFriendlyName "normal velocity ignore delta time" - bool m_bIgnoreDt; // 0x192 - // MPropertyFriendlyName "normal velocity min" - float m_flMinNormalVelocity; // 0x194 - // MPropertyFriendlyName "normal velocity max" - float m_flMaxNormalVelocity; // 0x198 - // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x19c - // MPropertyFriendlyName "Full Loop Increment Amount" - int32_t m_nFullLoopIncrement; // 0x1a0 - // MPropertyFriendlyName "Snapshot start point" - int32_t m_nSnapShotStartPoint; // 0x1a4 - // MPropertyFriendlyName "inherited bone velocity" - float m_flBoneVelocity; // 0x1a8 - // MPropertyFriendlyName "max inherited bone velocity" - float m_flBoneVelocityMax; // 0x1ac - // MPropertyFriendlyName "Set Color" - bool m_bCopyColor; // 0x1b0 - // MPropertyFriendlyName "Set Alpha" - bool m_bCopyAlpha; // 0x1b1 - // MPropertyFriendlyName "Set Radius" - bool m_bCopyRadius; // 0x1b2 -}; - -// Aligment: 0 -// Size: 464 -class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar, C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction -{ -public: -// -}; - -// Aligment: 0 -// Size: 232 -class CPerParticleFloatInput : public CParticleFloatInput -{ -public: -// -}; - -// Aligment: 2 -// Size: 400 -class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x180 - // MPropertyFriendlyName "Second Control point to set" - int32_t m_nSecondControlPoint; // 0x184 -}; - -// Aligment: 1 -// Size: 4 -class PARTICLE_EHANDLE__ -{ -public: - int32_t unused; // 0x0 -}; - -// Aligment: 0 -// Size: 432 -class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement, CParticleFunctionInitializer, CParticleFunction -{ -public: -// -}; - -// Aligment: 0 -// Size: 8 -class IParticleEffect -{ -public: -// -}; - -// Aligment: 5 -// Size: 416 -class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "inherited velocity scale" - float m_flVelocityScale; // 0x180 - // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x184 - // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x188 - // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x18c - // MPropertyFriendlyName "sub frame interpolation" - bool m_bSubFrame; // 0x190 -}; - -// Aligment: 4 -// Size: 1696 -class C_OP_SetVec : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x5b0 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x5b4 - // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x5b8 -}; - -// Aligment: 3 -// Size: 416 -class C_OP_MovementMaintainOffset : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "desired offset" - // MVectorIsCoordinate - Vector m_vecOffset; // 0x180 - // MPropertyFriendlyName "local space CP" - int32_t m_nCP; // 0x18c - // MPropertyFriendlyName "scale by radius" - bool m_bRadiusScale; // 0x190 -}; - -// Aligment: 0 -// Size: 480 -class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed, CParticleFunctionOperator, CParticleFunction -{ -public: -// -}; - -// Aligment: 14 -// Size: 1856 -class C_OP_LockToBone : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control_point_number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x184 - // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x188 - // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x18c - // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x190 - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x194 - // MPropertyFriendlyName "rigid lock" - bool m_bRigid; // 0x214 - // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x215 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x218 - // MPropertyFriendlyName "output field prev" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x21c - // MPropertyStartGroup "Set Rotations to Bones" - // MPropertyFriendlyName "lock rotations to bone orientation" - ParticleRotationLockType_t m_nRotationSetType; // 0x220 - // MPropertyFriendlyName "rigid set rotation from bones" - bool m_bRigidRotationLock; // 0x224 - // MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll" - CPerParticleVecInput m_vecRotation; // 0x228 - // MPropertyFriendlyName "rigid rotation interpolation" - CPerParticleFloatInput m_flRotLerp; // 0x658 -}; - -// Aligment: 11 -// Size: 480 -class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "start value" - Vector m_vStartValue; // 0x180 - // MPropertyFriendlyName "input field 1" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput1; // 0x18c - // MPropertyFriendlyName "input scale 1" - float m_flInputScale1; // 0x190 - // MPropertyFriendlyName "input field 2" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput2; // 0x194 - // MPropertyFriendlyName "input scale 2" - float m_flInputScale2; // 0x198 - // MPropertyFriendlyName "control point input 1" - ControlPointReference_t m_nControlPointInput1; // 0x19c - // MPropertyFriendlyName "control point scale 1" - float m_flControlPointScale1; // 0x1b0 - // MPropertyFriendlyName "control point input 2" - ControlPointReference_t m_nControlPointInput2; // 0x1b4 - // MPropertyFriendlyName "control point scale 2" - float m_flControlPointScale2; // 0x1c8 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1cc - // MPropertyFriendlyName "final per component scale" - Vector m_vFinalOutputScale; // 0x1d0 -}; - -// Aligment: 4 -// Size: 400 -class C_OP_RemapCPOrientationToYaw : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x180 - // MPropertyFriendlyName "rotation field" - // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x188 - // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x18c -}; - -// Aligment: 3 -// Size: 400 -class C_OP_DampenToCP : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "falloff range" - float m_flRange; // 0x184 - // MPropertyFriendlyName "dampen scale" - float m_flScale; // 0x188 -}; - -// Aligment: 9 -// Size: 3472 -class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x188 - // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x5b8 - // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x9e8 - // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0xad0 - // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0xbb8 - // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0xca0 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd88 - // MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)" - bool m_bDeltaTime; // 0xd8c -}; - -// Aligment: 6 -// Size: 432 -class CGeneralRandomRotation : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "yaw offset min" - float m_flDegreesMin; // 0x180 - // MPropertyFriendlyName "yaw offset max" - float m_flDegreesMax; // 0x184 - // MPropertyFriendlyName "yaw initial" - float m_flDegrees; // 0x188 - // MPropertyFriendlyName "rotation field" - // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x18c - // MPropertyFriendlyName "yaw random exponent" - float m_flRotationRandExponent; // 0x19c - // MPropertyFriendlyName "randomly flip direction" - bool m_bRandomlyFlipDirection; // 0x1a0 -}; - -// Aligment: 3 -// Size: 400 -class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "Input Vector" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 - // MPropertyFriendlyName "Output Scalar" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "Vector Component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x188 -}; - -// Aligment: 8 -// Size: 432 -class C_INIT_AgeNoise : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x180 - // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x181 - // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x184 - // MPropertyFriendlyName "start age minimum" - float m_flAgeMin; // 0x188 - // MPropertyFriendlyName "start age maximum" - float m_flAgeMax; // 0x18c - // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x190 - // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x194 - // MPropertyFriendlyName "spatial coordinate offset" - // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x198 -}; - -// Aligment: 3 -// Size: 20 -struct PointDefinition_t -{ -public: - // MPropertyFriendlyName "Control point" - int32_t m_nControlPoint; // 0x0 - // MPropertyFriendlyName "Use local coordinates for offset" - bool m_bLocalCoords; // 0x4 - // MPropertyFriendlyName "Offset from control point" - Vector m_vOffset; // 0x8 -}; - -// Aligment: 4 -// Size: 896 -class C_OP_SetFloatCollection : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x268 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x26c - // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_Lerp; // 0x270 -}; - -// Aligment: 2 -// Size: 400 -class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "sequence min" - // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMin; // 0x180 - // MPropertyFriendlyName "sequence max" - // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMax; // 0x184 -}; - -// Aligment: 5 -// Size: 416 -class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "scale" - float m_flScale; // 0x180 - // MPropertyFriendlyName "inherited field" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x188 - // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x18c - // MPropertyFriendlyName "behavior if parent particle dies" - MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x190 -}; - -// Aligment: 0 -// Size: 432 -class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation, CParticleFunctionInitializer, CParticleFunction -{ -public: -// -}; - -// Aligment: 4 -// Size: 2544 -class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input vector 1" - CPerParticleVecInput m_InputVec1; // 0x180 - // MPropertyFriendlyName "input vector 2" - CPerParticleVecInput m_InputVec2; // 0x5b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x9e0 - // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x9e4 -}; - -// Aligment: 2 -// Size: 400 -class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input control point" - int32_t m_nInputControlPoint; // 0x180 - // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x184 -}; - -// Aligment: 16 -// Size: 816 -class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x180 - // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x268 - // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x26c - // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x270 - // MPropertyFriendlyName "interpolation rate" - float m_flLerpRate; // 0x274 - // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x278 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x2f8 - // MPropertyFriendlyName "reference CP 1" - int32_t m_nRefCP1; // 0x2fc - // MPropertyFriendlyName "reference CP 2" - int32_t m_nRefCP2; // 0x300 - // MPropertyFriendlyName "interploation distance tolerance cp" - int32_t m_nLerpCP; // 0x304 - // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x310 - // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x314 - // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x317 - // MPropertyFriendlyName "treat offset as scalar of particle radius" - bool m_bScaleOffset; // 0x318 - // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x31c - // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x320 -}; - -// Aligment: 5 -// Size: 432 -class C_OP_LockToPointList : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x188 - // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x1a0 - // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x1a1 - // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x1a4 -}; - -// Aligment: 6 -// Size: 656 -class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "CP to point towards" - int32_t m_nInputCP; // 0x190 - // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x194 - // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x198 - // MPropertyFriendlyName "2D Orient" - bool m_b2DOrientation; // 0x280 - // MPropertyFriendlyName "Avoid Vertical Axis Singularity" - bool m_bAvoidSingularity; // 0x281 - // MPropertyFriendlyName "Point Away" - bool m_bPointAway; // 0x282 -}; - -// Aligment: 1 -// Size: 400 -class C_OP_VelocityDecay : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "minimum velocity" - float m_flMinVelocity; // 0x180 -}; - -// Aligment: 3 -// Size: 416 -class C_OP_LerpEndCapVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "value to lerp to" - // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x184 - // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x190 -}; - -// Aligment: 0 -// Size: 432 -class C_INIT_RandomRotation : public CGeneralRandomRotation, CParticleFunctionInitializer, CParticleFunction -{ -public: -// -}; - -// Aligment: 4 -// Size: 864 -class C_OP_LerpToInitialPosition : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x188 - // MPropertyFriendlyName "position cache attribute" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nCacheField; // 0x270 - // MPropertyFriendlyName "scale" - CParticleCollectionFloatInput m_flScale; // 0x278 -}; - -// Aligment: 2 -// Size: 480 -class C_OP_RenderText : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "outline color" - Color m_OutlineColor; // 0x1d0 - // MPropertyFriendlyName "default text" - CUtlString m_DefaultText; // 0x1d8 -}; - -// Aligment: 4 -// Size: 416 -class C_INIT_RemapCPOrientationToRotations : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 - // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x184 - // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x190 - // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x191 -}; - -// Aligment: 5 -// Size: 864 -class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "read field" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 - // MPropertyFriendlyName "written field" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x188 - // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_DistanceCheck; // 0x190 - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x278 -}; - -// Aligment: 2 -// Size: 8 -struct SequenceWeightedList_t -{ -public: - // MPropertyFriendlyName "sequence" - // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequence; // 0x0 - // MPropertyFriendlyName "weight" - float m_flRelativeWeight; // 0x4 -}; - -// Aligment: 1 -// Size: 400 -class C_INIT_RandomYawFlip : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "flip percentage" - float m_flPercent; // 0x180 -}; - -// Aligment: 4 -// Size: 400 -class C_OP_Cull : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "cull percentage" - float m_flCullPerc; // 0x180 - // MPropertyFriendlyName "cull start time" - float m_flCullStart; // 0x184 - // MPropertyFriendlyName "cull end time" - float m_flCullEnd; // 0x188 - // MPropertyFriendlyName "cull time exponent" - float m_flCullExp; // 0x18c -}; - -// Aligment: 1 -// Size: 400 -class C_OP_NormalLock : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 -}; - -// Aligment: 4 -// Size: 464 -class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x180 - // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x184 - // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x188 - CPathParameters m_PathParams; // 0x190 -}; - -// Aligment: 2 -// Size: 1080 -struct VecInputMaterialVariable_t -{ -public: - // MPropertyFriendlyName "material variable" - CUtlString m_strVariable; // 0x0 - // MPropertyFriendlyName "input" - CParticleCollectionVecInput m_vecInput; // 0x8 -}; - -// Aligment: 6 -// Size: 480 -class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x180 - // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x184 - // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x188 - // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x189 - // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x18a - CPathParameters m_PathParams; // 0x190 -}; - -// Aligment: 7 -// Size: 416 -class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x188 - // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x18c - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x190 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x194 - // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x198 -}; - -// Aligment: 0 -// Size: 464 -class C_OP_RenderClothForce : public CParticleFunctionRenderer, CParticleFunction -{ -public: -// -}; - -// Aligment: 6 -// Size: 416 -class C_OP_RestartAfterDuration : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "minimum restart time" - float m_flDurationMin; // 0x180 - // MPropertyFriendlyName "maximum restart time" - float m_flDurationMax; // 0x184 - // MPropertyFriendlyName "control point to scale duration" - int32_t m_nCP; // 0x188 - // MPropertyFriendlyName "control point field X/Y/Z" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x18c - // MPropertyFriendlyName "child group ID" - int32_t m_nChildGroupID; // 0x190 - // MPropertyFriendlyName "only restart children" - bool m_bOnlyChildren; // 0x194 -}; - -// Aligment: 14 -// Size: 3376 -class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x180 - // MPropertyFriendlyName "force creation height to desired height" - bool m_bForceZ; // 0x181 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x184 - // MPropertyFriendlyName "height override control point number" - int32_t m_nHeightCP; // 0x188 - // MPropertyFriendlyName "desired height is relative to water" - bool m_bUseWaterHeight; // 0x18c - // MPropertyFriendlyName "relative desired height" - CParticleCollectionFloatInput m_flDesiredHeight; // 0x190 - // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x278 - // MPropertyFriendlyName "direction bias" - // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x6a8 - // MPropertyFriendlyName "bias type" - ParticleHitboxBiasType_t m_nBiasType; // 0xad8 - // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xadc - // MPropertyFriendlyName "bias prefers moving hitboxes" - bool m_bPreferMovingBoxes; // 0xadd - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0xade - // MPropertyFriendlyName "hitbox velocity inherited scale" - CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xb60 - // MPropertyFriendlyName "max hitbox velocity" - CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0xc48 -}; - -// Aligment: 3 -// Size: 400 -class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "min" - float m_flMin; // 0x180 - // MPropertyFriendlyName "max" - float m_flMax; // 0x184 - // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x188 -}; - -// Aligment: 3 -// Size: 400 -class C_OP_VelocityMatchingForce : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "direction matching strength" - float m_flDirScale; // 0x180 - // MPropertyFriendlyName "speed matching strength" - float m_flSpdScale; // 0x184 - // MPropertyFriendlyName "control point to broadcast speed and direction to" - int32_t m_nCPBroadcast; // 0x188 -}; - -// Aligment: 3 -// Size: 432 -class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x190 - // MPropertyFriendlyName "ramp rate min" - Vector m_vecRateMin; // 0x194 - // MPropertyFriendlyName "ramp rate max" - Vector m_vecRateMax; // 0x1a0 -}; - -// Aligment: 10 -// Size: 1792 -class C_INIT_CreateOnGrid : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "X Dimension Count" - CParticleCollectionFloatInput m_nXCount; // 0x180 - // MPropertyFriendlyName "Y Dimension Count" - CParticleCollectionFloatInput m_nYCount; // 0x268 - // MPropertyFriendlyName "Z Dimension Count" - CParticleCollectionFloatInput m_nZCount; // 0x350 - // MPropertyFriendlyName "X Dimension Spacing" - CParticleCollectionFloatInput m_nXSpacing; // 0x438 - // MPropertyFriendlyName "Y Dimension Spacing" - CParticleCollectionFloatInput m_nYSpacing; // 0x520 - // MPropertyFriendlyName "Z Dimension Spacing" - CParticleCollectionFloatInput m_nZSpacing; // 0x608 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x6f0 - // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x6f4 - // MPropertyFriendlyName "center around control point" - bool m_bCenter; // 0x6f5 - // MPropertyFriendlyName "hollow" - bool m_bHollow; // 0x6f6 -}; - -// Aligment: 1 -// Size: 480 -class C_OP_RenderPoints : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "material" - // MPropertyAttributeEditor "AssetBrowse( vmat )" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x1d0 -}; - -// Aligment: 7 -// Size: 448 -class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x198 - // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x19c - // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x1a0 - // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x1a4 - // MPropertyFriendlyName "light bias" - float m_flTintPerc; // 0x1a8 - // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x1ac - // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x1b0 -}; - -// Aligment: 1 -// Size: 6672 -class C_OP_RenderFogSprites : public C_OP_RenderSprites, CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "material" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x1a00 -}; - -// Aligment: 1 -// Size: 624 -class C_OP_DecayClampCount : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "Maximum Count" - CParticleCollectionFloatInput m_nCount; // 0x180 -}; - -// Aligment: 7 -// Size: 512 -class C_OP_RenderLights : public C_OP_RenderPoints, CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "animation rate" - float m_flAnimationRate; // 0x1e0 - // MPropertyFriendlyName "animation type" - AnimationType_t m_nAnimationType; // 0x1e4 - // MPropertyFriendlyName "set animation value in FPS" - bool m_bAnimateInFPS; // 0x1e8 - // MPropertyFriendlyName "minimum visual size" - float m_flMinSize; // 0x1ec - // MPropertyFriendlyName "maximum visual size" - float m_flMaxSize; // 0x1f0 - // MPropertyFriendlyName "size at which to start fading" - float m_flStartFadeSize; // 0x1f4 - // MPropertyFriendlyName "size at which to fade away" - float m_flEndFadeSize; // 0x1f8 -}; - -// Aligment: 0 -// Size: 464 -class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar, CParticleFunctionInitializer, CParticleFunction -{ -public: -// -}; - -// Aligment: 6 -// Size: 448 -class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "color fade min" - Color m_ColorFadeMin; // 0x180 - // MPropertyFriendlyName "color fade max" - Color m_ColorFadeMax; // 0x19c - // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x1ac - // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x1b0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 - // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x1b8 -}; - -// Aligment: 7 -// Size: 656 -class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x180 - // MPropertyFriendlyName "attachment to follow" - char[128] m_AttachmentName; // 0x200 - // MPropertyFriendlyName "First control point to set" - int32_t m_nFirstControlPoint; // 0x280 - // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x284 - // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x288 - // MPropertyFriendlyName "use skinning instead of hitboxes" - bool m_bSkin; // 0x28c - // MPropertyFriendlyName "follow attachment" - bool m_bAttachment; // 0x28d -}; - -// Aligment: 5 -// Size: 496 -class C_INIT_CreateAlongPath : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x180 - CPathParameters m_PathParams; // 0x190 - // MPropertyFriendlyName "randomly select sequential CP pairs between start and end points" - bool m_bUseRandomCPs; // 0x1d0 - // MPropertyFriendlyName "Offset from control point for path end" - // MVectorIsCoordinate - Vector m_vEndOffset; // 0x1d4 - // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x1e0 -}; - -// Aligment: 4 -// Size: 416 -class C_OP_DistanceCull : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x180 - // MPropertyFriendlyName "control point offset" - // MVectorIsCoordinate - Vector m_vecPointOffset; // 0x184 - // MPropertyFriendlyName "cull distance" - float m_flDistance; // 0x190 - // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x194 -}; - -// Aligment: 8 -// Size: 480 -class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x180 - // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance0; // 0x184 - // MPropertyFriendlyName "maximum distance middle" - float m_flMaxDistanceMid; // 0x188 - // MPropertyFriendlyName "maximum distance end" - float m_flMaxDistance1; // 0x18c - CPathParameters m_PathParameters; // 0x190 - // MPropertyFriendlyName "travel time" - float m_flTravelTime; // 0x1d0 - // MPropertyFriendlyName "travel time scale field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldScale; // 0x1d4 - // MPropertyFriendlyName "manual time placement field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nManualTField; // 0x1d8 -}; - -// Aligment: 4 -// Size: 432 -class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x190 - // MPropertyFriendlyName "hand" - int32_t m_nHand; // 0x194 - // MPropertyFriendlyName "control point offset" - // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x198 - // MPropertyFriendlyName "use hand orientation" - bool m_bOrientToHand; // 0x1a4 -}; - -// Aligment: 14 -// Size: 592 -class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x190 - // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x194 - // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x198 - // MPropertyFriendlyName "output control point field" - int32_t m_nOutputCPField; // 0x19c - // MPropertyFriendlyName "only set distance once" - bool m_bSetOnce; // 0x1a0 - // MPropertyFriendlyName "distance minimum" - float m_flInputMin; // 0x1a4 - // MPropertyFriendlyName "distance maximum" - float m_flInputMax; // 0x1a8 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1ac - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1b0 - // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x1b4 - // MPropertyFriendlyName "LOS Failure Scale" - float m_flLOSScale; // 0x1b8 - // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x1bc - // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x1bd - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x240 -}; - -// Aligment: 10 -// Size: 880 -class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "field to read" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x184 - // MPropertyFriendlyName "field to write" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x188 - // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x18c - // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x190 - // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x191 - // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x194 - // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x198 - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x280 - // MPropertyFriendlyName "Sub-Sample Between Input Points" - bool m_bSubSample; // 0x368 -}; - -// Aligment: 3 -// Size: 400 -class C_OP_RemapVectortoCP : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x180 - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x184 - // MPropertyFriendlyName "particle number to read" - int32_t m_nParticleNumber; // 0x188 -}; - -// Aligment: 3 -// Size: 432 -class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1a0 - // MPropertyFriendlyName "output value at min distance" - float m_flMinOutputValue; // 0x1a4 - // MPropertyFriendlyName "output value at max distance" - float m_flMaxOutputValue; // 0x1a8 -}; - -// Aligment: 4 -// Size: 896 -class C_OP_SetFloat : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x268 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x26c - // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x270 -}; - -// Aligment: 5 -// Size: 528 -class C_OP_ModelCull : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x184 - // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x185 - // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x186 - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x187 -}; - -// Aligment: 3 -// Size: 1472 -class C_OP_LocalAccelerationForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x180 - // MPropertyFriendlyName "scale control point" - int32_t m_nScaleCP; // 0x184 - // MPropertyFriendlyName "local space acceleration" - CParticleCollectionVecInput m_vecAccel; // 0x188 -}; - -// Aligment: 15 -// Size: 88 -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 -}; - -// Aligment: 7 -// Size: 416 -class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x184 - // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x188 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x18c - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x190 - // MPropertyFriendlyName "count back from last particle" - bool m_bBackwards; // 0x194 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x198 -}; - -// Aligment: 2 -// Size: 416 -class C_OP_RandomForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "min force" - // MVectorIsCoordinate - Vector m_MinForce; // 0x180 - // MPropertyFriendlyName "max force" - // MVectorIsCoordinate - Vector m_MaxForce; // 0x18c -}; - -// Aligment: 7 -// Size: 528 -class C_OP_RenderStatusEffect : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "color warp texture (3d)" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x1d0 - // MPropertyFriendlyName "detail 2 texture" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x1d8 - // MPropertyFriendlyName "diffuse warp texture (3d)" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x1e0 - // MPropertyFriendlyName "fresnel color warp texture (3d)" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x1e8 - // MPropertyFriendlyName "fresnel warp texture" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x1f0 - // MPropertyFriendlyName "specular warp texture" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x1f8 - // MPropertyFriendlyName "environment map texture" - // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x200 -}; - -// Aligment: 5 -// Size: 416 -class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x188 - // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x18c - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x190 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x194 -}; - -// Aligment: 5 -// Size: 432 -class C_INIT_AddVectorToVector : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "component scale factor" - Vector m_vecScale; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x18c - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x190 - // MPropertyFriendlyName "random offset min" - Vector m_vOffsetMin; // 0x194 - // MPropertyFriendlyName "random offset max" - Vector m_vOffsetMax; // 0x1a0 -}; - -// Aligment: 2 -// Size: 848 -class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // MPropertyFriendlyName "parent particle radius scale" - CPerParticleFloatInput m_flParentRadiusScale; // 0x180 - // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x268 -}; - -// Aligment: 3 -// Size: 640 -class C_INIT_DistanceCull : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x180 - // MPropertyFriendlyName "cull distance" - CParticleCollectionFloatInput m_flDistance; // 0x188 - // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x270 -}; - -// Aligment: 5 -// Size: 448 -class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x180 - // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x184 - // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x188 - // MPropertyFriendlyName "ramp field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1b0 - // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x1b4 -}; - -// Aligment: 5 -// Size: 432 -class C_INIT_RandomSequence : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "sequence min" - // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMin; // 0x180 - // MPropertyFriendlyName "sequence max" - // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMax; // 0x184 - // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x188 - // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x189 - // MPropertyFriendlyName "weighted list" - CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x190 -}; - -// Aligment: 6 -// Size: 464 -class C_OP_FadeOut : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "fade out time min" - float m_flFadeOutTimeMin; // 0x180 - // MPropertyFriendlyName "fade out time max" - float m_flFadeOutTimeMax; // 0x184 - // MPropertyFriendlyName "fade out time exponent" - float m_flFadeOutTimeExp; // 0x188 - // MPropertyFriendlyName "fade bias" - float m_flFadeBias; // 0x18c - // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1c0 - // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x1c1 -}; - -// Aligment: 13 -// Size: 432 -class C_OP_OscillateScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "oscillation rate min" - float m_RateMin; // 0x180 - // MPropertyFriendlyName "oscillation rate max" - float m_RateMax; // 0x184 - // MPropertyFriendlyName "oscillation frequency min" - float m_FrequencyMin; // 0x188 - // MPropertyFriendlyName "oscillation frequency max" - float m_FrequencyMax; // 0x18c - // MPropertyFriendlyName "oscillation field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x190 - // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x194 - // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x195 - // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x198 - // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x19c - // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x1a0 - // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x1a4 - // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1a8 - // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x1ac -}; - -// Aligment: 5 -// Size: 1184 -class C_OP_RenderBlobs : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "cube width" - CParticleCollectionFloatInput m_cubeWidth; // 0x1d0 - // MPropertyFriendlyName "cutoff radius" - CParticleCollectionFloatInput m_cutoffRadius; // 0x2b8 - // MPropertyFriendlyName "render radius" - CParticleCollectionFloatInput m_renderRadius; // 0x3a0 - // MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)" - int32_t m_nScaleCP; // 0x488 - // MPropertyFriendlyName "material" - // MPropertyAttributeEditor "AssetBrowse( vmat )" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x490 -}; - -// Aligment: 0 -// Size: 1072 -class CParticleCollectionVecInput : public CParticleVecInput -{ -public: -// -}; - -// Aligment: 23 -// Size: 1760 -class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point for fast collision tests" - int32_t m_nCP; // 0x180 - // MPropertyFriendlyName "control point offset for fast collisions" - // MVectorIsCoordinate - Vector m_vecCpOffset; // 0x184 - // MPropertyFriendlyName "collision mode" - ParticleCollisionMode_t m_nCollisionMode; // 0x190 - // MPropertyFriendlyName "minimum detail collision mode" - ParticleCollisionMode_t m_nCollisionModeMin; // 0x194 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x198 - // MPropertyFriendlyName "amount of bounce" - CPerParticleFloatInput m_flBounceAmount; // 0x1a0 - // MPropertyFriendlyName "amount of slide" - CPerParticleFloatInput m_flSlideAmount; // 0x288 - // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x370 - // MPropertyFriendlyName "Random Direction scale" - CPerParticleFloatInput m_flRandomDirScale; // 0x458 - // MPropertyFriendlyName "control point movement distance tolerance" - float m_flCpMovementTolerance; // 0x540 - // MPropertyFriendlyName "trace accuracy tolerance" - float m_flTraceTolerance; // 0x544 - // MPropertyFriendlyName "minimum speed to kill on collision" - float m_flMinSpeed; // 0x548 - // MPropertyFriendlyName "Add Decay to Bounce" - bool m_bDecayBounce; // 0x54c - // MPropertyFriendlyName "kill particle on collision" - bool m_bKillonContact; // 0x54d - // MPropertyFriendlyName "Confirm Collision Speed Threshold" - float m_flCollisionConfirmationSpeed; // 0x550 - // MPropertyFriendlyName "Set Normal" - bool m_bSetNormal; // 0x554 - // MPropertyFriendlyName "Stick On Collision Cache Field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x558 - // MPropertyFriendlyName "Speed to stop when sticking" - CPerParticleFloatInput m_flStopSpeed; // 0x560 - // MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nEntityStickDataField; // 0x648 - // MPropertyFriendlyName "World Only" - bool m_bWorldOnly; // 0x64c - // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x650 - // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x654 - // MPropertyFriendlyName "brush only" - bool m_bBrushOnly; // 0x6d4 -}; - -// Aligment: 3 -// Size: 720 -class C_OP_RenderPostProcessing : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "Post Processing Strength" - CPerParticleFloatInput m_flPostProcessStrength; // 0x1d0 - // MPropertyFriendlyName "Post Processing File" - // MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x2b8 - // MPropertyFriendlyName "Post Processing Priority Group" - ParticlePostProcessPriorityGroup_t m_nPriority; // 0x2c0 -}; - -// Aligment: 4 -// Size: 400 -class C_INIT_RandomScalar : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "min" - float m_flMin; // 0x180 - // MPropertyFriendlyName "max" - float m_flMax; // 0x184 - // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x188 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x18c -}; - -// Aligment: 13 -// Size: 1024 -class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x180 - // MPropertyFriendlyName "max trace length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x268 - // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x350 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3d0 - // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3e0 - // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x3e4 - // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x3e5 - // MPropertyFriendlyName "set Previous XYZ only" - bool m_bSetPXYZOnly; // 0x3e6 - // MPropertyFriendlyName "Trace along particle normal" - bool m_bTraceAlongNormal; // 0x3e7 - // MPropertyFriendlyName "Offset only if trace hit" - bool m_bOffsetonColOnly; // 0x3e8 - // MPropertyFriendlyName "offset final position by this fraction of the particle radius" - float m_flOffsetByRadiusFactor; // 0x3ec - // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x3f0 - // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x3f4 -}; - -// Aligment: 33 -// Size: 1680 -class C_OP_ControlpointLight : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x180 - // MPropertyFriendlyName "light 1 control point" - int32_t m_nControlPoint1; // 0x604 - // MPropertyFriendlyName "light 2 control point" - int32_t m_nControlPoint2; // 0x608 - // MPropertyFriendlyName "light 3 control point" - int32_t m_nControlPoint3; // 0x60c - // MPropertyFriendlyName "light 4 control point" - int32_t m_nControlPoint4; // 0x610 - // MPropertyFriendlyName "light 1 control point offset" - Vector m_vecCPOffset1; // 0x614 - // MPropertyFriendlyName "light 2 control point offset" - Vector m_vecCPOffset2; // 0x620 - // MPropertyFriendlyName "light 3 control point offset" - Vector m_vecCPOffset3; // 0x62c - // MPropertyFriendlyName "light 4 control point offset" - Vector m_vecCPOffset4; // 0x638 - // MPropertyFriendlyName "light 1 50% distance" - float m_LightFiftyDist1; // 0x644 - // MPropertyFriendlyName "light 1 0% distance" - float m_LightZeroDist1; // 0x648 - // MPropertyFriendlyName "light 2 50% distance" - float m_LightFiftyDist2; // 0x64c - // MPropertyFriendlyName "light 2 0% distance" - float m_LightZeroDist2; // 0x650 - // MPropertyFriendlyName "light 3 50% distance" - float m_LightFiftyDist3; // 0x654 - // MPropertyFriendlyName "light 3 0% distance" - float m_LightZeroDist3; // 0x658 - // MPropertyFriendlyName "light 4 50% distance" - float m_LightFiftyDist4; // 0x65c - // MPropertyFriendlyName "light 4 0% distance" - float m_LightZeroDist4; // 0x660 - // MPropertyFriendlyName "light 1 color" - Color m_LightColor1; // 0x664 - // MPropertyFriendlyName "light 2 color" - Color m_LightColor2; // 0x668 - // MPropertyFriendlyName "light 3 color" - Color m_LightColor3; // 0x66c - // MPropertyFriendlyName "light 4 color" - Color m_LightColor4; // 0x670 - // MPropertyFriendlyName "light 1 type 0=point 1=spot" - bool m_bLightType1; // 0x674 - // MPropertyFriendlyName "light 2 type 0=point 1=spot" - bool m_bLightType2; // 0x675 - // MPropertyFriendlyName "light 3 type 0=point 1=spot" - bool m_bLightType3; // 0x676 - // MPropertyFriendlyName "light 4 type 0=point 1=spot" - bool m_bLightType4; // 0x677 - // MPropertyFriendlyName "light 1 dynamic light" - bool m_bLightDynamic1; // 0x678 - // MPropertyFriendlyName "light 2 dynamic light" - bool m_bLightDynamic2; // 0x679 - // MPropertyFriendlyName "light 3 dynamic light" - bool m_bLightDynamic3; // 0x67a - // MPropertyFriendlyName "light 4 dynamic light" - bool m_bLightDynamic4; // 0x67b - // MPropertyFriendlyName "compute normals from control points" - bool m_bUseNormal; // 0x67c - // MPropertyFriendlyName "half-lambert normals" - bool m_bUseHLambert; // 0x67d - // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x682 - // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x683 -}; - -// Aligment: 2 -// Size: 640 -class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x190 - // MPropertyFriendlyName "Number of Children to Use" - CParticleCollectionFloatInput m_flNumberOfChildren; // 0x198 -}; - -// Aligment: 4 -// Size: 2544 -class C_INIT_CreateWithinBox : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "min" - // MVectorIsCoordinate - CPerParticleVecInput m_vecMin; // 0x180 - // MPropertyFriendlyName "max" - // MVectorIsCoordinate - CPerParticleVecInput m_vecMax; // 0x5b0 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x9e0 - // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x9e4 -}; - -// Aligment: 6 -// Size: 416 -class C_OP_UpdateLightSource : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "color tint" - Color m_vColorTint; // 0x180 - // MPropertyFriendlyName "amount to multiply light brightness by" - float m_flBrightnessScale; // 0x184 - // MPropertyFriendlyName "amount to multiply particle system radius by to get light radius" - float m_flRadiusScale; // 0x188 - // MPropertyFriendlyName "minimum radius for created lights" - float m_flMinimumLightingRadius; // 0x18c - // MPropertyFriendlyName "maximum radius for created lights" - float m_flMaximumLightingRadius; // 0x190 - // MPropertyFriendlyName "amount of damping of changes" - float m_flPositionDampingConstant; // 0x194 -}; - -// Aligment: 2 -// Size: 480 -class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "rotate rate(dps)" - float m_flRotateRateDegrees; // 0x1d0 - // MPropertyFriendlyName "forward angle" - float m_flForwardDegrees; // 0x1d4 -}; - -// Aligment: 0 -// Size: 480 -class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap, CParticleFunctionOperator, CParticleFunction -{ -public: -// -}; - -// Aligment: 59 -// Size: 848 -class CParticleSystemDefinition : public IParticleSystemDefinition -{ -public: - // MPropertyFriendlyName "version" - // MPropertySuppressField - int32_t m_nBehaviorVersion; // 0x8 - // MPropertySuppressField - CUtlVector< CParticleFunctionPreEmission* > m_PreEmissionOperators; // 0x10 - // MPropertySuppressField - CUtlVector< CParticleFunctionEmitter* > m_Emitters; // 0x28 - // MPropertySuppressField - CUtlVector< CParticleFunctionInitializer* > m_Initializers; // 0x40 - // MPropertySuppressField - CUtlVector< CParticleFunctionOperator* > m_Operators; // 0x58 - // MPropertySuppressField - CUtlVector< CParticleFunctionForce* > m_ForceGenerators; // 0x70 - // MPropertySuppressField - CUtlVector< CParticleFunctionConstraint* > m_Constraints; // 0x88 - // MPropertySuppressField - CUtlVector< CParticleFunctionRenderer* > m_Renderers; // 0xa0 - // MPropertySuppressField - CUtlVector< ParticleChildrenInfo_t > m_Children; // 0xb8 - // MPropertySuppressField - int32_t m_nFirstMultipleOverride_BackwardCompat; // 0x178 - // MPropertyFriendlyName "initial particles" - int32_t m_nInitialParticles; // 0x17c - // MPropertyFriendlyName "max particles" - int32_t m_nMaxParticles; // 0x180 - // MPropertyFriendlyName "bounding box min" - // MVectorIsCoordinate - Vector m_BoundingBoxMin; // 0x1c0 - // MPropertyFriendlyName "bounding box max" - // MVectorIsCoordinate - Vector m_BoundingBoxMax; // 0x1cc - // MPropertyFriendlyName "snapshot control point" - int32_t m_nSnapshotControlPoint; // 0x1d8 - // MPropertyFriendlyName "snapshot" - // MPropertyAttributeEditor "AssetBrowse( vsnap )" - CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x1e0 - // MPropertyFriendlyName "target layer ID for rendering" - CUtlSymbolLarge m_pszTargetLayerID; // 0x1e8 - // MPropertyFriendlyName "reference replacement definition" - // MPropertyAttributeEditor "AssetBrowse( vpcf )" - // MParticleAdvancedField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x208 - // MPropertyFriendlyName "cull replacement definition" - // MPropertyAttributeEditor "AssetBrowse( vpcf )" - // MParticleAdvancedField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x210 - // MPropertyFriendlyName "cull radius" - // MParticleAdvancedField - float m_flCullRadius; // 0x218 - // MPropertyFriendlyName "cull cost" - // MParticleAdvancedField - float m_flCullFillCost; // 0x21c - // MPropertyFriendlyName "cull control point" - // MParticleAdvancedField - int32_t m_nCullControlPoint; // 0x220 - // MPropertyFriendlyName "fallback replacement definition" - // MPropertyAttributeEditor "AssetBrowse( vpcf )" - // MParticleAdvancedField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x230 - // MPropertyFriendlyName "fallback max count" - // MParticleAdvancedField - int32_t m_nFallbackMaxCount; // 0x238 - // MPropertyFriendlyName "low violence definition" - // MPropertyAttributeEditor "AssetBrowse( vpcf )" - // MParticleAdvancedField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x240 - // MPropertyFriendlyName "color" - // MPropertyColorPlusAlpha - Color m_ConstantColor; // 0x248 - // MPropertyFriendlyName "normal" - // MVectorIsCoordinate - Vector m_ConstantNormal; // 0x24c - // MPropertyFriendlyName "radius" - // MPropertyAttributeRange "biased 0 500" - float m_flConstantRadius; // 0x258 - // MPropertyFriendlyName "rotation" - float m_flConstantRotation; // 0x25c - // MPropertyFriendlyName "rotation speed" - float m_flConstantRotationSpeed; // 0x260 - // MPropertyFriendlyName "lifetime" - float m_flConstantLifespan; // 0x264 - // MPropertyFriendlyName "sequence number" - // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nConstantSequenceNumber; // 0x268 - // MPropertyFriendlyName "sequence number 1" - // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nConstantSequenceNumber1; // 0x26c - // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x270 - // MPropertyFriendlyName "maximum time step" - // MParticleAdvancedField - float m_flMaximumTimeStep; // 0x274 - // MPropertyFriendlyName "maximum sim tick rate" - // MParticleAdvancedField - float m_flMaximumSimTime; // 0x278 - // MPropertyFriendlyName "minimum sim tick rate" - // MParticleAdvancedField - float m_flMinimumSimTime; // 0x27c - // MPropertyFriendlyName "minimum simulation time step" - // MParticleAdvancedField - float m_flMinimumTimeStep; // 0x280 - // MPropertyFriendlyName "minimum rendered frames" - // MParticleAdvancedField - int32_t m_nMinimumFrames; // 0x284 - // MPropertyFriendlyName "minimum CPU level" - // MParticleAdvancedField - int32_t m_nMinCPULevel; // 0x288 - // MPropertyFriendlyName "minimum GPU level" - // MParticleAdvancedField - int32_t m_nMinGPULevel; // 0x28c - // MPropertyFriendlyName "view model effect" - // MParticleAdvancedField - bool m_bViewModelEffect; // 0x290 - // MPropertyFriendlyName "screen space effect" - // MParticleAdvancedField - bool m_bScreenSpaceEffect; // 0x291 - // MPropertySuppressField - CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x2a8 - // MPropertyFriendlyName "time to sleep when not drawn" - float m_flNoDrawTimeToGoToSleep; // 0x2c0 - // MPropertyFriendlyName "maximum draw distance" - float m_flMaxDrawDistance; // 0x2c4 - // MPropertyFriendlyName "start fade distance" - float m_flStartFadeDistance; // 0x2c8 - // MPropertyFriendlyName "maximum creation distance" - float m_flMaxCreationDistance; // 0x2cc - // MPropertyFriendlyName "control point to disable rendering if it is the camera" - // MParticleAdvancedField - int32_t m_nSkipRenderControlPoint; // 0x2d0 - // MPropertyFriendlyName "control point to only enable rendering if it is the camera" - // MParticleAdvancedField - int32_t m_nAllowRenderControlPoint; // 0x2d4 - // MPropertyFriendlyName "minimum free particles to aggregate" - // MParticleAdvancedField - int32_t m_nAggregationMinAvailableParticles; // 0x2d8 - // MPropertyFriendlyName "aggregation radius" - // MParticleAdvancedField - float m_flAggregateRadius; // 0x2dc - // MPropertyFriendlyName "freeze simulation after time" - // MParticleAdvancedField - float m_flStopSimulationAfterTime; // 0x2e0 - // MPropertyFriendlyName "pre-simulation time" - // MParticleAdvancedField - float m_flPreSimulationTime; // 0x2e4 - // MPropertyFriendlyName "sort particles (DEPRECATED - USE RENDERER OPTION)" - bool m_bShouldSort; // 0x320 - // MPropertyFriendlyName "batch particle systems" - // MParticleAdvancedField - bool m_bShouldBatch; // 0x321 - // MPropertyFriendlyName "depth sort bias" - float m_flDepthSortBias; // 0x324 - // MPropertyFriendlyName "infinite bounds - don't cull" - bool m_bInfiniteBounds; // 0x328 - // MPropertyFriendlyName "Hitboxes fall back to render bounds" - // MParticleAdvancedField - bool m_bShouldHitboxesFallbackToRenderBounds; // 0x32a -}; - -// Aligment: 3 -// Size: 464 -class CParticleFunctionRenderer : public CParticleFunction -{ -public: - // MParticleAdvancedField - // MPropertySortPriority "-1" - CParticleVisibilityInputs VisibilityInputs; // 0x180 - // MPropertyStartGroup "Rendering filter" - // MPropertyFriendlyName "I cannot be refracted through refracting objects like water" - // MPropertySortPriority "-1" - bool m_bCannotBeRefracted; // 0x1c4 - // MPropertyFriendlyName "Skip rendering on mobile" - // MPropertySortPriority "-1" - bool m_bSkipRenderingOnMobile; // 0x1c5 -}; - -// Aligment: 11 -// Size: 432 -class C_OP_RemapCPtoScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "input field 0-2 X/Y/Z" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x188 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x18c - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x190 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 - // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x19c - // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1a0 - // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x1a4 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a8 -}; - -// Aligment: 5 -// Size: 1488 -class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x190 - // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x191 - // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x194 - // MPropertyFriendlyName "control point location" - CParticleCollectionVecInput m_vecCP1Pos; // 0x198 - // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x5c8 -}; - -// Aligment: 2 -// Size: 400 -class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x180 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x184 -}; - -// Aligment: 0 -// Size: 432 -class C_INIT_RandomYaw : public CGeneralRandomRotation, CParticleFunctionInitializer, CParticleFunction -{ -public: -// -}; - -// Aligment: 2 -// Size: 400 -class C_OP_SetCPtoVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 -}; - -// Aligment: 0 -// Size: 384 -class CParticleFunctionOperator : public CParticleFunction -{ -public: -// -}; - -// Aligment: 3 -// Size: 400 -class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x184 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x188 -}; - -// Aligment: 8 -// Size: 912 -class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x190 - // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x191 - // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x194 - // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x198 - // MPropertyFriendlyName "re-randomize rate (-1 for once only)" - CParticleCollectionFloatInput m_flReRandomRate; // 0x1a0 - // MPropertyFriendlyName "control point min" - Vector m_vecCPMinPos; // 0x288 - // MPropertyFriendlyName "control point max" - Vector m_vecCPMaxPos; // 0x294 - // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x2a0 -}; - -// Aligment: 25 -// Size: 184 -class CNewParticleEffect : public IParticleEffect -{ -public: - CNewParticleEffect* m_pNext; // 0x10 - CNewParticleEffect* m_pPrev; // 0x18 - IParticleCollection* m_pParticles; // 0x20 - char* m_pDebugName; // 0x28 - bitfield:1 m_bDontRemove; // 0x0 - bitfield:1 m_bRemove; // 0x0 - bitfield:1 m_bNeedsBBoxUpdate; // 0x0 - bitfield:1 m_bIsFirstFrame; // 0x0 - bitfield:1 m_bAutoUpdateBBox; // 0x0 - bitfield:1 m_bAllocated; // 0x0 - bitfield:1 m_bSimulate; // 0x0 - bitfield:1 m_bShouldPerformCullCheck; // 0x0 - bitfield:1 m_bForceNoDraw; // 0x0 - bitfield:1 m_bDisableAggregation; // 0x0 - bitfield:1 m_bShouldSimulateDuringGamePaused; // 0x0 - bitfield:1 m_bShouldCheckFoW; // 0x0 - Vector m_vSortOrigin; // 0x40 - float m_flScale; // 0x4c - PARTICLE_EHANDLE__* m_hOwner; // 0x50 - CParticleProperty* m_pOwningParticleProperty; // 0x58 - Vector m_LastMin; // 0x70 - Vector m_LastMax; // 0x7c - CSplitScreenSlot m_nSplitScreenUser; // 0x88 - Vector m_vecAggregationCenter; // 0x8c - int32_t m_RefCount; // 0xb0 -}; - -// Aligment: 1 -// Size: 624 -class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "freeze time" - CParticleCollectionFloatInput m_flFreezeTime; // 0x180 -}; - -// Aligment: 3 -// Size: 432 -class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x190 - // MPropertyFriendlyName "control point offset" - // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x194 - // MPropertyFriendlyName "use eye orientation" - bool m_bOrientToEyes; // 0x1a0 -}; - -// Aligment: 9 -// Size: 480 -class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "model" - // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 - // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x188 - // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x1a0 - // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x1b8 - // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x1d0 - // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x1d1 - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1d4 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8 - // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x1dc -}; - -// Aligment: 8 -// Size: 448 -class C_OP_TurbulenceForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "noise scale 0" - float m_flNoiseCoordScale0; // 0x180 - // MPropertyFriendlyName "noise scale 1" - float m_flNoiseCoordScale1; // 0x184 - // MPropertyFriendlyName "noise scale 2" - float m_flNoiseCoordScale2; // 0x188 - // MPropertyFriendlyName "noise scale 3" - float m_flNoiseCoordScale3; // 0x18c - // MPropertyFriendlyName "noise amount 0" - // MVectorIsCoordinate - Vector m_vecNoiseAmount0; // 0x190 - // MPropertyFriendlyName "noise amount 1" - // MVectorIsCoordinate - Vector m_vecNoiseAmount1; // 0x19c - // MPropertyFriendlyName "noise amount 2" - // MVectorIsCoordinate - Vector m_vecNoiseAmount2; // 0x1a8 - // MPropertyFriendlyName "noise amount 3" - // MVectorIsCoordinate - Vector m_vecNoiseAmount3; // 0x1b4 -}; - -// Aligment: 3 -// Size: 400 -class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "minimum" - float m_flOutputMin; // 0x184 - // MPropertyFriendlyName "maximum" - float m_flOutputMax; // 0x188 -}; - -// Aligment: 1 -// Size: 4 -struct ParticleAttributeIndex_t -{ -public: - int32_t m_nBoxedTypeSafeInt; // 0x0 -}; - -// Aligment: 6 -// Size: 464 -class C_OP_InterpolateRadius : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x180 - // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x184 - // MPropertyFriendlyName "radius start scale" - float m_flStartScale; // 0x188 - // MPropertyFriendlyName "radius end scale" - float m_flEndScale; // 0x18c - // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x190 - // MPropertyFriendlyName "scale bias" - float m_flBias; // 0x194 -}; - -// Aligment: 11 -// Size: 576 -class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point to set" - int32_t m_nCPOut; // 0x190 - // MPropertyFriendlyName "control point to trace from" - int32_t m_nCPIn; // 0x194 - // MPropertyFriendlyName "trace update rate" - float m_flUpdateRate; // 0x198 - // MPropertyFriendlyName "max trace length" - float m_flTraceLength; // 0x19c - // MPropertyFriendlyName "offset start point amount" - float m_flStartOffset; // 0x1a0 - // MPropertyFriendlyName "offset end point amount" - float m_flOffset; // 0x1a4 - // MPropertyFriendlyName "trace direction override" - // MVectorIsCoordinate - Vector m_vecTraceDir; // 0x1a8 - // MPropertyFriendlyName "trace collision group" - char[128] m_CollisionGroupName; // 0x1b4 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x234 - // MPropertyFriendlyName "set to trace endpoint if no collision" - bool m_bSetToEndpoint; // 0x238 - // MPropertyFriendlyName "trace to closest surface along all cardinal directions" - bool m_bTraceToClosestSurface; // 0x239 -}; - -// Aligment: 4 -// Size: 720 -class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "haptic hand" - ParticleVRHandChoiceList_t m_nHand; // 0x1d0 - // MPropertyFriendlyName "hand control point number" - int32_t m_nOutputHandCP; // 0x1d4 - // MPropertyFriendlyName "cp field" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x1d8 - // MPropertyFriendlyName "amplitude" - CPerParticleFloatInput m_flAmplitude; // 0x1e0 -}; - -// Aligment: 15 -// Size: 1744 -class C_OP_PositionLock : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "start fadeout min" - float m_flStartTime_min; // 0x184 - // MPropertyFriendlyName "start fadeout max" - float m_flStartTime_max; // 0x188 - // MPropertyFriendlyName "start fadeout exponent" - float m_flStartTime_exp; // 0x18c - // MPropertyFriendlyName "end fadeout min" - float m_flEndTime_min; // 0x190 - // MPropertyFriendlyName "end fadeout max" - float m_flEndTime_max; // 0x194 - // MPropertyFriendlyName "end fadeout exponent" - float m_flEndTime_exp; // 0x198 - // MPropertyFriendlyName "distance fade range" - float m_flRange; // 0x19c - // MPropertyFriendlyName "distance fade bias" - CParticleCollectionFloatInput m_flRangeBias; // 0x1a0 - // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x288 - // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x28c - // MPropertyFriendlyName "lock rotation" - bool m_bLockRot; // 0x290 - // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x298 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x6c8 - // MPropertyFriendlyName "output field prev" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x6cc -}; - -// Aligment: 14 -// Size: 464 -class C_OP_OscillateVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "oscillation rate min" - // MVectorIsSometimesCoordinate - Vector m_RateMin; // 0x180 - // MPropertyFriendlyName "oscillation rate max" - // MVectorIsSometimesCoordinate - Vector m_RateMax; // 0x18c - // MPropertyFriendlyName "oscillation frequency min" - // MVectorIsSometimesCoordinate - Vector m_FrequencyMin; // 0x198 - // MPropertyFriendlyName "oscillation frequency max" - // MVectorIsSometimesCoordinate - Vector m_FrequencyMax; // 0x1a4 - // MPropertyFriendlyName "oscillation field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x1b0 - // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1b4 - // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1b5 - // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x1b6 - // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1b8 - // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1bc - // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x1c0 - // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x1c4 - // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1c8 - // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x1cc -}; - -// Aligment: 9 -// Size: 1344 -class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x180 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x184 - // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x188 - // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x18c - // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x190 - // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_flIncrement; // 0x198 - // MPropertyFriendlyName "Full Loop Increment Amount" - CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x280 - // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x368 - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x450 -}; - -// Aligment: 8 -// Size: 672 -class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "set orientation in world space" - bool m_bUseWorldLocation; // 0x190 - // MPropertyFriendlyName "randomize" - bool m_bRandomize; // 0x192 - // MPropertyFriendlyName "only set orientation once" - bool m_bSetOnce; // 0x193 - // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x194 - // MPropertyFriendlyName "control point to offset orientation from" - int32_t m_nHeadLocation; // 0x198 - // MPropertyFriendlyName "pitch yaw roll" - QAngle m_vecRotation; // 0x19c - // MPropertyFriendlyName "pitch yaw roll max" - QAngle m_vecRotationB; // 0x1a8 - // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x1b8 -}; - -// Aligment: 5 -// Size: 416 -class C_INIT_VelocityFromCP : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPoint; // 0x180 - // MPropertyFriendlyName "comparison control point number" - int32_t m_nControlPointCompare; // 0x184 - // MPropertyFriendlyName "local space control point number" - int32_t m_nControlPointLocal; // 0x188 - // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x18c - // MPropertyFriendlyName "direction only" - bool m_bDirectionOnly; // 0x190 -}; - -// Aligment: 7 -// Size: 6368 -class CBaseTrailRenderer : public CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyStartGroup "Orientation" - // MPropertyFriendlyName "orientation type" - // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x16f0 - // 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; // 0x16f4 - // MPropertyStartGroup "Screenspace Fading and culling" - // MPropertyFriendlyName "minimum visual screen-size" - // MPropertySortPriority "900" - float m_flMinSize; // 0x16f8 - // MPropertyFriendlyName "maximum visual screen-size" - // MPropertySortPriority "900" - float m_flMaxSize; // 0x16fc - // MPropertyFriendlyName "start fade screen-size" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x1700 - // MPropertyFriendlyName "end fade and cull screen-size" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x17e8 - // MPropertyStartGroup "Trail UV Controls" - // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" - // MPropertySortPriority "800" - bool m_bClampV; // 0x18d0 -}; - -// Aligment: 10 -// Size: 448 -class C_OP_PercentageBetweenCPsVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x184 - // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x188 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x18c - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x198 - // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x1a4 - // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x1a8 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1ac - // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x1b0 - // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x1b1 -}; - -// Aligment: 8 -// Size: 576 -class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "bias distance" - // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x180 - // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x18c - // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x190 - // MPropertyFriendlyName "trace recycle tolerance" - float m_flTraceTolerance; // 0x194 - // MPropertyFriendlyName "maximum points to cache" - int32_t m_nMaxPlanes; // 0x198 - // MPropertyFriendlyName "trace collision group" - char[128] m_CollisionGroupName; // 0x1a0 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x220 - // MPropertyFriendlyName "collide with water" - bool m_bIncludeWater; // 0x230 -}; - -// Aligment: 2 -// Size: 400 -class C_OP_ConstrainLineLength : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // MPropertyFriendlyName "minimum length" - float m_flMinDistance; // 0x180 - // MPropertyFriendlyName "maximum length" - float m_flMaxDistance; // 0x184 -}; - -// Aligment: 5 -// Size: 864 -class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter, CParticleFunction -{ -public: - // MPropertyFriendlyName "num to emit" - // MPropertyAttributeRange "1 1000" - CParticleCollectionFloatInput m_nParticlesToEmit; // 0x180 - // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x268 - // MPropertyFriendlyName "emission scale from killed parent particles" - float m_flInitFromKilledParentParticles; // 0x350 - // MPropertyFriendlyName "maximum emission per frame" - int32_t m_nMaxEmittedPerFrame; // 0x354 - // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x358 -}; - -// Aligment: 18 -// Size: 1072 -class CParticleVecInput -{ -public: - ParticleVecType_t m_nType; // 0x0 - Vector m_vLiteralValue; // 0x4 - Color m_LiteralColor; // 0x10 - ParticleAttributeIndex_t m_nVectorAttribute; // 0x14 - Vector m_vVectorAttributeScale; // 0x18 - int32_t m_nControlPoint; // 0x24 - Vector m_vCPValueScale; // 0x28 - Vector m_vCPRelativePosition; // 0x34 - Vector m_vCPRelativeDir; // 0x40 - CParticleFloatInput m_FloatComponentX; // 0x50 - CParticleFloatInput m_FloatComponentY; // 0x138 - CParticleFloatInput m_FloatComponentZ; // 0x220 - CParticleFloatInput m_FloatInterp; // 0x308 - float m_flInterpInput0; // 0x3f0 - float m_flInterpInput1; // 0x3f4 - Vector m_vInterpOutput0; // 0x3f8 - Vector m_vInterpOutput1; // 0x404 - CColorGradient m_Gradient; // 0x410 -}; - -// Aligment: 0 -// Size: 416 -class C_OP_Spin : public CGeneralSpin, CParticleFunctionOperator, CParticleFunction -{ -public: -// -}; - -// Aligment: 10 -// Size: 432 -class C_INIT_CreationNoise : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x184 - // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x185 - // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x188 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x18c - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x190 - // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x194 - // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x198 - // MPropertyFriendlyName "spatial coordinate offset" - // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x19c - // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x1a8 -}; - -// Aligment: 8 -// Size: 528 -class C_OP_RenderAsModels : public CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyFriendlyName "models" - // MParticleRequireDefaultArrayEntry - CUtlVector< ModelReference_t > m_ModelList; // 0x1d0 - // MPropertyFriendlyName "scale factor for radius" - float m_flModelScale; // 0x1ec - // MPropertyFriendlyName "scale model to match particle size" - bool m_bFitToModelSize; // 0x1f0 - // MPropertyFriendlyName "non-uniform scaling" - bool m_bNonUniformScaling; // 0x1f1 - // MPropertyFriendlyName "X axis scaling scalar field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x1f4 - // MPropertyFriendlyName "Y axis scaling scalar field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x1f8 - // MPropertyFriendlyName "Z axis scaling scalar field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x1fc - // MPropertyFriendlyName "model size cull bloat" - // MPropertyAttributeChoiceName "particlefield_size_cull_bloat" - int32_t m_nSizeCullBloat; // 0x200 -}; - -// Aligment: 3 -// Size: 448 -class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1a0 - // MPropertyFriendlyName "output value at min distance" - Vector m_vMinOutputValue; // 0x1a4 - // MPropertyFriendlyName "output value at max distance" - Vector m_vMaxOutputValue; // 0x1b0 -}; - -// Aligment: 5 -// Size: 416 -class C_INIT_NormalOffset : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "offset min" - // MVectorIsCoordinate - Vector m_OffsetMin; // 0x180 - // MPropertyFriendlyName "offset max" - // MVectorIsCoordinate - Vector m_OffsetMax; // 0x18c - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x198 - // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x19c - // MPropertyFriendlyName "normalize output 0/1" - bool m_bNormalize; // 0x19d -}; - -// Aligment: 0 -// Size: 384 -class C_OP_SpinUpdate : public CSpinUpdateBase, CParticleFunctionOperator, CParticleFunction -{ -public: -// -}; - -// Aligment: 5 -// Size: 432 -class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "source Control Point in World" - int32_t m_nCPIn; // 0x190 - // MPropertyFriendlyName "Source Control Point offset" - // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x194 - // MPropertyFriendlyName "Set control point number" - int32_t m_nCPOut; // 0x1a0 - // MPropertyFriendlyName "Output field 0-2 X/Y/Z" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPOutField; // 0x1a4 - // MPropertyFriendlyName "Ss Pos and Dot OUT CP" - int32_t m_nCPSSPosOut; // 0x1a8 -}; - -// Aligment: 3 -// Size: 416 -class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "local offset min" - // MVectorIsCoordinate - Vector m_vecOffsetMin; // 0x180 - // MPropertyFriendlyName "local offset max" - // MVectorIsCoordinate - Vector m_vecOffsetMax; // 0x18c - // MPropertyFriendlyName "set normal" - bool m_bUseNormal; // 0x199 -}; - -// Aligment: 6 -// Size: 416 -class C_OP_RemapScalarEndCap : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x188 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x18c - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x190 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x194 -}; - -// Aligment: 8 -// Size: 64 -class CPathParameters -{ -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 -}; - -// Aligment: 2 -// Size: 624 -class C_INIT_InitFloatCollection : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x268 -}; - -// Aligment: 2 -// Size: 416 -class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "play when emission ends" - bool m_bFireOnEmissionEnd; // 0x190 - // MPropertyFriendlyName "wait for children to finish" - bool m_bIncludeChildren; // 0x191 -}; - -// Aligment: 4 -// Size: 880 -class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInputValue; // 0x190 - // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x278 - // MPropertyFriendlyName "output component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x27c - // MPropertyFriendlyName "interval to snap to" - CParticleCollectionFloatInput m_flQuantizeValue; // 0x280 -}; - -// Aligment: 4 -// Size: 1712 -class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 - // MPropertyFriendlyName "distance maximum" - CParticleCollectionFloatInput m_flDistance; // 0x188 - // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x270 - // MPropertyFriendlyName "distance squared output attribute" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDistSqrAttr; // 0x6a0 -}; - -// Aligment: 3 -// Size: 2544 -class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x188 - // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x5b8 -}; - -// Aligment: 4 -// Size: 400 -class C_OP_InheritFromParentParticles : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "scale" - float m_flScale; // 0x180 - // MPropertyFriendlyName "inherited field" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x188 - // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x18c -}; - -// Aligment: 4 -// Size: 400 -class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "min" - float m_flMin; // 0x180 - // MPropertyFriendlyName "max" - float m_flMax; // 0x184 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 - // MPropertyFriendlyName "component 0/1/2 X/Y/Z" - // MPropertyAttributeChoiceName "vector_component" - // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x18c -}; - -// Aligment: 0 -// Size: 384 -class CParticleFunctionForce : public CParticleFunction -{ -public: -// -}; - -// Aligment: 6 -// Size: 416 -class C_INIT_RemapInitialDirectionToCPToVector : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x188 - // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x18c - // MPropertyFriendlyName "offset axis" - // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x190 - // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x19c -}; - -// Aligment: 5 -// Size: 880 -class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x190 - // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x194 - // MPropertyFriendlyName "output component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x198 - // MPropertyFriendlyName "input 1" - CParticleCollectionFloatInput m_flInput1; // 0x1a0 - // MPropertyFriendlyName "input 2" - CParticleCollectionFloatInput m_flInput2; // 0x288 -}; - -// Aligment: 10 -// Size: 2560 -class C_INIT_PositionWarp : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "warp min" - // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMin; // 0x180 - // MPropertyFriendlyName "warp max" - // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMax; // 0x5b0 - // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0x9e0 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x9e4 - // MPropertyFriendlyName "radius scale component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nRadiusComponent; // 0x9e8 - // MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)" - float m_flWarpTime; // 0x9ec - // MPropertyFriendlyName "warp transition start time" - float m_flWarpStartTime; // 0x9f0 - // MPropertyFriendlyName "previous position sacale" - float m_flPrevPosScale; // 0x9f4 - // MPropertyFriendlyName "reverse warp (0/1)" - bool m_bInvertWarp; // 0x9f8 - // MPropertyFriendlyName "use particle count instead of time" - bool m_bUseCount; // 0x9f9 -}; - -// Aligment: 1 -// Size: 400 -class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x180 -}; - -// Aligment: 10 -// Size: 432 -class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "control point number (ignored if per particle)" - int32_t m_nControlPointNumber; // 0x184 - // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x188 - // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x18c - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x190 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x194 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x198 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x19c - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a0 - // MPropertyFriendlyName "per particle" - bool m_bPerParticle; // 0x1a4 -}; - -// Aligment: 8 -// Size: 432 -class C_OP_RemapCPVisibilityToVector : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x180 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPoint; // 0x184 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 - // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x18c - // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x190 - // MPropertyFriendlyName "output minimum" - Vector m_vecOutputMin; // 0x194 - // MPropertyFriendlyName "output maximum" - Vector m_vecOutputMax; // 0x1a0 - // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x1ac -}; - -// Aligment: 13 -// Size: 1488 -class C_OP_DistanceBetweenCPs : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x184 - // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x188 - // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x190 - // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x278 - // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x360 - // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x448 - // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x530 - // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x534 - // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x538 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x5b8 - // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x5bc - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x5c0 -}; - -// Aligment: 0 -// Size: 480 -class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed, CParticleFunctionOperator, CParticleFunction -{ -public: -// -}; - -// Aligment: 15 -// Size: 2976 -class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "snapshot control point number" - int32_t m_nCPSnapshot; // 0x190 - // MPropertyFriendlyName "start control point number" - int32_t m_nCPStartPnt; // 0x194 - // MPropertyFriendlyName "end control point number" - int32_t m_nCPEndPnt; // 0x198 - // MPropertyFriendlyName "Recursion Depth" - CParticleCollectionFloatInput m_flSegments; // 0x1a0 - // MPropertyFriendlyName "Offset" - CParticleCollectionFloatInput m_flOffset; // 0x288 - // MPropertyFriendlyName "Offset Decay" - CParticleCollectionFloatInput m_flOffsetDecay; // 0x370 - // MPropertyFriendlyName "Recalculation Rate" - CParticleCollectionFloatInput m_flRecalcRate; // 0x458 - // MPropertyFriendlyName "UV Scale" - CParticleCollectionFloatInput m_flUVScale; // 0x540 - // MPropertyFriendlyName "UV Offset" - CParticleCollectionFloatInput m_flUVOffset; // 0x628 - // MPropertyFriendlyName "Branch Split Rate" - CParticleCollectionFloatInput m_flSplitRate; // 0x710 - // MPropertyFriendlyName "Branch Twist" - CParticleCollectionFloatInput m_flBranchTwist; // 0x7f8 - // MPropertyFriendlyName "Branch Behavior" - ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0x8e0 - // MPropertyFriendlyName "Start Radius" - CParticleCollectionFloatInput m_flRadiusStart; // 0x8e8 - // MPropertyFriendlyName "End Radius" - CParticleCollectionFloatInput m_flRadiusEnd; // 0x9d0 - // MPropertyFriendlyName "Dedicated Particle Pool Count" - CParticleCollectionFloatInput m_flDedicatedPool; // 0xab8 -}; - -// Aligment: 4 -// Size: 2560 -class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x190 - // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x194 - // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vInput1; // 0x198 - // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vInput2; // 0x5c8 -}; - -// Aligment: 3 -// Size: 20 -struct ControlPointReference_t -{ -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 -}; - -// Aligment: 15 -// Size: 1656 -struct TextureControls_t -{ -public: - // MPropertyFriendlyName "horizontal texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0 - // MPropertyFriendlyName "vertical texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0xe8 - // MPropertyFriendlyName "horizontal texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x1d0 - // MPropertyFriendlyName "vertical texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x2b8 - // MPropertyFriendlyName "texture rotation / animation rate scale" - CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x3a0 - // MPropertyFriendlyName "Infinite Zoom Scale" - CParticleCollectionFloatInput m_flZoomScale; // 0x488 - // MPropertyFriendlyName "Distortion Amount" - CParticleCollectionFloatInput m_flDistortion; // 0x570 - // MPropertyFriendlyName "Randomize Initial Offset" - bool m_bRandomizeOffsets; // 0x658 - // MPropertyFriendlyName "Clamp UVs" - bool m_bClampUVs; // 0x659 - // MPropertyFriendlyName "per-particle scalar for scale" - SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x65c - // MPropertyFriendlyName "per-particle scalar for horizontal offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x660 - // MPropertyFriendlyName "per-particle scalar for vertical offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x664 - // MPropertyFriendlyName "per-particle scalar for rotation" - SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x668 - // MPropertyFriendlyName "per-particle scalar for zoom" - SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x66c - // MPropertyFriendlyName "per-particle scalar for distortion" - SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x670 -}; - -// Aligment: 4 -// Size: 400 -class C_OP_Orient2DRelToCP : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x180 - // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x184 - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x188 - // MPropertyFriendlyName "rotation field" - // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x18c -}; - -// Aligment: 3 -// Size: 400 -class C_INIT_RandomRadius : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "radius min" - // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMin; // 0x180 - // MPropertyFriendlyName "radius max" - // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMax; // 0x184 - // MPropertyFriendlyName "radius random exponent" - // MPropertyAttributeRange "-2 2" - float m_flRadiusRandExponent; // 0x188 -}; - -// Aligment: 5 -// Size: 416 -class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x184 - // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x188 - // MPropertyFriendlyName "local space scale" - Vector m_vecLocalCoordinateSystemSpeedScale; // 0x18c - // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x199 -}; - -// Aligment: 0 -// Size: 464 -class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar, C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction -{ -public: -// -}; - -// Aligment: 0 -// Size: 64 -class CPiecewiseCurveSchemaWrapper -{ -public: -// -}; - -// Aligment: 3 -// Size: 400 -class C_INIT_RandomLifeTime : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "lifetime min" - // MPropertyAttributeRange "0 20" - float m_fLifetimeMin; // 0x180 - // MPropertyFriendlyName "lifetime max" - // MPropertyAttributeRange "0 20" - float m_fLifetimeMax; // 0x184 - // MPropertyFriendlyName "lifetime random exponent" - float m_fLifetimeRandExponent; // 0x188 -}; - -// Aligment: 7 -// Size: 896 -class C_OP_AttractToControlPoint : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "component scale" - // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x180 - // MPropertyFriendlyName "amount of force (or Max Force)" - CPerParticleFloatInput m_fForceAmount; // 0x190 - // MPropertyFriendlyName "falloff power" - float m_fFalloffPower; // 0x278 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x27c - // MPropertyFriendlyName "scale in local space" - bool m_bScaleLocal; // 0x280 - // MPropertyFriendlyName "Min Pullforce" - CPerParticleFloatInput m_fForceAmountMin; // 0x288 - // MPropertyFriendlyName "Apply Min Pullforce" - bool m_bApplyMinForce; // 0x370 -}; - -// Aligment: 14 -// Size: 432 -class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "scale size multiplier from CP" - int32_t m_nScaleCP; // 0x184 - // MPropertyFriendlyName "scale CP component 0/1/2 X/Y/Z" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x188 - // MPropertyFriendlyName "center core radius" - float m_fRadCentCore; // 0x18c - // MPropertyFriendlyName "radius multiplier" - float m_fRadPerPoint; // 0x190 - // MPropertyFriendlyName "radius max (-1 procedural growth)" - float m_fRadPerPointTo; // 0x194 - // MPropertyFriendlyName "golden angle (is 137.508)" - float m_fpointAngle; // 0x198 - // MPropertyFriendlyName "overall size multiplier (-1 count based distribution)" - float m_fsizeOverall; // 0x19c - // MPropertyFriendlyName "radius bias" - float m_fRadBias; // 0x1a0 - // MPropertyFriendlyName "radius min " - float m_fMinRad; // 0x1a4 - // MPropertyFriendlyName "distribution bias" - float m_fDistBias; // 0x1a8 - // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x1ac - // MPropertyFriendlyName "use continuous emission" - bool m_bUseWithContEmit; // 0x1ad - // MPropertyFriendlyName "scale radius from initial value" - bool m_bUseOrigRadius; // 0x1ae -}; - -// Aligment: 4 -// Size: 416 -class C_OP_BoxConstraint : public CParticleFunctionConstraint, CParticleFunction -{ -public: - // MPropertyFriendlyName "min coords" - Vector m_vecMin; // 0x180 - // MPropertyFriendlyName "max coords" - Vector m_vecMax; // 0x18c - // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x198 - // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x19c -}; - -// Aligment: 5 -// Size: 432 -class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x190 - // MPropertyFriendlyName "control point to set" - int32_t m_nChildControlPoint; // 0x194 - // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x198 - // MPropertyFriendlyName "first parent control point to set from" - int32_t m_nFirstSourcePoint; // 0x19c - // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x1a0 -}; - -// Aligment: 8 -// Size: 416 -class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x180 - // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x184 - // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x188 - // MPropertyFriendlyName "particle increment amount" - int32_t m_nParticleIncrement; // 0x18c - // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x190 - // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x194 - // MPropertyFriendlyName "field to read" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x198 - // MPropertyFriendlyName "control point field for scalars" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x19c -}; - -// Aligment: 4 -// Size: 416 -class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "output offset minimum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x188 - // MPropertyFriendlyName "output offset maximum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x194 -}; - -// Aligment: 3 -// Size: 400 -class C_OP_GlobalLight : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x180 - // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x184 - // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x185 -}; - -// Aligment: 16 -// Size: 384 +// Alignment: 16 +// Size: 0x180 class CParticleFunction { public: @@ -20822,1710 +14886,9088 @@ public: // MPropertyFriendlyName "operator start fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeInTime; // 0x8 + float m_flOpStartFadeInTime; // 0x8 // MPropertyFriendlyName "operator end fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeInTime; // 0xc + float m_flOpEndFadeInTime; // 0xc // MPropertyFriendlyName "operator start fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeOutTime; // 0x10 + float m_flOpStartFadeOutTime; // 0x10 // MPropertyFriendlyName "operator end fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeOutTime; // 0x14 + float m_flOpEndFadeOutTime; // 0x14 // MPropertyFriendlyName "operator fade oscillate" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpFadeOscillatePeriod; // 0x18 + float m_flOpFadeOscillatePeriod; // 0x18 // MPropertyFriendlyName "normalize fade times to endcap" // MParticleAdvancedField // MPropertySortPriority "-100" - bool m_bNormalizeToStopTime; // 0x1c + bool m_bNormalizeToStopTime; // 0x1c +private: + [[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d +public: // MPropertyStartGroup "Time Offset" // MPropertyFriendlyName "operator time offset min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMin; // 0x20 + float m_flOpTimeOffsetMin; // 0x20 // MPropertyFriendlyName "operator time offset max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMax; // 0x24 + float m_flOpTimeOffsetMax; // 0x24 // MPropertyFriendlyName "operator time offset seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeOffsetSeed; // 0x28 + int32_t m_nOpTimeOffsetSeed; // 0x28 // MPropertyStartGroup "Timescale Modifiers" // MPropertyFriendlyName "operator time scale seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeScaleSeed; // 0x2c + int32_t m_nOpTimeScaleSeed; // 0x2c // MPropertyFriendlyName "operator time scale min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMin; // 0x30 + float m_flOpTimeScaleMin; // 0x30 // MPropertyFriendlyName "operator time scale max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMax; // 0x34 + float m_flOpTimeScaleMax; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0038[0x1]; // 0x38 +public: // MPropertyStartGroup // MPropertySuppressField - bool m_bDisableOperator; // 0x39 + bool m_bDisableOperator; // 0x39 +private: + [[maybe_unused]] uint8_t __pad003a[0x2]; // 0x3a +public: // MPropertyFriendlyName "operator end cap state" // MPropertySortPriority "-100" - ParticleEndcapMode_t m_nOpEndCapState; // 0x3c + ParticleEndcapMode_t m_nOpEndCapState; // 0x3c // MPropertyStartGroup "Strength Modifiers" // MPropertyFriendlyName "operator strength" // MParticleAdvancedField // MPropertySortPriority "-100" - CParticleCollectionFloatInput m_flOpStrength; // 0x40 + CParticleCollectionFloatInput m_flOpStrength; // 0x40 // MPropertyStartGroup // MPropertyFriendlyName "operator help and notes" // MParticleHelpField // MPropertySortPriority "-100" - CUtlString m_Notes; // 0x128 + CUtlString m_Notes; // 0x128 }; -// Aligment: 0 -// Size: 464 -class C_OP_Callback : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 0 +// Size: 0x180 +class CParticleFunctionOperator : public CParticleFunction { public: -// + // no members available }; -// Aligment: 1 -// Size: 528 -class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x180 +class CParticleFunctionInitializer : public CParticleFunction { public: - // MPropertyFriendlyName "field to init" - // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToCopy; // 0x180 + // no members available }; -// Aligment: 6 -// Size: 432 -class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 12 +// Size: 0x1b0 +class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer { public: - // MPropertyFriendlyName "model" - // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 - // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x188 - // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x1a0 - // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x1a1 - // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x1a2 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1a4 -}; - -// Aligment: 3 -// Size: 416 -class C_OP_BasicMovement : public CParticleFunctionOperator, CParticleFunction -{ + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "input minimum" + int32_t m_nInputMin; // 0x184 + // MPropertyFriendlyName "input maximum" + int32_t m_nInputMax; // 0x188 + // MPropertyFriendlyName "input scale control point" + int32_t m_nScaleControlPoint; // 0x18c + // MPropertyFriendlyName "input scale control point field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nScaleControlPointField; // 0x190 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x194 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x198 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x19c + // MPropertyFriendlyName "only active within specified input range" + bool m_bActiveRange; // 0x1a0 + // MPropertyFriendlyName "invert input from total particle count" + bool m_bInvert; // 0x1a1 + // MPropertyFriendlyName "wrap input" + bool m_bWrap; // 0x1a2 +private: + [[maybe_unused]] uint8_t __pad01a3[0x1]; // 0x1a3 public: - // MPropertyFriendlyName "gravity" - // MVectorIsCoordinate - Vector m_Gravity; // 0x180 - // MPropertyFriendlyName "drag" - // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x18c - // MPropertyFriendlyName "max constraint passes" - int32_t m_nMaxConstraintPasses; // 0x190 + // MPropertyFriendlyName "remap bias" + float m_flRemapBias; // 0x1a4 }; -// Aligment: 2 -// Size: 656 -class C_OP_QuantizeFloat : public CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x5c0 +class C_INIT_InitVecCollection : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x180 + CParticleCollectionVecInput m_InputValue; // 0x180 // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x268 -}; - -// Aligment: 11 -// Size: 432 -class C_INIT_RemapScalar : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x188 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x18c - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x190 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x194 - // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x198 - // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x19c - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a0 - // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x1a4 - // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x1a8 -}; - -// Aligment: 7 -// Size: 1552 -class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "minimum speed" - CPerParticleFloatInput m_flSpeedMin; // 0x180 - // MPropertyFriendlyName "maximum speed" - CPerParticleFloatInput m_flSpeedMax; // 0x268 - // MPropertyFriendlyName "end spread" - CPerParticleFloatInput m_flEndSpread; // 0x350 - // MPropertyFriendlyName "start offset" - CPerParticleFloatInput m_flStartOffset; // 0x438 - // MPropertyFriendlyName "end offset" - CPerParticleFloatInput m_flEndOffset; // 0x520 - // MPropertyFriendlyName "end control point" - int32_t m_nEndControlPointNumber; // 0x608 - // MPropertyFriendlyName "bias lifetime by trail length" - bool m_bTrailBias; // 0x60c -}; - -// Aligment: 1 -// Size: 400 -class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "frames per second" - float m_flFramerate; // 0x180 -}; - -// Aligment: 6 -// Size: 432 -class C_OP_OscillateVectorSimple : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "oscillation rate" - // MVectorIsSometimesCoordinate - Vector m_Rate; // 0x180 - // MPropertyFriendlyName "oscillation frequency" - Vector m_Frequency; // 0x18c - // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x198 - // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x19c - // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x1a0 - // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x1a4 + ParticleAttributeIndex_t m_nOutputField; // 0x5b0 }; -// Aligment: 6 -// Size: 1104 -class C_OP_ContinuousEmitter : public CParticleFunctionEmitter, CParticleFunction -{ -public: - // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x180 - // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x268 - // MPropertyFriendlyName "emission rate" - CParticleCollectionFloatInput m_flEmitRate; // 0x350 - // MPropertyFriendlyName "scale emission to used control points" - // MParticleMaxVersion - float m_flEmissionScale; // 0x438 - // MPropertyFriendlyName "scale emission by parent particle count" - float m_flScalePerParentParticle; // 0x43c - // MPropertyFriendlyName "emit particles for killed parent particles" - bool m_bInitFromKilledParentParticles; // 0x440 -}; - -// Aligment: 5 -// Size: 416 -class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point 0" - int32_t m_nCP0; // 0x180 - // MPropertyFriendlyName "control point 1" - int32_t m_nCP1; // 0x184 - // MPropertyFriendlyName "min distance value" - float m_flMinInputValue; // 0x188 - // MPropertyFriendlyName "max distance value" - float m_flMaxInputValue; // 0x18c - // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" - bool m_bInfiniteLine; // 0x190 -}; - -// Aligment: 1 -// Size: 400 -class C_OP_EndCapTimedDecay : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "decay time" - float m_flDecayTime; // 0x180 -}; - -// Aligment: 6 -// Size: 464 -class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x180 - // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x184 - // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x188 - // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x189 - // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x18a - CPathParameters m_PathParams; // 0x190 -}; - -// Aligment: 1 -// Size: 624 -class C_OP_DecayOffscreen : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "Offscreen Time Before Decay" - CParticleCollectionFloatInput m_flOffscreenTime; // 0x180 -}; - -// Aligment: 8 -// Size: 416 -class C_OP_RemapCPVisibilityToScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x180 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPoint; // 0x184 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 - // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x18c - // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x190 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 - // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x19c -}; - -// Aligment: 6 -// Size: 416 -class C_OP_RemapScalar : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x188 - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x18c - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x190 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x194 -}; - -// Aligment: 3 -// Size: 400 -class C_INIT_RandomTrailLength : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "length min" - float m_flMinLength; // 0x180 - // MPropertyFriendlyName "length max" - float m_flMaxLength; // 0x184 - // MPropertyFriendlyName "length random exponent" - float m_flLengthRandExponent; // 0x188 -}; - -// Aligment: 11 -// Size: 2256 -class C_INIT_RingWave : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "even distribution count" - CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x188 - // MPropertyFriendlyName "initial radius" - CPerParticleFloatInput m_flInitialRadius; // 0x270 - // MPropertyFriendlyName "thickness" - CPerParticleFloatInput m_flThickness; // 0x358 - // MPropertyFriendlyName "min initial speed" - CPerParticleFloatInput m_flInitialSpeedMin; // 0x440 - // MPropertyFriendlyName "max initial speed" - CPerParticleFloatInput m_flInitialSpeedMax; // 0x528 - // MPropertyFriendlyName "roll" - CPerParticleFloatInput m_flRoll; // 0x610 - // MPropertyFriendlyName "pitch" - CPerParticleFloatInput m_flPitch; // 0x6f8 - // MPropertyFriendlyName "yaw" - CPerParticleFloatInput m_flYaw; // 0x7e0 - // MPropertyFriendlyName "even distribution" - bool m_bEvenDistribution; // 0x8c8 - // MPropertyFriendlyName "XY velocity only" - bool m_bXYVelocityOnly; // 0x8c9 -}; - -// Aligment: 9 -// Size: 1840 -class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x184 - // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x188 - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x5b8 - // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x638 - // MPropertyFriendlyName "get closest point on closest hitbox" - bool m_bUseClosestPointOnHitbox; // 0x639 - // MPropertyFriendlyName "closest point test type" - ClosestPointTestType_t m_nTestType; // 0x63c - // MPropertyFriendlyName "hybrid ratio" - CParticleCollectionFloatInput m_flHybridRatio; // 0x640 - // MPropertyFriendlyName "set initial position" - bool m_bUpdatePosition; // 0x728 -}; - -// Aligment: 3 -// Size: 400 -class C_OP_RemapVelocityToVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x290 +class C_OP_RotateVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x184 - // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x188 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "rotation axis min" + // MVectorIsCoordinate + Vector m_vecRotAxisMin; // 0x184 + // MPropertyFriendlyName "rotation axis max" + // MVectorIsCoordinate + Vector m_vecRotAxisMax; // 0x190 + // MPropertyFriendlyName "rotation rate min" + float m_flRotRateMin; // 0x19c + // MPropertyFriendlyName "rotation rate max" + float m_flRotRateMax; // 0x1a0 + // MPropertyFriendlyName "normalize output" + bool m_bNormalize; // 0x1a4 +private: + [[maybe_unused]] uint8_t __pad01a5[0x3]; // 0x1a5 +public: + // MPropertyFriendlyName "per particle scale" + CPerParticleFloatInput m_flScale; // 0x1a8 }; -// Aligment: 4 -// Size: 480 -class C_OP_RenderTonemapController : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 8 +// Size: 0x1d0 +class C_OP_RampScalarLinear : public CParticleFunctionOperator { public: - // MPropertyFriendlyName "tonemap level scale" - float m_flTonemapLevel; // 0x1d0 - // MPropertyFriendlyName "tonemap weight scale" - float m_flTonemapWeight; // 0x1d4 - // MPropertyFriendlyName "tonemap level" + // MPropertyFriendlyName "ramp rate min" + float m_RateMin; // 0x180 + // MPropertyFriendlyName "ramp rate max" + float m_RateMax; // 0x184 + // MPropertyFriendlyName "start time min" + float m_flStartTime_min; // 0x188 + // MPropertyFriendlyName "start time max" + float m_flStartTime_max; // 0x18c + // MPropertyFriendlyName "end time min" + float m_flEndTime_min; // 0x190 + // MPropertyFriendlyName "end time max" + float m_flEndTime_max; // 0x194 +private: + [[maybe_unused]] uint8_t __pad0198[0x28]; // 0x198 +public: + // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapLevelField; // 0x1d8 - // MPropertyFriendlyName "tonemap weight" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapWeightField; // 0x1dc + ParticleAttributeIndex_t m_nField; // 0x1c0 + // MPropertyFriendlyName "start/end proportional" + bool m_bProportionalOp; // 0x1c4 }; -// Aligment: 5 -// Size: 1120 -class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0xf0 +struct FloatInputMaterialVariable_t +{ +public: + // MPropertyFriendlyName "material variable" + CUtlString m_strVariable; // 0x0 + // MPropertyFriendlyName "input" + CParticleCollectionFloatInput m_flInput; // 0x8 +}; + +// Alignment: 3 +// Size: 0x1d0 +class CParticleFunctionRenderer : public CParticleFunction +{ +public: + // MParticleAdvancedField + // MPropertySortPriority "-1" + CParticleVisibilityInputs VisibilityInputs; // 0x180 + // MPropertyStartGroup "Rendering filter" + // MPropertyFriendlyName "I cannot be refracted through refracting objects like water" + // MPropertySortPriority "-1" + bool m_bCannotBeRefracted; // 0x1c4 + // MPropertyFriendlyName "Skip rendering on mobile" + // MPropertySortPriority "-1" + bool m_bSkipRenderingOnMobile; // 0x1c5 +}; + +// Alignment: 10 +// Size: 0x1b0 +class C_OP_CycleScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "destination scalar field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nDestField; // 0x180 + // MPropertyFriendlyName "Value at start of cycle" + float m_flStartValue; // 0x184 + // MPropertyFriendlyName "Value at end of cycle" + float m_flEndValue; // 0x188 + // MPropertyFriendlyName "Cycle time" + float m_flCycleTime; // 0x18c + // MPropertyFriendlyName "Do not repeat cycle" + bool m_bDoNotRepeatCycle; // 0x190 + // MPropertyFriendlyName "Synchronize particles" + bool m_bSynchronizeParticles; // 0x191 +private: + [[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192 +public: + // MPropertyFriendlyName "Scale Start/End Control Point" + int32_t m_nCPScale; // 0x194 + // MPropertyFriendlyName "start scale control point field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nCPFieldMin; // 0x198 + // MPropertyFriendlyName "end scale control point field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nCPFieldMax; // 0x19c + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1a0 +}; + +// Alignment: 5 +// Size: 0x380 +class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "expression" + ScalarExpressionType_t m_nExpression; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "input 1" + CPerParticleFloatInput m_flInput1; // 0x188 + // MPropertyFriendlyName "input 2" + CPerParticleFloatInput m_flInput2; // 0x270 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nOutputField; // 0x358 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x35c +}; + +// Alignment: 0 +// Size: 0x180 +class CParticleFunctionConstraint : public CParticleFunction +{ +public: + // no members available +}; + +// Alignment: 10 +// Size: 0x200 +class C_OP_RenderTreeShake : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "peak strength" + float m_flPeakStrength; // 0x1d0 + // MPropertyFriendlyName "peak strength field override" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x1d4 + // MPropertyFriendlyName "radius" + float m_flRadius; // 0x1d8 + // MPropertyFriendlyName "strength field override" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x1dc + // MPropertyFriendlyName "shake duration after end" + float m_flShakeDuration; // 0x1e0 + // MPropertyFriendlyName "amount of time taken to smooth between different shake parameters" + float m_flTransitionTime; // 0x1e4 + // MPropertyFriendlyName "Twist amount (-1..1)" + float m_flTwistAmount; // 0x1e8 + // MPropertyFriendlyName "Radial Amount (-1..1)" + float m_flRadialAmount; // 0x1ec + // MPropertyFriendlyName "Control Point Orientation Amount (-1..1)" + float m_flControlPointOrientationAmount; // 0x1f0 + // MPropertyFriendlyName "Control Point for Orientation Amount" + int32_t m_nControlPointForLinearDirection; // 0x1f4 +}; + +// Alignment: 8 +// Size: 0x370 +class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x190 - // MPropertyFriendlyName "Within-Cluster Refire Time" - CParticleCollectionFloatInput m_flClusterRefireTime; // 0x198 - // MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown" - CParticleCollectionFloatInput m_flClusterSize; // 0x280 - // MPropertyFriendlyName "Cluster Cooldown Time" - CParticleCollectionFloatInput m_flClusterCooldown; // 0x368 - // MPropertyFriendlyName "limit active children to parent particle count" - bool m_bLimitChildCount; // 0x450 -}; - -// Aligment: 2 -// Size: 400 -class C_OP_FadeInSimple : public CParticleFunctionOperator, CParticleFunction -{ + int32_t m_nChildGroupID; // 0x180 + // MPropertyFriendlyName "control point to set" + int32_t m_nFirstControlPoint; // 0x184 + // MPropertyFriendlyName "# of children to set" + int32_t m_nNumControlPoints; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c public: - // MPropertyFriendlyName "proportional fade in time" - float m_flFadeInTime; // 0x180 - // MPropertyFriendlyName "alpha field" - // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 -}; - -// Aligment: 2 -// Size: 400 -class C_OP_NormalizeVector : public CParticleFunctionOperator, CParticleFunction -{ + // MPropertyFriendlyName "particle increment amount" + CParticleCollectionFloatInput m_nParticleIncrement; // 0x190 + // MPropertyFriendlyName "first particle to copy" + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x278 + // MPropertyFriendlyName "set orientation from velocity" + bool m_bSetOrientation; // 0x360 +private: + [[maybe_unused]] uint8_t __pad0361[0x3]; // 0x361 public: - // MPropertyFriendlyName "output field" + // MPropertyFriendlyName "orientation vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x184 + ParticleAttributeIndex_t m_nOrientationField; // 0x364 + // MPropertyFriendlyName "set number of children based on particle count" + bool m_bNumBasedOnParticleCount; // 0x368 }; -// Aligment: 4 -// Size: 416 -class C_INIT_RandomAlpha : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "alpha field" - // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "alpha min" - // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMin; // 0x184 - // MPropertyFriendlyName "alpha max" - // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMax; // 0x188 - // MPropertyFriendlyName "alpha random exponent" - float m_flAlphaRandExponent; // 0x194 -}; - -// Aligment: 9 -// Size: 1488 -class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x190 - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x194 - // MPropertyFriendlyName "Output component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x198 - // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_flInputMin; // 0x1a0 - // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_flInputMax; // 0x288 - // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x370 - // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x458 - // MPropertyFriendlyName "intersection height CP" - int32_t m_nHeightControlPointNumber; // 0x540 - // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x544 -}; - -// Aligment: 5 -// Size: 624 -class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce, CParticleFunction -{ -public: - // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x180 - // MPropertyFriendlyName "rope shake" - bool m_bRopes; // 0x268 - // MPropertyFriendlyName "limit rope impulses to Z" - bool m_bRopesZOnly; // 0x269 - // MPropertyFriendlyName "explosions" - bool m_bExplosions; // 0x26a - // MPropertyFriendlyName "particle systems" - bool m_bParticles; // 0x26b -}; - -// Aligment: 0 -// Size: 1072 -class CPerParticleVecInput : public CParticleVecInput -{ -public: -// -}; - -// Aligment: 2 -// Size: 656 -class C_INIT_RandomModelSequence : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "activity" - char[256] m_ActivityName; // 0x180 - // MPropertyFriendlyName "model" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x280 -}; - -// Aligment: 4 -// Size: 400 -class C_OP_DecayMaintainCount : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x180 - // MPropertyFriendlyName "maintain count scale control point" - int32_t m_nScaleControlPoint; // 0x184 - // MPropertyFriendlyName "maintain count scale control point field" - int32_t m_nScaleControlPointField; // 0x188 - // MPropertyFriendlyName "decay delay" - float m_flDecayDelay; // 0x18c -}; - -// Aligment: 3 -// Size: 560 -class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x190 - // MPropertyFriendlyName "time-of-day parameter" - char[128] m_pszTimeOfDayParameter; // 0x194 - // MPropertyFriendlyName "default value" - Vector m_vecDefaultValue; // 0x214 -}; - -// Aligment: 18 -// Size: 9488 -class C_OP_RenderTrails : public CBaseTrailRenderer, CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction -{ -public: - // MPropertyStartGroup "Screenspace Fading and culling" - // MPropertyFriendlyName "enable fading and clamping" - // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x18e0 - // MPropertyStartGroup "+Trail Length" - // MPropertyFriendlyName "Anchor point source" - // MPropertyAttributeChoiceName "particlefield_vector" - // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x18e4 - // MPropertyFriendlyName "max length" - // MPropertySortPriority "800" - float m_flMaxLength; // 0x18e8 - // MPropertyFriendlyName "min length" - // MPropertySortPriority "800" - float m_flMinLength; // 0x18ec - // MPropertyFriendlyName "ignore delta time" - // MPropertySortPriority "800" - bool m_bIgnoreDT; // 0x18f0 - // MPropertyFriendlyName "constrain radius to no more than this times the length" - // MPropertySortPriority "800" - float m_flConstrainRadiusToLengthRatio; // 0x18f4 - // MPropertyFriendlyName "amount to scale trail length by" - float m_flLengthScale; // 0x18f8 - // MPropertyFriendlyName "how long before a trail grows to its full length" - float m_flLengthFadeInTime; // 0x18fc - // MPropertyStartGroup "Trail Head & Tail" - // MPropertyFriendlyName "head taper scale" - // MPropertySortPriority "800" - CPerParticleFloatInput m_flRadiusHeadTaper; // 0x1900 - // MPropertyFriendlyName "head color scale" - CParticleCollectionVecInput m_vecHeadColorScale; // 0x19e8 - // MPropertyFriendlyName "head alpha scale" - CPerParticleFloatInput m_flHeadAlphaScale; // 0x1e18 - // MPropertyFriendlyName "tail taper scale" - CPerParticleFloatInput m_flRadiusTaper; // 0x1f00 - // MPropertyFriendlyName "tail color scale" - CParticleCollectionVecInput m_vecTailColorScale; // 0x1fe8 - // MPropertyFriendlyName "tail alpha scale" - CPerParticleFloatInput m_flTailAlphaScale; // 0x2418 - // MPropertyStartGroup "Trail UV Controls" - // MPropertyFriendlyName "texture UV horizontal Scale field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nHorizCropField; // 0x2500 - // MPropertyFriendlyName "texture UV vertical Scale field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVertCropField; // 0x2504 - // MPropertyFriendlyName "Trail forward shift (fraction)" - float m_flForwardShift; // 0x2508 - // MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI" - bool m_bFlipUVBasedOnPitchYaw; // 0x250c -}; - -// Aligment: 4 -// Size: 464 -class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "model" - // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1b0 - // MPropertyFriendlyName "output min name" - CUtlString m_outputMinName; // 0x1b8 - // MPropertyFriendlyName "output max name" - CUtlString m_outputMaxName; // 0x1c0 - // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x1c8 -}; - -// Aligment: 8 -// Size: 1344 -class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x190 - // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x194 - // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x198 - // MPropertyFriendlyName "output component" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x19c - // MPropertyFriendlyName "input minimum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMin; // 0x1a0 - // MPropertyFriendlyName "input maximum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMax; // 0x288 - // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x370 - // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x458 -}; - -// Aligment: 3 -// Size: 400 -class C_OP_OrientTo2dDirection : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x180 - // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x184 - // MPropertyFriendlyName "rotation field" - // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 -}; - -// Aligment: 0 -// Size: 384 -class CSpinUpdateBase : public CParticleFunctionOperator, CParticleFunction -{ -public: -// -}; - -// Aligment: 57 -// Size: 5872 -class CBaseRendererSource2 : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 57 +// Size: 0x16f0 +class CBaseRendererSource2 : public CParticleFunctionRenderer { public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "radius scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1d0 + CParticleCollectionFloatInput m_flRadiusScale; // 0x1d0 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x2b8 + CParticleCollectionFloatInput m_flAlphaScale; // 0x2b8 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x3a0 + ParticleAttributeIndex_t m_nAlpha2Field; // 0x3a0 +private: + [[maybe_unused]] uint8_t __pad03a4[0x4]; // 0x3a4 +public: // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x3a8 + CParticleCollectionVecInput m_vecColorScale; // 0x3a8 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x7d8 + ParticleColorBlendType_t m_nColorBlendType; // 0x7d8 // MPropertyStartGroup "+Material" // MPropertyFriendlyName "Shader" // MPropertySortPriority "600" - SpriteCardShaderType_t m_nShaderType; // 0x7dc + SpriteCardShaderType_t m_nShaderType; // 0x7dc // MPropertyFriendlyName "Custom Shader" // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" // MPropertySortPriority "600" - CUtlString m_strShaderOverride; // 0x7e0 + CUtlString m_strShaderOverride; // 0x7e0 // MPropertyFriendlyName "X offset of center point" // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterXOffset; // 0x7e8 + CParticleCollectionFloatInput m_flCenterXOffset; // 0x7e8 // MPropertyFriendlyName "Y offset of center point" // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterYOffset; // 0x8d0 + CParticleCollectionFloatInput m_flCenterYOffset; // 0x8d0 // MPropertyFriendlyName "Bump Strength" // MPropertySortPriority "600" - float m_flBumpStrength; // 0x9b8 + float m_flBumpStrength; // 0x9b8 // MPropertyFriendlyName "Sheet Crop Behavior" // MPropertySortPriority "600" - ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0x9bc + ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0x9bc // MPropertyFriendlyName "Textures" // MParticleRequireDefaultArrayEntry // MPropertyAutoExpandSelf // MPropertySortPriority "600" - CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0x9c0 + CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0x9c0 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animation rate" // MPropertyAttributeRange "0 5" // MPropertySortPriority "500" - float m_flAnimationRate; // 0x9d8 + float m_flAnimationRate; // 0x9d8 // MPropertyFriendlyName "animation type" // MPropertySortPriority "500" - AnimationType_t m_nAnimationType; // 0x9dc + AnimationType_t m_nAnimationType; // 0x9dc // MPropertyFriendlyName "set animation value in FPS" // MPropertySortPriority "500" - bool m_bAnimateInFPS; // 0x9e0 + bool m_bAnimateInFPS; // 0x9e0 +private: + [[maybe_unused]] uint8_t __pad09e1[0x7]; // 0x9e1 +public: // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "self illum amount" // MPropertyAttributeRange "0 2" // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flSelfIllumAmount; // 0x9e8 + CParticleCollectionFloatInput m_flSelfIllumAmount; // 0x9e8 // MPropertyFriendlyName "diffuse lighting amount" // MPropertyAttributeRange "0 1" // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flDiffuseAmount; // 0xad0 + CParticleCollectionFloatInput m_flDiffuseAmount; // 0xad0 // MPropertyFriendlyName "diffuse lighting origin Control Point" // MPropertySortPriority "400" - int32_t m_nLightingControlPoint; // 0xbb8 + int32_t m_nLightingControlPoint; // 0xbb8 // MPropertyFriendlyName "self illum per-particle" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "400" - ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0xbbc + ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0xbbc // MPropertyFriendlyName "lighting mode" // MPropertySortPriority "400" - ParticleLightingQuality_t m_nLightingMode; // 0xbc0 + ParticleLightingQuality_t m_nLightingMode; // 0xbc0 // MPropertyStartGroup "+Color and alpha adjustments" // MPropertyFriendlyName "output blend mode" // MPropertySortPriority "300" - ParticleOutputBlendMode_t m_nOutputBlendMode; // 0xbc4 + ParticleOutputBlendMode_t m_nOutputBlendMode; // 0xbc4 // MPropertyFriendlyName "Gamma-correct vertex colors" // MPropertySortPriority "300" - bool m_bGammaCorrectVertexColors; // 0xbc8 + bool m_bGammaCorrectVertexColors; // 0xbc8 // MPropertyFriendlyName "Saturate color pre alphablend" // MPropertySortPriority "300" - bool m_bSaturateColorPreAlphaBlend; // 0xbc9 + bool m_bSaturateColorPreAlphaBlend; // 0xbc9 +private: + [[maybe_unused]] uint8_t __pad0bca[0x6]; // 0xbca +public: // MPropertyFriendlyName "add self amount over alphablend" // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAddSelfAmount; // 0xbd0 + CParticleCollectionFloatInput m_flAddSelfAmount; // 0xbd0 // MPropertyFriendlyName "desaturation amount" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flDesaturation; // 0xcb8 + CParticleCollectionFloatInput m_flDesaturation; // 0xcb8 // MPropertyFriendlyName "overbright factor" // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flOverbrightFactor; // 0xda0 + CParticleCollectionFloatInput m_flOverbrightFactor; // 0xda0 // MPropertyFriendlyName "HSV Shift Control Point" // MPropertySortPriority "300" - int32_t m_nHSVShiftControlPoint; // 0xe88 + int32_t m_nHSVShiftControlPoint; // 0xe88 // MPropertyFriendlyName "Apply fog to particle" // MPropertySortPriority "300" - ParticleFogType_t m_nFogType; // 0xe8c + ParticleFogType_t m_nFogType; // 0xe8c // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" // MPropertyFriendlyName "alpha reference" // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0xe90 + SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0xe90 // MPropertyFriendlyName "alpha reference window size" // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0xe94 + SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0xe94 // MPropertyFriendlyName "alpha reference type" // MPropertySortPriority "300" - ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0xe98 + ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0xe98 +private: + [[maybe_unused]] uint8_t __pad0e9c[0x4]; // 0xe9c +public: // MPropertyFriendlyName "alpha reference softness" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0xea0 + CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0xea0 // MPropertyFriendlyName "source alpha value to map to alpha of zero" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0xf88 + CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0xf88 // MPropertyFriendlyName "source alpha value to map to alpha of 1" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1070 + CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1070 // MPropertyStartGroup "Refraction" // MPropertyFriendlyName "refract background" // MPropertySortPriority "200" - bool m_bRefract; // 0x1158 + bool m_bRefract; // 0x1158 // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - bool m_bRefractSolid; // 0x1159 + bool m_bRefractSolid; // 0x1159 +private: + [[maybe_unused]] uint8_t __pad115a[0x6]; // 0x115a +public: // MPropertyFriendlyName "refract amount" // MPropertyAttributeRange "-2 2" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - CParticleCollectionFloatInput m_flRefractAmount; // 0x1160 + CParticleCollectionFloatInput m_flRefractAmount; // 0x1160 // MPropertyFriendlyName "refract blur radius" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - int32_t m_nRefractBlurRadius; // 0x1248 + int32_t m_nRefractBlurRadius; // 0x1248 // MPropertyFriendlyName "refract blur type" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - BlurFilterType_t m_nRefractBlurType; // 0x124c + BlurFilterType_t m_nRefractBlurType; // 0x124c // MPropertyStartGroup // MPropertyFriendlyName "Only Render in effects bloom pass" // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x1250 + bool m_bOnlyRenderInEffectsBloomPass; // 0x1250 // MPropertyFriendlyName "Use Mixed Resolution Rendering" // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x1251 + bool m_bUseMixedResolutionRendering; // 0x1251 // MPropertyStartGroup "Stencil" // MPropertyFriendlyName "stencil test ID" // MPropertySortPriority "0" - char[128] m_stencilTestID; // 0x1252 + char m_stencilTestID[128]; // 0x1252 // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" // MPropertySortPriority "0" - bool m_bStencilTestExclude; // 0x12d2 + bool m_bStencilTestExclude; // 0x12d2 // MPropertyFriendlyName "stencil write ID" // MPropertySortPriority "0" - char[128] m_stencilWriteID; // 0x12d3 + char m_stencilWriteID[128]; // 0x12d3 // MPropertyFriendlyName "write stencil on z-buffer test success" // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthPass; // 0x1353 + bool m_bWriteStencilOnDepthPass; // 0x1353 // MPropertyFriendlyName "write stencil on z-buffer test failure" // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthFail; // 0x1354 + bool m_bWriteStencilOnDepthFail; // 0x1354 // MPropertyStartGroup "Depth buffer control and effects" // MPropertyFriendlyName "reverse z-buffer test" // MPropertySortPriority "900" - bool m_bReverseZBuffering; // 0x1355 + bool m_bReverseZBuffering; // 0x1355 // MPropertyFriendlyName "disable z-buffer test" // MPropertySortPriority "900" - bool m_bDisableZBuffering; // 0x1356 + bool m_bDisableZBuffering; // 0x1356 +private: + [[maybe_unused]] uint8_t __pad1357[0x1]; // 0x1357 +public: // MPropertyFriendlyName "Depth feathering mode" // MPropertySortPriority "900" - ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1358 + ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1358 +private: + [[maybe_unused]] uint8_t __pad135c[0x4]; // 0x135c +public: // MPropertyFriendlyName "particle feathering closest distance to surface" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1360 + CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1360 // MPropertyFriendlyName "particle feathering farthest distance to surface" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1448 + CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1448 // MPropertyFriendlyName "depth comparison bias" // MPropertySortPriority "900" - float m_flDepthBias; // 0x1530 + float m_flDepthBias; // 0x1530 // MPropertyFriendlyName "Sort Method" // MPropertySortPriority "900" - ParticleSortingChoiceList_t m_nSortMethod; // 0x1534 + ParticleSortingChoiceList_t m_nSortMethod; // 0x1534 // MPropertyStartGroup "Color and alpha adjustments/Dota Fog & Light" // MPropertyFriendlyName "Apply fog of war to color" // MPropertySortPriority "300" - bool m_bTintByFOW; // 0x1538 + bool m_bTintByFOW; // 0x1538 // MPropertyFriendlyName "Apply global light to color" // MPropertySortPriority "300" - bool m_bTintByGlobalLight; // 0x1539 + bool m_bTintByGlobalLight; // 0x1539 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "blend sequence animation frames" // MPropertySortPriority "500" - bool m_bBlendFramesSeq0; // 0x153a + bool m_bBlendFramesSeq0; // 0x153a // MPropertyFriendlyName "use max-luminance blending for sequence" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bBlendFramesSeq0" - bool m_bMaxLuminanceBlendingSequence0; // 0x153b + bool m_bMaxLuminanceBlendingSequence0; // 0x153b }; -// Aligment: 5 -// Size: 1488 -class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x210 +class C_INIT_ModelCull : public CParticleFunctionInitializer { public: - // MPropertyFriendlyName "control point to sample wind" - int32_t m_nCP; // 0x190 - // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x194 - // MPropertyFriendlyName "wind scale" - CParticleCollectionVecInput m_vecScale; // 0x198 - // MPropertyFriendlyName "set magnitude instead of vector" - bool m_bSetMagnitude; // 0x5c8 - // MPropertyFriendlyName "magnitude output component" - // MPropertyAttributeChoiceName "vector_component" - // MPropertySuppressExpr "!m_bSetMagnitude" - int32_t m_nOutVectorField; // 0x5cc + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "use only bounding box" + bool m_bBoundBox; // 0x184 + // MPropertyFriendlyName "cull outside instead of inside" + bool m_bCullOutside; // 0x185 + // MPropertyFriendlyName "use bones instead of hitboxes" + bool m_bUseBones; // 0x186 + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0x187 }; -// Aligment: 13 -// Size: 480 -class C_INIT_RemapCPtoVector : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x180 +class CParticleFunctionForce : public CParticleFunction { public: - // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x180 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 - // MPropertyFriendlyName "input minimum" - // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x188 - // MPropertyFriendlyName "input maximum" - // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x194 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x1a0 - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x1ac - // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1b8 - // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1bc - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c0 - // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x1c4 - // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x1c5 - // MPropertyFriendlyName "local space CP" - int32_t m_nLocalSpaceCP; // 0x1c8 - // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x1cc + // no members available }; -// Aligment: 11 -// Size: 448 -class C_OP_TeleportBeam : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x14 +struct PointDefinition_t { public: - // MPropertyFriendlyName "Position Control Point" - int32_t m_nCPPosition; // 0x180 - // MPropertyFriendlyName "Velocity Control Point" - int32_t m_nCPVelocity; // 0x184 - // MPropertyFriendlyName "Misc Control Point" - int32_t m_nCPMisc; // 0x188 - // MPropertyFriendlyName "Color Control Point" - int32_t m_nCPColor; // 0x18c - // MPropertyFriendlyName "Invalid Color Control Point" - int32_t m_nCPInvalidColor; // 0x190 - // MPropertyFriendlyName "Extra Arc Data Point" - int32_t m_nCPExtraArcData; // 0x194 - // MPropertyFriendlyName "Gravity" - Vector m_vGravity; // 0x198 - // MPropertyFriendlyName "Arc Duration Maximum" - float m_flArcMaxDuration; // 0x1a4 - // MPropertyFriendlyName "Segment Break" - float m_flSegmentBreak; // 0x1a8 - // MPropertyFriendlyName "Arc Speed" - float m_flArcSpeed; // 0x1ac - // MPropertyFriendlyName "Alpha" - float m_flAlpha; // 0x1b0 + // 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 }; -// Aligment: 4 -// Size: 416 -class C_OP_TwistAroundAxis : public CParticleFunctionForce, CParticleFunction +// Alignment: 3 +// Size: 0x1a0 +class CGeneralSpin : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "spin rate degrees" + int32_t m_nSpinRateDegrees; // 0x180 + // MPropertyFriendlyName "spin rate min" + int32_t m_nSpinRateMinDegrees; // 0x184 +private: + [[maybe_unused]] uint8_t __pad0188[0x4]; // 0x188 +public: + // MPropertyFriendlyName "spin stop time" + float m_fSpinRateStopTime; // 0x18c +}; + +// Alignment: 1 +// Size: 0x190 +class CParticleFunctionPreEmission : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Run Only Once" + bool m_bRunOnce; // 0x180 +}; + +// Alignment: 3 +// Size: 0x1a0 +class C_OP_ParentVortices : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_fForceAmount; // 0x180 + float m_flForceScale; // 0x180 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_TwistAxis; // 0x184 - // MPropertyFriendlyName "object local space axis 0/1" - bool m_bLocalSpace; // 0x190 - // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x194 + Vector m_vecTwistAxis; // 0x184 + // MPropertyFriendlyName "flip twist axis with yaw" + bool m_bFlipBasedOnYaw; // 0x190 }; -// Aligment: 6 -// Size: 3008 -class C_INIT_VelocityRandom : public CParticleFunctionInitializer, CParticleFunction +// 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: 0x1a0 +class C_OP_SetToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 - // MPropertyFriendlyName "random speed min" - CPerParticleFloatInput m_fSpeedMin; // 0x188 - // MPropertyFriendlyName "random speed max" - CPerParticleFloatInput m_fSpeedMax; // 0x270 - // MPropertyFriendlyName "speed in local coordinate system min" - // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x358 - // MPropertyFriendlyName "speed in local coordinate system max" - // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x788 - // MPropertyFriendlyName "Ignore delta time (RenderTrails)" - bool m_bIgnoreDT; // 0xbb8 + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "offset" + Vector m_vecOffset; // 0x184 + // MPropertyFriendlyName "offset in local space" + bool m_bOffsetLocal; // 0x190 }; -// Aligment: 4 -// Size: 416 -class C_OP_PlaneCull : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x1b0 +class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission { public: - // MPropertyFriendlyName "control point for point on plane" - int32_t m_nPlaneControlPoint; // 0x180 + // MPropertyFriendlyName "input control point" + int32_t m_nInControlPointNumber; // 0x190 + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x194 + // MPropertyFriendlyName "output CP component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nField; // 0x198 + // MPropertyFriendlyName "input volume minimum in cubic units" + float m_flInputMin; // 0x19c + // MPropertyFriendlyName "input volume maximum in cubic units" + float m_flInputMax; // 0x1a0 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1a4 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1a8 +}; + +// Alignment: 2 +// Size: 0x270 +class C_INIT_QuantizeFloat : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "interval to snap to" + CPerParticleFloatInput m_InputValue; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nOutputField; // 0x268 +}; + +// Alignment: 7 +// Size: 0x530 +class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "input minimum" + CParticleCollectionFloatInput m_nInputMin; // 0x188 + // MPropertyFriendlyName "input maximum" + CParticleCollectionFloatInput m_nInputMax; // 0x270 + // MPropertyFriendlyName "output minimum" + CParticleCollectionFloatInput m_flOutputMin; // 0x358 + // MPropertyFriendlyName "output maximum" + CParticleCollectionFloatInput m_flOutputMax; // 0x440 + // MPropertyFriendlyName + bool m_bActiveRange; // 0x528 +private: + [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 +public: + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x52c +}; + +// Alignment: 0 +// Size: 0x10 +class IParticleCollection +{ +public: + // no members available +}; + +// Alignment: 7 +// Size: 0x1b0 +class C_OP_VectorNoise : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMin; // 0x184 + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMax; // 0x190 + // MPropertyFriendlyName "noise coordinate scale" + float m_fl4NoiseScale; // 0x19c + // MPropertyFriendlyName "additive" + bool m_bAdditive; // 0x1a0 + // MPropertyFriendlyName "offset instead of accelerate position" + bool m_bOffset; // 0x1a1 +private: + [[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2 +public: + // MPropertyFriendlyName "Noise animation time scale" + float m_flNoiseAnimationTimeScale; // 0x1a4 +}; + +// Alignment: 1 +// Size: 0x1a0 +class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_ControlPoint; // 0x190 +}; + +// Alignment: 6 +// Size: 0x290 +class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "warp min" + // MVectorIsCoordinate + Vector m_vecWarpMin; // 0x180 + // MPropertyFriendlyName "warp max" + // MVectorIsCoordinate + Vector m_vecWarpMax; // 0x18c + // MPropertyFriendlyName "warp amount" + CPerParticleFloatInput m_InputValue; // 0x198 + // MPropertyFriendlyName "previous position scale" + float m_flPrevPosScale; // 0x280 + // MPropertyFriendlyName "warp scale control point number" + int32_t m_nScaleControlPointNumber; // 0x284 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x288 +}; + +// Alignment: 5 +// Size: 0x530 +class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "slack" + CParticleCollectionFloatInput m_flRestLength; // 0x180 + // MPropertyFriendlyName "minimum segment length %" + CParticleCollectionFloatInput m_flMinDistance; // 0x268 + // MPropertyFriendlyName "maximum segment length %" + CParticleCollectionFloatInput m_flMaxDistance; // 0x350 + // MPropertyFriendlyName "scale factor for spring correction" + float m_flAdjustmentScale; // 0x438 +private: + [[maybe_unused]] uint8_t __pad043c[0x4]; // 0x43c +public: + // MPropertyFriendlyName "manual resting spacing" + CParticleCollectionFloatInput m_flInitialRestingLength; // 0x440 +}; + +// Alignment: 11 +// Size: 0x540 +class C_OP_CylindricalDistanceToCP : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "cylinder inner radius" + CPerParticleFloatInput m_flInputMin; // 0x188 + // MPropertyFriendlyName "cylinder outer radius" + CPerParticleFloatInput m_flInputMax; // 0x270 + // MPropertyFriendlyName "cylinder inner output" + CPerParticleFloatInput m_flOutputMin; // 0x358 + // MPropertyFriendlyName "cylinder outer output" + CPerParticleFloatInput m_flOutputMax; // 0x440 + // MPropertyFriendlyName "cylinder top control point" + int32_t m_nStartCP; // 0x528 + // MPropertyFriendlyName "cylinder bottom control point" + int32_t m_nEndCP; // 0x52c + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x530 + // MPropertyFriendlyName "only active within specified distance" + bool m_bActiveRange; // 0x534 + // MPropertyFriendlyName "output is additive" + bool m_bAdditive; // 0x535 + // MPropertyFriendlyName "apply radius to ends (capsule)" + bool m_bCapsule; // 0x536 +}; + +// Alignment: 2 +// Size: 0x1a0 +class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point input for velocity" + int32_t m_nCPInput; // 0x190 + // MPropertyFriendlyName "control point output for orientation" + int32_t m_nCPOutput; // 0x194 +}; + +// Alignment: 7 +// Size: 0x1d0 +class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "model" + // MPropertyAttributeEditor "AssetBrowse( vmdl )" + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 + // MPropertyFriendlyName "names" + CUtlVector< CUtlString > m_names; // 0x188 + // MPropertyFriendlyName "remap values for names" + CUtlVector< float32 > m_values; // 0x1a0 + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x1b8 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1bc + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1c0 + // MPropertyFriendlyName "model from renderer" + bool m_bModelFromRenderer; // 0x1c4 +}; + +// Alignment: 0 +// Size: 0x180 +class CParticleFunctionEmitter : public CParticleFunction +{ +public: + // no members available +}; + +// Alignment: 4 +// Size: 0x190 +class C_INIT_RemapInitialCPDirectionToRotation : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x180 + // MPropertyFriendlyName "rotation field" + // MPropertyAttributeChoiceName "particlefield_rotation" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "offset rotation" + float m_flOffsetRot; // 0x188 + // MPropertyFriendlyName "control point axis" + // MPropertyAttributeChoiceName "vector_component" + // MVectorIsSometimesCoordinate + int32_t m_nComponent; // 0x18c +}; + +// Alignment: 42 +// Size: 0x1840 +class C_OP_RenderModels : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "Only Render in effects bloom pass" + // MPropertySortPriority "1100" + bool m_bOnlyRenderInEffectsBloomPass; // 0x1d0 + // MPropertyFriendlyName "Use Mixed Resolution Rendering" + // MPropertySortPriority "1200" + bool m_bUseMixedResolutionRendering; // 0x1d1 +private: + [[maybe_unused]] uint8_t __pad01d2[0x6]; // 0x1d2 +public: + // MPropertyFriendlyName "models" + // MParticleRequireDefaultArrayEntry + // MPropertyAutoExpandSelf + // MPropertySortPriority "775" + CUtlVector< ModelReference_t > m_ModelList; // 0x1d8 +private: + [[maybe_unused]] uint8_t __pad01f0[0x4]; // 0x1f0 +public: + // MPropertyFriendlyName "bodygroup field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nBodyGroupField; // 0x1f4 + // MPropertyFriendlyName "submodel field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nSubModelField; // 0x1f8 + // MPropertyStartGroup "Orientation" + // MPropertyFriendlyName "ignore normal" + // MPropertySortPriority "750" + bool m_bIgnoreNormal; // 0x1fc + // MPropertyFriendlyName "orient model z to normal" + // MPropertySortPriority "750" + // MPropertySuppressExpr "m_bIgnoreNormal" + bool m_bOrientZ; // 0x1fd +private: + [[maybe_unused]] uint8_t __pad01fe[0x2]; // 0x1fe +public: + // MPropertyFriendlyName "model local offset" + // MPropertySortPriority "750" + CPerParticleVecInput m_vecLocalOffset; // 0x200 + // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" + // MPropertySortPriority "750" + CPerParticleVecInput m_vecLocalRotation; // 0x630 + // MPropertyStartGroup "Model Scale" + // MPropertyFriendlyName "ignore radius" + // MPropertySortPriority "450" + bool m_bIgnoreRadius; // 0xa60 +private: + [[maybe_unused]] uint8_t __pad0a61[0x3]; // 0xa61 +public: + // MPropertyFriendlyName "model scale CP" + // MPropertySortPriority "450" + int32_t m_nModelScaleCP; // 0xa64 + // MPropertyFriendlyName "model component scale" + // MPropertySortPriority "700" + CPerParticleVecInput m_vecComponentScale; // 0xa68 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animated" + // MPropertySortPriority "500" + bool m_bAnimated; // 0xe98 +private: + [[maybe_unused]] uint8_t __pad0e99[0x3]; // 0xe99 +public: + // MPropertyFriendlyName "animation rate" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + float m_flAnimationRate; // 0xe9c + // MPropertyFriendlyName "scale animation rate" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bScaleAnimationRate; // 0xea0 + // MPropertyFriendlyName "force looping animations" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bForceLoopingAnimation; // 0xea1 + // MPropertyFriendlyName "reset animation frame on stop" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bResetAnimOnStop; // 0xea2 + // MPropertyFriendlyName "set animation frame manually" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bManualAnimFrame; // 0xea3 + // MPropertyFriendlyName "animation rate scale field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + ParticleAttributeIndex_t m_nAnimationScaleField; // 0xea4 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animation sequence field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "500" + ParticleAttributeIndex_t m_nAnimationField; // 0xea8 + // MPropertyFriendlyName "manual animation frame field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" + ParticleAttributeIndex_t m_nManualFrameField; // 0xeac + // MPropertyFriendlyName "activity override" + // MPropertySortPriority "500" + char m_ActivityName[256]; // 0xeb0 + // MPropertyFriendlyName "Enable Cloth Simulation" + bool m_bEnableClothSimulation; // 0xfb0 +private: + [[maybe_unused]] uint8_t __pad0fb1[0x7]; // 0xfb1 +public: + // MPropertyStartGroup "Material" + // MPropertyFriendlyName "material override" + // MPropertyAttributeEditor "AssetBrowse( vmat )" + // MPropertySortPriority "600" + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0xfb8 + // MPropertyFriendlyName "override translucent materials" + // MPropertySortPriority "600" + bool m_bOverrideTranslucentMaterials; // 0xfc0 +private: + [[maybe_unused]] uint8_t __pad0fc1[0x3]; // 0xfc1 +public: + // MPropertyFriendlyName "skin number" + // MPropertySortPriority "600" + int32_t m_nSkin; // 0xfc4 + // MPropertyFriendlyName "skin override CP" + // MPropertySortPriority "600" + int32_t m_nSkinCP; // 0xfc8 +private: + [[maybe_unused]] uint8_t __pad0fcc[0x4]; // 0xfcc +public: + // MPropertyFriendlyName "material variables" + // MPropertyAutoExpandSelf + // MPropertySortPriority "600" + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0xfd0 + // MPropertyStartGroup "Model Overrides" + // MPropertyFriendlyName "model LOD" + int32_t m_nLOD; // 0xfe8 + // MPropertyFriendlyName "model override CP" + int32_t m_nModelCP; // 0xfec + // MPropertyFriendlyName "model override economy loadout slot type" + char m_EconSlotName[256]; // 0xff0 + // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" + bool m_bOriginalModel; // 0x10f0 + // MPropertyFriendlyName "suppress tinting of the model" + bool m_bSuppressTint; // 0x10f1 + // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" + bool m_bUseRawMeshGroup; // 0x10f2 + // MPropertyFriendlyName "disable shadows" + bool m_bDisableShadows; // 0x10f3 + // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" + bool m_bForceDrawInterlevedWithSiblings; // 0x10f4 + // MPropertyFriendlyName "render attribute" + char m_szRenderAttribute[260]; // 0x10f5 +private: + [[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9 +public: + // MPropertyStartGroup "+Renderer Modifiers" + // MPropertyFriendlyName "Radius Scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRadiusScale; // 0x1200 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flAlphaScale; // 0x12e8 + // MPropertyFriendlyName "per-particle alpha scale attribute" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "700" + ParticleAttributeIndex_t m_nAlpha2Field; // 0x13d0 +private: + [[maybe_unused]] uint8_t __pad13d4[0x4]; // 0x13d4 +public: + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionVecInput m_vecColorScale; // 0x13d8 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0x1808 +}; + +// Alignment: 7 +// Size: 0x1a0 +class C_OP_RemapSpeed : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x184 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x188 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x18c + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x190 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x194 + // MPropertyFriendlyName "ignore delta time" + // MParticleAdvancedField + bool m_bIgnoreDelta; // 0x198 +}; + +// Alignment: 0 +// Size: 0x180 +class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint +{ +public: + // no members available +}; + +// 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: 4 +// Size: 0x190 +class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "attribute to read from" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput; // 0x184 + // MPropertyFriendlyName "attribute to cache to" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + // MPropertyFriendlyName "local space" + bool m_bLocalSpace; // 0x18c +}; + +// Alignment: 3 +// Size: 0x78 +struct ParticleControlPointConfiguration_t +{ +public: + CUtlString m_name; // 0x0 + CUtlVector< ParticleControlPointDriver_t > m_drivers; // 0x8 + ParticlePreviewState_t m_previewState; // 0x20 +}; + +// Alignment: 7 +// Size: 0x1c0 +class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "min distance from plane" + float m_flMinDist; // 0x180 + // MPropertyFriendlyName "force at min distance" + // MVectorIsCoordinate + Vector m_vecForceAtMinDist; // 0x184 + // MPropertyFriendlyName "max distance from plane" + float m_flMaxDist; // 0x190 + // MPropertyFriendlyName "force at max distance" + // MVectorIsCoordinate + Vector m_vecForceAtMaxDist; // 0x194 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneDirection; // 0x184 - // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x190 - // MPropertyFriendlyName "cull plane offset" - float m_flPlaneOffset; // 0x194 + Vector m_vecPlaneNormal; // 0x1a0 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1ac + // MPropertyFriendlyName "exponent" + float m_flExponent; // 0x1b0 }; -// Aligment: 0 -// Size: 432 -class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x180 +class C_OP_EndCapDecay : public CParticleFunctionOperator { public: -// + // no members available }; -// Aligment: 1 -// Size: 400 -class C_OP_RemapCPtoVelocity : public CParticleFunctionOperator, CParticleFunction +// Alignment: 12 +// Size: 0x1b0 +class C_OP_PercentageBetweenCPLerpCPs : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "percentage minimum" + float m_flInputMin; // 0x184 + // MPropertyFriendlyName "percentage maximum" + float m_flInputMax; // 0x188 + // MPropertyFriendlyName "starting control point" + int32_t m_nStartCP; // 0x18c + // MPropertyFriendlyName "ending control point" + int32_t m_nEndCP; // 0x190 + // MPropertyFriendlyName "output starting control point number" + int32_t m_nOutputStartCP; // 0x194 + // MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z" + int32_t m_nOutputStartField; // 0x198 + // MPropertyFriendlyName "output ending control point number" + int32_t m_nOutputEndCP; // 0x19c + // MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z" + int32_t m_nOutputEndField; // 0x1a0 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1a4 + // MPropertyFriendlyName "only active within input range" + bool m_bActiveRange; // 0x1a8 + // MPropertyFriendlyName "treat distance between points as radius" + bool m_bRadialCheck; // 0x1a9 +}; + +// Alignment: 15 +// Size: 0x6c0 +class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "distance minimum" + CPerParticleFloatInput m_flInputMin; // 0x188 + // MPropertyFriendlyName "distance maximum" + CPerParticleFloatInput m_flInputMax; // 0x270 + // MPropertyFriendlyName "output minimum" + CPerParticleFloatInput m_flOutputMin; // 0x358 + // MPropertyFriendlyName "output maximum" + CPerParticleFloatInput m_flOutputMax; // 0x440 + // MPropertyFriendlyName "control point" + int32_t m_nStartCP; // 0x528 + // MPropertyFriendlyName "ensure line of sight" + bool m_bLOS; // 0x52c + // MPropertyFriendlyName "LOS collision group" + char m_CollisionGroupName[128]; // 0x52d +private: + [[maybe_unused]] uint8_t __pad05ad[0x3]; // 0x5ad +public: + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x5b0 +private: + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 +public: + // MPropertyFriendlyName "Maximum Trace Length" + CPerParticleFloatInput m_flMaxTraceLength; // 0x5b8 + // MPropertyFriendlyName "LOS Failure Scalar" + float m_flLOSScale; // 0x6a0 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x6a4 + // MPropertyFriendlyName "only active within specified distance" + bool m_bActiveRange; // 0x6a8 +private: + [[maybe_unused]] uint8_t __pad06a9[0x3]; // 0x6a9 +public: + // MPropertyFriendlyName "distance component scale" + Vector m_vecDistanceScale; // 0x6ac + // MPropertyFriendlyName "remap bias" + float m_flRemapBias; // 0x6b8 +}; + +// Alignment: 3 +// Size: 0x280 +class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "group ID to affect" + int32_t m_nChildGroupID; // 0x190 + // MPropertyFriendlyName "first child to enable" + int32_t m_nFirstChild; // 0x194 + // MPropertyFriendlyName "max # of children to enable (-1 for max particle count)" + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x198 +}; + +// Alignment: 3 +// Size: 0x1e0 +class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "flattening strength" + float m_flFlattenStrength; // 0x1d0 + // MPropertyFriendlyName "strength field override" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x1d4 + // MPropertyFriendlyName "radius scale" + float m_flRadiusScale; // 0x1d8 +}; + +// Alignment: 6 +// Size: 0x1a0 +class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "scale control point number" + int32_t m_nScaleControlPoint; // 0x184 + // MPropertyFriendlyName "scale control point field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nScaleCPField; // 0x188 + // MPropertyFriendlyName "cache attribute to read from" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput; // 0x18c + // MPropertyFriendlyName "attribute to write to" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x190 + // MPropertyFriendlyName "local space" + bool m_bOffsetLocal; // 0x194 +}; + +// Alignment: 9 +// Size: 0x1b0 +class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "pickover A parameter" + float m_flAParm; // 0x180 + // MPropertyFriendlyName "pickover B parameter" + float m_flBParm; // 0x184 + // MPropertyFriendlyName "pickover C parameter" + float m_flCParm; // 0x188 + // MPropertyFriendlyName "pickover D parameter" + float m_flDParm; // 0x18c + // MPropertyFriendlyName "scale" + float m_flScale; // 0x190 + // MPropertyFriendlyName "speed min" + float m_flSpeedMin; // 0x194 + // MPropertyFriendlyName "speed max" + float m_flSpeedMax; // 0x198 + // MPropertyFriendlyName "relative control point number" + int32_t m_nBaseCP; // 0x19c + // MPropertyFriendlyName "uniform speed" + bool m_bUniformSpeed; // 0x1a0 +}; + +// Alignment: 4 +// Size: 0x1c0 +class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "ramp rate" + float m_Rate; // 0x180 + // MPropertyFriendlyName "start time" + float m_flStartTime; // 0x184 + // MPropertyFriendlyName "end time" + float m_flEndTime; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x24]; // 0x18c +public: + // MPropertyFriendlyName "ramp field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x1b0 +}; + +// Alignment: 5 +// Size: 0x1a0 +class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "scale" + float m_flScale; // 0x180 + // MPropertyFriendlyName "inherited field" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "particle increment amount" + int32_t m_nIncrement; // 0x188 + // MPropertyFriendlyName "random parent particle distribution" + bool m_bRandomDistribution; // 0x18c +private: + [[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d +public: + // MPropertyFriendlyName "random seed" + int32_t m_nRandomSeed; // 0x190 +}; + +// Alignment: 4 +// Size: 0x1d0 +class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar +{ +public: + // MPropertyFriendlyName "model" + // MPropertyAttributeEditor "AssetBrowse( vmdl )" + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1b0 + // MPropertyFriendlyName "output min name" + CUtlString m_outputMinName; // 0x1b8 + // MPropertyFriendlyName "output max name" + CUtlString m_outputMaxName; // 0x1c0 + // MPropertyFriendlyName "model from renderer" + bool m_bModelFromRenderer; // 0x1c8 +}; + +// Alignment: 10 +// Size: 0x1c0 +class C_INIT_RandomColor : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "color1" + Color m_ColorMin; // 0x198 + // MPropertyFriendlyName "color2" + Color m_ColorMax; // 0x19c + // MPropertyFriendlyName "tint clamp min" + Color m_TintMin; // 0x1a0 + // MPropertyFriendlyName "tint clamp max" + Color m_TintMax; // 0x1a4 + // MPropertyFriendlyName "tint perc" + float m_flTintPerc; // 0x1a8 + // MPropertyFriendlyName "tint update movement threshold" + float m_flUpdateThreshold; // 0x1ac + // MPropertyFriendlyName "tint control point" + int32_t m_nTintCP; // 0x1b0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + // MPropertyFriendlyName "tint blend mode" + ParticleColorBlendMode_t m_nTintBlendMode; // 0x1b8 + // MPropertyFriendlyName "light amplification amount" + float m_flLightAmplification; // 0x1bc +}; + +// Alignment: 4 +// Size: 0x2a0 +class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x180 + // MPropertyFriendlyName "input attribute from" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldInputFrom; // 0x268 + // MPropertyFriendlyName "input attribute to" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldInput; // 0x26c + // MPropertyFriendlyName "output attribute" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldOutput; // 0x270 +}; + +// Alignment: 5 +// Size: 0x1b0 +class C_INIT_PointList : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "point list" + CUtlVector< PointDefinition_t > m_pointList; // 0x188 + // MPropertyFriendlyName "space points along path" + bool m_bPlaceAlongPath; // 0x1a0 + // MPropertyFriendlyName "Treat path as a loop" + bool m_bClosedLoop; // 0x1a1 +private: + [[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2 +public: + // MPropertyFriendlyName "Numer of points along path" + int32_t m_nNumPointsAlongPath; // 0x1a4 +}; + +// Alignment: 36 +// Size: 0xe8 +class CParticleFloatInput +{ +public: + ParticleFloatType_t m_nType; // 0x0 + ParticleFloatMapType_t m_nMapType; // 0x4 + float m_flLiteralValue; // 0x8 + int32_t m_nControlPoint; // 0xc + ParticleAttributeIndex_t m_nScalarAttribute; // 0x10 + ParticleAttributeIndex_t m_nVectorAttribute; // 0x14 + int32_t m_nVectorComponent; // 0x18 + float m_flRandomMin; // 0x1c + float m_flRandomMax; // 0x20 + ParticleFloatRandomMode_t m_nRandomMode; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0028[0x4]; // 0x28 +public: + float m_flLOD0; // 0x2c + float m_flLOD1; // 0x30 + float m_flLOD2; // 0x34 + float m_flLOD3; // 0x38 + float m_flNoiseOutputMin; // 0x3c + float m_flNoiseOutputMax; // 0x40 + float m_flNoiseScale; // 0x44 + Vector m_vecNoiseOffsetRate; // 0x48 + float m_flNoiseOffset; // 0x54 + int32_t m_nNoiseOctaves; // 0x58 + PFNoiseTurbulence_t m_nNoiseTurbulence; // 0x5c + PFNoiseType_t m_nNoiseType; // 0x60 + PFNoiseModifier_t m_nNoiseModifier; // 0x64 + float m_flNoiseTurbulenceScale; // 0x68 + float m_flNoiseTurbulenceMix; // 0x6c + float m_flNoiseImgPreviewScale; // 0x70 + bool m_bNoiseImgPreviewLive; // 0x74 +private: + [[maybe_unused]] uint8_t __pad0075[0x7]; // 0x75 +public: + ParticleFloatInputMode_t m_nInputMode; // 0x7c + float m_flMultFactor; // 0x80 + float m_flInput0; // 0x84 + float m_flInput1; // 0x88 + float m_flOutput0; // 0x8c + float m_flOutput1; // 0x90 + ParticleFloatBiasType_t m_nBiasType; // 0x94 + float m_flBiasParameter; // 0x98 +private: + [[maybe_unused]] uint8_t __pad009c[0x4]; // 0x9c +public: + CPiecewiseCurveSchemaWrapper m_Curve; // 0xa0 +}; + +// Alignment: 8 +// Size: 0x310 +class C_OP_MoveToHitbox : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "lifetime lerp start" + float m_flLifeTimeLerpStart; // 0x188 + // MPropertyFriendlyName "lifetime lerp end" + float m_flLifeTimeLerpEnd; // 0x18c + // MPropertyFriendlyName "previous position scale" + float m_flPrevPosScale; // 0x190 + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0x194 + // MPropertyFriendlyName "use bones instead of hitboxes" + bool m_bUseBones; // 0x214 +private: + [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 +public: + // MPropertyFriendlyName "lerp type" + HitboxLerpType_t m_nLerpType; // 0x218 +private: + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c +public: + // MPropertyFriendlyName "Constant Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x220 +}; + +// Alignment: 1 +// Size: 0x5b0 +class C_INIT_ScaleVelocity : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "velocity scale" + // MVectorIsCoordinate + CParticleCollectionVecInput m_vecScale; // 0x180 +}; + +// Alignment: 7 +// Size: 0x1e0 +class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "model" + // MPropertyAttributeEditor "AssetBrowse( vmdl )" + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 + // MPropertyFriendlyName "input names" + CUtlVector< CUtlString > m_inNames; // 0x188 + // MPropertyFriendlyName "output names" + CUtlVector< CUtlString > m_outNames; // 0x1a0 + // MPropertyFriendlyName "fallback names when the input doesn't match" + CUtlVector< CUtlString > m_fallbackNames; // 0x1b8 + // MPropertyFriendlyName "model from renderer" + bool m_bModelFromRenderer; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x1d4 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8 +}; + +// Alignment: 2 +// Size: 0x270 +class C_OP_CPVelocityForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nControlPointNumber; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "velocity scale" + CPerParticleFloatInput m_flScale; // 0x188 +}; + +// Alignment: 7 +// Size: 0x1a0 +class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "override CP (X/Y/Z *= radius/density/speed)" + int32_t m_nOverrideCP; // 0x184 + // MPropertyFriendlyName "density" + int32_t m_nDensity; // 0x188 + // MPropertyFriendlyName "initial radius" + float m_flInitialRadius; // 0x18c + // MPropertyFriendlyName "min initial speed" + float m_flInitialSpeedMin; // 0x190 + // MPropertyFriendlyName "max initial speed" + float m_flInitialSpeedMax; // 0x194 + // MPropertyFriendlyName "use particle count as density scale" + bool m_bUseParticleCount; // 0x198 +}; + +// Alignment: 6 +// Size: 0x1a0 +class C_OP_LockPoints : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "min column/particle index to affect" + int32_t m_nMinCol; // 0x180 + // MPropertyFriendlyName "max column/particle index to affect" + int32_t m_nMaxCol; // 0x184 + // MPropertyFriendlyName "min row/particle index to affect" + int32_t m_nMinRow; // 0x188 + // MPropertyFriendlyName "max row/particle index to affect" + int32_t m_nMaxRow; // 0x18c + // MPropertyFriendlyName "control point to lock to" + int32_t m_nControlPoint; // 0x190 + // MPropertyFriendlyName "amount of current position to preserve" + float m_flBlendValue; // 0x194 +}; + +// Alignment: 4 +// Size: 0x280 +class C_INIT_CreateFromCPs : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point increment amount" + int32_t m_nIncrement; // 0x180 + // MPropertyFriendlyName "starting control point" + int32_t m_nMinCP; // 0x184 + // MPropertyFriendlyName "ending control point" + // MParticleMinVersion + int32_t m_nMaxCP; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: + // MPropertyFriendlyName "dynamic control point count" + CParticleCollectionFloatInput m_nDynamicCPCount; // 0x190 +}; + +// Alignment: 7 +// Size: 0x370 +class C_OP_PlanarConstraint : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "plane point" + // MVectorIsCoordinate + Vector m_PointOnPlane; // 0x180 + // MPropertyFriendlyName "plane normal" + Vector m_PlaneNormal; // 0x18c + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x198 + // MPropertyFriendlyName "global origin" + bool m_bGlobalOrigin; // 0x19c + // MPropertyFriendlyName "global normal" + bool m_bGlobalNormal; // 0x19d +private: + [[maybe_unused]] uint8_t __pad019e[0x2]; // 0x19e +public: + // MPropertyFriendlyName "radius scale" + CPerParticleFloatInput m_flRadiusScale; // 0x1a0 + // MPropertyFriendlyName "falloff distance from control point" + CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x288 +}; + +// Alignment: 2 +// Size: 0x10 +struct ModelReference_t +{ +public: + // MPropertyFriendlyName "model" + // MPropertyAttributeEditor "AssetBrowse( vmdl )" + CStrongHandle< InfoForResourceTypeCModel > m_model; // 0x0 + // MPropertyFriendlyName "Relative probability" + float m_flRelativeProbabilityOfSpawn; // 0x8 +}; + +// Alignment: 5 +// Size: 0x450 +class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "group ID to affect" + CParticleCollectionFloatInput m_nChildGroupID; // 0x190 + // MPropertyFriendlyName "first child to enable" + CParticleCollectionFloatInput m_nFirstChild; // 0x278 + // MPropertyFriendlyName "# of children to enable" + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x360 + // MPropertyFriendlyName "play endcap when children are removed" + bool m_bPlayEndcapOnStop; // 0x448 + // MPropertyFriendlyName "destroy particles immediately when child is removed" + bool m_bDestroyImmediately; // 0x449 +}; + +// Alignment: 4 +// Size: 0x1a0 +class C_INIT_SequenceFromCP : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "kill unused" + bool m_bKillUnused; // 0x180 + // MPropertyFriendlyName "offset propotional to radius" + bool m_bRadiusScale; // 0x181 +private: + [[maybe_unused]] uint8_t __pad0182[0x2]; // 0x182 +public: + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x184 + // MPropertyFriendlyName "per particle spatial offset" + // MVectorIsCoordinate + Vector m_vecOffset; // 0x188 +}; + +// Alignment: 15 +// Size: 0x1c0 +class C_OP_NoiseEmitter : public CParticleFunctionEmitter +{ +public: + // MPropertyFriendlyName "emission duration" + float m_flEmissionDuration; // 0x180 + // MPropertyFriendlyName "emission start time" + float m_flStartTime; // 0x184 + // MPropertyFriendlyName "scale emission to used control points" + // MParticleMaxVersion + float m_flEmissionScale; // 0x188 + // MPropertyFriendlyName "emission count scale control point" + int32_t m_nScaleControlPoint; // 0x18c + // MPropertyFriendlyName "emission count scale control point field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nScaleControlPointField; // 0x190 + // MPropertyFriendlyName "world noise scale control point" + int32_t m_nWorldNoisePoint; // 0x194 + // MPropertyFriendlyName "absolute value" + bool m_bAbsVal; // 0x198 + // MPropertyFriendlyName "invert absolute value" + bool m_bAbsValInv; // 0x199 +private: + [[maybe_unused]] uint8_t __pad019a[0x2]; // 0x19a +public: + // MPropertyFriendlyName "time coordinate offset" + float m_flOffset; // 0x19c + // MPropertyFriendlyName "emission minimum" + float m_flOutputMin; // 0x1a0 + // MPropertyFriendlyName "emission maximum" + float m_flOutputMax; // 0x1a4 + // MPropertyFriendlyName "time noise coordinate scale" + float m_flNoiseScale; // 0x1a8 + // MPropertyFriendlyName "world spatial noise coordinate scale" + float m_flWorldNoiseScale; // 0x1ac + // MPropertyFriendlyName "spatial coordinate offset" + // MVectorIsCoordinate + Vector m_vecOffsetLoc; // 0x1b0 + // MPropertyFriendlyName "world time noise coordinate scale" + float m_flWorldTimeScale; // 0x1bc +}; + +// Alignment: 8 +// Size: 0x1a0 +class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "current anim time output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x188 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x18c + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x190 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x194 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x198 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x19c +}; + +// Alignment: 12 +// Size: 0x1d0 +class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x188 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x18c + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMin; // 0x190 + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMax; // 0x19c + // MPropertyFriendlyName "emitter lifetime start time (seconds)" + float m_flStartTime; // 0x1a8 + // MPropertyFriendlyName "emitter lifetime end time (seconds)" + float m_flEndTime; // 0x1ac + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1b0 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x1b4 + // MPropertyFriendlyName "use local system" + bool m_bLocalCoords; // 0x1b8 +private: + [[maybe_unused]] uint8_t __pad01b9[0x3]; // 0x1b9 +public: + // MPropertyFriendlyName "remap bias" + float m_flRemapBias; // 0x1bc +}; + +// Alignment: 10 +// Size: 0x1b0 +class C_OP_PercentageBetweenCPs : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "percentage minimum" + float m_flInputMin; // 0x184 + // MPropertyFriendlyName "percentage maximum" + float m_flInputMax; // 0x188 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x18c + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x190 + // MPropertyFriendlyName "starting control point" + int32_t m_nStartCP; // 0x194 + // MPropertyFriendlyName "ending control point" + int32_t m_nEndCP; // 0x198 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x19c + // MPropertyFriendlyName "only active within input range" + bool m_bActiveRange; // 0x1a0 + // MPropertyFriendlyName "treat distance between points as radius" + bool m_bRadialCheck; // 0x1a1 +}; + +// Alignment: 0 +// Size: 0x1d0 +class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x190 +class C_OP_RadiusDecay : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "minimum radius" + float m_flMinRadius; // 0x180 +}; + +// Alignment: 6 +// Size: 0x1a0 +class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "rotate normals" + bool m_bTransformNormals; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0181[0x3]; // 0x181 +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x184 + // MPropertyFriendlyName "lifetime fade start" + float m_flLifeTimeFadeStart; // 0x188 + // MPropertyFriendlyName "lifetime fade end" + float m_flLifeTimeFadeEnd; // 0x18c + // MPropertyFriendlyName "instant jump threshold" + float m_flJumpThreshold; // 0x190 + // MPropertyFriendlyName "previous position scale" + float m_flPrevPosScale; // 0x194 +}; + +// Alignment: 9 +// Size: 0x230 +class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "interpolation rate" + float m_flInterpRate; // 0x180 + // MPropertyFriendlyName "max trace length" + float m_flMaxTraceLength; // 0x184 + // MPropertyFriendlyName "CP movement tolerance" + float m_flTolerance; // 0x188 + // MPropertyFriendlyName "trace offset" + float m_flTraceOffset; // 0x18c + // MPropertyFriendlyName "collision group" + char m_CollisionGroupName[128]; // 0x190 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x210 + // MPropertyFriendlyName "CP to trace from" + int32_t m_nInputCP; // 0x214 + // MPropertyFriendlyName "CP to set" + int32_t m_nOutputCP; // 0x218 +private: + [[maybe_unused]] uint8_t __pad021c[0xc]; // 0x21c +public: + // MPropertyFriendlyName "include water" + bool m_bIncludeWater; // 0x228 +}; + +// Alignment: 4 +// Size: 0x1a0 +class C_OP_TimeVaryingForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "time to start transition" + float m_flStartLerpTime; // 0x180 + // MPropertyFriendlyName "starting force" + // MVectorIsCoordinate + Vector m_StartingForce; // 0x184 + // MPropertyFriendlyName "time to end transition" + float m_flEndLerpTime; // 0x190 + // MPropertyFriendlyName "ending force" + // MVectorIsCoordinate + Vector m_EndingForce; // 0x194 +}; + +// Alignment: 9 +// Size: 0x798 +struct TextureGroup_t +{ +public: + // MPropertyFriendlyName "Enabled" + bool m_bEnabled; // 0x0 + // MPropertyFriendlyName "Author Texture As Gradient" + 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; // 0x120 +}; + +// Alignment: 3 +// Size: 0x1a0 +class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "source CP" + int32_t m_nSourceCP; // 0x190 + // MPropertyFriendlyName "dest CP" + int32_t m_nDestCP; // 0x194 + // MPropertyFriendlyName "dest control point component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nCPField; // 0x198 +}; + +// Alignment: 5 +// Size: 0x1a0 +class C_OP_LerpVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "value to lerp to" + // MVectorIsSometimesCoordinate + Vector m_vecOutput; // 0x184 + // MPropertyFriendlyName "start time" + float m_flStartTime; // 0x190 + // MPropertyFriendlyName "end time" + float m_flEndTime; // 0x194 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x198 +}; + +// Alignment: 5 +// Size: 0x210 +class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "velocity minimum" + float m_flVelocityMin; // 0x180 + // MPropertyFriendlyName "velocity maximum" + float m_flVelocityMax; // 0x184 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x188 + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0x18c + // MPropertyFriendlyName "use bones instead of hitboxes" + bool m_bUseBones; // 0x20c +}; + +// Alignment: 1 +// Size: 0x190 +class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nControlPoint; // 0x180 +}; + +// Alignment: 6 +// Size: 0x190 +class C_INIT_GlobalScale : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "scale amount" + float m_flScale; // 0x180 + // MPropertyFriendlyName "scale control point number" + int32_t m_nScaleControlPointNumber; // 0x184 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x188 + // MPropertyFriendlyName "scale radius" + bool m_bScaleRadius; // 0x18c + // MPropertyFriendlyName "scale position" + bool m_bScalePosition; // 0x18d + // MPropertyFriendlyName "scale velocity" + bool m_bScaleVelocity; // 0x18e +}; + +// Alignment: 4 +// Size: 0x1b0 +class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "Target color control point number" + int32_t m_nColorCP; // 0x190 + // MPropertyFriendlyName "Color Gem Enable control point number" + int32_t m_nColorGemEnableCP; // 0x194 + // MPropertyFriendlyName "output control point number" + int32_t m_nOutputCP; // 0x198 + // MPropertyFriendlyName "Default HSV Color" + Color m_DefaultHSVColor; // 0x19c +}; + +// Alignment: 5 +// Size: 0x1b0 +class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x190 + // MPropertyFriendlyName "input volume minimum in cubic units" + float m_flInputMin; // 0x194 + // MPropertyFriendlyName "input volume maximum in cubic units" + float m_flInputMax; // 0x198 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x19c + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1a0 +}; + +// Alignment: 9 +// Size: 0x200 +class C_OP_RenderScreenShake : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "duration scale" + float m_flDurationScale; // 0x1d0 + // MPropertyFriendlyName "radius scale" + float m_flRadiusScale; // 0x1d4 + // MPropertyFriendlyName "frequence scale" + float m_flFrequencyScale; // 0x1d8 + // MPropertyFriendlyName "amplitude scale" + float m_flAmplitudeScale; // 0x1dc + // MPropertyFriendlyName "radius field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nRadiusField; // 0x1e0 + // MPropertyFriendlyName "duration field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nDurationField; // 0x1e4 + // MPropertyFriendlyName "frequency field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFrequencyField; // 0x1e8 + // MPropertyFriendlyName "amplitude field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nAmplitudeField; // 0x1ec + // MPropertyFriendlyName "control point of shake recipient (-1 = global)" + int32_t m_nFilterCP; // 0x1f0 +}; + +// Alignment: 4 +// Size: 0x190 +class C_OP_FadeIn : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "fade in time min" + float m_flFadeInTimeMin; // 0x180 + // MPropertyFriendlyName "fade in time max" + float m_flFadeInTimeMax; // 0x184 + // MPropertyFriendlyName "fade in time exponent" + float m_flFadeInTimeExp; // 0x188 + // MPropertyFriendlyName "proportional 0/1" + bool m_bProportional; // 0x18c +}; + +// Alignment: 1 +// Size: 0x280 +class C_OP_SetSimulationRate : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "simulation timescale" + CParticleCollectionFloatInput m_flSimulationScale; // 0x190 +}; + +// Alignment: 3 +// Size: 0x190 +class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x180 + // MPropertyFriendlyName "rotation field" + // MPropertyAttributeChoiceName "particlefield_rotation" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "rotation offset" + float m_flRotOffset; // 0x188 +}; + +// Alignment: 6 +// Size: 0xff0 +class C_OP_CurlNoiseForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "noise type" + ParticleDirectionNoiseType_t m_nNoiseType; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "noise frequency" + // MVectorIsCoordinate + CPerParticleVecInput m_vecNoiseFreq; // 0x188 + // MPropertyFriendlyName "noise amplitude" + // MVectorIsCoordinate + CPerParticleVecInput m_vecNoiseScale; // 0x5b8 + // MPropertyFriendlyName "offset rate" + // MVectorIsCoordinate + CPerParticleVecInput m_vecOffsetRate; // 0x9e8 + // MPropertyFriendlyName "worley seed" + CPerParticleFloatInput m_flWorleySeed; // 0xe18 + // MPropertyFriendlyName "worley jitter" + CPerParticleFloatInput m_flWorleyJitter; // 0xf00 +}; + +// Alignment: 0 +// Size: 0x8 +class IControlPointEditorData +{ +public: + // no members available +}; + +// Alignment: 4 +// Size: 0x1a0 +class C_OP_RemapCPOrientationToRotations : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x180 + // MPropertyFriendlyName "offset pitch/yaw/roll" + Vector m_vecRotation; // 0x184 + // MPropertyFriendlyName "Use Quaternians Internally" + bool m_bUseQuat; // 0x190 + // MPropertyFriendlyName "Write normal instead of rotation" + bool m_bWriteNormal; // 0x191 +}; + +// Alignment: 4 +// Size: 0x6b0 +class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "rotation axis" + // MVectorIsCoordinate + CParticleCollectionVecInput m_vecRotAxis; // 0x190 + // MPropertyFriendlyName "rotation rate" + CParticleCollectionFloatInput m_flRotRate; // 0x5c0 + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x6a8 + // MPropertyFriendlyName "local space control point" + int32_t m_nLocalCP; // 0x6ac +}; + +// Alignment: 10 +// Size: 0x1c0 +class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x180 + int32_t m_nInputControlPoint; // 0x190 + // MPropertyFriendlyName "output control point number" + int32_t m_nOutputControlPoint; // 0x194 + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nInputField; // 0x198 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutputField; // 0x19c + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x1a0 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x1a4 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1a8 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1ac + // MPropertyFriendlyName "use the derivative" + bool m_bDerivative; // 0x1b0 +private: + [[maybe_unused]] uint8_t __pad01b1[0x3]; // 0x1b1 +public: + // MPropertyFriendlyName "interpolation" + float m_flInterpRate; // 0x1b4 }; -// Aligment: 8 -// Size: 416 -class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator, CParticleFunction +// Alignment: 11 +// Size: 0x1b0 +class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator { public: - // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x180 - // MPropertyFriendlyName "input field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x184 + // MPropertyFriendlyName "first input control point" + int32_t m_nInputCP1; // 0x180 + // MPropertyFriendlyName "second input control point" + int32_t m_nInputCP2; // 0x184 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 - // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x18c - // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x190 + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + // MPropertyFriendlyName "input minimum (-1 to 1)" + float m_flInputMin; // 0x18c + // MPropertyFriendlyName "input maximum (-1 to 1)" + float m_flInputMax; // 0x190 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 + float m_flOutputMin; // 0x194 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 - // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x19c + float m_flOutputMax; // 0x198 + // MPropertyFriendlyName "use particle velocity for first input" + bool m_bUseParticleVelocity; // 0x19c +private: + [[maybe_unused]] uint8_t __pad019d[0x3]; // 0x19d +public: + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1a0 + // MPropertyFriendlyName "only active within specified input range" + bool m_bActiveRange; // 0x1a4 + // MPropertyFriendlyName "use particle normal for first input" + bool m_bUseParticleNormal; // 0x1a5 }; -// Aligment: 5 -// Size: 32 -struct ParticleChildrenInfo_t +// Alignment: 7 +// Size: 0x1b0 +class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission { public: - // MPropertySuppressField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_ChildRef; // 0x0 - // MPropertyFriendlyName "delay" - float m_flDelay; // 0x8 - // MPropertyFriendlyName "end cap effect" - bool m_bEndCap; // 0xe - // MPropertySuppressField - bool m_bDisableChild; // 0xf - // MPropertyFriendlyName "disable at detail levels below" - ParticleDetailLevel_t m_nDetailLevel; // 0x10 + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x190 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutVectorField; // 0x194 + // MPropertyFriendlyName "scalar field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x198 + // MPropertyFriendlyName "input volume minimum" + float m_flInputMin; // 0x19c + // MPropertyFriendlyName "input volume maximum" + float m_flInputMax; // 0x1a0 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1a4 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1a8 }; -// Aligment: 11 -// Size: 4336 -class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 2 +// Size: 0x1a0 +class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission { public: - // MPropertyFriendlyName "absolute value" + // MPropertyFriendlyName "control point number to set" + int32_t m_nCP1; // 0x190 + // MPropertyFriendlyName "center offset" // MVectorIsCoordinate - Vector m_vecAbsVal; // 0x180 - // MPropertyFriendlyName "invert abs value" + Vector m_vecCP1Pos; // 0x194 +}; + +// Alignment: 17 +// Size: 0x11e0 +class C_INIT_CreateWithinSphere : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "distance min" + CPerParticleFloatInput m_fRadiusMin; // 0x180 + // MPropertyFriendlyName "distance max" + CPerParticleFloatInput m_fRadiusMax; // 0x268 + // MPropertyFriendlyName "distance bias" // MVectorIsCoordinate - Vector m_vecAbsValInv; // 0x18c - // MPropertyFriendlyName "spatial coordinate offset" + CPerParticleVecInput m_vecDistanceBias; // 0x350 + // MPropertyFriendlyName "distance bias absolute value" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetLoc; // 0x198 - // MPropertyFriendlyName "time coordinate offset" - CPerParticleFloatInput m_flOffset; // 0x5c8 - // MPropertyFriendlyName "output minimum" - CPerParticleVecInput m_vecOutputMin; // 0x6b0 - // MPropertyFriendlyName "output maximum" - CPerParticleVecInput m_vecOutputMax; // 0xae0 - // MPropertyFriendlyName "time noise coordinate scale" - CPerParticleFloatInput m_flNoiseScale; // 0xf10 - // MPropertyFriendlyName "spatial noise coordinate scale" - CPerParticleFloatInput m_flNoiseScaleLoc; // 0xff8 + Vector m_vecDistanceBiasAbs; // 0x780 + // MPropertyFriendlyName "randomly distribute between the control point and control point max" + bool m_bDistributeInCPRange; // 0x78c +private: + [[maybe_unused]] uint8_t __pad078d[0x3]; // 0x78d +public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x10e0 - // MPropertyFriendlyName "apply velocity in local space (0/1)" - bool m_bLocalSpace; // 0x10e4 - // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x10e5 + int32_t m_nControlPointNumber; // 0x790 + // MPropertyFriendlyName "max control point number" + // MPropertySuppressExpr "m_bDistributeInCPRange != true" + int32_t m_nControlPointNumberMax; // 0x794 + // MPropertyFriendlyName "speed min" + CPerParticleFloatInput m_fSpeedMin; // 0x798 + // MPropertyFriendlyName "speed max" + CPerParticleFloatInput m_fSpeedMax; // 0x880 + // MPropertyFriendlyName "speed random exponent" + float m_fSpeedRandExp; // 0x968 + // MPropertyFriendlyName "bias in local system" + bool m_bLocalCoords; // 0x96c +private: + [[maybe_unused]] uint8_t __pad096d[0x1]; // 0x96d +public: + // MPropertyFriendlyName "randomly distribute to highest supplied control point" + // MParticleMaxVersion + bool m_bUseHighestEndCP; // 0x96e +private: + [[maybe_unused]] uint8_t __pad096f[0x1]; // 0x96f +public: + // MPropertyFriendlyName "randomly distribution growth time" + float m_flEndCPGrowthTime; // 0x970 +private: + [[maybe_unused]] uint8_t __pad0974[0x4]; // 0x974 +public: + // MPropertyFriendlyName "speed in local coordinate system min" + // MVectorIsCoordinate + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x978 + // MPropertyFriendlyName "speed in local coordinate system max" + // MVectorIsCoordinate + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xda8 + // MPropertyFriendlyName "Output vector" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x11d8 + // MPropertyFriendlyName "Velocity vector" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldVelocity; // 0x11dc }; -// Aligment: 3 -// Size: 416 -class C_INIT_RandomVector : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator { public: - // MPropertyFriendlyName "min" + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x180 + // MPropertyFriendlyName "rotation field" + // MPropertyAttributeChoiceName "particlefield_rotation" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "offset rotation" + float m_flOffsetRot; // 0x188 + // MPropertyFriendlyName "control point axis" + // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - Vector m_vecMin; // 0x180 - // MPropertyFriendlyName "max" - // MVectorIsSometimesCoordinate - Vector m_vecMax; // 0x18c + int32_t m_nComponent; // 0x18c +}; + +// Alignment: 29 +// Size: 0xdb0 +class C_OP_RenderStandardLight : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "light type" + ParticleLightTypeChoiceList_t m_nLightType; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 +public: + // MPropertyFriendlyName "color blend" + CParticleCollectionVecInput m_vecColorScale; // 0x1d8 + // MPropertyFriendlyName "color blend type" + ParticleColorBlendType_t m_nColorBlendType; // 0x608 +private: + [[maybe_unused]] uint8_t __pad060c[0x4]; // 0x60c +public: + // MPropertyFriendlyName "intensity" + CParticleCollectionFloatInput m_flIntensity; // 0x610 + // MPropertyFriendlyName "cast shadows" + // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" + bool m_bCastShadows; // 0x6f8 +private: + [[maybe_unused]] uint8_t __pad06f9[0x7]; // 0x6f9 +public: + // MPropertyFriendlyName "inner cone angle" + // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" + CParticleCollectionFloatInput m_flTheta; // 0x700 + // MPropertyFriendlyName "outer cone angle" + // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" + CParticleCollectionFloatInput m_flPhi; // 0x7e8 + // MPropertyFriendlyName "light radius multiplier" + CParticleCollectionFloatInput m_flRadiusMultiplier; // 0x8d0 + // MPropertyFriendlyName "attenuation type" + StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0x9b8 +private: + [[maybe_unused]] uint8_t __pad09bc[0x4]; // 0x9bc +public: + // MPropertyFriendlyName "falloff linearity" + // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )" + CParticleCollectionFloatInput m_flFalloffLinearity; // 0x9c0 + // MPropertyFriendlyName "falloff fifty percent" + // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" + CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xaa8 + // MPropertyFriendlyName "falloff zero percent" + // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" + CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xb90 + // MPropertyFriendlyName "render diffuse" + // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" + bool m_bRenderDiffuse; // 0xc78 + // MPropertyFriendlyName "render specular" + // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" + bool m_bRenderSpecular; // 0xc79 +private: + [[maybe_unused]] uint8_t __pad0c7a[0x6]; // 0xc7a +public: + // MPropertyFriendlyName "light cookie string" + CUtlString m_lightCookie; // 0xc80 + // MPropertyFriendlyName "light priority" + int32_t m_nPriority; // 0xc88 + // MPropertyFriendlyName "fog lighting mode" + // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" + ParticleLightFogLightingMode_t m_nFogLightingMode; // 0xc8c + // MPropertyFriendlyName "fog contribution" + // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" + CParticleCollectionFloatInput m_flFogContribution; // 0xc90 + // MPropertyFriendlyName "capsule behavior" + ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0xd78 + // MPropertyStartGroup "Capsule Light Controls" + // MPropertyFriendlyName "capsule length" + // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" + float m_flCapsuleLength; // 0xd7c + // MPropertyFriendlyName "reverse point order" + // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" + bool m_bReverseOrder; // 0xd80 + // MPropertyFriendlyName "Closed loop" + // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" + bool m_bClosedLoop; // 0xd81 +private: + [[maybe_unused]] uint8_t __pad0d82[0x2]; // 0xd82 +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; // 0xd84 + // MPropertyFriendlyName "max length" + // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" + float m_flMaxLength; // 0xd88 + // MPropertyFriendlyName "min length" + // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" + float m_flMinLength; // 0xd8c + // MPropertyFriendlyName "ignore delta time" + // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" + bool m_bIgnoreDT; // 0xd90 +private: + [[maybe_unused]] uint8_t __pad0d91[0x3]; // 0xd91 +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; // 0xd94 + // MPropertyFriendlyName "amount to scale trail length by" + // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" + float m_flLengthScale; // 0xd98 + // 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; // 0xd9c +}; + +// Alignment: 1 +// Size: 0x190 +class C_OP_WindForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "force to apply" + // MVectorIsCoordinate + Vector m_vForce; // 0x180 +}; + +// Alignment: 0 +// Size: 0xe8 +class CParticleCollectionFloatInput : public CParticleFloatInput +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x8 +class IParticleSystemDefinition +{ +public: + // no members available +}; + +// Alignment: 11 +// Size: 0x1b0 +class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "input field 0-2 X/Y/Z" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nField; // 0x188 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x18c + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x190 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x194 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x198 + // MPropertyFriendlyName "emitter lifetime start time (seconds)" + float m_flStartTime; // 0x19c + // MPropertyFriendlyName "emitter lifetime end time (seconds)" + float m_flEndTime; // 0x1a0 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1a4 + // MPropertyFriendlyName "remap bias" + float m_flRemapBias; // 0x1a8 +}; + +// Alignment: 6 +// Size: 0x200 +class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "color warp texture (3d)" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x1d0 + // MPropertyFriendlyName "normal texture" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x1d8 + // MPropertyFriendlyName "metalness texture" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x1e0 + // MPropertyFriendlyName "roughness texture" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x1e8 + // MPropertyFriendlyName "self illum texture" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x1f0 + // MPropertyFriendlyName "detail texture" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x1f8 +}; + +// Alignment: 3 +// Size: 0x1a0 +class C_OP_ClampVector : public CParticleFunctionOperator +{ +public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x198 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMin; // 0x184 + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMax; // 0x190 }; -// Aligment: 5 -// Size: 880 -class C_OP_ConstrainDistance : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 0 +// Size: 0x1d0 +class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar +{ +public: + // no members available +}; + +// Alignment: 4 +// Size: 0x1d0 +class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "start fade time" + float m_flFadeStart; // 0x184 + // MPropertyFriendlyName "end fade time" + float m_flFadeEnd; // 0x188 + // MPropertyFriendlyName "Use sequential CP pairs between start and end point" + bool m_bCPPairs; // 0x18c +private: + [[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d +public: + CPathParameters m_PathParams; // 0x190 +}; + +// Alignment: 0 +// Size: 0x1a0 +class C_OP_SpinYaw : public CGeneralSpin +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x280 +class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "duration at which to stop" + CParticleCollectionFloatInput m_flDuration; // 0x190 + // MPropertyFriendlyName "destroy all particles immediately" + bool m_bDestroyImmediately; // 0x278 + // MPropertyFriendlyName "play end cap effect" + bool m_bPlayEndCap; // 0x279 +}; + +// Alignment: 0 +// Size: 0x1e0 +class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap +{ +public: + // no members available +}; + +// Alignment: 7 +// Size: 0x1e0 +class C_OP_MaintainSequentialPath : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "maximum distance" + float m_fMaxDistance; // 0x180 + // MPropertyFriendlyName "particles to map from start to end" + float m_flNumToAssign; // 0x184 + // MPropertyFriendlyName "cohesion strength" + float m_flCohesionStrength; // 0x188 + // MPropertyFriendlyName "control point movement tolerance" + float m_flTolerance; // 0x18c + // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" + bool m_bLoop; // 0x190 + // MPropertyFriendlyName "use existing particle count" + bool m_bUseParticleCount; // 0x191 +private: + [[maybe_unused]] uint8_t __pad0192[0xe]; // 0x192 +public: + CPathParameters m_PathParams; // 0x1a0 +}; + +// Alignment: 2 +// Size: 0x1a0 +class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x190 + // MPropertyFriendlyName "output control point number" + int32_t m_nCPOutput; // 0x194 +}; + +// Alignment: 5 +// Size: 0x1a0 +class C_OP_ExternalGenericForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "strength" + float m_flStrength; // 0x180 + // MPropertyFriendlyName "curl strength" + float m_flCurlStrength; // 0x184 + // MPropertyFriendlyName "linear strength" + float m_flLinearStrength; // 0x188 + // MPropertyFriendlyName "radial strength" + float m_flRadialStrength; // 0x18c + // MPropertyFriendlyName "rotation strength" + float m_flRotationStrength; // 0x190 +}; + +// Alignment: 9 +// Size: 0x1e0 +class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "model" + // MPropertyAttributeEditor "AssetBrowse( vmdl )" + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 + // MPropertyFriendlyName "input names" + CUtlVector< CUtlString > m_inNames; // 0x188 + // MPropertyFriendlyName "output names" + CUtlVector< CUtlString > m_outNames; // 0x1a0 + // MPropertyFriendlyName "fallback names when the input doesn't match" + CUtlVector< CUtlString > m_fallbackNames; // 0x1b8 + // MPropertyFriendlyName "model from renderer" + bool m_bModelFromRenderer; // 0x1d0 + // MPropertyFriendlyName "remap time proportional" + bool m_bProportional; // 0x1d1 +private: + [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x1d4 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8 + // MPropertyFriendlyName "remap time" + float m_flRemapTime; // 0x1dc +}; + +// Alignment: 1 +// Size: 0x190 +class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "Acceleration" + float m_flAccel; // 0x180 +}; + +// Alignment: 10 +// Size: 0x1d0 +class C_OP_RampScalarSpline : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "ramp rate min" + float m_RateMin; // 0x180 + // MPropertyFriendlyName "ramp rate max" + float m_RateMax; // 0x184 + // MPropertyFriendlyName "start time min" + float m_flStartTime_min; // 0x188 + // MPropertyFriendlyName "start time max" + float m_flStartTime_max; // 0x18c + // MPropertyFriendlyName "end time min" + float m_flEndTime_min; // 0x190 + // MPropertyFriendlyName "end time max" + float m_flEndTime_max; // 0x194 + // MPropertyFriendlyName "bias" + float m_flBias; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x24]; // 0x19c +public: + // MPropertyFriendlyName "ramp field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x1c0 + // MPropertyFriendlyName "start/end proportional" + bool m_bProportionalOp; // 0x1c4 + // MPropertyFriendlyName "ease out" + bool m_bEaseOut; // 0x1c5 +}; + +// Alignment: 5 +// Size: 0x1a0 +class C_OP_ColorInterpolate : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "color fade" + Color m_ColorFade; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0xc]; // 0x184 +public: + // MPropertyFriendlyName "fade start time" + float m_flFadeStartTime; // 0x190 + // MPropertyFriendlyName "fade end time" + float m_flFadeEndTime; // 0x194 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x198 + // MPropertyFriendlyName "ease in and out" + bool m_bEaseInOut; // 0x19c +}; + +// Alignment: 1 +// Size: 0x4 +class PARTICLE_WORLD_HANDLE__ +{ +public: + int32_t unused; // 0x0 +}; + +// Alignment: 7 +// Size: 0x1a0 +class C_OP_FadeAndKill : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "start fade in time" + float m_flStartFadeInTime; // 0x180 + // MPropertyFriendlyName "end fade in time" + float m_flEndFadeInTime; // 0x184 + // MPropertyFriendlyName "start fade out time" + float m_flStartFadeOutTime; // 0x188 + // MPropertyFriendlyName "end fade out time" + float m_flEndFadeOutTime; // 0x18c + // MPropertyFriendlyName "start alpha" + float m_flStartAlpha; // 0x190 + // MPropertyFriendlyName "end alpha" + float m_flEndAlpha; // 0x194 + // MPropertyFriendlyName "force preserving particle order" + bool m_bForcePreserveParticleOrder; // 0x198 +}; + +// Alignment: 3 +// Size: 0x190 +class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "creation control point number" + int32_t m_nControlPointNumberStart; // 0x180 + // MPropertyFriendlyName "offset control point number" + int32_t m_nControlPointNumberEnd; // 0x184 + // MPropertyFriendlyName "offset in local space 0/1" + bool m_bLocalCoords; // 0x188 +}; + +// Alignment: 7 +// Size: 0x1a0 +class C_OP_MaintainEmitter : public CParticleFunctionEmitter +{ +public: + // MPropertyFriendlyName "count to maintain" + int32_t m_nParticlesToMaintain; // 0x180 + // MPropertyFriendlyName "emission start time" + float m_flStartTime; // 0x184 + // MPropertyFriendlyName "maintain count scale control point" + int32_t m_nScaleControlPoint; // 0x188 + // MPropertyFriendlyName "maintain count scale control point field" + int32_t m_nScaleControlPointField; // 0x18c + // MPropertyFriendlyName "emission rate" + float m_flEmissionRate; // 0x190 + // MPropertyFriendlyName "control point with snapshot data" + int32_t m_nSnapshotControlPoint; // 0x194 + // MPropertyFriendlyName "group emission times for new particles" + bool m_bEmitInstantaneously; // 0x198 +}; + +// Alignment: 3 +// Size: 0x190 +class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "random speed min" + float m_fSpeedMin; // 0x180 + // MPropertyFriendlyName "random speed max" + float m_fSpeedMax; // 0x184 + // MPropertyFriendlyName "ignore delta time" + bool m_bIgnoreDt; // 0x188 +}; + +// Alignment: 3 +// Size: 0x190 +class C_OP_MaxVelocity : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "maximum velocity" + float m_flMaxVelocity; // 0x180 + // MPropertyFriendlyName "override max velocity from this CP" + int32_t m_nOverrideCP; // 0x184 + // MPropertyFriendlyName "override CP field" + int32_t m_nOverrideCPField; // 0x188 +}; + +// Alignment: 11 +// Size: 0x220 +class C_OP_RenderProjected : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "project on characters" + bool m_bProjectCharacter; // 0x1d0 + // MPropertyFriendlyName "project on world" + bool m_bProjectWorld; // 0x1d1 + // MPropertyFriendlyName "project on water" + bool m_bProjectWater; // 0x1d2 + // MPropertyFriendlyName "flip horizontal" + bool m_bFlipHorizontal; // 0x1d3 + // MPropertyFriendlyName "enable projected depth controls" + bool m_bEnableProjectedDepthControls; // 0x1d4 +private: + [[maybe_unused]] uint8_t __pad01d5[0x3]; // 0x1d5 +public: + // MPropertyFriendlyName "min projection depth" + // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" + float m_flMinProjectionDepth; // 0x1d8 + // MPropertyFriendlyName "max projection depth" + // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" + float m_flMaxProjectionDepth; // 0x1dc + // MPropertyFriendlyName "material" + // MPropertyAttributeEditor "AssetBrowse( vmat )" + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x1e0 + // MPropertyFriendlyName "sheet animation time scale" + float m_flAnimationTimeScale; // 0x1e8 + // MPropertyFriendlyName "orient to normal" + bool m_bOrientToNormal; // 0x1ec +private: + [[maybe_unused]] uint8_t __pad01ed[0x3]; // 0x1ed +public: + // MPropertyFriendlyName "material variables" + // MPropertyAutoExpandSelf + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1f0 +}; + +// Alignment: 6 +// Size: 0x1b0 +class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "model" + // MPropertyAttributeEditor "AssetBrowse( vmdl )" + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 + // MPropertyFriendlyName "names" + CUtlVector< CUtlString > m_names; // 0x188 + // MPropertyFriendlyName "shuffle" + bool m_bShuffle; // 0x1a0 + // MPropertyFriendlyName "linear" + bool m_bLinear; // 0x1a1 + // MPropertyFriendlyName "model from renderer" + bool m_bModelFromRenderer; // 0x1a2 +private: + [[maybe_unused]] uint8_t __pad01a3[0x1]; // 0x1a3 +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1a4 +}; + +// Alignment: 3 +// Size: 0x6a0 +class C_OP_PerParticleForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "force scale" + CPerParticleFloatInput m_flForceScale; // 0x180 + // MPropertyFriendlyName "force to apply" + // MVectorIsCoordinate + CPerParticleVecInput m_vForce; // 0x268 + // MPropertyFriendlyName "local space control point" + int32_t m_nCP; // 0x698 +}; + +// Alignment: 4 +// Size: 0x190 +class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "read field" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "written field" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldInput; // 0x184 + // MPropertyFriendlyName "particle neighbor increment amount" + int32_t m_nIncrement; // 0x188 + // MPropertyFriendlyName "group id" + int32_t m_nGroupID; // 0x18c +}; + +// Alignment: 11 +// Size: 0xa80 +class C_INIT_CreateOnModel : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "force to be inside model" + int32_t m_nForceInModel; // 0x184 + // MPropertyFriendlyName "desired hitbox" + int32_t m_nDesiredHitbox; // 0x188 + // MPropertyFriendlyName "Control Point Providing Hitbox index" + int32_t m_nHitboxValueFromControlPointIndex; // 0x18c + // MPropertyFriendlyName "hitbox scale" + CParticleCollectionVecInput m_vecHitBoxScale; // 0x190 + // MPropertyFriendlyName "inherited velocity scale" + float m_flBoneVelocity; // 0x5c0 + // MPropertyFriendlyName "maximum inherited velocity" + float m_flMaxBoneVelocity; // 0x5c4 + // MPropertyFriendlyName "direction bias" + // MVectorIsCoordinate + CParticleCollectionVecInput m_vecDirectionBias; // 0x5c8 + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0x9f8 + // MPropertyFriendlyName "bias in local space" + bool m_bLocalCoords; // 0xa78 + // MPropertyFriendlyName "use bones instead of hitboxes" + bool m_bUseBones; // 0xa79 +}; + +// Alignment: 3 +// Size: 0x270 +class C_INIT_InitFloat : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "value" + CPerParticleFloatInput m_InputValue; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nOutputField; // 0x268 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x26c +}; + +// Alignment: 4 +// Size: 0x6a0 +class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "rotation axis" + // MVectorIsCoordinate + CParticleCollectionVecInput m_vecRotAxis; // 0x180 + // MPropertyFriendlyName "rotation rate" + CParticleCollectionFloatInput m_flRotRate; // 0x5b0 + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x698 + // MPropertyFriendlyName "use local space" + bool m_bLocalSpace; // 0x69c +}; + +// Alignment: 15 +// Size: 0x660 +class C_OP_DistanceToCP : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "distance minimum" + float m_flInputMin; // 0x184 + // MPropertyFriendlyName "distance maximum" + float m_flInputMax; // 0x188 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x18c + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x190 + // MPropertyFriendlyName "control point" + int32_t m_nStartCP; // 0x194 + // MPropertyFriendlyName "ensure line of sight" + bool m_bLOS; // 0x198 + // MPropertyFriendlyName "LOS collision group" + char m_CollisionGroupName[128]; // 0x199 +private: + [[maybe_unused]] uint8_t __pad0219[0x3]; // 0x219 +public: + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x21c + // MPropertyFriendlyName "maximum trace length" + float m_flMaxTraceLength; // 0x220 + // MPropertyFriendlyName "LOS Failure Scalar" + float m_flLOSScale; // 0x224 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x228 + // MPropertyFriendlyName "only active within specified distance" + bool m_bActiveRange; // 0x22c + // MPropertyFriendlyName "output is additive" + bool m_bAdditive; // 0x22d +private: + [[maybe_unused]] uint8_t __pad022e[0x2]; // 0x22e +public: + // MPropertyFriendlyName "component scale" + CPerParticleVecInput m_vecComponentScale; // 0x230 +}; + +// Alignment: 12 +// Size: 0x1e0 +class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "set positions in world space" + bool m_bUseWorldLocation; // 0x190 + // MPropertyFriendlyName "inherit CP orientation" + bool m_bOrient; // 0x191 + // MPropertyFriendlyName "only set position once" + bool m_bSetOnce; // 0x192 +private: + [[maybe_unused]] uint8_t __pad0193[0x1]; // 0x193 +public: + // MPropertyFriendlyName "first control point number" + int32_t m_nCP1; // 0x194 + // MPropertyFriendlyName "second control point number" + int32_t m_nCP2; // 0x198 + // MPropertyFriendlyName "third control point number" + int32_t m_nCP3; // 0x19c + // MPropertyFriendlyName "fourth control point number" + int32_t m_nCP4; // 0x1a0 + // MPropertyFriendlyName "first control point location" + // MVectorIsCoordinate + Vector m_vecCP1Pos; // 0x1a4 + // MPropertyFriendlyName "second control point location" + // MVectorIsCoordinate + Vector m_vecCP2Pos; // 0x1b0 + // MPropertyFriendlyName "third control point location" + // MVectorIsCoordinate + Vector m_vecCP3Pos; // 0x1bc + // MPropertyFriendlyName "fourth control point location" + // MVectorIsCoordinate + Vector m_vecCP4Pos; // 0x1c8 + // MPropertyFriendlyName "control point to offset positions from" + int32_t m_nHeadLocation; // 0x1d4 +}; + +// Alignment: 5 +// Size: 0x1b0 +class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - CParticleCollectionFloatInput m_fMinDistance; // 0x180 + float m_fMinDistance; // 0x180 // MPropertyFriendlyName "maximum distance" - CParticleCollectionFloatInput m_fMaxDistance; // 0x268 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x350 - // MPropertyFriendlyName "offset of center" - // MVectorIsCoordinate - Vector m_CenterOffset; // 0x354 - // MPropertyFriendlyName "global center point" - bool m_bGlobalCenter; // 0x360 + float m_flMaxDistance; // 0x184 + // MPropertyFriendlyName "Time scale" + float m_flTimeScale; // 0x188 + // MPropertyFriendlyName "Treat path as a loop" + bool m_bLoopedPath; // 0x18c +private: + [[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d +public: + // MPropertyFriendlyName "path points" + CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x190 }; -// Aligment: 8 -// Size: 560 -class C_INIT_RtEnvCull : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 10 +// Size: 0x540 +class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "first dimension 0-2 (-1 disables)" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nComponent1; // 0x180 + // MPropertyFriendlyName "second dimension 0-2 (-1 disables)" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nComponent2; // 0x184 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: + // MPropertyFriendlyName "particle density" + CPerParticleFloatInput m_flParticleDensity; // 0x190 + // MPropertyFriendlyName "point offset" + CPerParticleFloatInput m_flOffset; // 0x278 + // MPropertyFriendlyName "radius 1" + CPerParticleFloatInput m_flRadius1; // 0x360 + // MPropertyFriendlyName "radius 2" + CPerParticleFloatInput m_flRadius2; // 0x448 + // MPropertyFriendlyName "use particle count instead of creation time" + bool m_bUseCount; // 0x530 + // MPropertyFriendlyName "local space" + bool m_bUseLocalCoords; // 0x531 + // MPropertyFriendlyName "offset from existing position" + bool m_bOffsetExistingPos; // 0x532 +}; + +// Alignment: 5 +// Size: 0x450 +class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "radius" + CPerParticleFloatInput m_InputRadius; // 0x180 + // MPropertyFriendlyName "magnitude" + CPerParticleFloatInput m_InputMagnitude; // 0x268 + // MPropertyFriendlyName "force falloff function" + ParticleFalloffFunction_t m_nFalloffFunction; // 0x350 +private: + [[maybe_unused]] uint8_t __pad0354[0x4]; // 0x354 +public: + // MPropertyFriendlyName "exponential falloff exponent" + CPerParticleFloatInput m_InputFalloffExp; // 0x358 + // MPropertyFriendlyName "impulse type" + ParticleImpulseType_t m_nImpulseType; // 0x440 +}; + +// Alignment: 13 +// Size: 0x1d0 +class C_OP_RemapCPtoVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "local space CP" + int32_t m_nLocalSpaceCP; // 0x188 + // MPropertyFriendlyName "input minimum" + // MVectorIsSometimesCoordinate + Vector m_vInputMin; // 0x18c + // MPropertyFriendlyName "input maximum" + // MVectorIsSometimesCoordinate + Vector m_vInputMax; // 0x198 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vOutputMin; // 0x1a4 + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vOutputMax; // 0x1b0 + // MPropertyFriendlyName "emitter lifetime start time (seconds)" + float m_flStartTime; // 0x1bc + // MPropertyFriendlyName "emitter lifetime end time (seconds)" + float m_flEndTime; // 0x1c0 + // MPropertyFriendlyName "interpolation scale" + float m_flInterpRate; // 0x1c4 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1c8 + // MPropertyFriendlyName "offset position" + bool m_bOffset; // 0x1cc + // MPropertyFriendlyName "accelerate position" + bool m_bAccelerate; // 0x1cd +}; + +// Alignment: 12 +// Size: 0xa60 +class C_OP_PinParticleToCP : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "offset" + CParticleCollectionVecInput m_vecOffset; // 0x188 + // MPropertyFriendlyName "offset in local space" + bool m_bOffsetLocal; // 0x5b8 +private: + [[maybe_unused]] uint8_t __pad05b9[0x3]; // 0x5b9 +public: + // MPropertyFriendlyName "particle to use" + ParticleSelection_t m_nParticleSelection; // 0x5bc + // MPropertyFriendlyName "particle number" + CParticleCollectionFloatInput m_nParticleNumber; // 0x5c0 + // MPropertyFriendlyName "pin break type" + ParticlePinDistance_t m_nPinBreakType; // 0x6a8 +private: + [[maybe_unused]] uint8_t __pad06ac[0x4]; // 0x6ac +public: + // MPropertyFriendlyName "break length %" + CParticleCollectionFloatInput m_flBreakDistance; // 0x6b0 + // MPropertyFriendlyName "break speed" + CParticleCollectionFloatInput m_flBreakSpeed; // 0x798 + // MPropertyFriendlyName "break age" + CParticleCollectionFloatInput m_flAge; // 0x880 + // MPropertyFriendlyName "break comparison control point 1" + int32_t m_nBreakControlPointNumber; // 0x968 + // MPropertyFriendlyName "break comparison control point 2" + int32_t m_nBreakControlPointNumber2; // 0x96c + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x970 +}; + +// Alignment: 7 +// Size: 0x230 +class C_OP_RtEnvCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x180 + Vector m_vecTestDir; // 0x180 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x18c - // MPropertyFriendlyName "use velocity for test direction" - bool m_bUseVelocity; // 0x198 + Vector m_vecTestNormal; // 0x18c // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x199 - // MPropertyFriendlyName "velocity test adjust lifespan" - bool m_bLifeAdjust; // 0x19a + bool m_bCullOnMiss; // 0x198 + // MPropertyFriendlyName "stick instead of cull" + bool m_bStickInsteadOfCull; // 0x199 // MPropertyFriendlyName "ray trace environment name" - char[128] m_RtEnvName; // 0x19b + char m_RtEnvName[128]; // 0x19a +private: + [[maybe_unused]] uint8_t __pad021a[0x2]; // 0x21a +public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x21c + int32_t m_nRTEnvCP; // 0x21c // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x220 + int32_t m_nComponent; // 0x220 }; -// Aligment: 18 -// Size: 480 -class C_INIT_StatusEffect : public CParticleFunctionInitializer, CParticleFunction -{ -public: - // MPropertyFriendlyName "D_DETAIL_2" - Detail2Combo_t m_nDetail2Combo; // 0x180 - // MPropertyFriendlyName "$DETAIL2ROTATION" - float m_flDetail2Rotation; // 0x184 - // MPropertyFriendlyName "$DETAIL2SCALE" - float m_flDetail2Scale; // 0x188 - // MPropertyFriendlyName "$DETAIL2BLENDFACTOR" - float m_flDetail2BlendFactor; // 0x18c - // MPropertyFriendlyName "$COLORWARPINTENSITY" - float m_flColorWarpIntensity; // 0x190 - // MPropertyFriendlyName "$DIFFUSEWARPBLENDTOFULL" - float m_flDiffuseWarpBlendToFull; // 0x194 - // MPropertyFriendlyName "$ENVMAPINTENSITY" - float m_flEnvMapIntensity; // 0x198 - // MPropertyFriendlyName "$AMBIENTSCALE" - float m_flAmbientScale; // 0x19c - // MPropertyFriendlyName "$SPECULARCOLOR" - Color m_specularColor; // 0x1a0 - // MPropertyFriendlyName "$SPECULARSCALE" - float m_flSpecularScale; // 0x1a4 - // MPropertyFriendlyName "$SPECULAREXPONENT" - float m_flSpecularExponent; // 0x1a8 - // MPropertyFriendlyName "$SPECULAREXPONENTBLENDTOFULL" - float m_flSpecularExponentBlendToFull; // 0x1ac - // MPropertyFriendlyName "$SPECULARBLENDTOFULL" - float m_flSpecularBlendToFull; // 0x1b0 - // MPropertyFriendlyName "$RIMLIGHTCOLOR" - Color m_rimLightColor; // 0x1b4 - // MPropertyFriendlyName "$RIMLIGHTSCALE" - float m_flRimLightScale; // 0x1b8 - // MPropertyFriendlyName "$REFLECTIONSTINTBYBASEBLENDTONONE" - float m_flReflectionsTintByBaseBlendToNone; // 0x1bc - // MPropertyFriendlyName "$METALNESSBLENDTOFULL" - float m_flMetalnessBlendToFull; // 0x1c0 - // MPropertyFriendlyName "$SELFILLUMBLENDTOFULL" - float m_flSelfIllumBlendToFull; // 0x1c4 -}; - -// Aligment: 5 -// Size: 448 -class C_OP_OscillateScalarSimple : public CParticleFunctionOperator, CParticleFunction -{ -public: - // MPropertyFriendlyName "oscillation rate" - float m_Rate; // 0x180 - // MPropertyFriendlyName "oscillation frequency" - float m_Frequency; // 0x184 - // MPropertyFriendlyName "oscillation field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x188 - // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x18c - // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x190 -}; - -// Aligment: 2 -// Size: 16 -struct ParticlePreviewBodyGroup_t -{ -public: - CUtlString m_bodyGroupName; // 0x0 - int32_t m_nValue; // 0x8 -}; - -// Aligment: 2 -// Size: 624 -class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator, CParticleFunction +// Alignment: 9 +// Size: 0x1d0 +class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission { public: + // MPropertyFriendlyName "output control point" + int32_t m_nOutputControlPoint; // 0x190 // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 - // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x188 + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutputField; // 0x194 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x198 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x19c + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1a0 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1a4 + // MPropertyFriendlyName "sound stack name" + CUtlString m_StackName; // 0x1a8 + // MPropertyFriendlyName "sound operator name" + CUtlString m_OperatorName; // 0x1b0 + // MPropertyFriendlyName "sound field name" + CUtlString m_FieldName; // 0x1b8 }; -// Aligment: 4 -// Size: 400 -class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x1b0 +class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x180 + int32_t m_nCP; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x188 + float m_flScale; // 0x188 + // MPropertyFriendlyName "offset rotation" + float m_flOffsetRot; // 0x18c + // MPropertyFriendlyName "offset axis" + // MVectorIsCoordinate + Vector m_vecOffsetAxis; // 0x190 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x18c + bool m_bNormalize; // 0x19c +private: + [[maybe_unused]] uint8_t __pad019d[0x3]; // 0x19d +public: + // MPropertyFriendlyName "strength field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldStrength; // 0x1a0 }; -// Aligment: 6 -// Size: 416 -class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator, CParticleFunction +// Alignment: 10 +// Size: 0xda0 +class C_OP_ChladniWave : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "wave minimum" + CPerParticleFloatInput m_flInputMin; // 0x188 + // MPropertyFriendlyName "wave maximum" + CPerParticleFloatInput m_flInputMax; // 0x270 + // MPropertyFriendlyName "output minimum" + CPerParticleFloatInput m_flOutputMin; // 0x358 + // MPropertyFriendlyName "output maximum" + CPerParticleFloatInput m_flOutputMax; // 0x440 + // MPropertyFriendlyName "wave length" + CPerParticleVecInput m_vecWaveLength; // 0x528 + // MPropertyFriendlyName "harmonics" + CPerParticleVecInput m_vecHarmonics; // 0x958 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0xd88 + // MPropertyFriendlyName "local space control point" + int32_t m_nLocalSpaceControlPoint; // 0xd8c + // MPropertyFriendlyName "3D" + bool m_b3D; // 0xd90 +}; + +// Alignment: 5 +// Size: 0x280 +class C_OP_SetChildControlPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x180 + int32_t m_nChildGroupID; // 0x180 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x184 + int32_t m_nFirstControlPoint; // 0x184 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x188 + int32_t m_nNumControlPoints; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x18c + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x190 // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x190 - // MPropertyFriendlyName "orientation style" - ParticleOrientationSetMode_t m_nOrientationMode; // 0x194 + bool m_bSetOrientation; // 0x278 }; -// Aligment: 18 -// Size: 68 +// Alignment: 2 +// Size: 0x190 +class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "control point axis" + ParticleControlPointAxis_t m_nControlPointAxis; // 0x184 +}; + +// Alignment: 5 +// Size: 0x9f0 +class C_INIT_PositionOffset : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "offset min" + // MVectorIsCoordinate + CPerParticleVecInput m_OffsetMin; // 0x180 + // MPropertyFriendlyName "offset max" + // MVectorIsCoordinate + CPerParticleVecInput m_OffsetMax; // 0x5b0 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x9e0 + // MPropertyFriendlyName "offset in local space 0/1" + bool m_bLocalCoords; // 0x9e4 + // MPropertyFriendlyName "offset proportional to radius 0/1" + bool m_bProportional; // 0x9e5 +}; + +// Alignment: 2 +// Size: 0x190 +class C_INIT_InheritVelocity : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "velocity scale" + float m_flVelocityScale; // 0x184 +}; + +// Alignment: 21 +// Size: 0xde0 +class C_OP_RenderCables : public CParticleFunctionRenderer +{ +public: + // MPropertyStartGroup "Renderer Modifiers" + // MPropertyFriendlyName "Radius Scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRadiusScale; // 0x1d0 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flAlphaScale; // 0x2b8 + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionVecInput m_vecColorScale; // 0x3a0 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0x7d0 +private: + [[maybe_unused]] uint8_t __pad07d4[0x4]; // 0x7d4 +public: + // MPropertyStartGroup + // MPropertyFriendlyName "material" + // MPropertyAttributeEditor "AssetBrowse( vmat )" + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x7d8 + // MPropertyFriendlyName "texture repetition mode" + TextureRepetitionMode_t m_nTextureRepetitionMode; // 0x7e0 +private: + [[maybe_unused]] uint8_t __pad07e4[0x4]; // 0x7e4 +public: + // MPropertyFriendlyName "texture repetitions" + CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0x7e8 + // MPropertyFriendlyName "texture repetitions around cable" + CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0x8d0 + // MPropertyFriendlyName "color map offset along path" + CParticleCollectionFloatInput m_flColorMapOffsetV; // 0x9b8 + // MPropertyFriendlyName "color map offset around cable" + CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xaa0 + // MPropertyFriendlyName "normal map offset along path" + CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xb88 + // MPropertyFriendlyName "normal map offset around cable" + CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0xc70 + // MPropertyFriendlyName "draw caps at each end of the cable" + bool m_bDrawCableCaps; // 0xd58 +private: + [[maybe_unused]] uint8_t __pad0d59[0x3]; // 0xd59 +public: + // MPropertyFriendlyName "cable end cap shape factor" + // MPropertyAttributeRange "0 2" + float m_flCapRoundness; // 0xd5c + // MPropertyFriendlyName "cable end cap offset amount" + // MPropertyAttributeRange "0 2" + float m_flCapOffsetAmount; // 0xd60 + // MPropertyFriendlyName "tessellation scale factor" + float m_flTessScale; // 0xd64 + // MPropertyFriendlyName "minimum steps between particles" + int32_t m_nMinTesselation; // 0xd68 + // MPropertyFriendlyName "maximum steps between particles" + int32_t m_nMaxTesselation; // 0xd6c + // MPropertyFriendlyName "roundness factor" + int32_t m_nRoundness; // 0xd70 +private: + [[maybe_unused]] uint8_t __pad0d74[0x4]; // 0xd74 +public: + // MPropertyFriendlyName "material float variables" + CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0xd78 +private: + [[maybe_unused]] uint8_t __pad0d90[0x18]; // 0xd90 +public: + // MPropertyFriendlyName "material vector variables" + CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0xda8 +}; + +// Alignment: 8 +// Size: 0x1a0 +class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "field to read" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nAttributeToRead; // 0x184 + // MPropertyFriendlyName "field to write" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x188 + // MPropertyFriendlyName "local space control point number" + int32_t m_nLocalSpaceCP; // 0x18c + // MPropertyFriendlyName "random order" + bool m_bRandom; // 0x190 + // MPropertyFriendlyName "reverse order" + bool m_bReverse; // 0x191 +private: + [[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192 +public: + // MPropertyFriendlyName "random seed" + int32_t m_nRandomSeed; // 0x194 + // MPropertyFriendlyName "local space angles" + bool m_bLocalSpaceAngles; // 0x198 +}; + +// Alignment: 0 +// Size: 0x1e0 +class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x280 +class C_INIT_PlaneCull : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point of plane" + int32_t m_nControlPoint; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "cull offset" + CParticleCollectionFloatInput m_flDistance; // 0x188 + // MPropertyFriendlyName "flip cull normal" + bool m_bCullInside; // 0x270 +}; + +// Alignment: 9 +// Size: 0x1a0 +class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "difference minimum" + float m_flInputMin; // 0x188 + // MPropertyFriendlyName "difference maximum" + float m_flInputMax; // 0x18c + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x190 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x194 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x198 + // MPropertyFriendlyName "only active within specified difference" + bool m_bActiveRange; // 0x19c + // MPropertyFriendlyName "also set ouput to previous particle" + bool m_bSetPreviousParticle; // 0x19d +}; + +// Alignment: 3 +// Size: 0x1b0 +class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nCP1; // 0x190 + // MPropertyFriendlyName "control point offset" + // MVectorIsCoordinate + Vector m_vecCP1Pos; // 0x194 + // MPropertyFriendlyName "use hmd orientation" + bool m_bOrientToHMD; // 0x1a0 +}; + +// Alignment: 3 +// Size: 0x190 +class C_OP_ClampScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x184 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x188 +}; + +// Alignment: 13 +// Size: 0x240 +class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "collision group" + char m_CollisionGroupName[128]; // 0x180 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x200 + // MPropertyFriendlyName "minimum velocity" + // MVectorIsCoordinate + Vector m_vecOutputMin; // 0x204 + // MPropertyFriendlyName "maximum velocity" + // MVectorIsCoordinate + Vector m_vecOutputMax; // 0x210 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x21c + // MPropertyFriendlyName "per particle world collision tests" + bool m_bPerParticle; // 0x220 + // MPropertyFriendlyName "offset instead of accelerate" + bool m_bTranslate; // 0x221 + // MPropertyFriendlyName "offset proportional to radius 0/1" + bool m_bProportional; // 0x222 +private: + [[maybe_unused]] uint8_t __pad0223[0x1]; // 0x223 +public: + // MPropertyFriendlyName "trace length" + float m_flTraceLength; // 0x224 + // MPropertyFriendlyName "use radius for per particle trace length" + bool m_bPerParticleTR; // 0x228 + // MPropertyFriendlyName "inherit from parent" + bool m_bInherit; // 0x229 +private: + [[maybe_unused]] uint8_t __pad022a[0x2]; // 0x22a +public: + // MPropertyFriendlyName "control points to broadcast to children (n + 1)" + int32_t m_nChildCP; // 0x22c + // MPropertyFriendlyName "child group ID to affect" + int32_t m_nChildGroupID; // 0x230 +}; + +// Alignment: 4 +// Size: 0x280 +class C_OP_LerpScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "value to lerp to" + CPerParticleFloatInput m_flOutput; // 0x188 + // MPropertyFriendlyName "start time" + float m_flStartTime; // 0x270 + // MPropertyFriendlyName "end time" + float m_flEndTime; // 0x274 +}; + +// Alignment: 5 +// Size: 0x360 +class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nSnapshotControlPointNumber; // 0x184 + // MPropertyFriendlyName "set normal" + bool m_bSetNormal; // 0x188 +private: + [[maybe_unused]] uint8_t __pad0189[0x7]; // 0x189 +public: + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x190 + // MPropertyFriendlyName "Snapshot Index T Value" + CPerParticleFloatInput m_flTValue; // 0x278 +}; + +// Alignment: 8 +// Size: 0x650 +class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "force to be inside model" + int32_t m_nForceInModel; // 0x184 + // MPropertyFriendlyName "desired hitbox" + int32_t m_nDesiredHitbox; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: + // MPropertyFriendlyName "model hitbox scale" + CParticleCollectionVecInput m_vecHitBoxScale; // 0x190 + // MPropertyFriendlyName "direction bias" + // MVectorIsCoordinate + Vector m_vecDirectionBias; // 0x5c0 + // MPropertyFriendlyName "maintain existing hitbox" + bool m_bMaintainHitbox; // 0x5cc + // MPropertyFriendlyName "use bones instead of hitboxes" + bool m_bUseBones; // 0x5cd + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0x5ce +}; + +// Alignment: 3 +// Size: 0x5c0 +class C_INIT_InitVec : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "value" + CPerParticleVecInput m_InputValue; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nOutputField; // 0x5b0 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x5b4 +}; + +// Alignment: 1 +// Size: 0x190 +class C_OP_AlphaDecay : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "minimum alpha" + float m_flMinAlpha; // 0x180 +}; + +// Alignment: 8 +// Size: 0x1a0 +class C_OP_SequenceFromModel : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "current anim time output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x188 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x18c + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x190 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x194 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x198 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x19c +}; + +// Alignment: 3 +// Size: 0x440 +class C_OP_ColorAdjustHSL : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "hue adjust" + CPerParticleFloatInput m_flHueAdjust; // 0x180 + // MPropertyFriendlyName "saturation adjust" + CPerParticleFloatInput m_flSaturationAdjust; // 0x268 + // MPropertyFriendlyName "lightness adjust" + CPerParticleFloatInput m_flLightnessAdjust; // 0x350 +}; + +// Alignment: 6 +// Size: 0x1a0 +class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "start fade in time" + float m_flStartFadeInTime; // 0x180 + // MPropertyFriendlyName "end fade in time" + float m_flEndFadeInTime; // 0x184 + // MPropertyFriendlyName "start fade out time" + float m_flStartFadeOutTime; // 0x188 + // MPropertyFriendlyName "end fade out time" + float m_flEndFadeOutTime; // 0x18c + // MPropertyFriendlyName "start alpha" + float m_flStartAlpha; // 0x190 + // MPropertyFriendlyName "end alpha" + float m_flEndAlpha; // 0x194 +}; + +// Alignment: 6 +// Size: 0x1a0 +class C_OP_Noise : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x184 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x188 + // MPropertyFriendlyName "noise coordinate scale" + float m_fl4NoiseScale; // 0x18c + // MPropertyFriendlyName "additive" + bool m_bAdditive; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191 +public: + // MPropertyFriendlyName "Noise animation time scale" + float m_flNoiseAnimationTimeScale; // 0x194 +}; + +// Alignment: 2 +// Size: 0x350 +class C_OP_CollideWithSelf : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "particle radius scale" + CPerParticleFloatInput m_flRadiusScale; // 0x180 + // MPropertyFriendlyName "minimum speed for check" + CPerParticleFloatInput m_flMinimumSpeed; // 0x268 +}; + +// Alignment: 4 +// Size: 0x190 +class C_OP_LagCompensation : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "desired velocity CP" + int32_t m_nDesiredVelocityCP; // 0x180 + // MPropertyFriendlyName "latency CP" + int32_t m_nLatencyCP; // 0x184 + // MPropertyFriendlyName "latency CP field" + int32_t m_nLatencyCPField; // 0x188 + // MPropertyFriendlyName "desired velocity CP field override(for speed only)" + int32_t m_nDesiredVelocityCPField; // 0x18c +}; + +// Alignment: 17 +// Size: 0x1c0 +class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nSnapshotControlPointNumber; // 0x180 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x184 + // MPropertyFriendlyName "random order" + bool m_bRandom; // 0x188 +private: + [[maybe_unused]] uint8_t __pad0189[0x3]; // 0x189 +public: + // MPropertyFriendlyName "random seed" + int32_t m_nRandomSeed; // 0x18c + // MPropertyFriendlyName "prepare for rigid lock" + bool m_bRigid; // 0x190 + // MPropertyFriendlyName "set normal" + bool m_bSetNormal; // 0x191 + // MPropertyFriendlyName "normal velocity ignore delta time" + bool m_bIgnoreDt; // 0x192 +private: + [[maybe_unused]] uint8_t __pad0193[0x1]; // 0x193 +public: + // MPropertyFriendlyName "normal velocity min" + float m_flMinNormalVelocity; // 0x194 + // MPropertyFriendlyName "normal velocity max" + float m_flMaxNormalVelocity; // 0x198 + // MPropertyFriendlyName "particle increment amount" + float m_flIncrement; // 0x19c + // MPropertyFriendlyName "Full Loop Increment Amount" + int32_t m_nFullLoopIncrement; // 0x1a0 + // MPropertyFriendlyName "Snapshot start point" + int32_t m_nSnapShotStartPoint; // 0x1a4 + // MPropertyFriendlyName "inherited bone velocity" + float m_flBoneVelocity; // 0x1a8 + // MPropertyFriendlyName "max inherited bone velocity" + float m_flBoneVelocityMax; // 0x1ac + // MPropertyFriendlyName "Set Color" + bool m_bCopyColor; // 0x1b0 + // MPropertyFriendlyName "Set Alpha" + bool m_bCopyAlpha; // 0x1b1 + // MPropertyFriendlyName "Set Radius" + bool m_bCopyRadius; // 0x1b2 +}; + +// Alignment: 0 +// Size: 0x1d0 +class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0xe8 +class CPerParticleFloatInput : public CParticleFloatInput +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x190 +class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point to set" + int32_t m_nFirstControlPoint; // 0x180 + // MPropertyFriendlyName "Second Control point to set" + int32_t m_nSecondControlPoint; // 0x184 +}; + +// Alignment: 1 +// Size: 0x4 +class PARTICLE_EHANDLE__ +{ +public: + int32_t unused; // 0x0 +}; + +// Alignment: 0 +// Size: 0x1b0 +class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x8 +class IParticleEffect +{ +public: + // no members available +}; + +// Alignment: 5 +// Size: 0x1a0 +class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "inherited velocity scale" + float m_flVelocityScale; // 0x180 + // MPropertyFriendlyName "particle increment amount" + float m_flIncrement; // 0x184 + // MPropertyFriendlyName "random parent particle distribution" + bool m_bRandomDistribution; // 0x188 +private: + [[maybe_unused]] uint8_t __pad0189[0x3]; // 0x189 +public: + // MPropertyFriendlyName "random seed" + int32_t m_nRandomSeed; // 0x18c + // MPropertyFriendlyName "sub frame interpolation" + bool m_bSubFrame; // 0x190 +}; + +// Alignment: 4 +// Size: 0x6a0 +class C_OP_SetVec : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "value" + CPerParticleVecInput m_InputValue; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nOutputField; // 0x5b0 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x5b4 + // MPropertyFriendlyName "interpolation" + CPerParticleFloatInput m_Lerp; // 0x5b8 +}; + +// Alignment: 3 +// Size: 0x1a0 +class C_OP_MovementMaintainOffset : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "desired offset" + // MVectorIsCoordinate + Vector m_vecOffset; // 0x180 + // MPropertyFriendlyName "local space CP" + int32_t m_nCP; // 0x18c + // MPropertyFriendlyName "scale by radius" + bool m_bRadiusScale; // 0x190 +}; + +// Alignment: 0 +// Size: 0x1e0 +class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed +{ +public: + // no members available +}; + +// Alignment: 14 +// Size: 0x740 +class C_OP_LockToBone : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control_point_number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "lifetime fade start" + float m_flLifeTimeFadeStart; // 0x184 + // MPropertyFriendlyName "lifetime fade end" + float m_flLifeTimeFadeEnd; // 0x188 + // MPropertyFriendlyName "instant jump threshold" + float m_flJumpThreshold; // 0x18c + // MPropertyFriendlyName "previous position scale" + float m_flPrevPosScale; // 0x190 + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0x194 + // MPropertyFriendlyName "rigid lock" + bool m_bRigid; // 0x214 + // MPropertyFriendlyName "use bones instead of hitboxes" + bool m_bUseBones; // 0x215 +private: + [[maybe_unused]] uint8_t __pad0216[0x2]; // 0x216 +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 + // MPropertyFriendlyName "output field prev" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x21c + // MPropertyStartGroup "Set Rotations to Bones" + // MPropertyFriendlyName "lock rotations to bone orientation" + ParticleRotationLockType_t m_nRotationSetType; // 0x220 + // MPropertyFriendlyName "rigid set rotation from bones" + bool m_bRigidRotationLock; // 0x224 +private: + [[maybe_unused]] uint8_t __pad0225[0x3]; // 0x225 +public: + // MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll" + CPerParticleVecInput m_vecRotation; // 0x228 + // MPropertyFriendlyName "rigid rotation interpolation" + CPerParticleFloatInput m_flRotLerp; // 0x658 +}; + +// Alignment: 11 +// Size: 0x1e0 +class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "start value" + Vector m_vStartValue; // 0x180 + // MPropertyFriendlyName "input field 1" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput1; // 0x18c + // MPropertyFriendlyName "input scale 1" + float m_flInputScale1; // 0x190 + // MPropertyFriendlyName "input field 2" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput2; // 0x194 + // MPropertyFriendlyName "input scale 2" + float m_flInputScale2; // 0x198 + // MPropertyFriendlyName "control point input 1" + ControlPointReference_t m_nControlPointInput1; // 0x19c + // MPropertyFriendlyName "control point scale 1" + float m_flControlPointScale1; // 0x1b0 + // MPropertyFriendlyName "control point input 2" + ControlPointReference_t m_nControlPointInput2; // 0x1b4 + // MPropertyFriendlyName "control point scale 2" + float m_flControlPointScale2; // 0x1c8 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1cc + // MPropertyFriendlyName "final per component scale" + Vector m_vFinalOutputScale; // 0x1d0 +}; + +// Alignment: 4 +// Size: 0x190 +class C_OP_RemapCPOrientationToYaw : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nCP; // 0x180 + // MPropertyFriendlyName "rotation field" + // MPropertyAttributeChoiceName "particlefield_rotation" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "rotation offset" + float m_flRotOffset; // 0x188 + // MPropertyFriendlyName "spin strength" + float m_flSpinStrength; // 0x18c +}; + +// Alignment: 3 +// Size: 0x190 +class C_OP_DampenToCP : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "falloff range" + float m_flRange; // 0x184 + // MPropertyFriendlyName "dampen scale" + float m_flScale; // 0x188 +}; + +// Alignment: 9 +// Size: 0xd90 +class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "first vector" + CPerParticleVecInput m_vecPoint1; // 0x188 + // MPropertyFriendlyName "second vector" + CPerParticleVecInput m_vecPoint2; // 0x5b8 + // MPropertyFriendlyName "distance minimum" + CPerParticleFloatInput m_flInputMin; // 0x9e8 + // MPropertyFriendlyName "distance maximum" + CPerParticleFloatInput m_flInputMax; // 0xad0 + // MPropertyFriendlyName "output minimum" + CPerParticleFloatInput m_flOutputMin; // 0xbb8 + // MPropertyFriendlyName "output maximum" + CPerParticleFloatInput m_flOutputMax; // 0xca0 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0xd88 + // MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)" + bool m_bDeltaTime; // 0xd8c +}; + +// Alignment: 6 +// Size: 0x1b0 +class CGeneralRandomRotation : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "yaw offset min" + float m_flDegreesMin; // 0x180 + // MPropertyFriendlyName "yaw offset max" + float m_flDegreesMax; // 0x184 + // MPropertyFriendlyName "yaw initial" + float m_flDegrees; // 0x188 + // MPropertyFriendlyName "rotation field" + // MPropertyAttributeChoiceName "particlefield_rotation" + ParticleAttributeIndex_t m_nFieldOutput; // 0x18c +private: + [[maybe_unused]] uint8_t __pad0190[0xc]; // 0x190 +public: + // MPropertyFriendlyName "yaw random exponent" + float m_flRotationRandExponent; // 0x19c + // MPropertyFriendlyName "randomly flip direction" + bool m_bRandomlyFlipDirection; // 0x1a0 +}; + +// Alignment: 3 +// Size: 0x190 +class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Input Vector" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput; // 0x180 + // MPropertyFriendlyName "Output Scalar" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "Vector Component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nComponent; // 0x188 +}; + +// Alignment: 8 +// Size: 0x1b0 +class C_INIT_AgeNoise : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "absolute value" + bool m_bAbsVal; // 0x180 + // MPropertyFriendlyName "invert absolute value" + bool m_bAbsValInv; // 0x181 +private: + [[maybe_unused]] uint8_t __pad0182[0x2]; // 0x182 +public: + // MPropertyFriendlyName "time coordinate offset" + float m_flOffset; // 0x184 + // MPropertyFriendlyName "start age minimum" + float m_flAgeMin; // 0x188 + // MPropertyFriendlyName "start age maximum" + float m_flAgeMax; // 0x18c + // MPropertyFriendlyName "time noise coordinate scale" + float m_flNoiseScale; // 0x190 + // MPropertyFriendlyName "spatial noise coordinate scale" + float m_flNoiseScaleLoc; // 0x194 + // MPropertyFriendlyName "spatial coordinate offset" + // MVectorIsCoordinate + Vector m_vecOffsetLoc; // 0x198 +}; + +// Alignment: 1 +// Size: 0x18 +struct PointDefinitionWithTimeValues_t : public PointDefinition_t +{ +public: + // MPropertyFriendlyName "Duration value for path point" + float m_flTimeDuration; // 0x14 +}; + +// Alignment: 4 +// Size: 0x380 +class C_OP_SetFloatCollection : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "value" + CParticleCollectionFloatInput m_InputValue; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nOutputField; // 0x268 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x26c + // MPropertyFriendlyName "interpolation" + CParticleCollectionFloatInput m_Lerp; // 0x270 +}; + +// Alignment: 2 +// Size: 0x190 +class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "sequence min" + // MPropertyAttributeEditor "SequencePicker( 2 )" + int32_t m_nSequenceMin; // 0x180 + // MPropertyFriendlyName "sequence max" + // MPropertyAttributeEditor "SequencePicker( 2 )" + int32_t m_nSequenceMax; // 0x184 +}; + +// Alignment: 5 +// Size: 0x1a0 +class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "scale" + float m_flScale; // 0x180 + // MPropertyFriendlyName "inherited field" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "particle increment amount" + int32_t m_nIncrement; // 0x188 + // MPropertyFriendlyName "random parent particle distribution" + bool m_bRandomDistribution; // 0x18c +private: + [[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d +public: + // MPropertyFriendlyName "behavior if parent particle dies" + MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x190 +}; + +// Alignment: 0 +// Size: 0x1b0 +class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation +{ +public: + // no members available +}; + +// Alignment: 4 +// Size: 0x9f0 +class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input vector 1" + CPerParticleVecInput m_InputVec1; // 0x180 + // MPropertyFriendlyName "input vector 2" + CPerParticleVecInput m_InputVec2; // 0x5b0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x9e0 + // MPropertyFriendlyName "normalize output" + bool m_bNormalize; // 0x9e4 +}; + +// Alignment: 2 +// Size: 0x190 +class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input control point" + int32_t m_nInputControlPoint; // 0x180 + // MPropertyFriendlyName "output control point" + int32_t m_nOutputControlPoint; // 0x184 +}; + +// Alignment: 16 +// Size: 0x330 +class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "offset" + CPerParticleFloatInput m_flOffset; // 0x180 + // MPropertyFriendlyName "max trace length" + float m_flMaxTraceLength; // 0x268 + // MPropertyFriendlyName "CP movement tolerance" + float m_flTolerance; // 0x26c + // MPropertyFriendlyName "trace offset" + float m_flTraceOffset; // 0x270 + // MPropertyFriendlyName "interpolation rate" + float m_flLerpRate; // 0x274 + // MPropertyFriendlyName "collision group" + char m_CollisionGroupName[128]; // 0x278 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x2f8 + // MPropertyFriendlyName "reference CP 1" + int32_t m_nRefCP1; // 0x2fc + // MPropertyFriendlyName "reference CP 2" + int32_t m_nRefCP2; // 0x300 + // MPropertyFriendlyName "interploation distance tolerance cp" + int32_t m_nLerpCP; // 0x304 +private: + [[maybe_unused]] uint8_t __pad0308[0x8]; // 0x308 +public: + // MPropertyFriendlyName "No Collision Behavior" + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x310 + // MPropertyFriendlyName "include water" + bool m_bIncludeWater; // 0x314 +private: + [[maybe_unused]] uint8_t __pad0315[0x2]; // 0x315 +public: + // MPropertyFriendlyName "set normal" + bool m_bSetNormal; // 0x317 + // MPropertyFriendlyName "treat offset as scalar of particle radius" + bool m_bScaleOffset; // 0x318 +private: + [[maybe_unused]] uint8_t __pad0319[0x3]; // 0x319 +public: + // MPropertyFriendlyName "preserve initial Z-offset relative to cp" + int32_t m_nPreserveOffsetCP; // 0x31c + // MPropertyFriendlyName "CP Entity to Ignore for Collisions" + int32_t m_nIgnoreCP; // 0x320 +}; + +// Alignment: 5 +// Size: 0x1b0 +class C_OP_LockToPointList : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "point list" + CUtlVector< PointDefinition_t > m_pointList; // 0x188 + // MPropertyFriendlyName "space points along path" + bool m_bPlaceAlongPath; // 0x1a0 + // MPropertyFriendlyName "Treat path as a loop" + bool m_bClosedLoop; // 0x1a1 +private: + [[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2 +public: + // MPropertyFriendlyName "Numer of points along path" + int32_t m_nNumPointsAlongPath; // 0x1a4 +}; + +// Alignment: 6 +// Size: 0x290 +class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "CP to point towards" + int32_t m_nInputCP; // 0x190 + // MPropertyFriendlyName "CP to set" + int32_t m_nOutputCP; // 0x194 + // MPropertyFriendlyName "Interpolation" + CParticleCollectionFloatInput m_flInterpolation; // 0x198 + // MPropertyFriendlyName "2D Orient" + bool m_b2DOrientation; // 0x280 + // MPropertyFriendlyName "Avoid Vertical Axis Singularity" + bool m_bAvoidSingularity; // 0x281 + // MPropertyFriendlyName "Point Away" + bool m_bPointAway; // 0x282 +}; + +// Alignment: 1 +// Size: 0x190 +class C_OP_VelocityDecay : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "minimum velocity" + float m_flMinVelocity; // 0x180 +}; + +// Alignment: 3 +// Size: 0x1a0 +class C_OP_LerpEndCapVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "value to lerp to" + // MVectorIsSometimesCoordinate + Vector m_vecOutput; // 0x184 + // MPropertyFriendlyName "lerp time" + float m_flLerpTime; // 0x190 +}; + +// Alignment: 0 +// Size: 0x1b0 +class C_INIT_RandomRotation : public CGeneralRandomRotation +{ +public: + // no members available +}; + +// Alignment: 4 +// Size: 0x360 +class C_OP_LerpToInitialPosition : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x188 + // MPropertyFriendlyName "position cache attribute" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nCacheField; // 0x270 +private: + [[maybe_unused]] uint8_t __pad0274[0x4]; // 0x274 +public: + // MPropertyFriendlyName "scale" + CParticleCollectionFloatInput m_flScale; // 0x278 +}; + +// Alignment: 2 +// Size: 0x1e0 +class C_OP_RenderText : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "outline color" + Color m_OutlineColor; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 +public: + // MPropertyFriendlyName "default text" + CUtlString m_DefaultText; // 0x1d8 +}; + +// Alignment: 4 +// Size: 0x1a0 +class C_INIT_RemapCPOrientationToRotations : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x180 + // MPropertyFriendlyName "offset pitch/yaw/roll" + Vector m_vecRotation; // 0x184 + // MPropertyFriendlyName "Use Quaternians Internally" + bool m_bUseQuat; // 0x190 + // MPropertyFriendlyName "Write normal instead of rotation" + bool m_bWriteNormal; // 0x191 +}; + +// Alignment: 5 +// Size: 0x360 +class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "read field" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldInput; // 0x180 + // MPropertyFriendlyName "written field" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "particle increment amount" + int32_t m_nIncrement; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: + // MPropertyFriendlyName "maximum distance" + CPerParticleFloatInput m_DistanceCheck; // 0x190 + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x278 +}; + +// Alignment: 2 +// Size: 0x8 +struct SequenceWeightedList_t +{ +public: + // MPropertyFriendlyName "sequence" + // MPropertyAttributeEditor "SequencePicker( 1 )" + int32_t m_nSequence; // 0x0 + // MPropertyFriendlyName "weight" + float m_flRelativeWeight; // 0x4 +}; + +// Alignment: 1 +// Size: 0x190 +class C_INIT_RandomYawFlip : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "flip percentage" + float m_flPercent; // 0x180 +}; + +// Alignment: 4 +// Size: 0x190 +class C_OP_Cull : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "cull percentage" + float m_flCullPerc; // 0x180 + // MPropertyFriendlyName "cull start time" + float m_flCullStart; // 0x184 + // MPropertyFriendlyName "cull end time" + float m_flCullEnd; // 0x188 + // MPropertyFriendlyName "cull time exponent" + float m_flCullExp; // 0x18c +}; + +// Alignment: 1 +// Size: 0x190 +class C_OP_NormalLock : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 +}; + +// Alignment: 4 +// Size: 0x1d0 +class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "start fade time" + float m_flFadeStart; // 0x180 + // MPropertyFriendlyName "end fade time" + float m_flFadeEnd; // 0x184 + // MPropertyFriendlyName "Use sequential CP pairs between start and end point" + bool m_bCPPairs; // 0x188 +private: + [[maybe_unused]] uint8_t __pad0189[0x7]; // 0x189 +public: + CPathParameters m_PathParams; // 0x190 +}; + +// Alignment: 2 +// Size: 0x438 +struct VecInputMaterialVariable_t +{ +public: + // MPropertyFriendlyName "material variable" + CUtlString m_strVariable; // 0x0 + // MPropertyFriendlyName "input" + CParticleCollectionVecInput m_vecInput; // 0x8 +}; + +// Alignment: 6 +// Size: 0x1e0 +class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "maximum distance" + float m_fMaxDistance; // 0x180 + // MPropertyFriendlyName "particles to map from start to end" + float m_flNumToAssign; // 0x184 + // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" + bool m_bLoop; // 0x188 + // MPropertyFriendlyName "use sequential CP pairs between start and end point" + bool m_bCPPairs; // 0x189 + // MPropertyFriendlyName "save offset" + bool m_bSaveOffset; // 0x18a +private: + [[maybe_unused]] uint8_t __pad018b[0x5]; // 0x18b +public: + CPathParameters m_PathParams; // 0x190 +}; + +// Alignment: 7 +// Size: 0x1a0 +class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "visibility minimum" + float m_flInputMin; // 0x188 + // MPropertyFriendlyName "visibility maximum" + float m_flInputMax; // 0x18c + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x190 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x194 + // MPropertyFriendlyName "radius scale" + float m_flRadiusScale; // 0x198 +}; + +// Alignment: 0 +// Size: 0x1d0 +class C_OP_RenderClothForce : public CParticleFunctionRenderer +{ +public: + // no members available +}; + +// Alignment: 6 +// Size: 0x1a0 +class C_OP_RestartAfterDuration : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "minimum restart time" + float m_flDurationMin; // 0x180 + // MPropertyFriendlyName "maximum restart time" + float m_flDurationMax; // 0x184 + // MPropertyFriendlyName "control point to scale duration" + int32_t m_nCP; // 0x188 + // MPropertyFriendlyName "control point field X/Y/Z" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nCPField; // 0x18c + // MPropertyFriendlyName "child group ID" + int32_t m_nChildGroupID; // 0x190 + // MPropertyFriendlyName "only restart children" + bool m_bOnlyChildren; // 0x194 +}; + +// Alignment: 14 +// Size: 0xd30 +class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "use bones instead of hitboxes" + bool m_bUseBones; // 0x180 + // MPropertyFriendlyName "force creation height to desired height" + bool m_bForceZ; // 0x181 +private: + [[maybe_unused]] uint8_t __pad0182[0x2]; // 0x182 +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x184 + // MPropertyFriendlyName "height override control point number" + int32_t m_nHeightCP; // 0x188 + // MPropertyFriendlyName "desired height is relative to water" + bool m_bUseWaterHeight; // 0x18c +private: + [[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d +public: + // MPropertyFriendlyName "relative desired height" + CParticleCollectionFloatInput m_flDesiredHeight; // 0x190 + // MPropertyFriendlyName "model hitbox scale" + CParticleCollectionVecInput m_vecHitBoxScale; // 0x278 + // MPropertyFriendlyName "direction bias" + // MVectorIsCoordinate + CParticleCollectionVecInput m_vecDirectionBias; // 0x6a8 + // MPropertyFriendlyName "bias type" + ParticleHitboxBiasType_t m_nBiasType; // 0xad8 + // MPropertyFriendlyName "bias in local space" + bool m_bLocalCoords; // 0xadc + // MPropertyFriendlyName "bias prefers moving hitboxes" + bool m_bPreferMovingBoxes; // 0xadd + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0xade +private: + [[maybe_unused]] uint8_t __pad0b5e[0x2]; // 0xb5e +public: + // MPropertyFriendlyName "hitbox velocity inherited scale" + CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xb60 + // MPropertyFriendlyName "max hitbox velocity" + CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0xc48 +}; + +// Alignment: 3 +// Size: 0x190 +class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "min" + float m_flMin; // 0x180 + // MPropertyFriendlyName "max" + float m_flMax; // 0x184 + // MPropertyFriendlyName "exponent" + float m_flExponent; // 0x188 +}; + +// Alignment: 3 +// Size: 0x190 +class C_OP_VelocityMatchingForce : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "direction matching strength" + float m_flDirScale; // 0x180 + // MPropertyFriendlyName "speed matching strength" + float m_flSpdScale; // 0x184 + // MPropertyFriendlyName "control point to broadcast speed and direction to" + int32_t m_nCPBroadcast; // 0x188 +}; + +// Alignment: 3 +// Size: 0x1b0 +class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x190 + // MPropertyFriendlyName "ramp rate min" + Vector m_vecRateMin; // 0x194 + // MPropertyFriendlyName "ramp rate max" + Vector m_vecRateMax; // 0x1a0 +}; + +// Alignment: 10 +// Size: 0x700 +class C_INIT_CreateOnGrid : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "X Dimension Count" + CParticleCollectionFloatInput m_nXCount; // 0x180 + // MPropertyFriendlyName "Y Dimension Count" + CParticleCollectionFloatInput m_nYCount; // 0x268 + // MPropertyFriendlyName "Z Dimension Count" + CParticleCollectionFloatInput m_nZCount; // 0x350 + // MPropertyFriendlyName "X Dimension Spacing" + CParticleCollectionFloatInput m_nXSpacing; // 0x438 + // MPropertyFriendlyName "Y Dimension Spacing" + CParticleCollectionFloatInput m_nYSpacing; // 0x520 + // MPropertyFriendlyName "Z Dimension Spacing" + CParticleCollectionFloatInput m_nZSpacing; // 0x608 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x6f0 + // MPropertyFriendlyName "use local space" + bool m_bLocalSpace; // 0x6f4 + // MPropertyFriendlyName "center around control point" + bool m_bCenter; // 0x6f5 + // MPropertyFriendlyName "hollow" + bool m_bHollow; // 0x6f6 +}; + +// Alignment: 1 +// Size: 0x1e0 +class C_OP_RenderPoints : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "material" + // MPropertyAttributeEditor "AssetBrowse( vmat )" + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x1d0 +}; + +// Alignment: 7 +// Size: 0x1c0 +class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "color1" + Color m_ColorMin; // 0x198 + // MPropertyFriendlyName "color2" + Color m_ColorMax; // 0x19c + // MPropertyFriendlyName "tint clamp min" + Color m_TintMin; // 0x1a0 + // MPropertyFriendlyName "tint clamp max" + Color m_TintMax; // 0x1a4 + // MPropertyFriendlyName "light bias" + float m_flTintPerc; // 0x1a8 + // MPropertyFriendlyName "tint blend mode" + ParticleColorBlendMode_t m_nTintBlendMode; // 0x1ac + // MPropertyFriendlyName "light amplification amount" + float m_flLightAmplification; // 0x1b0 +}; + +// Alignment: 24 +// Size: 0x1a00 +class C_OP_RenderSprites : public CBaseRendererSource2 +{ +public: + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "sequence id override" + // MPropertySortPriority "500" + CParticleCollectionFloatInput m_nSequenceOverride; // 0x16f0 + // MPropertyStartGroup "Orientation" + // MPropertyFriendlyName "orientation type" + // MPropertySortPriority "750" + ParticleOrientationChoiceList_t m_nOrientationType; // 0x17d8 + // 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; // 0x17dc + // 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; // 0x17e0 +private: + [[maybe_unused]] uint8_t __pad17e1[0x3]; // 0x17e1 +public: + // MPropertyStartGroup "Fading and culling" + // MPropertyFriendlyName "minimum visual size" + // MPropertySortPriority "1000" + float m_flMinSize; // 0x17e4 + // MPropertyFriendlyName "maximum visual size" + // MPropertySortPriority "1000" + float m_flMaxSize; // 0x17e8 + // MPropertyFriendlyName "Factor to map size adjustment to alpha" + // MPropertySortPriority "1000" + float m_flAlphaAdjustWithSizeAdjust; // 0x17ec + // MPropertyStartGroup + // MPropertyFriendlyName "size at which to start fading" + // MPropertySortPriority "1000" + CParticleCollectionFloatInput m_flStartFadeSize; // 0x17f0 + // MPropertyFriendlyName "size at which to fade away" + // MPropertySortPriority "1000" + CParticleCollectionFloatInput m_flEndFadeSize; // 0x18d8 + // MPropertyStartGroup "Fading and culling" + // MPropertyFriendlyName "start dot product value for fading as the particle normal becomes aligned with the view vector" + // MPropertySortPriority "1000" + float m_flStartFadeDot; // 0x19c0 + // MPropertyFriendlyName "end dot product value for fading as the particle normal becomes aligned with the view vector" + // MPropertySortPriority "1000" + float m_flEndFadeDot; // 0x19c4 + // MPropertyStartGroup "Distance to alpha coding" + // MPropertyFriendlyName "distance alpha" + // MPropertySortPriority "0" + bool m_bDistanceAlpha; // 0x19c8 + // MPropertyFriendlyName "use soft edges for distance alpha" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bDistanceAlpha" + bool m_bSoftEdges; // 0x19c9 +private: + [[maybe_unused]] uint8_t __pad19ca[0x2]; // 0x19ca +public: + // MPropertyFriendlyName "start value for soft edges for distance alpha" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bDistanceAlpha" + float m_flEdgeSoftnessStart; // 0x19cc + // MPropertyFriendlyName "end value for soft edges for distance alpha" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bDistanceAlpha" + float m_flEdgeSoftnessEnd; // 0x19d0 + // MPropertyStartGroup "Outlining" + // MPropertyFriendlyName "enable particle outlining" + // MPropertySortPriority "0" + bool m_bOutline; // 0x19d4 + // MPropertyFriendlyName "outline color" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + Color m_OutlineColor; // 0x19d5 +private: + [[maybe_unused]] uint8_t __pad19d9[0x3]; // 0x19d9 +public: + // MPropertyFriendlyName "outline alpha" + // MPropertyAttributeRange "0 255" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + int32_t m_nOutlineAlpha; // 0x19dc + // MPropertyFriendlyName "outline start 0" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + float m_flOutlineStart0; // 0x19e0 + // MPropertyFriendlyName "outline start 1" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + float m_flOutlineStart1; // 0x19e4 + // MPropertyFriendlyName "outline end 0" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + float m_flOutlineEnd0; // 0x19e8 + // MPropertyFriendlyName "outline end 1" + // MPropertySortPriority "0" + // MPropertySuppressExpr "!m_bOutline" + float m_flOutlineEnd1; // 0x19ec + // MPropertyStartGroup "Lighting and Shadows" + // MPropertyFriendlyName "Particle Shadows" + // MPropertySortPriority "400" + bool m_bParticleShadows; // 0x19f0 +private: + [[maybe_unused]] uint8_t __pad19f1[0x3]; // 0x19f1 +public: + // MPropertyFriendlyName "Shadow Density" + // MPropertySortPriority "400" + // MPropertySuppressExpr "!m_bParticleShadows" + float m_flShadowDensity; // 0x19f4 +}; + +// Alignment: 1 +// Size: 0x270 +class C_OP_DecayClampCount : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Maximum Count" + CParticleCollectionFloatInput m_nCount; // 0x180 +}; + +// Alignment: 7 +// Size: 0x200 +class C_OP_RenderLights : public C_OP_RenderPoints +{ +public: + // MPropertyFriendlyName "animation rate" + float m_flAnimationRate; // 0x1e0 + // MPropertyFriendlyName "animation type" + AnimationType_t m_nAnimationType; // 0x1e4 + // MPropertyFriendlyName "set animation value in FPS" + bool m_bAnimateInFPS; // 0x1e8 +private: + [[maybe_unused]] uint8_t __pad01e9[0x3]; // 0x1e9 +public: + // MPropertyFriendlyName "minimum visual size" + float m_flMinSize; // 0x1ec + // MPropertyFriendlyName "maximum visual size" + float m_flMaxSize; // 0x1f0 + // MPropertyFriendlyName "size at which to start fading" + float m_flStartFadeSize; // 0x1f4 + // MPropertyFriendlyName "size at which to fade away" + float m_flEndFadeSize; // 0x1f8 +}; + +// Alignment: 0 +// Size: 0x1d0 +class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar +{ +public: + // no members available +}; + +// Alignment: 6 +// Size: 0x1c0 +class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "color fade min" + Color m_ColorFadeMin; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x18]; // 0x184 +public: + // MPropertyFriendlyName "color fade max" + Color m_ColorFadeMax; // 0x19c +private: + [[maybe_unused]] uint8_t __pad01a0[0xc]; // 0x1a0 +public: + // MPropertyFriendlyName "fade start time" + float m_flFadeStartTime; // 0x1ac + // MPropertyFriendlyName "fade end time" + float m_flFadeEndTime; // 0x1b0 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + // MPropertyFriendlyName "ease in and out" + bool m_bEaseInOut; // 0x1b8 +}; + +// Alignment: 7 +// Size: 0x290 +class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0x180 + // MPropertyFriendlyName "attachment to follow" + char m_AttachmentName[128]; // 0x200 + // MPropertyFriendlyName "First control point to set" + int32_t m_nFirstControlPoint; // 0x280 + // MPropertyFriendlyName "# of control points to set" + int32_t m_nNumControlPoints; // 0x284 + // MPropertyFriendlyName "first particle to copy" + int32_t m_nFirstSourcePoint; // 0x288 + // MPropertyFriendlyName "use skinning instead of hitboxes" + bool m_bSkin; // 0x28c + // MPropertyFriendlyName "follow attachment" + bool m_bAttachment; // 0x28d +}; + +// Alignment: 5 +// Size: 0x1f0 +class C_INIT_CreateAlongPath : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "maximum distance" + float m_fMaxDistance; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0xc]; // 0x184 +public: + CPathParameters m_PathParams; // 0x190 + // MPropertyFriendlyName "randomly select sequential CP pairs between start and end points" + bool m_bUseRandomCPs; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 +public: + // MPropertyFriendlyName "Offset from control point for path end" + // MVectorIsCoordinate + Vector m_vEndOffset; // 0x1d4 + // MPropertyFriendlyName "save offset" + bool m_bSaveOffset; // 0x1e0 +}; + +// Alignment: 4 +// Size: 0x1a0 +class C_OP_DistanceCull : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nControlPoint; // 0x180 + // MPropertyFriendlyName "control point offset" + // MVectorIsCoordinate + Vector m_vecPointOffset; // 0x184 + // MPropertyFriendlyName "cull distance" + float m_flDistance; // 0x190 + // MPropertyFriendlyName "cull inside instead of outside" + bool m_bCullInside; // 0x194 +}; + +// Alignment: 8 +// Size: 0x1e0 +class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "minimum distance" + float m_fMinDistance; // 0x180 + // MPropertyFriendlyName "maximum distance" + float m_flMaxDistance0; // 0x184 + // MPropertyFriendlyName "maximum distance middle" + float m_flMaxDistanceMid; // 0x188 + // MPropertyFriendlyName "maximum distance end" + float m_flMaxDistance1; // 0x18c + CPathParameters m_PathParameters; // 0x190 + // MPropertyFriendlyName "travel time" + float m_flTravelTime; // 0x1d0 + // MPropertyFriendlyName "travel time scale field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldScale; // 0x1d4 + // MPropertyFriendlyName "manual time placement field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nManualTField; // 0x1d8 +}; + +// Alignment: 4 +// Size: 0x1b0 +class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nCP1; // 0x190 + // MPropertyFriendlyName "hand" + int32_t m_nHand; // 0x194 + // MPropertyFriendlyName "control point offset" + // MVectorIsCoordinate + Vector m_vecCP1Pos; // 0x198 + // MPropertyFriendlyName "use hand orientation" + bool m_bOrientToHand; // 0x1a4 +}; + +// Alignment: 14 +// Size: 0x250 +class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "starting control point" + int32_t m_nStartCP; // 0x190 + // MPropertyFriendlyName "ending control point" + int32_t m_nEndCP; // 0x194 + // MPropertyFriendlyName "output control point" + int32_t m_nOutputCP; // 0x198 + // MPropertyFriendlyName "output control point field" + int32_t m_nOutputCPField; // 0x19c + // MPropertyFriendlyName "only set distance once" + bool m_bSetOnce; // 0x1a0 +private: + [[maybe_unused]] uint8_t __pad01a1[0x3]; // 0x1a1 +public: + // MPropertyFriendlyName "distance minimum" + float m_flInputMin; // 0x1a4 + // MPropertyFriendlyName "distance maximum" + float m_flInputMax; // 0x1a8 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x1ac + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x1b0 + // MPropertyFriendlyName "maximum trace length" + float m_flMaxTraceLength; // 0x1b4 + // MPropertyFriendlyName "LOS Failure Scale" + float m_flLOSScale; // 0x1b8 + // MPropertyFriendlyName "ensure line of sight" + bool m_bLOS; // 0x1bc + // MPropertyFriendlyName "LOS collision group" + char m_CollisionGroupName[128]; // 0x1bd +private: + [[maybe_unused]] uint8_t __pad023d[0x3]; // 0x23d +public: + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x240 +}; + +// Alignment: 10 +// Size: 0x370 +class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "field to read" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nAttributeToRead; // 0x184 + // MPropertyFriendlyName "field to write" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x188 + // MPropertyFriendlyName "local space control point number" + int32_t m_nLocalSpaceCP; // 0x18c + // MPropertyFriendlyName "random order" + bool m_bRandom; // 0x190 + // MPropertyFriendlyName "reverse order" + bool m_bReverse; // 0x191 +private: + [[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192 +public: + // MPropertyFriendlyName "random seed" + int32_t m_nRandomSeed; // 0x194 + // MPropertyFriendlyName "Snapshot start point" + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x198 + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x280 + // MPropertyFriendlyName "Sub-Sample Between Input Points" + bool m_bSubSample; // 0x368 +}; + +// Alignment: 3 +// Size: 0x190 +class C_OP_RemapVectortoCP : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x180 + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput; // 0x184 + // MPropertyFriendlyName "particle number to read" + int32_t m_nParticleNumber; // 0x188 +}; + +// Alignment: 5 +// Size: 0x1a0 +class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point 0" + int32_t m_nCP0; // 0x180 + // MPropertyFriendlyName "control point 1" + int32_t m_nCP1; // 0x184 + // MPropertyFriendlyName "min distance value" + float m_flMinInputValue; // 0x188 + // MPropertyFriendlyName "max distance value" + float m_flMaxInputValue; // 0x18c + // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" + bool m_bInfiniteLine; // 0x190 +}; + +// Alignment: 4 +// Size: 0x380 +class C_OP_SetFloat : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "value" + CPerParticleFloatInput m_InputValue; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nOutputField; // 0x268 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x26c + // MPropertyFriendlyName "interpolation" + CPerParticleFloatInput m_Lerp; // 0x270 +}; + +// Alignment: 5 +// Size: 0x210 +class C_OP_ModelCull : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "use only bounding box" + bool m_bBoundBox; // 0x184 + // MPropertyFriendlyName "cull outside instead of inside" + bool m_bCullOutside; // 0x185 + // MPropertyFriendlyName "use bones instead of hitboxes" + bool m_bUseBones; // 0x186 + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0x187 +}; + +// Alignment: 3 +// Size: 0x5c0 +class C_OP_LocalAccelerationForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "local space control point" + int32_t m_nCP; // 0x180 + // MPropertyFriendlyName "scale control point" + int32_t m_nScaleCP; // 0x184 + // MPropertyFriendlyName "local space acceleration" + CParticleCollectionVecInput m_vecAccel; // 0x188 +}; + +// Alignment: 15 +// Size: 0x58 +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 +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: 7 +// Size: 0x1a0 +class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "input minimum" + int32_t m_nInputMin; // 0x184 + // MPropertyFriendlyName "input maximum" + int32_t m_nInputMax; // 0x188 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x18c + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x190 + // MPropertyFriendlyName "count back from last particle" + bool m_bBackwards; // 0x194 +private: + [[maybe_unused]] uint8_t __pad0195[0x3]; // 0x195 +public: + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x198 +}; + +// Alignment: 2 +// Size: 0x1a0 +class C_OP_RandomForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "min force" + // MVectorIsCoordinate + Vector m_MinForce; // 0x180 + // MPropertyFriendlyName "max force" + // MVectorIsCoordinate + Vector m_MaxForce; // 0x18c +}; + +// Alignment: 7 +// Size: 0x210 +class C_OP_RenderStatusEffect : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "color warp texture (3d)" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x1d0 + // MPropertyFriendlyName "detail 2 texture" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x1d8 + // MPropertyFriendlyName "diffuse warp texture (3d)" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x1e0 + // MPropertyFriendlyName "fresnel color warp texture (3d)" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x1e8 + // MPropertyFriendlyName "fresnel warp texture" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x1f0 + // MPropertyFriendlyName "specular warp texture" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x1f8 + // MPropertyFriendlyName "environment map texture" + // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x200 +}; + +// Alignment: 5 +// Size: 0x1a0 +class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "visibility minimum" + float m_flInputMin; // 0x188 + // MPropertyFriendlyName "visibility maximum" + float m_flInputMax; // 0x18c + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x190 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x194 +}; + +// Alignment: 5 +// Size: 0x1b0 +class C_INIT_AddVectorToVector : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "component scale factor" + Vector m_vecScale; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x18c + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput; // 0x190 + // MPropertyFriendlyName "random offset min" + Vector m_vOffsetMin; // 0x194 + // MPropertyFriendlyName "random offset max" + Vector m_vOffsetMax; // 0x1a0 +}; + +// Alignment: 2 +// Size: 0x350 +class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "parent particle radius scale" + CPerParticleFloatInput m_flParentRadiusScale; // 0x180 + // MPropertyFriendlyName "particle radius scale" + CPerParticleFloatInput m_flRadiusScale; // 0x268 +}; + +// Alignment: 3 +// Size: 0x280 +class C_INIT_DistanceCull : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nControlPoint; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "cull distance" + CParticleCollectionFloatInput m_flDistance; // 0x188 + // MPropertyFriendlyName "cull inside instead of outside" + bool m_bCullInside; // 0x270 +}; + +// Alignment: 5 +// Size: 0x1c0 +class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "ramp rate" + float m_Rate; // 0x180 + // MPropertyFriendlyName "start time" + float m_flStartTime; // 0x184 + // MPropertyFriendlyName "end time" + float m_flEndTime; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x24]; // 0x18c +public: + // MPropertyFriendlyName "ramp field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x1b0 + // MPropertyFriendlyName "ease out" + bool m_bEaseOut; // 0x1b4 +}; + +// Alignment: 5 +// Size: 0x1b0 +class C_INIT_RandomSequence : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "sequence min" + // MPropertyAttributeEditor "SequencePicker( 1 )" + int32_t m_nSequenceMin; // 0x180 + // MPropertyFriendlyName "sequence max" + // MPropertyAttributeEditor "SequencePicker( 1 )" + int32_t m_nSequenceMax; // 0x184 + // MPropertyFriendlyName "shuffle" + bool m_bShuffle; // 0x188 + // MPropertyFriendlyName "linear" + bool m_bLinear; // 0x189 +private: + [[maybe_unused]] uint8_t __pad018a[0x6]; // 0x18a +public: + // MPropertyFriendlyName "weighted list" + CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x190 +}; + +// Alignment: 6 +// Size: 0x1d0 +class C_OP_FadeOut : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "fade out time min" + float m_flFadeOutTimeMin; // 0x180 + // MPropertyFriendlyName "fade out time max" + float m_flFadeOutTimeMax; // 0x184 + // MPropertyFriendlyName "fade out time exponent" + float m_flFadeOutTimeExp; // 0x188 + // MPropertyFriendlyName "fade bias" + float m_flFadeBias; // 0x18c +private: + [[maybe_unused]] uint8_t __pad0190[0x30]; // 0x190 +public: + // MPropertyFriendlyName "proportional 0/1" + bool m_bProportional; // 0x1c0 + // MPropertyFriendlyName "ease in and out" + bool m_bEaseInAndOut; // 0x1c1 +}; + +// Alignment: 13 +// Size: 0x1b0 +class C_OP_OscillateScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "oscillation rate min" + float m_RateMin; // 0x180 + // MPropertyFriendlyName "oscillation rate max" + float m_RateMax; // 0x184 + // MPropertyFriendlyName "oscillation frequency min" + float m_FrequencyMin; // 0x188 + // MPropertyFriendlyName "oscillation frequency max" + float m_FrequencyMax; // 0x18c + // MPropertyFriendlyName "oscillation field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x190 + // MPropertyFriendlyName "proportional 0/1" + bool m_bProportional; // 0x194 + // MPropertyFriendlyName "start/end proportional" + bool m_bProportionalOp; // 0x195 +private: + [[maybe_unused]] uint8_t __pad0196[0x2]; // 0x196 +public: + // MPropertyFriendlyName "start time min" + float m_flStartTime_min; // 0x198 + // MPropertyFriendlyName "start time max" + float m_flStartTime_max; // 0x19c + // MPropertyFriendlyName "end time min" + float m_flEndTime_min; // 0x1a0 + // MPropertyFriendlyName "end time max" + float m_flEndTime_max; // 0x1a4 + // MPropertyFriendlyName "oscillation multiplier" + float m_flOscMult; // 0x1a8 + // MPropertyFriendlyName "oscillation start phase" + float m_flOscAdd; // 0x1ac +}; + +// Alignment: 5 +// Size: 0x4a0 +class C_OP_RenderBlobs : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "cube width" + CParticleCollectionFloatInput m_cubeWidth; // 0x1d0 + // MPropertyFriendlyName "cutoff radius" + CParticleCollectionFloatInput m_cutoffRadius; // 0x2b8 + // MPropertyFriendlyName "render radius" + CParticleCollectionFloatInput m_renderRadius; // 0x3a0 + // MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)" + int32_t m_nScaleCP; // 0x488 +private: + [[maybe_unused]] uint8_t __pad048c[0x4]; // 0x48c +public: + // MPropertyFriendlyName "material" + // MPropertyAttributeEditor "AssetBrowse( vmat )" + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x490 +}; + +// Alignment: 18 +// Size: 0x430 +class CParticleVecInput +{ +public: + ParticleVecType_t m_nType; // 0x0 + Vector m_vLiteralValue; // 0x4 + Color m_LiteralColor; // 0x10 + ParticleAttributeIndex_t m_nVectorAttribute; // 0x14 + Vector m_vVectorAttributeScale; // 0x18 + int32_t m_nControlPoint; // 0x24 + Vector m_vCPValueScale; // 0x28 + Vector m_vCPRelativePosition; // 0x34 + Vector m_vCPRelativeDir; // 0x40 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + CParticleFloatInput m_FloatComponentX; // 0x50 + CParticleFloatInput m_FloatComponentY; // 0x138 + CParticleFloatInput m_FloatComponentZ; // 0x220 + CParticleFloatInput m_FloatInterp; // 0x308 + float m_flInterpInput0; // 0x3f0 + float m_flInterpInput1; // 0x3f4 + Vector m_vInterpOutput0; // 0x3f8 + Vector m_vInterpOutput1; // 0x404 + CColorGradient m_Gradient; // 0x410 +}; + +// Alignment: 23 +// Size: 0x6e0 +class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "control point for fast collision tests" + int32_t m_nCP; // 0x180 + // MPropertyFriendlyName "control point offset for fast collisions" + // MVectorIsCoordinate + Vector m_vecCpOffset; // 0x184 + // MPropertyFriendlyName "collision mode" + ParticleCollisionMode_t m_nCollisionMode; // 0x190 + // MPropertyFriendlyName "minimum detail collision mode" + ParticleCollisionMode_t m_nCollisionModeMin; // 0x194 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c +public: + // MPropertyFriendlyName "amount of bounce" + CPerParticleFloatInput m_flBounceAmount; // 0x1a0 + // MPropertyFriendlyName "amount of slide" + CPerParticleFloatInput m_flSlideAmount; // 0x288 + // MPropertyFriendlyName "radius scale" + CPerParticleFloatInput m_flRadiusScale; // 0x370 + // MPropertyFriendlyName "Random Direction scale" + CPerParticleFloatInput m_flRandomDirScale; // 0x458 + // MPropertyFriendlyName "control point movement distance tolerance" + float m_flCpMovementTolerance; // 0x540 + // MPropertyFriendlyName "trace accuracy tolerance" + float m_flTraceTolerance; // 0x544 + // MPropertyFriendlyName "minimum speed to kill on collision" + float m_flMinSpeed; // 0x548 + // MPropertyFriendlyName "Add Decay to Bounce" + bool m_bDecayBounce; // 0x54c + // MPropertyFriendlyName "kill particle on collision" + bool m_bKillonContact; // 0x54d +private: + [[maybe_unused]] uint8_t __pad054e[0x2]; // 0x54e +public: + // MPropertyFriendlyName "Confirm Collision Speed Threshold" + float m_flCollisionConfirmationSpeed; // 0x550 + // MPropertyFriendlyName "Set Normal" + bool m_bSetNormal; // 0x554 +private: + [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 +public: + // MPropertyFriendlyName "Stick On Collision Cache Field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x558 +private: + [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c +public: + // MPropertyFriendlyName "Speed to stop when sticking" + CPerParticleFloatInput m_flStopSpeed; // 0x560 + // MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nEntityStickDataField; // 0x648 + // MPropertyFriendlyName "World Only" + bool m_bWorldOnly; // 0x64c +private: + [[maybe_unused]] uint8_t __pad064d[0x3]; // 0x64d +public: + // MPropertyFriendlyName "CP Entity to Ignore for Collisions" + int32_t m_nIgnoreCP; // 0x650 + // MPropertyFriendlyName "collision group" + char m_CollisionGroupName[128]; // 0x654 + // MPropertyFriendlyName "brush only" + bool m_bBrushOnly; // 0x6d4 +}; + +// Alignment: 3 +// Size: 0x2d0 +class C_OP_RenderPostProcessing : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "Post Processing Strength" + CPerParticleFloatInput m_flPostProcessStrength; // 0x1d0 + // MPropertyFriendlyName "Post Processing File" + // MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )" + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x2b8 + // MPropertyFriendlyName "Post Processing Priority Group" + ParticlePostProcessPriorityGroup_t m_nPriority; // 0x2c0 +}; + +// Alignment: 4 +// Size: 0x190 +class C_INIT_RandomScalar : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "min" + float m_flMin; // 0x180 + // MPropertyFriendlyName "max" + float m_flMax; // 0x184 + // MPropertyFriendlyName "exponent" + float m_flExponent; // 0x188 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x18c +}; + +// Alignment: 13 +// Size: 0x400 +class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "offset" + CPerParticleFloatInput m_flOffset; // 0x180 + // MPropertyFriendlyName "max trace length" + CPerParticleFloatInput m_flMaxTraceLength; // 0x268 + // MPropertyFriendlyName "collision group" + char m_CollisionGroupName[128]; // 0x350 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x3d0 +private: + [[maybe_unused]] uint8_t __pad03d4[0xc]; // 0x3d4 +public: + // MPropertyFriendlyName "No Collision Behavior" + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3e0 + // MPropertyFriendlyName "include water" + bool m_bIncludeWater; // 0x3e4 + // MPropertyFriendlyName "set normal" + bool m_bSetNormal; // 0x3e5 + // MPropertyFriendlyName "set Previous XYZ only" + bool m_bSetPXYZOnly; // 0x3e6 + // MPropertyFriendlyName "Trace along particle normal" + bool m_bTraceAlongNormal; // 0x3e7 + // MPropertyFriendlyName "Offset only if trace hit" + bool m_bOffsetonColOnly; // 0x3e8 +private: + [[maybe_unused]] uint8_t __pad03e9[0x3]; // 0x3e9 +public: + // MPropertyFriendlyName "offset final position by this fraction of the particle radius" + float m_flOffsetByRadiusFactor; // 0x3ec + // MPropertyFriendlyName "preserve initial Z-offset relative to cp" + int32_t m_nPreserveOffsetCP; // 0x3f0 + // MPropertyFriendlyName "CP Entity to Ignore for Collisions" + int32_t m_nIgnoreCP; // 0x3f4 +}; + +// Alignment: 33 +// Size: 0x690 +class C_OP_ControlpointLight : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "initial color bias" + float m_flScale; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x480]; // 0x184 +public: + // MPropertyFriendlyName "light 1 control point" + int32_t m_nControlPoint1; // 0x604 + // MPropertyFriendlyName "light 2 control point" + int32_t m_nControlPoint2; // 0x608 + // MPropertyFriendlyName "light 3 control point" + int32_t m_nControlPoint3; // 0x60c + // MPropertyFriendlyName "light 4 control point" + int32_t m_nControlPoint4; // 0x610 + // MPropertyFriendlyName "light 1 control point offset" + Vector m_vecCPOffset1; // 0x614 + // MPropertyFriendlyName "light 2 control point offset" + Vector m_vecCPOffset2; // 0x620 + // MPropertyFriendlyName "light 3 control point offset" + Vector m_vecCPOffset3; // 0x62c + // MPropertyFriendlyName "light 4 control point offset" + Vector m_vecCPOffset4; // 0x638 + // MPropertyFriendlyName "light 1 50% distance" + float m_LightFiftyDist1; // 0x644 + // MPropertyFriendlyName "light 1 0% distance" + float m_LightZeroDist1; // 0x648 + // MPropertyFriendlyName "light 2 50% distance" + float m_LightFiftyDist2; // 0x64c + // MPropertyFriendlyName "light 2 0% distance" + float m_LightZeroDist2; // 0x650 + // MPropertyFriendlyName "light 3 50% distance" + float m_LightFiftyDist3; // 0x654 + // MPropertyFriendlyName "light 3 0% distance" + float m_LightZeroDist3; // 0x658 + // MPropertyFriendlyName "light 4 50% distance" + float m_LightFiftyDist4; // 0x65c + // MPropertyFriendlyName "light 4 0% distance" + float m_LightZeroDist4; // 0x660 + // MPropertyFriendlyName "light 1 color" + Color m_LightColor1; // 0x664 + // MPropertyFriendlyName "light 2 color" + Color m_LightColor2; // 0x668 + // MPropertyFriendlyName "light 3 color" + Color m_LightColor3; // 0x66c + // MPropertyFriendlyName "light 4 color" + Color m_LightColor4; // 0x670 + // MPropertyFriendlyName "light 1 type 0=point 1=spot" + bool m_bLightType1; // 0x674 + // MPropertyFriendlyName "light 2 type 0=point 1=spot" + bool m_bLightType2; // 0x675 + // MPropertyFriendlyName "light 3 type 0=point 1=spot" + bool m_bLightType3; // 0x676 + // MPropertyFriendlyName "light 4 type 0=point 1=spot" + bool m_bLightType4; // 0x677 + // MPropertyFriendlyName "light 1 dynamic light" + bool m_bLightDynamic1; // 0x678 + // MPropertyFriendlyName "light 2 dynamic light" + bool m_bLightDynamic2; // 0x679 + // MPropertyFriendlyName "light 3 dynamic light" + bool m_bLightDynamic3; // 0x67a + // MPropertyFriendlyName "light 4 dynamic light" + bool m_bLightDynamic4; // 0x67b + // MPropertyFriendlyName "compute normals from control points" + bool m_bUseNormal; // 0x67c + // MPropertyFriendlyName "half-lambert normals" + bool m_bUseHLambert; // 0x67d +private: + [[maybe_unused]] uint8_t __pad067e[0x4]; // 0x67e +public: + // MPropertyFriendlyName "clamp minimum light value to initial color" + bool m_bClampLowerRange; // 0x682 + // MPropertyFriendlyName "clamp maximum light value to initial color" + bool m_bClampUpperRange; // 0x683 +}; + +// Alignment: 2 +// Size: 0x280 +class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "group ID to affect" + int32_t m_nChildGroupID; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0194[0x4]; // 0x194 +public: + // MPropertyFriendlyName "Number of Children to Use" + CParticleCollectionFloatInput m_flNumberOfChildren; // 0x198 +}; + +// Alignment: 4 +// Size: 0x9f0 +class C_INIT_CreateWithinBox : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "min" + // MVectorIsCoordinate + CPerParticleVecInput m_vecMin; // 0x180 + // MPropertyFriendlyName "max" + // MVectorIsCoordinate + CPerParticleVecInput m_vecMax; // 0x5b0 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x9e0 + // MPropertyFriendlyName "use local space" + bool m_bLocalSpace; // 0x9e4 +}; + +// Alignment: 6 +// Size: 0x1a0 +class C_OP_UpdateLightSource : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "color tint" + Color m_vColorTint; // 0x180 + // MPropertyFriendlyName "amount to multiply light brightness by" + float m_flBrightnessScale; // 0x184 + // MPropertyFriendlyName "amount to multiply particle system radius by to get light radius" + float m_flRadiusScale; // 0x188 + // MPropertyFriendlyName "minimum radius for created lights" + float m_flMinimumLightingRadius; // 0x18c + // MPropertyFriendlyName "maximum radius for created lights" + float m_flMaximumLightingRadius; // 0x190 + // MPropertyFriendlyName "amount of damping of changes" + float m_flPositionDampingConstant; // 0x194 +}; + +// Alignment: 2 +// Size: 0x1e0 +class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "rotate rate(dps)" + float m_flRotateRateDegrees; // 0x1d0 + // MPropertyFriendlyName "forward angle" + float m_flForwardDegrees; // 0x1d4 +}; + +// Alignment: 0 +// Size: 0x1e0 +class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap +{ +public: + // no members available +}; + +// Alignment: 59 +// Size: 0x350 +class CParticleSystemDefinition : public IParticleSystemDefinition +{ +public: + // MPropertyFriendlyName "version" + // MPropertySuppressField + int32_t m_nBehaviorVersion; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + // MPropertySuppressField + CUtlVector< CParticleFunctionPreEmission* > m_PreEmissionOperators; // 0x10 + // MPropertySuppressField + CUtlVector< CParticleFunctionEmitter* > m_Emitters; // 0x28 + // MPropertySuppressField + CUtlVector< CParticleFunctionInitializer* > m_Initializers; // 0x40 + // MPropertySuppressField + CUtlVector< CParticleFunctionOperator* > m_Operators; // 0x58 + // MPropertySuppressField + CUtlVector< CParticleFunctionForce* > m_ForceGenerators; // 0x70 + // MPropertySuppressField + CUtlVector< CParticleFunctionConstraint* > m_Constraints; // 0x88 + // MPropertySuppressField + CUtlVector< CParticleFunctionRenderer* > m_Renderers; // 0xa0 + // MPropertySuppressField + CUtlVector< ParticleChildrenInfo_t > m_Children; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00d0[0xa8]; // 0xd0 +public: + // MPropertySuppressField + int32_t m_nFirstMultipleOverride_BackwardCompat; // 0x178 + // MPropertyFriendlyName "initial particles" + int32_t m_nInitialParticles; // 0x17c + // MPropertyFriendlyName "max particles" + int32_t m_nMaxParticles; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x3c]; // 0x184 +public: + // MPropertyFriendlyName "bounding box min" + // MVectorIsCoordinate + Vector m_BoundingBoxMin; // 0x1c0 + // MPropertyFriendlyName "bounding box max" + // MVectorIsCoordinate + Vector m_BoundingBoxMax; // 0x1cc + // MPropertyFriendlyName "snapshot control point" + int32_t m_nSnapshotControlPoint; // 0x1d8 +private: + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc +public: + // MPropertyFriendlyName "snapshot" + // MPropertyAttributeEditor "AssetBrowse( vsnap )" + CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x1e0 + // MPropertyFriendlyName "target layer ID for rendering" + CUtlSymbolLarge m_pszTargetLayerID; // 0x1e8 +private: + [[maybe_unused]] uint8_t __pad01f0[0x18]; // 0x1f0 +public: + // MPropertyFriendlyName "reference replacement definition" + // MPropertyAttributeEditor "AssetBrowse( vpcf )" + // MParticleAdvancedField + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x208 + // MPropertyFriendlyName "cull replacement definition" + // MPropertyAttributeEditor "AssetBrowse( vpcf )" + // MParticleAdvancedField + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x210 + // MPropertyFriendlyName "cull radius" + // MParticleAdvancedField + float m_flCullRadius; // 0x218 + // MPropertyFriendlyName "cull cost" + // MParticleAdvancedField + float m_flCullFillCost; // 0x21c + // MPropertyFriendlyName "cull control point" + // MParticleAdvancedField + int32_t m_nCullControlPoint; // 0x220 +private: + [[maybe_unused]] uint8_t __pad0224[0xc]; // 0x224 +public: + // MPropertyFriendlyName "fallback replacement definition" + // MPropertyAttributeEditor "AssetBrowse( vpcf )" + // MParticleAdvancedField + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x230 + // MPropertyFriendlyName "fallback max count" + // MParticleAdvancedField + int32_t m_nFallbackMaxCount; // 0x238 +private: + [[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c +public: + // MPropertyFriendlyName "low violence definition" + // MPropertyAttributeEditor "AssetBrowse( vpcf )" + // MParticleAdvancedField + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x240 + // MPropertyFriendlyName "color" + // MPropertyColorPlusAlpha + Color m_ConstantColor; // 0x248 + // MPropertyFriendlyName "normal" + // MVectorIsCoordinate + Vector m_ConstantNormal; // 0x24c + // MPropertyFriendlyName "radius" + // MPropertyAttributeRange "biased 0 500" + float m_flConstantRadius; // 0x258 + // MPropertyFriendlyName "rotation" + float m_flConstantRotation; // 0x25c + // MPropertyFriendlyName "rotation speed" + float m_flConstantRotationSpeed; // 0x260 + // MPropertyFriendlyName "lifetime" + float m_flConstantLifespan; // 0x264 + // MPropertyFriendlyName "sequence number" + // MPropertyAttributeEditor "SequencePicker( 1 )" + int32_t m_nConstantSequenceNumber; // 0x268 + // MPropertyFriendlyName "sequence number 1" + // MPropertyAttributeEditor "SequencePicker( 2 )" + int32_t m_nConstantSequenceNumber1; // 0x26c + // MPropertyFriendlyName "group id" + int32_t m_nGroupID; // 0x270 + // MPropertyFriendlyName "maximum time step" + // MParticleAdvancedField + float m_flMaximumTimeStep; // 0x274 + // MPropertyFriendlyName "maximum sim tick rate" + // MParticleAdvancedField + float m_flMaximumSimTime; // 0x278 + // MPropertyFriendlyName "minimum sim tick rate" + // MParticleAdvancedField + float m_flMinimumSimTime; // 0x27c + // MPropertyFriendlyName "minimum simulation time step" + // MParticleAdvancedField + float m_flMinimumTimeStep; // 0x280 + // MPropertyFriendlyName "minimum rendered frames" + // MParticleAdvancedField + int32_t m_nMinimumFrames; // 0x284 + // MPropertyFriendlyName "minimum CPU level" + // MParticleAdvancedField + int32_t m_nMinCPULevel; // 0x288 + // MPropertyFriendlyName "minimum GPU level" + // MParticleAdvancedField + int32_t m_nMinGPULevel; // 0x28c + // MPropertyFriendlyName "view model effect" + // MParticleAdvancedField + bool m_bViewModelEffect; // 0x290 + // MPropertyFriendlyName "screen space effect" + // MParticleAdvancedField + bool m_bScreenSpaceEffect; // 0x291 +private: + [[maybe_unused]] uint8_t __pad0292[0x16]; // 0x292 +public: + // MPropertySuppressField + CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x2a8 + // MPropertyFriendlyName "time to sleep when not drawn" + float m_flNoDrawTimeToGoToSleep; // 0x2c0 + // MPropertyFriendlyName "maximum draw distance" + float m_flMaxDrawDistance; // 0x2c4 + // MPropertyFriendlyName "start fade distance" + float m_flStartFadeDistance; // 0x2c8 + // MPropertyFriendlyName "maximum creation distance" + float m_flMaxCreationDistance; // 0x2cc + // MPropertyFriendlyName "control point to disable rendering if it is the camera" + // MParticleAdvancedField + int32_t m_nSkipRenderControlPoint; // 0x2d0 + // MPropertyFriendlyName "control point to only enable rendering if it is the camera" + // MParticleAdvancedField + int32_t m_nAllowRenderControlPoint; // 0x2d4 + // MPropertyFriendlyName "minimum free particles to aggregate" + // MParticleAdvancedField + int32_t m_nAggregationMinAvailableParticles; // 0x2d8 + // MPropertyFriendlyName "aggregation radius" + // MParticleAdvancedField + float m_flAggregateRadius; // 0x2dc + // MPropertyFriendlyName "freeze simulation after time" + // MParticleAdvancedField + float m_flStopSimulationAfterTime; // 0x2e0 + // MPropertyFriendlyName "pre-simulation time" + // MParticleAdvancedField + float m_flPreSimulationTime; // 0x2e4 +private: + [[maybe_unused]] uint8_t __pad02e8[0x38]; // 0x2e8 +public: + // MPropertyFriendlyName "sort particles (DEPRECATED - USE RENDERER OPTION)" + bool m_bShouldSort; // 0x320 + // MPropertyFriendlyName "batch particle systems" + // MParticleAdvancedField + bool m_bShouldBatch; // 0x321 +private: + [[maybe_unused]] uint8_t __pad0322[0x2]; // 0x322 +public: + // MPropertyFriendlyName "depth sort bias" + float m_flDepthSortBias; // 0x324 + // MPropertyFriendlyName "infinite bounds - don't cull" + bool m_bInfiniteBounds; // 0x328 +private: + [[maybe_unused]] uint8_t __pad0329[0x1]; // 0x329 +public: + // MPropertyFriendlyName "Hitboxes fall back to render bounds" + // MParticleAdvancedField + bool m_bShouldHitboxesFallbackToRenderBounds; // 0x32a +}; + +// Alignment: 8 +// Size: 0x820 +class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "Control Point for Model" + int32_t m_nMaterialControlPoint; // 0x1d0 + // MPropertyFriendlyName "proxy type" + MaterialProxyType_t m_nProxyType; // 0x1d4 + // MPropertyFriendlyName "material variables" + // MPropertyAutoExpandSelf + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1d8 + // MPropertyFriendlyName "material override" + // MPropertyAttributeEditor "AssetBrowse( vmat )" + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1f0 + // MPropertyFriendlyName "material override enable" + CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x1f8 + // MPropertyFriendlyName "model tint" + CParticleCollectionVecInput m_vecColorScale; // 0x2e0 + // MPropertyFriendlyName "model alpha" + CPerParticleFloatInput m_flAlpha; // 0x710 + // MPropertyFriendlyName "model tint blend type" + ParticleColorBlendType_t m_nColorBlendType; // 0x7f8 +}; + +// Alignment: 11 +// Size: 0x1b0 +class C_OP_RemapCPtoScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "input field 0-2 X/Y/Z" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nField; // 0x188 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x18c + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x190 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x194 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x198 + // MPropertyFriendlyName "emitter lifetime start time (seconds)" + float m_flStartTime; // 0x19c + // MPropertyFriendlyName "emitter lifetime end time (seconds)" + float m_flEndTime; // 0x1a0 + // MPropertyFriendlyName "interpolation scale" + float m_flInterpRate; // 0x1a4 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1a8 +}; + +// Alignment: 5 +// Size: 0x5d0 +class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "set positions in world space" + bool m_bUseWorldLocation; // 0x190 + // MPropertyFriendlyName "only set position once" + bool m_bSetOnce; // 0x191 +private: + [[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192 +public: + // MPropertyFriendlyName "control point number" + int32_t m_nCP1; // 0x194 + // MPropertyFriendlyName "control point location" + CParticleCollectionVecInput m_vecCP1Pos; // 0x198 + // MPropertyFriendlyName "control point to offset positions from" + int32_t m_nHeadLocation; // 0x5c8 +}; + +// Alignment: 2 +// Size: 0x190 +class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "rotate normals" + bool m_bTransformNormals; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0181[0x3]; // 0x181 +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x184 +}; + +// Alignment: 0 +// Size: 0x1b0 +class C_INIT_RandomYaw : public CGeneralRandomRotation +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x190 +class C_OP_SetCPtoVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 +}; + +// Alignment: 3 +// Size: 0x190 +class C_OP_LerpEndCapScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "value to lerp to" + float m_flOutput; // 0x184 + // MPropertyFriendlyName "lerp time" + float m_flLerpTime; // 0x188 +}; + +// Alignment: 3 +// Size: 0x190 +class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "scale factor" + float m_flScale; // 0x184 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x188 +}; + +// Alignment: 8 +// Size: 0x390 +class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "set positions in world space" + bool m_bUseWorldLocation; // 0x190 + // MPropertyFriendlyName "inherit CP orientation" + bool m_bOrient; // 0x191 +private: + [[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192 +public: + // MPropertyFriendlyName "control point number" + int32_t m_nCP1; // 0x194 + // MPropertyFriendlyName "control point to offset positions from" + int32_t m_nHeadLocation; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c +public: + // MPropertyFriendlyName "re-randomize rate (-1 for once only)" + CParticleCollectionFloatInput m_flReRandomRate; // 0x1a0 + // MPropertyFriendlyName "control point min" + Vector m_vecCPMinPos; // 0x288 + // MPropertyFriendlyName "control point max" + Vector m_vecCPMaxPos; // 0x294 + // MPropertyFriendlyName "Interpolation" + CParticleCollectionFloatInput m_flInterpolation; // 0x2a0 +}; + +// Alignment: 25 +// Size: 0xb8 +class CNewParticleEffect : public IParticleEffect +{ +public: + 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_bDisableAggregation: 1; + uint8_t m_bShouldSimulateDuringGamePaused: 1; + uint8_t m_bShouldCheckFoW: 1; + uint256_t __pad4: 180; + }; // 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: + Vector m_LastMin; // 0x70 + Vector m_LastMax; // 0x7c + CSplitScreenSlot m_nSplitScreenUser; // 0x88 + Vector m_vecAggregationCenter; // 0x8c +private: + [[maybe_unused]] uint8_t __pad0098[0x18]; // 0x98 +public: + int32_t m_RefCount; // 0xb0 +}; + +// Alignment: 1 +// Size: 0x270 +class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "freeze time" + CParticleCollectionFloatInput m_flFreezeTime; // 0x180 +}; + +// Alignment: 3 +// Size: 0x1b0 +class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nCP1; // 0x190 + // MPropertyFriendlyName "control point offset" + // MVectorIsCoordinate + Vector m_vecCP1Pos; // 0x194 + // MPropertyFriendlyName "use eye orientation" + bool m_bOrientToEyes; // 0x1a0 +}; + +// Alignment: 0 +// Size: 0x1e0 +class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed +{ +public: + // no members available +}; + +// Alignment: 8 +// Size: 0x1c0 +class C_OP_TurbulenceForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "noise scale 0" + float m_flNoiseCoordScale0; // 0x180 + // MPropertyFriendlyName "noise scale 1" + float m_flNoiseCoordScale1; // 0x184 + // MPropertyFriendlyName "noise scale 2" + float m_flNoiseCoordScale2; // 0x188 + // MPropertyFriendlyName "noise scale 3" + float m_flNoiseCoordScale3; // 0x18c + // MPropertyFriendlyName "noise amount 0" + // MVectorIsCoordinate + Vector m_vecNoiseAmount0; // 0x190 + // MPropertyFriendlyName "noise amount 1" + // MVectorIsCoordinate + Vector m_vecNoiseAmount1; // 0x19c + // MPropertyFriendlyName "noise amount 2" + // MVectorIsCoordinate + Vector m_vecNoiseAmount2; // 0x1a8 + // MPropertyFriendlyName "noise amount 3" + // MVectorIsCoordinate + Vector m_vecNoiseAmount3; // 0x1b4 +}; + +// Alignment: 3 +// Size: 0x190 +class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "minimum" + float m_flOutputMin; // 0x184 + // MPropertyFriendlyName "maximum" + float m_flOutputMax; // 0x188 +}; + +// Alignment: 1 +// Size: 0x4 +struct ParticleAttributeIndex_t +{ +public: + int32_t m_nBoxedTypeSafeInt; // 0x0 +}; + +// Alignment: 6 +// Size: 0x1d0 +class C_OP_InterpolateRadius : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "start time" + float m_flStartTime; // 0x180 + // MPropertyFriendlyName "end time" + float m_flEndTime; // 0x184 + // MPropertyFriendlyName "radius start scale" + float m_flStartScale; // 0x188 + // MPropertyFriendlyName "radius end scale" + float m_flEndScale; // 0x18c + // MPropertyFriendlyName "ease in and out" + bool m_bEaseInAndOut; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191 +public: + // MPropertyFriendlyName "scale bias" + float m_flBias; // 0x194 +}; + +// Alignment: 11 +// Size: 0x240 +class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point to set" + int32_t m_nCPOut; // 0x190 + // MPropertyFriendlyName "control point to trace from" + int32_t m_nCPIn; // 0x194 + // MPropertyFriendlyName "trace update rate" + float m_flUpdateRate; // 0x198 + // MPropertyFriendlyName "max trace length" + float m_flTraceLength; // 0x19c + // MPropertyFriendlyName "offset start point amount" + float m_flStartOffset; // 0x1a0 + // MPropertyFriendlyName "offset end point amount" + float m_flOffset; // 0x1a4 + // MPropertyFriendlyName "trace direction override" + // MVectorIsCoordinate + Vector m_vecTraceDir; // 0x1a8 + // MPropertyFriendlyName "trace collision group" + char m_CollisionGroupName[128]; // 0x1b4 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x234 + // MPropertyFriendlyName "set to trace endpoint if no collision" + bool m_bSetToEndpoint; // 0x238 + // MPropertyFriendlyName "trace to closest surface along all cardinal directions" + bool m_bTraceToClosestSurface; // 0x239 +}; + +// Alignment: 4 +// Size: 0x2d0 +class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "haptic hand" + ParticleVRHandChoiceList_t m_nHand; // 0x1d0 + // MPropertyFriendlyName "hand control point number" + int32_t m_nOutputHandCP; // 0x1d4 + // MPropertyFriendlyName "cp field" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutputField; // 0x1d8 +private: + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc +public: + // MPropertyFriendlyName "amplitude" + CPerParticleFloatInput m_flAmplitude; // 0x1e0 +}; + +// Alignment: 15 +// Size: 0x6d0 +class C_OP_PositionLock : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "start fadeout min" + float m_flStartTime_min; // 0x184 + // MPropertyFriendlyName "start fadeout max" + float m_flStartTime_max; // 0x188 + // MPropertyFriendlyName "start fadeout exponent" + float m_flStartTime_exp; // 0x18c + // MPropertyFriendlyName "end fadeout min" + float m_flEndTime_min; // 0x190 + // MPropertyFriendlyName "end fadeout max" + float m_flEndTime_max; // 0x194 + // MPropertyFriendlyName "end fadeout exponent" + float m_flEndTime_exp; // 0x198 + // MPropertyFriendlyName "distance fade range" + float m_flRange; // 0x19c + // MPropertyFriendlyName "distance fade bias" + CParticleCollectionFloatInput m_flRangeBias; // 0x1a0 + // MPropertyFriendlyName "instant jump threshold" + float m_flJumpThreshold; // 0x288 + // MPropertyFriendlyName "previous position scale" + float m_flPrevPosScale; // 0x28c + // MPropertyFriendlyName "lock rotation" + bool m_bLockRot; // 0x290 +private: + [[maybe_unused]] uint8_t __pad0291[0x7]; // 0x291 +public: + // MPropertyFriendlyName "component scale" + CParticleCollectionVecInput m_vecScale; // 0x298 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x6c8 + // MPropertyFriendlyName "output field prev" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x6cc +}; + +// Alignment: 14 +// Size: 0x1d0 +class C_OP_OscillateVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "oscillation rate min" + // MVectorIsSometimesCoordinate + Vector m_RateMin; // 0x180 + // MPropertyFriendlyName "oscillation rate max" + // MVectorIsSometimesCoordinate + Vector m_RateMax; // 0x18c + // MPropertyFriendlyName "oscillation frequency min" + // MVectorIsSometimesCoordinate + Vector m_FrequencyMin; // 0x198 + // MPropertyFriendlyName "oscillation frequency max" + // MVectorIsSometimesCoordinate + Vector m_FrequencyMax; // 0x1a4 + // MPropertyFriendlyName "oscillation field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nField; // 0x1b0 + // MPropertyFriendlyName "proportional 0/1" + bool m_bProportional; // 0x1b4 + // MPropertyFriendlyName "start/end proportional" + bool m_bProportionalOp; // 0x1b5 + // MPropertyFriendlyName "offset instead of accelerate position" + bool m_bOffset; // 0x1b6 +private: + [[maybe_unused]] uint8_t __pad01b7[0x1]; // 0x1b7 +public: + // MPropertyFriendlyName "start time min" + float m_flStartTime_min; // 0x1b8 + // MPropertyFriendlyName "start time max" + float m_flStartTime_max; // 0x1bc + // MPropertyFriendlyName "end time min" + float m_flEndTime_min; // 0x1c0 + // MPropertyFriendlyName "end time max" + float m_flEndTime_max; // 0x1c4 + // MPropertyFriendlyName "oscillation multiplier" + float m_flOscMult; // 0x1c8 + // MPropertyFriendlyName "oscillation start phase" + float m_flOscAdd; // 0x1cc +}; + +// Alignment: 9 +// Size: 0x540 +class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nSnapshotControlPointNumber; // 0x180 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x184 + // MPropertyFriendlyName "random order" + bool m_bRandom; // 0x188 +private: + [[maybe_unused]] uint8_t __pad0189[0x3]; // 0x189 +public: + // MPropertyFriendlyName "random seed" + int32_t m_nRandomSeed; // 0x18c + // MPropertyFriendlyName "set normal" + bool m_bSetNormal; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x7]; // 0x191 +public: + // MPropertyFriendlyName "particle increment amount" + CParticleCollectionFloatInput m_flIncrement; // 0x198 + // MPropertyFriendlyName "Full Loop Increment Amount" + CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x280 + // MPropertyFriendlyName "Snapshot start point" + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x368 + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x450 +}; + +// Alignment: 8 +// Size: 0x2a0 +class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "set orientation in world space" + bool m_bUseWorldLocation; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x1]; // 0x191 +public: + // MPropertyFriendlyName "randomize" + bool m_bRandomize; // 0x192 + // MPropertyFriendlyName "only set orientation once" + bool m_bSetOnce; // 0x193 + // MPropertyFriendlyName "control point number" + int32_t m_nCP; // 0x194 + // MPropertyFriendlyName "control point to offset orientation from" + int32_t m_nHeadLocation; // 0x198 + // MPropertyFriendlyName "pitch yaw roll" + QAngle m_vecRotation; // 0x19c + // MPropertyFriendlyName "pitch yaw roll max" + QAngle m_vecRotationB; // 0x1a8 +private: + [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 +public: + // MPropertyFriendlyName "interpolation" + CParticleCollectionFloatInput m_flInterpolation; // 0x1b8 +}; + +// Alignment: 5 +// Size: 0x1a0 +class C_INIT_VelocityFromCP : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPoint; // 0x180 + // MPropertyFriendlyName "comparison control point number" + int32_t m_nControlPointCompare; // 0x184 + // MPropertyFriendlyName "local space control point number" + int32_t m_nControlPointLocal; // 0x188 + // MPropertyFriendlyName "velocity scale" + float m_flVelocityScale; // 0x18c + // MPropertyFriendlyName "direction only" + bool m_bDirectionOnly; // 0x190 +}; + +// Alignment: 7 +// Size: 0x18e0 +class CBaseTrailRenderer : public CBaseRendererSource2 +{ +public: + // MPropertyStartGroup "Orientation" + // MPropertyFriendlyName "orientation type" + // MPropertySortPriority "750" + ParticleOrientationChoiceList_t m_nOrientationType; // 0x16f0 + // 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; // 0x16f4 + // MPropertyStartGroup "Screenspace Fading and culling" + // MPropertyFriendlyName "minimum visual screen-size" + // MPropertySortPriority "900" + float m_flMinSize; // 0x16f8 + // MPropertyFriendlyName "maximum visual screen-size" + // MPropertySortPriority "900" + float m_flMaxSize; // 0x16fc + // MPropertyFriendlyName "start fade screen-size" + // MPropertySortPriority "900" + CParticleCollectionFloatInput m_flStartFadeSize; // 0x1700 + // MPropertyFriendlyName "end fade and cull screen-size" + // MPropertySortPriority "900" + CParticleCollectionFloatInput m_flEndFadeSize; // 0x17e8 + // MPropertyStartGroup "Trail UV Controls" + // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" + // MPropertySortPriority "800" + bool m_bClampV; // 0x18d0 +}; + +// Alignment: 10 +// Size: 0x1c0 +class C_OP_PercentageBetweenCPsVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "percentage minimum" + float m_flInputMin; // 0x184 + // MPropertyFriendlyName "percentage maximum" + float m_flInputMax; // 0x188 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMin; // 0x18c + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMax; // 0x198 + // MPropertyFriendlyName "starting control point" + int32_t m_nStartCP; // 0x1a4 + // MPropertyFriendlyName "ending control point" + int32_t m_nEndCP; // 0x1a8 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1ac + // MPropertyFriendlyName "only active within input range" + bool m_bActiveRange; // 0x1b0 + // MPropertyFriendlyName "treat distance between points as radius" + bool m_bRadialCheck; // 0x1b1 +}; + +// Alignment: 8 +// Size: 0x240 +class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "bias distance" + // MVectorIsCoordinate + Vector m_vecComponentScale; // 0x180 + // MPropertyFriendlyName "trace offset" + float m_flTraceOffset; // 0x18c + // MPropertyFriendlyName "maximum trace length" + float m_flMaxTraceLength; // 0x190 + // MPropertyFriendlyName "trace recycle tolerance" + float m_flTraceTolerance; // 0x194 + // MPropertyFriendlyName "maximum points to cache" + int32_t m_nMaxPlanes; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c +public: + // MPropertyFriendlyName "trace collision group" + char m_CollisionGroupName[128]; // 0x1a0 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x220 +private: + [[maybe_unused]] uint8_t __pad0224[0xc]; // 0x224 +public: + // MPropertyFriendlyName "collide with water" + bool m_bIncludeWater; // 0x230 +}; + +// Alignment: 2 +// Size: 0x190 +class C_OP_ConstrainLineLength : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "minimum length" + float m_flMinDistance; // 0x180 + // MPropertyFriendlyName "maximum length" + float m_flMaxDistance; // 0x184 +}; + +// Alignment: 5 +// Size: 0x360 +class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter +{ +public: + // MPropertyFriendlyName "num to emit" + // MPropertyAttributeRange "1 1000" + CParticleCollectionFloatInput m_nParticlesToEmit; // 0x180 + // MPropertyFriendlyName "emission start time" + CParticleCollectionFloatInput m_flStartTime; // 0x268 + // MPropertyFriendlyName "emission scale from killed parent particles" + float m_flInitFromKilledParentParticles; // 0x350 + // MPropertyFriendlyName "maximum emission per frame" + int32_t m_nMaxEmittedPerFrame; // 0x354 + // MPropertyFriendlyName "control point with snapshot data" + int32_t m_nSnapshotControlPoint; // 0x358 +}; + +// Alignment: 0 +// Size: 0x430 +class CParticleCollectionVecInput : public CParticleVecInput +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x1a0 +class C_OP_Spin : public CGeneralSpin +{ +public: + // no members available +}; + +// Alignment: 10 +// Size: 0x1b0 +class C_INIT_CreationNoise : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "absolute value" + bool m_bAbsVal; // 0x184 + // MPropertyFriendlyName "invert absolute value" + bool m_bAbsValInv; // 0x185 +private: + [[maybe_unused]] uint8_t __pad0186[0x2]; // 0x186 +public: + // MPropertyFriendlyName "time coordinate offset" + float m_flOffset; // 0x188 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x18c + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x190 + // MPropertyFriendlyName "time noise coordinate scale" + float m_flNoiseScale; // 0x194 + // MPropertyFriendlyName "spatial noise coordinate scale" + float m_flNoiseScaleLoc; // 0x198 + // MPropertyFriendlyName "spatial coordinate offset" + // MVectorIsCoordinate + Vector m_vecOffsetLoc; // 0x19c + // MPropertyFriendlyName "world time noise coordinate scale" + float m_flWorldTimeScale; // 0x1a8 +}; + +// Alignment: 8 +// Size: 0x210 +class C_OP_RenderAsModels : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "models" + // MParticleRequireDefaultArrayEntry + CUtlVector< ModelReference_t > m_ModelList; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01e8[0x4]; // 0x1e8 +public: + // MPropertyFriendlyName "scale factor for radius" + float m_flModelScale; // 0x1ec + // MPropertyFriendlyName "scale model to match particle size" + bool m_bFitToModelSize; // 0x1f0 + // MPropertyFriendlyName "non-uniform scaling" + bool m_bNonUniformScaling; // 0x1f1 +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: + // MPropertyFriendlyName "X axis scaling scalar field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x1f4 + // MPropertyFriendlyName "Y axis scaling scalar field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x1f8 + // MPropertyFriendlyName "Z axis scaling scalar field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x1fc + // MPropertyFriendlyName "model size cull bloat" + // MPropertyAttributeChoiceName "particlefield_size_cull_bloat" + int32_t m_nSizeCullBloat; // 0x200 +}; + +// Alignment: 3 +// Size: 0x1c0 +class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1a0 + // MPropertyFriendlyName "output value at min distance" + Vector m_vMinOutputValue; // 0x1a4 + // MPropertyFriendlyName "output value at max distance" + Vector m_vMaxOutputValue; // 0x1b0 +}; + +// Alignment: 5 +// Size: 0x1a0 +class C_INIT_NormalOffset : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "offset min" + // MVectorIsCoordinate + Vector m_OffsetMin; // 0x180 + // MPropertyFriendlyName "offset max" + // MVectorIsCoordinate + Vector m_OffsetMax; // 0x18c + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x198 + // MPropertyFriendlyName "offset in local space 0/1" + bool m_bLocalCoords; // 0x19c + // MPropertyFriendlyName "normalize output 0/1" + bool m_bNormalize; // 0x19d +}; + +// Alignment: 0 +// Size: 0x180 +class CSpinUpdateBase : public CParticleFunctionOperator +{ +public: + // no members available +}; + +// Alignment: 5 +// Size: 0x1b0 +class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "source Control Point in World" + int32_t m_nCPIn; // 0x190 + // MPropertyFriendlyName "Source Control Point offset" + // MVectorIsCoordinate + Vector m_vecCP1Pos; // 0x194 + // MPropertyFriendlyName "Set control point number" + int32_t m_nCPOut; // 0x1a0 + // MPropertyFriendlyName "Output field 0-2 X/Y/Z" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nCPOutField; // 0x1a4 + // MPropertyFriendlyName "Ss Pos and Dot OUT CP" + int32_t m_nCPSSPosOut; // 0x1a8 +}; + +// Alignment: 3 +// Size: 0x1a0 +class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "local offset min" + // MVectorIsCoordinate + Vector m_vecOffsetMin; // 0x180 + // MPropertyFriendlyName "local offset max" + // MVectorIsCoordinate + Vector m_vecOffsetMax; // 0x18c +private: + [[maybe_unused]] uint8_t __pad0198[0x1]; // 0x198 +public: + // MPropertyFriendlyName "set normal" + bool m_bUseNormal; // 0x199 +}; + +// Alignment: 6 +// Size: 0x1a0 +class C_OP_RemapScalarEndCap : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x188 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x18c + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x190 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x194 +}; + +// Alignment: 8 +// Size: 0x40 +class CPathParameters +{ +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 +}; + +// Alignment: 2 +// Size: 0x270 +class C_INIT_InitFloatCollection : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "value" + CParticleCollectionFloatInput m_InputValue; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nOutputField; // 0x268 +}; + +// Alignment: 2 +// Size: 0x1a0 +class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "play when emission ends" + bool m_bFireOnEmissionEnd; // 0x190 + // MPropertyFriendlyName "wait for children to finish" + bool m_bIncludeChildren; // 0x191 +}; + +// Alignment: 4 +// Size: 0x370 +class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "input" + CParticleCollectionFloatInput m_flInputValue; // 0x190 + // MPropertyFriendlyName "output control point" + int32_t m_nCPOutput; // 0x278 + // MPropertyFriendlyName "output component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutVectorField; // 0x27c + // MPropertyFriendlyName "interval to snap to" + CParticleCollectionFloatInput m_flQuantizeValue; // 0x280 +}; + +// Alignment: 4 +// Size: 0x6b0 +class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "distance maximum" + CParticleCollectionFloatInput m_flDistance; // 0x188 + // MPropertyFriendlyName "component scale" + CParticleCollectionVecInput m_vecScale; // 0x270 + // MPropertyFriendlyName "distance squared output attribute" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nDistSqrAttr; // 0x6a0 +}; + +// Alignment: 3 +// Size: 0x9f0 +class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "first vector" + CPerParticleVecInput m_vecPoint1; // 0x188 + // MPropertyFriendlyName "second vector" + CPerParticleVecInput m_vecPoint2; // 0x5b8 +}; + +// Alignment: 4 +// Size: 0x190 +class C_OP_InheritFromParentParticles : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "scale" + float m_flScale; // 0x180 + // MPropertyFriendlyName "inherited field" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "particle increment amount" + int32_t m_nIncrement; // 0x188 + // MPropertyFriendlyName "random parent particle distribution" + bool m_bRandomDistribution; // 0x18c +}; + +// Alignment: 4 +// Size: 0x190 +class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "min" + float m_flMin; // 0x180 + // MPropertyFriendlyName "max" + float m_flMax; // 0x184 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + // MPropertyFriendlyName "component 0/1/2 X/Y/Z" + // MPropertyAttributeChoiceName "vector_component" + // MVectorIsSometimesCoordinate + int32_t m_nComponent; // 0x18c +}; + +// Alignment: 2 +// Size: 0x190 +class C_OP_ExternalWindForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "control point to sample wind" + int32_t m_nCP; // 0x180 + // MPropertyFriendlyName "scale" + Vector m_vecScale; // 0x184 +}; + +// Alignment: 6 +// Size: 0x1a0 +class C_INIT_RemapInitialDirectionToCPToVector : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "scale factor" + float m_flScale; // 0x188 + // MPropertyFriendlyName "offset rotation" + float m_flOffsetRot; // 0x18c + // MPropertyFriendlyName "offset axis" + // MVectorIsCoordinate + Vector m_vecOffsetAxis; // 0x190 + // MPropertyFriendlyName "normalize" + bool m_bNormalize; // 0x19c +}; + +// Alignment: 5 +// Size: 0x370 +class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "expression" + ScalarExpressionType_t m_nExpression; // 0x190 + // MPropertyFriendlyName "output control point" + int32_t m_nOutputCP; // 0x194 + // MPropertyFriendlyName "output component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutVectorField; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c +public: + // MPropertyFriendlyName "input 1" + CParticleCollectionFloatInput m_flInput1; // 0x1a0 + // MPropertyFriendlyName "input 2" + CParticleCollectionFloatInput m_flInput2; // 0x288 +}; + +// Alignment: 10 +// Size: 0xa00 +class C_INIT_PositionWarp : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "warp min" + // MVectorIsCoordinate + CParticleCollectionVecInput m_vecWarpMin; // 0x180 + // MPropertyFriendlyName "warp max" + // MVectorIsCoordinate + CParticleCollectionVecInput m_vecWarpMax; // 0x5b0 + // MPropertyFriendlyName "warp scale control point number" + int32_t m_nScaleControlPointNumber; // 0x9e0 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x9e4 + // MPropertyFriendlyName "radius scale component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nRadiusComponent; // 0x9e8 + // MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)" + float m_flWarpTime; // 0x9ec + // MPropertyFriendlyName "warp transition start time" + float m_flWarpStartTime; // 0x9f0 + // MPropertyFriendlyName "previous position sacale" + float m_flPrevPosScale; // 0x9f4 + // MPropertyFriendlyName "reverse warp (0/1)" + bool m_bInvertWarp; // 0x9f8 + // MPropertyFriendlyName "use particle count instead of time" + bool m_bUseCount; // 0x9f9 +}; + +// Alignment: 1 +// Size: 0x190 +class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nCP; // 0x180 +}; + +// Alignment: 10 +// Size: 0x1b0 +class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "control point number (ignored if per particle)" + int32_t m_nControlPointNumber; // 0x184 + // MPropertyFriendlyName "emitter lifetime start time (seconds)" + float m_flStartTime; // 0x188 + // MPropertyFriendlyName "emitter lifetime end time (seconds)" + float m_flEndTime; // 0x18c + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x190 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x194 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x198 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x19c + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1a0 + // MPropertyFriendlyName "per particle" + bool m_bPerParticle; // 0x1a4 +}; + +// Alignment: 8 +// Size: 0x1b0 +class C_OP_RemapCPVisibilityToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x180 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPoint; // 0x184 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + // MPropertyFriendlyName "CP visibility minimum" + float m_flInputMin; // 0x18c + // MPropertyFriendlyName "CP visibility maximum" + float m_flInputMax; // 0x190 + // MPropertyFriendlyName "output minimum" + Vector m_vecOutputMin; // 0x194 + // MPropertyFriendlyName "output maximum" + Vector m_vecOutputMax; // 0x1a0 + // MPropertyFriendlyName "visibility radius" + float m_flRadius; // 0x1ac +}; + +// Alignment: 13 +// Size: 0x5d0 +class C_OP_DistanceBetweenCPs : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "starting control point" + int32_t m_nStartCP; // 0x184 + // MPropertyFriendlyName "ending control point" + int32_t m_nEndCP; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: + // MPropertyFriendlyName "distance minimum" + CPerParticleFloatInput m_flInputMin; // 0x190 + // MPropertyFriendlyName "distance maximum" + CPerParticleFloatInput m_flInputMax; // 0x278 + // MPropertyFriendlyName "output minimum" + CPerParticleFloatInput m_flOutputMin; // 0x360 + // MPropertyFriendlyName "output maximum" + CPerParticleFloatInput m_flOutputMax; // 0x448 + // MPropertyFriendlyName "maximum trace length" + float m_flMaxTraceLength; // 0x530 + // MPropertyFriendlyName "LOS Failure Scalar" + float m_flLOSScale; // 0x534 + // MPropertyFriendlyName "LOS collision group" + char m_CollisionGroupName[128]; // 0x538 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x5b8 + // MPropertyFriendlyName "ensure line of sight" + bool m_bLOS; // 0x5bc +private: + [[maybe_unused]] uint8_t __pad05bd[0x3]; // 0x5bd +public: + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x5c0 +}; + +// Alignment: 0 +// Size: 0x1e0 +class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed +{ +public: + // no members available +}; + +// Alignment: 15 +// Size: 0xba0 +class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "snapshot control point number" + int32_t m_nCPSnapshot; // 0x190 + // MPropertyFriendlyName "start control point number" + int32_t m_nCPStartPnt; // 0x194 + // MPropertyFriendlyName "end control point number" + int32_t m_nCPEndPnt; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c +public: + // MPropertyFriendlyName "Recursion Depth" + CParticleCollectionFloatInput m_flSegments; // 0x1a0 + // MPropertyFriendlyName "Offset" + CParticleCollectionFloatInput m_flOffset; // 0x288 + // MPropertyFriendlyName "Offset Decay" + CParticleCollectionFloatInput m_flOffsetDecay; // 0x370 + // MPropertyFriendlyName "Recalculation Rate" + CParticleCollectionFloatInput m_flRecalcRate; // 0x458 + // MPropertyFriendlyName "UV Scale" + CParticleCollectionFloatInput m_flUVScale; // 0x540 + // MPropertyFriendlyName "UV Offset" + CParticleCollectionFloatInput m_flUVOffset; // 0x628 + // MPropertyFriendlyName "Branch Split Rate" + CParticleCollectionFloatInput m_flSplitRate; // 0x710 + // MPropertyFriendlyName "Branch Twist" + CParticleCollectionFloatInput m_flBranchTwist; // 0x7f8 + // MPropertyFriendlyName "Branch Behavior" + ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0x8e0 +private: + [[maybe_unused]] uint8_t __pad08e4[0x4]; // 0x8e4 +public: + // MPropertyFriendlyName "Start Radius" + CParticleCollectionFloatInput m_flRadiusStart; // 0x8e8 + // MPropertyFriendlyName "End Radius" + CParticleCollectionFloatInput m_flRadiusEnd; // 0x9d0 + // MPropertyFriendlyName "Dedicated Particle Pool Count" + CParticleCollectionFloatInput m_flDedicatedPool; // 0xab8 +}; + +// Alignment: 4 +// Size: 0xa00 +class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "expression" + VectorExpressionType_t m_nExpression; // 0x190 + // MPropertyFriendlyName "output control point" + int32_t m_nOutputCP; // 0x194 + // MPropertyFriendlyName "input 1" + CParticleCollectionVecInput m_vInput1; // 0x198 + // MPropertyFriendlyName "input 2" + CParticleCollectionVecInput m_vInput2; // 0x5c8 +}; + +// Alignment: 3 +// Size: 0x14 +struct ControlPointReference_t +{ +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 +}; + +// Alignment: 15 +// Size: 0x678 +struct TextureControls_t +{ +public: + // MPropertyFriendlyName "horizontal texture scale" + CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0 + // MPropertyFriendlyName "vertical texture scale" + CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0xe8 + // MPropertyFriendlyName "horizontal texture offset" + CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x1d0 + // MPropertyFriendlyName "vertical texture offset" + CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x2b8 + // MPropertyFriendlyName "texture rotation / animation rate scale" + CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x3a0 + // MPropertyFriendlyName "Infinite Zoom Scale" + CParticleCollectionFloatInput m_flZoomScale; // 0x488 + // MPropertyFriendlyName "Distortion Amount" + CParticleCollectionFloatInput m_flDistortion; // 0x570 + // MPropertyFriendlyName "Randomize Initial Offset" + bool m_bRandomizeOffsets; // 0x658 + // MPropertyFriendlyName "Clamp UVs" + bool m_bClampUVs; // 0x659 +private: + [[maybe_unused]] uint8_t __pad065a[0x2]; // 0x65a +public: + // MPropertyFriendlyName "per-particle scalar for scale" + SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x65c + // MPropertyFriendlyName "per-particle scalar for horizontal offset" + SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x660 + // MPropertyFriendlyName "per-particle scalar for vertical offset" + SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x664 + // MPropertyFriendlyName "per-particle scalar for rotation" + SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x668 + // MPropertyFriendlyName "per-particle scalar for zoom" + SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x66c + // MPropertyFriendlyName "per-particle scalar for distortion" + SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x670 +}; + +// Alignment: 4 +// Size: 0x190 +class C_OP_Orient2DRelToCP : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "rotation offset" + float m_flRotOffset; // 0x180 + // MPropertyFriendlyName "spin strength" + float m_flSpinStrength; // 0x184 + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x188 + // MPropertyFriendlyName "rotation field" + // MPropertyAttributeChoiceName "particlefield_rotation" + ParticleAttributeIndex_t m_nFieldOutput; // 0x18c +}; + +// Alignment: 3 +// Size: 0x190 +class C_INIT_RandomRadius : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "radius min" + // MPropertyAttributeRange "biased 0 500" + float m_flRadiusMin; // 0x180 + // MPropertyFriendlyName "radius max" + // MPropertyAttributeRange "biased 0 500" + float m_flRadiusMax; // 0x184 + // MPropertyFriendlyName "radius random exponent" + // MPropertyAttributeRange "-2 2" + float m_flRadiusRandExponent; // 0x188 +}; + +// Alignment: 5 +// Size: 0x1a0 +class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "random speed min" + float m_fSpeedMin; // 0x184 + // MPropertyFriendlyName "random speed max" + float m_fSpeedMax; // 0x188 + // MPropertyFriendlyName "local space scale" + Vector m_vecLocalCoordinateSystemSpeedScale; // 0x18c +private: + [[maybe_unused]] uint8_t __pad0198[0x1]; // 0x198 +public: + // MPropertyFriendlyName "ignore delta time" + bool m_bIgnoreDelta; // 0x199 +}; + +// Alignment: 0 +// Size: 0x1d0 +class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x40 +class CPiecewiseCurveSchemaWrapper +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x190 +class C_INIT_RandomLifeTime : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "lifetime min" + // MPropertyAttributeRange "0 20" + float m_fLifetimeMin; // 0x180 + // MPropertyFriendlyName "lifetime max" + // MPropertyAttributeRange "0 20" + float m_fLifetimeMax; // 0x184 + // MPropertyFriendlyName "lifetime random exponent" + float m_fLifetimeRandExponent; // 0x188 +}; + +// Alignment: 7 +// Size: 0x380 +class C_OP_AttractToControlPoint : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "component scale" + // MVectorIsCoordinate + Vector m_vecComponentScale; // 0x180 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: + // MPropertyFriendlyName "amount of force (or Max Force)" + CPerParticleFloatInput m_fForceAmount; // 0x190 + // MPropertyFriendlyName "falloff power" + float m_fFalloffPower; // 0x278 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x27c + // MPropertyFriendlyName "scale in local space" + bool m_bScaleLocal; // 0x280 +private: + [[maybe_unused]] uint8_t __pad0281[0x7]; // 0x281 +public: + // MPropertyFriendlyName "Min Pullforce" + CPerParticleFloatInput m_fForceAmountMin; // 0x288 + // MPropertyFriendlyName "Apply Min Pullforce" + bool m_bApplyMinForce; // 0x370 +}; + +// Alignment: 14 +// Size: 0x1b0 +class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "scale size multiplier from CP" + int32_t m_nScaleCP; // 0x184 + // MPropertyFriendlyName "scale CP component 0/1/2 X/Y/Z" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nComponent; // 0x188 + // MPropertyFriendlyName "center core radius" + float m_fRadCentCore; // 0x18c + // MPropertyFriendlyName "radius multiplier" + float m_fRadPerPoint; // 0x190 + // MPropertyFriendlyName "radius max (-1 procedural growth)" + float m_fRadPerPointTo; // 0x194 + // MPropertyFriendlyName "golden angle (is 137.508)" + float m_fpointAngle; // 0x198 + // MPropertyFriendlyName "overall size multiplier (-1 count based distribution)" + float m_fsizeOverall; // 0x19c + // MPropertyFriendlyName "radius bias" + float m_fRadBias; // 0x1a0 + // MPropertyFriendlyName "radius min " + float m_fMinRad; // 0x1a4 + // MPropertyFriendlyName "distribution bias" + float m_fDistBias; // 0x1a8 + // MPropertyFriendlyName "local space" + bool m_bUseLocalCoords; // 0x1ac + // MPropertyFriendlyName "use continuous emission" + bool m_bUseWithContEmit; // 0x1ad + // MPropertyFriendlyName "scale radius from initial value" + bool m_bUseOrigRadius; // 0x1ae +}; + +// Alignment: 4 +// Size: 0x1a0 +class C_OP_BoxConstraint : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "min coords" + Vector m_vecMin; // 0x180 + // MPropertyFriendlyName "max coords" + Vector m_vecMax; // 0x18c + // MPropertyFriendlyName "control point" + int32_t m_nCP; // 0x198 + // MPropertyFriendlyName "use local space" + bool m_bLocalSpace; // 0x19c +}; + +// Alignment: 5 +// Size: 0x1b0 +class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "group ID to affect" + int32_t m_nChildGroupID; // 0x190 + // MPropertyFriendlyName "control point to set" + int32_t m_nChildControlPoint; // 0x194 + // MPropertyFriendlyName "# of children to set" + int32_t m_nNumControlPoints; // 0x198 + // MPropertyFriendlyName "first parent control point to set from" + int32_t m_nFirstSourcePoint; // 0x19c + // MPropertyFriendlyName "set orientation" + bool m_bSetOrientation; // 0x1a0 +}; + +// Alignment: 8 +// Size: 0x1a0 +class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "group ID to affect" + int32_t m_nChildGroupID; // 0x180 + // MPropertyFriendlyName "control point to set" + int32_t m_nFirstControlPoint; // 0x184 + // MPropertyFriendlyName "# of children to set" + int32_t m_nNumControlPoints; // 0x188 + // MPropertyFriendlyName "particle increment amount" + int32_t m_nParticleIncrement; // 0x18c + // MPropertyFriendlyName "first particle to copy" + int32_t m_nFirstSourcePoint; // 0x190 + // MPropertyFriendlyName "set number of children based on particle count" + bool m_bNumBasedOnParticleCount; // 0x194 +private: + [[maybe_unused]] uint8_t __pad0195[0x3]; // 0x195 +public: + // MPropertyFriendlyName "field to read" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nAttributeToRead; // 0x198 + // MPropertyFriendlyName "control point field for scalars" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nCPField; // 0x19c +}; + +// Alignment: 4 +// Size: 0x1a0 +class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldInput; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "output offset minimum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMin; // 0x188 + // MPropertyFriendlyName "output offset maximum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMax; // 0x194 +}; + +// Alignment: 3 +// Size: 0x190 +class C_OP_GlobalLight : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "initial color bias" + float m_flScale; // 0x180 + // MPropertyFriendlyName "clamp minimum light value to initial color" + bool m_bClampLowerRange; // 0x184 + // MPropertyFriendlyName "clamp maximum light value to initial color" + bool m_bClampUpperRange; // 0x185 +}; + +// Alignment: 11 +// Size: 0x1b0 +class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "percentage minimum" + float m_flInputMin; // 0x180 + // MPropertyFriendlyName "percentage maximum" + float m_flInputMax; // 0x184 + // MPropertyFriendlyName "percentage bias" + float m_flInputBias; // 0x188 + // MPropertyFriendlyName "starting control point" + int32_t m_nStartCP; // 0x18c + // MPropertyFriendlyName "ending control point" + int32_t m_nEndCP; // 0x190 + // MPropertyFriendlyName "offset control point" + int32_t m_nOffsetCP; // 0x194 + // MPropertyFriendlyName "output control point" + int32_t m_nOuputCP; // 0x198 + // MPropertyFriendlyName "input control point" + int32_t m_nInputCP; // 0x19c + // MPropertyFriendlyName "treat distance between points as radius" + bool m_bRadialCheck; // 0x1a0 + // MPropertyFriendlyName "treat offset as scale of total distance" + bool m_bScaleOffset; // 0x1a1 +private: + [[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2 +public: + // MPropertyFriendlyName "offset amount" + // MVectorIsCoordinate + Vector m_vecOffset; // 0x1a4 +}; + +// Alignment: 0 +// Size: 0x1d0 +class C_OP_Callback : public CParticleFunctionRenderer +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x210 +class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "field to init" + // MPropertyAttributeChoiceName "particlefield" + ParticleAttributeIndex_t m_nAttributeToCopy; // 0x180 +}; + +// Alignment: 0 +// Size: 0x1b0 +class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement +{ +public: + // no members available +}; + +// Alignment: 3 +// Size: 0x1a0 +class C_OP_BasicMovement : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "gravity" + // MVectorIsCoordinate + Vector m_Gravity; // 0x180 + // MPropertyFriendlyName "drag" + // MPropertyAttributeRange "-1 1" + float m_fDrag; // 0x18c + // MPropertyFriendlyName "max constraint passes" + int32_t m_nMaxConstraintPasses; // 0x190 +}; + +// Alignment: 2 +// Size: 0x290 +class C_OP_QuantizeFloat : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "value" + CPerParticleFloatInput m_InputValue; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nOutputField; // 0x268 +}; + +// Alignment: 11 +// Size: 0x1b0 +class C_INIT_RemapScalar : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x188 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x18c + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x190 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x194 + // MPropertyFriendlyName "emitter lifetime start time (seconds)" + float m_flStartTime; // 0x198 + // MPropertyFriendlyName "emitter lifetime end time (seconds)" + float m_flEndTime; // 0x19c + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1a0 + // MPropertyFriendlyName "only active within specified input range" + bool m_bActiveRange; // 0x1a4 +private: + [[maybe_unused]] uint8_t __pad01a5[0x3]; // 0x1a5 +public: + // MPropertyFriendlyName "remap bias" + float m_flRemapBias; // 0x1a8 +}; + +// Alignment: 7 +// Size: 0x610 +class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "minimum speed" + CPerParticleFloatInput m_flSpeedMin; // 0x180 + // MPropertyFriendlyName "maximum speed" + CPerParticleFloatInput m_flSpeedMax; // 0x268 + // MPropertyFriendlyName "end spread" + CPerParticleFloatInput m_flEndSpread; // 0x350 + // MPropertyFriendlyName "start offset" + CPerParticleFloatInput m_flStartOffset; // 0x438 + // MPropertyFriendlyName "end offset" + CPerParticleFloatInput m_flEndOffset; // 0x520 + // MPropertyFriendlyName "end control point" + int32_t m_nEndControlPointNumber; // 0x608 + // MPropertyFriendlyName "bias lifetime by trail length" + bool m_bTrailBias; // 0x60c +}; + +// Alignment: 1 +// Size: 0x190 +class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "frames per second" + float m_flFramerate; // 0x180 +}; + +// Alignment: 6 +// Size: 0x1b0 +class C_OP_OscillateVectorSimple : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "oscillation rate" + // MVectorIsSometimesCoordinate + Vector m_Rate; // 0x180 + // MPropertyFriendlyName "oscillation frequency" + Vector m_Frequency; // 0x18c + // MPropertyFriendlyName "oscillation field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nField; // 0x198 + // MPropertyFriendlyName "oscillation multiplier" + float m_flOscMult; // 0x19c + // MPropertyFriendlyName "oscillation start phase" + float m_flOscAdd; // 0x1a0 + // MPropertyFriendlyName "offset instead of accelerate position" + bool m_bOffset; // 0x1a4 +}; + +// Alignment: 6 +// Size: 0x450 +class C_OP_ContinuousEmitter : public CParticleFunctionEmitter +{ +public: + // MPropertyFriendlyName "emission duration" + CParticleCollectionFloatInput m_flEmissionDuration; // 0x180 + // MPropertyFriendlyName "emission start time" + CParticleCollectionFloatInput m_flStartTime; // 0x268 + // MPropertyFriendlyName "emission rate" + CParticleCollectionFloatInput m_flEmitRate; // 0x350 + // MPropertyFriendlyName "scale emission to used control points" + // MParticleMaxVersion + float m_flEmissionScale; // 0x438 + // MPropertyFriendlyName "scale emission by parent particle count" + float m_flScalePerParentParticle; // 0x43c + // MPropertyFriendlyName "emit particles for killed parent particles" + bool m_bInitFromKilledParentParticles; // 0x440 +}; + +// Alignment: 3 +// Size: 0x1b0 +class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x1a0 + // MPropertyFriendlyName "output value at min distance" + float m_flMinOutputValue; // 0x1a4 + // MPropertyFriendlyName "output value at max distance" + float m_flMaxOutputValue; // 0x1a8 +}; + +// Alignment: 1 +// Size: 0x190 +class C_OP_EndCapTimedDecay : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "decay time" + float m_flDecayTime; // 0x180 +}; + +// Alignment: 6 +// Size: 0x1d0 +class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "maximum distance" + float m_fMaxDistance; // 0x180 + // MPropertyFriendlyName "particles to map from start to end" + float m_flNumToAssign; // 0x184 + // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" + bool m_bLoop; // 0x188 + // MPropertyFriendlyName "use sequential CP pairs between start and end point" + bool m_bCPPairs; // 0x189 + // MPropertyFriendlyName "save offset" + bool m_bSaveOffset; // 0x18a +private: + [[maybe_unused]] uint8_t __pad018b[0x5]; // 0x18b +public: + CPathParameters m_PathParams; // 0x190 +}; + +// Alignment: 1 +// Size: 0x270 +class C_OP_DecayOffscreen : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Offscreen Time Before Decay" + CParticleCollectionFloatInput m_flOffscreenTime; // 0x180 +}; + +// Alignment: 8 +// Size: 0x1a0 +class C_OP_RemapCPVisibilityToScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x180 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPoint; // 0x184 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + // MPropertyFriendlyName "CP visibility minimum" + float m_flInputMin; // 0x18c + // MPropertyFriendlyName "CP visibility maximum" + float m_flInputMax; // 0x190 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x194 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x198 + // MPropertyFriendlyName "visibility radius" + float m_flRadius; // 0x19c +}; + +// Alignment: 6 +// Size: 0x1a0 +class C_OP_RemapScalar : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x188 + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x18c + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x190 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x194 +}; + +// Alignment: 3 +// Size: 0x190 +class C_INIT_RandomTrailLength : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "length min" + float m_flMinLength; // 0x180 + // MPropertyFriendlyName "length max" + float m_flMaxLength; // 0x184 + // MPropertyFriendlyName "length random exponent" + float m_flLengthRandExponent; // 0x188 +}; + +// Alignment: 11 +// Size: 0x8d0 +class C_INIT_RingWave : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "even distribution count" + CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x188 + // MPropertyFriendlyName "initial radius" + CPerParticleFloatInput m_flInitialRadius; // 0x270 + // MPropertyFriendlyName "thickness" + CPerParticleFloatInput m_flThickness; // 0x358 + // MPropertyFriendlyName "min initial speed" + CPerParticleFloatInput m_flInitialSpeedMin; // 0x440 + // MPropertyFriendlyName "max initial speed" + CPerParticleFloatInput m_flInitialSpeedMax; // 0x528 + // MPropertyFriendlyName "roll" + CPerParticleFloatInput m_flRoll; // 0x610 + // MPropertyFriendlyName "pitch" + CPerParticleFloatInput m_flPitch; // 0x6f8 + // MPropertyFriendlyName "yaw" + CPerParticleFloatInput m_flYaw; // 0x7e0 + // MPropertyFriendlyName "even distribution" + bool m_bEvenDistribution; // 0x8c8 + // MPropertyFriendlyName "XY velocity only" + bool m_bXYVelocityOnly; // 0x8c9 +}; + +// Alignment: 9 +// Size: 0x730 +class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 + // MPropertyFriendlyName "desired hitbox" + int32_t m_nDesiredHitbox; // 0x184 + // MPropertyFriendlyName "model hitbox scale" + CParticleCollectionVecInput m_vecHitBoxScale; // 0x188 + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0x5b8 + // MPropertyFriendlyName "use bones instead of hitboxes" + bool m_bUseBones; // 0x638 + // MPropertyFriendlyName "get closest point on closest hitbox" + bool m_bUseClosestPointOnHitbox; // 0x639 +private: + [[maybe_unused]] uint8_t __pad063a[0x2]; // 0x63a +public: + // MPropertyFriendlyName "closest point test type" + ClosestPointTestType_t m_nTestType; // 0x63c + // MPropertyFriendlyName "hybrid ratio" + CParticleCollectionFloatInput m_flHybridRatio; // 0x640 + // MPropertyFriendlyName "set initial position" + bool m_bUpdatePosition; // 0x728 +}; + +// Alignment: 3 +// Size: 0x190 +class C_OP_RemapVelocityToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "scale factor" + float m_flScale; // 0x184 + // MPropertyFriendlyName "normalize" + bool m_bNormalize; // 0x188 +}; + +// Alignment: 4 +// Size: 0x1e0 +class C_OP_RenderTonemapController : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "tonemap level scale" + float m_flTonemapLevel; // 0x1d0 + // MPropertyFriendlyName "tonemap weight scale" + float m_flTonemapWeight; // 0x1d4 + // MPropertyFriendlyName "tonemap level" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nTonemapLevelField; // 0x1d8 + // MPropertyFriendlyName "tonemap weight" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nTonemapWeightField; // 0x1dc +}; + +// Alignment: 5 +// Size: 0x460 +class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "group ID to affect" + int32_t m_nChildGroupID; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0194[0x4]; // 0x194 +public: + // MPropertyFriendlyName "Within-Cluster Refire Time" + CParticleCollectionFloatInput m_flClusterRefireTime; // 0x198 + // MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown" + CParticleCollectionFloatInput m_flClusterSize; // 0x280 + // MPropertyFriendlyName "Cluster Cooldown Time" + CParticleCollectionFloatInput m_flClusterCooldown; // 0x368 + // MPropertyFriendlyName "limit active children to parent particle count" + bool m_bLimitChildCount; // 0x450 +}; + +// Alignment: 2 +// Size: 0x190 +class C_OP_FadeInSimple : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "proportional fade in time" + float m_flFadeInTime; // 0x180 + // MPropertyFriendlyName "alpha field" + // MPropertyAttributeChoiceName "particlefield_alpha" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 +}; + +// Alignment: 2 +// Size: 0x190 +class C_OP_NormalizeVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "scale factor" + float m_flScale; // 0x184 +}; + +// Alignment: 4 +// Size: 0x1a0 +class C_INIT_RandomAlpha : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "alpha field" + // MPropertyAttributeChoiceName "particlefield_alpha" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + // MPropertyFriendlyName "alpha min" + // MPropertyAttributeRange "0 255" + int32_t m_nAlphaMin; // 0x184 + // MPropertyFriendlyName "alpha max" + // MPropertyAttributeRange "0 255" + int32_t m_nAlphaMax; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x8]; // 0x18c +public: + // MPropertyFriendlyName "alpha random exponent" + float m_flAlphaRandExponent; // 0x194 +}; + +// Alignment: 9 +// Size: 0x5d0 +class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "input control point" + int32_t m_nInControlPointNumber; // 0x190 + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x194 + // MPropertyFriendlyName "Output component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nField; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c +public: + // MPropertyFriendlyName "input minimum" + CParticleCollectionFloatInput m_flInputMin; // 0x1a0 + // MPropertyFriendlyName "input maximum" + CParticleCollectionFloatInput m_flInputMax; // 0x288 + // MPropertyFriendlyName "output minimum" + CParticleCollectionFloatInput m_flOutputMin; // 0x370 + // MPropertyFriendlyName "output maximum" + CParticleCollectionFloatInput m_flOutputMax; // 0x458 + // MPropertyFriendlyName "intersection height CP" + int32_t m_nHeightControlPointNumber; // 0x540 + // MPropertyFriendlyName "hitbox set" + char m_HitboxSetName[128]; // 0x544 +}; + +// Alignment: 5 +// Size: 0x270 +class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "force scale" + CPerParticleFloatInput m_flForceScale; // 0x180 + // MPropertyFriendlyName "rope shake" + bool m_bRopes; // 0x268 + // MPropertyFriendlyName "limit rope impulses to Z" + bool m_bRopesZOnly; // 0x269 + // MPropertyFriendlyName "explosions" + bool m_bExplosions; // 0x26a + // MPropertyFriendlyName "particle systems" + bool m_bParticles; // 0x26b +}; + +// Alignment: 0 +// Size: 0x430 +class CPerParticleVecInput : public CParticleVecInput +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x290 +class C_INIT_RandomModelSequence : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "activity" + char m_ActivityName[256]; // 0x180 + // MPropertyFriendlyName "model" + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x280 +}; + +// Alignment: 4 +// Size: 0x190 +class C_OP_DecayMaintainCount : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "count to maintain" + int32_t m_nParticlesToMaintain; // 0x180 + // MPropertyFriendlyName "maintain count scale control point" + int32_t m_nScaleControlPoint; // 0x184 + // MPropertyFriendlyName "maintain count scale control point field" + int32_t m_nScaleControlPointField; // 0x188 + // MPropertyFriendlyName "decay delay" + float m_flDecayDelay; // 0x18c +}; + +// Alignment: 3 +// Size: 0x230 +class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x190 + // MPropertyFriendlyName "time-of-day parameter" + char m_pszTimeOfDayParameter[128]; // 0x194 + // MPropertyFriendlyName "default value" + Vector m_vecDefaultValue; // 0x214 +}; + +// Alignment: 18 +// Size: 0x2510 +class C_OP_RenderTrails : public CBaseTrailRenderer +{ +public: + // MPropertyStartGroup "Screenspace Fading and culling" + // MPropertyFriendlyName "enable fading and clamping" + // MPropertySortPriority "1000" + bool m_bEnableFadingAndClamping; // 0x18e0 +private: + [[maybe_unused]] uint8_t __pad18e1[0x3]; // 0x18e1 +public: + // MPropertyStartGroup "+Trail Length" + // MPropertyFriendlyName "Anchor point source" + // MPropertyAttributeChoiceName "particlefield_vector" + // MPropertySortPriority "800" + ParticleAttributeIndex_t m_nPrevPntSource; // 0x18e4 + // MPropertyFriendlyName "max length" + // MPropertySortPriority "800" + float m_flMaxLength; // 0x18e8 + // MPropertyFriendlyName "min length" + // MPropertySortPriority "800" + float m_flMinLength; // 0x18ec + // MPropertyFriendlyName "ignore delta time" + // MPropertySortPriority "800" + bool m_bIgnoreDT; // 0x18f0 +private: + [[maybe_unused]] uint8_t __pad18f1[0x3]; // 0x18f1 +public: + // MPropertyFriendlyName "constrain radius to no more than this times the length" + // MPropertySortPriority "800" + float m_flConstrainRadiusToLengthRatio; // 0x18f4 + // MPropertyFriendlyName "amount to scale trail length by" + float m_flLengthScale; // 0x18f8 + // MPropertyFriendlyName "how long before a trail grows to its full length" + float m_flLengthFadeInTime; // 0x18fc + // MPropertyStartGroup "Trail Head & Tail" + // MPropertyFriendlyName "head taper scale" + // MPropertySortPriority "800" + CPerParticleFloatInput m_flRadiusHeadTaper; // 0x1900 + // MPropertyFriendlyName "head color scale" + CParticleCollectionVecInput m_vecHeadColorScale; // 0x19e8 + // MPropertyFriendlyName "head alpha scale" + CPerParticleFloatInput m_flHeadAlphaScale; // 0x1e18 + // MPropertyFriendlyName "tail taper scale" + CPerParticleFloatInput m_flRadiusTaper; // 0x1f00 + // MPropertyFriendlyName "tail color scale" + CParticleCollectionVecInput m_vecTailColorScale; // 0x1fe8 + // MPropertyFriendlyName "tail alpha scale" + CPerParticleFloatInput m_flTailAlphaScale; // 0x2418 + // MPropertyStartGroup "Trail UV Controls" + // MPropertyFriendlyName "texture UV horizontal Scale field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "800" + ParticleAttributeIndex_t m_nHorizCropField; // 0x2500 + // MPropertyFriendlyName "texture UV vertical Scale field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nVertCropField; // 0x2504 + // MPropertyFriendlyName "Trail forward shift (fraction)" + float m_flForwardShift; // 0x2508 + // MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI" + bool m_bFlipUVBasedOnPitchYaw; // 0x250c +}; + +// Alignment: 0 +// Size: 0x1d0 +class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar +{ +public: + // no members available +}; + +// Alignment: 8 +// Size: 0x540 +class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "first input control point" + int32_t m_nInputCP1; // 0x190 + // MPropertyFriendlyName "second input control point" + int32_t m_nInputCP2; // 0x194 + // MPropertyFriendlyName "output control point" + int32_t m_nOutputCP; // 0x198 + // MPropertyFriendlyName "output component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nOutVectorField; // 0x19c + // MPropertyFriendlyName "input minimum (-1 to 1)" + CParticleCollectionFloatInput m_flInputMin; // 0x1a0 + // MPropertyFriendlyName "input maximum (-1 to 1)" + CParticleCollectionFloatInput m_flInputMax; // 0x288 + // MPropertyFriendlyName "output minimum" + CParticleCollectionFloatInput m_flOutputMin; // 0x370 + // MPropertyFriendlyName "output maximum" + CParticleCollectionFloatInput m_flOutputMax; // 0x458 +}; + +// Alignment: 3 +// Size: 0x190 +class C_OP_OrientTo2dDirection : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "rotation offset" + float m_flRotOffset; // 0x180 + // MPropertyFriendlyName "spin strength" + float m_flSpinStrength; // 0x184 + // MPropertyFriendlyName "rotation field" + // MPropertyAttributeChoiceName "particlefield_rotation" + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 +}; + +// Alignment: 0 +// Size: 0x180 +class C_OP_SpinUpdate : public CSpinUpdateBase +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x1a10 +class C_OP_RenderFogSprites : public C_OP_RenderSprites +{ +public: + // MPropertyFriendlyName "material" + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x1a00 +}; + +// Alignment: 5 +// Size: 0x5d0 +class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point to sample wind" + int32_t m_nCP; // 0x190 + // MPropertyFriendlyName "output control point" + int32_t m_nCPOutput; // 0x194 + // MPropertyFriendlyName "wind scale" + CParticleCollectionVecInput m_vecScale; // 0x198 + // MPropertyFriendlyName "set magnitude instead of vector" + bool m_bSetMagnitude; // 0x5c8 +private: + [[maybe_unused]] uint8_t __pad05c9[0x3]; // 0x5c9 +public: + // MPropertyFriendlyName "magnitude output component" + // MPropertyAttributeChoiceName "vector_component" + // MPropertySuppressExpr "!m_bSetMagnitude" + int32_t m_nOutVectorField; // 0x5cc +}; + +// Alignment: 13 +// Size: 0x1e0 +class C_INIT_RemapCPtoVector : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "input minimum" + // MVectorIsSometimesCoordinate + Vector m_vInputMin; // 0x188 + // MPropertyFriendlyName "input maximum" + // MVectorIsSometimesCoordinate + Vector m_vInputMax; // 0x194 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vOutputMin; // 0x1a0 + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vOutputMax; // 0x1ac + // MPropertyFriendlyName "emitter lifetime start time (seconds)" + float m_flStartTime; // 0x1b8 + // MPropertyFriendlyName "emitter lifetime end time (seconds)" + float m_flEndTime; // 0x1bc + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x1c0 + // MPropertyFriendlyName "offset position" + bool m_bOffset; // 0x1c4 + // MPropertyFriendlyName "accelerate position" + bool m_bAccelerate; // 0x1c5 +private: + [[maybe_unused]] uint8_t __pad01c6[0x2]; // 0x1c6 +public: + // MPropertyFriendlyName "local space CP" + int32_t m_nLocalSpaceCP; // 0x1c8 + // MPropertyFriendlyName "remap bias" + float m_flRemapBias; // 0x1cc +}; + +// Alignment: 11 +// Size: 0x1c0 +class C_OP_TeleportBeam : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "Position Control Point" + int32_t m_nCPPosition; // 0x180 + // MPropertyFriendlyName "Velocity Control Point" + int32_t m_nCPVelocity; // 0x184 + // MPropertyFriendlyName "Misc Control Point" + int32_t m_nCPMisc; // 0x188 + // MPropertyFriendlyName "Color Control Point" + int32_t m_nCPColor; // 0x18c + // MPropertyFriendlyName "Invalid Color Control Point" + int32_t m_nCPInvalidColor; // 0x190 + // MPropertyFriendlyName "Extra Arc Data Point" + int32_t m_nCPExtraArcData; // 0x194 + // MPropertyFriendlyName "Gravity" + Vector m_vGravity; // 0x198 + // MPropertyFriendlyName "Arc Duration Maximum" + float m_flArcMaxDuration; // 0x1a4 + // MPropertyFriendlyName "Segment Break" + float m_flSegmentBreak; // 0x1a8 + // MPropertyFriendlyName "Arc Speed" + float m_flArcSpeed; // 0x1ac + // MPropertyFriendlyName "Alpha" + float m_flAlpha; // 0x1b0 +}; + +// Alignment: 4 +// Size: 0x1a0 +class C_OP_TwistAroundAxis : public CParticleFunctionForce +{ +public: + // MPropertyFriendlyName "amount of force" + float m_fForceAmount; // 0x180 + // MPropertyFriendlyName "twist axis" + // MVectorIsCoordinate + Vector m_TwistAxis; // 0x184 + // MPropertyFriendlyName "object local space axis 0/1" + bool m_bLocalSpace; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191 +public: + // MPropertyFriendlyName "control point" + int32_t m_nControlPointNumber; // 0x194 +}; + +// Alignment: 6 +// Size: 0xbc0 +class C_INIT_VelocityRandom : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "random speed min" + CPerParticleFloatInput m_fSpeedMin; // 0x188 + // MPropertyFriendlyName "random speed max" + CPerParticleFloatInput m_fSpeedMax; // 0x270 + // MPropertyFriendlyName "speed in local coordinate system min" + // MVectorIsCoordinate + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x358 + // MPropertyFriendlyName "speed in local coordinate system max" + // MVectorIsCoordinate + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x788 + // MPropertyFriendlyName "Ignore delta time (RenderTrails)" + bool m_bIgnoreDT; // 0xbb8 +}; + +// Alignment: 4 +// Size: 0x1a0 +class C_OP_PlaneCull : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point for point on plane" + int32_t m_nPlaneControlPoint; // 0x180 + // MPropertyFriendlyName "plane normal" + // MVectorIsCoordinate + Vector m_vecPlaneDirection; // 0x184 + // MPropertyFriendlyName "use local space" + bool m_bLocalSpace; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191 +public: + // MPropertyFriendlyName "cull plane offset" + float m_flPlaneOffset; // 0x194 +}; + +// Alignment: 0 +// Size: 0x1b0 +class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x190 +class C_OP_RemapCPtoVelocity : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x180 +}; + +// Alignment: 8 +// Size: 0x1a0 +class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "remap time proportional" + bool m_bProportional; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0181[0x3]; // 0x181 +public: + // MPropertyFriendlyName "input field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldInput; // 0x184 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + // MPropertyFriendlyName "input minimum" + float m_flInputMin; // 0x18c + // MPropertyFriendlyName "input maximum" + float m_flInputMax; // 0x190 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x194 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x198 + // MPropertyFriendlyName "remap time" + float m_flRemapTime; // 0x19c +}; + +// Alignment: 5 +// Size: 0x20 +struct ParticleChildrenInfo_t +{ +public: + // MPropertySuppressField + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_ChildRef; // 0x0 + // MPropertyFriendlyName "delay" + float m_flDelay; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x2]; // 0xc +public: + // MPropertyFriendlyName "end cap effect" + bool m_bEndCap; // 0xe + // MPropertySuppressField + bool m_bDisableChild; // 0xf + // MPropertyFriendlyName "disable at detail levels below" + ParticleDetailLevel_t m_nDetailLevel; // 0x10 +}; + +// Alignment: 11 +// Size: 0x10f0 +class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "absolute value" + // MVectorIsCoordinate + Vector m_vecAbsVal; // 0x180 + // MPropertyFriendlyName "invert abs value" + // MVectorIsCoordinate + Vector m_vecAbsValInv; // 0x18c + // MPropertyFriendlyName "spatial coordinate offset" + // MVectorIsCoordinate + CPerParticleVecInput m_vecOffsetLoc; // 0x198 + // MPropertyFriendlyName "time coordinate offset" + CPerParticleFloatInput m_flOffset; // 0x5c8 + // MPropertyFriendlyName "output minimum" + CPerParticleVecInput m_vecOutputMin; // 0x6b0 + // MPropertyFriendlyName "output maximum" + CPerParticleVecInput m_vecOutputMax; // 0xae0 + // MPropertyFriendlyName "time noise coordinate scale" + CPerParticleFloatInput m_flNoiseScale; // 0xf10 + // MPropertyFriendlyName "spatial noise coordinate scale" + CPerParticleFloatInput m_flNoiseScaleLoc; // 0xff8 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x10e0 + // MPropertyFriendlyName "apply velocity in local space (0/1)" + bool m_bLocalSpace; // 0x10e4 + // MPropertyFriendlyName "ignore delta time" + bool m_bIgnoreDt; // 0x10e5 +}; + +// Alignment: 3 +// Size: 0x1a0 +class C_INIT_RandomVector : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "min" + // MVectorIsSometimesCoordinate + Vector m_vecMin; // 0x180 + // MPropertyFriendlyName "max" + // MVectorIsSometimesCoordinate + Vector m_vecMax; // 0x18c + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x198 +}; + +// Alignment: 5 +// Size: 0x370 +class C_OP_ConstrainDistance : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "minimum distance" + CParticleCollectionFloatInput m_fMinDistance; // 0x180 + // MPropertyFriendlyName "maximum distance" + CParticleCollectionFloatInput m_fMaxDistance; // 0x268 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x350 + // MPropertyFriendlyName "offset of center" + // MVectorIsCoordinate + Vector m_CenterOffset; // 0x354 + // MPropertyFriendlyName "global center point" + bool m_bGlobalCenter; // 0x360 +}; + +// Alignment: 8 +// Size: 0x230 +class C_INIT_RtEnvCull : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "test direction" + // MVectorIsCoordinate + Vector m_vecTestDir; // 0x180 + // MPropertyFriendlyName "cull normal" + // MVectorIsCoordinate + Vector m_vecTestNormal; // 0x18c + // MPropertyFriendlyName "use velocity for test direction" + bool m_bUseVelocity; // 0x198 + // MPropertyFriendlyName "cull on miss" + bool m_bCullOnMiss; // 0x199 + // MPropertyFriendlyName "velocity test adjust lifespan" + bool m_bLifeAdjust; // 0x19a + // MPropertyFriendlyName "ray trace environment name" + char m_RtEnvName[128]; // 0x19b +private: + [[maybe_unused]] uint8_t __pad021b[0x1]; // 0x21b +public: + // MPropertyFriendlyName "ray trace environment cp" + int32_t m_nRTEnvCP; // 0x21c + // MPropertyFriendlyName "rt env control point component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nComponent; // 0x220 +}; + +// Alignment: 18 +// Size: 0x1e0 +class C_INIT_StatusEffect : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "D_DETAIL_2" + Detail2Combo_t m_nDetail2Combo; // 0x180 + // MPropertyFriendlyName "$DETAIL2ROTATION" + float m_flDetail2Rotation; // 0x184 + // MPropertyFriendlyName "$DETAIL2SCALE" + float m_flDetail2Scale; // 0x188 + // MPropertyFriendlyName "$DETAIL2BLENDFACTOR" + float m_flDetail2BlendFactor; // 0x18c + // MPropertyFriendlyName "$COLORWARPINTENSITY" + float m_flColorWarpIntensity; // 0x190 + // MPropertyFriendlyName "$DIFFUSEWARPBLENDTOFULL" + float m_flDiffuseWarpBlendToFull; // 0x194 + // MPropertyFriendlyName "$ENVMAPINTENSITY" + float m_flEnvMapIntensity; // 0x198 + // MPropertyFriendlyName "$AMBIENTSCALE" + float m_flAmbientScale; // 0x19c + // MPropertyFriendlyName "$SPECULARCOLOR" + Color m_specularColor; // 0x1a0 + // MPropertyFriendlyName "$SPECULARSCALE" + float m_flSpecularScale; // 0x1a4 + // MPropertyFriendlyName "$SPECULAREXPONENT" + float m_flSpecularExponent; // 0x1a8 + // MPropertyFriendlyName "$SPECULAREXPONENTBLENDTOFULL" + float m_flSpecularExponentBlendToFull; // 0x1ac + // MPropertyFriendlyName "$SPECULARBLENDTOFULL" + float m_flSpecularBlendToFull; // 0x1b0 + // MPropertyFriendlyName "$RIMLIGHTCOLOR" + Color m_rimLightColor; // 0x1b4 + // MPropertyFriendlyName "$RIMLIGHTSCALE" + float m_flRimLightScale; // 0x1b8 + // MPropertyFriendlyName "$REFLECTIONSTINTBYBASEBLENDTONONE" + float m_flReflectionsTintByBaseBlendToNone; // 0x1bc + // MPropertyFriendlyName "$METALNESSBLENDTOFULL" + float m_flMetalnessBlendToFull; // 0x1c0 + // MPropertyFriendlyName "$SELFILLUMBLENDTOFULL" + float m_flSelfIllumBlendToFull; // 0x1c4 +}; + +// Alignment: 5 +// Size: 0x1c0 +class C_OP_OscillateScalarSimple : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "oscillation rate" + float m_Rate; // 0x180 + // MPropertyFriendlyName "oscillation frequency" + float m_Frequency; // 0x184 + // MPropertyFriendlyName "oscillation field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x188 + // MPropertyFriendlyName "oscillation multiplier" + float m_flOscMult; // 0x18c + // MPropertyFriendlyName "oscillation start phase" + float m_flOscAdd; // 0x190 +}; + +// Alignment: 2 +// Size: 0x10 +struct ParticlePreviewBodyGroup_t +{ +public: + CUtlString m_bodyGroupName; // 0x0 + int32_t m_nValue; // 0x8 +}; + +// Alignment: 2 +// Size: 0x270 +class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: + // MPropertyFriendlyName "Interpolation" + CPerParticleFloatInput m_flInterpolation; // 0x188 +}; + +// Alignment: 4 +// Size: 0x190 +class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point" + int32_t m_nControlPoint; // 0x180 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + // MPropertyFriendlyName "scale factor" + float m_flScale; // 0x188 + // MPropertyFriendlyName "normalize" + bool m_bNormalize; // 0x18c +}; + +// Alignment: 6 +// Size: 0x1a0 +class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "group ID to affect" + int32_t m_nChildGroupID; // 0x180 + // MPropertyFriendlyName "first control point to set" + int32_t m_nFirstControlPoint; // 0x184 + // MPropertyFriendlyName "# of control points to set" + int32_t m_nNumControlPoints; // 0x188 + // MPropertyFriendlyName "first particle to copy" + int32_t m_nFirstSourcePoint; // 0x18c + // MPropertyFriendlyName "set orientation" + bool m_bSetOrientation; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191 +public: + // MPropertyFriendlyName "orientation style" + ParticleOrientationSetMode_t m_nOrientationMode; // 0x194 +}; + +// Alignment: 18 +// Size: 0x44 class CParticleVisibilityInputs { public: // MPropertyFriendlyName "visibility camera depth bias" // MParticleAdvancedField - float m_flCameraBias; // 0x0 + float m_flCameraBias; // 0x0 // MPropertyFriendlyName "visibility input minimum" // MParticleAdvancedField - float m_flInputMin; // 0x4 + float m_flInputMin; // 0x4 // MPropertyFriendlyName "visibility input maximum" // MParticleAdvancedField - float m_flInputMax; // 0x8 + float m_flInputMax; // 0x8 // MPropertyFriendlyName "visibility alpha scale minimum" // MParticleAdvancedField - float m_flAlphaScaleMin; // 0xc + float m_flAlphaScaleMin; // 0xc // MPropertyFriendlyName "visibility alpha scale maximum" // MParticleAdvancedField - float m_flAlphaScaleMax; // 0x10 + float m_flAlphaScaleMax; // 0x10 // MPropertyFriendlyName "visibility radius scale minimum" // MParticleAdvancedField - float m_flRadiusScaleMin; // 0x14 + float m_flRadiusScaleMin; // 0x14 // MPropertyFriendlyName "visibility radius scale maximum" // MParticleAdvancedField - float m_flRadiusScaleMax; // 0x18 + float m_flRadiusScaleMax; // 0x18 // MPropertyFriendlyName "visibility radius FOV scale base" // MParticleAdvancedField - float m_flRadiusScaleFOVBase; // 0x1c + float m_flRadiusScaleFOVBase; // 0x1c // MPropertyFriendlyName "visibility proxy radius" // MParticleAdvancedField - float m_flProxyRadius; // 0x20 + float m_flProxyRadius; // 0x20 // MPropertyFriendlyName "visibility input distance minimum" // MParticleAdvancedField - float m_flDistanceInputMin; // 0x24 + float m_flDistanceInputMin; // 0x24 // MPropertyFriendlyName "visibility input distance maximum" // MParticleAdvancedField - float m_flDistanceInputMax; // 0x28 + float m_flDistanceInputMax; // 0x28 // MPropertyFriendlyName "visibility input dot minimum" // MParticleAdvancedField - float m_flDotInputMin; // 0x2c + float m_flDotInputMin; // 0x2c // MPropertyFriendlyName "visibility input dot maximum" // MParticleAdvancedField - float m_flDotInputMax; // 0x30 + float m_flDotInputMax; // 0x30 // MPropertyFriendlyName "Visibility input dot use CP angles" // MParticleAdvancedField - bool m_bDotCPAngles; // 0x34 + bool m_bDotCPAngles; // 0x34 // MPropertyFriendlyName "Visibility input dot use Camera angles" // MParticleAdvancedField - bool m_bDotCameraAngles; // 0x35 + bool m_bDotCameraAngles; // 0x35 +private: + [[maybe_unused]] uint8_t __pad0036[0x2]; // 0x36 +public: // MPropertyFriendlyName "visibility unsupported hardware fallback value" // MParticleAdvancedField - float m_flNoPixelVisibilityFallback; // 0x38 + float m_flNoPixelVisibilityFallback; // 0x38 // MPropertyFriendlyName "visibility proxy input control point number" // MParticleAdvancedField - int32_t m_nCPin; // 0x3c + int32_t m_nCPin; // 0x3c // MPropertyFriendlyName "visibility vr camera right eye" // MParticleAdvancedField - bool m_bRightEye; // 0x40 + bool m_bRightEye; // 0x40 }; -// Aligment: 12 -// Size: 768 -class C_OP_RenderSound : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 12 +// Size: 0x300 +class C_OP_RenderSound : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x1d0 + float m_flDurationScale; // 0x1d0 // MPropertyFriendlyName "decibel level scale" - float m_flSndLvlScale; // 0x1d4 + float m_flSndLvlScale; // 0x1d4 // MPropertyFriendlyName "pitch scale" - float m_flPitchScale; // 0x1d8 + float m_flPitchScale; // 0x1d8 // MPropertyFriendlyName "volume scale" - float m_flVolumeScale; // 0x1dc + float m_flVolumeScale; // 0x1dc // MPropertyFriendlyName "decibel level field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSndLvlField; // 0x1e0 + ParticleAttributeIndex_t m_nSndLvlField; // 0x1e0 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x1e4 + ParticleAttributeIndex_t m_nDurationField; // 0x1e4 // MPropertyFriendlyName "pitch field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPitchField; // 0x1e8 + ParticleAttributeIndex_t m_nPitchField; // 0x1e8 // MPropertyFriendlyName "volume field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVolumeField; // 0x1ec + ParticleAttributeIndex_t m_nVolumeField; // 0x1ec // MPropertyFriendlyName "sound channel" // MPropertyAttributeChoiceName "sound_channel" - int32_t m_nChannel; // 0x1f0 + int32_t m_nChannel; // 0x1f0 // MPropertyFriendlyName "sound control point number" - int32_t m_nCPReference; // 0x1f4 + int32_t m_nCPReference; // 0x1f4 // MPropertyFriendlyName "sound" // MPropertyAttributeEditor "SoundPicker()" - char[256] m_pszSoundName; // 0x1f8 + char m_pszSoundName[256]; // 0x1f8 // MPropertyFriendlyName "suppress stop event" - bool m_bSuppressStopSoundEvent; // 0x2f8 + bool m_bSuppressStopSoundEvent; // 0x2f8 }; -// Aligment: 18 -// Size: 464 -class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 18 +// Size: 0x1d0 +class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "$SFXColorWarpAmount" - float m_flSFXColorWarpAmount; // 0x180 + float m_flSFXColorWarpAmount; // 0x180 // MPropertyFriendlyName "$SFXNormalAmount" - float m_flSFXNormalAmount; // 0x184 + float m_flSFXNormalAmount; // 0x184 // MPropertyFriendlyName "$SFXMetalnessAmount" - float m_flSFXMetalnessAmount; // 0x188 + float m_flSFXMetalnessAmount; // 0x188 // MPropertyFriendlyName "$SFXRoughnessAmount" - float m_flSFXRoughnessAmount; // 0x18c + float m_flSFXRoughnessAmount; // 0x18c // MPropertyFriendlyName "$SFXSelfIllumAmount" - float m_flSFXSelfIllumAmount; // 0x190 + float m_flSFXSelfIllumAmount; // 0x190 // MPropertyFriendlyName "$SFXTextureScale" - float m_flSFXSScale; // 0x194 + float m_flSFXSScale; // 0x194 // MPropertyFriendlyName "$SFXTextureScrollX" - float m_flSFXSScrollX; // 0x198 + float m_flSFXSScrollX; // 0x198 // MPropertyFriendlyName "$SFXTextureScrollY" - float m_flSFXSScrollY; // 0x19c + float m_flSFXSScrollY; // 0x19c // MPropertyFriendlyName "$SFXTextureScrollZ" - float m_flSFXSScrollZ; // 0x1a0 + float m_flSFXSScrollZ; // 0x1a0 // MPropertyFriendlyName "$SFXTextureOffsetX" - float m_flSFXSOffsetX; // 0x1a4 + float m_flSFXSOffsetX; // 0x1a4 // MPropertyFriendlyName "$SFXTextureOffsetY" - float m_flSFXSOffsetY; // 0x1a8 + float m_flSFXSOffsetY; // 0x1a8 // MPropertyFriendlyName "$SFXTextureOffsetZ" - float m_flSFXSOffsetZ; // 0x1ac + float m_flSFXSOffsetZ; // 0x1ac // MPropertyFriendlyName "D_DETAIL" - DetailCombo_t m_nDetailCombo; // 0x1b0 + DetailCombo_t m_nDetailCombo; // 0x1b0 // MPropertyFriendlyName "$SFXDetailAmount" - float m_flSFXSDetailAmount; // 0x1b4 + float m_flSFXSDetailAmount; // 0x1b4 // MPropertyFriendlyName "$SFXDetailTextureScale" - float m_flSFXSDetailScale; // 0x1b8 + float m_flSFXSDetailScale; // 0x1b8 // MPropertyFriendlyName "$SFXDetailTextureScrollX" - float m_flSFXSDetailScrollX; // 0x1bc + float m_flSFXSDetailScrollX; // 0x1bc // MPropertyFriendlyName "$SFXDetailTextureScrollY" - float m_flSFXSDetailScrollY; // 0x1c0 + float m_flSFXSDetailScrollY; // 0x1c0 // MPropertyFriendlyName "$SFXDetailTextureScrollZ" - float m_flSFXSDetailScrollZ; // 0x1c4 + float m_flSFXSDetailScrollZ; // 0x1c4 }; -// Aligment: 28 -// Size: 6672 -class C_OP_RenderRopes : public CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction +// Alignment: 28 +// Size: 0x1a10 +class C_OP_RenderRopes : public CBaseRendererSource2 { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x16f0 + bool m_bEnableFadingAndClamping; // 0x16f0 +private: + [[maybe_unused]] uint8_t __pad16f1[0x3]; // 0x16f1 +public: // MPropertyFriendlyName "minimum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMinSize; // 0x16f4 + float m_flMinSize; // 0x16f4 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMaxSize; // 0x16f8 + float m_flMaxSize; // 0x16f8 // MPropertyFriendlyName "start fade screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flStartFadeSize; // 0x16fc + float m_flStartFadeSize; // 0x16fc // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flEndFadeSize; // 0x1700 + float m_flEndFadeSize; // 0x1700 // MPropertyStartGroup "Rope Tesselation" // MPropertyFriendlyName "amount to taper the width of the trail end by" - float m_flRadiusTaper; // 0x1704 + float m_flRadiusTaper; // 0x1704 // MPropertyFriendlyName "minium number of quads per render segment" // MPropertySortPriority "850" - int32_t m_nMinTesselation; // 0x1708 + int32_t m_nMinTesselation; // 0x1708 // MPropertyFriendlyName "maximum number of quads per render segment" - int32_t m_nMaxTesselation; // 0x170c + int32_t m_nMaxTesselation; // 0x170c // MPropertyFriendlyName "tesselation resolution scale factor" - float m_flTessScale; // 0x1710 + float m_flTessScale; // 0x1710 +private: + [[maybe_unused]] uint8_t __pad1714[0x4]; // 0x1714 +public: // MPropertyStartGroup "+Rope Global UV Controls" // MPropertyFriendlyName "global texture V World Size" // MPropertySortPriority "800" - CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x1718 + CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x1718 // MPropertyFriendlyName "global texture V Scroll Rate" - CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x1800 + CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x1800 // MPropertyFriendlyName "global texture V Offset" - CParticleCollectionFloatInput m_flTextureVOffset; // 0x18e8 + CParticleCollectionFloatInput m_flTextureVOffset; // 0x18e8 // MPropertyFriendlyName "global texture V Params CP" - int32_t m_nTextureVParamsCP; // 0x19d0 + int32_t m_nTextureVParamsCP; // 0x19d0 // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" - bool m_bClampV; // 0x19d4 + bool m_bClampV; // 0x19d4 +private: + [[maybe_unused]] uint8_t __pad19d5[0x3]; // 0x19d5 +public: // MPropertyStartGroup "Rope Global UV Controls/CP Scaling" // MPropertyFriendlyName "scale CP start" - int32_t m_nScaleCP1; // 0x19d8 + int32_t m_nScaleCP1; // 0x19d8 // MPropertyFriendlyName "scale CP end" - int32_t m_nScaleCP2; // 0x19dc + int32_t m_nScaleCP2; // 0x19dc // MPropertyFriendlyName "scale V world size by CP distance" - float m_flScaleVSizeByControlPointDistance; // 0x19e0 + float m_flScaleVSizeByControlPointDistance; // 0x19e0 // MPropertyFriendlyName "scale V scroll rate by CP distance" - float m_flScaleVScrollByControlPointDistance; // 0x19e4 + float m_flScaleVScrollByControlPointDistance; // 0x19e4 // MPropertyFriendlyName "scale V offset by CP distance" - float m_flScaleVOffsetByControlPointDistance; // 0x19e8 + float m_flScaleVOffsetByControlPointDistance; // 0x19e8 +private: + [[maybe_unused]] uint8_t __pad19ec[0x1]; // 0x19ec +public: // MPropertyStartGroup "Rope Global UV Controls" // MPropertyFriendlyName "Use scalar attribute for texture coordinate" - bool m_bUseScalarForTextureCoordinate; // 0x19ed + bool m_bUseScalarForTextureCoordinate; // 0x19ed +private: + [[maybe_unused]] uint8_t __pad19ee[0x2]; // 0x19ee +public: // MPropertyFriendlyName "scalar to use for texture coordinate" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x19f0 + ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x19f0 // MPropertyFriendlyName "scale value to map attribute to texture coordinate" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - float m_flScalarAttributeTextureCoordScale; // 0x19f4 + float m_flScalarAttributeTextureCoordScale; // 0x19f4 // MPropertyStartGroup "Rope Order Controls" // MPropertyFriendlyName "reverse point order" // MPropertySortPriority "800" - bool m_bReverseOrder; // 0x19f8 + bool m_bReverseOrder; // 0x19f8 // MPropertyFriendlyName "Closed loop" - bool m_bClosedLoop; // 0x19f9 + bool m_bClosedLoop; // 0x19f9 +private: + [[maybe_unused]] uint8_t __pad19fa[0x2]; // 0x19fa +public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation_type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x19fc + ParticleOrientationChoiceList_t m_nOrientationType; // 0x19fc // 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; // 0x1a00 + ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x1a00 // MPropertyStartGroup "Material" // MPropertyFriendlyName "draw as opaque" - bool m_bDrawAsOpaque; // 0x1a04 + bool m_bDrawAsOpaque; // 0x1a04 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "generate normals for cylinder" - bool m_bGenerateNormals; // 0x1a05 + bool m_bGenerateNormals; // 0x1a05 }; -// Aligment: 5 -// Size: 2384 -class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 5 +// Size: 0x950 +class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CPerParticleFloatInput m_flRestLength; // 0x180 + CPerParticleFloatInput m_flRestLength; // 0x180 // MPropertyFriendlyName "minimum segment length %" - CPerParticleFloatInput m_flMinDistance; // 0x268 + CPerParticleFloatInput m_flMinDistance; // 0x268 // MPropertyFriendlyName "maximum segment length %" - CPerParticleFloatInput m_flMaxDistance; // 0x350 + CPerParticleFloatInput m_flMaxDistance; // 0x350 // MPropertyFriendlyName "resting spacing" - CPerParticleFloatInput m_flRestingLength; // 0x438 + CPerParticleFloatInput m_flRestingLength; // 0x438 // MPropertyFriendlyName "anchor vector" - CPerParticleVecInput m_vecAnchorVector; // 0x520 + CPerParticleVecInput m_vecAnchorVector; // 0x520 }; -// Aligment: 2 -// Size: 400 -class C_OP_FadeOutSimple : public CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_OP_FadeOutSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade out time" - float m_flFadeOutTime; // 0x180 + float m_flFadeOutTime; // 0x180 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 }; -// Aligment: 1 -// Size: 400 -class CParticleFunctionPreEmission : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x1b0 +class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission { public: - // MPropertyFriendlyName "Run Only Once" - bool m_bRunOnce; // 0x180 + // MPropertyFriendlyName "control point input" + int32_t m_nCPInput; // 0x190 + // MPropertyFriendlyName "control point number to set velocity" + int32_t m_nCPOutputVel; // 0x194 + // MPropertyFriendlyName "normalize output" + bool m_bNormalize; // 0x198 +private: + [[maybe_unused]] uint8_t __pad0199[0x3]; // 0x199 +public: + // MPropertyFriendlyName "control point number to set magnitude" + int32_t m_nCPOutputMag; // 0x19c + // MPropertyFriendlyName "control point field for magnitude" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nCPField; // 0x1a0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct CollisionGroupContext_t { public: - int32_t m_nCollisionGroupNumber; // 0x0 + int32_t m_nCollisionGroupNumber; // 0x0 }; -// Aligment: 8 -// Size: 432 -class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x1b0 +class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x190 + int32_t m_nInControlPointNumber; // 0x190 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x194 + int32_t m_nOutControlPointNumber; // 0x194 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x198 + int32_t m_nField; // 0x198 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x19c + float m_flInputMin; // 0x19c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1a0 + float m_flInputMax; // 0x1a0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1a4 + float m_flOutputMin; // 0x1a4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1a8 + float m_flOutputMax; // 0x1a8 // MPropertyFriendlyName "use delta of velocity instead of constant speed" - bool m_bUseDeltaV; // 0x1ac + bool m_bUseDeltaV; // 0x1ac }; -// Aligment: 16 -// Size: 1600 -class C_OP_RenderDeferredLight : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 16 +// Size: 0x640 +class C_OP_RenderDeferredLight : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "projected texture use alpha test window" // MPropertySuppressExpr "!m_bUseTexture" - bool m_bUseAlphaTestWindow; // 0x1d0 + bool m_bUseAlphaTestWindow; // 0x1d0 // MPropertyFriendlyName "projected texture light" - bool m_bUseTexture; // 0x1d1 + bool m_bUseTexture; // 0x1d1 +private: + [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 +public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "radius scale" // MPropertySortPriority "700" - float m_flRadiusScale; // 0x1d4 + float m_flRadiusScale; // 0x1d4 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - float m_flAlphaScale; // 0x1d8 + float m_flAlphaScale; // 0x1d8 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x1dc + ParticleAttributeIndex_t m_nAlpha2Field; // 0x1dc // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x1e0 + CParticleCollectionVecInput m_vecColorScale; // 0x1e0 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x610 + ParticleColorBlendType_t m_nColorBlendType; // 0x610 // MPropertyStartGroup // MPropertyFriendlyName "spotlight distance" - float m_flLightDistance; // 0x614 + float m_flLightDistance; // 0x614 // MPropertyFriendlyName "light start falloff" - float m_flStartFalloff; // 0x618 + float m_flStartFalloff; // 0x618 // MPropertyFriendlyName "spotlight distance falloff" - float m_flDistanceFalloff; // 0x61c + float m_flDistanceFalloff; // 0x61c // MPropertyFriendlyName "spotlight FoV" - float m_flSpotFoV; // 0x620 + float m_flSpotFoV; // 0x620 // MPropertyFriendlyName "projected texture alpha test point scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x624 + ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x624 // MPropertyFriendlyName "projected texture alpha test range scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x628 + ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x628 // MPropertyFriendlyName "projected texture alpha test sharpness scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x62c + ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x62c // MPropertyFriendlyName "texture" // MPropertyAttributeEditor "AssetBrowse( vtex )" // MPropertySuppressExpr "!m_bUseTexture" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x630 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x630 // MPropertyFriendlyName "HSV Shift Control Point" - int32_t m_nHSVShiftControlPoint; // 0x638 + int32_t m_nHSVShiftControlPoint; // 0x638 }; -// Aligment: 1 -// Size: 400 -class C_OP_Decay : public CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_OP_Decay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Reduce rope popping on decay" - bool m_bRopeDecay; // 0x180 + bool m_bRopeDecay; // 0x180 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct Relationship_t { public: - Disposition_t disposition; // 0x0 - int32_t priority; // 0x4 + Disposition_t disposition; // 0x0 + int32_t priority; // 0x4 }; -// Aligment: 2 -// Size: 128 -class CNavVolumeSphere : public CNavVolume +// Alignment: 0 +// Size: 0x70 +class CNavVolume { public: - Vector m_vCenter; // 0x70 - float m_flRadius; // 0x7c + // no members available }; -// Aligment: 0 -// Size: 152 -class CNavVolumeAll : public CNavVolumeVector, CNavVolume +// Alignment: 1 +// Size: 0x98 +class CNavVolumeVector : public CNavVolume { public: -// + bool m_bHasBeenPreFiltered; // 0x78 }; -// Aligment: 3 -// Size: 96 +// Alignment: 3 +// Size: 0x60 class CNetworkVelocityVector { public: @@ -22534,948 +23976,1109 @@ public: // MNetworkMaxValue "4096" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkVelocityVector" - CNetworkedQuantizedFloat m_vecX; // 0x18 + CNetworkedQuantizedFloat m_vecX; // 0x18 // MNetworkBitCount "18" // MNetworkMinValue "-4096" // MNetworkMaxValue "4096" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkVelocityVector" - CNetworkedQuantizedFloat m_vecY; // 0x30 + CNetworkedQuantizedFloat m_vecY; // 0x30 // MNetworkBitCount "18" // MNetworkMinValue "-4096" // MNetworkMaxValue "4096" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkVelocityVector" - CNetworkedQuantizedFloat m_vecZ; // 0x48 + CNetworkedQuantizedFloat m_vecZ; // 0x48 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct ScriptedNPCInteraction_Phases_t { public: - CUtlSymbolLarge iszSequence; // 0x0 - int32_t iActivity; // 0x8 + CUtlSymbolLarge iszSequence; // 0x0 + int32_t iActivity; // 0x8 }; -// Aligment: 10 -// Size: 36 +// Alignment: 10 +// Size: 0x24 struct hudtextparms_t { public: - Color color1; // 0x0 - Color color2; // 0x4 - uint8_t effect; // 0x8 - uint8_t channel; // 0x9 - float x; // 0xc - float y; // 0x10 - float fadeinTime; // 0x14 - float fadeoutTime; // 0x18 - float holdTime; // 0x1c - float fxTime; // 0x20 + 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 + float fadeinTime; // 0x14 + float fadeoutTime; // 0x18 + float holdTime; // 0x1c + float fxTime; // 0x20 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IRagdoll { public: -// + // no members available }; -// Aligment: 10 -// Size: 64 +// Alignment: 10 +// Size: 0x40 struct SteampalConveyorSection_t { public: - float m_flStartT; // 0x0 - float m_flEndT; // 0x4 - float m_flSectionLength; // 0x8 - float m_flCurrentT; // 0xc - float m_flMaxSegmentLength; // 0x10 - float m_flSegmentLengthT; // 0x14 - int32_t m_nStartingSegmentIndex; // 0x18 - Color m_DebugColor; // 0x1c - CHandle< CSteamPalConveyorPathNode > m_hStartNode; // 0x38 - CHandle< CSteamPalConveyorPathNode > m_hEndNode; // 0x3c + float m_flStartT; // 0x0 + float m_flEndT; // 0x4 + float m_flSectionLength; // 0x8 + float m_flCurrentT; // 0xc + float m_flMaxSegmentLength; // 0x10 + float m_flSegmentLengthT; // 0x14 + int32_t m_nStartingSegmentIndex; // 0x18 + Color m_DebugColor; // 0x1c +private: + [[maybe_unused]] uint8_t __pad0020[0x18]; // 0x20 +public: + CHandle< CSteamPalConveyorPathNode > m_hStartNode; // 0x38 + CHandle< CSteamPalConveyorPathNode > m_hEndNode; // 0x3c }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct ModifierSerialNumber_t { public: - int32_t m_nBoxedTypeSafeInt; // 0x0 + int32_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 3 -// Size: 20 +// Alignment: 3 +// Size: 0x14 class CAI_ScriptConditionsElement { public: - CHandle< CBaseEntity > m_hActor; // 0x0 - CSimTimer m_Timer; // 0x4 - CSimTimer m_Timeout; // 0xc + CHandle< CBaseEntity > m_hActor; // 0x0 + CSimTimer m_Timer; // 0x4 + CSimTimer m_Timeout; // 0xc }; -// Aligment: 4 -// Size: 16 +// Alignment: 4 +// Size: 0x10 struct ViewLockData_t { public: - float flLockInterval; // 0x0 - bool bLocked; // 0x4 - float flUnlockTime; // 0x8 - float flUnlockBlendInterval; // 0xc + float flLockInterval; // 0x0 + bool bLocked; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + float flUnlockTime; // 0x8 + float flUnlockBlendInterval; // 0xc }; -// Aligment: 0 -// Size: 100 -struct dynpitchvol_t : public dynpitchvol_base_t +// 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 }; -// Aligment: 2 -// Size: 184 -class CNavVolumeBreadthFirstSearch : public CNavVolumeCalculatedVector, CNavVolume -{ -public: - Vector m_vStartPos; // 0xa0 - float m_flSearchDist; // 0xac -}; - -// Aligment: 0 -// Size: 144 -class CTeamplayRules : public CMultiplayRules, CGameRules -{ -public: -// -}; - -// Aligment: 0 -// Size: 40 -class CEntitySubclassVDataBase -{ -public: -// -}; - -// Aligment: 0 -// Size: 32 -class CJiggleBones -{ -public: -// -}; - -// Aligment: 1 -// Size: 4 -struct ModelConfigHandle_t -{ -public: - uint32_t m_nBoxedTypeSafeInt; // 0x0 -}; - -// Aligment: 4 -// Size: 64 -class CPassengerSeat -{ -public: - CUtlSymbolLarge m_strSeatName; // 0x0 - AttachmentHandle_t m_nAttachmentID; // 0x8 - CUtlVector< CPassengerSeatTransition > m_EntryTransitions; // 0x10 - CUtlVector< CPassengerSeatTransition > m_ExitTransitions; // 0x28 -}; - -// Aligment: 5 -// Size: 584 -class CResponseQueue::CDeferredResponse -{ -public: - CResponseCriteriaSet m_contexts; // 0x10 - float m_fDispatchTime; // 0x40 - CHandle< CBaseEntity > m_hIssuer; // 0x44 - CRR_Response m_response; // 0x50 - bool m_bResponseValid; // 0x240 -}; - -// Aligment: 10 -// Size: 64 -class CTempRagdollData -{ -public: - float flAutoUnragdollDuration; // 0x0 - float flUnragdollTimeout; // 0x4 - CTakeDamageInfo* pInfo; // 0x8 - CBaseAnimating* pParentEntity; // 0x18 - char* pBoneTransformsString; // 0x20 - int32_t boneAttach; // 0x28 - int32_t parentBoneAttach; // 0x2c - Vector boneOrigin; // 0x30 - bool m_bInvertOrientation; // 0x3c - bool m_bCollideWithNPCClip; // 0x3d -}; - -// Aligment: 6 -// Size: 56 -class CAI_EnemyServices : public CAI_Component -{ -public: - CHandle< CBaseEntity > m_hEnemy; // 0x18 - CHandle< CBaseEntity > m_hLastEnemy; // 0x1c - float m_flTimeEnemyAcquired; // 0x20 - float m_flTimeLastHadEnemy; // 0x24 - int32_t m_nEnemiesSerialNumber; // 0x28 - CHandle< CBaseEntity > m_hEnemyOccluder; // 0x2c -}; - -// Aligment: 0 -// Size: 152 +// Alignment: 0 +// Size: 0x98 class CNavVolumeCalculatedVector : public CNavVolume { public: -// + // no members available }; -// Aligment: 1 -// Size: 152 -class CSingleplayRules : public CGameRules +// Alignment: 2 +// Size: 0x90 +class CGameRules { public: - bool m_bSinglePlayerGameEnding; // 0x90 + char m_szQuestName[128]; // 0x8 + int32_t m_nQuestPhase; // 0x88 }; -// Aligment: 1 -// Size: 2 +// Alignment: 0 +// Size: 0x28 +class CEntitySubclassVDataBase +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x20 +class CJiggleBones +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x4 +struct ModelConfigHandle_t +{ +public: + uint32_t m_nBoxedTypeSafeInt; // 0x0 +}; + +// Alignment: 4 +// Size: 0x40 +class CPassengerSeat +{ +public: + CUtlSymbolLarge m_strSeatName; // 0x0 + AttachmentHandle_t m_nAttachmentID; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 +public: + CUtlVector< CPassengerSeatTransition > m_EntryTransitions; // 0x10 + CUtlVector< CPassengerSeatTransition > m_ExitTransitions; // 0x28 +}; + +// Alignment: 5 +// Size: 0x248 +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; // 0x240 +}; + +// Alignment: 10 +// Size: 0x40 +class CTempRagdollData +{ +public: + float flAutoUnragdollDuration; // 0x0 + float flUnragdollTimeout; // 0x4 + CTakeDamageInfo* pInfo; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0010[0x8]; // 0x10 +public: + CBaseAnimating* pParentEntity; // 0x18 + char* pBoneTransformsString; // 0x20 + int32_t boneAttach; // 0x28 + int32_t parentBoneAttach; // 0x2c + Vector boneOrigin; // 0x30 + bool m_bInvertOrientation; // 0x3c + bool m_bCollideWithNPCClip; // 0x3d +}; + +// Alignment: 0 +// Size: 0x18 +class CAI_Component +{ +public: + // no members available +}; + +// 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: 0x2 struct ModifierPropRuntimeHandle_t { public: - uint16_t m_nBoxedTypeSafeInt; // 0x0 + uint16_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 class CAI_BodyLocationCache { public: - CHandle< CAI_DefaultNPC > m_hOwner; // 0x0 - CHandle< CBaseModelEntity > m_hAssociatedEntity; // 0x4 - bool m_bOwnsBodyLocationDef; // 0x8 - BodyLocationListVData_t* m_pBodyLocationDef; // 0x10 + CHandle< CAI_DefaultNPC > m_hOwner; // 0x0 + CHandle< CBaseModelEntity > m_hAssociatedEntity; // 0x4 + bool m_bOwnsBodyLocationDef; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 +public: + BodyLocationListVData_t* m_pBodyLocationDef; // 0x10 }; -// Aligment: 19 -// Size: 208 +// Alignment: 19 +// Size: 0xd0 class CAI_StandoffBehavior { public: - bool m_fActive; // 0x28 - bool m_fTestNoDamage; // 0x29 - Vector m_vecStandoffGoalPosition; // 0x2c - AI_Posture_t m_posture; // 0x38 - AI_StandoffParams_t m_params; // 0x3c - CHandle< CBaseEntity > m_hStandoffGoal; // 0x60 - bool m_fTakeCover; // 0x64 - float m_SavedDistTooFar; // 0x68 - bool m_fForceNewEnemy; // 0x6c - CAI_MoveMonitor m_PlayerMoveMonitor; // 0x70 - CSimTimer m_TimeForceCoverHint; // 0x80 - CSimTimer m_TimePreventForceNewEnemy; // 0x88 - CRandSimTimer m_RandomCoverChangeTimer; // 0x90 - int32_t m_nSavedMinShots; // 0x9c - int32_t m_nSavedMaxShots; // 0xa0 - float m_flSavedMinRest; // 0xa4 - float m_flSavedMaxRest; // 0xa8 - bool m_fIgnoreFronts; // 0xc8 - bool m_bHasLowCoverActivity; // 0xc9 + bool m_fActive; // 0x28 + bool m_fTestNoDamage; // 0x29 +private: + [[maybe_unused]] uint8_t __pad002a[0x2]; // 0x2a public: - static ConditionId_t &Get_COND_ABANDON_TIME_EXPIRED() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_StandoffBehavior")->m_static_fiels[0]->m_instance); } + Vector m_vecStandoffGoalPosition; // 0x2c + AI_Posture_t m_posture; // 0x38 + AI_StandoffParams_t m_params; // 0x3c + CHandle< CBaseEntity > m_hStandoffGoal; // 0x60 + bool m_fTakeCover; // 0x64 +private: + [[maybe_unused]] uint8_t __pad0065[0x3]; // 0x65 +public: + float m_SavedDistTooFar; // 0x68 + bool m_fForceNewEnemy; // 0x6c +private: + [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d +public: + CAI_MoveMonitor m_PlayerMoveMonitor; // 0x70 + CSimTimer m_TimeForceCoverHint; // 0x80 + CSimTimer m_TimePreventForceNewEnemy; // 0x88 + CRandSimTimer m_RandomCoverChangeTimer; // 0x90 + int32_t m_nSavedMinShots; // 0x9c + int32_t m_nSavedMaxShots; // 0xa0 + float m_flSavedMinRest; // 0xa4 + float m_flSavedMaxRest; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00ac[0x1c]; // 0xac +public: + bool m_fIgnoreFronts; // 0xc8 + bool m_bHasLowCoverActivity; // 0xc9 + static ConditionId_t &Get_COND_ABANDON_TIME_EXPIRED(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_StandoffBehavior")->m_static_fields[0]->m_instance);}; }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CAI_ProxTester { public: - float m_distSq; // 0x0 - bool m_fInside; // 0x4 + float m_distSq; // 0x0 + bool m_fInside; // 0x4 }; -// Aligment: 1 -// Size: 32 -class CTrackedObject_MODIFIER_TRACKED_RENDER_ATTRIBUTE : public IModifierTrackedObject +// Alignment: 0 +// Size: 0x8 +class IModifierTrackedObject { public: - ModifierRenderAttribute_t m_objectData; // 0x8 + // no members available }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 class CTakeDamageSummaryScopeGuard { public: - CUtlVector< SummaryTakeDamageInfo_t* > m_vecSummaries; // 0x8 -public: - static SummaryTakeDamageInfo_t &Get_EmptySummary() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CTakeDamageSummaryScopeGuard")->m_static_fiels[0]->m_instance); } + 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);}; }; -// Aligment: 10 -// Size: 36 +// Alignment: 10 +// Size: 0x24 struct AI_StandoffParams_t { public: - AI_HintChangeReaction_t hintChangeReaction; // 0x0 - bool fCoverOnReload; // 0x4 - bool fPlayerIsBattleline; // 0x5 - float minTimeShots; // 0x8 - float maxTimeShots; // 0xc - int32_t minShots; // 0x10 - int32_t maxShots; // 0x14 - int32_t oddsCover; // 0x18 - bool fStayAtCover; // 0x1c - float flAbandonTimeLimit; // 0x20 + AI_HintChangeReaction_t hintChangeReaction; // 0x0 + bool fCoverOnReload; // 0x4 + bool fPlayerIsBattleline; // 0x5 +private: + [[maybe_unused]] uint8_t __pad0006[0x2]; // 0x6 +public: + float minTimeShots; // 0x8 + float maxTimeShots; // 0xc + int32_t minShots; // 0x10 + int32_t maxShots; // 0x14 + int32_t oddsCover; // 0x18 + bool fStayAtCover; // 0x1c +private: + [[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d +public: + float flAbandonTimeLimit; // 0x20 }; -// Aligment: 1 -// Size: 112 -class CAI_ExpresserWithFollowup : public CAI_Expresser +// Alignment: 9 +// Size: 0x60 +class CAI_Expresser { public: - ResponseFollowup* m_pPostponedFollowup; // 0x60 + float m_flStopTalkTime; // 0x38 + float m_flStopTalkTimeWithoutDelay; // 0x3c + float m_flBlockedTalkTime; // 0x40 + int32_t m_voicePitch; // 0x44 + float 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct ParticleIndex_t { public: - int32_t m_nBoxedTypeSafeInt; // 0x0 + int32_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 5 -// Size: 32 +// Alignment: 5 +// Size: 0x20 class CPassengerInfo { public: - int32_t m_nRole; // 0x0 - int32_t m_nSeat; // 0x4 - CUtlSymbolLarge m_strRoleName; // 0x8 - CUtlSymbolLarge m_strSeatName; // 0x10 - CHandle< CBaseCombatCharacter > m_hPassenger; // 0x18 + int32_t m_nRole; // 0x0 + int32_t m_nSeat; // 0x4 + CUtlSymbolLarge m_strRoleName; // 0x8 + CUtlSymbolLarge m_strSeatName; // 0x10 + CHandle< CBaseCombatCharacter > m_hPassenger; // 0x18 }; -// Aligment: 5 -// Size: 112 +// Alignment: 5 +// Size: 0x70 class CAI_Scheduler : public CAI_Component { public: - AIScheduleState_t m_ScheduleState; // 0x18 - CUtlSymbolLarge m_failSchedule; // 0x40 - CUtlSymbolLarge m_untranslatedSchedule; // 0x48 - char* m_szFailText; // 0x58 - char* m_szInterruptText; // 0x68 + AIScheduleState_t m_ScheduleState; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 public: - static int32_t &Get_ms_nTasksRun() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_Scheduler")->m_static_fiels[0]->m_instance); } + CUtlSymbolLarge m_failSchedule; // 0x40 + CUtlSymbolLarge m_untranslatedSchedule; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0050[0x8]; // 0x50 +public: + char* m_szFailText; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0060[0x8]; // 0x60 +public: + char* m_szInterruptText; // 0x68 + static int32_t &Get_ms_nTasksRun(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_Scheduler")->m_static_fields[0]->m_instance);}; }; -// Aligment: 1 -// Size: 64 +// Alignment: 1 +// Size: 0x40 class COffscreenParticleHelper { public: - RenderMultisampleType_t m_nMultisampleType; // 0x1c + RenderMultisampleType_t m_nMultisampleType; // 0x1c }; -// Aligment: 0 -// Size: 112 -class CNavVolume +// Alignment: 2 +// Size: 0x80 +class CNavVolumeSphere : public CNavVolume { public: -// + Vector m_vCenter; // 0x70 + float m_flRadius; // 0x7c }; -// Aligment: 15 -// Size: 200 +// Alignment: 15 +// Size: 0xc8 struct ScriptedNPCInteraction_t { public: - CUtlSymbolLarge iszInteractionName; // 0x0 - int32_t iFlags; // 0x8 - int32_t iTriggerMethod; // 0xc - int32_t iLoopBreakTriggerMethod; // 0x10 - Vector vecRelativeOrigin; // 0x14 - QAngle angRelativeAngles; // 0x20 - Vector vecRelativeVelocity; // 0x2c - float flDelay; // 0x38 - float flDistSqr; // 0x3c - CUtlSymbolLarge iszMyWeapon; // 0x40 - CUtlSymbolLarge iszTheirWeapon; // 0x48 - ScriptedNPCInteraction_Phases_t[3] sPhases; // 0x50 - VMatrix matDesiredLocalToWorld; // 0x80 - bool bValidOnCurrentEnemy; // 0xc0 - float flNextAttemptTime; // 0xc4 + CUtlSymbolLarge iszInteractionName; // 0x0 + int32_t iFlags; // 0x8 + int32_t iTriggerMethod; // 0xc + int32_t iLoopBreakTriggerMethod; // 0x10 + Vector vecRelativeOrigin; // 0x14 + QAngle angRelativeAngles; // 0x20 + Vector vecRelativeVelocity; // 0x2c + float flDelay; // 0x38 + float flDistSqr; // 0x3c + CUtlSymbolLarge iszMyWeapon; // 0x40 + CUtlSymbolLarge iszTheirWeapon; // 0x48 + ScriptedNPCInteraction_Phases_t sPhases[3]; // 0x50 + VMatrix matDesiredLocalToWorld; // 0x80 + bool bValidOnCurrentEnemy; // 0xc0 +private: + [[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1 +public: + float flNextAttemptTime; // 0xc4 }; -// Aligment: 1 -// Size: 120 -class CMultiplayer_Expresser : public CAI_ExpresserWithFollowup, CAI_Expresser +// Alignment: 1 +// Size: 0x70 +class CAI_ExpresserWithFollowup : public CAI_Expresser { public: - bool m_bAllowMultipleScenes; // 0x70 + ResponseFollowup* m_pPostponedFollowup; // 0x60 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 struct ModifierRenderAttribute_t { public: - CUtlString m_sAttribute; // 0x0 - Vector4D m_vValues; // 0x8 + CUtlString m_sAttribute; // 0x0 + Vector4D m_vValues; // 0x8 }; -// Aligment: 10 -// Size: 96 +// Alignment: 10 +// Size: 0x60 class CAI_DynamicInteractions : public CAI_Component { public: - CHandle< CBaseAnimating > m_hForcedInteractionPartner; // 0x18 - int32_t m_iInteractionPlaying; // 0x1c - Vector m_vecForcedWorldPosition; // 0x20 - float m_flForcedInteractionTimeout; // 0x2c - CHandle< CBaseAnimating > m_hInteractionPartner; // 0x30 - CHandle< CBaseEntity > m_hLastInteractionTestTarget; // 0x34 - bool m_bCannotDieDuringInteraction; // 0x38 - int32_t m_iInteractionState; // 0x3c - CUtlVector< ScriptedNPCInteraction_t > m_ScriptedInteractions; // 0x40 - float m_flInteractionYaw; // 0x58 + CHandle< CBaseAnimating > m_hForcedInteractionPartner; // 0x18 + int32_t m_iInteractionPlaying; // 0x1c + Vector m_vecForcedWorldPosition; // 0x20 + float m_flForcedInteractionTimeout; // 0x2c + CHandle< CBaseAnimating > m_hInteractionPartner; // 0x30 + CHandle< CBaseEntity > m_hLastInteractionTestTarget; // 0x34 + bool m_bCannotDieDuringInteraction; // 0x38 +private: + [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 +public: + int32_t m_iInteractionState; // 0x3c + CUtlVector< ScriptedNPCInteraction_t > m_ScriptedInteractions; // 0x40 + float m_flInteractionYaw; // 0x58 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 struct AI_ScheduleVData_t { public: - CUtlString m_sSchedule; // 0x0 - bool m_bFlag_Ability; // 0x8 - CUtlVector< AI_TaskVData_t > m_vecTasks; // 0x10 - CUtlVector< CUtlString > m_vecInterrupts; // 0x28 + CUtlString m_sSchedule; // 0x0 + bool m_bFlag_Ability; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 +public: + CUtlVector< AI_TaskVData_t > m_vecTasks; // 0x10 + CUtlVector< CUtlString > m_vecInterrupts; // 0x28 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class Extent { public: - Vector lo; // 0x0 - Vector hi; // 0xc + Vector lo; // 0x0 + Vector hi; // 0xc }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 struct NPCAbilityDesc_t { public: - CSubclassName< 6 > m_sAbilityName; // 0x0 - CSubclassName< 6 > m_sPrimaryLinkedAbilityName; // 0x10 + CSubclassName< 6 > m_sAbilityName; // 0x0 + CSubclassName< 6 > m_sPrimaryLinkedAbilityName; // 0x10 }; -// Aligment: 2 -// Size: 12 -class CRandSimTimer : public CSimpleSimTimer +// Alignment: 1 +// Size: 0x4 +class CSimpleSimTimer { public: - float m_minInterval; // 0x4 - float m_maxInterval; // 0x8 + float m_next; // 0x0 }; -// Aligment: 15 -// Size: 160 +// Alignment: 15 +// 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 - float m_flOriginalDamage; // 0x60 - TakeDamageFlags_t m_nDamageFlags; // 0x70 - HSCRIPT m_hScriptInstance; // 0x78 - bool m_bInTakeDamageFlow; // 0x98 + 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: - static CTakeDamageInfo &Get_EmptyInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CTakeDamageInfo")->m_static_fiels[0]->m_instance); } + float m_flOriginalDamage; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0064[0xc]; // 0x64 +public: + TakeDamageFlags_t m_nDamageFlags; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0072[0x6]; // 0x72 +public: + 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);}; }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 class CConstantForceController { public: - Vector m_linear; // 0xc - RotationVector m_angular; // 0x18 - Vector m_linearSave; // 0x24 - RotationVector m_angularSave; // 0x30 + Vector m_linear; // 0xc + RotationVector m_angular; // 0x18 + Vector m_linearSave; // 0x24 + RotationVector m_angularSave; // 0x30 }; -// Aligment: 10 -// Size: 496 +// Alignment: 10 +// Size: 0x1f0 class CRR_Response { public: - uint8_t m_Type; // 0x0 - char[192] m_szResponseName; // 0x1 - char[128] m_szMatchingRule; // 0xc1 - ResponseParams m_Params; // 0x150 - float m_fMatchScore; // 0x170 - char* m_szSpeakerContext; // 0x178 - char* m_szWorldContext; // 0x180 - ResponseFollowup m_Followup; // 0x188 - CUtlVector< CUtlSymbol > m_pchCriteriaNames; // 0x1c0 - CUtlVector< char* > m_pchCriteriaValues; // 0x1d8 + uint8_t m_Type; // 0x0 + char m_szResponseName[192]; // 0x1 + char m_szMatchingRule[128]; // 0xc1 +private: + [[maybe_unused]] uint8_t __pad0141[0xf]; // 0x141 +public: + ResponseParams m_Params; // 0x150 + float m_fMatchScore; // 0x170 +private: + [[maybe_unused]] uint8_t __pad0174[0x4]; // 0x174 +public: + char* m_szSpeakerContext; // 0x178 + char* m_szWorldContext; // 0x180 + ResponseFollowup m_Followup; // 0x188 +private: + [[maybe_unused]] uint8_t __pad01b9[0x7]; // 0x1b9 +public: + CUtlVector< CUtlSymbol > m_pchCriteriaNames; // 0x1c0 + CUtlVector< char* > m_pchCriteriaValues; // 0x1d8 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 struct ModifierTrackedGraphParameter_t { public: - CUtlString m_sParamName; // 0x0 - CAnimVariant m_restoreValue; // 0x8 + CUtlString m_sParamName; // 0x0 + CAnimVariant m_restoreValue; // 0x8 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct NPCAbilityUseTriggerBase_t { public: // MPropertyDescription "When triggered, the ability is used" - GameAnimEventIndex_t m_nAnimEventTrigger; // 0x0 + GameAnimEventIndex_t m_nAnimEventTrigger; // 0x0 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc struct attached_item_t { public: - CHandle< CBaseEntity > hItem; // 0x0 - CUtlStringToken sAttachment; // 0x4 - CUtlStringToken sAttachmentNormal; // 0x8 + CHandle< CBaseEntity > hItem; // 0x0 + CUtlStringToken sAttachment; // 0x4 + CUtlStringToken sAttachmentNormal; // 0x8 }; -// Aligment: 4 -// Size: 184 +// Alignment: 4 +// Size: 0xb8 struct SummaryTakeDamageInfo_t { public: - int32_t nSummarisedCount; // 0x0 - CTakeDamageInfo info; // 0x8 - CTakeDamageResult result; // 0xa8 - CHandle< CBaseEntity > hTarget; // 0xb0 + int32_t nSummarisedCount; // 0x0 + CTakeDamageInfo info; // 0x8 + CTakeDamageResult result; // 0xa8 + CHandle< CBaseEntity > hTarget; // 0xb0 }; -// Aligment: 0 -// Size: 32 +// Alignment: 0 +// Size: 0x20 class CAI_ScheduleBits { public: -// + // no members available }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 class CSimTimer : public CSimpleSimTimer { public: - float m_interval; // 0x4 + float m_interval; // 0x4 }; -// Aligment: 3 -// Size: 96 +// Alignment: 3 +// Size: 0x60 struct BodyLocationVData_t { public: - CUtlString m_sAttachmentName; // 0x0 - bool m_bAttachmentIsOnAbilityModel; // 0x8 - BodyLocationVDataForStance_t[2] m_pStances; // 0x10 + CUtlString m_sAttachmentName; // 0x0 + bool m_bAttachmentIsOnAbilityModel; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 +public: + BodyLocationVDataForStance_t m_pStances[2]; // 0x10 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 class CMotorController { public: - float m_speed; // 0x8 - float m_maxTorque; // 0xc - Vector m_axis; // 0x10 - float m_inertiaFactor; // 0x1c + float m_speed; // 0x8 + float m_maxTorque; // 0xc + Vector m_axis; // 0x10 + float m_inertiaFactor; // 0x1c }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 class CPassengerRole { public: - CUtlSymbolLarge m_strName; // 0x0 - CUtlVector< CPassengerSeat > m_PassengerSeats; // 0x8 + CUtlSymbolLarge m_strName; // 0x0 + CUtlVector< CPassengerSeat > m_PassengerSeats; // 0x8 }; -// Aligment: 9 -// Size: 9 +// 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 + 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 }; -// Aligment: 4 -// Size: 56 +// Alignment: 4 +// Size: 0x38 struct ragdoll_t { public: - CUtlVector< ragdollelement_t > list; // 0x0 - CUtlVector< int32 > boneIndex; // 0x18 - bool allowStretch; // 0x30 - bool unused; // 0x31 + CUtlVector< ragdollelement_t > list; // 0x0 + CUtlVector< int32 > boneIndex; // 0x18 + bool allowStretch; // 0x30 + bool unused; // 0x31 }; -// Aligment: 5 -// Size: 32 +// 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 + float m_flSmoothAmplitude; // 0x8 + float m_flSmoothBias; // 0xc + float m_flSmoothDuration; // 0x10 + float m_flSmoothRemainingTime; // 0x14 + int32_t m_nSmoothDir; // 0x18 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CModifierLevelInt { public: - int32[4] m_pValue; // 0x0 + int32_t m_pValue[4]; // 0x0 }; -// Aligment: 2 -// Size: 40 +// Alignment: 2 +// Size: 0x28 class CCopyRecipientFilter { public: - int32_t m_Flags; // 0x8 - CUtlVector< CPlayerSlot > m_Recipients; // 0x10 + int32_t m_Flags; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< CPlayerSlot > m_Recipients; // 0x10 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct AI_TaskVData_t { public: - CUtlString m_sTask; // 0x0 - CUtlString m_sParam; // 0x8 + CUtlString m_sTask; // 0x0 + CUtlString m_sParam; // 0x8 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 struct ModifierVariant_t { public: - ModifierVariantType_t m_eType; // 0x0 + ModifierVariantType_t m_eType; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct ModifierRuntimeHandle_t { public: - uint32_t m_nBoxedTypeSafeInt; // 0x0 + uint32_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 23 -// Size: 296 +// Alignment: 23 +// Size: 0x128 class CAI_FollowBehavior { public: - CHandle< CBaseEntity > m_hFollowTarget; // 0x28 - float m_flTimeUpdatedFollowPosition; // 0x64 - bool m_bFirstFacing; // 0x68 - float m_flTimeFollowTargetVisible; // 0x6c - CAI_MoveMonitor m_TargetMonitor; // 0x70 - bool m_bTargetUnreachable; // 0x80 - bool m_bFollowNavFailed; // 0x81 - int32_t m_nFailedFollowAttempts; // 0x84 - float m_flTimeFailFollowStarted; // 0x88 - Vector m_vFollowMoveAnchor; // 0x8c - bool m_bMovingToCover; // 0x98 - float m_flOriginalEnemyDiscardDuration; // 0x9c - float m_flOriginalEnemyFreeKnowledgeDuration; // 0xa0 - float m_SavedDistTooFar; // 0xa4 - float m_flLastIdleTalk; // 0xa8 - CRandStopwatch m_FollowDelay; // 0xb0 - CSimpleSimTimer m_RepathOnFollowTimer; // 0xc8 - int32_t m_CurrentFollowActivity; // 0xcc - CRandSimTimer m_TimeBlockUseWaitPoint; // 0xd0 - CSimTimer m_TimeCheckForWaitPoint; // 0xdc - CRandSimTimer m_TimeBeforeSpreadFacing; // 0xf0 - CRandSimTimer m_TimeNextSpreadFacing; // 0xfc - CHandle< CAI_FollowGoal > m_hFollowGoalEnt; // 0x120 + CHandle< CBaseEntity > m_hFollowTarget; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x38]; // 0x2c public: - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_MOVE_AWAY_FAIL() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_MOVE_AWAY_END() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOW() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_IDLE_STAND() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[3]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_MOVE_TO_FACE_FOLLOW_TARGET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[4]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FACE_FOLLOW_TARGET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[5]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_COMBAT_FACE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[6]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_GO_TO_WAIT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[7]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_GO_TO_WAIT_POINT_FAIL() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[8]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_STAND_AT_WAIT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[9]->m_instance); } - static CUtlSymbolLarge &Get_TASK_CANT_FOLLOW() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[10]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FACE_FOLLOW_TARGET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[11]->m_instance); } - static CUtlSymbolLarge &Get_TASK_MOVE_TO_FOLLOW_POSITION() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[12]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_FOLLOW_POSITION() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[13]->m_instance); } - static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_TARGET_MARK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[14]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FOLLOWER_FACE_TACTICAL() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[15]->m_instance); } - static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_DELAY() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[16]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_FOLLOW_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[17]->m_instance); } - static CUtlSymbolLarge &Get_TASK_ARRIVE_AT_FOLLOW_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[18]->m_instance); } - static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_POINT_STAND_SCHEDULE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[19]->m_instance); } - static CUtlSymbolLarge &Get_TASK_BEGIN_STAND_AT_WAIT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[20]->m_instance); } - static ConditionId_t &Get_COND_TARGET_MOVED_FROM_MARK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[21]->m_instance); } - static ConditionId_t &Get_COND_FOLLOW_DELAY_EXPIRED() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[22]->m_instance); } - static ConditionId_t &Get_COND_FOLLOW_TARGET_VISIBLE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[23]->m_instance); } - static ConditionId_t &Get_COND_FOLLOW_TARGET_NOT_VISIBLE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[24]->m_instance); } - static ConditionId_t &Get_COND_FOLLOW_WAIT_POINT_INVALID() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[25]->m_instance); } - static ConditionId_t &Get_COND_FOUND_WAIT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[26]->m_instance); } + float m_flTimeUpdatedFollowPosition; // 0x64 + bool m_bFirstFacing; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0069[0x3]; // 0x69 +public: + float m_flTimeFollowTargetVisible; // 0x6c + CAI_MoveMonitor m_TargetMonitor; // 0x70 + bool m_bTargetUnreachable; // 0x80 + bool m_bFollowNavFailed; // 0x81 +private: + [[maybe_unused]] uint8_t __pad0082[0x2]; // 0x82 +public: + int32_t m_nFailedFollowAttempts; // 0x84 + float m_flTimeFailFollowStarted; // 0x88 + Vector m_vFollowMoveAnchor; // 0x8c + bool m_bMovingToCover; // 0x98 +private: + [[maybe_unused]] uint8_t __pad0099[0x3]; // 0x99 +public: + float m_flOriginalEnemyDiscardDuration; // 0x9c + float m_flOriginalEnemyFreeKnowledgeDuration; // 0xa0 + float m_SavedDistTooFar; // 0xa4 + float m_flLastIdleTalk; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00ac[0x4]; // 0xac +public: + CRandStopwatch m_FollowDelay; // 0xb0 + CSimpleSimTimer m_RepathOnFollowTimer; // 0xc8 + int32_t m_CurrentFollowActivity; // 0xcc + CRandSimTimer m_TimeBlockUseWaitPoint; // 0xd0 + CSimTimer m_TimeCheckForWaitPoint; // 0xdc +private: + [[maybe_unused]] uint8_t __pad00e4[0xc]; // 0xe4 +public: + CRandSimTimer m_TimeBeforeSpreadFacing; // 0xf0 + CRandSimTimer m_TimeNextSpreadFacing; // 0xfc +private: + [[maybe_unused]] uint8_t __pad0108[0x18]; // 0x108 +public: + CHandle< CAI_FollowGoal > m_hFollowGoalEnt; // 0x120 + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_MOVE_AWAY_FAIL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_MOVE_AWAY_END(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOW(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_IDLE_STAND(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[3]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_MOVE_TO_FACE_FOLLOW_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[4]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FACE_FOLLOW_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[5]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_COMBAT_FACE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[6]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_GO_TO_WAIT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[7]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_GO_TO_WAIT_POINT_FAIL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[8]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_STAND_AT_WAIT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[9]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_CANT_FOLLOW(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[10]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FACE_FOLLOW_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[11]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_MOVE_TO_FOLLOW_POSITION(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[12]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_FOLLOW_POSITION(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[13]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_TARGET_MARK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[14]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FOLLOWER_FACE_TACTICAL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[15]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_DELAY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[16]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_FOLLOW_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[17]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_ARRIVE_AT_FOLLOW_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[18]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_POINT_STAND_SCHEDULE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[19]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_BEGIN_STAND_AT_WAIT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[20]->m_instance);}; + static ConditionId_t &Get_COND_TARGET_MOVED_FROM_MARK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[21]->m_instance);}; + static ConditionId_t &Get_COND_FOLLOW_DELAY_EXPIRED(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[22]->m_instance);}; + static ConditionId_t &Get_COND_FOLLOW_TARGET_VISIBLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[23]->m_instance);}; + static ConditionId_t &Get_COND_FOLLOW_TARGET_NOT_VISIBLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[24]->m_instance);}; + static ConditionId_t &Get_COND_FOLLOW_WAIT_POINT_INVALID(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[25]->m_instance);}; + static ConditionId_t &Get_COND_FOUND_WAIT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[26]->m_instance);}; }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 struct locksound_t { public: - CUtlSymbolLarge sLockedSound; // 0x8 - CUtlSymbolLarge sUnlockedSound; // 0x10 - float flwaitSound; // 0x18 + CUtlSymbolLarge sLockedSound; // 0x8 + CUtlSymbolLarge sUnlockedSound; // 0x10 + float flwaitSound; // 0x18 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 struct NPCApplianceProjectileAttachment_t { public: - CUtlString m_sAttachmentName; // 0x0 - CSubclassName< 0 > m_sProjectileName; // 0x8 + CUtlString m_sAttachmentName; // 0x0 + CSubclassName< 0 > m_sProjectileName; // 0x8 }; -// Aligment: 13 -// Size: 144 +// Alignment: 13 +// Size: 0x90 class CSoundPatch { 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 + CSoundEnvelope m_pitch; // 0x8 + CSoundEnvelope m_volume; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 public: - static int32_t &Get_g_SoundPatchCount() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CSoundPatch")->m_static_fiels[0]->m_instance); } + 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);}; }; -// Aligment: 17 -// Size: 96 +// 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 - float m_flInitialYaw; // 0x14 - float m_flTargetYaw; // 0x18 - float m_flFacingYaw; // 0x1c - int32_t m_nType; // 0x20 - float 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 + 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 + float 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 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CSkillFloat { public: - float32[4] m_pValue; // 0x0 + float m_pValue[4]; // 0x0 }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 struct NPCAbilityBodyLocationOverride_t { public: // MPropertyDescription "Body location to inherit from in the owning NPC. If unspecified, the Ability Body Location is used." - CUtlString m_sOwnerBodyLocationName; // 0x0 + CUtlString m_sOwnerBodyLocationName; // 0x0 // MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )" - CUtlString m_sAttachmentName; // 0x8 - bool m_bAttachmentIsOnAbilityModel; // 0x10 + CUtlString m_sAttachmentName; // 0x8 + bool m_bAttachmentIsOnAbilityModel; // 0x10 }; -// Aligment: 31 -// Size: 344 +// Alignment: 31 +// Size: 0x158 class CFourWheelVehiclePhysics { public: - CHandle< CBaseAnimating > m_pOuter; // 0x8 - CFourWheelServerVehicle* m_pOuterServerVehicle; // 0x10 - vehicle_controlparams_t m_controls; // 0x18 - int32_t m_nSpeed; // 0x38 - int32_t m_nLastSpeed; // 0x3c - int32_t m_nRPM; // 0x40 - float m_fLastBoost; // 0x44 - int32_t m_nBoostTimeLeft; // 0x48 - bool m_bHasBoost; // 0x4c - float m_maxThrottle; // 0x50 - float m_flMaxRevThrottle; // 0x54 - float m_flMaxSpeed; // 0x58 - float m_actionSpeed; // 0x5c - int32_t m_wheelCount; // 0x80 - Vector[4] m_wheelPosition; // 0x84 - QAngle[4] m_wheelRotation; // 0xb4 - float32[4] m_wheelBaseHeight; // 0xe4 - float32[4] m_wheelTotalHeight; // 0xf4 - int32[12] m_poseParameters; // 0x104 - float m_actionValue; // 0x134 - float m_actionScale; // 0x138 - float m_debugRadius; // 0x13c - float m_throttleRate; // 0x140 - float m_throttleStartTime; // 0x144 - float m_throttleActiveTime; // 0x148 - float m_turboTimer; // 0x14c - float m_flVehicleVolume; // 0x150 - bool m_bIsOn; // 0x154 - bool m_bLastThrottle; // 0x155 - bool m_bLastBoost; // 0x156 - bool m_bLastSkid; // 0x157 + CHandle< CBaseAnimating > m_pOuter; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CFourWheelServerVehicle* m_pOuterServerVehicle; // 0x10 + vehicle_controlparams_t m_controls; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 +public: + int32_t m_nSpeed; // 0x38 + int32_t m_nLastSpeed; // 0x3c + int32_t m_nRPM; // 0x40 + float m_fLastBoost; // 0x44 + int32_t m_nBoostTimeLeft; // 0x48 + bool m_bHasBoost; // 0x4c +private: + [[maybe_unused]] uint8_t __pad004d[0x3]; // 0x4d +public: + float m_maxThrottle; // 0x50 + float m_flMaxRevThrottle; // 0x54 + float m_flMaxSpeed; // 0x58 + float m_actionSpeed; // 0x5c +private: + [[maybe_unused]] uint8_t __pad0060[0x20]; // 0x60 +public: + int32_t m_wheelCount; // 0x80 + Vector m_wheelPosition[4]; // 0x84 + QAngle m_wheelRotation[4]; // 0xb4 + float m_wheelBaseHeight[4]; // 0xe4 + float m_wheelTotalHeight[4]; // 0xf4 + int32_t m_poseParameters[12]; // 0x104 + float m_actionValue; // 0x134 + float m_actionScale; // 0x138 + float m_debugRadius; // 0x13c + float m_throttleRate; // 0x140 + float m_throttleStartTime; // 0x144 + float m_throttleActiveTime; // 0x148 + float m_turboTimer; // 0x14c + float m_flVehicleVolume; // 0x150 + bool m_bIsOn; // 0x154 + bool m_bLastThrottle; // 0x155 + bool m_bLastBoost; // 0x156 + bool m_bLastSkid; // 0x157 }; -// Aligment: 11 -// Size: 64 +// Alignment: 11 +// Size: 0x40 class HintNodeData { public: - CUtlSymbolLarge strEntityName; // 0x0 - int16_t nHintType; // 0x8 - int32_t nNodeID; // 0xc - CUtlSymbolLarge strGroup; // 0x10 - int32_t iDisabled; // 0x18 - CUtlSymbolLarge iszGenericType; // 0x20 - CUtlSymbolLarge iszActivityName; // 0x28 - HintIgnoreFacing_t fIgnoreFacing; // 0x30 - NPC_STATE minState; // 0x34 - NPC_STATE maxState; // 0x38 - int32_t nRadius; // 0x3c + CUtlSymbolLarge strEntityName; // 0x0 + int16_t nHintType; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa +public: + int32_t nNodeID; // 0xc + CUtlSymbolLarge strGroup; // 0x10 + int32_t iDisabled; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + CUtlSymbolLarge iszGenericType; // 0x20 + CUtlSymbolLarge iszActivityName; // 0x28 + HintIgnoreFacing_t fIgnoreFacing; // 0x30 + NPC_STATE minState; // 0x34 + NPC_STATE maxState; // 0x38 + int32_t nRadius; // 0x3c }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 struct thinkfunc_t { public: - HSCRIPT m_hFn; // 0x8 - CUtlStringToken m_nContext; // 0x10 - int32_t m_nNextThinkTick; // 0x14 - int32_t m_nLastThinkTick; // 0x18 + HSCRIPT m_hFn; // 0x8 + CUtlStringToken m_nContext; // 0x10 + int32_t m_nNextThinkTick; // 0x14 + int32_t m_nLastThinkTick; // 0x18 }; -// Aligment: 3 -// Size: 120 +// Alignment: 3 +// Size: 0x78 class CAI_FightFromCoverBehavior { public: - CHandle< CAI_FightFromCoverGoal > m_hFightFromCoverGoal; // 0x28 - CAI_MoveMonitor m_FrontMoveMonitor; // 0x2c - CSimpleSimTimer m_FrontTimer; // 0x3c -public: - static CUtlSymbolLarge &Get_SCHED_FFC_RUN_TO_HINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FFC_HOLD_COVER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FFC_PEEK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FFC_HOLD_PEEK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[3]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FFC_RELOAD() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[4]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FFC_ATTACK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[5]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FFC_GET_PATH_TO_HINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[6]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FFC_COVER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[7]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FFC_PEEK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[8]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FFC_ATTACK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[9]->m_instance); } - static ConditionId_t &Get_COND_FFC_HINT_CHANGE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[10]->m_instance); } + CHandle< CAI_FightFromCoverGoal > m_hFightFromCoverGoal; // 0x28 + CAI_MoveMonitor m_FrontMoveMonitor; // 0x2c + CSimpleSimTimer m_FrontTimer; // 0x3c + static CUtlSymbolLarge &Get_SCHED_FFC_RUN_TO_HINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FFC_HOLD_COVER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FFC_PEEK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FFC_HOLD_PEEK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[3]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FFC_RELOAD(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[4]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FFC_ATTACK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[5]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FFC_GET_PATH_TO_HINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[6]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FFC_COVER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[7]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FFC_PEEK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[8]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FFC_ATTACK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[9]->m_instance);}; + static ConditionId_t &Get_COND_FFC_HINT_CHANGE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[10]->m_instance);}; }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CSkillInt { public: - int32[4] m_pValue; // 0x0 + int32_t m_pValue[4]; // 0x0 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 struct NPCApplianceProjectileRuntime_t { public: - QAngle m_qPreviousAngle; // 0x0 - RotationVector m_vAngularVelocity; // 0xc + QAngle m_qPreviousAngle; // 0x0 + RotationVector m_vAngularVelocity; // 0xc }; -// Aligment: 2 -// Size: 144 -class CGameRules +// Alignment: 1 +// Size: 0x98 +class CSingleplayRules : public CGameRules { public: - char[128] m_szQuestName; // 0x8 - int32_t m_nQuestPhase; // 0x88 + bool m_bSinglePlayerGameEnding; // 0x90 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct magnetted_objects_t { public: - CHandle< CBaseEntity > hEntity; // 0x8 + CHandle< CBaseEntity > hEntity; // 0x8 }; -// Aligment: 3 -// Size: 96 +// Alignment: 3 +// Size: 0x60 class CNetworkOriginQuantizedVector { public: @@ -23484,53 +25087,53 @@ public: // MNetworkMaxValue "16384" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkOriginQuantizedVector" - CNetworkedQuantizedFloat m_vecX; // 0x18 + CNetworkedQuantizedFloat m_vecX; // 0x18 // MNetworkBitCount "19" // MNetworkMinValue "-16384" // MNetworkMaxValue "16384" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkOriginQuantizedVector" - CNetworkedQuantizedFloat m_vecY; // 0x30 + CNetworkedQuantizedFloat m_vecY; // 0x30 // MNetworkBitCount "19" // MNetworkMinValue "-16384" // MNetworkMaxValue "16384" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkOriginQuantizedVector" - CNetworkedQuantizedFloat m_vecZ; // 0x48 + CNetworkedQuantizedFloat m_vecZ; // 0x48 }; -// Aligment: 5 -// Size: 368 +// Alignment: 5 +// Size: 0x170 struct vehiclesounds_t { public: - CUtlVector< vehicle_gear_t > pGears; // 0x8 - CUtlVector< vehicle_crashsound_t > crashSounds; // 0x20 - CUtlSymbolLarge[9] iszSound; // 0x38 - CUtlSymbolLarge[20] iszStateSounds; // 0x80 - float32[20] minStateTime; // 0x120 + CUtlVector< vehicle_gear_t > pGears; // 0x8 + CUtlVector< vehicle_crashsound_t > crashSounds; // 0x20 + CUtlSymbolLarge iszSound[9]; // 0x38 + CUtlSymbolLarge iszStateSounds[20]; // 0x80 + float minStateTime[20]; // 0x120 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc struct AbilityLOSResult_t { public: - ConditionId_t m_nCondition; // 0x0 - BodyLocations_t m_nTargetBodyLocation; // 0x4 - CHandle< CBaseEntity > m_hOccluderEntity; // 0x8 + ConditionId_t m_nCondition; // 0x0 + BodyLocations_t m_nTargetBodyLocation; // 0x4 + CHandle< CBaseEntity > m_hOccluderEntity; // 0x8 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 struct CSteamPal_SequencerSequenceDef_t { public: - CUtlVector< CUtlString > m_vMusicTracks; // 0x0 + CUtlVector< CUtlString > m_vMusicTracks; // 0x0 }; -// Aligment: 7 -// Size: 104 +// Alignment: 7 +// Size: 0x68 class CNetworkOriginCellCoordQuantizedVector { public: @@ -23538,19 +25141,19 @@ public: // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "cellx" - uint16_t m_cellX; // 0x18 + uint16_t m_cellX; // 0x18 // MNetworkEnable // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "celly" - uint16_t m_cellY; // 0x1a + uint16_t m_cellY; // 0x1a // MNetworkEnable // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "cellz" - uint16_t m_cellZ; // 0x1c + uint16_t m_cellZ; // 0x1c // MNetworkEnable - uint16_t m_nOutsideWorld; // 0x1e + uint16_t m_nOutsideWorld; // 0x1e // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1024" @@ -23558,7 +25161,7 @@ public: // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "posx" - CNetworkedQuantizedFloat m_vecX; // 0x20 + CNetworkedQuantizedFloat m_vecX; // 0x20 // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1024" @@ -23566,7 +25169,7 @@ public: // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "posy" - CNetworkedQuantizedFloat m_vecY; // 0x38 + CNetworkedQuantizedFloat m_vecY; // 0x38 // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1024" @@ -23574,1012 +25177,1116 @@ public: // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "posz" - CNetworkedQuantizedFloat m_vecZ; // 0x50 + CNetworkedQuantizedFloat m_vecZ; // 0x50 }; -// Aligment: 4 -// Size: 40 +// Alignment: 4 +// Size: 0x28 class CSequenceTransitioner { public: - CUtlVector< CAnimationLayer > m_animationQueue; // 0x0 - bool m_bIsInSimulation; // 0x18 - float m_flSimOrRenderTime; // 0x1c - float m_flInterpolatedTime; // 0x20 + CUtlVector< CAnimationLayer > m_animationQueue; // 0x0 + bool m_bIsInSimulation; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + float m_flSimOrRenderTime; // 0x1c + float m_flInterpolatedTime; // 0x20 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 struct ragdollelement_t { public: - Vector originParentSpace; // 0x0 - int32_t parentIndex; // 0x20 - float m_flRadius; // 0x24 + Vector originParentSpace; // 0x0 + int32_t parentIndex; // 0x20 + float m_flRadius; // 0x24 }; -// Aligment: 12 -// Size: 80 +// Alignment: 12 +// Size: 0x50 struct CommandToolCommand_t { 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 + 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 }; -// Aligment: 30 -// Size: 192 +// Alignment: 30 +// Size: 0xc0 class CShatterGlassShard { 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 - float m_flPhysicsEntitySpawnedAtTime; // 0x9c - bool m_bShatterRateLimited; // 0xa0 - CHandle< CBaseEntity > m_hEntityHittingMe; // 0xa4 - CUtlVector< uint32 > m_vecNeighbors; // 0xa8 + 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: + float 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 }; -// Aligment: 5 -// Size: 32 -class CGameChoreoServices : public IChoreoServices +// Alignment: 0 +// Size: 0x8 +class IChoreoServices { public: - CHandle< CBaseAnimating > m_hOwner; // 0x8 - CHandle< CScriptedSequence > m_hScriptedSequence; // 0xc - IChoreoServices::ScriptState_t m_scriptState; // 0x10 - CGameChoreoServices::ChoreoState_t m_choreoState; // 0x14 - float m_flTimeStartedState; // 0x18 + // no members available }; -// Aligment: 3 -// Size: 20 +// Alignment: 3 +// Size: 0x14 struct UnreachableEnt_t { public: - CHandle< CBaseEntity > hUnreachableEnt; // 0x0 - float fExpireTime; // 0x4 - Vector vLocationWhenUnreachable; // 0x8 + CHandle< CBaseEntity > hUnreachableEnt; // 0x0 + float fExpireTime; // 0x4 + Vector vLocationWhenUnreachable; // 0x8 }; -// Aligment: 2 -// Size: 504 +// Alignment: 2 +// Size: 0x1f8 struct ConceptHistory_t { public: - float timeSpoken; // 0x0 - CRR_Response m_response; // 0x8 + float timeSpoken; // 0x0 + CRR_Response m_response; // 0x8 }; -// Aligment: 8 -// Size: 504 +// Alignment: 8 +// Size: 0x1f8 struct CSteamPal_Ultra_Toilet_Gun_VData_t { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sMuzzleFlashEffect; // 0x0 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTracerEffect; // 0xe0 - CUtlString m_strMuzzleAttachment; // 0x1c0 - int32_t m_nAmmo; // 0x1c8 - float m_flRateOfFire; // 0x1cc - float m_flDamage; // 0x1d0 - CSoundEventName m_sShootSound; // 0x1d8 - CSoundEventName m_sEmptySound; // 0x1e8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sMuzzleFlashEffect; // 0x0 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTracerEffect; // 0xe0 + CUtlString m_strMuzzleAttachment; // 0x1c0 + int32_t m_nAmmo; // 0x1c8 + float m_flRateOfFire; // 0x1cc + float m_flDamage; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 +public: + CSoundEventName m_sShootSound; // 0x1d8 + CSoundEventName m_sEmptySound; // 0x1e8 }; -// Aligment: 1 -// Size: 192 +// Alignment: 1 +// Size: 0xc0 struct BodyLocationListVData_t { public: - BodyLocationVData_t*[5] m_ppBodyLocationData; // 0x0 + BodyLocationVData_t* m_ppBodyLocationData[5]; // 0x0 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CPlayerComponent { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 + CNetworkVarChainer __m_pChainEntity; // 0x8 }; -// Aligment: 2 -// Size: 24 -class CRandStopwatch : public CStopwatchBase, CSimpleSimTimer -{ -public: - float m_minInterval; // 0x10 - float m_maxInterval; // 0x14 -}; - -// Aligment: 5 -// Size: 24 -struct SteamPal_Ultra_Toilet_Gun_t -{ -public: - SteampalUltraToiletGunType_t m_eGunType; // 0x0 - AttachmentHandle_t m_nMuzzleAttachment; // 0x4 - int32_t m_nNumShotsFired; // 0x8 - float m_flNextAttackTime; // 0xc - CSteamPal_Ultra_Toilet_Gun_VData_t* m_pGunVData; // 0x10 -}; - -// Aligment: 28 -// Size: 192 -class CBaseAchievement -{ -public: - char* m_pszName; // 0x18 - int32_t m_iAchievementID; // 0x20 - int32_t m_iFlags; // 0x24 - int32_t m_iGoal; // 0x28 - int32_t m_iProgressMsgIncrement; // 0x2c - int32_t m_iProgressMsgMinimum; // 0x30 - int32_t m_iPointValue; // 0x34 - bool m_bHideUntilAchieved; // 0x38 - bool m_bStoreProgressInSteam; // 0x39 - char* m_pInflictorClassNameFilter; // 0x40 - char* m_pInflictorEntityNameFilter; // 0x48 - char* m_pVictimClassNameFilter; // 0x50 - char* m_pAttackerClassNameFilter; // 0x58 - char* m_pMapNameFilter; // 0x60 - char* m_pGameDirFilter; // 0x68 - char** m_pszComponentNames; // 0x70 - char** m_pszComponentDisplayNames; // 0x78 - int32_t m_iNumComponents; // 0x80 - char* m_pszComponentPrefix; // 0x88 - int32_t m_iComponentPrefixLen; // 0x90 - bool m_bAchieved; // 0x94 - int32_t m_iCount; // 0x98 - int32_t m_iProgressShown; // 0x9c - uint64_t m_iComponentBits; // 0xa0 - int32_t m_nUserSlot; // 0xb0 - int32_t m_iDisplayOrder; // 0xb4 - bool m_bShowOnHUD; // 0xb8 - int32_t m_iAssetAwardID; // 0xbc -}; - -// Aligment: 0 -// Size: 8 -class IModifierTrackedObject -{ -public: -// -}; - -// Aligment: 1 -// Size: 8 -class CRangeInt -{ -public: - int32[2] m_pValue; // 0x0 -}; - -// Aligment: 0 -// Size: 1 -class CPhysicsComponent -{ -public: -// -}; - -// Aligment: 2 -// Size: 16 -struct RagdollCreationParams_t -{ -public: - Vector m_vForce; // 0x0 - int32_t m_nForceBone; // 0xc -}; - -// Aligment: 0 -// Size: 8 -struct ModifierTrackedSound_t -{ -public: -// -}; - -// Aligment: 1 -// Size: 416 -class CNetworkTransmitComponent -{ -public: - uint8_t m_nTransmitStateOwnedCounter; // 0x16c -public: - static int32_t &Get_s_nWatchTransmitEntity() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fiels[0]->m_instance); } - static bool &Get_s_bUseNetworkVars() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fiels[1]->m_instance); } - static bool &Get_s_bNetworkVarPerFieldTracking() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fiels[2]->m_instance); } - static bool &Get_s_bNetworkVarValidate() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fiels[3]->m_instance); } - static bool &Get_s_bUsingPVSConvars() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fiels[4]->m_instance); } -}; - -// Aligment: 5 -// Size: 56 -struct AmmoTypeInfo_t -{ -public: - int32_t m_nMaxCarry; // 0x10 - CRangeInt m_nSplashSize; // 0x1c - AmmoFlags_t m_nFlags; // 0x24 - float m_flMass; // 0x28 - CRangeFloat m_flSpeed; // 0x2c -}; - -// Aligment: 8 -// Size: 49 -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 -}; - -// Aligment: 2 -// Size: 132 -struct CBaseServerVehicle::entryanim_t -{ -public: - int32_t iHitboxGroup; // 0x0 - char[128] szAnimName; // 0x4 -}; - -// Aligment: 12 -// Size: 120 -class CCommentarySystem -{ -public: - uint64_t m_afPlayersLastButtons; // 0x18 - bool m_bCommentaryConvarsChanging; // 0x20 - int32_t m_iClearPressedButtons; // 0x24 - bool m_bCommentaryEnabledMidGame; // 0x28 - float m_flNextTeleportTime; // 0x2c - int32_t m_iTeleportStage; // 0x30 - bool m_bCheatState; // 0x34 - bool m_bIsFirstSpawnGroupToLoad; // 0x35 - CHandle< CPointCommentaryNode > m_hCurrentNode; // 0x50 - CHandle< CPointCommentaryNode > m_hActiveCommentaryNode; // 0x54 - CHandle< CPointCommentaryNode > m_hLastCommentaryNode; // 0x58 - CUtlVector< CHandle< CPointCommentaryNode > > m_vecNodes; // 0x60 -}; - -// Aligment: 5 -// Size: 36 -struct LastIncomingHit_t -{ -public: - Vector vecDir; // 0x0 - Vector vecBoneLocalPos; // 0xc - int32_t nHitboxBoneIndex; // 0x18 - float flHitStrength; // 0x1c - int32_t nDamageType; // 0x20 -}; - -// Aligment: 3 -// Size: 48 -class CFlightComponent -{ -public: - CHandle< CAI_DefaultNPC > m_pOuter; // 0x8 - Vector m_vCurrentVelocity; // 0xc - Vector m_vNoiseMod; // 0x18 -}; - -// Aligment: 0 -// Size: 24 -class CAI_Component -{ -public: -// -}; - -// Aligment: 2 -// Size: 16 -class CAI_MoveMonitor -{ -public: - Vector m_vMark; // 0x0 - float m_flMarkTolerance; // 0xc -}; - -// Aligment: 3 -// Size: 40 -class CAI_BehaviorBase : public CAI_Component -{ -public: - bool m_bActive; // 0x18 - bool m_bOverrode; // 0x19 - CAI_BehaviorBase* m_pActiveChildBehavior; // 0x20 -}; - -// Aligment: 2 -// Size: 8 -class CTakeDamageResult -{ -public: - int32_t m_nHealthLost; // 0x0 - int32_t m_nDamageTaken; // 0x4 -}; - -// Aligment: 1 -// Size: 40 -struct SquadModeInfo_t -{ -public: - CUtlVector< SquadSlotId_t > m_vecSlots; // 0x10 -}; - -// Aligment: 9 -// Size: 88 -class CAI_AssaultBehavior -{ -public: - CHandle< CAssaultPoint > m_hAssaultPoint; // 0x28 - CHandle< CRallyPoint > m_hRallyPoint; // 0x2c - bool m_bHitRallyPoint; // 0x38 - bool m_bHitAssaultPoint; // 0x39 - bool m_bDiverting; // 0x3a - float m_flLastSawAnEnemyAt; // 0x3c - float m_flTimeDeferScheduleSelection; // 0x40 - CUtlSymbolLarge m_AssaultPointName; // 0x48 - CHandle< CAI_AssaultGoal > m_hAssaultGoal; // 0x50 -public: - static CUtlSymbolLarge &Get_SCHED_MOVE_TO_RALLY_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_ASSAULT_FAILED_TO_MOVE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FAIL_MOVE_TO_RALLY_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_MOVE_TO_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[3]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_AT_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[4]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_HOLD_RALLY_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[5]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_HOLD_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[6]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_WAIT_AND_CLEAR() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[7]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_ASSAULT_MOVE_AWAY() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[8]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_CLEAR_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[9]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_RALLY_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[10]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FACE_RALLY_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[11]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[12]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FACE_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[13]->m_instance); } - static CUtlSymbolLarge &Get_TASK_HIT_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[14]->m_instance); } - static CUtlSymbolLarge &Get_TASK_HIT_RALLY_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[15]->m_instance); } - static CUtlSymbolLarge &Get_TASK_AWAIT_CUE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[16]->m_instance); } - static CUtlSymbolLarge &Get_TASK_AWAIT_ASSAULT_TIMEOUT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[17]->m_instance); } - static CUtlSymbolLarge &Get_TASK_ANNOUNCE_CLEAR() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[18]->m_instance); } - static CUtlSymbolLarge &Get_TASK_WAIT_ASSAULT_DELAY() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[19]->m_instance); } - static CUtlSymbolLarge &Get_TASK_ASSAULT_MOVE_AWAY_PATH() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[20]->m_instance); } - static CUtlSymbolLarge &Get_TASK_ASSAULT_DEFER_SCHEDULE_SELECTION() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[21]->m_instance); } -}; - -// Aligment: 3 -// Size: 20 -class VelocitySampler -{ -public: - Vector m_prevSample; // 0x0 - float m_fPrevSampleTime; // 0xc - float m_fIdealSampleRate; // 0x10 -}; - -// Aligment: 1 -// Size: 24 -class CPhysicsShake -{ -public: - Vector m_force; // 0x8 -}; - -// Aligment: 0 -// Size: 144 -class CMultiplayRules : public CGameRules -{ -public: -// -}; - -// Aligment: 5 -// Size: 280 -struct NPCAttachmentDesc_t -{ -public: - CUtlString m_sAttachmentName; // 0x0 - CUtlString m_sEntityName; // 0x8 - Vector m_vOffset; // 0x10 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x20 - CUtlVector< NPCAttachmentSpawnKV_t > m_vecSpawnKV; // 0x100 -}; - -// Aligment: 6 -// Size: 56 -struct NPCAbilityPickupBehavior_t -{ -public: - AbilityPickupBehaviorType_t m_behaviorType; // 0x0 - // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" - // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantSpecifiedAmmo" - // MPropertyDescription "The type of ammo to grant to a player or NPC. Only grants it to players/NPCs who can use that ammo type." - CUtlString m_sAmmoType; // 0x8 - // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantDroppedAmmo" - bool m_bAllowNPCsToPickUpDroppedAmmo; // 0x10 - // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantSpecifiedAmmo" - bool m_bAllowNPCsToPickUpSpecifiedAmmo; // 0x11 - // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantSpecifiedNPCAbility" - // MPropertyDescription "The NPC ability type to grant. Only grants it to NPCs which have been marked as being able to use this ability type." - CSubclassName< 6 > m_sNPCAbilityName; // 0x18 - // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantPlayerWeapon" - // MPropertyDescription "The player weapon to grant." - CSubclassName< 3 > m_sPlayerWeaponName; // 0x28 -}; - -// Aligment: 1 -// Size: 152 -class CNavVolumeVector : public CNavVolume -{ -public: - bool m_bHasBeenPreFiltered; // 0x78 -}; - -// Aligment: 21 -// Size: 592 -class CBaseServerVehicle : public IServerVehicle, IVehicle -{ -public: - CUtlVector< CPassengerInfo > m_PassengerInfo; // 0x8 - CUtlVector< CPassengerRole > m_PassengerRoles; // 0x20 - CBaseEntity* m_pVehicle; // 0x38 - int32_t m_nNPCButtons; // 0x48 - int32_t m_nPrevNPCButtons; // 0x4c - float m_flTurnDegrees; // 0x50 - CUtlVector< CBaseServerVehicle::entryanim_t > m_EntryAnimations; // 0x58 - CUtlVector< CBaseServerVehicle::exitanim_t > m_ExitAnimations; // 0x70 - bool m_bParsedAnimations; // 0x88 - bool m_bUseLegacyExitChecks; // 0x89 - int32_t m_iCurrentExitAnim; // 0x8c - Vector m_vecCurrentExitEndPoint; // 0x90 - Vector m_savedViewOffset; // 0x9c - CHandle< CEntityBlocker > m_hExitBlocker; // 0xa8 - vehiclesounds_t m_vehicleSounds; // 0xb0 - float m_flVehicleVolume; // 0x220 - int32_t m_iSoundGear; // 0x224 - float m_flSpeedPercentage; // 0x228 - sound_states m_soundState; // 0x240 - float m_soundStateStartTime; // 0x244 - float m_lastSpeed; // 0x248 -}; - -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CStopwatchBase : public CSimpleSimTimer { public: - bool m_fIsRunning; // 0xc + bool m_fIsRunning; // 0xc }; -// Aligment: 25 -// Size: 100 -struct dynpitchvol_base_t +// Alignment: 5 +// Size: 0x18 +struct SteamPal_Ultra_Toilet_Gun_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 + SteampalUltraToiletGunType_t m_eGunType; // 0x0 + AttachmentHandle_t m_nMuzzleAttachment; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + int32_t m_nNumShotsFired; // 0x8 + float m_flNextAttackTime; // 0xc + CSteamPal_Ultra_Toilet_Gun_VData_t* m_pGunVData; // 0x10 }; -// Aligment: 4 -// Size: 16 +// Alignment: 28 +// Size: 0xc0 +class CBaseAchievement +{ +public: + char* m_pszName; // 0x18 + int32_t m_iAchievementID; // 0x20 + int32_t m_iFlags; // 0x24 + int32_t m_iGoal; // 0x28 + int32_t m_iProgressMsgIncrement; // 0x2c + int32_t m_iProgressMsgMinimum; // 0x30 + int32_t m_iPointValue; // 0x34 + bool m_bHideUntilAchieved; // 0x38 + bool m_bStoreProgressInSteam; // 0x39 +private: + [[maybe_unused]] uint8_t __pad003a[0x6]; // 0x3a +public: + char* m_pInflictorClassNameFilter; // 0x40 + char* m_pInflictorEntityNameFilter; // 0x48 + char* m_pVictimClassNameFilter; // 0x50 + char* m_pAttackerClassNameFilter; // 0x58 + char* m_pMapNameFilter; // 0x60 + char* m_pGameDirFilter; // 0x68 + char** m_pszComponentNames; // 0x70 + char** m_pszComponentDisplayNames; // 0x78 + int32_t m_iNumComponents; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0084[0x4]; // 0x84 +public: + char* m_pszComponentPrefix; // 0x88 + int32_t m_iComponentPrefixLen; // 0x90 + bool m_bAchieved; // 0x94 +private: + [[maybe_unused]] uint8_t __pad0095[0x3]; // 0x95 +public: + int32_t m_iCount; // 0x98 + int32_t m_iProgressShown; // 0x9c + uint64_t m_iComponentBits; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad00a8[0x8]; // 0xa8 +public: + int32_t m_nUserSlot; // 0xb0 + int32_t m_iDisplayOrder; // 0xb4 + bool m_bShowOnHUD; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 +public: + int32_t m_iAssetAwardID; // 0xbc +}; + +// Alignment: 1 +// Size: 0x20 +class CTrackedObject_MODIFIER_TRACKED_RENDER_ATTRIBUTE : public IModifierTrackedObject +{ +public: + ModifierRenderAttribute_t m_objectData; // 0x8 +}; + +// Alignment: 1 +// Size: 0x8 +class CRangeInt +{ +public: + int32_t m_pValue[2]; // 0x0 +}; + +// Alignment: 0 +// Size: 0x1 +class CPhysicsComponent +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x10 +struct RagdollCreationParams_t +{ +public: + Vector m_vForce; // 0x0 + int32_t m_nForceBone; // 0xc +}; + +// Alignment: 0 +// Size: 0x8 +struct ModifierTrackedSound_t +{ +public: + // no members available +}; + +// Alignment: 1 +// Size: 0x1a0 +class CNetworkTransmitComponent +{ +public: + uint8_t m_nTransmitStateOwnedCounter; // 0x16c + static int32_t &Get_s_nWatchTransmitEntity(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[0]->m_instance);}; + static bool &Get_s_bUseNetworkVars(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[1]->m_instance);}; + static bool &Get_s_bNetworkVarPerFieldTracking(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[2]->m_instance);}; + static bool &Get_s_bNetworkVarValidate(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[3]->m_instance);}; + static bool &Get_s_bUsingPVSConvars(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[4]->m_instance);}; +}; + +// 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: 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: 2 +// Size: 0x84 +struct CBaseServerVehicle__entryanim_t +{ +public: + int32_t iHitboxGroup; // 0x0 + char szAnimName[128]; // 0x4 +}; + +// Alignment: 12 +// Size: 0x78 +class CCommentarySystem +{ +public: + uint64_t m_afPlayersLastButtons; // 0x18 + bool m_bCommentaryConvarsChanging; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0021[0x3]; // 0x21 +public: + int32_t m_iClearPressedButtons; // 0x24 + bool m_bCommentaryEnabledMidGame; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 +public: + float m_flNextTeleportTime; // 0x2c + int32_t m_iTeleportStage; // 0x30 + bool m_bCheatState; // 0x34 + bool m_bIsFirstSpawnGroupToLoad; // 0x35 +private: + [[maybe_unused]] uint8_t __pad0036[0x1a]; // 0x36 +public: + CHandle< CPointCommentaryNode > m_hCurrentNode; // 0x50 + CHandle< CPointCommentaryNode > m_hActiveCommentaryNode; // 0x54 + CHandle< CPointCommentaryNode > m_hLastCommentaryNode; // 0x58 +private: + [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c +public: + CUtlVector< CHandle< CPointCommentaryNode > > m_vecNodes; // 0x60 +}; + +// Alignment: 5 +// Size: 0x24 +struct LastIncomingHit_t +{ +public: + Vector vecDir; // 0x0 + Vector vecBoneLocalPos; // 0xc + int32_t nHitboxBoneIndex; // 0x18 + float flHitStrength; // 0x1c + int32_t nDamageType; // 0x20 +}; + +// Alignment: 3 +// Size: 0x30 +class CFlightComponent +{ +public: + CHandle< CAI_DefaultNPC > m_pOuter; // 0x8 + Vector m_vCurrentVelocity; // 0xc + Vector m_vNoiseMod; // 0x18 +}; + +// Alignment: 6 +// Size: 0x38 +class CAI_EnemyServices : public CAI_Component +{ +public: + CHandle< CBaseEntity > m_hEnemy; // 0x18 + CHandle< CBaseEntity > m_hLastEnemy; // 0x1c + float m_flTimeEnemyAcquired; // 0x20 + float m_flTimeLastHadEnemy; // 0x24 + int32_t m_nEnemiesSerialNumber; // 0x28 + CHandle< CBaseEntity > m_hEnemyOccluder; // 0x2c +}; + +// Alignment: 2 +// Size: 0x10 +class CAI_MoveMonitor +{ +public: + Vector m_vMark; // 0x0 + float m_flMarkTolerance; // 0xc +}; + +// Alignment: 3 +// Size: 0x28 +class CAI_BehaviorBase : public CAI_Component +{ +public: + bool m_bActive; // 0x18 + bool m_bOverrode; // 0x19 +private: + [[maybe_unused]] uint8_t __pad001a[0x6]; // 0x1a +public: + CAI_BehaviorBase* m_pActiveChildBehavior; // 0x20 +}; + +// Alignment: 2 +// Size: 0x8 +class CTakeDamageResult +{ +public: + int32_t m_nHealthLost; // 0x0 + int32_t m_nDamageTaken; // 0x4 +}; + +// Alignment: 1 +// Size: 0x28 +struct SquadModeInfo_t +{ +public: + CUtlVector< SquadSlotId_t > m_vecSlots; // 0x10 +}; + +// Alignment: 9 +// Size: 0x58 +class CAI_AssaultBehavior +{ +public: + CHandle< CAssaultPoint > m_hAssaultPoint; // 0x28 + CHandle< CRallyPoint > m_hRallyPoint; // 0x2c +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 +public: + bool m_bHitRallyPoint; // 0x38 + bool m_bHitAssaultPoint; // 0x39 + bool m_bDiverting; // 0x3a +private: + [[maybe_unused]] uint8_t __pad003b[0x1]; // 0x3b +public: + float m_flLastSawAnEnemyAt; // 0x3c + float m_flTimeDeferScheduleSelection; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + CUtlSymbolLarge m_AssaultPointName; // 0x48 + CHandle< CAI_AssaultGoal > m_hAssaultGoal; // 0x50 + static CUtlSymbolLarge &Get_SCHED_MOVE_TO_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_ASSAULT_FAILED_TO_MOVE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FAIL_MOVE_TO_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_MOVE_TO_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[3]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_AT_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[4]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_HOLD_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[5]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_HOLD_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[6]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_WAIT_AND_CLEAR(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[7]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_ASSAULT_MOVE_AWAY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[8]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_CLEAR_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[9]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[10]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FACE_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[11]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[12]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FACE_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[13]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_HIT_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[14]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_HIT_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[15]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_AWAIT_CUE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[16]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_AWAIT_ASSAULT_TIMEOUT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[17]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_ANNOUNCE_CLEAR(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[18]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_WAIT_ASSAULT_DELAY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[19]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_ASSAULT_MOVE_AWAY_PATH(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[20]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_ASSAULT_DEFER_SCHEDULE_SELECTION(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[21]->m_instance);}; +}; + +// Alignment: 3 +// Size: 0x14 +class VelocitySampler +{ +public: + Vector m_prevSample; // 0x0 + float 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: 5 +// Size: 0x118 +struct NPCAttachmentDesc_t +{ +public: + CUtlString m_sAttachmentName; // 0x0 + CUtlString m_sEntityName; // 0x8 + Vector m_vOffset; // 0x10 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x20 + CUtlVector< NPCAttachmentSpawnKV_t > m_vecSpawnKV; // 0x100 +}; + +// Alignment: 6 +// Size: 0x38 +struct NPCAbilityPickupBehavior_t +{ +public: + AbilityPickupBehaviorType_t m_behaviorType; // 0x0 + // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" + // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantSpecifiedAmmo" + // MPropertyDescription "The type of ammo to grant to a player or NPC. Only grants it to players/NPCs who can use that ammo type." + CUtlString m_sAmmoType; // 0x8 + // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantDroppedAmmo" + bool m_bAllowNPCsToPickUpDroppedAmmo; // 0x10 + // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantSpecifiedAmmo" + bool m_bAllowNPCsToPickUpSpecifiedAmmo; // 0x11 +private: + [[maybe_unused]] uint8_t __pad0012[0x6]; // 0x12 +public: + // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantSpecifiedNPCAbility" + // MPropertyDescription "The NPC ability type to grant. Only grants it to NPCs which have been marked as being able to use this ability type." + CSubclassName< 6 > m_sNPCAbilityName; // 0x18 + // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantPlayerWeapon" + // MPropertyDescription "The player weapon to grant." + CSubclassName< 3 > m_sPlayerWeaponName; // 0x28 +}; + +// Alignment: 0 +// Size: 0x98 +class CNavVolumeAll : public CNavVolumeVector +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x8 +class IVehicle +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x18 +class CRandStopwatch : public CStopwatchBase +{ +public: + float m_minInterval; // 0x10 + float m_maxInterval; // 0x14 +}; + +// Alignment: 0 +// Size: 0x64 +struct dynpitchvol_t : public dynpitchvol_base_t +{ +public: + // no members available +}; + +// Alignment: 4 +// Size: 0x10 class CSoundEnvelope { public: - float m_current; // 0x0 - float m_target; // 0x4 - float m_rate; // 0x8 - bool m_forceupdate; // 0xc + float m_current; // 0x0 + float m_target; // 0x4 + float m_rate; // 0x8 + bool m_forceupdate; // 0xc }; -// Aligment: 4 -// Size: 96 +// Alignment: 4 +// Size: 0x60 class CAI_FreePass : public CAI_Component { public: - CHandle< CBaseEntity > m_hTarget; // 0x18 - float m_FreePassTimeRemaining; // 0x1c - CAI_MoveMonitor m_FreePassMoveMonitor; // 0x20 - AI_FreePassParams_t m_Params; // 0x30 + CHandle< CBaseEntity > m_hTarget; // 0x18 + float m_FreePassTimeRemaining; // 0x1c + CAI_MoveMonitor m_FreePassMoveMonitor; // 0x20 + AI_FreePassParams_t m_Params; // 0x30 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CModifierLevelFloat { public: - float32[4] m_pValue; // 0x0 + float m_pValue[4]; // 0x0 }; -// Aligment: 4 -// Size: 48 +// Alignment: 4 +// Size: 0x30 class CAI_BehaviorHost { public: - CAI_BehaviorBase* m_pPrimaryBehavior; // 0x0 - CAI_DefaultNPC* m_pOuter; // 0x8 - CUtlVector< CAI_BehaviorBase* > m_Behaviors; // 0x10 - bool m_bCalledBehaviorSelectSchedule; // 0x28 + CAI_BehaviorBase* m_pPrimaryBehavior; // 0x0 + CAI_DefaultNPC* m_pOuter; // 0x8 + CUtlVector< CAI_BehaviorBase* > m_Behaviors; // 0x10 + bool m_bCalledBehaviorSelectSchedule; // 0x28 }; -// Aligment: 10 -// Size: 96 +// Alignment: 10 +// Size: 0x60 class JiggleData { public: - int32_t bone; // 0x0 - int32_t id; // 0x4 - float lastUpdate; // 0x8 - Vector basePos; // 0xc - Vector baseLastPos; // 0x18 - Vector baseVel; // 0x24 - Vector baseAccel; // 0x30 - Vector tipPos; // 0x3c - Vector tipVel; // 0x48 - Vector tipAccel; // 0x54 + int32_t bone; // 0x0 + int32_t id; // 0x4 + float lastUpdate; // 0x8 + Vector basePos; // 0xc + Vector baseLastPos; // 0x18 + Vector baseVel; // 0x24 + Vector baseAccel; // 0x30 + Vector tipPos; // 0x3c + Vector tipVel; // 0x48 + Vector tipAccel; // 0x54 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IServerVehicle : public IVehicle { public: -// + // no members available }; -// Aligment: 8 -// Size: 136 +// Alignment: 8 +// Size: 0x88 class ConstraintSoundInfo { 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 + 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 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct ModifierTrackedBodyGroup_t { public: - CUtlString m_strBodygroupName; // 0x0 - int32_t m_nRestoreValue; // 0x8 + CUtlString m_strBodygroupName; // 0x0 + int32_t m_nRestoreValue; // 0x8 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 struct BodyLocationVDataForStance_t { public: - CUtlString[3] m_pSpeculationAttachment; // 0x0 - bool m_bUsePitch; // 0x18 - Vector m_vecSpeculationPosMiddle; // 0x1c + CUtlString m_pSpeculationAttachment[3]; // 0x0 + bool m_bUsePitch; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + Vector m_vecSpeculationPosMiddle; // 0x1c }; -// Aligment: 6 -// Size: 136 +// Alignment: 6 +// Size: 0x88 class CAI_AnimGraphServices : public CAI_Component { public: - float m_flMinFaceTolerance; // 0x20 - CUtlStringToken m_sFinishTagThatTaskIsWaitingFor; // 0x24 - CUtlSymbolLarge m_iszGraphVariableToSetOnTaskEnd; // 0x28 - CUtlSymbolLarge m_iszGraphVariableToSetOnScheduleEnd; // 0x30 - CUtlSymbolLarge m_iszGraphVariableToSetOnFinishTag; // 0x38 - LastIncomingHit_t m_LastIncomingHit; // 0x60 + float m_flMinFaceTolerance; // 0x20 + CUtlStringToken m_sFinishTagThatTaskIsWaitingFor; // 0x24 + CUtlSymbolLarge m_iszGraphVariableToSetOnTaskEnd; // 0x28 + CUtlSymbolLarge m_iszGraphVariableToSetOnScheduleEnd; // 0x30 + CUtlSymbolLarge m_iszGraphVariableToSetOnFinishTag; // 0x38 +private: + [[maybe_unused]] uint8_t __pad0040[0x20]; // 0x40 public: - static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET_ON_TAG() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET_ON_SCHEDULEEND() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fiels[3]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG_FACE_ENEMY() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fiels[4]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG_AND_MOVEMENT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fiels[5]->m_instance); } + LastIncomingHit_t m_LastIncomingHit; // 0x60 + static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET_ON_TAG(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET_ON_SCHEDULEEND(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[3]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG_FACE_ENEMY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[4]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG_AND_MOVEMENT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[5]->m_instance);}; }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc struct SquadSlotNPCEntry_t { public: - SquadSlotId_t nId; // 0x0 - CHandle< CBaseEntity > hEnemy; // 0x4 - bool bHoldForManualRelease; // 0x8 + SquadSlotId_t nId; // 0x0 + CHandle< CBaseEntity > hEnemy; // 0x4 + bool bHoldForManualRelease; // 0x8 }; -// Aligment: 2 -// Size: 200 +// Alignment: 2 +// Size: 0xc8 class CFailableAchievement : public CBaseAchievement { public: - bool m_bActivated; // 0xc0 - bool m_bFailed; // 0xc1 + bool m_bActivated; // 0xc0 + bool m_bFailed; // 0xc1 }; -// Aligment: 5 -// Size: 156 -struct CBaseServerVehicle::exitanim_t +// Alignment: 5 +// Size: 0x9c +struct CBaseServerVehicle__exitanim_t { public: - bool bUpright; // 0x0 - bool bEscapeExit; // 0x1 - char[128] szAnimName; // 0x2 - Vector vecExitPointLocal; // 0x84 - QAngle vecExitAnglesLocal; // 0x90 + bool bUpright; // 0x0 + bool bEscapeExit; // 0x1 + char szAnimName[128]; // 0x2 +private: + [[maybe_unused]] uint8_t __pad0082[0x2]; // 0x82 +public: + Vector vecExitPointLocal; // 0x84 + QAngle vecExitAnglesLocal; // 0x90 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct ActiveScriptedCommand_t { public: - CHandle< CAI_ScriptedBase > m_hCommand; // 0x0 - CHandle< CBaseEntity > m_hTarget; // 0x4 + CHandle< CAI_ScriptedBase > m_hCommand; // 0x0 + CHandle< CBaseEntity > m_hTarget; // 0x4 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 class ResponseParams { public: - int16_t odds; // 0x10 - int16_t flags; // 0x12 - uint8_t soundlevel; // 0x14 - ResponseFollowup* m_pFollowup; // 0x18 + int16_t odds; // 0x10 + int16_t flags; // 0x12 + uint8_t soundlevel; // 0x14 +private: + [[maybe_unused]] uint8_t __pad0015[0x3]; // 0x15 +public: + ResponseFollowup* m_pFollowup; // 0x18 }; -// Aligment: 1 -// Size: 24 -class CStopwatch : public CStopwatchBase, CSimpleSimTimer +// Alignment: 1 +// Size: 0x18 +class CStopwatch : public CStopwatchBase { public: - float m_interval; // 0x10 + float m_interval; // 0x10 }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 struct vehicle_gear_t { public: - float flMinSpeed; // 0x8 - float flMaxSpeed; // 0xc - float flSpeedApproachFactor; // 0x10 + float flMinSpeed; // 0x8 + float flMaxSpeed; // 0xc + float flSpeedApproachFactor; // 0x10 }; -// Aligment: 11 -// Size: 128 +// Alignment: 11 +// Size: 0x80 class CAI_ChoreoServices : public CAI_Component { public: - CHandle< CScriptedSequence > m_hCine; // 0x20 - IChoreoServices::ScriptState_t m_scriptState; // 0x24 - ScriptedOnDeath_t m_scriptedOnDeathBehavior; // 0x28 - CUtlVector< ActiveScriptedCommand_t > m_vecActiveScriptedCommands; // 0x30 - bool[2] m_abResumedPriorities; // 0x48 - bool m_bInAnimGraphChoreo; // 0x4a - FacingMode m_nPriorFacingMode; // 0x4c - bool m_bInChoreo; // 0x50 - float m_flSceneTime; // 0x54 - CHandle< CBaseModelEntity > m_hChoreoPhysProxy; // 0x78 - float m_flChoreoPhysProxyAttachOffset; // 0x7c + CHandle< CScriptedSequence > m_hCine; // 0x20 + IChoreoServices::ScriptState_t m_scriptState; // 0x24 + ScriptedOnDeath_t m_scriptedOnDeathBehavior; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c public: - static CUtlSymbolLarge &Get_SCHED_SCENE_GENERIC() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_WAIT_FOR_SCRIPT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_SCRIPTED_WALK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_SCRIPTED_RUN() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[3]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_SCRIPTED_CUSTOM_MOVE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[4]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_SCRIPTED_WAIT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[5]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_SCRIPTED_FACE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[6]->m_instance); } - static CUtlSymbolLarge &Get_TASK_PLAY_SCENE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[7]->m_instance); } - static CUtlSymbolLarge &Get_TASK_SCRIPT_WALK_TO_TARGET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[8]->m_instance); } - static CUtlSymbolLarge &Get_TASK_SCRIPT_RUN_TO_TARGET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[9]->m_instance); } - static CUtlSymbolLarge &Get_TASK_SCRIPT_CUSTOM_MOVE_TO_TARGET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[10]->m_instance); } - static CUtlSymbolLarge &Get_TASK_WAIT_FOR_SCRIPT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[11]->m_instance); } - static CUtlSymbolLarge &Get_TASK_PUSH_SCRIPT_ARRIVAL_ACTIVITY() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[12]->m_instance); } - static CUtlSymbolLarge &Get_TASK_PLAY_SCRIPT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[13]->m_instance); } - static CUtlSymbolLarge &Get_TASK_PLAY_SCRIPT_POST_IDLE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[14]->m_instance); } - static CUtlSymbolLarge &Get_TASK_ENABLE_SCRIPT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[15]->m_instance); } - static CUtlSymbolLarge &Get_TASK_PLANT_ON_SCRIPT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[16]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FACE_SCRIPT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[17]->m_instance); } + CUtlVector< ActiveScriptedCommand_t > m_vecActiveScriptedCommands; // 0x30 + bool m_abResumedPriorities[2]; // 0x48 + bool m_bInAnimGraphChoreo; // 0x4a +private: + [[maybe_unused]] uint8_t __pad004b[0x1]; // 0x4b +public: + FacingMode m_nPriorFacingMode; // 0x4c + bool m_bInChoreo; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + float m_flSceneTime; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0058[0x20]; // 0x58 +public: + CHandle< CBaseModelEntity > m_hChoreoPhysProxy; // 0x78 + float m_flChoreoPhysProxyAttachOffset; // 0x7c + static CUtlSymbolLarge &Get_SCHED_SCENE_GENERIC(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_WAIT_FOR_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_SCRIPTED_WALK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_SCRIPTED_RUN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[3]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_SCRIPTED_CUSTOM_MOVE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[4]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_SCRIPTED_WAIT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[5]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_SCRIPTED_FACE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[6]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_PLAY_SCENE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[7]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_SCRIPT_WALK_TO_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[8]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_SCRIPT_RUN_TO_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[9]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_SCRIPT_CUSTOM_MOVE_TO_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[10]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_WAIT_FOR_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[11]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_PUSH_SCRIPT_ARRIVAL_ACTIVITY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[12]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_PLAY_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[13]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_PLAY_SCRIPT_POST_IDLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[14]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_ENABLE_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[15]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_PLANT_ON_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[16]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FACE_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[17]->m_instance);}; }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CTrackedObject_MODIFIER_TRACKED_SOUND : public IModifierTrackedObject { public: - ModifierTrackedSound_t m_objectData; // 0x8 + ModifierTrackedSound_t m_objectData; // 0x8 }; -// Aligment: 0 -// Size: 8 -class IChoreoServices +// Alignment: 5 +// Size: 0x20 +class CGameChoreoServices : public IChoreoServices { public: -// + CHandle< CBaseAnimating > m_hOwner; // 0x8 + CHandle< CScriptedSequence > m_hScriptedSequence; // 0xc + IChoreoServices::ScriptState_t m_scriptState; // 0x10 + CGameChoreoServices::ChoreoState_t m_choreoState; // 0x14 + float m_flTimeStartedState; // 0x18 }; -// Aligment: 9 -// Size: 48 +// Alignment: 9 +// Size: 0x30 struct AI_FreePassParams_t { public: - float timeToTrigger; // 0x8 - float duration; // 0xc - float moveTolerance; // 0x10 - float refillRate; // 0x14 - float coverDist; // 0x18 - float peekTime; // 0x1c - float peekTimeAfterDamage; // 0x20 - float peekEyeDist; // 0x24 - float peekEyeDistZ; // 0x28 + float timeToTrigger; // 0x8 + float duration; // 0xc + float moveTolerance; // 0x10 + float refillRate; // 0x14 + float coverDist; // 0x18 + float peekTime; // 0x1c + float peekTimeAfterDamage; // 0x20 + float peekEyeDist; // 0x24 + float peekEyeDistZ; // 0x28 }; -// Aligment: 9 -// Size: 96 -class CAI_Expresser +// Alignment: 1 +// Size: 0x78 +class CMultiplayer_Expresser : public CAI_ExpresserWithFollowup { public: - float m_flStopTalkTime; // 0x38 - float m_flStopTalkTimeWithoutDelay; // 0x3c - float m_flBlockedTalkTime; // 0x40 - int32_t m_voicePitch; // 0x44 - float m_flLastTimeAcceptedSpeak; // 0x48 - bool m_bAllowSpeakingInterrupts; // 0x4c - bool m_bConsiderSceneInvolvementAsSpeech; // 0x4d - int32_t m_nLastSpokenPriority; // 0x50 - CBaseFlex* m_pOuter; // 0x58 + bool m_bAllowMultipleScenes; // 0x70 }; -// Aligment: 2 -// Size: 48 +// Alignment: 2 +// Size: 0x30 class CResponseCriteriaSet { public: - int32_t m_nNumPrefixedContexts; // 0x28 - bool m_bOverrideOnAppend; // 0x2c + int32_t m_nNumPrefixedContexts; // 0x28 + bool m_bOverrideOnAppend; // 0x2c }; -// Aligment: 0 -// Size: 216 +// Alignment: 0 +// Size: 0xd8 class CNavVolumeMarkupVolume : public CNavVolume { public: -// + // no members available }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CSkeletonAnimationController { public: // MNetworkDisable - CSkeletonInstance* m_pSkeletonInstance; // 0x8 + CSkeletonInstance* m_pSkeletonInstance; // 0x8 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 struct HitscanGatherData_t { public: - CBitVec< 2 > m_FiringOccludedHere; // 0x0 - Vector m_vecFiringAtPos; // 0x4 - Vector m_vecFiringTargetPos; // 0x10 - bool m_bWeaponFireOccludedLastTime; // 0x1c + CBitVec< 2 > m_FiringOccludedHere; // 0x0 + Vector m_vecFiringAtPos; // 0x4 + Vector m_vecFiringTargetPos; // 0x10 + bool m_bWeaponFireOccludedLastTime; // 0x1c }; -// Aligment: 10 -// Size: 60 +// Alignment: 10 +// Size: 0x3c class CGameScriptedMoveData { public: - Vector m_vDest; // 0x0 - Vector m_vSrc; // 0xc - QAngle m_angSrc; // 0x18 - QAngle m_angDst; // 0x24 - float m_flDuration; // 0x30 - float m_flStartTime; // 0x34 - MoveType_t m_nPrevMoveType; // 0x38 - bool m_bFinished; // 0x39 - bool m_bTeleportOnEnd; // 0x3a - bool m_bIgnoreRotation; // 0x3b + Vector m_vDest; // 0x0 + Vector m_vSrc; // 0xc + QAngle m_angSrc; // 0x18 + QAngle m_angDst; // 0x24 + float m_flDuration; // 0x30 + float m_flStartTime; // 0x34 + MoveType_t m_nPrevMoveType; // 0x38 + bool m_bFinished; // 0x39 + bool m_bTeleportOnEnd; // 0x3a + bool m_bIgnoreRotation; // 0x3b }; -// Aligment: 1 -// Size: 136 -class CNavVolumeSphericalShell : public CNavVolumeSphere, CNavVolume +// Alignment: 1 +// Size: 0x88 +class CNavVolumeSphericalShell : public CNavVolumeSphere { public: - float m_flRadiusInner; // 0x80 + float m_flRadiusInner; // 0x80 }; -// Aligment: 5 -// Size: 472 +// Alignment: 5 +// Size: 0x1d8 struct ModifierScriptValue_t { public: - EModifierValue m_eModifierValue; // 0x0 - EModifierScriptVariantType m_eType; // 0x4 + EModifierValue m_eModifierValue; // 0x0 + EModifierScriptVariantType m_eType; // 0x4 // MPropertySuppressExpr "m_eType != MODIFIER_SCRIPT_VARIANT_MODIFIER_FLOAT" - CModifierLevelFloat m_value; // 0x8 + CModifierLevelFloat m_value; // 0x8 // MPropertySuppressExpr "m_eType != MODIFIER_SCRIPT_VARIANT_MODEL" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelValue; // 0x18 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelValue; // 0x18 // MPropertySuppressExpr "m_eType != MODIFIER_SCRIPT_VARIANT_PARTICLE" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sParticleValue; // 0xf8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sParticleValue; // 0xf8 }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 struct ResponseContext_t { public: - CUtlSymbolLarge m_iszName; // 0x0 - CUtlSymbolLarge m_iszValue; // 0x8 - float m_fExpirationTime; // 0x10 + CUtlSymbolLarge m_iszName; // 0x0 + CUtlSymbolLarge m_iszValue; // 0x8 + float m_fExpirationTime; // 0x10 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 struct ModifierScriptedEventHandler_t { public: - EModifierScriptedEvent m_eEvent; // 0x8 - CEmbeddedSubclassGeneric< 4 > m_sModifierToAdd; // 0x10 + EModifierScriptedEvent m_eEvent; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CEmbeddedSubclassGeneric< 4 > m_sModifierToAdd; // 0x10 }; -// Aligment: 8 -// Size: 32 +// Alignment: 8 +// Size: 0x20 struct AIScheduleState_t { public: - int32_t iCurTask; // 0x0 - TaskStatus_e nTaskStatus; // 0x4 - float timeStarted; // 0x8 - float timeCurTaskStarted; // 0xc - int64_t taskFailureCode; // 0x10 - int32_t iTaskInterrupt; // 0x18 - bool bTaskRanAutomovement; // 0x1c - bool bScheduleWasInterrupted; // 0x1d + int32_t iCurTask; // 0x0 + TaskStatus_e nTaskStatus; // 0x4 + float timeStarted; // 0x8 + float timeCurTaskStarted; // 0xc + int64_t taskFailureCode; // 0x10 + int32_t iTaskInterrupt; // 0x18 + bool bTaskRanAutomovement; // 0x1c + bool bScheduleWasInterrupted; // 0x1d }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 struct MeleeAttackUseTrigger_t : public NPCAbilityUseTriggerBase_t { public: // MPropertyDescription "The view angle punch applied to the player when they receive this hit. Angle is specifed as Pitch / Yaw / Roll." - QAngle m_angViewPunch; // 0x4 + QAngle m_angViewPunch; // 0x4 // MPropertyDescription "Force applied to the player when they receive this hit. X is the push back, and Y is the push to the side, based on the attacker's facing." - Vector m_vecShoveForce; // 0x10 + Vector m_vecShoveForce; // 0x10 // MPropertyDescription "MELEE Range of this hit. Generally should remain within the evaluation Min/Max ranges, unless you know the animation significantly moves the NPC before this hit occurs." - float m_flRange; // 0x1c + float m_flRange; // 0x1c }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct ConditionId_t { public: - int32_t m_nBoxedTypeSafeInt; // 0x0 + int32_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct AI_SchedLoadStatus_t { public: - bool bValid; // 0x0 - int32_t nSignature; // 0x4 + bool bValid; // 0x0 + int32_t nSignature; // 0x4 }; -// Aligment: 1 -// Size: 720 -class CFourWheelServerVehicle : public CBaseServerVehicle, IServerVehicle, IVehicle +// Alignment: 21 +// Size: 0x250 +class CBaseServerVehicle : public IServerVehicle { public: - ViewSmoothingData_t m_ViewSmoothing; // 0x250 + CUtlVector< CPassengerInfo > m_PassengerInfo; // 0x8 + CUtlVector< CPassengerRole > m_PassengerRoles; // 0x20 + CBaseEntity* m_pVehicle; // 0x38 +private: + [[maybe_unused]] uint8_t __pad0040[0x8]; // 0x40 +public: + int32_t m_nNPCButtons; // 0x48 + int32_t m_nPrevNPCButtons; // 0x4c + float m_flTurnDegrees; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 +public: + CUtlVector< CBaseServerVehicle::entryanim_t > m_EntryAnimations; // 0x58 + CUtlVector< CBaseServerVehicle::exitanim_t > m_ExitAnimations; // 0x70 + bool m_bParsedAnimations; // 0x88 + bool m_bUseLegacyExitChecks; // 0x89 +private: + [[maybe_unused]] uint8_t __pad008a[0x2]; // 0x8a +public: + int32_t m_iCurrentExitAnim; // 0x8c + Vector m_vecCurrentExitEndPoint; // 0x90 + Vector m_savedViewOffset; // 0x9c + CHandle< CEntityBlocker > m_hExitBlocker; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00ac[0x4]; // 0xac +public: + vehiclesounds_t m_vehicleSounds; // 0xb0 + float m_flVehicleVolume; // 0x220 + int32_t m_iSoundGear; // 0x224 + float m_flSpeedPercentage; // 0x228 +private: + [[maybe_unused]] uint8_t __pad022c[0x14]; // 0x22c +public: + sound_states m_soundState; // 0x240 + float m_soundStateStartTime; // 0x244 + float m_lastSpeed; // 0x248 }; -// Aligment: 4 -// Size: 80 +// Alignment: 4 +// Size: 0x50 struct AWS_NPCAbilityInfo_t { public: - int32_t m_nLastGatheredAtTick; // 0x0 - AbilityLOSResult_t m_nLastGatherLOSResult; // 0x4 - CAI_ScheduleBits m_nLastGatherConditions; // 0x10 - CAI_ScheduleBits m_nNonGatherConditions; // 0x30 + int32_t m_nLastGatheredAtTick; // 0x0 + AbilityLOSResult_t m_nLastGatherLOSResult; // 0x4 + CAI_ScheduleBits m_nLastGatherConditions; // 0x10 + CAI_ScheduleBits m_nNonGatherConditions; // 0x30 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 struct CSteamPal_SequencerTrackDef_t { public: - int32_t m_nStandardNoteHold; // 0x0 - CUtlString m_sPlayerInputLeftPadNotes; // 0x8 - CUtlString m_sPlayerInputRightPadNotes; // 0x10 - CUtlString m_sName; // 0x18 + int32_t m_nStandardNoteHold; // 0x0 + CUtlString m_sPlayerInputLeftPadNotes; // 0x8 + CUtlString m_sPlayerInputRightPadNotes; // 0x10 + CUtlString m_sName; // 0x18 }; -// Aligment: 1 -// Size: 1 +// Alignment: 1 +// Size: 0x1 struct AmmoIndex_t { public: - int8_t m_nBoxedTypeSafeInt; // 0x0 + int8_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 3 -// Size: 96 +// Alignment: 3 +// Size: 0x60 class CNetworkViewOffsetVector { public: @@ -24588,636 +26295,713 @@ public: // MNetworkMaxValue "64" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkViewOffsetVector" - CNetworkedQuantizedFloat m_vecX; // 0x18 + CNetworkedQuantizedFloat m_vecX; // 0x18 // MNetworkBitCount "10" // MNetworkMinValue "-64" // MNetworkMaxValue "64" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkViewOffsetVector" - CNetworkedQuantizedFloat m_vecY; // 0x30 + CNetworkedQuantizedFloat m_vecY; // 0x30 // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "128" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkViewOffsetVector" - CNetworkedQuantizedFloat m_vecZ; // 0x48 + CNetworkedQuantizedFloat m_vecZ; // 0x48 }; -// Aligment: 2 -// Size: 184 -class CSteamPalGameRules : public CSingleplayRules, CGameRules +// Alignment: 2 +// Size: 0xb8 +class CSteamPalGameRules : public CSingleplayRules { public: - bool m_bIsInAscentSection; // 0xb0 - CHandle< CBaseEntity > m_hPlayerResource; // 0xb4 + bool m_bIsInAscentSection; // 0xb0 +private: + [[maybe_unused]] uint8_t __pad00b1[0x3]; // 0xb1 +public: + CHandle< CBaseEntity > m_hPlayerResource; // 0xb4 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CTrackedObject_MODIFIER_TRACKED_BODYGROUP : public IModifierTrackedObject { public: - ModifierTrackedBodyGroup_t m_objectData; // 0x8 + ModifierTrackedBodyGroup_t m_objectData; // 0x8 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct ClusteredDistributionParams_t { public: - float m_flClusterCoverageFraction; // 0x0 - float m_flClusterArea; // 0x4 + float m_flClusterCoverageFraction; // 0x0 + float m_flClusterArea; // 0x4 }; -// Aligment: 3 -// Size: 20 +// Alignment: 3 +// Size: 0x14 struct AISquadEnemyInfo_t { public: - CHandle< CBaseEntity > hEnemy; // 0x0 - CBitVec< 48 > slots; // 0x4 - CBitVec< 48 > inactive_slots_by_mode; // 0xc + CHandle< CBaseEntity > hEnemy; // 0x0 + CBitVec< 48 > slots; // 0x4 + CBitVec< 48 > inactive_slots_by_mode; // 0xc }; -// Aligment: 5 -// Size: 48 +// Alignment: 5 +// Size: 0x30 struct NPCAbilityDropBehavior_t { public: - AbilityDropBehaviorType_t m_behaviorType; // 0x0 + AbilityDropBehaviorType_t m_behaviorType; // 0x0 // MPropertySuppressExpr "m_behaviorType != eAbilityDropBehavior_AddIntAttributeToAbilityModel" // MPropertyDescription "Name of the Int attribute to add to the ability model being dropped." - CUtlString m_sIntAttrName; // 0x8 + CUtlString m_sIntAttrName; // 0x8 // MPropertySuppressExpr "m_behaviorType != eAbilityDropBehavior_AddIntAttributeToAbilityModel" // MPropertyDescription "Value of the Int attribute to add to the ability model being dropped." - int32_t m_nIntAttrValue; // 0x10 + int32_t m_nIntAttrValue; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: // MPropertySuppressExpr "m_behaviorType != eAbilityDropBehavior_CreateEntityBySubclass" // MPropertyDescription "Name of the misc subclass to create" - CSubclassNameGeneric m_sSubclass; // 0x18 + CSubclassNameGeneric m_sSubclass; // 0x18 // MPropertySuppressExpr "m_behaviorType != eAbilityDropBehavior_SetGravityScale" // MPropertyDescription "Name of the misc subclass to create" - float m_flGravityScale; // 0x28 + float m_flGravityScale; // 0x28 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct NPCAttachmentSpawnKV_t { public: - CUtlString m_sKey; // 0x0 - CUtlString m_sValue; // 0x8 + CUtlString m_sKey; // 0x0 + CUtlString m_sValue; // 0x8 }; -// Aligment: 2 -// Size: 20 +// 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 + 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 }; -// Aligment: 0 -// Size: 8 -class IVehicle +// Alignment: 1 +// Size: 0x2d0 +class CFourWheelServerVehicle : public CBaseServerVehicle { public: -// + ViewSmoothingData_t m_ViewSmoothing; // 0x250 }; -// Aligment: 1 -// Size: 4 -class CSimpleSimTimer +// Alignment: 2 +// Size: 0xc +class CRandSimTimer : public CSimpleSimTimer { public: - float m_next; // 0x0 + float m_minInterval; // 0x4 + float m_maxInterval; // 0x8 }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 class SimpleConstraintSoundProfile { public: - SimpleConstraintSoundProfile::SimpleConstraintsSoundProfileKeypoints_t eKeypoints; // 0x8 - float32[2] m_keyPoints; // 0xc - float32[3] m_reversalSoundThresholds; // 0x14 + SimpleConstraintSoundProfile::SimpleConstraintsSoundProfileKeypoints_t eKeypoints; // 0x8 + float m_keyPoints[2]; // 0xc + float m_reversalSoundThresholds[3]; // 0x14 }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 struct NPCApplianceBulletAttachment_t { public: - CUtlString m_strAttachmentName; // 0x0 + CUtlString m_strAttachmentName; // 0x0 }; -// Aligment: 6 -// Size: 52 +// Alignment: 6 +// Size: 0x34 struct lerpdata_t { public: - CHandle< CBaseEntity > m_hEnt; // 0x0 - MoveType_t m_MoveType; // 0x4 - float m_flStartTime; // 0x8 - Vector m_vecStartOrigin; // 0xc - Quaternion m_qStartRot; // 0x18 - ParticleIndex_t m_nFXIndex; // 0x28 + CHandle< CBaseEntity > m_hEnt; // 0x0 + MoveType_t m_MoveType; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + float m_flStartTime; // 0x8 + Vector m_vecStartOrigin; // 0xc + Quaternion m_qStartRot; // 0x18 + ParticleIndex_t m_nFXIndex; // 0x28 }; -// Aligment: 1 -// Size: 2 +// Alignment: 1 +// Size: 0x2 struct ModifierQueuedRefreshHandle_t { public: - uint16_t m_nBoxedTypeSafeInt; // 0x0 + uint16_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 2 -// Size: 184 +// Alignment: 2 +// Size: 0xb8 class CScriptUniformRandomStream { public: - HSCRIPT m_hScriptScope; // 0x8 - int32_t m_nInitialSeed; // 0xb0 + HSCRIPT m_hScriptScope; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0010[0xa0]; // 0x10 public: - static CUtlVector< CScriptUniformRandomStream* > &Get_sm_UniformStreams() { return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CScriptUniformRandomStream")->m_static_fiels[0]->m_instance); } + int32_t m_nInitialSeed; // 0xb0 + static CUtlVector< CScriptUniformRandomStream* > &Get_sm_UniformStreams(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CScriptUniformRandomStream")->m_static_fields[0]->m_instance);}; }; -// Aligment: 1 -// Size: 104 +// Alignment: 1 +// Size: 0x68 class CResponseQueue { public: - CUtlVector< CAI_Expresser* > m_ExpresserTargets; // 0x50 + CUtlVector< CAI_Expresser* > m_ExpresserTargets; // 0x50 }; -// Aligment: 12 -// Size: 52 +// 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 - float 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 + float 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 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CPlayerControllerComponent { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 + CNetworkVarChainer __m_pChainEntity; // 0x8 }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 struct ModifierTrackedParticle_t { public: - ParticleIndex_t m_nParticleIndex; // 0x0 - bool m_bDestroyImmediately; // 0x4 - bool m_bStatusEffect; // 0x5 - int16_t m_nStatusEffectPriority; // 0x6 + ParticleIndex_t m_nParticleIndex; // 0x0 + bool m_bDestroyImmediately; // 0x4 + bool m_bStatusEffect; // 0x5 + int16_t m_nStatusEffectPriority; // 0x6 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 class CThrustController { public: - Vector m_thrustVector; // 0x8 - RotationVector m_torqueVector; // 0x14 - float m_thrust; // 0x20 + Vector m_thrustVector; // 0x8 + RotationVector m_torqueVector; // 0x14 + float m_thrust; // 0x20 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class CFootstepTableHandle { public: -// + // no members available }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CTrackedObject_MODIFIER_TRACKED_GRAPH_PARAMETER : public IModifierTrackedObject { public: - ModifierTrackedGraphParameter_t m_objectData; // 0x8 + ModifierTrackedGraphParameter_t m_objectData; // 0x8 }; -// Aligment: 9 -// Size: 128 +// 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 + 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: - static uint32_t &Get_s_globalCount() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CRagdoll")->m_static_fiels[0]->m_instance); } + 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);}; }; -// Aligment: 6 -// Size: 24 +// Alignment: 6 +// Size: 0x18 struct CSteamPal_Turret_Wing_t { public: - float m_flPitchMin; // 0x0 - float m_flPitchMax; // 0x4 - float m_flPitchRate; // 0x8 - float m_flYawMin; // 0xc - float m_flYawMax; // 0x10 - float m_flYawRate; // 0x14 + float m_flPitchMin; // 0x0 + float m_flPitchMax; // 0x4 + float m_flPitchRate; // 0x8 + float m_flYawMin; // 0xc + float m_flYawMax; // 0x10 + float m_flYawRate; // 0x14 }; -// Aligment: 2 -// Size: 16 +// 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 }; -// Aligment: 18 -// Size: 128 +// Alignment: 18 +// Size: 0x80 struct ViewSmoothingData_t { public: - CBaseAnimating* pVehicle; // 0x0 - bool bClampEyeAngles; // 0x8 - float flPitchCurveZero; // 0xc - float flPitchCurveLinear; // 0x10 - float flRollCurveZero; // 0x14 - float flRollCurveLinear; // 0x18 - float flFOV; // 0x1c - ViewLockData_t pitchLockData; // 0x20 - ViewLockData_t rollLockData; // 0x30 - bool bDampenEyePosition; // 0x40 - bool bRunningEnterExit; // 0x41 - bool bWasRunningAnim; // 0x42 - float flEnterExitStartTime; // 0x44 - float flEnterExitDuration; // 0x48 - QAngle vecAnglesSaved; // 0x4c - Vector vecOriginSaved; // 0x58 - QAngle vecAngleDiffSaved; // 0x64 - QAngle vecAngleDiffMin; // 0x70 + CBaseAnimating* pVehicle; // 0x0 + bool bClampEyeAngles; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x3]; // 0x9 +public: + float flPitchCurveZero; // 0xc + float flPitchCurveLinear; // 0x10 + float flRollCurveZero; // 0x14 + float flRollCurveLinear; // 0x18 + float flFOV; // 0x1c + ViewLockData_t pitchLockData; // 0x20 + ViewLockData_t rollLockData; // 0x30 + bool bDampenEyePosition; // 0x40 + bool bRunningEnterExit; // 0x41 + bool bWasRunningAnim; // 0x42 +private: + [[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43 +public: + float flEnterExitStartTime; // 0x44 + float flEnterExitDuration; // 0x48 + QAngle vecAnglesSaved; // 0x4c + Vector vecOriginSaved; // 0x58 + QAngle vecAngleDiffSaved; // 0x64 + QAngle vecAngleDiffMin; // 0x70 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CTrackedObject_MODIFIER_TRACKED_PARTICLE : public IModifierTrackedObject { public: - ModifierTrackedParticle_t m_objectData; // 0x8 + ModifierTrackedParticle_t m_objectData; // 0x8 }; -// Aligment: 22 -// Size: 256 +// Alignment: 22 +// Size: 0x100 class CAI_LeadBehavior { public: - CHandle< CBaseEntity > m_hSinkImplementor; // 0x68 - Vector m_goal; // 0x6c - float m_goalyaw; // 0x78 - Vector m_waitpoint; // 0x7c - float m_waitdistance; // 0x88 - float m_leaddistance; // 0x8c - float m_retrievedistance; // 0x90 - float m_successdistance; // 0x94 - CUtlSymbolLarge m_weaponname; // 0x98 - bool m_run; // 0xa0 - bool m_gagleader; // 0xa1 - bool m_hasspokenstart; // 0xa2 - bool m_hasspokenarrival; // 0xa3 - bool m_hasPausedScenes; // 0xa4 - float m_flSpeakNextNagTime; // 0xa8 - float m_flWeaponSafetyTimeOut; // 0xac - float m_flForceRetrieveTimeout; // 0xb0 - float m_flNextLeadIdle; // 0xb4 - bool m_bInitialAheadTest; // 0xb8 - CAI_MoveMonitor m_MoveMonitor; // 0xbc - CRandStopwatch m_LostTimer; // 0xd0 - CRandStopwatch m_LostLOSTimer; // 0xe8 + CHandle< CBaseEntity > m_hSinkImplementor; // 0x68 + Vector m_goal; // 0x6c + float m_goalyaw; // 0x78 + Vector m_waitpoint; // 0x7c + float m_waitdistance; // 0x88 + float m_leaddistance; // 0x8c + float m_retrievedistance; // 0x90 + float m_successdistance; // 0x94 + CUtlSymbolLarge m_weaponname; // 0x98 + bool m_run; // 0xa0 + bool m_gagleader; // 0xa1 + bool m_hasspokenstart; // 0xa2 + bool m_hasspokenarrival; // 0xa3 + bool m_hasPausedScenes; // 0xa4 +private: + [[maybe_unused]] uint8_t __pad00a5[0x3]; // 0xa5 public: - static CUtlSymbolLarge &Get_SCHED_LEAD_PLAYER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_PAUSE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_PAUSE_COMBAT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_RETRIEVE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[3]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_RETRIEVE_WAIT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[4]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_SUCCEED() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[5]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_AWAIT_SUCCESS() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[6]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_WAITFORPLAYER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[7]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_WAITFORPLAYERIDLE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[8]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_PLAYERNEEDSWEAPON() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[9]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_START() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[10]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_THEN_RETRIEVE_PLAYER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[11]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_THEN_LEAD_PLAYER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[12]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_LEAD_GOAL() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[13]->m_instance); } - static CUtlSymbolLarge &Get_TASK_STOP_LEADING() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[14]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_FACE_GOAL() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[15]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_ARRIVE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[16]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_SUCCEED() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[17]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_GET_PATH_TO_WAITPOINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[18]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_WAVE_TO_PLAYER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[19]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_PLAYER_NEEDS_WEAPON() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[20]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_SPEAK_START() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[21]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_MOVE_TO_RANGE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[22]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_RETRIEVE_WAIT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[23]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_WALK_PATH() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[24]->m_instance); } - static ConditionId_t &Get_COND_LEAD_FOLLOWER_LOST() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[25]->m_instance); } - static ConditionId_t &Get_COND_LEAD_FOLLOWER_LAGGING() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[26]->m_instance); } - static ConditionId_t &Get_COND_LEAD_FOLLOWER_NOT_LAGGING() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[27]->m_instance); } - static ConditionId_t &Get_COND_LEAD_FOLLOWER_VERY_CLOSE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[28]->m_instance); } - static ConditionId_t &Get_COND_LEAD_SUCCESS() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[29]->m_instance); } - static ConditionId_t &Get_COND_LEAD_HAVE_FOLLOWER_LOS() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[30]->m_instance); } - static ConditionId_t &Get_COND_LEAD_FOLLOWER_MOVED_FROM_MARK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[31]->m_instance); } - static ConditionId_t &Get_COND_LEAD_FOLLOWER_MOVING_TOWARDS_ME() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[32]->m_instance); } + float m_flSpeakNextNagTime; // 0xa8 + float m_flWeaponSafetyTimeOut; // 0xac + float m_flForceRetrieveTimeout; // 0xb0 + float m_flNextLeadIdle; // 0xb4 + bool m_bInitialAheadTest; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 +public: + CAI_MoveMonitor m_MoveMonitor; // 0xbc +private: + [[maybe_unused]] uint8_t __pad00cc[0x4]; // 0xcc +public: + CRandStopwatch m_LostTimer; // 0xd0 + CRandStopwatch m_LostLOSTimer; // 0xe8 + static CUtlSymbolLarge &Get_SCHED_LEAD_PLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_PAUSE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_PAUSE_COMBAT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_RETRIEVE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[3]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_RETRIEVE_WAIT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[4]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_SUCCEED(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[5]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_AWAIT_SUCCESS(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[6]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_WAITFORPLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[7]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_WAITFORPLAYERIDLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[8]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_PLAYERNEEDSWEAPON(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[9]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_START(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[10]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_THEN_RETRIEVE_PLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[11]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_THEN_LEAD_PLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[12]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_LEAD_GOAL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[13]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_STOP_LEADING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[14]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_FACE_GOAL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[15]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_ARRIVE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[16]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_SUCCEED(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[17]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_GET_PATH_TO_WAITPOINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[18]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_WAVE_TO_PLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[19]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_PLAYER_NEEDS_WEAPON(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[20]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_SPEAK_START(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[21]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_MOVE_TO_RANGE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[22]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_RETRIEVE_WAIT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[23]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_WALK_PATH(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[24]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_FOLLOWER_LOST(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[25]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_FOLLOWER_LAGGING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[26]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_FOLLOWER_NOT_LAGGING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[27]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_FOLLOWER_VERY_CLOSE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[28]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_SUCCESS(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[29]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_HAVE_FOLLOWER_LOS(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[30]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_FOLLOWER_MOVED_FROM_MARK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[31]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_FOLLOWER_MOVING_TOWARDS_ME(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[32]->m_instance);}; }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CPassengerSeatTransition { public: - CUtlSymbolLarge m_strAnimationName; // 0x0 - int32_t m_nPriority; // 0x8 + CUtlSymbolLarge m_strAnimationName; // 0x0 + int32_t m_nPriority; // 0x8 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 struct vehicle_crashsound_t { public: - float flMinSpeed; // 0x8 - float flMinDeltaSpeed; // 0xc - int32_t gearLimit; // 0x10 - CUtlSymbolLarge iszCrashSound; // 0x18 + float flMinSpeed; // 0x8 + float flMinDeltaSpeed; // 0xc + int32_t gearLimit; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CUtlSymbolLarge iszCrashSound; // 0x18 }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 class CRangeFloat { public: - float32[2] m_pValue; // 0x0 + float m_pValue[2]; // 0x0 }; -// Aligment: 18 -// Size: 128 +// Alignment: 18 +// Size: 0x80 struct C_ViewSmoothingData_t { public: - C_BaseAnimating* pVehicle; // 0x0 - bool bClampEyeAngles; // 0x8 - float flPitchCurveZero; // 0xc - float flPitchCurveLinear; // 0x10 - float flRollCurveZero; // 0x14 - float flRollCurveLinear; // 0x18 - float flFOV; // 0x1c - ViewLockData_t pitchLockData; // 0x20 - ViewLockData_t rollLockData; // 0x30 - bool bDampenEyePosition; // 0x40 - bool bRunningEnterExit; // 0x41 - bool bWasRunningAnim; // 0x42 - float flEnterExitStartTime; // 0x44 - float flEnterExitDuration; // 0x48 - QAngle vecAnglesSaved; // 0x4c - Vector vecOriginSaved; // 0x58 - QAngle vecAngleDiffSaved; // 0x64 - QAngle vecAngleDiffMin; // 0x70 -}; - -// Aligment: 7 -// Size: 248 -class C_LightGlowOverlay : public CGlowOverlay -{ + C_BaseAnimating* pVehicle; // 0x0 + bool bClampEyeAngles; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x3]; // 0x9 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 -}; - -// Aligment: 0 -// Size: 8 -class IClientAlphaProperty -{ + float flPitchCurveZero; // 0xc + float flPitchCurveLinear; // 0x10 + float flRollCurveZero; // 0x14 + float flRollCurveLinear; // 0x18 + float flFOV; // 0x1c + ViewLockData_t pitchLockData; // 0x20 + ViewLockData_t rollLockData; // 0x30 + bool bDampenEyePosition; // 0x40 + bool bRunningEnterExit; // 0x41 + bool bWasRunningAnim; // 0x42 +private: + [[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43 public: -// + float flEnterExitStartTime; // 0x44 + float flEnterExitDuration; // 0x48 + QAngle vecAnglesSaved; // 0x4c + Vector vecOriginSaved; // 0x58 + QAngle vecAngleDiffSaved; // 0x64 + QAngle vecAngleDiffMin; // 0x70 }; -// Aligment: 13 -// Size: 48 -class CClientAlphaProperty : public IClientAlphaProperty -{ -public: - uint8_t m_nRenderFX; // 0x10 - uint8_t m_nRenderMode; // 0x11 - bitfield:1 m_bAlphaOverride; // 0x0 - bitfield:1 m_bShadowAlphaOverride; // 0x0 - bitfield:6 m_nReserved; // 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 - float m_flRenderFxStartTime; // 0x20 - float m_flRenderFxDuration; // 0x24 -}; - -// Aligment: 0 -// Size: 8 -class C_SingleplayRules : public C_GameRules -{ -public: -// -}; - -// Aligment: 0 -// Size: 8 -class C_TeamplayRules : public C_MultiplayRules, C_GameRules -{ -public: -// -}; - -// Aligment: 4 -// Size: 272 -class CFireOverlay : public CGlowOverlay -{ -public: - C_FireSmoke* m_pOwner; // 0xd0 - Vector[4] m_vBaseColors; // 0xd8 - float m_flScale; // 0x108 - int32_t m_nGUID; // 0x10c -}; - -// Aligment: 1 -// Size: 56 -class C_SteamPalGameRules : public C_SingleplayRules, C_GameRules -{ -public: - bool m_bIsInAscentSection; // 0x10 -}; - -// Aligment: 2 -// Size: 88 -class C_CommandContext -{ -public: - bool needsprocessing; // 0x0 - int32_t command_number; // 0x50 -}; - -// Aligment: 0 -// Size: 8 -class C_GameRules -{ -public: -// -}; - -// Aligment: 4 -// Size: 32 -class CGlowSprite -{ -public: - Vector m_vColor; // 0x0 - float m_flHorzSize; // 0xc - float m_flVertSize; // 0x10 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x18 -}; - -// Aligment: 14 -// Size: 720 -class CFlashlightEffect -{ -public: - bool m_bIsOn; // 0x8 - bool m_bMuzzleFlashEnabled; // 0x18 - float m_flMuzzleFlashBrightness; // 0x1c - Quaternion m_quatMuzzleFlashOrientation; // 0x20 - Vector m_vecMuzzleFlashOrigin; // 0x30 - float m_flFov; // 0x3c - float m_flFarZ; // 0x40 - float m_flLinearAtten; // 0x44 - bool m_bCastsShadows; // 0x48 - float m_flCurrentPullBackDist; // 0x4c - CStrongHandle< InfoForResourceTypeCTextureBase > m_FlashlightTexture; // 0x50 - CStrongHandle< InfoForResourceTypeCTextureBase > m_MuzzleFlashTexture; // 0x58 - CWeakHandle< InfoForResourceTypeCTextureBase > m_hCurrentFlashlightTexture; // 0x60 - char[64] m_textureName; // 0x68 -}; - -// Aligment: 2 -// Size: 8 -class TimedEvent -{ -public: - float m_TimeBetweenEvents; // 0x0 - float m_fNextEvent; // 0x4 -}; - -// Aligment: 5 -// Size: 20 -class CInterpolatedValue -{ -public: - float m_flStartTime; // 0x0 - float m_flEndTime; // 0x4 - float m_flStartValue; // 0x8 - float m_flEndValue; // 0xc - int32_t m_nInterpType; // 0x10 -}; - -// Aligment: 1 -// Size: 216 -class C_SunGlowOverlay : public CGlowOverlay -{ -public: - bool m_bModulateByDot; // 0xd0 -}; - -// Aligment: 15 -// Size: 208 +// Alignment: 15 +// Size: 0xd0 class 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_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 }; -// Aligment: 10 -// Size: 152 -class CDecalInfo +// Alignment: 0 +// Size: 0x8 +class IClientAlphaProperty { 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 + // no members available }; -// Aligment: 4 -// Size: 40 -class C_CSequenceTransitioner +// Alignment: 13 +// Size: 0x30 +class CClientAlphaProperty : public IClientAlphaProperty { public: - CUtlVector< CAnimationLayer > m_animationQueue; // 0x0 - bool m_bIsInSimulation; // 0x18 - float m_flSimOrRenderTime; // 0x1c - float m_flInterpolatedTime; // 0x20 + 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 + float m_flRenderFxStartTime; // 0x20 + float m_flRenderFxDuration; // 0x24 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 +class C_GameRules +{ +public: + // no members available +}; + +// Alignment: 0 +// Size: 0x8 class C_MultiplayRules : public C_GameRules { public: -// + // no members available +}; + +// Alignment: 4 +// Size: 0x110 +class CFireOverlay : public CGlowOverlay +{ +public: + C_FireSmoke* m_pOwner; // 0xd0 + Vector m_vBaseColors[4]; // 0xd8 + float m_flScale; // 0x108 + int32_t m_nGUID; // 0x10c +}; + +// Alignment: 0 +// Size: 0x8 +class C_SingleplayRules : public C_GameRules +{ +public: + // no members available +}; + +// Alignment: 2 +// Size: 0x58 +class C_CommandContext +{ +public: + bool needsprocessing; // 0x0 + int32_t command_number; // 0x50 +}; + +// Alignment: 1 +// Size: 0x38 +class C_SteamPalGameRules : public C_SingleplayRules +{ +public: + bool m_bIsInAscentSection; // 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: 14 +// Size: 0x2d0 +class CFlashlightEffect +{ +public: + bool m_bIsOn; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0xf]; // 0x9 +public: + bool m_bMuzzleFlashEnabled; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + float m_flMuzzleFlashBrightness; // 0x1c + Quaternion m_quatMuzzleFlashOrientation; // 0x20 + Vector m_vecMuzzleFlashOrigin; // 0x30 + float m_flFov; // 0x3c + float m_flFarZ; // 0x40 + float m_flLinearAtten; // 0x44 + bool m_bCastsShadows; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 +public: + float m_flCurrentPullBackDist; // 0x4c + CStrongHandle< InfoForResourceTypeCTextureBase > m_FlashlightTexture; // 0x50 + CStrongHandle< InfoForResourceTypeCTextureBase > m_MuzzleFlashTexture; // 0x58 + CWeakHandle< InfoForResourceTypeCTextureBase > m_hCurrentFlashlightTexture; // 0x60 + char m_textureName[64]; // 0x68 +}; + +// Alignment: 2 +// Size: 0x8 +class TimedEvent +{ +public: + float m_TimeBetweenEvents; // 0x0 + float m_fNextEvent; // 0x4 +}; + +// 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: 1 +// Size: 0xd8 +class C_SunGlowOverlay : public CGlowOverlay +{ +public: + bool m_bModulateByDot; // 0xd0 +}; + +// 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 +}; + +// 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: 4 +// Size: 0x28 +class C_CSequenceTransitioner +{ +public: + CUtlVector< CAnimationLayer > m_animationQueue; // 0x0 + bool m_bIsInSimulation; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + float m_flSimOrRenderTime; // 0x1c + float m_flInterpolatedTime; // 0x20 +}; + +// Alignment: 0 +// Size: 0x8 +class C_TeamplayRules : public C_MultiplayRules +{ +public: + // no members available }; diff --git a/sdk/animationsystem.hpp b/sdk/animationsystem.hpp index cbb522b1..edb021fc 100644 --- a/sdk/animationsystem.hpp +++ b/sdk/animationsystem.hpp @@ -2,22 +2,23 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: animationsystem.dll -// Class Count: 451 -// Enum Count: 68 -/////////////////////////////////////////// +// Classes count: 451 +// Enums count: 68 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class MoodType_t : uint32_t { eMoodType_Head = 0x0, eMoodType_Body = 0x1, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class AnimationProcessingType_t : uint32_t { ANIMATION_PROCESSING_SERVER_SIMULATION = 0x0, @@ -28,8 +29,8 @@ enum class AnimationProcessingType_t : uint32_t ANIMATION_PROCESSING_MAX = 0x5, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class AnimationSnapshotType_t : uint32_t { ANIMATION_SNAPSHOT_SERVER_SIMULATION = 0x0, @@ -41,8 +42,8 @@ enum class AnimationSnapshotType_t : uint32_t ANIMATION_SNAPSHOT_MAX = 0x6, }; -// Aligment: 4 -// Size: 17 +// Alignment: 4 +// Size: 0x11 enum class SeqCmd_t : uint32_t { SeqCmd_Nop = 0x0, @@ -64,8 +65,8 @@ enum class SeqCmd_t : uint32_t SeqCmd_Transform = 0x10, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class SeqPoseSetting_t : uint32_t { SEQ_POSE_SETTING_CONSTANT = 0x0, @@ -74,8 +75,8 @@ enum class SeqPoseSetting_t : uint32_t SEQ_POSE_SETTING_VELOCITY = 0x3, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class CAnimationGraphVisualizerPrimitiveType : uint32_t { ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Text = 0x0, @@ -85,8 +86,8 @@ enum class CAnimationGraphVisualizerPrimitiveType : uint32_t ANIMATIONGRAPHVISUALIZERPRIMITIVETYPE_Axis = 0x4, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class AnimParamType_t : uint32_t { ANIMPARAM_UNKNOWN = 0x0, @@ -99,8 +100,8 @@ enum class AnimParamType_t : uint32_t ANIMPARAM_COUNT = 0x7, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class BoneTransformSpace_t : uint32_t { BoneTransformSpace_Invalid = 0xffffffffffffffff, @@ -109,8 +110,8 @@ enum class BoneTransformSpace_t : uint32_t BoneTransformSpace_World = 0x2, }; -// Aligment: 4 -// Size: 13 +// Alignment: 4 +// Size: 0xd enum class AnimParamButton_t : uint32_t { ANIMPARAM_BUTTON_NONE = 0x0, @@ -128,16 +129,16 @@ enum class AnimParamButton_t : uint32_t ANIMPARAM_BUTTON_RTRIGGER = 0xc, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class AnimNodeNetworkMode : uint32_t { ServerAuthoritative = 0x0, ClientSimulate = 0x1, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class Comparison_t : uint32_t { COMPARISON_EQUALS = 0x0, @@ -149,8 +150,8 @@ enum class Comparison_t : uint32_t COMPARISON_COUNT = 0x6, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ComparisonValueType : uint32_t { COMPARISONVALUETYPE_FIXEDVALUE = 0x0, @@ -158,8 +159,8 @@ enum class ComparisonValueType : uint32_t COMPARISONVALUETYPE_PARAMETER = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class StateActionBehavior : uint32_t { STATETAGBEHAVIOR_ACTIVE_WHILE_CURRENT = 0x0, @@ -168,16 +169,16 @@ enum class StateActionBehavior : uint32_t STATETAGBEHAVIOR_FIRE_ON_ENTER_AND_EXIT = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class SolveIKChainAnimNodeSettingSource : uint32_t { SOLVEIKCHAINANIMNODESETTINGSOURCE_Default = 0x0, SOLVEIKCHAINANIMNODESETTINGSOURCE_Override = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class FootstepLandedFootSoundType_t : uint32_t { FOOTSOUND_Left = 0x0, @@ -185,8 +186,8 @@ enum class FootstepLandedFootSoundType_t : uint32_t FOOTSOUND_UseOverrideSound = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class AnimPoseControl : uint32_t { NoPoseControl = 0x0, @@ -194,8 +195,8 @@ enum class AnimPoseControl : uint32_t RelativePoseControl = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class FacingMode : uint32_t { FacingMode_Manual = 0x0, @@ -203,16 +204,16 @@ enum class FacingMode : uint32_t FacingMode_LookTarget = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class AnimVRHandMotionRange_t : uint32_t { MotionRange_WithController = 0x0, MotionRange_WithoutController = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class AnimVrFingerSplay_t : uint32_t { AnimVrFingerSplay_Thumb_Index = 0x0, @@ -221,16 +222,16 @@ enum class AnimVrFingerSplay_t : uint32_t AnimVrFingerSplay_Ring_Pinky = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class AnimVrBoneTransformSource_t : uint32_t { AnimVrBoneTransformSource_LiveStream = 0x0, AnimVrBoneTransformSource_GripLimit = 0x1, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class IKSolverType : uint32_t { IKSOLVER_Perlin = 0x0, @@ -241,8 +242,8 @@ enum class IKSolverType : uint32_t IKSOLVER_COUNT = 0x5, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class IKTargetSource : uint32_t { IKTARGETSOURCE_Bone = 0x0, @@ -250,8 +251,8 @@ enum class IKTargetSource : uint32_t IKTARGETSOURCE_COUNT = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class IKTargetCoordinateSystem : uint32_t { IKTARGETCOORDINATESYSTEM_WorldSpace = 0x0, @@ -259,8 +260,8 @@ enum class IKTargetCoordinateSystem : uint32_t IKTARGETCOORDINATESYSTEM_COUNT = 0x2, }; -// Aligment: 4 -// Size: 36 +// Alignment: 4 +// Size: 0x24 enum class AnimValueSource : uint32_t { MoveHeading = 0x0, @@ -301,8 +302,8 @@ enum class AnimValueSource : uint32_t FingerSplay_Ring_Pinky = 0x23, }; -// Aligment: 4 -// Size: 13 +// Alignment: 4 +// Size: 0xd enum class AnimVectorSource : uint32_t { MoveDirection = 0x0, @@ -320,8 +321,8 @@ enum class AnimVectorSource : uint32_t RootMotionVelocity = 0xc, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class DampingSpeedFunction : uint32_t { NoDamping = 0x0, @@ -329,8 +330,8 @@ enum class DampingSpeedFunction : uint32_t Spring = 0x2, }; -// Aligment: 4 -// Size: 40 +// Alignment: 4 +// Size: 0x28 enum class ControlValue : uint32_t { ControlValue_MoveHeading = 0x0, @@ -375,8 +376,8 @@ enum class ControlValue : uint32_t ControlValue_Invalid = 0xff, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class FieldNetworkOption : uint32_t { Auto = 0x0, @@ -384,32 +385,32 @@ enum class FieldNetworkOption : uint32_t ForceDisable = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class DampedValueType : uint32_t { FloatParameter = 0x0, VectorParameter = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class SelectionSource_t : uint32_t { SelectionSource_Bool = 0x0, SelectionSource_Enum = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class MotionSamplingMethod : uint32_t { Uniform = 0x0, AtFootCycleStart = 0x1, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class FootFallTagFoot_t : uint32_t { FOOT1 = 0x0, @@ -422,16 +423,16 @@ enum class FootFallTagFoot_t : uint32_t FOOT8 = 0x7, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class MatterialAttributeTagType_t : uint32_t { MATERIAL_ATTRIBUTE_TAG_VALUE = 0x0, MATERIAL_ATTRIBUTE_TAG_COLOR = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class BlendKeyType : uint32_t { BlendKey_UserValue = 0x0, @@ -440,8 +441,8 @@ enum class BlendKeyType : uint32_t BlendKey_RemainingDistance = 0x3, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ResetCycleOption : uint32_t { Beginning = 0x0, @@ -451,8 +452,8 @@ enum class ResetCycleOption : uint32_t SameTimeAsSource = 0x4, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ChoiceMethod : uint32_t { WeightedRandom = 0x0, @@ -461,8 +462,8 @@ enum class ChoiceMethod : uint32_t IterateRandom = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ChoiceChangeMethod : uint32_t { OnReset = 0x0, @@ -470,24 +471,24 @@ enum class ChoiceChangeMethod : uint32_t OnResetOrCycleEnd = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ChoiceBlendMethod : uint32_t { SingleBlendTime = 0x0, PerChoiceBlendTimes = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class IkEndEffectorType : uint32_t { IkEndEffector_Attachment = 0x0, IkEndEffector_Bone = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class IkTargetType : uint32_t { IkTarget_Attachment = 0x0, @@ -496,8 +497,8 @@ enum class IkTargetType : uint32_t IkTarget_Parameter_WorldSpace = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class BinaryNodeTiming : uint32_t { UseChild1 = 0x0, @@ -505,16 +506,16 @@ enum class BinaryNodeTiming : uint32_t SyncChildren = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class BinaryNodeChildOption : uint32_t { Child1 = 0x0, Child2 = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class SelectorTagBehavior_t : uint32_t { SelectorTagBehavior_OnWhileCurrent = 0x0, @@ -522,48 +523,48 @@ enum class SelectorTagBehavior_t : uint32_t SelectorTagBehavior_OffBeforeFinished = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class Blend2DMode : uint32_t { Blend2DMode_General = 0x0, Blend2DMode_Directional = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class FootLockSubVisualization : uint32_t { FOOTLOCKSUBVISUALIZATION_ReachabilityAnalysis = 0x0, FOOTLOCKSUBVISUALIZATION_IKSolve = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class JumpCorrectionMethod : uint32_t { ScaleMotion = 0x0, AddCorrectionDelta = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class StepPhase : uint32_t { StepPhase_OnGround = 0x0, StepPhase_InAir = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class FinishedConditionOption : uint32_t { FinishedConditionOption_OnFinished = 0x0, FinishedConditionOption_OnAlmostFinished = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class PathStatusOptions : uint32_t { PathStatus_HasPath = 0x0, @@ -571,8 +572,8 @@ enum class PathStatusOptions : uint32_t PathStatus_GoalHasChanged = 0x2, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class StateValue : uint32_t { TotalTranslation_SourceState = 0x0, @@ -584,8 +585,8 @@ enum class StateValue : uint32_t Count = 0x6, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class BoneMaskBlendSpace : uint32_t { BlendSpace_Parent = 0x0, @@ -594,8 +595,8 @@ enum class BoneMaskBlendSpace : uint32_t BlendSpace_Model_TranslationOnly = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class AimMatrixBlendMode : uint32_t { AimMatrixBlendMode_None = 0x0, @@ -603,8 +604,8 @@ enum class AimMatrixBlendMode : uint32_t AimMatrixBlendMode_BoneMask = 0x2, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class SolveIKChainAnimNodeDebugSetting : uint32_t { SOLVEIKCHAINANIMNODEDEBUGSETTING_None = 0x0, @@ -616,8 +617,8 @@ enum class SolveIKChainAnimNodeDebugSetting : uint32_t SOLVEIKCHAINANIMNODEDEBUGSETTING_Left = 0x6, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class JiggleBoneSimSpace : uint32_t { SimSpace_Local = 0x0, @@ -625,9 +626,9 @@ enum class JiggleBoneSimSpace : uint32_t SimSpace_World = 0x2, }; -// Aligment: 4 -// Size: 5 -enum class VPhysXBodyPart_t::VPhysXFlagEnum_t : uint32_t +// Alignment: 4 +// Size: 0x5 +enum class VPhysXBodyPart_t__VPhysXFlagEnum_t : uint32_t { FLAG_STATIC = 0x1, FLAG_KINEMATIC = 0x2, @@ -636,9 +637,9 @@ enum class VPhysXBodyPart_t::VPhysXFlagEnum_t : uint32_t FLAG_ALWAYS_DYNAMIC_ON_CLIENT = 0x10, }; -// Aligment: 4 -// Size: 4 -enum class VPhysXConstraintParams_t::EnumFlags0_t : uint32_t +// Alignment: 4 +// Size: 0x4 +enum class VPhysXConstraintParams_t__EnumFlags0_t : uint32_t { FLAG0_SHIFT_INTERPENETRATE = 0x0, FLAG0_SHIFT_CONSTRAIN = 0x1, @@ -646,25 +647,25 @@ enum class VPhysXConstraintParams_t::EnumFlags0_t : uint32_t FLAG0_SHIFT_BREAKABLE_TORQUE = 0x3, }; -// Aligment: 4 -// Size: 2 -enum class VPhysXJoint_t::Flags_t : uint32_t +// Alignment: 4 +// Size: 0x2 +enum class VPhysXJoint_t__Flags_t : uint32_t { JOINT_FLAGS_NONE = 0x0, JOINT_FLAGS_BODY1_FIXED = 0x1, }; -// Aligment: 4 -// Size: 3 -enum class VPhysXAggregateData_t::VPhysXFlagEnum_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, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class MeshDrawPrimitiveFlags_t : uint32_t { MESH_DRAW_FLAGS_NONE = 0x0, @@ -677,9 +678,9 @@ enum class MeshDrawPrimitiveFlags_t : uint32_t MESH_DRAW_FLAGS_DRAW_LAST = 0x80, }; -// Aligment: 4 -// Size: 23 -enum class ModelSkeletonData_t::BoneFlags_t : uint32_t +// Alignment: 4 +// Size: 0x17 +enum class ModelSkeletonData_t__BoneFlags_t : uint32_t { FLAG_NO_BONE_FLAGS = 0x0, FLAG_BONEFLEXDRIVER = 0x4, @@ -706,9 +707,9 @@ enum class ModelSkeletonData_t::BoneFlags_t : uint32_t FLAG_PROCEDURAL = 0x400000, }; -// Aligment: 4 -// Size: 15 -enum class PermModelInfo_t::FlagEnum : uint32_t +// Alignment: 4 +// Size: 0xf +enum class PermModelInfo_t__FlagEnum : uint32_t { FLAG_TRANSLUCENT = 0x1, FLAG_TRANSLUCENT_TWO_PASS = 0x2, @@ -727,8 +728,8 @@ enum class PermModelInfo_t::FlagEnum : uint32_t FLAG_MODEL_DOC = 0x800000, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ModelBoneFlexComponent_t : uint32_t { MODEL_BONE_FLEX_INVALID = 0xffffffffffffffff, @@ -737,8 +738,8 @@ enum class ModelBoneFlexComponent_t : uint32_t MODEL_BONE_FLEX_TZ = 0x2, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ModelConfigAttachmentType_t : uint32_t { MODEL_CONFIG_ATTACHMENT_INVALID = 0xffffffffffffffff, @@ -748,8 +749,8 @@ enum class ModelConfigAttachmentType_t : uint32_t MODEL_CONFIG_ATTACHMENT_COUNT = 0x3, }; -// Aligment: 4 -// Size: 26 +// Alignment: 4 +// Size: 0x1a enum class FlexOpCode_t : uint32_t { FLEX_OP_CONST = 0x1, @@ -780,8 +781,8 @@ enum class FlexOpCode_t : uint32_t FLEX_OP_ABS = 0x1a, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class MorphFlexControllerRemapType_t : uint32_t { MORPH_FLEXCONTROLLER_REMAP_PASSTHRU = 0x0, @@ -790,8 +791,8 @@ enum class MorphFlexControllerRemapType_t : uint32_t MORPH_FLEXCONTROLLER_REMAP_EYELID = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class MorphBundleType_t : uint32_t { MORPH_BUNDLE_TYPE_NONE = 0x0, @@ -800,16 +801,16 @@ enum class MorphBundleType_t : uint32_t MORPH_BUNDLE_TYPE_COUNT = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class AnimVRHand_t : uint32_t { AnimVRHand_Left = 0x0, AnimVRHand_Right = 0x1, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class AnimVRFinger_t : uint32_t { AnimVrFinger_Thumb = 0x0, @@ -819,6214 +820,6757 @@ enum class AnimVRFinger_t : uint32_t AnimVrFinger_Pinky = 0x4, }; -// Aligment: 2 -// Size: 16 +struct CRangeFloat; +struct AnimationDecodeDebugDumpElement_t; +struct CAnimEncodeDifference; +struct CAnimDesc_Flag; +struct CAnimEncodedFrames; +struct CAnimSequenceParams; +struct CAnimKeyData; +struct CAnimRetargetData; +struct CSeqAutoLayerFlag; +struct CSeqMultiFetchFlag; +struct CSeqSeqDescFlag; +struct CSeqMultiFetch; +struct CSeqTransition; +struct AnimNodeID; +struct AnimNodeOutputID; +struct IKBoneNameAndIndex_t; +struct AnimParamID; +struct CAnimNodeManager; +struct CAnimComponentManager; +struct CAnimGraphSettingsManager; +struct CAnimNodePath; +struct HSequence; +struct AnimComponentID; +struct CAnimInputDamping; +struct CAnimParamHandle; +struct AnimTagID; +struct CAnimNodeConnection; +struct IKSolverSettings_t; +struct IKTargetSettings_t; +struct CBlendCurve; +struct AnimStateID; +struct CAnimUpdateNodeRef; +struct CAnimAttachment; +struct SkeletalInputOpFixedSettings_t; +struct HitReactFixedSettings_t; +struct StaticPoseCacheHandle; +struct TraceSettings_t; +struct FootLockPoseOpFixedSettings; +struct CMotionDataSet; +struct JiggleBoneSettingsList_t; +struct CompValues; +struct StateComparisonValue; +struct ClipIndex; +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 CRenderSkeleton; +struct CAnimCycle; +struct CFootCycle; +struct CFootCycleDefinition; +struct CFootTrajectories; +struct CAnimClipDataManager; +struct AnimScriptHandle; +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: // 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 }; -// Aligment: 12 -// Size: 96 +// Alignment: 12 +// Size: 0x60 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 }; -// Aligment: 3 -// Size: 256 +// Alignment: 3 +// Size: 0x100 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 }; -// Aligment: 6 -// Size: 112 +// Alignment: 6 +// Size: 0x70 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 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 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 }; -// Aligment: 9 -// Size: 272 +// Alignment: 9 +// Size: 0x110 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 }; -// Aligment: 2 -// Size: 288 +// 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 }; -// Aligment: 5 -// Size: 48 +// Alignment: 5 +// Size: 0x30 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 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CAnimMorphDifference { public: - CBufferString m_name; // 0x0 + CBufferString m_name; // 0x0 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CAnimUserDifference { public: - CBufferString m_name; // 0x0 - int32_t m_nType; // 0x10 + CBufferString m_name; // 0x0 + int32_t m_nType; // 0x10 }; -// Aligment: 7 -// Size: 168 +// 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 + CUtlVector< CAnimBoneDifference > m_boneArray; // 0x0 + CUtlVector< CAnimMorphDifference > m_morphArray; // 0x18 + CUtlVector< CAnimUserDifference > m_userArray; // 0x30 + CUtlVector< uint8 > m_bHasRotationBitArray; // 0x48 + CUtlVector< uint8 > m_bHasMovementBitArray; // 0x60 + CUtlVector< uint8 > m_bHasMorphBitArray; // 0x78 + CUtlVector< uint8 > m_bHasUserBitArray; // 0x90 }; -// Aligment: 5 -// Size: 56 +// Alignment: 5 +// Size: 0x38 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 }; -// Aligment: 7 -// Size: 44 +// Alignment: 7 +// Size: 0x2c 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 }; -// Aligment: 6 -// Size: 20 +// Alignment: 6 +// Size: 0x14 class CAnimIKRuleStallFrame { public: - int16_t chain; // 0x0 - int16_t slot; // 0x2 - float start; // 0x4 - float peak; // 0x8 - float tail; // 0xc - float end; // 0x10 + int16_t chain; // 0x0 + int16_t slot; // 0x2 + float start; // 0x4 + float peak; // 0x8 + float tail; // 0xc + float end; // 0x10 }; -// Aligment: 6 -// Size: 48 +// Alignment: 6 +// Size: 0x30 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 }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 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 }; -// Aligment: 4 -// Size: 40 +// Alignment: 4 +// Size: 0x28 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 }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 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 }; -// Aligment: 5 -// Size: 216 +// Alignment: 5 +// Size: 0xd8 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 }; -// Aligment: 7 -// Size: 7 +// Alignment: 7 +// Size: 0x7 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_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 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CAnimSequenceParams { public: - float m_flFadeInTime; // 0x0 - float m_flFadeOutTime; // 0x4 + float m_flFadeInTime; // 0x0 + float m_flFadeOutTime; // 0x4 }; -// Aligment: 14 -// Size: 432 +// Alignment: 14 +// Size: 0x1b0 class CAnimDesc { public: - CBufferString m_name; // 0x0 - CAnimDesc_Flag m_flags; // 0x10 - float fps; // 0x18 + CBufferString m_name; // 0x0 + CAnimDesc_Flag m_flags; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0017[0x1]; // 0x17 +public: + 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 - 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 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 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 }; -// Aligment: 5 -// Size: 112 +// Alignment: 5 +// Size: 0x70 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 }; -// Aligment: 6 -// Size: 72 +// Alignment: 6 +// Size: 0x48 class CAnimBone { public: - CBufferString m_name; // 0x0 - int32_t m_parent; // 0x10 - Vector m_pos; // 0x14 - Quaternion m_quat; // 0x20 - Quaternion m_qAlignment; // 0x30 - int32_t m_flags; // 0x40 + CBufferString m_name; // 0x0 + int32_t m_parent; // 0x10 + Vector m_pos; // 0x14 + Quaternion m_quat; // 0x20 + Quaternion m_qAlignment; // 0x30 + int32_t m_flags; // 0x40 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CAnimUser { public: - CBufferString m_name; // 0x0 - int32_t m_nType; // 0x10 + CBufferString m_name; // 0x0 + int32_t m_nType; // 0x10 }; -// Aligment: 9 -// Size: 144 +// Alignment: 9 +// Size: 0x90 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 }; -// Aligment: 6 -// Size: 120 +// Alignment: 6 +// Size: 0x78 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 }; -// Aligment: 13 -// Size: 168 +// Alignment: 13 +// Size: 0xa8 class CAnimRetargetElementData { public: - int32_t m_nElementType; // 0x0 - int32_t m_nGroupType; // 0x4 - int32_t m_nChainType; // 0x8 - int32_t m_nChainIndex; // 0xc - int32_t m_nChainInvIndex; // 0x10 - int32_t m_nBoneIndex; // 0x14 - CBufferString m_boneName; // 0x18 - matrix3x4_t m_transform; // 0x28 - matrix3x4_t m_invTransform; // 0x58 - float m_flDistance; // 0x88 - Vector m_vecMin; // 0x8c - Vector m_vecMax; // 0x98 - float m_flMass; // 0xa4 + int32_t m_nElementType; // 0x0 + int32_t m_nGroupType; // 0x4 + int32_t m_nChainType; // 0x8 + int32_t m_nChainIndex; // 0xc + int32_t m_nChainInvIndex; // 0x10 + int32_t m_nBoneIndex; // 0x14 + CBufferString m_boneName; // 0x18 + matrix3x4_t m_transform; // 0x28 + matrix3x4_t m_invTransform; // 0x58 + float m_flDistance; // 0x88 + Vector m_vecMin; // 0x8c + Vector m_vecMax; // 0x98 + float m_flMass; // 0xa4 }; -// Aligment: 4 -// Size: 48 +// Alignment: 4 +// Size: 0x30 class CAnimRetargetChainData { public: - CBufferString m_sChainName; // 0x0 - int32_t m_nGroupType; // 0x10 - int32_t m_nChainType; // 0x14 - CUtlVector< int32 > m_nElement; // 0x18 + CBufferString m_sChainName; // 0x0 + int32_t m_nGroupType; // 0x10 + int32_t m_nChainType; // 0x14 + CUtlVector< int32 > m_nElement; // 0x18 }; -// Aligment: 5 -// Size: 80 +// Alignment: 5 +// Size: 0x50 class CAnimRetargetData { public: - int32_t m_bEnableRetarget; // 0x0 - int32_t m_nRetargetStyle; // 0x4 - CUtlVector< CAnimRetargetElementData > m_element; // 0x8 - CUtlVector< CAnimRetargetChainData > m_chain; // 0x20 - CUtlVector< CBufferString > m_replicated; // 0x38 + int32_t m_bEnableRetarget; // 0x0 + int32_t m_nRetargetStyle; // 0x4 + CUtlVector< CAnimRetargetElementData > m_element; // 0x8 + CUtlVector< CAnimRetargetChainData > m_chain; // 0x20 + CUtlVector< CBufferString > m_replicated; // 0x38 }; -// Aligment: 8 -// Size: 384 +// Alignment: 8 +// Size: 0x180 class CAnimationGroup { public: - uint32_t m_nFlags; // 0x10 - CBufferString m_name; // 0x18 + 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 + 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 - CAnimRetargetData m_retarget; // 0x110 - CUtlVector< CBufferString > m_szScripts; // 0x160 + CStrongHandle< InfoForResourceTypeCSequenceGroupData > m_directHSeqGroup_Handle; // 0x90 + CAnimKeyData m_decodeKey; // 0x98 + CAnimRetargetData m_retarget; // 0x110 + CUtlVector< CBufferString > m_szScripts; // 0x160 }; -// Aligment: 8 -// Size: 8 +// Alignment: 8 +// Size: 0x8 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 }; -// Aligment: 7 -// Size: 28 +// 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 + int16_t m_nLocalReference; // 0x0 + int16_t m_nLocalPose; // 0x2 + CSeqAutoLayerFlag m_flags; // 0x4 + float m_start; // 0xc + float m_peak; // 0x10 + float m_tail; // 0x14 + float m_end; // 0x18 }; -// Aligment: 4 -// Size: 12 +// Alignment: 4 +// Size: 0xc 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 }; -// Aligment: 5 -// Size: 96 +// Alignment: 5 +// Size: 0x60 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 }; -// Aligment: 6 -// Size: 6 +// Alignment: 6 +// Size: 0x6 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 }; -// Aligment: 8 -// Size: 104 +// Alignment: 8 +// Size: 0x68 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 }; -// Aligment: 11 -// Size: 11 +// Alignment: 11 +// Size: 0xb 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 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CSeqTransition { public: - float m_flFadeInTime; // 0x0 - float m_flFadeOutTime; // 0x4 + float m_flFadeInTime; // 0x0 + float m_flFadeOutTime; // 0x4 }; -// Aligment: 11 -// Size: 280 +// Alignment: 11 +// Size: 0x118 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 }; -// Aligment: 6 -// Size: 64 +// Alignment: 6 +// Size: 0x40 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 }; -// Aligment: 9 -// Size: 24 +// Alignment: 9 +// Size: 0x18 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 }; -// Aligment: 8 -// Size: 64 +// Alignment: 8 +// Size: 0x40 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 }; -// Aligment: 12 -// Size: 144 +// Alignment: 12 +// Size: 0x90 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 }; -// Aligment: 5 -// Size: 32 +// Alignment: 5 +// Size: 0x20 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 }; -// Aligment: 13 -// Size: 288 +// Alignment: 13 +// Size: 0x120 class CSequenceGroupData { public: - CBufferString m_sName; // 0x10 - uint32_t m_nFlags; // 0x20 - CUtlVector< CBufferString > m_localSequenceNameArray; // 0x28 - CUtlVector< CSeqS1SeqDesc > m_localS1SeqDescArray; // 0x40 - CUtlVector< CSeqS1SeqDesc > m_localMultiSeqDescArray; // 0x58 - CUtlVector< CSeqSynthAnimDesc > m_localSynthAnimDescArray; // 0x70 - CUtlVector< CSeqCmdSeqDesc > m_localCmdSeqDescArray; // 0x88 - CUtlVector< CSeqBoneMaskList > m_localBoneMaskArray; // 0xa0 - CUtlVector< CBufferString > m_localBoneNameArray; // 0xb8 - CBufferString m_localNodeName; // 0xd0 - CUtlVector< CSeqPoseParamDesc > m_localPoseParamArray; // 0xe0 - KeyValues3 m_keyValues; // 0xf8 - CUtlVector< CSeqIKLock > m_localIKAutoplayLockArray; // 0x108 + 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< CBufferString > m_localBoneNameArray; // 0xb8 + CBufferString m_localNodeName; // 0xd0 + CUtlVector< CSeqPoseParamDesc > m_localPoseParamArray; // 0xe0 + KeyValues3 m_keyValues; // 0xf8 + CUtlVector< CSeqIKLock > m_localIKAutoplayLockArray; // 0x108 }; -// Aligment: 17 -// Size: 416 +// Alignment: 17 +// Size: 0x1a0 class CCompressorGroup { public: - int32_t m_nTotalElementCount; // 0x0 - CUtlVector< char* > m_szChannelClass; // 0x8 - CUtlVector< char* > m_szVariableName; // 0x20 - CUtlVector< fieldtype_t > m_nType; // 0x38 - CUtlVector< int32 > m_nFlags; // 0x50 - CUtlVector< CUtlString > m_szGrouping; // 0x68 - CUtlVector< int32 > m_nCompressorIndex; // 0x80 - CUtlVector< CUtlVector< char* > > m_szElementNames; // 0x98 - CUtlVector< CUtlVector< int32 > > m_nElementUniqueID; // 0xb0 - CUtlVector< uint32 > m_nElementMask; // 0xc8 - CUtlVector< CCompressor< Vector >* > m_vectorCompressor; // 0xf8 - CUtlVector< CCompressor< Quaternion >* > m_quaternionCompressor; // 0x110 - CUtlVector< CCompressor< int32 >* > m_intCompressor; // 0x128 - CUtlVector< CCompressor< bool >* > m_boolCompressor; // 0x140 - CUtlVector< CCompressor< Color >* > m_colorCompressor; // 0x158 - CUtlVector< CCompressor< Vector2D >* > m_vector2DCompressor; // 0x170 - CUtlVector< CCompressor< Vector4D >* > m_vector4DCompressor; // 0x188 + 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< Quaternion >* > m_quaternionCompressor; // 0x110 + CUtlVector< CCompressor< int32 >* > m_intCompressor; // 0x128 + CUtlVector< CCompressor< bool >* > m_boolCompressor; // 0x140 + CUtlVector< CCompressor< Color >* > m_colorCompressor; // 0x158 + CUtlVector< CCompressor< Vector2D >* > m_vector2DCompressor; // 0x170 + CUtlVector< CCompressor< Vector4D >* > m_vector4DCompressor; // 0x188 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class HSequence { public: - int32_t m_nBoxedTypeSafeInt; // 0x0 + int32_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CAnimationGraphVisualizerPrimitiveBase { public: - CAnimationGraphVisualizerPrimitiveType m_Type; // 0x8 + CAnimationGraphVisualizerPrimitiveType m_Type; // 0x8 }; -// Aligment: 3 -// Size: 48 +// 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 }; -// Aligment: 3 -// Size: 48 +// 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 }; -// Aligment: 3 -// Size: 64 +// 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 }; -// Aligment: 4 -// Size: 80 +// 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 }; -// Aligment: 2 -// Size: 64 +// 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimNodeID { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimNodeOutputID { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimStateID { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimParamID { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimTagID { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class StaticPoseCacheHandle { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimComponentID { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class AnimScriptHandle { public: - uint32_t m_id; // 0x0 + uint32_t m_id; // 0x0 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CBlendCurve { public: - float m_flControlPoint1; // 0x0 - float m_flControlPoint2; // 0x4 + float m_flControlPoint1; // 0x0 + float m_flControlPoint2; // 0x4 }; -// Aligment: 2 -// Size: 48 +// Alignment: 2 +// Size: 0x30 class CAnimNodePath { public: - AnimNodeID[11] m_path; // 0x0 - int32_t m_nCount; // 0x2c + AnimNodeID m_path[11]; // 0x0 + int32_t m_nCount; // 0x2c }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CAnimNodeConnection { public: - AnimNodeID m_nodeID; // 0x0 - AnimNodeOutputID m_outputID; // 0x4 + AnimNodeID m_nodeID; // 0x0 + AnimNodeOutputID m_outputID; // 0x4 }; -// Aligment: 2 -// Size: 4 +// Alignment: 2 +// Size: 0x4 class ClipIndex { public: - uint16_t m_groupIndex; // 0x0 - uint16_t m_clipIndex; // 0x2 + uint16_t m_groupIndex; // 0x0 + uint16_t m_clipIndex; // 0x2 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct IKBoneNameAndIndex_t { public: // MPropertyAttributeChoiceName "Bone" - CUtlString m_Name; // 0x0 + CUtlString m_Name; // 0x0 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 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 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 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 }; -// Aligment: 6 -// Size: 248 +// Alignment: 6 +// Size: 0xf8 class CAnimationSubGraph { public: - CAnimNodeManager m_nodeManager; // 0x10 - CAnimComponentManager m_componentManager; // 0x58 - CUtlVector< CSmartPtr< CAnimParameterBase > > m_localParameters; // 0x80 - CUtlVector< CSmartPtr< CAnimTagBase > > m_localTags; // 0x98 - CUtlVector< CUtlString > m_referencedParamGroups; // 0xb0 - CUtlVector< CUtlString > m_referencedTagGroups; // 0xc8 + CAnimNodeManager m_nodeManager; // 0x10 + CAnimComponentManager m_componentManager; // 0x58 + CUtlVector< CSmartPtr< CAnimParameterBase > > m_localParameters; // 0x80 + CUtlVector< CSmartPtr< CAnimTagBase > > m_localTags; // 0x98 + CUtlVector< CUtlString > m_referencedParamGroups; // 0xb0 + CUtlVector< CUtlString > m_referencedTagGroups; // 0xc8 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 class CAnimGraphModelBinding { public: - CUtlString m_modelName; // 0x8 - CSmartPtr< CAnimUpdateSharedData > m_pSharedData; // 0x10 + CUtlString m_modelName; // 0x8 + CSmartPtr< CAnimUpdateSharedData > m_pSharedData; // 0x10 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CAnimClipDataManager { public: - CUtlHashtable< CUtlString, CSmartPtr< CAnimClipData > > m_itemTable; // 0x18 + CUtlHashtable< CUtlString, CSmartPtr< CAnimClipData > > m_itemTable; // 0x18 }; -// Aligment: 2 -// Size: 72 +// Alignment: 2 +// Size: 0x48 class CAnimClipData { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_clipName; // 0x38 + CUtlString m_clipName; // 0x38 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CAnimParameterList { public: - CUtlVector< CSmartPtr< CAnimParameterBase > > m_Parameters; // 0x18 + CUtlVector< CSmartPtr< CAnimParameterBase > > m_Parameters; // 0x18 }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CAnimNodeList { public: - CUtlVector< CAnimNodeBase* > m_nodes; // 0x10 + CUtlVector< CAnimNodeBase* > m_nodes; // 0x10 }; -// Aligment: 1 -// Size: 72 +// Alignment: 1 +// Size: 0x48 class CAnimNodeManager { public: // MPropertyHideField - CUtlHashtable< AnimNodeID, CSmartPtr< CAnimNodeBase > > m_nodes; // 0x8 + CUtlHashtable< AnimNodeID, CSmartPtr< CAnimNodeBase > > m_nodes; // 0x8 }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CAnimStateList { public: - CUtlVector< CAnimState* > m_states; // 0x10 + CUtlVector< CAnimState* > m_states; // 0x10 }; -// Aligment: 4 -// Size: 24 +// Alignment: 4 +// Size: 0x18 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 // MPropertyFriendlyName "Minimum Speed" - float m_fMinSpeed; // 0x10 + float m_fMinSpeed; // 0x10 // MPropertyFriendlyName "Maximum Tension" - float m_fMaxTension; // 0x14 + float m_fMaxTension; // 0x14 }; -// Aligment: 10 -// Size: 232 +// Alignment: 10 +// Size: 0xe8 class CAnimUpdateSharedData { 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< 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 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 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 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 0 -// Size: 56 +// Alignment: 0 +// Size: 0x38 class CStaticPoseCacheBuilder : public CStaticPoseCache { public: -// + // no members available }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CAnimGraphSettingsManager { public: - CUtlVector< CSmartPtr< CAnimGraphSettingsGroup > > m_settingsGroups; // 0x18 + CUtlVector< CSmartPtr< CAnimGraphSettingsGroup > > m_settingsGroups; // 0x18 }; -// Aligment: 0 -// Size: 32 +// Alignment: 0 +// Size: 0x20 class CAnimGraphSettingsGroup { public: -// + // no members available }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CAnimGraphNetworkSettings : public CAnimGraphSettingsGroup { public: // MPropertyFriendlyName "Enable Networking" - bool m_bNetworkingEnabled; // 0x20 + bool m_bNetworkingEnabled; // 0x20 }; -// Aligment: 5 -// Size: 72 +// Alignment: 5 +// Size: 0x48 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 }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CAnimComponentManager { public: - CUtlVector< CSmartPtr< CAnimComponentBase > > m_components; // 0x8 + CUtlVector< CSmartPtr< CAnimComponentBase > > m_components; // 0x8 }; -// Aligment: 2 -// Size: 112 +// Alignment: 2 +// Size: 0x70 class CAnimScriptComponent : public CAnimComponentBase { public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_sName; // 0x48 + CUtlString m_sName; // 0x48 // MPropertyFriendlyName "Script File" // MPropertyAttributeEditor "AssetBrowse( as )" // MPropertyAttrChangeCallback - CUtlString m_scriptFilename; // 0x50 + CUtlString m_scriptFilename; // 0x50 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CActionComponent : public CAnimComponentBase { public: - CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 + CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 }; -// Aligment: 6 -// Size: 48 +// Alignment: 6 +// Size: 0x30 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 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CDampedValueComponent : public CAnimComponentBase { public: // MPropertyFriendlyName "Items" // MPropertyAutoExpandSelf - CUtlVector< CDampedValueItem > m_items; // 0x38 + CUtlVector< CDampedValueItem > m_items; // 0x38 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 class CDampedValueUpdateItem { public: - CAnimInputDamping m_damping; // 0x0 - CAnimParamHandle m_hParamIn; // 0x20 - CAnimParamHandle m_hParamOut; // 0x28 + CAnimInputDamping m_damping; // 0x0 + CAnimParamHandle m_hParamIn; // 0x20 + CAnimParamHandle m_hParamOut; // 0x28 }; -// Aligment: 7 -// Size: 280 +// Alignment: 7 +// Size: 0x118 class CMovementComponent : public CAnimComponentBase { public: // MPropertyFriendlyName "Movement Modes" - CUtlVector< CMovementMode > m_moveModes; // 0x48 + CUtlVector< CMovementMode > m_moveModes; // 0x48 // MPropertyHideField - CUtlVector< CSmartPtr< CAnimMotorBase > > m_motors; // 0x60 + CUtlVector< CSmartPtr< CAnimMotorBase > > m_motors; // 0x60 // MPropertyFriendlyName "Network Path" - bool m_bNetworkPath; // 0x78 + bool m_bNetworkPath; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0079[0x3]; // 0x79 +public: // MPropertyGroupName "+Facing" // MPropertyFriendlyName "Default Mode" - FacingMode m_eDefaultFacingMode; // 0x7c + FacingMode m_eDefaultFacingMode; // 0x7c // MPropertyGroupName "+Facing" // MPropertyFriendlyName "Damping" - CAnimInputDamping m_facingDamping; // 0x80 + CAnimInputDamping m_facingDamping; // 0x80 // MPropertyGroupName "+Facing" // MPropertyFriendlyName "Network Facing" - bool m_bNetworkFacing; // 0x98 + bool m_bNetworkFacing; // 0x98 +private: + [[maybe_unused]] uint8_t __pad0099[0x3]; // 0x99 +public: // MPropertyHideField - AnimParamID[27] m_paramIDs; // 0x9c + AnimParamID m_paramIDs[27]; // 0x9c }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CLODComponent : public CAnimComponentBase { public: - int32_t m_nServerLOD; // 0x38 + int32_t m_nServerLOD; // 0x38 }; -// Aligment: 6 -// Size: 104 +// Alignment: 6 +// Size: 0x68 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_lookPitchID; // 0x48 + AnimParamID m_lookPitchID; // 0x48 // MPropertyHideField - AnimParamID m_lookDirectionID; // 0x4c + AnimParamID m_lookDirectionID; // 0x4c // MPropertyHideField - AnimParamID m_lookTargetID; // 0x50 + AnimParamID m_lookTargetID; // 0x50 // MPropertyHideField - AnimParamID m_lookTargetWorldSpaceID; // 0x54 + AnimParamID m_lookTargetWorldSpaceID; // 0x54 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CRigidBodyWeight { public: - CUtlString m_name; // 0x0 - float m_flWeight; // 0x8 + CUtlString m_name; // 0x0 + float m_flWeight; // 0x8 }; -// Aligment: 2 -// Size: 40 +// Alignment: 2 +// Size: 0x28 class CRigidBodyWeightList { public: - CUtlString m_name; // 0x8 - CUtlVector< CRigidBodyWeight > m_weights; // 0x10 + CUtlString m_name; // 0x8 + CUtlVector< CRigidBodyWeight > m_weights; // 0x10 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CRagdollComponent : public CAnimComponentBase { public: - CUtlVector< CRigidBodyWeightList > m_weightLists; // 0x38 + CUtlVector< CRigidBodyWeightList > m_weightLists; // 0x38 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 class WeightList { public: - CUtlString m_name; // 0x0 - CUtlVector< float32 > m_weights; // 0x8 + CUtlString m_name; // 0x0 + CUtlVector< float32 > m_weights; // 0x8 }; -// Aligment: 6 -// Size: 104 +// Alignment: 6 +// Size: 0x68 class CSlopeComponent : public CAnimComponentBase { public: // MPropertyHideField - AnimParamID m_slopeAngleID; // 0x40 + AnimParamID m_slopeAngleID; // 0x40 // MPropertyHideField - AnimParamID m_slopeHeadingID; // 0x44 + AnimParamID m_slopeHeadingID; // 0x44 // MPropertyHideField - AnimParamID m_slopeAngleSideID; // 0x48 + AnimParamID m_slopeAngleSideID; // 0x48 // MPropertyHideField - AnimParamID m_slopeAngleFrontID; // 0x4c + AnimParamID m_slopeAngleFrontID; // 0x4c // MPropertyHideField - AnimParamID m_slopeNormalID; // 0x50 + AnimParamID m_slopeNormalID; // 0x50 // MPropertyHideField - AnimParamID m_slopeNormal_WorldSpaceID; // 0x54 + AnimParamID m_slopeNormal_WorldSpaceID; // 0x54 }; -// Aligment: 9 -// Size: 112 +// Alignment: 9 +// Size: 0x70 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 }; -// Aligment: 0 -// Size: 56 +// Alignment: 0 +// Size: 0x38 class CAnimActionBase { public: -// + // no members available }; -// Aligment: 1 -// Size: 64 +// Alignment: 1 +// Size: 0x40 class CEmitTagAction : public CAnimActionBase { public: // MPropertyFriendlyName "Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tag; // 0x28 + AnimTagID m_tag; // 0x28 }; -// Aligment: 2 -// Size: 80 +// Alignment: 2 +// Size: 0x50 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 }; -// Aligment: 2 -// Size: 64 +// Alignment: 2 +// Size: 0x40 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 }; -// Aligment: 1 -// Size: 64 +// Alignment: 1 +// Size: 0x40 class CExpressionAction : public CAnimActionBase { public: - CUtlString m_expression; // 0x28 + CUtlString m_expression; // 0x28 }; -// Aligment: 2 -// Size: 40 +// Alignment: 2 +// Size: 0x28 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 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CPathAnimMotorBase : public CAnimMotorBase { public: // MPropertyFriendlyName "Lock To Path" // MPropertySortPriority "90" - bool m_bLockToPath; // 0x28 + bool m_bLockToPath; // 0x28 }; -// Aligment: 0 -// Size: 48 -class CPathAnimMotor : public CPathAnimMotorBase, CAnimMotorBase +// Alignment: 0 +// Size: 0x30 +class CPathAnimMotor : public CPathAnimMotorBase { public: -// + // no members available }; -// Aligment: 7 -// Size: 80 -class CDampedPathAnimMotor : public CPathAnimMotorBase, CAnimMotorBase +// Alignment: 7 +// Size: 0x50 +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 }; -// Aligment: 6 -// Size: 88 +// 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" // MPropertyAttrChangeCallback - bool m_bUseAcceleration; // 0x40 + bool m_bUseAcceleration; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: // MPropertyFriendlyName "Spring Constant" // MPropertyAttrStateCallback - 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 }; -// Aligment: 11 -// Size: 72 +// Alignment: 11 +// Size: 0x48 class CAnimParameterBase { public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_name; // 0x18 + CUtlString m_name; // 0x18 // MPropertyHideField - CUtlString m_group; // 0x20 + CUtlString m_group; // 0x20 // MPropertyHideField - AnimParamID m_id; // 0x28 + AnimParamID m_id; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c +public: // MPropertyHideField // MPropertyAttrChangeCallback - CUtlString m_componentName; // 0x30 + CUtlString m_componentName; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0038[0x4]; // 0x38 +public: // MPropertyFriendlyName "Preview Button" - AnimParamButton_t m_previewButton; // 0x3c + AnimParamButton_t m_previewButton; // 0x3c // MPropertyFriendlyName "Force Latest Value" - bool m_bUseMostRecentValue; // 0x40 + bool m_bUseMostRecentValue; // 0x40 // MPropertyFriendlyName "Auto Reset" - bool m_bAutoReset; // 0x41 + bool m_bAutoReset; // 0x41 // MPropertyFriendlyName "Internal" // MPropertyAttrStateCallback - bool m_bInternal; // 0x42 + bool m_bInternal; // 0x42 // MPropertyHideField - bool m_bIsReferenced; // 0x43 + bool m_bIsReferenced; // 0x43 // MPropertyHideField - bool m_bNetwork; // 0x44 + bool m_bNetwork; // 0x44 // MPropertyFriendlyName "Disable Networking" - bool m_bDisableNetworking; // 0x45 + bool m_bDisableNetworking; // 0x45 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CBoolAnimParameter : public CAnimParameterBase { public: // MPropertyFriendlyName "Default Value" - bool m_bDefaultValue; // 0x48 + bool m_bDefaultValue; // 0x48 }; -// Aligment: 2 -// Size: 112 +// Alignment: 2 +// Size: 0x70 class CEnumAnimParameter : public CAnimParameterBase { public: // MPropertyFriendlyName "Default Value" - uint8_t m_defaultValue; // 0x50 + uint8_t m_defaultValue; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x7]; // 0x51 +public: // MPropertyFriendlyName "Values" - CUtlVector< CUtlString > m_enumOptions; // 0x58 + CUtlVector< CUtlString > m_enumOptions; // 0x58 }; -// Aligment: 3 -// Size: 88 +// Alignment: 3 +// Size: 0x58 class CIntAnimParameter : public CAnimParameterBase { public: // MPropertyFriendlyName "Default Value" - int32_t m_defaultValue; // 0x48 + int32_t m_defaultValue; // 0x48 // MPropertyFriendlyName "Min Value" - int32_t m_minValue; // 0x4c + int32_t m_minValue; // 0x4c // MPropertyFriendlyName "Max Value" - int32_t m_maxValue; // 0x50 + int32_t m_maxValue; // 0x50 }; -// Aligment: 4 -// Size: 88 +// Alignment: 4 +// Size: 0x58 class CFloatAnimParameter : public CAnimParameterBase { public: // MPropertyFriendlyName "Default Value" - float m_fDefaultValue; // 0x48 + float m_fDefaultValue; // 0x48 // MPropertyFriendlyName "Min Value" - float m_fMinValue; // 0x4c + float m_fMinValue; // 0x4c // MPropertyFriendlyName "Max Value" - float m_fMaxValue; // 0x50 + float m_fMaxValue; // 0x50 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x54 + bool m_bInterpolate; // 0x54 }; -// Aligment: 2 -// Size: 88 +// Alignment: 2 +// Size: 0x58 class CVectorAnimParameter : public CAnimParameterBase { public: // MPropertyFriendlyName "Default Value" - Vector m_defaultValue; // 0x48 + Vector m_defaultValue; // 0x48 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x54 + bool m_bInterpolate; // 0x54 }; -// Aligment: 2 -// Size: 96 +// Alignment: 2 +// Size: 0x60 class CQuaternionAnimParameter : public CAnimParameterBase { public: // MPropertyFriendlyName "Default Value" - Quaternion m_defaultValue; // 0x48 + Quaternion m_defaultValue; // 0x48 // MPropertyFriendlyName "Interpolate" - bool m_bInterpolate; // 0x58 + bool m_bInterpolate; // 0x58 }; -// Aligment: 4 -// Size: 72 +// Alignment: 4 +// Size: 0x48 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 }; -// Aligment: 4 -// Size: 144 +// Alignment: 4 +// Size: 0x90 class CSequenceAnimNode : public CAnimNodeBase { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x58 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x58 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x70 + CUtlString m_sequenceName; // 0x70 // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0x78 + float m_playbackSpeed; // 0x78 // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x7c + bool m_bLoop; // 0x7c }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 class CBlendNodeChild { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x0 + CAnimNodeConnection m_inputConnection; // 0x0 // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x8 + CUtlString m_name; // 0x8 // MPropertyFriendlyName "Blend Value" - float m_blendValue; // 0x10 + float m_blendValue; // 0x10 }; -// Aligment: 9 -// Size: 136 +// Alignment: 9 +// Size: 0x88 class CBlendAnimNode : public CAnimNodeBase { public: // MPropertyFriendlyName "Blend Items" // MPropertyAutoExpandSelf - CUtlVector< CBlendNodeChild > m_children; // 0x38 + CUtlVector< CBlendNodeChild > m_children; // 0x38 // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendValueSource; // 0x50 + AnimValueSource m_blendValueSource; // 0x50 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x54 + AnimParamID m_param; // 0x54 // MPropertyFriendlyName "Blend Key Values" - BlendKeyType m_blendKeyType; // 0x58 + BlendKeyType m_blendKeyType; // 0x58 // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0x5c + bool m_bLockBlendOnReset; // 0x5c // MPropertyFriendlyName "Sync Cycles" - bool m_bSyncCycles; // 0x5d + bool m_bSyncCycles; // 0x5d // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x5e + bool m_bLoop; // 0x5e // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x5f + bool m_bLockWhenWaning; // 0x5f // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x60 + CAnimInputDamping m_damping; // 0x60 }; -// Aligment: 2 -// Size: 88 +// Alignment: 2 +// Size: 0x58 class CRagdollAnimNode : public CAnimNodeBase { public: // MPropertyFriendlyName "WeightList" - CUtlString m_weightListName; // 0x38 + CUtlString m_weightListName; // 0x38 // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 + CAnimNodeConnection m_inputConnection; // 0x40 }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CRootAnimNode : public CAnimNodeBase { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 + CAnimNodeConnection m_inputConnection; // 0x40 }; -// Aligment: 4 -// Size: 24 +// Alignment: 4 +// Size: 0x18 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 }; -// Aligment: 9 -// Size: 120 +// Alignment: 9 +// Size: 0x78 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 }; -// Aligment: 3 -// Size: 88 +// Alignment: 3 +// Size: 0x58 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 }; -// Aligment: 4 -// Size: 144 +// Alignment: 4 +// Size: 0x90 class CCycleControlClipAnimNode : public CAnimNodeBase { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x58 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x58 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x70 + CUtlString m_sequenceName; // 0x70 // MPropertyFriendlyName "Blend Source" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_valueSource; // 0x78 + AnimValueSource m_valueSource; // 0x78 // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_param; // 0x7c + AnimParamID m_param; // 0x7c }; -// Aligment: 8 -// Size: 104 +// Alignment: 8 +// Size: 0x68 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 "Reset Base Child" - bool m_bResetBase; // 0x54 + bool m_bResetBase; // 0x54 // MPropertyFriendlyName "Reset Additive Child" - bool m_bResetAdditive; // 0x55 + bool m_bResetAdditive; // 0x55 // MPropertyFriendlyName "Treat Translation Separately" - bool m_bApplyChannelsSeparately; // 0x56 + bool m_bApplyChannelsSeparately; // 0x56 }; -// Aligment: 8 -// Size: 104 +// Alignment: 8 +// Size: 0x68 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 "Reset Base Child" - bool m_bResetBase; // 0x54 + bool m_bResetBase; // 0x54 // MPropertyFriendlyName "Reset Subtracted Child" - bool m_bResetSubtract; // 0x55 + bool m_bResetSubtract; // 0x55 // MPropertyFriendlyName "Treat Translation Separately" - bool m_bApplyChannelsSeparately; // 0x56 + bool m_bApplyChannelsSeparately; // 0x56 }; -// Aligment: 12 -// Size: 144 +// Alignment: 12 +// Size: 0x90 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 "Turn to Face Offset" // MPropertyAttributeRange "-180 180" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - float m_flTurnToFaceOffset; // 0x54 + float m_flTurnToFaceOffset; // 0x54 // MPropertyFriendlyName "Turn to Face Limit" // MPropertyAttributeRange "0 180" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - float m_flTurnToFaceLimit; // 0x58 + float m_flTurnToFaceLimit; // 0x58 // MPropertyFriendlyName "Face Direction" // MPropertyGroupName "Turn to Face" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_facingTarget; // 0x5c + AnimValueSource m_facingTarget; // 0x5c // MPropertyFriendlyName "Facing Parameter" // MPropertyGroupName "Turn to Face" // MPropertyAttributeChoiceName "FloatParameter" // MPropertyAttrStateCallback - AnimParamID m_param; // 0x60 + AnimParamID m_param; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0064[0x4]; // 0x64 +public: // MPropertyFriendlyName "Damping" // MPropertyGroupName "Turn to Face" // MPropertyAttrStateCallback - CAnimInputDamping m_damping; // 0x68 + CAnimInputDamping m_damping; // 0x68 }; -// Aligment: 2 -// Size: 88 +// Alignment: 2 +// Size: 0x58 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 }; -// Aligment: 7 -// Size: 104 +// Alignment: 7 +// Size: 0x68 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 }; -// Aligment: 11 -// Size: 168 +// Alignment: 11 +// Size: 0xa8 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 }; -// Aligment: 2 -// Size: 88 +// Alignment: 2 +// Size: 0x58 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 }; -// Aligment: 7 -// Size: 128 +// Alignment: 7 +// Size: 0x80 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 }; -// Aligment: 6 -// Size: 96 +// Alignment: 6 +// Size: 0x60 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 }; -// Aligment: 13 -// Size: 136 +// Alignment: 13 +// Size: 0x88 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 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CChoreoAnimNode : public CAnimNodeBase { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 }; -// Aligment: 3 -// Size: 88 +// Alignment: 3 +// Size: 0x58 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 }; -// Aligment: 7 -// Size: 152 +// Alignment: 7 +// Size: 0x98 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 }; -// Aligment: 10 -// Size: 144 +// Alignment: 10 +// Size: 0x90 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 // MPropertyGroupName "End Effector" // MPropertyFriendlyName "End Effector Type" // MPropertyAttrChangeCallback - IkEndEffectorType m_endEffectorType; // 0x48 + IkEndEffectorType m_endEffectorType; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: // 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 }; -// Aligment: 8 -// Size: 88 +// Alignment: 8 +// Size: 0x58 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 }; -// Aligment: 2 -// Size: 120 +// Alignment: 2 +// Size: 0x78 class CSolveIKChainAnimNode : public CAnimNodeBase { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x48 + CAnimNodeConnection m_inputConnection; // 0x48 // MPropertyFriendlyName "IK Chains" // MPropertyAutoExpandSelf - CUtlVector< CSolveIKChainAnimNodeChainData > m_IkChains; // 0x50 + CUtlVector< CSolveIKChainAnimNodeChainData > m_IkChains; // 0x50 }; -// Aligment: 14 -// Size: 160 +// Alignment: 14 +// Size: 0xa0 class CLookAtAnimNode : public CAnimNodeBase { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x38 + CAnimNodeConnection m_inputConnection; // 0x38 // MPropertyFriendlyName "Target" - AnimVectorSource m_target; // 0x40 + AnimVectorSource m_target; // 0x40 // MPropertyFriendlyName "Target Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_param; // 0x44 + AnimParamID m_param; // 0x44 // MPropertyFriendlyName "Weight Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_weightParam; // 0x48 + AnimParamID m_weightParam; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: // 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 "Yaw Limit" // MPropertyAttributeRange "0 180" - float m_flYawLimit; // 0x60 + float m_flYawLimit; // 0x60 // MPropertyFriendlyName "Pitch Limit" // MPropertyAttributeRange "0 180" - float m_flPitchLimit; // 0x64 + float m_flPitchLimit; // 0x64 // MPropertyFriendlyName "Reset Child" - bool m_bResetBase; // 0x68 + bool m_bResetBase; // 0x68 // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x69 + bool m_bLockWhenWaning; // 0x69 // MPropertyFriendlyName "Use Hysteresis" // MPropertyGroupName "Hysteresis" - bool m_bUseHysteresis; // 0x6a + bool m_bUseHysteresis; // 0x6a +private: + [[maybe_unused]] uint8_t __pad006b[0x1]; // 0x6b +public: // MPropertyFriendlyName "Inner Angle" // MPropertyGroupName "Hysteresis" - float m_flHysteresisInnerAngle; // 0x6c + float m_flHysteresisInnerAngle; // 0x6c // MPropertyFriendlyName "Outer Angle" // MPropertyGroupName "Hysteresis" - float m_flHysteresisOuterAngle; // 0x70 + float m_flHysteresisOuterAngle; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0074[0x4]; // 0x74 +public: // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x78 + CAnimInputDamping m_damping; // 0x78 }; -// Aligment: 3 -// Size: 88 +// Alignment: 3 +// Size: 0x58 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 }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 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 }; -// Aligment: 1 -// Size: 112 +// Alignment: 1 +// Size: 0x70 class CProxyAnimNodeBase : public CAnimNodeBase { public: // MPropertyFriendlyName "External Connections" // MPropertyAutoExpandSelf // MPropertyAttrChangeCallback - CUtlVector< CConnectionProxyItem > m_proxyItems; // 0x48 + CUtlVector< CConnectionProxyItem > m_proxyItems; // 0x48 }; -// Aligment: 5 -// Size: 104 +// Alignment: 5 +// Size: 0x68 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 }; -// Aligment: 4 -// Size: 88 +// Alignment: 4 +// Size: 0x58 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 }; -// Aligment: 10 -// Size: 168 +// Alignment: 10 +// Size: 0xa8 class CSelectorAnimNode : public CAnimNodeBase { public: // MPropertySuppressField - CUtlVector< CAnimNodeConnection > m_children; // 0x48 + CUtlVector< CAnimNodeConnection > m_children; // 0x48 // MPropertySuppressField - CUtlVector< AnimTagID > m_tags; // 0x60 + CUtlVector< AnimTagID > m_tags; // 0x60 // MPropertyFriendlyName "Selection Source" // MPropertyAttrChangeCallback - SelectionSource_t m_selectionSource; // 0x78 + SelectionSource_t m_selectionSource; // 0x78 // MPropertyFriendlyName "Bool Parameter" // MPropertyAttributeChoiceName "BoolParameter" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimParamID m_boolParamID; // 0x7c + AnimParamID m_boolParamID; // 0x7c // MPropertyFriendlyName "Enum Parameter" // MPropertyAttributeChoiceName "EnumParameter" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimParamID m_enumParamID; // 0x80 + AnimParamID m_enumParamID; // 0x80 // MPropertyFriendlyName "Blend Duration" - float m_blendDuration; // 0x84 + float m_blendDuration; // 0x84 // MPropertyFriendlyName "Tag Behavior" - SelectorTagBehavior_t m_tagBehavior; // 0x88 + SelectorTagBehavior_t m_tagBehavior; // 0x88 // MPropertyFriendlyName "Reset On Change" - bool m_bResetOnChange; // 0x8c + bool m_bResetOnChange; // 0x8c // MPropertyFriendlyName "Start new option at same cycle" - bool m_bSyncCyclesOnChange; // 0x8d + bool m_bSyncCyclesOnChange; // 0x8d +private: + [[maybe_unused]] uint8_t __pad008e[0x2]; // 0x8e +public: // MPropertySuppressField - CBlendCurve m_blendCurve; // 0x90 + CBlendCurve m_blendCurve; // 0x90 }; -// Aligment: 24 -// Size: 184 +// Alignment: 24 +// Size: 0xb8 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 }; -// Aligment: 3 -// Size: 64 +// Alignment: 3 +// Size: 0x40 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 }; -// Aligment: 2 -// Size: 112 +// Alignment: 2 +// Size: 0x70 class CSequenceBlend2DItem : public CBlend2DItemBase { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x40 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x40 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x58 + CUtlString m_sequenceName; // 0x58 }; -// Aligment: 2 -// Size: 96 +// Alignment: 2 +// Size: 0x60 class CNodeBlend2DItem : public CBlend2DItemBase { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x40 + CAnimNodeConnection m_inputConnection; // 0x40 // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x48 + CUtlString m_name; // 0x48 }; -// Aligment: 10 -// Size: 168 +// Alignment: 10 +// Size: 0xa8 class CBlend2DAnimNode : public CAnimNodeBase { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CBlend2DItemBase > > m_items; // 0x50 + CUtlVector< CSmartPtr< CBlend2DItemBase > > m_items; // 0x50 // MPropertyFriendlyName "Horizontal Axis" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendSourceX; // 0x68 + AnimValueSource m_blendSourceX; // 0x68 // MPropertyFriendlyName "Horizontal Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_paramX; // 0x6c + AnimParamID m_paramX; // 0x6c // MPropertyFriendlyName "Vertical Axis" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - AnimValueSource m_blendSourceY; // 0x70 + AnimValueSource m_blendSourceY; // 0x70 // MPropertyFriendlyName "Vertical Parameter" // MPropertyAttributeChoiceName "FloatParameter" - AnimParamID m_paramY; // 0x74 + AnimParamID m_paramY; // 0x74 // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x78 + bool m_bLoop; // 0x78 // MPropertyFriendlyName "Lock Blend on Reset" - bool m_bLockBlendOnReset; // 0x79 + bool m_bLockBlendOnReset; // 0x79 // MPropertyFriendlyName "Lock Blend When Waning" - bool m_bLockWhenWaning; // 0x7a + bool m_bLockWhenWaning; // 0x7a +private: + [[maybe_unused]] uint8_t __pad007b[0x1]; // 0x7b +public: // MPropertyFriendlyName "Playback Speed" - float m_playbackSpeed; // 0x7c + float m_playbackSpeed; // 0x7c // MPropertyFriendlyName "Damping" - CAnimInputDamping m_damping; // 0x80 + CAnimInputDamping m_damping; // 0x80 }; -// Aligment: 10 -// Size: 136 +// Alignment: 10 +// Size: 0x88 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 }; -// Aligment: 7 -// Size: 40 +// Alignment: 7 +// Size: 0x28 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 }; -// Aligment: 36 -// Size: 304 +// Alignment: 36 +// Size: 0x130 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 +private: + [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d +public: // MPropertyFriendlyName "Curve Foot Paths" // MPropertyGroupName "Curve Paths" // MPropertyAttributeRange "0 1" - float m_flStrideCurveScale; // 0x70 + float m_flStrideCurveScale; // 0x70 // MPropertyFriendlyName "Curve Paths Limit" // MPropertyGroupName "Curve Paths" // MPropertyAttributeRange "0 1" - float m_flStrideCurveLimitScale; // 0x74 + float m_flStrideCurveLimitScale; // 0x74 // MPropertyFriendlyName "Enable Vertical Curved Paths" // MPropertyGroupName "Curve Paths" - bool m_bEnableVerticalCurvedPaths; // 0x78 + bool m_bEnableVerticalCurvedPaths; // 0x78 // MPropertyFriendlyName "Modulate Step Height" // MPropertyGroupName "Step Height" // MPropertyAttrChangeCallback - bool m_bModulateStepHeight; // 0x79 + bool m_bModulateStepHeight; // 0x79 +private: + [[maybe_unused]] uint8_t __pad007a[0x2]; // 0x7a +public: // MPropertyFriendlyName "Height Increase Scale" // MPropertyGroupName "Step Height" // MPropertyAttrStateCallback - float m_flStepHeightIncreaseScale; // 0x7c + float m_flStepHeightIncreaseScale; // 0x7c // MPropertyFriendlyName "Height Decrease Scale" // MPropertyGroupName "Step Height" // MPropertyAttrStateCallback - float m_flStepHeightDecreaseScale; // 0x80 + float m_flStepHeightDecreaseScale; // 0x80 // MPropertyFriendlyName "Enable Hip Shift" // MPropertyGroupName "Hip Shift" - bool m_bEnableHipShift; // 0x84 + bool m_bEnableHipShift; // 0x84 +private: + [[maybe_unused]] uint8_t __pad0085[0x3]; // 0x85 +public: // MPropertyFriendlyName "Hip Shift Scale" // MPropertyGroupName "Hip Shift" // MPropertyAttributeRange "0 1" - float m_flHipShiftScale; // 0x88 + float m_flHipShiftScale; // 0x88 +private: + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c +public: // MPropertyFriendlyName "Damping" // MPropertyGroupName "Hip Shift" - CAnimInputDamping m_hipShiftDamping; // 0x90 + CAnimInputDamping m_hipShiftDamping; // 0x90 // MPropertyFriendlyName "Apply Tilt" // MPropertyGroupName "Tilt" - bool m_bApplyTilt; // 0xa8 + bool m_bApplyTilt; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00a9[0x3]; // 0xa9 +public: // MPropertyFriendlyName "Tilt Plane Pitch Spring Strength" // MPropertyGroupName "Tilt" - float m_flTiltPlanePitchSpringStrength; // 0xac + float m_flTiltPlanePitchSpringStrength; // 0xac // MPropertyFriendlyName "Tilt Plane Roll Spring Strength" // MPropertyGroupName "Tilt" - float m_flTiltPlaneRollSpringStrength; // 0xb0 + float m_flTiltPlaneRollSpringStrength; // 0xb0 // MPropertyFriendlyName "Enable Lock Breaking" // MPropertyGroupName "Lock Breaking" - bool m_bEnableLockBreaking; // 0xb4 + bool m_bEnableLockBreaking; // 0xb4 +private: + [[maybe_unused]] uint8_t __pad00b5[0x3]; // 0xb5 +public: // MPropertyFriendlyName "Tolerance" // MPropertyGroupName "Lock Breaking" - float m_flLockBreakTolerance; // 0xb8 + float m_flLockBreakTolerance; // 0xb8 // MPropertyFriendlyName "Blend Time" // MPropertyGroupName "Lock Breaking" - float m_flLockBreakBlendTime; // 0xbc + float m_flLockBreakBlendTime; // 0xbc // MPropertyFriendlyName "Enable Stretching" // MPropertyGroupName "Stretch" - bool m_bEnableStretching; // 0xc0 + bool m_bEnableStretching; // 0xc0 +private: + [[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1 +public: // MPropertyFriendlyName "Max Stretch Amount" // MPropertyGroupName "Stretch" - float m_flMaxStretchAmount; // 0xc4 + float m_flMaxStretchAmount; // 0xc4 // MPropertyFriendlyName "Extension Scale" // MPropertyGroupName "Stretch" // MPropertyAttributeRange "0 1" - float m_flStretchExtensionScale; // 0xc8 + float m_flStretchExtensionScale; // 0xc8 // MPropertyFriendlyName "Enable Ground Tracing" // MPropertyGroupName "Ground IK" // MPropertyAttrChangeCallback - bool m_bEnableGroundTracing; // 0xcc + bool m_bEnableGroundTracing; // 0xcc +private: + [[maybe_unused]] uint8_t __pad00cd[0x3]; // 0xcd +public: // MPropertyFriendlyName "Angle Traces with Slope" // MPropertyGroupName "Ground IK" // MPropertyAttributeRange "0 1" // MPropertyAttrStateCallback - float m_flTraceAngleBlend; // 0xd0 + float m_flTraceAngleBlend; // 0xd0 // MPropertyFriendlyName "Apply Hip Drop" // MPropertyGroupName "Ground IK" // MPropertyAttrChangeCallback // MPropertyAttrStateCallback - bool m_bApplyHipDrop; // 0xd4 + bool m_bApplyHipDrop; // 0xd4 +private: + [[maybe_unused]] uint8_t __pad00d5[0x3]; // 0xd5 +public: // MPropertyFriendlyName "Max Foot Lift" // MPropertyGroupName "Ground IK" // MPropertyAttrStateCallback - float m_flMaxFootHeight; // 0xd8 + float m_flMaxFootHeight; // 0xd8 // MPropertyFriendlyName "Leg Extension Scale" // MPropertyGroupName "Ground IK" // MPropertyAttrStateCallback - float m_flExtensionScale; // 0xdc + float m_flExtensionScale; // 0xdc // MPropertyFriendlyName "Hip Damping" // MPropertyGroupName "Ground IK" // MPropertyAttrStateCallback - CAnimInputDamping m_hipDampingSettings; // 0xe0 + CAnimInputDamping m_hipDampingSettings; // 0xe0 // MPropertyFriendlyName "Enable Root Height Damping" // MPropertyGroupName "Root Height Damping" // MPropertyAttrChangeCallback - bool m_bEnableRootHeightDamping; // 0xf8 + bool m_bEnableRootHeightDamping; // 0xf8 +private: + [[maybe_unused]] uint8_t __pad00f9[0x7]; // 0xf9 +public: // MPropertyFriendlyName "Damping Settings" // MPropertyGroupName "Root Height Damping" // MPropertyAttrStateCallback - CAnimInputDamping m_rootHeightDamping; // 0x100 + CAnimInputDamping m_rootHeightDamping; // 0x100 // MPropertyFriendlyName "Max Offset" // MPropertyGroupName "Root Height Damping" // MPropertyAttrStateCallback - float m_flMaxRootHeightOffset; // 0x118 + float m_flMaxRootHeightOffset; // 0x118 // MPropertyFriendlyName "Min Offset" // MPropertyGroupName "Root Height Damping" // MPropertyAttrStateCallback - float m_flMinRootHeightOffset; // 0x11c + float m_flMinRootHeightOffset; // 0x11c }; -// Aligment: 14 -// Size: 144 +// Alignment: 14 +// Size: 0x90 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 }; -// Aligment: 24 -// Size: 240 +// Alignment: 24 +// Size: 0xf0 class CMotionMatchingAnimNode : public CAnimNodeBase { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CMotionClipGroup > > m_clipGroups; // 0x50 + CUtlVector< CSmartPtr< CMotionClipGroup > > m_clipGroups; // 0x50 // MPropertySuppressField - CUtlVector< CSmartPtr< CMotionMetricBase > > m_metrics; // 0x68 + CUtlVector< CSmartPtr< CMotionMetricBase > > m_metrics; // 0x68 // MPropertySuppressField - CBlendCurve m_blendCurve; // 0x80 + CBlendCurve m_blendCurve; // 0x80 // MPropertyFriendlyName "Prediction Time" - float m_flPredictionTime; // 0x88 + float m_flPredictionTime; // 0x88 // MPropertyFriendlyName "Sampling Method" // MPropertyAttrChangeCallback - MotionSamplingMethod m_samplingMethod; // 0x8c + MotionSamplingMethod m_samplingMethod; // 0x8c // MPropertyFriendlyName "Sample Rate" // MPropertyAttrStateCallback - float m_flSampleRate; // 0x90 + float m_flSampleRate; // 0x90 // MPropertyFriendlyName "Search at fixed interval" // MPropertyGroupName "Search Triggers" // MPropertyAttrChangeCallback - bool m_bSearchAtInterval; // 0x94 + bool m_bSearchAtInterval; // 0x94 +private: + [[maybe_unused]] uint8_t __pad0095[0x3]; // 0x95 +public: // MPropertyFriendlyName "Search Interval" // MPropertyGroupName "Search Triggers" // MPropertyAttrStateCallback - float m_flSearchInterval; // 0x98 + float m_flSearchInterval; // 0x98 // MPropertyFriendlyName "Search on Steps" // MPropertyGroupName "Search Triggers" - bool m_bSearchOnSteps; // 0x9c + bool m_bSearchOnSteps; // 0x9c // MPropertyFriendlyName "Search when tags change" // MPropertyGroupName "Search Triggers" - bool m_bForceSearchWhenTagsChange; // 0x9d + bool m_bForceSearchWhenTagsChange; // 0x9d // MPropertyFriendlyName "Search when clip ends" // MPropertyGroupName "Search Triggers" - bool m_bSearchWhenClipEnds; // 0x9e + bool m_bSearchWhenClipEnds; // 0x9e // MPropertyFriendlyName "Search when goal changes" // MPropertyGroupName "Search Triggers" - bool m_bSearchWhenGoalChanges; // 0x9f + bool m_bSearchWhenGoalChanges; // 0x9f // MPropertyFriendlyName "Blend Time" - float m_flBlendTime; // 0xa0 + float m_flBlendTime; // 0xa0 // MPropertyFriendlyName "Selection Threshold" - float m_flSelectionThreshold; // 0xa4 + float m_flSelectionThreshold; // 0xa4 // MPropertyFriendlyName "Lock Clip When Waning" - bool m_bLockClipWhenWaning; // 0xa8 + bool m_bLockClipWhenWaning; // 0xa8 // MPropertyFriendlyName "Enable Goal Assist" // MPropertyGroupName "Goal Assist" // MPropertyAttrChangeCallback - bool m_bGoalAssist; // 0xa9 + bool m_bGoalAssist; // 0xa9 +private: + [[maybe_unused]] uint8_t __pad00aa[0x2]; // 0xaa +public: // MPropertyFriendlyName "Goal Assist Distance" // MPropertyGroupName "Goal Assist" // MPropertyAttrStateCallback - float m_flGoalAssistDistance; // 0xac + float m_flGoalAssistDistance; // 0xac // MPropertyFriendlyName "Goal Assist Tolerance" // MPropertyGroupName "Goal Assist" // MPropertyAttrStateCallback - float m_flGoalAssistTolerance; // 0xb0 + float m_flGoalAssistTolerance; // 0xb0 // MPropertyFriendlyName "Enable Distance Scaling" // MPropertyGroupName "Distance Scaling" // MPropertyAttrChangeCallback - bool m_bEnableDistanceScaling; // 0xb4 + bool m_bEnableDistanceScaling; // 0xb4 +private: + [[maybe_unused]] uint8_t __pad00b5[0x3]; // 0xb5 +public: // MPropertyFriendlyName "Outer Stopping Radius" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_OuterRadius; // 0xb8 + float m_flDistanceScale_OuterRadius; // 0xb8 // MPropertyFriendlyName "Inner Stopping Radius" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_InnerRadius; // 0xbc + float m_flDistanceScale_InnerRadius; // 0xbc // MPropertyFriendlyName "Maximum Speed Scale" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_MaxScale; // 0xc0 + float m_flDistanceScale_MaxScale; // 0xc0 // MPropertyFriendlyName "Minimum Speed Scale" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - float m_flDistanceScale_MinScale; // 0xc4 + float m_flDistanceScale_MinScale; // 0xc4 // MPropertyFriendlyName "Damping" // MPropertyGroupName "Distance Scaling" // MPropertyAttrStateCallback - CAnimInputDamping m_distanceScale_Damping; // 0xc8 + CAnimInputDamping m_distanceScale_Damping; // 0xc8 }; -// Aligment: 3 -// Size: 88 +// Alignment: 3 +// Size: 0x58 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 }; -// Aligment: 6 -// Size: 120 +// Alignment: 6 +// Size: 0x78 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 }; -// Aligment: 7 -// Size: 48 +// Alignment: 7 +// Size: 0x30 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 }; -// Aligment: 2 -// Size: 104 +// Alignment: 2 +// Size: 0x68 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 }; -// Aligment: 8 -// Size: 176 -class CJumpHelperAnimNode : public CSequenceAnimNode, CAnimNodeBase +// Alignment: 8 +// Size: 0xb0 +class CJumpHelperAnimNode : public CSequenceAnimNode { public: // MPropertyFriendlyName "Target Parameter" // MPropertyAttributeChoiceName "VectorParameter" - AnimParamID m_targetParamID; // 0x88 + AnimParamID m_targetParamID; // 0x88 // MPropertySuppressField - float m_flJumpStartCycle; // 0x8c + float m_flJumpStartCycle; // 0x8c // MPropertySuppressField - float m_flJumpDuration; // 0x90 + float m_flJumpDuration; // 0x90 // MPropertyFriendlyName "Translate X" - bool m_bTranslateX; // 0x94 + bool m_bTranslateX; // 0x94 // MPropertyFriendlyName "Translate Y" - bool m_bTranslateY; // 0x95 + bool m_bTranslateY; // 0x95 // MPropertyFriendlyName "Translate Z" - bool m_bTranslateZ; // 0x96 + bool m_bTranslateZ; // 0x96 // MPropertyFriendlyName "Apply Speed Scale" - bool m_bScaleSpeed; // 0x97 + bool m_bScaleSpeed; // 0x97 // MPropertyFriendlyName "Correction Method" - JumpCorrectionMethod m_eCorrectionMethod; // 0x98 + JumpCorrectionMethod m_eCorrectionMethod; // 0x98 }; -// Aligment: 2 -// Size: 112 +// Alignment: 2 +// Size: 0x70 class CSingleFrameAnimNode : public CAnimNodeBase { public: // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x50 + CUtlString m_sequenceName; // 0x50 // MPropertyFriendlyName "Frame" - int32_t m_nFrameIndex; // 0x58 + int32_t m_nFrameIndex; // 0x58 }; -// Aligment: 3 -// Size: 112 +// Alignment: 3 +// Size: 0x70 class CCommentAnimNode : public CAnimNodeBase { public: // MPropertySuppressField - CUtlString m_commentText; // 0x48 + CUtlString m_commentText; // 0x48 // MPropertySuppressField - Vector2D m_size; // 0x50 + Vector2D m_size; // 0x50 // MPropertyFriendlyName "Color" - Color m_color; // 0x58 + Color m_color; // 0x58 }; -// Aligment: 3 -// Size: 144 +// Alignment: 3 +// Size: 0x90 class CContainerAnimNodeBase : public CAnimNodeBase { public: // MPropertyHideField - AnimNodeID m_inputNodeID; // 0x58 + AnimNodeID m_inputNodeID; // 0x58 // MPropertyHideField - AnimNodeID m_outputNodeID; // 0x5c + AnimNodeID m_outputNodeID; // 0x5c // MPropertyHideField - CUtlHashtable< AnimNodeOutputID, CAnimNodeConnection > m_inputConnectionMap; // 0x60 + CUtlHashtable< AnimNodeOutputID, CAnimNodeConnection > m_inputConnectionMap; // 0x60 }; -// Aligment: 0 -// Size: 72 +// Alignment: 0 +// Size: 0x48 class CInputStreamAnimNode : public CAnimNodeBase { public: -// + // no members available }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 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 }; -// Aligment: 3 -// Size: 112 +// Alignment: 3 +// Size: 0x70 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 }; -// Aligment: 2 -// Size: 224 -class CSubGraphAnimNode : public CContainerAnimNodeBase, CAnimNodeBase +// Alignment: 2 +// Size: 0xe0 +class CSubGraphAnimNode : public CContainerAnimNodeBase { public: // MPropertyFriendlyName "SubGraph File" // MPropertyAttributeEditor "AssetBrowse( vsubgrph )" // MPropertyAttrChangeCallback - CUtlString m_subGraphFilename; // 0x90 + CUtlString m_subGraphFilename; // 0x90 // MPropertyHideField - CUtlHashtable< CUtlString, CUtlString > m_animNameMap; // 0x98 + CUtlHashtable< CUtlString, CUtlString > m_animNameMap; // 0x98 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CStateAction { public: - CSmartPtr< CAnimActionBase > m_pAction; // 0x8 - StateActionBehavior m_eBehavior; // 0x10 + CSmartPtr< CAnimActionBase > m_pAction; // 0x8 + StateActionBehavior m_eBehavior; // 0x10 }; -// Aligment: 8 -// Size: 112 +// Alignment: 8 +// Size: 0x70 class CAnimState { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimStateTransition > > m_transitions; // 0x28 + CUtlVector< CSmartPtr< CAnimStateTransition > > m_transitions; // 0x28 // MPropertySuppressField - 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 + bool m_bIsPassthrough; // 0x6e }; -// Aligment: 3 -// Size: 72 +// Alignment: 3 +// Size: 0x48 class CAnimStateTransition { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimStateConditionBase > > m_conditions; // 0x28 + CUtlVector< CSmartPtr< CAnimStateConditionBase > > m_conditions; // 0x28 // MPropertyHideField - AnimStateID m_destState; // 0x40 + AnimStateID m_destState; // 0x40 // MPropertyFriendlyName "Disable" - bool m_bDisabled; // 0x44 + bool m_bDisabled; // 0x44 }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CAnimStateMachine { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimState > > m_states; // 0x8 + CUtlVector< CSmartPtr< CAnimState > > m_states; // 0x8 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CStateActionUpdater { public: - CSmartPtr< CAnimActionUpdater > m_pAction; // 0x0 - StateActionBehavior m_eBehavior; // 0x8 + CSmartPtr< CAnimActionUpdater > m_pAction; // 0x0 + StateActionBehavior m_eBehavior; // 0x8 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 class CTransitionUpdateData { public: - CUtlVector< CSmartPtr< ConditionUpdater > > m_conditions; // 0x0 - int16_t m_srcStateIndex; // 0x18 - int16_t m_destStateIndex; // 0x1a - bitfield:1 m_bDisabled; // 0x0 + CUtlVector< CSmartPtr< ConditionUpdater > > m_conditions; // 0x0 + int16_t m_srcStateIndex; // 0x18 + int16_t m_destStateIndex; // 0x1a + struct + { + uint8_t m_bDisabled: 1; + uint8_t __pad0: 1; // @note: autoaligned + }; // 2 bits }; -// Aligment: 7 -// Size: 64 +// Alignment: 7 +// Size: 0x40 class CStateUpdateData { public: - CUtlString m_name; // 0x0 - CUtlVector< int32 > m_transitionIndices; // 0x8 - CUtlVector< CStateActionUpdater > m_actions; // 0x20 - AnimStateID m_stateID; // 0x38 - bitfield:1 m_bIsStartState; // 0x0 - bitfield:1 m_bIsEndState; // 0x0 - bitfield:1 m_bIsPassthrough; // 0x0 + CUtlString m_name; // 0x0 + CUtlVector< int32 > m_transitionIndices; // 0x8 + CUtlVector< CStateActionUpdater > m_actions; // 0x20 + AnimStateID m_stateID; // 0x38 + struct + { + uint8_t m_bIsStartState: 1; + uint8_t m_bIsEndState: 1; + uint8_t m_bIsPassthrough: 1; + uint8_t __pad1: 3; // @note: autoaligned + }; // 6 bits }; -// Aligment: 3 -// Size: 88 +// Alignment: 3 +// Size: 0x58 class CAnimStateMachineUpdater { public: - CUtlVector< CStateUpdateData > m_states; // 0x8 - CUtlVector< CTransitionUpdateData > m_transitions; // 0x20 - int32_t m_startStateIndex; // 0x50 + CUtlVector< CStateUpdateData > m_states; // 0x8 + CUtlVector< CTransitionUpdateData > m_transitions; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 +public: + int32_t m_startStateIndex; // 0x50 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CAnimStateConditionBase { public: - uint8_t m_comparisonOp; // 0x28 + uint8_t m_comparisonOp; // 0x28 }; -// Aligment: 2 -// Size: 72 +// Alignment: 2 +// Size: 0x48 class CParameterAnimCondition : public CAnimStateConditionBase { public: // MPropertyFriendlyName "Parameter" // MPropertyAttributeChoiceName "Parameter" - AnimParamID m_paramID; // 0x30 + AnimParamID m_paramID; // 0x30 // MPropertyFriendlyName "Comparison Value" - CAnimVariant m_comparisonValue; // 0x34 + CAnimVariant m_comparisonValue; // 0x34 }; -// Aligment: 2 -// Size: 56 +// Alignment: 2 +// Size: 0x38 class CTagCondition : public CAnimStateConditionBase { public: // MPropertyFriendlyName "Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tagID; // 0x30 + AnimTagID m_tagID; // 0x30 // MPropertyFriendlyName "Value" - bool m_comparisonValue; // 0x34 + bool m_comparisonValue; // 0x34 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 class CCycleCondition : public CAnimStateConditionBase { public: - float m_comparisonValue; // 0x30 - int32_t m_comparisonValueType; // 0x34 - ControlValue m_comparisonControlValue; // 0x38 - AnimParamID m_comparisonParamID; // 0x3c + float m_comparisonValue; // 0x30 + int32_t m_comparisonValueType; // 0x34 + ControlValue m_comparisonControlValue; // 0x38 + AnimParamID m_comparisonParamID; // 0x3c }; -// Aligment: 2 -// Size: 56 +// Alignment: 2 +// Size: 0x38 class CFinishedCondition : public CAnimStateConditionBase { public: - FinishedConditionOption m_option; // 0x30 - bool m_bIsFinished; // 0x34 + FinishedConditionOption m_option; // 0x30 + bool m_bIsFinished; // 0x34 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CForceFacingCondition : public CAnimStateConditionBase { public: // MPropertyFriendlyName "Value" - bool m_comparisonValue; // 0x30 + bool m_comparisonValue; // 0x30 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CFacingHeadingCondition : public CAnimStateConditionBase { public: // MPropertyFriendlyName "Comparison Value" - float m_comparisonValue; // 0x30 + float m_comparisonValue; // 0x30 }; -// Aligment: 2 -// Size: 56 +// Alignment: 2 +// Size: 0x38 class CPathStatusCondition : public CAnimStateConditionBase { public: - PathStatusOptions m_optionToCheck; // 0x30 - bool m_bComparisonValue; // 0x34 + PathStatusOptions m_optionToCheck; // 0x30 + bool m_bComparisonValue; // 0x34 }; -// Aligment: 5 -// Size: 72 +// Alignment: 5 +// Size: 0x48 class CControlValueCondition : public CAnimStateConditionBase { public: - ControlValue m_sourceControlValue; // 0x30 - int32_t m_comparisonValueType; // 0x34 - float m_comparisonFixedValue; // 0x38 - ControlValue m_comparisonControlValue; // 0x3c - AnimParamID m_comparisonParamID; // 0x40 + ControlValue m_sourceControlValue; // 0x30 + int32_t m_comparisonValueType; // 0x34 + float m_comparisonFixedValue; // 0x38 + ControlValue m_comparisonControlValue; // 0x3c + AnimParamID m_comparisonParamID; // 0x40 }; -// Aligment: 5 -// Size: 72 +// Alignment: 5 +// Size: 0x48 class CStateStatusCondition : public CAnimStateConditionBase { public: - StateValue m_sourceValue; // 0x30 - ComparisonValueType m_comparisonValueType; // 0x34 - float m_comparisonFixedValue; // 0x38 - StateValue m_comparisonStateValue; // 0x3c - AnimParamID m_comparisonParamID; // 0x40 + StateValue m_sourceValue; // 0x30 + ComparisonValueType m_comparisonValueType; // 0x34 + float m_comparisonFixedValue; // 0x38 + StateValue m_comparisonStateValue; // 0x3c + AnimParamID m_comparisonParamID; // 0x40 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 class CTimeCondition : public CAnimStateConditionBase { public: - int32_t m_comparisonValueType; // 0x30 - float m_comparisonValue; // 0x34 - ControlValue m_comparisonControlValue; // 0x38 - AnimParamID m_comparisonParamID; // 0x3c + int32_t m_comparisonValueType; // 0x30 + float m_comparisonValue; // 0x34 + ControlValue m_comparisonControlValue; // 0x38 + AnimParamID m_comparisonParamID; // 0x3c }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CGroundCondition : public CAnimStateConditionBase { public: // MPropertyFriendlyName "Value" - bool m_comparisonValue; // 0x30 + bool m_comparisonValue; // 0x30 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc 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 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CAnimTagManager { public: - CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 + CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 }; -// Aligment: 4 -// Size: 72 +// Alignment: 4 +// Size: 0x48 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 }; -// Aligment: 0 -// Size: 80 +// Alignment: 0 +// Size: 0x50 class CStringAnimTag : public CAnimTagBase { public: -// + // no members available }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CPostGraphIKTag : public CAnimTagBase { public: // MPropertyFriendlyName "Blend Amount" - float m_flBlendAmount; // 0x40 + float m_flBlendAmount; // 0x40 }; -// Aligment: 3 -// Size: 96 +// Alignment: 3 +// Size: 0x60 class CPostGraphIKChainBlendTag : public CAnimTagBase { public: // MPropertyFriendlyName "Chain Name" - CUtlString m_ChainName; // 0x40 + CUtlString m_ChainName; // 0x40 // MPropertyFriendlyName "Blend Amount on Enter" - float m_flBlendAmountOnEnter; // 0x48 + float m_flBlendAmountOnEnter; // 0x48 // MPropertyFriendlyName "Blend Amount on Exit" - float m_flBlendAmountOnExit; // 0x4c + float m_flBlendAmountOnExit; // 0x4c }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CFootFallAnimTag : public CAnimTagBase { public: // MPropertyFriendlyName "Foot" - FootFallTagFoot_t m_foot; // 0x40 + FootFallTagFoot_t m_foot; // 0x40 }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CAudioAnimTag : public CAnimTagBase { public: // MPropertyFriendlyName "Sound Event" // MPropertyAttributeEditor "SoundPicker()" - CUtlString m_clipName; // 0x40 + CUtlString m_clipName; // 0x40 }; -// Aligment: 4 -// Size: 112 +// Alignment: 4 +// Size: 0x70 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 }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CSequenceFinishedAnimTag : public CAnimTagBase { public: // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x40 + CUtlString m_sequenceName; // 0x40 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CTaskStatusAnimTag : public CAnimTagBase { public: // MPropertyHideField - CUtlString m_identifierString; // 0x40 + CUtlString m_identifierString; // 0x40 }; -// Aligment: 4 -// Size: 104 +// Alignment: 4 +// Size: 0x68 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 }; -// Aligment: 6 -// Size: 104 +// Alignment: 6 +// Size: 0x68 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 }; -// Aligment: 4 -// Size: 104 +// Alignment: 4 +// Size: 0x68 class CParticleAnimTag : public CAnimTagBase { public: // MPropertyAttributeEditor "AssetBrowse( vpcf )" // MPropertyFriendlyName "Particle System" - CUtlString m_particleSystemName; // 0x40 + CUtlString m_particleSystemName; // 0x40 // MPropertyFriendlyName "Configuration" - CUtlString m_configName; // 0x48 + CUtlString m_configName; // 0x48 // MPropertyFriendlyName "Stop on Tag End" - bool m_bStopWhenTagEnds; // 0x50 + bool m_bStopWhenTagEnds; // 0x50 // MPropertyFriendlyName "Tag End Stop is Instant" - bool m_bTagEndStopIsInstant; // 0x51 + bool m_bTagEndStopIsInstant; // 0x51 }; -// Aligment: 4 -// Size: 104 +// Alignment: 4 +// Size: 0x68 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 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 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 }; -// Aligment: 2 -// Size: 120 +// Alignment: 2 +// Size: 0x78 class CBodyGroupAnimTag : public CAnimTagBase { public: // MPropertyFriendlyName "Priority" - int32_t m_nPriority; // 0x48 + int32_t m_nPriority; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: // MPropertyFriendlyName "Body Group Settings" - CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x50 + CUtlVector< CBodyGroupSetting > m_bodyGroupSettings; // 0x50 }; -// Aligment: 3 -// Size: 80 +// Alignment: 3 +// Size: 0x50 class CMotionClip { public: // MPropertySuppressField - CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 + CUtlVector< CSmartPtr< CAnimTagSpan > > m_tagSpans; // 0x20 // MPropertyFriendlyName "Sequence" // MPropertyAttributeChoiceName "Sequence" - CUtlString m_sequenceName; // 0x38 + CUtlString m_sequenceName; // 0x38 // MPropertyFriendlyName "Loop" - bool m_bLoop; // 0x40 + bool m_bLoop; // 0x40 }; -// Aligment: 3 -// Size: 72 +// Alignment: 3 +// Size: 0x48 class CMotionClipGroup { public: // MPropertyHideField - CUtlVector< CSmartPtr< CMotionClip > > m_clips; // 0x20 + CUtlVector< CSmartPtr< CMotionClip > > m_clips; // 0x20 // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x38 + CUtlString m_name; // 0x38 // MPropertyFriendlyName "Enable On Tag" // MPropertyAttributeChoiceName "Tag" - AnimTagID m_tagID; // 0x40 + AnimTagID m_tagID; // 0x40 }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CMotionMetricBase { public: // MPropertyHideField - float m_flWeight; // 0x20 + float m_flWeight; // 0x20 }; -// Aligment: 1 -// Size: 64 +// Alignment: 1 +// Size: 0x40 class CFootCycleMetric : public CMotionMetricBase { public: // MPropertyFriendlyName "Foot" // MPropertyAttributeChoiceName "Foot" // MPropertyAutoExpandSelf - CUtlVector< CUtlString > m_feet; // 0x28 + CUtlVector< CUtlString > m_feet; // 0x28 }; -// Aligment: 0 -// Size: 40 +// Alignment: 0 +// Size: 0x28 class CCurrentVelocityMetric : public CMotionMetricBase { public: -// + // no members available }; -// Aligment: 4 -// Size: 80 +// 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 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CFutureFacingMetric : public CMotionMetricBase { public: // MPropertyFriendlyName "Distance" - float m_flDistance; // 0x28 + float m_flDistance; // 0x28 }; -// Aligment: 5 -// Size: 56 +// 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 "Ignore Direction" - bool m_bIgnoreDirection; // 0x30 + bool m_bIgnoreDirection; // 0x30 // MPropertyFriendlyName "Auto-Calculate target speed" // MPropertyAttrChangeCallback - 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 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CBonePositionMetric : public CMotionMetricBase { public: // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x28 + CUtlString m_boneName; // 0x28 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CBoneVelocityMetric : public CMotionMetricBase { public: // MPropertyFriendlyName "Bone" // MPropertyAttributeChoiceName "Bone" - CUtlString m_boneName; // 0x28 + CUtlString m_boneName; // 0x28 }; -// Aligment: 7 -// Size: 72 +// 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 }; -// Aligment: 2 -// Size: 72 +// 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 }; -// Aligment: 4 -// Size: 56 +// 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 }; -// Aligment: 2 -// Size: 72 +// 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 }; -// Aligment: 5 -// Size: 112 +// Alignment: 5 +// Size: 0x70 class CScriptModule { public: - CUtlString m_moduleName; // 0x10 - CUtlString m_entryFunctionSignature; // 0x18 - CAnimNodePath m_nodePath; // 0x20 - AnimComponentID m_componentID; // 0x50 - CUtlVector< char > m_byteCode; // 0x58 + CUtlString m_moduleName; // 0x10 + CUtlString m_entryFunctionSignature; // 0x18 + CAnimNodePath m_nodePath; // 0x20 + AnimComponentID m_componentID; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 +public: + CUtlVector< char > m_byteCode; // 0x58 }; -// Aligment: 1 -// Size: 72 +// Alignment: 1 +// Size: 0x48 class CAnimScriptManager { public: - CUtlVector< CSmartPtr< CScriptModule > > m_compiledModules; // 0x10 + CUtlVector< CSmartPtr< CScriptModule > > m_compiledModules; // 0x10 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CAnimParamHandle { public: - AnimParamType_t m_type; // 0x0 - uint8_t m_index; // 0x4 + AnimParamType_t m_type; // 0x0 + uint8_t m_index; // 0x4 }; -// Aligment: 3 -// Size: 96 +// Alignment: 3 +// Size: 0x60 class CAnimReplayFrame { public: - CUtlBinaryBlock m_instanceData; // 0x10 - CTransform m_localToWorldTransform; // 0x30 - float m_timeStamp; // 0x50 + CUtlBinaryBlock m_instanceData; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 +public: + CTransform m_localToWorldTransform; // 0x30 + float m_timeStamp; // 0x50 }; -// Aligment: 5 -// Size: 136 +// Alignment: 5 +// Size: 0x88 class CAnimGraphDebugReplay { public: - CUtlString m_animGraphFileName; // 0x58 - CUtlVector< CSmartPtr< CAnimReplayFrame > > m_frameList; // 0x60 - int32_t m_startIndex; // 0x78 - int32_t m_writeIndex; // 0x7c - int32_t m_frameCount; // 0x80 + CUtlString m_animGraphFileName; // 0x58 + CUtlVector< CSmartPtr< CAnimReplayFrame > > m_frameList; // 0x60 + int32_t m_startIndex; // 0x78 + int32_t m_writeIndex; // 0x7c + int32_t m_frameCount; // 0x80 }; -// Aligment: 5 -// Size: 168 +// Alignment: 5 +// Size: 0xa8 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 + 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 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CAnimTagManagerUpdater { public: - CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 + CUtlVector< CSmartPtr< CAnimTagBase > > m_tags; // 0x18 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 class CAnimComponentUpdater { public: - AnimComponentID m_id; // 0x18 - AnimNodeNetworkMode m_networkMode; // 0x1c - bool m_bStartEnabled; // 0x20 + AnimComponentID m_id; // 0x18 + AnimNodeNetworkMode m_networkMode; // 0x1c + bool m_bStartEnabled; // 0x20 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CMovementMode { public: // MPropertyFriendlyName "Name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 // MPropertyFriendlyName "Top Speed" - float m_flSpeed; // 0x8 + float m_flSpeed; // 0x8 }; -// Aligment: 9 -// Size: 352 +// Alignment: 9 +// Size: 0x160 class CMovementComponentUpdater : public CAnimComponentUpdater { public: - CUtlVector< CMovementMode > m_movementModes; // 0x28 - CUtlVector< CSmartPtr< CAnimMotorUpdaterBase > > m_motors; // 0x40 - CAnimInputDamping m_facingDamping; // 0x58 - FacingMode m_eDefaultFacingMode; // 0x70 - int32_t m_nDefaultMotorIndex; // 0x7c - bool m_bMoveVarsDisabled; // 0x80 - bool m_bNetworkPath; // 0x81 - bool m_bNetworkFacing; // 0x82 - CAnimParamHandle[27] m_paramHandles; // 0x84 + CUtlVector< CMovementMode > m_movementModes; // 0x28 + CUtlVector< CSmartPtr< CAnimMotorUpdaterBase > > m_motors; // 0x40 + CAnimInputDamping m_facingDamping; // 0x58 + 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 +private: + [[maybe_unused]] uint8_t __pad0083[0x1]; // 0x83 +public: + CAnimParamHandle m_paramHandles[27]; // 0x84 }; -// Aligment: 6 -// Size: 88 +// Alignment: 6 +// Size: 0x58 class CLookComponentUpdater : public CAnimComponentUpdater { public: - CAnimParamHandle m_hLookHeading; // 0x2c - CAnimParamHandle m_hLookPitch; // 0x34 - CAnimParamHandle m_hLookDirection; // 0x3c - CAnimParamHandle m_hLookTarget; // 0x44 - CAnimParamHandle m_hLookTargetWorldSpace; // 0x4c - bool m_bNetworkLookTarget; // 0x54 + CAnimParamHandle m_hLookHeading; // 0x2c + CAnimParamHandle m_hLookPitch; // 0x34 + CAnimParamHandle m_hLookDirection; // 0x3c + CAnimParamHandle m_hLookTarget; // 0x44 + CAnimParamHandle m_hLookTargetWorldSpace; // 0x4c + bool m_bNetworkLookTarget; // 0x54 }; -// Aligment: 6 -// Size: 96 +// Alignment: 6 +// Size: 0x60 class CSlopeComponentUpdater : public CAnimComponentUpdater { public: - CAnimParamHandle m_hSlopeAngle; // 0x2c - CAnimParamHandle m_hSlopeAngleFront; // 0x34 - CAnimParamHandle m_hSlopeAngleSide; // 0x3c - CAnimParamHandle m_hSlopeHeading; // 0x44 - CAnimParamHandle m_hSlopeNormal; // 0x4c - CAnimParamHandle m_hSlopeNormal_WorldSpace; // 0x54 + CAnimParamHandle m_hSlopeAngle; // 0x2c + CAnimParamHandle m_hSlopeAngleFront; // 0x34 + CAnimParamHandle m_hSlopeAngleSide; // 0x3c + CAnimParamHandle m_hSlopeHeading; // 0x44 + CAnimParamHandle m_hSlopeNormal; // 0x4c + CAnimParamHandle m_hSlopeNormal_WorldSpace; // 0x54 }; -// Aligment: 0 -// Size: 24 +// Alignment: 0 +// Size: 0x18 class CAnimActionUpdater { public: -// + // no members available }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 class CAnimMotorUpdaterBase { public: - CUtlString m_name; // 0x10 - bool m_bDefault; // 0x18 + CUtlString m_name; // 0x10 + bool m_bDefault; // 0x18 }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CPathAnimMotorUpdaterBase : public CAnimMotorUpdaterBase { public: - bool m_bLockToPath; // 0x20 + bool m_bLockToPath; // 0x20 }; -// Aligment: 0 -// Size: 40 -class CPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase, CAnimMotorUpdaterBase +// Alignment: 0 +// Size: 0x28 +class CPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase { public: -// + // no members available }; -// Aligment: 7 -// Size: 80 -class CDampedPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase, CAnimMotorUpdaterBase +// Alignment: 7 +// Size: 0x50 +class CDampedPathAnimMotorUpdater : public CPathAnimMotorUpdaterBase { public: - float m_flAnticipationTime; // 0x2c - float m_flMinSpeedScale; // 0x30 - CAnimParamHandle m_hAnticipationPosParam; // 0x34 - CAnimParamHandle m_hAnticipationHeadingParam; // 0x3c - float m_flSpringConstant; // 0x44 - float m_flMinSpringTension; // 0x48 - float m_flMaxSpringTension; // 0x4c + float m_flAnticipationTime; // 0x2c + float m_flMinSpeedScale; // 0x30 + CAnimParamHandle m_hAnticipationPosParam; // 0x34 + CAnimParamHandle m_hAnticipationHeadingParam; // 0x3c + float m_flSpringConstant; // 0x44 + float m_flMinSpringTension; // 0x48 + float m_flMaxSpringTension; // 0x4c }; -// Aligment: 6 -// Size: 88 +// Alignment: 6 +// Size: 0x58 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; // 0x4c - bool m_bUseAcceleration; // 0x54 + 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; // 0x4c + bool m_bUseAcceleration; // 0x54 }; -// Aligment: 6 -// Size: 20 +// Alignment: 6 +// Size: 0x14 class CStateNodeTransitionData { public: - CBlendCurve m_curve; // 0x0 - float m_blendDuration; // 0x8 - float m_resetCycleValue; // 0xc - bitfield:1 m_bReset; // 0x0 - bitfield:3 m_resetCycleOption; // 0x0 - bitfield:1 m_bForceFootPlant; // 0x0 + CBlendCurve m_curve; // 0x0 + float m_blendDuration; // 0x8 + float m_resetCycleValue; // 0xc + struct + { + uint8_t m_bReset: 1; + uint8_t m_resetCycleOption: 3; + uint8_t m_bForceFootPlant: 1; + uint8_t __pad2: 5; // @note: autoaligned + }; // 10 bits }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CStateNodeStateData { public: - CAnimUpdateNodeRef m_pChild; // 0x0 - bitfield:1 m_bExclusiveRootMotion; // 0x0 + CAnimUpdateNodeRef m_pChild; // 0x0 + struct + { + uint8_t m_bExclusiveRootMotion: 1; + uint8_t __pad3: 1; // @note: autoaligned + }; // 2 bits }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CAnimUpdateNodeRef { public: - int32_t m_nodeIndex; // 0x8 + int32_t m_nodeIndex; // 0x8 }; -// Aligment: 3 -// Size: 88 +// Alignment: 3 +// Size: 0x58 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 }; -// Aligment: 13 -// Size: 352 +// Alignment: 13 +// Size: 0x160 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; // 0x12c - bool m_bMatchTargetOrientation; // 0x134 - bool m_bAlwaysUseFallbackHinge; // 0x135 - VectorAligned m_vFallbackHingeAxis; // 0x140 - int32_t m_nFixedBoneIndex; // 0x150 - int32_t m_nMiddleBoneIndex; // 0x154 - int32_t m_nEndBoneIndex; // 0x158 + 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; // 0x12c + bool m_bMatchTargetOrientation; // 0x134 + bool m_bAlwaysUseFallbackHinge; // 0x135 +private: + [[maybe_unused]] uint8_t __pad0136[0xa]; // 0x136 +public: + VectorAligned m_vFallbackHingeAxis; // 0x140 + int32_t m_nFixedBoneIndex; // 0x150 + int32_t m_nMiddleBoneIndex; // 0x154 + int32_t m_nEndBoneIndex; // 0x158 }; -// Aligment: 6 -// Size: 136 +// 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 }; -// Aligment: 1 -// Size: 104 +// Alignment: 1 +// Size: 0x68 class CUnaryUpdateNode : public CAnimUpdateNodeBase { public: - CAnimUpdateNodeRef m_pChildNode; // 0x58 + CAnimUpdateNodeRef m_pChildNode; // 0x58 }; -// Aligment: 0 -// Size: 88 +// Alignment: 0 +// Size: 0x58 class CLeafUpdateNode : public CAnimUpdateNodeBase { public: -// + // no members available }; -// Aligment: 1 -// Size: 168 -class CSkeletalInputUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0xa8 +class CSkeletalInputUpdateNode : public CLeafUpdateNode { public: - SkeletalInputOpFixedSettings_t m_fixedOpData; // 0x58 + SkeletalInputOpFixedSettings_t m_fixedOpData; // 0x58 }; -// Aligment: 8 -// Size: 168 +// Alignment: 8 +// Size: 0xa8 class CSelectorUpdateNode : public CAnimUpdateNodeBase { public: - CUtlVector< CAnimUpdateNodeRef > m_children; // 0x58 - CUtlVector< int8 > m_tags; // 0x70 - CBlendCurve m_blendCurve; // 0x8c - float m_flBlendTime; // 0x94 - CAnimParamHandle m_hParameter; // 0x98 - 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 + float m_flBlendTime; // 0x94 + CAnimParamHandle m_hParameter; // 0x98 + SelectorTagBehavior_t m_eTagBehavior; // 0xa0 + bool m_bResetOnChange; // 0xa4 + bool m_bSyncCyclesOnChange; // 0xa5 }; -// Aligment: 8 -// Size: 232 -class CHitReactUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 8 +// Size: 0xe8 +class CHitReactUpdateNode : public CUnaryUpdateNode { public: - HitReactFixedSettings_t m_opFixedSettings; // 0x68 - CAnimParamHandle m_triggerParam; // 0xb4 - CAnimParamHandle m_hitBoneParam; // 0xbc - CAnimParamHandle m_hitOffsetParam; // 0xc4 - CAnimParamHandle m_hitDirectionParam; // 0xcc - CAnimParamHandle m_hitStrengthParam; // 0xd4 - float m_flMinDelayBetweenHits; // 0xdc - bool m_bResetChild; // 0xe0 + HitReactFixedSettings_t m_opFixedSettings; // 0x68 +private: + [[maybe_unused]] uint8_t __pad00ac[0x8]; // 0xac +public: + CAnimParamHandle m_triggerParam; // 0xb4 + CAnimParamHandle m_hitBoneParam; // 0xbc + CAnimParamHandle m_hitOffsetParam; // 0xc4 + CAnimParamHandle m_hitDirectionParam; // 0xcc + CAnimParamHandle m_hitStrengthParam; // 0xd4 + float m_flMinDelayBetweenHits; // 0xdc + bool m_bResetChild; // 0xe0 }; -// Aligment: 6 -// Size: 64 +// Alignment: 6 +// Size: 0x40 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 }; -// Aligment: 12 -// Size: 208 +// Alignment: 12 +// Size: 0xd0 class CBlend2DUpdateNode : public CAnimUpdateNodeBase { public: - CUtlVector< BlendItem_t > m_items; // 0x60 - CUtlVector< int32 > m_nodeItemIndices; // 0x78 - CAnimInputDamping m_damping; // 0x90 - AnimValueSource m_blendSourceX; // 0xa8 - CAnimParamHandle m_paramX; // 0xac - AnimValueSource m_blendSourceY; // 0xb4 - CAnimParamHandle m_paramY; // 0xb8 - Blend2DMode m_eBlendMode; // 0xc0 - float m_playbackSpeed; // 0xc4 - bool m_bLoop; // 0xc8 - bool m_bLockBlendOnReset; // 0xc9 - bool m_bLockWhenWaning; // 0xca + CUtlVector< BlendItem_t > m_items; // 0x60 + CUtlVector< int32 > m_nodeItemIndices; // 0x78 + CAnimInputDamping m_damping; // 0x90 + AnimValueSource m_blendSourceX; // 0xa8 + CAnimParamHandle m_paramX; // 0xac + AnimValueSource m_blendSourceY; // 0xb4 + CAnimParamHandle m_paramY; // 0xb8 + Blend2DMode m_eBlendMode; // 0xc0 + float m_playbackSpeed; // 0xc4 + bool m_bLoop; // 0xc8 + bool m_bLockBlendOnReset; // 0xc9 + bool m_bLockWhenWaning; // 0xca }; -// Aligment: 9 -// Size: 168 -class CFootAdjustmentUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 9 +// Size: 0xa8 +class CFootAdjustmentUpdateNode : public CUnaryUpdateNode { public: - CUtlVector< HSequence > m_clips; // 0x70 - StaticPoseCacheHandle m_hBasePoseCacheHandle; // 0x88 - CAnimParamHandle m_facingTarget; // 0x8c - float m_flTurnTimeMin; // 0x94 - float m_flTurnTimeMax; // 0x98 - float m_flStepHeightMax; // 0x9c - float m_flStepHeightMaxAngle; // 0xa0 - bool m_bResetChild; // 0xa4 - bool m_bAnimationDriven; // 0xa5 + CUtlVector< HSequence > m_clips; // 0x70 + StaticPoseCacheHandle m_hBasePoseCacheHandle; // 0x88 + CAnimParamHandle m_facingTarget; // 0x8c + float m_flTurnTimeMin; // 0x94 + float m_flTurnTimeMax; // 0x98 + float m_flStepHeightMax; // 0x9c + float m_flStepHeightMaxAngle; // 0xa0 + bool m_bResetChild; // 0xa4 + bool m_bAnimationDriven; // 0xa5 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct TraceSettings_t { public: - float m_flTraceHeight; // 0x0 - float m_flTraceRadius; // 0x4 + float m_flTraceHeight; // 0x0 + float m_flTraceRadius; // 0x4 }; -// Aligment: 10 -// Size: 64 +// Alignment: 10 +// Size: 0x40 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 }; -// Aligment: 20 -// Size: 328 -class CFootLockUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 20 +// Size: 0x148 +class CFootLockUpdateNode : public CUnaryUpdateNode { public: - FootLockPoseOpFixedSettings m_opFixedSettings; // 0x68 - CUtlVector< FootFixedSettings > m_footSettings; // 0xd0 - CAnimInputDamping m_hipShiftDamping; // 0xe8 - CAnimInputDamping m_rootHeightDamping; // 0x100 - float m_flStrideCurveScale; // 0x118 - float m_flStrideCurveLimitScale; // 0x11c - float m_flStepHeightIncreaseScale; // 0x120 - float m_flStepHeightDecreaseScale; // 0x124 - float m_flHipShiftScale; // 0x128 - float m_flBlendTime; // 0x12c - float m_flMaxRootHeightOffset; // 0x130 - float m_flMinRootHeightOffset; // 0x134 - float m_flTiltPlanePitchSpringStrength; // 0x138 - float m_flTiltPlaneRollSpringStrength; // 0x13c - bool m_bApplyFootRotationLimits; // 0x140 - bool m_bApplyHipShift; // 0x141 - bool m_bModulateStepHeight; // 0x142 - bool m_bResetChild; // 0x143 - bool m_bEnableVerticalCurvedPaths; // 0x144 - bool m_bEnableRootHeightDamping; // 0x145 + 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; // 0x100 + float m_flStrideCurveScale; // 0x118 + float m_flStrideCurveLimitScale; // 0x11c + float m_flStepHeightIncreaseScale; // 0x120 + float m_flStepHeightDecreaseScale; // 0x124 + float m_flHipShiftScale; // 0x128 + float m_flBlendTime; // 0x12c + float m_flMaxRootHeightOffset; // 0x130 + float m_flMinRootHeightOffset; // 0x134 + float m_flTiltPlanePitchSpringStrength; // 0x138 + float m_flTiltPlaneRollSpringStrength; // 0x13c + bool m_bApplyFootRotationLimits; // 0x140 + bool m_bApplyHipShift; // 0x141 + bool m_bModulateStepHeight; // 0x142 + bool m_bResetChild; // 0x143 + bool m_bEnableVerticalCurvedPaths; // 0x144 + bool m_bEnableRootHeightDamping; // 0x145 }; -// Aligment: 13 -// Size: 184 -class CFollowPathUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 13 +// Size: 0xb8 +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; // 0xa0 - CAnimParamHandle m_hParam; // 0xa4 - float m_flTurnToFaceOffset; // 0xac - bool m_bTurnToFace; // 0xb0 + 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; // 0xa0 + CAnimParamHandle m_hParam; // 0xa4 + float m_flTurnToFaceOffset; // 0xac + bool m_bTurnToFace; // 0xb0 }; -// Aligment: 23 -// Size: 256 -class CMotionMatchingUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 23 +// Size: 0x100 +class CMotionMatchingUpdateNode : public CLeafUpdateNode { public: - CMotionDataSet m_dataSet; // 0x58 - CUtlVector< CSmartPtr< CMotionMetricEvaluator > > m_metrics; // 0x78 - bool m_bSearchAtInterval; // 0x98 - float m_flSearchInterval; // 0x9c - bool m_bSearchOnSteps; // 0xa0 - bool m_bForceSearchWhenTagsChange; // 0xa1 - bool m_bSearchWhenClipEnds; // 0xa2 - bool m_bSearchWhenGoalChanges; // 0xa3 - CBlendCurve m_blendCurve; // 0xa4 - float m_flPredictionTime; // 0xac - float m_flSampleRate; // 0xb0 - float m_flBlendTime; // 0xb4 - bool m_bLockClipWhenWaning; // 0xb8 - float m_flSelectionThreshold; // 0xbc - bool m_bGoalAssist; // 0xc0 - float m_flGoalAssistDistance; // 0xc4 - float m_flGoalAssistTolerance; // 0xc8 - CAnimInputDamping m_distanceScale_Damping; // 0xd0 - float m_flDistanceScale_OuterRadius; // 0xe8 - float m_flDistanceScale_InnerRadius; // 0xec - float m_flDistanceScale_MaxScale; // 0xf0 - float m_flDistanceScale_MinScale; // 0xf4 - bool m_bEnableDistanceScaling; // 0xf8 + CMotionDataSet m_dataSet; // 0x58 + CUtlVector< CSmartPtr< CMotionMetricEvaluator > > m_metrics; // 0x78 +private: + [[maybe_unused]] uint8_t __pad0090[0x8]; // 0x90 +public: + bool m_bSearchAtInterval; // 0x98 +private: + [[maybe_unused]] uint8_t __pad0099[0x3]; // 0x99 +public: + float m_flSearchInterval; // 0x9c + bool m_bSearchOnSteps; // 0xa0 + bool m_bForceSearchWhenTagsChange; // 0xa1 + bool m_bSearchWhenClipEnds; // 0xa2 + bool m_bSearchWhenGoalChanges; // 0xa3 + CBlendCurve m_blendCurve; // 0xa4 + float m_flPredictionTime; // 0xac + float m_flSampleRate; // 0xb0 + float m_flBlendTime; // 0xb4 + bool m_bLockClipWhenWaning; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 +public: + float m_flSelectionThreshold; // 0xbc + bool m_bGoalAssist; // 0xc0 +private: + [[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1 +public: + float m_flGoalAssistDistance; // 0xc4 + float m_flGoalAssistTolerance; // 0xc8 +private: + [[maybe_unused]] uint8_t __pad00cc[0x4]; // 0xcc +public: + CAnimInputDamping m_distanceScale_Damping; // 0xd0 + float m_flDistanceScale_OuterRadius; // 0xe8 + float m_flDistanceScale_InnerRadius; // 0xec + float m_flDistanceScale_MaxScale; // 0xf0 + float m_flDistanceScale_MinScale; // 0xf4 + bool m_bEnableDistanceScaling; // 0xf8 }; -// Aligment: 2 -// Size: 112 -class CSetFacingUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x70 +class CSetFacingUpdateNode : public CUnaryUpdateNode { public: - FacingMode m_facingMode; // 0x68 - bool m_bResetChild; // 0x6c + FacingMode m_facingMode; // 0x68 + bool m_bResetChild; // 0x6c }; -// Aligment: 5 -// Size: 152 -class CStopAtGoalUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 5 +// Size: 0x98 +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 }; -// Aligment: 1 -// Size: 136 -class CJiggleBoneUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x88 +class CJiggleBoneUpdateNode : public CUnaryUpdateNode { public: - JiggleBoneSettingsList_t m_opFixedData; // 0x68 + JiggleBoneSettingsList_t m_opFixedData; // 0x68 }; -// Aligment: 1 -// Size: 96 -class CSingleFrameUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x60 +class CSingleFrameUpdateNode : public CLeafUpdateNode { public: - StaticPoseCacheHandle m_hPoseCacheHandle; // 0x58 + StaticPoseCacheHandle m_hPoseCacheHandle; // 0x58 }; -// Aligment: 0 -// Size: 96 -class CInputStreamUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 0 +// Size: 0x60 +class CInputStreamUpdateNode : public CLeafUpdateNode { public: -// + // no members available }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 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 }; -// Aligment: 2 -// Size: 136 -class CFootStepTriggerUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x88 +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 }; -// Aligment: 3 -// Size: 16 +// Alignment: 3 +// Size: 0x10 class CompValues { public: - float m_fixedValue; // 0x0 - ControlValue m_controlValue; // 0x4 - CAnimParamHandle m_paramIndex; // 0x8 + float m_fixedValue; // 0x0 + ControlValue m_controlValue; // 0x4 + CAnimParamHandle m_paramIndex; // 0x8 }; -// Aligment: 0 -// Size: 16 +// Alignment: 0 +// Size: 0x10 class ConditionUpdater { public: -// + // no members available }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 class CParamConditionUpdater : public ConditionUpdater { public: - CAnimParamHandle m_paramIndex; // 0x10 - CAnimVariant m_comparisonValue; // 0x18 - Comparison_t m_operation; // 0x2c + CAnimParamHandle m_paramIndex; // 0x10 + CAnimVariant m_comparisonValue; // 0x18 + Comparison_t m_operation; // 0x2c }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 class CTagConditionUpdater : public ConditionUpdater { public: - Comparison_t m_operation; // 0x10 - int32_t m_tagIndex; // 0x14 - bool m_comparisonValue; // 0x18 + Comparison_t m_operation; // 0x10 + int32_t m_tagIndex; // 0x14 + bool m_comparisonValue; // 0x18 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 class CCycleConditionUpdater : public ConditionUpdater { public: - CompValues m_comparisonValue; // 0x10 - ComparisonValueType m_comparisonValueType; // 0x20 - Comparison_t m_operation; // 0x24 + CompValues m_comparisonValue; // 0x10 + ComparisonValueType m_comparisonValueType; // 0x20 + Comparison_t m_operation; // 0x24 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CFinishedConditionUpdater : public ConditionUpdater { public: - FinishedConditionOption m_option; // 0x10 - bool m_bIsFinished; // 0x14 + FinishedConditionOption m_option; // 0x10 + bool m_bIsFinished; // 0x14 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CForceFacingConditionUpdater : public ConditionUpdater { public: - Comparison_t m_comparisonOperation; // 0x10 - bool m_bComparisonValue; // 0x14 + Comparison_t m_comparisonOperation; // 0x10 + bool m_bComparisonValue; // 0x14 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CFacingHeadingConditionUpdater : public ConditionUpdater { public: - float m_comparisonValue; // 0x10 - Comparison_t m_operation; // 0x14 + float m_comparisonValue; // 0x10 + Comparison_t m_operation; // 0x14 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CPathStatusConditionUpdater : public ConditionUpdater { public: - PathStatusOptions m_optionToCheck; // 0x10 - bool m_bComparisonValue; // 0x14 + PathStatusOptions m_optionToCheck; // 0x10 + bool m_bComparisonValue; // 0x14 }; -// Aligment: 4 -// Size: 48 +// Alignment: 4 +// Size: 0x30 class CControlValueConditionUpdater : public ConditionUpdater { public: - CompValues m_comparison; // 0x10 - ControlValue m_sourceControlValue; // 0x20 - ComparisonValueType m_comparisonValueType; // 0x24 - Comparison_t m_operation; // 0x28 + CompValues m_comparison; // 0x10 + ControlValue m_sourceControlValue; // 0x20 + ComparisonValueType m_comparisonValueType; // 0x24 + Comparison_t m_operation; // 0x28 }; -// Aligment: 3 -// Size: 16 +// Alignment: 3 +// Size: 0x10 class StateComparisonValue { public: - float m_fixedValue; // 0x0 - StateValue m_stateValue; // 0x4 - CAnimParamHandle m_paramIndex; // 0x8 + float m_fixedValue; // 0x0 + StateValue m_stateValue; // 0x4 + CAnimParamHandle m_paramIndex; // 0x8 }; -// Aligment: 4 -// Size: 48 +// Alignment: 4 +// Size: 0x30 class CStateStatusConditionUpdater : public ConditionUpdater { public: - StateComparisonValue m_comparisonValue; // 0x10 - StateValue m_sourceValue; // 0x20 - ComparisonValueType m_comparisonValueType; // 0x24 - Comparison_t m_operation; // 0x28 + StateComparisonValue m_comparisonValue; // 0x10 + StateValue m_sourceValue; // 0x20 + ComparisonValueType m_comparisonValueType; // 0x24 + Comparison_t m_operation; // 0x28 }; -// Aligment: 5 -// Size: 40 +// Alignment: 5 +// Size: 0x28 class CTimeConditionUpdater : public ConditionUpdater { public: - Comparison_t m_comparisonOperation; // 0x10 - ComparisonValueType m_comparisonValueType; // 0x14 - float m_flComparisonValue; // 0x18 - ControlValue m_comparisonControlValue; // 0x1c - CAnimParamHandle m_comparisonParamIndex; // 0x20 + Comparison_t m_comparisonOperation; // 0x10 + ComparisonValueType m_comparisonValueType; // 0x14 + float m_flComparisonValue; // 0x18 + ControlValue m_comparisonControlValue; // 0x1c + CAnimParamHandle m_comparisonParamIndex; // 0x20 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CGroundConditionUpdater : public ConditionUpdater { public: - Comparison_t m_comparisonOperation; // 0x10 - bool m_bComparisonValue; // 0x14 + Comparison_t m_comparisonOperation; // 0x10 + bool m_bComparisonValue; // 0x14 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc class ClipSampleInfo { public: - ClipIndex m_clipIndex; // 0x0 - float m_clipCycle; // 0x4 - uint16_t m_clipSampleIndex; // 0x8 + ClipIndex m_clipIndex; // 0x0 + float m_clipCycle; // 0x4 + uint16_t m_clipSampleIndex; // 0x8 }; -// Aligment: 6 -// Size: 48 +// Alignment: 6 +// Size: 0x30 class ClipInfo { public: - CUtlVector< TagSpan_t > m_tags; // 0x0 - HSequence m_hSequence; // 0x18 - float m_flDuration; // 0x1c - int32_t m_nFirstSampleIndex; // 0x20 - int32_t m_nSampleCount; // 0x24 - bool m_bLoop; // 0x28 + CUtlVector< TagSpan_t > m_tags; // 0x0 + HSequence m_hSequence; // 0x18 + float m_flDuration; // 0x1c + int32_t m_nFirstSampleIndex; // 0x20 + int32_t m_nSampleCount; // 0x24 + bool m_bLoop; // 0x28 }; -// Aligment: 4 -// Size: 80 +// Alignment: 4 +// Size: 0x50 class CMotionClipGroupData { public: - CUtlVector< ClipInfo > m_clips; // 0x0 - CUtlVector< ClipSampleInfo > m_samplePoints; // 0x18 - CUtlVector< float32 > m_samplePointVectors; // 0x30 - int32_t m_activeTagIndex; // 0x48 + CUtlVector< ClipInfo > m_clips; // 0x0 + CUtlVector< ClipSampleInfo > m_samplePoints; // 0x18 + CUtlVector< float32 > m_samplePointVectors; // 0x30 + int32_t m_activeTagIndex; // 0x48 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 class CMotionDataSet { public: - CUtlVector< CMotionClipGroupData > m_clipGroups; // 0x0 - int32_t m_nDimensionCount; // 0x18 + CUtlVector< CMotionClipGroupData > m_clipGroups; // 0x0 + int32_t m_nDimensionCount; // 0x18 }; -// Aligment: 3 -// Size: 80 +// Alignment: 3 +// Size: 0x50 class CMotionMetricEvaluator { public: - CUtlVector< float32 > m_means; // 0x18 - CUtlVector< float32 > m_standardDeviations; // 0x30 - float m_flWeight; // 0x48 + CUtlVector< float32 > m_means; // 0x18 + CUtlVector< float32 > m_standardDeviations; // 0x30 + float m_flWeight; // 0x48 }; -// Aligment: 1 -// Size: 104 +// Alignment: 1 +// Size: 0x68 class CFootCycleMetricEvaluator : public CMotionMetricEvaluator { public: - CUtlVector< int32 > m_footIndices; // 0x50 + CUtlVector< int32 > m_footIndices; // 0x50 }; -// Aligment: 0 -// Size: 80 +// Alignment: 0 +// Size: 0x50 class CCurrentVelocityMetricEvaluator : public CMotionMetricEvaluator { public: -// + // no members available }; -// Aligment: 4 -// Size: 120 +// 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 }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CFutureFacingMetricEvaluator : public CMotionMetricEvaluator { public: - float m_flDistance; // 0x50 + float m_flDistance; // 0x50 }; -// Aligment: 4 -// Size: 96 +// Alignment: 4 +// Size: 0x60 class CFutureVelocityMetricEvaluator : public CMotionMetricEvaluator { public: - float m_flDistance; // 0x50 - float m_flStoppingDistance; // 0x54 - float m_flTargetSpeed; // 0x58 - bool m_bIgnoreDirection; // 0x5c + float m_flDistance; // 0x50 + float m_flStoppingDistance; // 0x54 + float m_flTargetSpeed; // 0x58 + bool m_bIgnoreDirection; // 0x5c }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CBonePositionMetricEvaluator : public CMotionMetricEvaluator { public: - int32_t m_nBoneIndex; // 0x50 + int32_t m_nBoneIndex; // 0x50 }; -// Aligment: 1 -// Size: 88 +// Alignment: 1 +// Size: 0x58 class CBoneVelocityMetricEvaluator : public CMotionMetricEvaluator { public: - int32_t m_nBoneIndex; // 0x50 + int32_t m_nBoneIndex; // 0x50 }; -// Aligment: 7 -// Size: 104 +// 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 }; -// Aligment: 2 -// Size: 112 +// 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 }; -// Aligment: 4 -// Size: 96 +// 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 }; -// Aligment: 2 -// Size: 112 +// 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 }; -// Aligment: 8 -// Size: 224 +// Alignment: 8 +// Size: 0xe0 struct AimMatrixOpFixedSettings_t { public: - CAnimAttachment m_attachment; // 0x0 - CAnimInputDamping m_damping; // 0x80 - StaticPoseCacheHandle[10] m_poseCacheHandles; // 0x98 - AimMatrixBlendMode m_eBlendMode; // 0xc0 - float m_fAngleIncrement; // 0xc4 - int32_t m_nSequenceMaxFrame; // 0xc8 - int32_t m_nBoneMaskIndex; // 0xcc - bool m_bTargetIsPosition; // 0xd0 + CAnimAttachment m_attachment; // 0x0 + CAnimInputDamping m_damping; // 0x80 + StaticPoseCacheHandle m_poseCacheHandles[10]; // 0x98 + AimMatrixBlendMode m_eBlendMode; // 0xc0 + float m_fAngleIncrement; // 0xc4 + int32_t m_nSequenceMaxFrame; // 0xc8 + int32_t m_nBoneMaskIndex; // 0xcc + bool m_bTargetIsPosition; // 0xd0 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct LookAtBone_t { public: - int32_t m_index; // 0x0 - float m_weight; // 0x4 + int32_t m_index; // 0x0 + float m_weight; // 0x4 }; -// Aligment: 9 -// Size: 208 +// Alignment: 9 +// Size: 0xd0 struct LookAtOpFixedSettings_t { public: - CAnimAttachment m_attachment; // 0x0 - CAnimInputDamping m_damping; // 0x80 - CUtlVector< LookAtBone_t > m_bones; // 0x98 - float m_flYawLimit; // 0xb0 - float m_flPitchLimit; // 0xb4 - float m_flHysteresisInnerAngle; // 0xb8 - float m_flHysteresisOuterAngle; // 0xbc - bool m_bTargetIsPosition; // 0xc0 - bool m_bUseHysteresis; // 0xc1 + CAnimAttachment m_attachment; // 0x0 + CAnimInputDamping m_damping; // 0x80 + CUtlVector< LookAtBone_t > m_bones; // 0x98 + float m_flYawLimit; // 0xb0 + float m_flPitchLimit; // 0xb4 + float m_flHysteresisInnerAngle; // 0xb8 + float m_flHysteresisOuterAngle; // 0xbc + bool m_bTargetIsPosition; // 0xc0 + bool m_bUseHysteresis; // 0xc1 }; -// Aligment: 4 -// Size: 144 +// Alignment: 4 +// Size: 0x90 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 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct FingerSource_t { public: - AnimVRFinger_t m_nFingerIndex; // 0x0 - float m_flFingerWeight; // 0x4 + AnimVRFinger_t m_nFingerIndex; // 0x0 + float m_flFingerWeight; // 0x4 }; -// Aligment: 7 -// Size: 52 +// Alignment: 7 +// Size: 0x34 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 }; -// Aligment: 9 -// Size: 96 +// Alignment: 9 +// Size: 0x60 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 }; -// Aligment: 2 -// Size: 48 +// Alignment: 2 +// Size: 0x30 struct WristBone_t { public: - CTransform m_xOffsetTransformMS; // 0x0 - int32_t m_boneIndex; // 0x20 + CTransform m_xOffsetTransformMS; // 0x0 + int32_t m_boneIndex; // 0x20 }; -// Aligment: 9 -// Size: 72 +// 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 + 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 }; -// Aligment: 17 -// Size: 68 +// Alignment: 17 +// Size: 0x44 struct HitReactFixedSettings_t { 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 + 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 }; -// Aligment: 7 -// Size: 64 +// Alignment: 7 +// Size: 0x40 class FootOpFixedInfo { 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 + 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 }; -// Aligment: 15 -// Size: 96 +// Alignment: 15 +// Size: 0x60 class FootLockPoseOpFixedSettings { public: - CUtlVector< FootOpFixedInfo > m_footInfo; // 0x0 - CAnimInputDamping m_hipDampingSettings; // 0x18 - int32_t m_nHipBoneIndex; // 0x30 - IKSolverType m_ikSolverType; // 0x34 - bool m_bApplyTilt; // 0x38 - bool m_bApplyHipDrop; // 0x39 - bool m_bAlwaysUseFallbackHinge; // 0x3a - float m_flMaxFootHeight; // 0x3c - float m_flExtensionScale; // 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< FootOpFixedInfo > m_footInfo; // 0x0 + CAnimInputDamping m_hipDampingSettings; // 0x18 + int32_t m_nHipBoneIndex; // 0x30 + IKSolverType m_ikSolverType; // 0x34 + bool m_bApplyTilt; // 0x38 + bool m_bApplyHipDrop; // 0x39 + bool m_bAlwaysUseFallbackHinge; // 0x3a +private: + [[maybe_unused]] uint8_t __pad003b[0x1]; // 0x3b +public: + float m_flMaxFootHeight; // 0x3c + float m_flExtensionScale; // 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 }; -// Aligment: 6 -// Size: 80 +// Alignment: 6 +// Size: 0x50 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 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 struct SolveIKChainPoseOpFixedSettings_t { public: - CUtlVector< ChainToSolveData_t > m_ChainsToSolveData; // 0x0 + CUtlVector< ChainToSolveData_t > m_ChainsToSolveData; // 0x0 }; -// Aligment: 7 -// Size: 44 +// Alignment: 7 +// Size: 0x2c 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 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 struct JiggleBoneSettingsList_t { public: - CUtlVector< JiggleBoneSettings_t > m_boneSettings; // 0x0 + CUtlVector< JiggleBoneSettings_t > m_boneSettings; // 0x0 }; -// Aligment: 5 -// Size: 120 +// 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 + 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 }; -// Aligment: 10 -// Size: 160 +// 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 - 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 }; -// Aligment: 8 -// Size: 160 +// 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 + 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 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct VPhysXRange_t { public: - float m_flMin; // 0x0 - float m_flMax; // 0x4 + float m_flMin; // 0x0 + float m_flMax; // 0x4 }; -// Aligment: 46 -// Size: 248 +// Alignment: 46 +// Size: 0xf8 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 - Quaternion[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 - Quaternion 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 + Quaternion 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 + Quaternion 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 }; -// Aligment: 4 -// Size: 256 +// Alignment: 4 +// Size: 0x100 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 }; -// Aligment: 23 -// Size: 176 +// Alignment: 23 +// Size: 0xb0 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 + 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 }; -// Aligment: 6 -// Size: 144 +// Alignment: 6 +// Size: 0x90 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 }; -// Aligment: 16 -// Size: 312 +// Alignment: 16 +// Size: 0x138 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 }; -// Aligment: 5 -// Size: 20 +// Alignment: 5 +// Size: 0x14 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 "dampening" - float m_dampening; // 0x10 + float m_dampening; // 0x10 }; -// Aligment: 10 -// Size: 40 +// Alignment: 10 +// Size: 0x28 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 "lowPitchOcclusion" - float m_flLowPitchOcclusion; // 0x1c + float m_flLowPitchOcclusion; // 0x1c // MKV3TransferName "midPitchOcclusion" - float m_flMidPitchOcclusion; // 0x20 + float m_flMidPitchOcclusion; // 0x20 // MKV3TransferName "highPitchOcclusion" - float m_flHighPitchOcclusion; // 0x24 + float m_flHighPitchOcclusion; // 0x24 }; -// Aligment: 8 -// Size: 64 +// Alignment: 8 +// Size: 0x40 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 }; -// Aligment: 8 -// Size: 168 +// Alignment: 8 +// Size: 0xa8 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 __pad003c[0x4]; // 0x3c +public: // MKV3TransferName "audiosounds" - CPhysSurfacePropertiesSoundNames m_audioSounds; // 0x40 + CPhysSurfacePropertiesSoundNames m_audioSounds; // 0x40 // MKV3TransferName "audioparams" - CPhysSurfacePropertiesAudio m_audioParams; // 0x80 + CPhysSurfacePropertiesAudio m_audioParams; // 0x80 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CVPhysXSurfacePropertiesList { public: // MKV3TransferName "SurfacePropertiesList" - CUtlVector< CPhysSurfaceProperties* > m_surfacePropertiesList; // 0x0 + CUtlVector< CPhysSurfaceProperties* > m_surfacePropertiesList; // 0x0 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 struct MaterialGroup_t { public: - CUtlString m_name; // 0x0 - CUtlVector< CStrongHandle< InfoForResourceTypeIMaterial2 > > m_materials; // 0x8 + CUtlString m_name; // 0x0 + CUtlVector< CStrongHandle< InfoForResourceTypeIMaterial2 > > m_materials; // 0x8 }; -// Aligment: 6 -// Size: 144 +// Alignment: 6 +// Size: 0x90 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< Quaternion > m_boneRotParent; // 0x78 + 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< Quaternion > m_boneRotParent; // 0x78 }; -// Aligment: 10 -// Size: 88 +// Alignment: 10 +// Size: 0x58 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 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 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 }; -// Aligment: 5 -// Size: 32 +// Alignment: 5 +// Size: 0x20 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 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 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 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct PermModelDataAnimatedMaterialAttribute_t { public: - CUtlString m_AttributeName; // 0x0 - int32_t m_nNumChannels; // 0x8 + CUtlString m_AttributeName; // 0x0 + int32_t m_nNumChannels; // 0x8 }; -// Aligment: 23 -// Size: 688 +// Alignment: 23 +// Size: 0x2b0 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; // 0x218 - CUtlVector< uint16 > m_remappingTableStarts; // 0x230 - CUtlVector< ModelBoneFlexDriver_t > m_boneFlexDrivers; // 0x248 - CModelConfigList* m_pModelConfigList; // 0x260 - CUtlVector< CUtlString > m_BodyGroupsHiddenInTools; // 0x268 - CUtlVector< CStrongHandle< InfoForResourceTypeCModel > > m_refAnimIncludeModels; // 0x280 - CUtlVector< PermModelDataAnimatedMaterialAttribute_t > m_AnimatedMaterialAttributes; // 0x298 + 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; // 0x218 + CUtlVector< uint16 > m_remappingTableStarts; // 0x230 + CUtlVector< ModelBoneFlexDriver_t > m_boneFlexDrivers; // 0x248 + CModelConfigList* m_pModelConfigList; // 0x260 + CUtlVector< CUtlString > m_BodyGroupsHiddenInTools; // 0x268 + CUtlVector< CStrongHandle< InfoForResourceTypeCModel > > m_refAnimIncludeModels; // 0x280 + CUtlVector< PermModelDataAnimatedMaterialAttribute_t > m_AnimatedMaterialAttributes; // 0x298 }; -// Aligment: 1 -// Size: 1 +// Alignment: 1 +// Size: 0x1 struct AttachmentHandle_t { public: - uint8_t m_nBoxedTypeSafeInt; // 0x0 + uint8_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 2 -// Size: 72 +// Alignment: 2 +// Size: 0x48 class CModelConfigElement { public: - CUtlString m_ElementName; // 0x8 - CUtlVector< CModelConfigElement* > m_NestedElements; // 0x10 + CUtlString m_ElementName; // 0x8 + CUtlVector< CModelConfigElement* > m_NestedElements; // 0x10 }; -// Aligment: 14 -// Size: 232 +// 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 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CModelConfigElement_UserPick : public CModelConfigElement { public: - CUtlVector< CUtlString > m_Choices; // 0x48 + CUtlVector< CUtlString > m_Choices; // 0x48 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CModelConfigElement_RandomPick : public CModelConfigElement { public: - CUtlVector< CUtlString > m_Choices; // 0x48 + CUtlVector< CUtlString > m_Choices; // 0x48 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CModelConfigElement_SetMaterialGroup : public CModelConfigElement { public: - CUtlString m_MaterialGroupName; // 0x48 + CUtlString m_MaterialGroupName; // 0x48 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CModelConfigElement_SetMaterialGroupOnAttachedModels : public CModelConfigElement { public: - CUtlString m_MaterialGroupName; // 0x48 + CUtlString m_MaterialGroupName; // 0x48 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CModelConfigElement_SetRenderColor : public CModelConfigElement { public: - Color m_Color; // 0x48 + Color m_Color; // 0x48 }; -// Aligment: 1 -// Size: 96 +// Alignment: 1 +// Size: 0x60 class CModelConfigElement_RandomColor : public CModelConfigElement { public: - CColorGradient m_Gradient; // 0x48 + CColorGradient m_Gradient; // 0x48 }; -// Aligment: 2 -// Size: 88 +// 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 }; -// Aligment: 2 -// Size: 88 +// 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 }; -// Aligment: 2 -// Size: 96 +// 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 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 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 }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 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 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CRenderBufferBinding { public: - uint64_t m_hBuffer; // 0x0 - uint32_t m_nBindOffsetBytes; // 0x8 + uint64_t m_hBuffer; // 0x0 + uint32_t m_nBindOffsetBytes; // 0x8 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 struct SkeletonBoneBounds_t { public: - Vector m_vecCenter; // 0x0 - Vector m_vecSize; // 0xc + Vector m_vecCenter; // 0x0 + Vector m_vecSize; // 0xc }; -// Aligment: 5 -// Size: 96 +// Alignment: 5 +// Size: 0x60 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 }; -// Aligment: 3 -// Size: 80 +// Alignment: 3 +// Size: 0x50 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 }; -// Aligment: 3 -// Size: 16 +// Alignment: 3 +// Size: 0x10 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 }; -// Aligment: 14 -// Size: 208 +// Alignment: 14 +// Size: 0xd0 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 - int32_t m_nStartInstance; // 0x14 - int32_t m_nInstanceCount; // 0x18 - float m_flUvDensity; // 0x1c - Vector m_vTintColor; // 0x20 - float m_flAlpha; // 0x2c - int16_t m_CullDataIndex; // 0x36 - int32_t m_nMeshID; // 0x38 - CRenderBufferBinding m_indexBuffer; // 0xa8 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_material; // 0xc8 + 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 + int32_t m_nStartInstance; // 0x14 + int32_t m_nInstanceCount; // 0x18 + float m_flUvDensity; // 0x1c + Vector m_vTintColor; // 0x20 + float m_flAlpha; // 0x2c +private: + [[maybe_unused]] uint8_t __pad0030[0x6]; // 0x30 +public: + int16_t m_CullDataIndex; // 0x36 + int32_t m_nMeshID; // 0x38 +private: + [[maybe_unused]] uint8_t __pad003c[0x6c]; // 0x3c +public: + CRenderBufferBinding m_indexBuffer; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00b8[0x10]; // 0xb8 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_material; // 0xc8 }; -// Aligment: 5 -// Size: 96 +// Alignment: 5 +// Size: 0x60 class CSceneObjectData { public: - Vector m_vMinBounds; // 0x0 - Vector m_vMaxBounds; // 0xc - CUtlVector< CMaterialDrawDescriptor > m_drawCalls; // 0x18 - CUtlVector< CDrawCullingData > m_drawCullData; // 0x30 - Vector4D m_vTintColor; // 0x48 + Vector m_vMinBounds; // 0x0 + Vector m_vMaxBounds; // 0xc + CUtlVector< CMaterialDrawDescriptor > m_drawCalls; // 0x18 + CUtlVector< CDrawCullingData > m_drawCullData; // 0x30 + Vector4D m_vTintColor; // 0x48 }; -// Aligment: 8 -// Size: 136 +// Alignment: 8 +// Size: 0x88 class CAttachment { public: - CUtlString m_name; // 0x0 - CUtlString[3] m_influenceNames; // 0x8 - Vector[3] m_vInfluenceOffsets; // 0x20 - Quaternion[3] m_vInfluenceRotations; // 0x44 - 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 + Vector m_vInfluenceOffsets[3]; // 0x20 + Quaternion m_vInfluenceRotations[3]; // 0x44 + float m_influenceWeights[3]; // 0x74 + bool m_bInfluenceRootTransform[3]; // 0x80 + uint8_t m_nInfluences; // 0x83 + bool m_bIgnoreRotation; // 0x84 }; -// Aligment: 14 -// Size: 112 +// Alignment: 14 +// Size: 0x70 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 }; -// Aligment: 4 -// Size: 48 +// Alignment: 4 +// Size: 0x30 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 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CHitBoxSetList { public: - CUtlVector< CHitBoxSet > m_HitBoxSets; // 0x0 + CUtlVector< CHitBoxSet > m_HitBoxSets; // 0x0 }; -// Aligment: 3 -// Size: 440 +// Alignment: 3 +// Size: 0x1b8 class CRenderMesh { public: - CUtlVectorFixedGrowable< CSceneObjectData > m_sceneObjects; // 0x10 - CUtlVector< CBaseConstraint* > m_constraints; // 0x88 - CRenderSkeleton m_skeleton; // 0xa0 + CUtlVectorFixedGrowable< CSceneObjectData > m_sceneObjects; // 0x10 + CUtlVector< CBaseConstraint* > m_constraints; // 0x88 + CRenderSkeleton m_skeleton; // 0xa0 }; -// Aligment: 6 -// Size: 112 +// Alignment: 6 +// Size: 0x70 class CConstraintTarget { public: - uint32_t m_nBoneHash; // 0x0 - float m_flWeight; // 0x4 - Vector m_vOffset; // 0x8 - Quaternion m_qOffset; // 0x14 - bool m_bIsAttachment; // 0x24 - CUtlString m_sName; // 0x28 + uint32_t m_nBoneHash; // 0x0 + float m_flWeight; // 0x4 + Vector m_vOffset; // 0x8 + Quaternion m_qOffset; // 0x14 + bool m_bIsAttachment; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0025[0x3]; // 0x25 +public: + CUtlString m_sName; // 0x28 }; -// Aligment: 5 -// Size: 88 +// Alignment: 5 +// Size: 0x58 class CConstraintSlave { public: - uint32_t m_nBoneHash; // 0x0 - float m_flWeight; // 0x4 - Vector m_vBasePosition; // 0x8 - Quaternion m_qBaseOrientation; // 0x14 - CUtlString m_sName; // 0x28 + uint32_t m_nBoneHash; // 0x0 + float m_flWeight; // 0x4 + Vector m_vBasePosition; // 0x8 + Quaternion m_qBaseOrientation; // 0x14 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + CUtlString m_sName; // 0x28 }; -// Aligment: 0 -// Size: 40 +// Alignment: 0 +// Size: 0x28 class CBoneConstraintBase { public: -// + // no members available }; -// Aligment: 4 -// Size: 112 +// 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 }; -// Aligment: 0 -// Size: 112 -class CPointConstraint : public CBaseConstraint, CBoneConstraintBase +// Alignment: 0 +// Size: 0x70 +class CPointConstraint : public CBaseConstraint { public: -// + // no members available }; -// Aligment: 0 -// Size: 112 -class COrientConstraint : public CBaseConstraint, CBoneConstraintBase +// Alignment: 0 +// Size: 0x70 +class COrientConstraint : public CBaseConstraint { public: -// + // no members available }; -// Aligment: 2 -// Size: 136 -class CAimConstraint : public CBaseConstraint, CBoneConstraintBase +// Alignment: 2 +// Size: 0x88 +class CAimConstraint : public CBaseConstraint { public: - Quaternion m_qAimOffset; // 0x70 - uint32_t m_nUpType; // 0x80 + Quaternion m_qAimOffset; // 0x70 + uint32_t m_nUpType; // 0x80 }; -// Aligment: 3 -// Size: 152 -class CTwistConstraint : public CBaseConstraint, CBoneConstraintBase +// Alignment: 3 +// Size: 0x98 +class CTwistConstraint : public CBaseConstraint { public: - bool m_bInverse; // 0x70 - Quaternion m_qParentBindRotation; // 0x74 - Quaternion m_qChildBindRotation; // 0x84 + bool m_bInverse; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 +public: + Quaternion m_qParentBindRotation; // 0x74 + Quaternion m_qChildBindRotation; // 0x84 }; -// Aligment: 2 -// Size: 160 -class CTiltTwistConstraint : public CBaseConstraint, CBoneConstraintBase +// Alignment: 2 +// Size: 0xa0 +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 }; -// Aligment: 4 -// Size: 144 -class CMorphConstraint : public CBaseConstraint, CBoneConstraintBase +// 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 + CUtlString m_sTargetMorph; // 0x70 + int32_t m_nSlaveChannel; // 0x78 + float m_flMin; // 0x7c + float m_flMax; // 0x80 }; -// Aligment: 0 -// Size: 112 -class CParentConstraint : public CBaseConstraint, CBoneConstraintBase +// Alignment: 0 +// Size: 0x70 +class CParentConstraint : public CBaseConstraint { public: -// + // no members available }; -// Aligment: 5 -// Size: 168 +// 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 }; -// Aligment: 2 -// Size: 40 -struct CBoneConstraintPoseSpaceMorph::Input_t +// Alignment: 2 +// Size: 0x28 +struct CBoneConstraintPoseSpaceMorph__Input_t { public: - Vector m_inputValue; // 0x0 - CUtlVector< float32 > m_outputWeightList; // 0x10 + Vector m_inputValue; // 0x0 + CUtlVector< float32 > m_outputWeightList; // 0x10 }; -// Aligment: 1 -// Size: 152 -class CBoneConstraintPoseSpaceBone : public CBaseConstraint, CBoneConstraintBase +// Alignment: 1 +// Size: 0x98 +class CBoneConstraintPoseSpaceBone : public CBaseConstraint { public: - CUtlVector< CBoneConstraintPoseSpaceBone::Input_t > m_inputList; // 0x70 + CUtlVector< CBoneConstraintPoseSpaceBone::Input_t > m_inputList; // 0x70 }; -// Aligment: 2 -// Size: 40 -struct CBoneConstraintPoseSpaceBone::Input_t +// Alignment: 2 +// Size: 0x28 +struct CBoneConstraintPoseSpaceBone__Input_t { public: - Vector m_inputValue; // 0x0 - CUtlVector< CTransform > m_outputTransformList; // 0x10 + Vector m_inputValue; // 0x0 + CUtlVector< CTransform > m_outputTransformList; // 0x10 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CFlexOp { public: - FlexOpCode_t m_OpCode; // 0x0 - int32_t m_Data; // 0x4 + FlexOpCode_t m_OpCode; // 0x0 + int32_t m_Data; // 0x4 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 class CFlexRule { public: - int32_t m_nFlex; // 0x0 - CUtlVector< CFlexOp > m_FlexOps; // 0x8 + int32_t m_nFlex; // 0x0 + CUtlVector< CFlexOp > m_FlexOps; // 0x8 }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 class CFlexDesc { public: - CUtlString m_szFacs; // 0x0 + CUtlString m_szFacs; // 0x0 }; -// Aligment: 4 -// Size: 24 +// Alignment: 4 +// Size: 0x18 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 }; -// Aligment: 4 -// Size: 56 +// Alignment: 4 +// Size: 0x38 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 }; -// Aligment: 5 -// Size: 40 +// Alignment: 5 +// Size: 0x28 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 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 class CMorphData { public: - CUtlString m_name; // 0x0 - CUtlVector< CMorphRectData > m_morphRectDatas; // 0x8 + CUtlString m_name; // 0x0 + CUtlVector< CMorphRectData > m_morphRectDatas; // 0x8 }; -// Aligment: 8 -// Size: 152 +// 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 + 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 }; -// Aligment: 5 -// Size: 40 +// Alignment: 5 +// Size: 0x28 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 }; -// Aligment: 8 -// Size: 208 +// Alignment: 8 +// Size: 0xd0 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 }; -// Aligment: 9 -// Size: 64 +// Alignment: 9 +// Size: 0x40 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class CCycleBase { public: - float m_flCycle; // 0x0 + float m_flCycle; // 0x0 }; -// Aligment: 0 -// Size: 4 +// Alignment: 0 +// Size: 0x4 class CAnimCycle : public CCycleBase { public: -// + // no members available }; -// Aligment: 0 -// Size: 4 +// Alignment: 0 +// Size: 0x4 class CFootCycle : public CCycleBase { public: -// + // no members available }; -// Aligment: 9 -// Size: 60 +// Alignment: 9 +// Size: 0x3c 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 }; -// Aligment: 3 -// Size: 20 +// Alignment: 3 +// Size: 0x14 class CFootTrajectory { public: - Vector m_vOffset; // 0x0 - float m_flRotationOffset; // 0xc - float m_flProgression; // 0x10 -public: - static CFootTrajectory &Get_Identity() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("animationsystem.dll")->FindDeclaredClass("CFootTrajectory")->m_static_fiels[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);}; }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CFootTrajectories { public: - CUtlVector< CFootTrajectory > m_trajectories; // 0x0 + CUtlVector< CFootTrajectory > m_trajectories; // 0x0 }; -// Aligment: 2 -// Size: 88 +// Alignment: 2 +// Size: 0x58 class CFootStride { public: - CFootCycleDefinition m_definition; // 0x0 - CFootTrajectories m_trajectories; // 0x40 + CFootCycleDefinition m_definition; // 0x0 + CFootTrajectories m_trajectories; // 0x40 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 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 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CFingerSource { public: - AnimVRFinger_t m_nFingerIndex; // 0x0 - float m_flFingerWeight; // 0x4 + AnimVRFinger_t m_nFingerIndex; // 0x0 + float m_flFingerWeight; // 0x4 }; -// Aligment: 7 -// Size: 56 +// Alignment: 7 +// Size: 0x38 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 }; -// Aligment: 10 -// Size: 112 +// 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 - 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 }; -// Aligment: 4 -// Size: 48 +// Alignment: 4 +// Size: 0x30 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 }; -// Aligment: 6 -// Size: 80 +// Alignment: 6 +// Size: 0x50 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 }; -// Aligment: 4 -// Size: 368 +// Alignment: 4 +// Size: 0x170 class CAnimationGraph : public CAnimationSubGraph { public: - CSmartPtr< CAnimGraphSettingsManager > m_pSettingsManager; // 0xf8 - CAnimClipDataManager m_clipDataManager; // 0x108 - CUtlString m_modelName; // 0x150 - CUtlString m_previewModelName; // 0x158 + CSmartPtr< CAnimGraphSettingsManager > m_pSettingsManager; // 0xf8 +private: + [[maybe_unused]] uint8_t __pad0100[0x8]; // 0x100 +public: + CAnimClipDataManager m_clipDataManager; // 0x108 +private: + [[maybe_unused]] uint8_t __pad0140[0x10]; // 0x140 +public: + CUtlString m_modelName; // 0x150 + CUtlString m_previewModelName; // 0x158 }; -// Aligment: 2 -// Size: 56 +// Alignment: 2 +// Size: 0x38 class CAnimScriptComponentUpdater : public CAnimComponentUpdater { public: - CUtlString m_sName; // 0x28 - AnimScriptHandle m_hScript; // 0x30 + CUtlString m_sName; // 0x28 + AnimScriptHandle m_hScript; // 0x30 }; -// Aligment: 1 -// Size: 64 +// Alignment: 1 +// Size: 0x40 class CActionComponentUpdater : public CAnimComponentUpdater { public: - CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x28 + CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x28 }; -// Aligment: 1 -// Size: 64 +// Alignment: 1 +// Size: 0x40 class CDampedValueComponentUpdater : public CAnimComponentUpdater { public: - CUtlVector< CDampedValueUpdateItem > m_items; // 0x28 + CUtlVector< CDampedValueUpdateItem > m_items; // 0x28 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CLODComponentUpdater : public CAnimComponentUpdater { public: - int32_t m_nServerLOD; // 0x28 + int32_t m_nServerLOD; // 0x28 }; -// Aligment: 4 -// Size: 144 +// Alignment: 4 +// Size: 0x90 class CRagdollComponentUpdater : public CAnimComponentUpdater { public: - CUtlVector< CAnimNodePath > m_ragdollNodePaths; // 0x28 - CUtlVector< int32 > m_boneIndices; // 0x40 - CUtlVector< CUtlString > m_boneNames; // 0x58 - CUtlVector< WeightList > m_weightLists; // 0x70 + CUtlVector< CAnimNodePath > m_ragdollNodePaths; // 0x28 + CUtlVector< int32 > m_boneIndices; // 0x40 + CUtlVector< CUtlString > m_boneNames; // 0x58 + CUtlVector< WeightList > m_weightLists; // 0x70 }; -// Aligment: 0 -// Size: 72 +// Alignment: 0 +// Size: 0x48 class CAnimComponentStateTransition : public CAnimStateTransition { public: -// + // no members available }; -// Aligment: 0 -// Size: 112 +// Alignment: 0 +// Size: 0x70 class CAnimComponentState : public CAnimState { public: -// + // no members available }; -// Aligment: 1 -// Size: 120 +// Alignment: 1 +// Size: 0x78 class CStateMachineComponent : public CAnimComponentBase { public: // MPropertyFriendlyName "Name" // MPropertySortPriority "100" - CUtlString m_sName; // 0x60 + CUtlString m_sName; // 0x60 }; -// Aligment: 2 -// Size: 136 +// Alignment: 2 +// Size: 0x88 class CStateMachineComponentUpdater : public CAnimComponentUpdater { public: - CAnimStateMachineUpdater m_stateMachine; // 0x28 - CUtlString m_sName; // 0x80 + CAnimStateMachineUpdater m_stateMachine; // 0x28 + CUtlString m_sName; // 0x80 }; -// Aligment: 9 -// Size: 120 +// Alignment: 9 +// Size: 0x78 class CVRInputComponentUpdater : public CAnimComponentUpdater { public: - CAnimParamHandle m_FingerCurl_Thumb; // 0x2c - CAnimParamHandle m_FingerCurl_Index; // 0x34 - CAnimParamHandle m_FingerCurl_Middle; // 0x3c - CAnimParamHandle m_FingerCurl_Ring; // 0x44 - CAnimParamHandle m_FingerCurl_Pinky; // 0x4c - CAnimParamHandle m_FingerSplay_Thumb_Index; // 0x54 - CAnimParamHandle m_FingerSplay_Index_Middle; // 0x5c - CAnimParamHandle m_FingerSplay_Middle_Ring; // 0x64 - CAnimParamHandle m_FingerSplay_Ring_Pinky; // 0x6c + CAnimParamHandle m_FingerCurl_Thumb; // 0x2c + CAnimParamHandle m_FingerCurl_Index; // 0x34 + CAnimParamHandle m_FingerCurl_Middle; // 0x3c + CAnimParamHandle m_FingerCurl_Ring; // 0x44 + CAnimParamHandle m_FingerCurl_Pinky; // 0x4c + CAnimParamHandle m_FingerSplay_Thumb_Index; // 0x54 + CAnimParamHandle m_FingerSplay_Index_Middle; // 0x5c + CAnimParamHandle m_FingerSplay_Middle_Ring; // 0x64 + CAnimParamHandle m_FingerSplay_Ring_Pinky; // 0x6c }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 class CEmitTagActionUpdater : public CAnimActionUpdater { public: - int32_t m_nTagIndex; // 0x18 + int32_t m_nTagIndex; // 0x18 }; -// Aligment: 2 -// Size: 56 +// Alignment: 2 +// Size: 0x38 class CSetParameterActionUpdater : public CAnimActionUpdater { public: - CAnimParamHandle m_hParam; // 0x18 - CAnimVariant m_value; // 0x20 + CAnimParamHandle m_hParam; // 0x18 + CAnimVariant m_value; // 0x20 }; -// Aligment: 2 -// Size: 32 +// 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 }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 class CExpressionActionUpdater : public CAnimActionUpdater { public: - AnimScriptHandle m_hScript; // 0x18 + AnimScriptHandle m_hScript; // 0x18 }; -// Aligment: 6 -// Size: 112 +// Alignment: 6 +// Size: 0x70 class CAnimNodeStateTransition : public CAnimStateTransition { public: // MPropertyFriendlyName "Blend Duration" - float m_blendDuration; // 0x50 + float m_blendDuration; // 0x50 // MPropertyFriendlyName "Reset Destination" - bool m_bReset; // 0x54 + bool m_bReset; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 +public: // MPropertyFriendlyName "Start Cycle At" - ResetCycleOption m_resetCycleOption; // 0x58 + ResetCycleOption m_resetCycleOption; // 0x58 // MPropertyFriendlyName "Fixed Start Cycle Value" // MPropertyAttributeRange "0 1" - float m_flFixedCycleValue; // 0x5c + float m_flFixedCycleValue; // 0x5c // MPropertySuppressField - CBlendCurve m_blendCurve; // 0x60 + CBlendCurve m_blendCurve; // 0x60 // MPropertyFriendlyName "Park Feet" - bool m_bForceFootPlant; // 0x68 + bool m_bForceFootPlant; // 0x68 }; -// Aligment: 2 -// Size: 128 +// Alignment: 2 +// Size: 0x80 class CAnimNodeState : public CAnimState { public: // MPropertyHideField - CAnimNodeConnection m_inputConnection; // 0x70 + CAnimNodeConnection m_inputConnection; // 0x70 // MPropertyFriendlyName "Exclusive Root Motion" - bool m_bIsRootMotionExclusive; // 0x78 + bool m_bIsRootMotionExclusive; // 0x78 }; -// Aligment: 2 -// Size: 120 +// Alignment: 2 +// Size: 0x78 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 }; -// Aligment: 1 -// Size: 112 -class CRagdollUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x70 +class CRagdollUpdateNode : public CUnaryUpdateNode { public: - int32_t m_nWeightListIndex; // 0x68 + int32_t m_nWeightListIndex; // 0x68 }; -// Aligment: 1 -// Size: 216 -class CGroupAnimNode : public CContainerAnimNodeBase, CAnimNodeBase +// Alignment: 1 +// Size: 0xd8 +class CGroupAnimNode : public CContainerAnimNodeBase { public: // MPropertyHideField - CAnimNodeManager m_nodeMgr; // 0x80 + CAnimNodeManager m_nodeMgr; // 0x80 }; -// Aligment: 0 -// Size: 120 -class CGroupInputAnimNode : public CProxyAnimNodeBase, CAnimNodeBase +// Alignment: 0 +// Size: 0x78 +class CGroupInputAnimNode : public CProxyAnimNodeBase { public: -// + // no members available }; -// Aligment: 0 -// Size: 112 -class CGroupOutputAnimNode : public CProxyAnimNodeBase, CAnimNodeBase +// Alignment: 0 +// Size: 0x70 +class CGroupOutputAnimNode : public CProxyAnimNodeBase { public: -// + // no members available }; -// Aligment: 0 -// Size: 104 -class CRootUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 0 +// Size: 0x68 +class CRootUpdateNode : public CUnaryUpdateNode { public: -// + // no members available }; -// Aligment: 5 -// Size: 144 -class CSequenceUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 5 +// Size: 0x90 +class CSequenceUpdateNode : public CLeafUpdateNode { public: - CUtlVector< TagSpan_t > m_tags; // 0x60 - HSequence m_hSequence; // 0x7c - float m_playbackSpeed; // 0x80 - float m_duration; // 0x84 - bool m_bLoop; // 0x88 + CUtlVector< TagSpan_t > m_tags; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0078[0x4]; // 0x78 +public: + HSequence m_hSequence; // 0x7c + float m_playbackSpeed; // 0x80 + float m_duration; // 0x84 + bool m_bLoop; // 0x88 }; -// Aligment: 11 -// Size: 216 +// Alignment: 11 +// Size: 0xd8 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; // 0xd0 - bool m_bLockBlendOnReset; // 0xd4 - bool m_bSyncCycles; // 0xd5 - bool m_bLoop; // 0xd6 - bool m_bLockWhenWaning; // 0xd7 + 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 + CAnimInputDamping m_damping; // 0xb8 + BlendKeyType m_blendKeyType; // 0xd0 + bool m_bLockBlendOnReset; // 0xd4 + bool m_bSyncCycles; // 0xd5 + bool m_bLoop; // 0xd6 + bool m_bLockWhenWaning; // 0xd7 }; -// Aligment: 5 -// Size: 248 +// 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 }; -// Aligment: 10 -// Size: 184 +// 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 }; -// Aligment: 2 -// Size: 120 -class CCycleControlUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x78 +class CCycleControlUpdateNode : public CUnaryUpdateNode { public: - AnimValueSource m_valueSource; // 0x68 - CAnimParamHandle m_paramIndex; // 0x6c + AnimValueSource m_valueSource; // 0x68 + CAnimParamHandle m_paramIndex; // 0x6c }; -// Aligment: 5 -// Size: 144 -class CCycleControlClipUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 5 +// Size: 0x90 +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 }; -// Aligment: 2 -// Size: 152 -class CAddUpdateNode : public CBinaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x98 +class CAddUpdateNode : public CBinaryUpdateNode { public: - BinaryNodeChildOption m_footMotionTiming; // 0x8c - bool m_bApplyChannelsSeparately; // 0x90 + BinaryNodeChildOption m_footMotionTiming; // 0x8c + bool m_bApplyChannelsSeparately; // 0x90 }; -// Aligment: 2 -// Size: 152 -class CSubtractUpdateNode : public CBinaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x98 +class CSubtractUpdateNode : public CBinaryUpdateNode { public: - BinaryNodeChildOption m_footMotionTiming; // 0x8c - bool m_bApplyChannelsSeparately; // 0x90 + BinaryNodeChildOption m_footMotionTiming; // 0x8c + bool m_bApplyChannelsSeparately; // 0x90 }; -// Aligment: 11 -// Size: 176 -class CMoverUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 11 +// Size: 0xb0 +class CMoverUpdateNode : public CUnaryUpdateNode { public: - CAnimInputDamping m_damping; // 0x70 - AnimValueSource m_facingTarget; // 0x88 - CAnimParamHandle m_hMoveVecParam; // 0x8c - CAnimParamHandle m_hMoveHeadingParam; // 0x94 - CAnimParamHandle m_hTurnToFaceParam; // 0x9c - float m_flTurnToFaceOffset; // 0xa4 - float m_flTurnToFaceLimit; // 0xa8 - bool m_bAdditive; // 0xac - bool m_bApplyMovement; // 0xad - bool m_bOrientMovement; // 0xae - bool m_bApplyRotation; // 0xaf + CAnimInputDamping m_damping; // 0x70 + AnimValueSource m_facingTarget; // 0x88 + CAnimParamHandle m_hMoveVecParam; // 0x8c + CAnimParamHandle m_hMoveHeadingParam; // 0x94 + CAnimParamHandle m_hTurnToFaceParam; // 0x9c + float m_flTurnToFaceOffset; // 0xa4 + float m_flTurnToFaceLimit; // 0xa8 + bool m_bAdditive; // 0xac + bool m_bApplyMovement; // 0xad + bool m_bOrientMovement; // 0xae + bool m_bApplyRotation; // 0xaf }; -// Aligment: 1 -// Size: 112 -class CSlowDownOnSlopesUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x70 +class CSlowDownOnSlopesUpdateNode : public CUnaryUpdateNode { public: - float m_flSlowDownStrength; // 0x68 + float m_flSlowDownStrength; // 0x68 }; -// Aligment: 6 -// Size: 136 -class CTurnHelperUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// 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 - 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 }; -// Aligment: 6 -// Size: 368 -class CAimMatrixUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 6 +// Size: 0x170 +class CAimMatrixUpdateNode : public CUnaryUpdateNode { public: - AimMatrixOpFixedSettings_t m_opFixedSettings; // 0x70 - AnimVectorSource m_target; // 0x158 - CAnimParamHandle m_paramIndex; // 0x15c - HSequence m_hSequence; // 0x164 - bool m_bResetChild; // 0x168 - bool m_bLockWhenWaning; // 0x169 + AimMatrixOpFixedSettings_t m_opFixedSettings; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0150[0x8]; // 0x150 +public: + AnimVectorSource m_target; // 0x158 + CAnimParamHandle m_paramIndex; // 0x15c + HSequence m_hSequence; // 0x164 + bool m_bResetChild; // 0x168 + bool m_bLockWhenWaning; // 0x169 }; -// Aligment: 1 -// Size: 112 -class CSpeedScaleUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x70 +class CSpeedScaleUpdateNode : public CUnaryUpdateNode { public: - CAnimParamHandle m_paramIndex; // 0x68 + CAnimParamHandle m_paramIndex; // 0x68 }; -// Aligment: 8 -// Size: 176 -class CDirectionalBlendUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 8 +// Size: 0xb0 +class CDirectionalBlendUpdateNode : public CLeafUpdateNode { public: - HSequence[8] m_hSequences; // 0x5c - CAnimInputDamping m_damping; // 0x80 - AnimValueSource m_blendValueSource; // 0x98 - CAnimParamHandle m_paramIndex; // 0x9c - float m_playbackSpeed; // 0xa4 - float m_duration; // 0xa8 - bool m_bLoop; // 0xac - bool m_bLockBlendOnReset; // 0xad + HSequence m_hSequences[8]; // 0x5c +private: + [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c +public: + CAnimInputDamping m_damping; // 0x80 + AnimValueSource m_blendValueSource; // 0x98 + CAnimParamHandle m_paramIndex; // 0x9c + float m_playbackSpeed; // 0xa4 + float m_duration; // 0xa8 + bool m_bLoop; // 0xac + bool m_bLockBlendOnReset; // 0xad }; -// Aligment: 5 -// Size: 120 -class CWayPointHelperUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 5 +// Size: 0x78 +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 }; -// Aligment: 7 -// Size: 176 -class CBoneMaskUpdateNode : public CBinaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 7 +// Size: 0xb0 +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 }; -// Aligment: 0 -// Size: 112 -class CChoreoUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 0 +// Size: 0x70 +class CChoreoUpdateNode : public CUnaryUpdateNode { public: -// + // no members available }; -// Aligment: 2 -// Size: 112 -class CDirectPlaybackUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x70 +class CDirectPlaybackUpdateNode : public CUnaryUpdateNode { public: - bool m_bFinishEarly; // 0x6c - bool m_bResetOnFinish; // 0x6d + bool m_bFinishEarly; // 0x6c + bool m_bResetOnFinish; // 0x6d }; -// Aligment: 10 -// Size: 240 -class CLeanMatrixUpdateNode : public CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 10 +// Size: 0xf0 +class CLeanMatrixUpdateNode : public CLeafUpdateNode { public: - int32[3][3] m_frameCorners; // 0x5c - StaticPoseCacheHandle[9] m_poses; // 0x80 - CAnimInputDamping m_damping; // 0xa8 - AnimVectorSource m_blendSource; // 0xc0 - CAnimParamHandle m_paramIndex; // 0xc4 - Vector m_verticalAxis; // 0xcc - Vector m_horizontalAxis; // 0xd8 - HSequence m_hSequence; // 0xe4 - float m_flMaxValue; // 0xe8 - int32_t m_nSequenceMaxFrame; // 0xec + int32_t m_frameCorners[3][3]; // 0x5c + StaticPoseCacheHandle m_poses[9]; // 0x80 +private: + [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 +public: + CAnimInputDamping m_damping; // 0xa8 + AnimVectorSource m_blendSource; // 0xc0 + CAnimParamHandle m_paramIndex; // 0xc4 + Vector m_verticalAxis; // 0xcc + Vector m_horizontalAxis; // 0xd8 + HSequence m_hSequence; // 0xe4 + float m_flMaxValue; // 0xe8 + int32_t m_nSequenceMaxFrame; // 0xec }; -// Aligment: 1 -// Size: 480 -class CTwoBoneIKUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x1e0 +class CTwoBoneIKUpdateNode : public CUnaryUpdateNode { public: - TwoBoneIKSettings_t m_opFixedData; // 0x70 + TwoBoneIKSettings_t m_opFixedData; // 0x70 }; -// Aligment: 2 -// Size: 160 -class CSolveIKChainUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0xa0 +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 }; -// Aligment: 6 -// Size: 352 -class CLookAtUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 6 +// Size: 0x160 +class CLookAtUpdateNode : public CUnaryUpdateNode { public: - LookAtOpFixedSettings_t m_opFixedSettings; // 0x70 - AnimVectorSource m_target; // 0x148 - CAnimParamHandle m_paramIndex; // 0x14c - CAnimParamHandle m_weightParamIndex; // 0x154 - bool m_bResetChild; // 0x15c - bool m_bLockWhenWaning; // 0x15d + LookAtOpFixedSettings_t m_opFixedSettings; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0140[0x8]; // 0x140 +public: + AnimVectorSource m_target; // 0x148 + CAnimParamHandle m_paramIndex; // 0x14c + CAnimParamHandle m_weightParamIndex; // 0x154 + bool m_bResetChild; // 0x15c + bool m_bLockWhenWaning; // 0x15d }; -// Aligment: 2 -// Size: 112 -class CPathHelperUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 2 +// Size: 0x70 +class CPathHelperUpdateNode : public CUnaryUpdateNode { public: - float m_flStoppingRadius; // 0x68 - float m_flStoppingSpeedScale; // 0x6c + float m_flStoppingRadius; // 0x68 + float m_flStoppingSpeedScale; // 0x6c }; -// Aligment: 1 -// Size: 272 -class CFollowAttachmentUpdateNode : public CUnaryUpdateNode, CAnimUpdateNodeBase +// Alignment: 1 +// Size: 0x110 +class CFollowAttachmentUpdateNode : public CUnaryUpdateNode { public: - FollowAttachmentSettings_t m_opFixedData; // 0x70 + FollowAttachmentSettings_t m_opFixedData; // 0x70 }; -// Aligment: 8 -// Size: 184 -class CJumpHelperUpdateNode : public CSequenceUpdateNode, CLeafUpdateNode, CAnimUpdateNodeBase +// Alignment: 8 +// Size: 0xb8 +class CJumpHelperUpdateNode : public CSequenceUpdateNode { public: - CAnimParamHandle m_hTargetParam; // 0x90 - Vector m_flOriginalJumpMovement; // 0x98 - float m_flOriginalJumpDuration; // 0xa4 - float m_flJumpStartCycle; // 0xa8 - float m_flJumpEndCycle; // 0xac - JumpCorrectionMethod m_eCorrectionMethod; // 0xb0 - bool[3] m_bTranslationAxis; // 0xb4 - bool m_bScaleSpeed; // 0xb7 + CAnimParamHandle m_hTargetParam; // 0x90 + Vector m_flOriginalJumpMovement; // 0x98 + float m_flOriginalJumpDuration; // 0xa4 + float m_flJumpStartCycle; // 0xa8 + float m_flJumpEndCycle; // 0xac + JumpCorrectionMethod m_eCorrectionMethod; // 0xb0 + bool m_bTranslationAxis[3]; // 0xb4 + bool m_bScaleSpeed; // 0xb7 }; diff --git a/sdk/client.hpp b/sdk/client.hpp index fe835803..6a708909 100644 --- a/sdk/client.hpp +++ b/sdk/client.hpp @@ -2,15 +2,16 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: client.dll -// Class Count: 325 -// Enum Count: 2 -/////////////////////////////////////////// +// Classes count: 325 +// Enums count: 2 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 5 -enum class C_BaseCombatCharacter::WaterWakeMode_t : uint32_t +// Alignment: 4 +// Size: 0x5 +enum class C_BaseCombatCharacter__WaterWakeMode_t : uint32_t { WATER_WAKE_NONE = 0x0, WATER_WAKE_IDLE = 0x1, @@ -19,462 +20,626 @@ enum class C_BaseCombatCharacter::WaterWakeMode_t : uint32_t WATER_WAKE_WATER_OVERHEAD = 0x4, }; -// Aligment: 4 -// Size: 3 -enum class CSteamPal_Intro_Toilet::TestState_t : uint32_t +// Alignment: 4 +// Size: 0x3 +enum class CSteamPal_Intro_Toilet__TestState_t : uint32_t { TEST_UNTESTED = 0x0, TEST_PASS = 0x1, TEST_FAIL = 0x2, }; -// Aligment: 1 -// Size: 32 +struct C_fogplayerparams_t; +struct audioparams_t; +struct fogparams_t; +struct TimedEvent; +struct CNetworkedSequenceOperation; +struct CBaseAnimatingEasingFloat_t; +struct ModelConfigHandle_t; +struct CEntityInstance; +struct CGameSceneNode; +struct CGameSceneNodeHandle; +struct CNetworkOriginCellCoordQuantizedVector; +struct HSequence; +struct CModelState; +struct CNetworkedIKContext; +struct C_RopeKeyframe; +struct VPhysicsCollisionAttribute_t; +struct CDecalInfo; +struct AttachmentHandle_t; +struct C_BaseAnimatingController; +struct C_BaseAnimating; +struct ViewLockData_t; +struct CFootstepTableHandle; +struct CSkillFloat; +struct CSkillInt; +struct ChangeAccessorFieldPathIndex_t; +struct CRangeFloat; +struct AWS_AbilityUsageData_t; +struct CSkillDamage; +struct AmmoIndex_t; +struct CRangeInt; +struct CModifierLevelFloat; +struct ModifierSerialNumber_t; +struct CModifierHandleBase; +struct ModifierRuntimeHandle_t; +struct CNetworkVarChainer; +struct ModifierPropRuntimeHandle_t; +struct CSteamPal_Turret_Wing_t; +struct CSteamPal_Ultra_Toilet_Gun_VData_t; +struct CEntityIdentity; +struct CScriptComponent; +struct CSkeletonInstance; +struct CAnimGraphNetworkedVariables; +struct C_CSequenceTransitioner2; +struct C_BaseAnimatingOverlayController; +struct CBodyComponent; +struct CNetworkTransmitComponent; +struct CRenderComponent; +struct CCollisionProperty; +struct CModifierProperty; +struct CNetworkVelocityVector; +struct CParticleProperty; +struct C_EnvWindShared; +struct CFireOverlay; +struct C_FireSmoke; +struct sky3dparams_t; +struct C_SkyCamera; +struct CInterpolatedValue; +struct NPCAbilityTarget_t; +struct ParticleIndex_t; +struct C_SteamPalGameRules; +struct CEntityIOOutput; +struct C_PointCamera; +struct CGlowProperty; +struct CNetworkViewOffsetVector; +struct CClientAlphaProperty; +struct C_LightGlowOverlay; +struct C_RopeKeyframe::CPhysicsDelegate; +struct CBuoyancyHelper; +struct CPointOffScreenIndicatorUi; +struct C_PointClientUIWorldPanel; +struct CLightComponent; +struct CHitboxComponent; +struct PhysicsRagdollPose_t; +struct CBaseAnimatingEasings_t; +struct CountdownTimer; +struct C_ViewSmoothingData_t; +struct shard_model_desc_t; +struct CAI_StanceServices; +struct CAI_AbilityServices; +struct C_CommandContext; +struct CPlayer_WeaponServices; +struct CPlayer_ItemServices; +struct CPlayer_VehicleServices; +struct CPlayer_AutoaimServices; +struct CPlayer_ObserverServices; +struct CPlayer_WaterServices; +struct CPlayer_UseServices; +struct CPlayer_FlashlightServices; +struct CPlayer_CameraServices; +struct CPlayer_MovementServices; + +// Alignment: 1 +// Size: 0x20 class CBuoyancyHelper { public: - float m_flFluidDensity; // 0x18 + float m_flFluidDensity; // 0x18 }; -// Aligment: 2 -// Size: 88 +// Alignment: 2 +// Size: 0x58 class C_CommandContext { public: - bool needsprocessing; // 0x0 - int32_t command_number; // 0x50 + bool needsprocessing; // 0x0 + int32_t command_number; // 0x50 }; -// Aligment: 9 -// Size: 192 +// Alignment: 9 +// Size: 0xc0 struct PlayerResourceData_t { public: // MNetworkEnable // MNetworkEncoder - uint64_t m_iPlayerSteamID; // 0x20 + uint64_t m_iPlayerSteamID; // 0x20 // MNetworkEnable // MNetworkChangeCallback "OnPlayerNameChanged" - char[128] m_iszPlayerName; // 0x28 + char m_iszPlayerName[128]; // 0x28 // MNetworkEnable - CHandle< CBasePlayerController > m_hPlayerController; // 0xa8 + CHandle< CBasePlayerController > m_hPlayerController; // 0xa8 // MNetworkEnable - CHandle< C_BasePlayer > m_hPawn; // 0xac + CHandle< C_BasePlayer > m_hPawn; // 0xac // MNetworkEnable - bool m_bIsValid; // 0xb0 + bool m_bIsValid; // 0xb0 // MNetworkEnable - bool m_bFakeClient; // 0xb1 + bool m_bFakeClient; // 0xb1 // MNetworkEnable - bool m_bIsBot; // 0xb2 + bool m_bIsBot; // 0xb2 +private: + [[maybe_unused]] uint8_t __pad00b3[0x1]; // 0xb3 +public: // MNetworkEnable - int32_t m_nConnectionState; // 0xb4 + int32_t m_nConnectionState; // 0xb4 // MNetworkEnable - int32_t m_iTeam; // 0xb8 + int32_t m_iTeam; // 0xb8 }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 class CPlayer_AutoaimServices : public CPlayerComponent { public: -// + // no members available }; -// Aligment: 4 -// Size: 120 +// Alignment: 4 +// Size: 0x78 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 + uint8_t localBits; // 0x6c +private: + [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d +public: // MNetworkEnable - int32_t soundscapeEntityListIndex; // 0x70 + int32_t soundscapeEntityListIndex; // 0x70 }; -// Aligment: 25 -// Size: 568 +// Alignment: 25 +// Size: 0x238 class CPlayer_CameraServices : public CPlayerComponent { public: // MNetworkEnable - uint32_t m_iFOV; // 0x30 + uint32_t m_iFOV; // 0x30 // MNetworkEnable - uint32_t m_iFOVStart; // 0x34 + uint32_t m_iFOVStart; // 0x34 // MNetworkEnable - float m_flFOVTime; // 0x38 + float m_flFOVTime; // 0x38 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flFOVRate; // 0x3c + float m_flFOVRate; // 0x3c // MNetworkEnable - uint32_t m_iDefaultFOV; // 0x40 + uint32_t m_iDefaultFOV; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkEnable // MNetworkPriority "32" // MNetworkBitCount "32" // MNetworkChangeCallback "OnPunchChanged" - QAngle m_vecPunchAngle; // 0x48 + QAngle m_vecPunchAngle; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0054[0xc]; // 0x54 +public: // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkEnable // MNetworkBitCount "32" - QAngle m_vecPunchAngleVel; // 0x60 + QAngle m_vecPunchAngleVel; // 0x60 +private: + [[maybe_unused]] uint8_t __pad006c[0xc]; // 0x6c +public: // MNetworkEnable - CHandle< C_BaseEntity > m_hZoomOwner; // 0x78 + CHandle< C_BaseEntity > m_hZoomOwner; // 0x78 +private: + [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c +public: // MNetworkEnable - C_fogplayerparams_t m_PlayerFog; // 0x80 + C_fogplayerparams_t m_PlayerFog; // 0x80 // MNetworkEnable - CHandle< C_ColorCorrection > m_hColorCorrectionCtrl; // 0xc0 + CHandle< C_ColorCorrection > m_hColorCorrectionCtrl; // 0xc0 // MNetworkEnable - CHandle< C_BaseEntity > m_hViewEntity; // 0xc4 + CHandle< C_BaseEntity > m_hViewEntity; // 0xc4 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CHandle< C_TonemapController2 > m_hTonemapController; // 0xc8 + CHandle< C_TonemapController2 > m_hTonemapController; // 0xc8 +private: + [[maybe_unused]] uint8_t __pad00cc[0x4]; // 0xcc +public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - audioparams_t m_audio; // 0xd0 + audioparams_t m_audio; // 0xd0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - C_NetworkUtlVectorBase< CHandle< C_PostProcessingVolume > > m_PostProcessingVolumes; // 0x148 - float m_flOldPlayerZ; // 0x160 - float m_flOldPlayerViewOffsetZ; // 0x164 - fogparams_t m_CurrentFog; // 0x168 - CHandle< C_FogController > m_hOldFogController; // 0x1d0 - bool[5] m_bOverrideFogColor; // 0x1d4 - Color[5] m_OverrideFogColor; // 0x1d9 - bool[5] m_bOverrideFogStartEnd; // 0x1ed - float32[5] m_fOverrideFogStart; // 0x1f4 - float32[5] m_fOverrideFogEnd; // 0x208 - CHandle< C_PostProcessingVolume > m_hActivePostProcessingVolume; // 0x21c - QAngle m_angDemoViewAngles; // 0x220 + C_NetworkUtlVectorBase< CHandle< C_PostProcessingVolume > > m_PostProcessingVolumes; // 0x148 + float m_flOldPlayerZ; // 0x160 + float m_flOldPlayerViewOffsetZ; // 0x164 + fogparams_t m_CurrentFog; // 0x168 + CHandle< C_FogController > m_hOldFogController; // 0x1d0 + bool m_bOverrideFogColor[5]; // 0x1d4 + Color m_OverrideFogColor[5]; // 0x1d9 + bool m_bOverrideFogStartEnd[5]; // 0x1ed +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: + float m_fOverrideFogStart[5]; // 0x1f4 + float m_fOverrideFogEnd[5]; // 0x208 + CHandle< C_PostProcessingVolume > m_hActivePostProcessingVolume; // 0x21c + QAngle m_angDemoViewAngles; // 0x220 }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 class CPlayer_FlashlightServices : public CPlayerComponent { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 class CPlayer_ItemServices : public CPlayerComponent { public: -// + // no members available }; -// Aligment: 14 -// Size: 128 +// Alignment: 14 +// Size: 0x80 class CPlayer_MovementServices : public CPlayerComponent { public: - float m_flStepSoundTime; // 0x30 + float m_flStepSoundTime; // 0x30 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkBitCount "17" // MNetworkMinValue "-4096" // MNetworkMaxValue "4096" - float m_flFallVelocity; // 0x34 + float m_flFallVelocity; // 0x34 // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0" // MNetworkMaxValue "2048" // MNetworkEncodeFlags - float m_flMaxspeed; // 0x38 + float m_flMaxspeed; // 0x38 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bDucked; // 0x3c + bool m_bDucked; // 0x3c // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bDucking; // 0x3d + bool m_bDucking; // 0x3d // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bInDuckJump; // 0x3e - Vector m_groundNormal; // 0x40 - float m_flSurfaceFriction; // 0x4c - CUtlStringToken m_surfaceProps; // 0x50 - int32_t m_nStepside; // 0x60 - Vector m_vecPreviouslyPredictedOrigin; // 0x64 - float m_flForwardMove; // 0x70 - float m_flSideMove; // 0x74 - float m_flUpMove; // 0x78 + bool m_bInDuckJump; // 0x3e +private: + [[maybe_unused]] uint8_t __pad003f[0x1]; // 0x3f +public: + Vector m_groundNormal; // 0x40 + float m_flSurfaceFriction; // 0x4c + CUtlStringToken m_surfaceProps; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0054[0xc]; // 0x54 +public: + int32_t m_nStepside; // 0x60 + Vector m_vecPreviouslyPredictedOrigin; // 0x64 + float m_flForwardMove; // 0x70 + float m_flSideMove; // 0x74 + float m_flUpMove; // 0x78 }; -// Aligment: 10 -// Size: 88 +// Alignment: 10 +// Size: 0x58 class CPlayer_ObserverServices : public CPlayerComponent { public: // MNetworkEnable // MNetworkChangeCallback "OnObserverModeChanged" - uint8_t m_iObserverMode; // 0x30 + uint8_t m_iObserverMode; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 +public: // MNetworkEnable // MNetworkChangeCallback "OnObserverTargetChanged" - CHandle< C_BaseEntity > m_hObserverTarget; // 0x34 - float m_flObserverChaseDistance; // 0x38 - Vector m_vecFreezeFrameStart; // 0x3c - float m_flFreezeFrameStartTime; // 0x48 - float m_flFreezeFrameDistance; // 0x4c - bool m_bStartedFreezeFraming; // 0x50 - bool m_bFinishedFreezeFraming; // 0x51 - bool m_bSentFreezeFrame; // 0x52 - float m_flFreezeZOffset; // 0x54 + CHandle< C_BaseEntity > m_hObserverTarget; // 0x34 + float m_flObserverChaseDistance; // 0x38 + Vector m_vecFreezeFrameStart; // 0x3c + float m_flFreezeFrameStartTime; // 0x48 + float m_flFreezeFrameDistance; // 0x4c + bool m_bStartedFreezeFraming; // 0x50 + bool m_bFinishedFreezeFraming; // 0x51 + bool m_bSentFreezeFrame; // 0x52 +private: + [[maybe_unused]] uint8_t __pad0053[0x1]; // 0x53 +public: + float m_flFreezeZOffset; // 0x54 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CPlayer_UseServices : public CPlayerComponent { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hUseEntity; // 0x30 + CHandle< C_BaseEntity > m_hUseEntity; // 0x30 }; -// Aligment: 6 -// Size: 88 +// Alignment: 6 +// Size: 0x58 class CPlayer_VehicleServices : public CPlayerComponent { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hVehicle; // 0x30 - int32_t m_iVehicleAnalogBias; // 0x34 - Vector m_vecVehicleViewOrigin; // 0x38 - QAngle m_vecVehicleViewAngles; // 0x44 - int32_t m_nVehicleViewSavedFrame; // 0x50 - float m_flVehicleViewFOV; // 0x54 + CHandle< C_BaseEntity > m_hVehicle; // 0x30 + int32_t m_iVehicleAnalogBias; // 0x34 + Vector m_vecVehicleViewOrigin; // 0x38 + QAngle m_vecVehicleViewAngles; // 0x44 + int32_t m_nVehicleViewSavedFrame; // 0x50 + float m_flVehicleViewFOV; // 0x54 }; -// Aligment: 8 -// Size: 96 +// Alignment: 8 +// Size: 0x60 class CPlayer_WaterServices : public CPlayerComponent { public: // MNetworkEnable - float m_AirFinishedTime; // 0x30 - float m_flWaterJumpTime; // 0x34 - Vector m_vecWaterJumpVel; // 0x38 - float m_flSwimSoundTime; // 0x44 - bool m_bPlayerUnderwater; // 0x48 - float m_flWaterSurfaceZ; // 0x4c - bool m_bResampleWaterSurface; // 0x50 - TimedEvent m_tWaterParticleTimer; // 0x54 + float m_AirFinishedTime; // 0x30 + float m_flWaterJumpTime; // 0x34 + Vector m_vecWaterJumpVel; // 0x38 + float m_flSwimSoundTime; // 0x44 + bool m_bPlayerUnderwater; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 +public: + float m_flWaterSurfaceZ; // 0x4c + bool m_bResampleWaterSurface; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + TimedEvent m_tWaterParticleTimer; // 0x54 }; -// Aligment: 4 -// Size: 144 +// Alignment: 4 +// Size: 0x90 class CPlayer_WeaponServices : public CPlayerComponent { public: // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BasePlayerWeapon > > m_hMyWeapons; // 0x30 + C_NetworkUtlVectorBase< CHandle< C_BasePlayerWeapon > > m_hMyWeapons; // 0x30 // MNetworkEnable - CHandle< C_BasePlayerWeapon > m_hActiveWeapon; // 0x48 + CHandle< C_BasePlayerWeapon > m_hActiveWeapon; // 0x48 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CHandle< C_BasePlayerWeapon > m_hLastWeapon; // 0x4c + CHandle< C_BasePlayerWeapon > m_hLastWeapon; // 0x4c // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint16[32] m_iAmmo; // 0x50 + uint16_t m_iAmmo[32]; // 0x50 }; -// Aligment: 15 -// Size: 184 +// Alignment: 15 +// Size: 0xb8 class CAnimationLayer { public: // MNetworkEnable // MNetworkChangeCallback "animationLayerOpChanged" - CNetworkedSequenceOperation m_op; // 0x20 + CNetworkedSequenceOperation m_op; // 0x20 // MNetworkEnable // MNetworkChangeCallback "animationLayerOrderChanged" - int32_t m_nOrder; // 0x60 + int32_t m_nOrder; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0064[0x4]; // 0x64 +public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "-4" // MNetworkMaxValue "12" // MNetworkEncodeFlags // MNetworkSendProxyRecipientsFilter - CNetworkedQuantizedFloat m_flPlaybackRate; // 0x68 + CNetworkedQuantizedFloat m_flPlaybackRate; // 0x68 // MNetworkEnable // MNetworkSendProxyRecipientsFilter - bool m_bLooping; // 0x80 + bool m_bLooping; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0081[0x3]; // 0x81 +public: // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "animationLayerCycleReset" // MNetworkSendProxyRecipientsFilter - int32_t m_nNewSequenceParity; // 0x84 + int32_t m_nNewSequenceParity; // 0x84 // MNetworkDisable - int32_t m_nFlags; // 0x88 + int32_t m_nFlags; // 0x88 // MNetworkDisable - bool m_bSequenceFinished; // 0x8c + bool m_bSequenceFinished; // 0x8c +private: + [[maybe_unused]] uint8_t __pad008d[0x3]; // 0x8d +public: // MNetworkDisable - float m_flKillRate; // 0x90 + float m_flKillRate; // 0x90 // MNetworkDisable - float m_flKillDelay; // 0x94 + float m_flKillDelay; // 0x94 // MNetworkDisable - float m_flLayerAnimtime; // 0x98 + float m_flLayerAnimtime; // 0x98 // MNetworkDisable - float m_flLayerFadeOuttime; // 0x9c + float m_flLayerFadeOuttime; // 0x9c // MNetworkDisable - int32_t m_nActivity; // 0xa0 + int32_t m_nActivity; // 0xa0 // MNetworkDisable - int32_t m_nPriority; // 0xa4 + int32_t m_nPriority; // 0xa4 // MNetworkDisable - float m_flLastEventCycle; // 0xa8 + float m_flLastEventCycle; // 0xa8 // MNetworkDisable - float m_flLastAccess; // 0xac + float m_flLastAccess; // 0xac }; -// Aligment: 2 -// Size: 48 +// Alignment: 2 +// Size: 0x30 struct CBaseAnimatingEasingFloat_t { public: // MNetworkEnable - CUtlString m_GraphParameterName; // 0x8 + CUtlString m_GraphParameterName; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0010[0x18]; // 0x10 +public: // MNetworkEnable - float m_flGoal; // 0x28 + float m_flGoal; // 0x28 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 struct CBaseAnimatingEasings_t { public: // MNetworkEnable - CBaseAnimatingEasingFloat_t m_IKMasterBlendAmountEasing; // 0x8 + CBaseAnimatingEasingFloat_t m_IKMasterBlendAmountEasing; // 0x8 }; -// Aligment: 2 -// Size: 40 +// Alignment: 2 +// Size: 0x28 struct PhysicsRagdollPose_t { public: // MNetworkEnable // MNetworkChangeCallback "OnTransformChanged" - C_NetworkUtlVectorBase< CTransform > m_Transforms; // 0x8 - bool m_bDirty; // 0x20 + C_NetworkUtlVectorBase< CTransform > m_Transforms; // 0x8 + bool m_bDirty; // 0x20 }; -// Aligment: 4 -// Size: 88 +// Alignment: 4 +// Size: 0x58 struct ActiveModelConfig_t { public: // MNetworkEnable - ModelConfigHandle_t m_Handle; // 0x18 + ModelConfigHandle_t m_Handle; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: // MNetworkEnable - CUtlSymbolLarge m_Name; // 0x20 + CUtlSymbolLarge m_Name; // 0x20 // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_AssociatedEntities; // 0x28 + C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_AssociatedEntities; // 0x28 // MNetworkEnable - C_NetworkUtlVectorBase< CUtlSymbolLarge > m_AssociatedEntityNames; // 0x40 + C_NetworkUtlVectorBase< CUtlSymbolLarge > m_AssociatedEntityNames; // 0x40 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CGameSceneNodeHandle { public: // MNetworkEnable - CEntityHandle m_hOwner; // 0x8 + CEntityHandle m_hOwner; // 0x8 // MNetworkEnable - CUtlStringToken m_name; // 0xc + CUtlStringToken m_name; // 0xc }; -// Aligment: 33 -// Size: 352 +// Alignment: 33 +// Size: 0x160 class CGameSceneNode { public: // MNetworkDisable - CTransform m_nodeToWorld; // 0x10 + CTransform m_nodeToWorld; // 0x10 // MNetworkDisable - CEntityInstance* m_pOwner; // 0x30 + CEntityInstance* m_pOwner; // 0x30 // MNetworkDisable - CGameSceneNode* m_pParent; // 0x38 + CGameSceneNode* m_pParent; // 0x38 // MNetworkDisable - CGameSceneNode* m_pChild; // 0x40 + CGameSceneNode* m_pChild; // 0x40 // MNetworkDisable - CGameSceneNode* m_pNextSibling; // 0x48 + 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 + CGameSceneNodeHandle m_hParent; // 0x70 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Origin" // MNetworkChangeCallback "gameSceneNodeLocalOriginChanged" - CNetworkOriginCellCoordQuantizedVector m_vecOrigin; // 0x80 + CNetworkOriginCellCoordQuantizedVector m_vecOrigin; // 0x80 +private: + [[maybe_unused]] uint8_t __pad00e8[0x8]; // 0xe8 +public: // MNetworkEnable // MNetworkPriority "32" // MNetworkSerializer "gameSceneNodeStepSimulationAnglesSerializer" // MNetworkChangeCallback "gameSceneNodeLocalAnglesChanged" - QAngle m_angRotation; // 0xf0 + QAngle m_angRotation; // 0xf0 // MNetworkEnable // MNetworkChangeCallback "gameSceneNodeLocalScaleChanged" // MNetworkPriority "32" - float m_flScale; // 0xfc + float m_flScale; // 0xfc // MNetworkDisable - Vector m_vecAbsOrigin; // 0x100 + Vector m_vecAbsOrigin; // 0x100 // MNetworkDisable - QAngle m_angAbsRotation; // 0x10c + QAngle m_angAbsRotation; // 0x10c // MNetworkDisable - float m_flAbsScale; // 0x118 + float m_flAbsScale; // 0x118 // MNetworkDisable - int16_t m_nParentAttachmentOrBone; // 0x11c + int16_t m_nParentAttachmentOrBone; // 0x11c // MNetworkDisable - bool m_bDebugAbsOriginChanges; // 0x11e + bool m_bDebugAbsOriginChanges; // 0x11e // MNetworkDisable - bool m_bDormant; // 0x11f + bool m_bDormant; // 0x11f // MNetworkDisable - bool m_bForceParentToBeNetworked; // 0x120 + bool m_bForceParentToBeNetworked; // 0x120 + 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 - bitfield:1 m_bDirtyHierarchy; // 0x0 + uint8_t m_nHierarchicalDepth; // 0x123 // MNetworkDisable - bitfield:1 m_bDirtyBoneMergeInfo; // 0x0 + uint8_t m_nHierarchyType; // 0x124 // MNetworkDisable - bitfield:1 m_bNetworkedPositionChanged; // 0x0 - // MNetworkDisable - bitfield:1 m_bNetworkedAnglesChanged; // 0x0 - // MNetworkDisable - bitfield:1 m_bNetworkedScaleChanged; // 0x0 - // MNetworkDisable - bitfield:1 m_bWillBeCallingPostDataUpdate; // 0x0 - // MNetworkDisable - bitfield:1 m_bNotifyBoneTransformsChanged; // 0x0 - // MNetworkDisable - bitfield:1 m_bBoneMergeFlex; // 0x0 - // MNetworkDisable - bitfield:2 m_nLatchAbsOrigin; // 0x0 - // MNetworkDisable - bitfield:1 m_bDirtyBoneMergeBoneToRoot; // 0x0 - // MNetworkDisable - uint8_t m_nHierarchicalDepth; // 0x123 - // MNetworkDisable - uint8_t m_nHierarchyType; // 0x124 - // MNetworkDisable - uint8_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount; // 0x125 + uint8_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount; // 0x125 +private: + [[maybe_unused]] uint8_t __pad0126[0x2]; // 0x126 +public: // MNetworkEnable - CUtlStringToken m_name; // 0x128 + CUtlStringToken m_name; // 0x128 +private: + [[maybe_unused]] uint8_t __pad012c[0x14]; // 0x12c +public: // MNetworkEnable // MNetworkChangeCallback "gameSceneNodeHierarchyAttachmentChanged" - CUtlStringToken m_hierarchyAttachName; // 0x140 + CUtlStringToken m_hierarchyAttachName; // 0x140 // MNetworkDisable - float m_flZOffset; // 0x144 + float m_flZOffset; // 0x144 // MNetworkDisable - Vector m_vRenderOrigin; // 0x148 + Vector m_vRenderOrigin; // 0x148 }; -// Aligment: 8 -// Size: 64 +// Alignment: 8 +// Size: 0x40 class CNetworkedSequenceOperation { public: @@ -482,7 +647,7 @@ public: // MNetworkSerializer "minusone" // MNetworkChangeCallback "sequenceOpSequenceChanged" // MNetworkPriority "32" - HSequence m_hSequence; // 0x8 + HSequence m_hSequence; // 0x8 // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0" @@ -491,7 +656,7 @@ public: // MNetworkPriority "32" // MNetworkSendProxyRecipientsFilter // MNetworkUserGroup "m_flCycle" - float m_flPrevCycle; // 0xc + float m_flPrevCycle; // 0xc // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0" @@ -501,154 +666,179 @@ public: // MNetworkSendProxyRecipientsFilter // MNetworkUserGroup "m_flCycle" // MNetworkChangeCallback "sequenceOpCycleChanged" - float m_flCycle; // 0x10 + float m_flCycle; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags - CNetworkedQuantizedFloat m_flWeight; // 0x18 + CNetworkedQuantizedFloat m_flWeight; // 0x18 // MNetworkDisable - bool m_bSequenceChangeNetworked; // 0x30 + bool m_bSequenceChangeNetworked; // 0x30 // MNetworkDisable - bool m_bDiscontinuity; // 0x31 + bool m_bDiscontinuity; // 0x31 +private: + [[maybe_unused]] uint8_t __pad0032[0x2]; // 0x32 +public: // MNetworkDisable - float m_flPrevCycleFromDiscontinuity; // 0x34 + float m_flPrevCycleFromDiscontinuity; // 0x34 // MNetworkDisable - float m_flPrevCycleForAnimEventDetection; // 0x38 + float m_flPrevCycleForAnimEventDetection; // 0x38 }; -// Aligment: 6 -// Size: 80 +// Alignment: 6 +// Size: 0x50 class CNetworkedIKProceduralTargetContext { public: // MNetworkEnable - int32_t m_nChainIndex; // 0x20 + int32_t m_nChainIndex; // 0x20 // MNetworkEnable - int32_t m_nRuleIndex; // 0x24 + int32_t m_nRuleIndex; // 0x24 // MNetworkEnable - Vector m_vTargetPosition; // 0x28 + Vector m_vTargetPosition; // 0x28 // MNetworkEnable - Quaternion m_qTargetOrientation; // 0x34 + Quaternion m_qTargetOrientation; // 0x34 // MNetworkEnable // MNetworkPriority "48" - float m_flWeight; // 0x44 + float m_flWeight; // 0x44 // MNetworkEnable - bool m_bIsValid; // 0x48 + bool m_bIsValid; // 0x48 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CNetworkedIKContext { public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< CNetworkedIKProceduralTargetContext > m_ProceduralTargetContexts; // 0x8 + C_UtlVectorEmbeddedNetworkVar< CNetworkedIKProceduralTargetContext > m_ProceduralTargetContexts; // 0x8 }; -// Aligment: 8 -// Size: 576 +// Alignment: 8 +// Size: 0x240 class CModelState { public: // MNetworkEnable // MNetworkChangeCallback "skeletonModelChanged" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0xa0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0xa0 // MNetworkDisable - CUtlSymbolLarge m_ModelName; // 0xa8 + CUtlSymbolLarge m_ModelName; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00b0[0x38]; // 0xb0 +public: // MNetworkEnable - bool m_bClientClothCreationSuppressed; // 0xe8 + bool m_bClientClothCreationSuppressed; // 0xe8 +private: + [[maybe_unused]] uint8_t __pad00e9[0x9f]; // 0xe9 +public: // MNetworkEnable // MNetworkChangeCallback "skeletonMeshGroupMaskChanged" - uint64_t m_MeshGroupMask; // 0x188 + uint64_t m_MeshGroupMask; // 0x188 +private: + [[maybe_unused]] uint8_t __pad0190[0x9a]; // 0x190 +public: // MNetworkEnable // MNetworkChangeCallback "skeletonMotionTypeChanged" - int8_t m_nIdealMotionType; // 0x22a + int8_t m_nIdealMotionType; // 0x22a // MNetworkDisable - int8_t m_nForceLOD; // 0x22b + int8_t m_nForceLOD; // 0x22b // MNetworkDisable - bool m_bIsJiggleBonesEnabled; // 0x22c + bool m_bIsJiggleBonesEnabled; // 0x22c // MNetworkDisable - int8_t m_nClothUpdateFlags; // 0x22d + int8_t m_nClothUpdateFlags; // 0x22d }; -// Aligment: 12 -// Size: 1216 +// Alignment: 12 +// Size: 0x4c0 class CSkeletonInstance : public CGameSceneNode { public: // MNetworkEnable - CModelState m_modelState; // 0x170 + CModelState m_modelState; // 0x170 // MNetworkEnable // MNetworkChangeCallback "skeletonRenderingEnableChanged" - bool m_bIsRenderingEnabled; // 0x3b0 + bool m_bIsRenderingEnabled; // 0x3b0 // MNetworkEnable - bool m_bIsAnimationEnabled; // 0x3b1 + bool m_bIsAnimationEnabled; // 0x3b1 // MNetworkEnable - bool m_bUseParentRenderBounds; // 0x3b2 + bool m_bUseParentRenderBounds; // 0x3b2 // MNetworkDisable - bool m_bEnableIK; // 0x3b3 + bool m_bEnableIK; // 0x3b3 // MNetworkDisable - bool m_bDisableSolidCollisionsForHierarchy; // 0x3b4 - // MNetworkDisable - bitfield:1 m_bDirtyMotionType; // 0x0 - // MNetworkDisable - bitfield:1 m_bIsGeneratingLatchedParentSpaceState; // 0x0 + bool m_bDisableSolidCollisionsForHierarchy; // 0x3b4 + struct + { + // MNetworkDisable + uint8_t m_bDirtyMotionType: 1; + // MNetworkDisable + uint8_t m_bIsGeneratingLatchedParentSpaceState: 1; + uint32_t __pad1: 30; + }; // 32 bits // MNetworkEnable // MNetworkChangeCallback "skeletonMaterialGroupChanged" - CUtlStringToken m_materialGroup; // 0x3b8 + CUtlStringToken m_materialGroup; // 0x3b8 // MNetworkEnable - uint8_t m_nHitboxSet; // 0x3bc + uint8_t m_nHitboxSet; // 0x3bc +private: + [[maybe_unused]] uint8_t __pad03bd[0x4b]; // 0x3bd +public: // MNetworkEnable - float m_flIkMasterBlendValueCache; // 0x408 + float m_flIkMasterBlendValueCache; // 0x408 +private: + [[maybe_unused]] uint8_t __pad040c[0x4]; // 0x40c +public: // MNetworkEnable - CNetworkedIKContext m_NetworkedIKContext; // 0x410 + CNetworkedIKContext m_NetworkedIKContext; // 0x410 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class IntervalTimer { public: // MNetworkEnable - float m_timestamp; // 0x8 + float m_timestamp; // 0x8 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CountdownTimer { public: // MNetworkEnable - float m_duration; // 0x8 + float m_duration; // 0x8 // MNetworkEnable - float m_timestamp; // 0xc + float m_timestamp; // 0xc }; -// Aligment: 7 -// Size: 616 +// Alignment: 7 +// Size: 0x268 class CTimeline : public IntervalTimer { public: // MNetworkEnable - float32[64] m_flValues; // 0x10 + float m_flValues[64]; // 0x10 // MNetworkEnable - int32[64] m_nValueCounts; // 0x110 + int32_t m_nValueCounts[64]; // 0x110 // MNetworkEnable - int32_t m_nBucketCount; // 0x210 + int32_t m_nBucketCount; // 0x210 // MNetworkEnable - float m_flInterval; // 0x214 + float m_flInterval; // 0x214 // MNetworkEnable - float m_flFinalValue; // 0x218 + float m_flFinalValue; // 0x218 // MNetworkEnable - TimelineCompression_t m_nCompressionType; // 0x21c + TimelineCompression_t m_nCompressionType; // 0x21c // MNetworkEnable - bool m_bStopped; // 0x220 + bool m_bStopped; // 0x220 }; -// Aligment: 25 -// Size: 5808 +// Alignment: 25 +// Size: 0x16b0 class CAnimGraphNetworkedVariables { public: @@ -656,2139 +846,2413 @@ public: // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_BoolVariables" - C_NetworkUtlVectorBase< bool > m_NetBoolVariables; // 0x8 + C_NetworkUtlVectorBase< bool > m_NetBoolVariables; // 0x8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_ByteVariables" - C_NetworkUtlVectorBase< uint8 > m_NetByteVariables; // 0x20 + C_NetworkUtlVectorBase< uint8 > m_NetByteVariables; // 0x20 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_UInt16Variables" - C_NetworkUtlVectorBase< uint16 > m_NetUInt16Variables; // 0x38 + C_NetworkUtlVectorBase< uint16 > m_NetUInt16Variables; // 0x38 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_IntVariables" - C_NetworkUtlVectorBase< int32 > m_NetIntVariables; // 0x50 + C_NetworkUtlVectorBase< int32 > m_NetIntVariables; // 0x50 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_UInt32Variables" - C_NetworkUtlVectorBase< uint32 > m_NetUInt32Variables; // 0x68 + C_NetworkUtlVectorBase< uint32 > m_NetUInt32Variables; // 0x68 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_FloatVariables" - C_NetworkUtlVectorBase< float32 > m_NetFloatVariables; // 0x80 + C_NetworkUtlVectorBase< float32 > m_NetFloatVariables; // 0x80 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_VectorVariables" - C_NetworkUtlVectorBase< Vector > m_NetVectorVariables; // 0x98 + C_NetworkUtlVectorBase< Vector > m_NetVectorVariables; // 0x98 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_QuaternionVariables" - C_NetworkUtlVectorBase< Quaternion > m_NetQuaternionVariables; // 0xb0 + C_NetworkUtlVectorBase< Quaternion > m_NetQuaternionVariables; // 0xb0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredBoolVariables" - C_NetworkUtlVectorBase< bool > m_PredNetBoolVariables; // 0xc8 + C_NetworkUtlVectorBase< bool > m_PredNetBoolVariables; // 0xc8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredByteVariables" - C_NetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0xe0 + C_NetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0xe0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredUInt16Variables" - C_NetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0xf8 + C_NetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0xf8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredIntVariables" - C_NetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x110 + C_NetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x110 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredUInt32Variables" - C_NetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x128 + C_NetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x128 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredFloatVariables" - C_NetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x140 + C_NetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x140 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredVectorVariables" - C_NetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x158 + C_NetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x158 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredQuaternionVariables" - C_NetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0x170 + C_NetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0x170 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetBoolVariables" - C_NetworkUtlVectorBase< bool > m_LocalPredNetBoolVariables; // 0x188 + C_NetworkUtlVectorBase< bool > m_LocalPredNetBoolVariables; // 0x188 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetByteVariables" - C_NetworkUtlVectorBase< uint8 > m_LocalPredNetByteVariables; // 0x1a0 + C_NetworkUtlVectorBase< uint8 > m_LocalPredNetByteVariables; // 0x1a0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetUInt16Variables" - C_NetworkUtlVectorBase< uint16 > m_LocalPredNetUInt16Variables; // 0x1b8 + C_NetworkUtlVectorBase< uint16 > m_LocalPredNetUInt16Variables; // 0x1b8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetIntVariables" - C_NetworkUtlVectorBase< int32 > m_LocalPredNetIntVariables; // 0x1d0 + C_NetworkUtlVectorBase< int32 > m_LocalPredNetIntVariables; // 0x1d0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetUInt32Variables" - C_NetworkUtlVectorBase< uint32 > m_LocalPredNetUInt32Variables; // 0x1e8 + C_NetworkUtlVectorBase< uint32 > m_LocalPredNetUInt32Variables; // 0x1e8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetFloatVariables" - C_NetworkUtlVectorBase< float32 > m_LocalPredNetFloatVariables; // 0x200 + C_NetworkUtlVectorBase< float32 > m_LocalPredNetFloatVariables; // 0x200 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetVectorVariables" - C_NetworkUtlVectorBase< Vector > m_LocalPredNetVectorVariables; // 0x218 + C_NetworkUtlVectorBase< Vector > m_LocalPredNetVectorVariables; // 0x218 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetQuaternionVariables" - C_NetworkUtlVectorBase< Quaternion > m_LocalPredNetQuaternionVariables; // 0x230 + C_NetworkUtlVectorBase< Quaternion > m_LocalPredNetQuaternionVariables; // 0x230 +private: + [[maybe_unused]] uint8_t __pad0248[0x1454]; // 0x248 +public: // MNetworkEnable // MNetworkUserGroup "animationgraph" - float m_flLastTeleportTime; // 0x169c + float m_flLastTeleportTime; // 0x169c }; -// Aligment: 5 -// Size: 32 +// 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 + CUtlString m_sClassName; // 0x0 + float m_flAmount; // 0x18 + bool m_bRequired; // 0x1c + bool m_bBasechecked; // 0x1d + bool m_bValid; // 0x1e }; -// Aligment: 30 -// Size: 736 +// Alignment: 30 +// Size: 0x2e0 class CProjectedTextureBase { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hTargetEntity; // 0xc + CHandle< C_BaseEntity > m_hTargetEntity; // 0xc // MNetworkEnable - bool m_bState; // 0x10 + bool m_bState; // 0x10 // MNetworkEnable - bool m_bAlwaysUpdate; // 0x11 + bool m_bAlwaysUpdate; // 0x11 +private: + [[maybe_unused]] uint8_t __pad0012[0x2]; // 0x12 +public: // MNetworkEnable - float m_flLightFOV; // 0x14 + float m_flLightFOV; // 0x14 // MNetworkEnable - bool m_bEnableShadows; // 0x18 + bool m_bEnableShadows; // 0x18 // MNetworkEnable - bool m_bSimpleProjection; // 0x19 + bool m_bSimpleProjection; // 0x19 // MNetworkEnable - bool m_bLightOnlyTarget; // 0x1a + bool m_bLightOnlyTarget; // 0x1a // MNetworkEnable - bool m_bLightWorld; // 0x1b + bool m_bLightWorld; // 0x1b // MNetworkEnable - bool m_bCameraSpace; // 0x1c + bool m_bCameraSpace; // 0x1c +private: + [[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d +public: // MNetworkEnable - float m_flBrightnessScale; // 0x20 + float m_flBrightnessScale; // 0x20 // MNetworkEnable - Color m_LightColor; // 0x24 + Color m_LightColor; // 0x24 // MNetworkEnable - float m_flIntensity; // 0x28 + float m_flIntensity; // 0x28 // MNetworkEnable - float m_flLinearAttenuation; // 0x2c + float m_flLinearAttenuation; // 0x2c // MNetworkEnable - float m_flQuadraticAttenuation; // 0x30 + float m_flQuadraticAttenuation; // 0x30 // MNetworkEnable - bool m_bVolumetric; // 0x34 + bool m_bVolumetric; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0035[0x3]; // 0x35 +public: // MNetworkEnable - float m_flVolumetricIntensity; // 0x38 + float m_flVolumetricIntensity; // 0x38 // MNetworkEnable - float m_flNoiseStrength; // 0x3c + float m_flNoiseStrength; // 0x3c // MNetworkEnable - float m_flFlashlightTime; // 0x40 + float m_flFlashlightTime; // 0x40 // MNetworkEnable - uint32_t m_nNumPlanes; // 0x44 + uint32_t m_nNumPlanes; // 0x44 // MNetworkEnable - float m_flPlaneOffset; // 0x48 + float m_flPlaneOffset; // 0x48 // MNetworkEnable - float m_flColorTransitionTime; // 0x4c + float m_flColorTransitionTime; // 0x4c // MNetworkEnable - float m_flAmbient; // 0x50 + float m_flAmbient; // 0x50 // MNetworkEnable - char[512] m_SpotlightTextureName; // 0x54 + char m_SpotlightTextureName[512]; // 0x54 // MNetworkEnable - int32_t m_nSpotlightTextureFrame; // 0x254 + int32_t m_nSpotlightTextureFrame; // 0x254 // MNetworkEnable - uint32_t m_nShadowQuality; // 0x258 + uint32_t m_nShadowQuality; // 0x258 // MNetworkEnable // MNetworkBitCount "16" // MNetworkMinValue "0" // MNetworkMaxValue "500" // MNetworkEncodeFlags - float m_flNearZ; // 0x25c + float m_flNearZ; // 0x25c // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "0" // MNetworkMaxValue "1500" // MNetworkEncodeFlags - float m_flFarZ; // 0x260 + float m_flFarZ; // 0x260 // MNetworkEnable - float m_flProjectionSize; // 0x264 + float m_flProjectionSize; // 0x264 // MNetworkEnable - float m_flRotation; // 0x268 + float m_flRotation; // 0x268 // MNetworkEnable - bool m_bFlipHorizontal; // 0x26c -public: - static float &Get_m_flVisibleBBoxMinHeight() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CProjectedTextureBase")->m_static_fiels[0]->m_instance); } + 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);}; }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class C_RopeKeyframe::CPhysicsDelegate { public: - C_RopeKeyframe* m_pKeyframe; // 0x8 + C_RopeKeyframe* m_pKeyframe; // 0x8 }; -// Aligment: 1 -// Size: 24 -struct C_SceneEntity::QueuedEvents_t +// Alignment: 1 +// Size: 0x18 +struct C_SceneEntity__QueuedEvents_t { public: - float starttime; // 0x0 + float starttime; // 0x0 }; -// Aligment: 14 -// Size: 720 +// Alignment: 14 +// Size: 0x2d0 class CFlashlightEffect { public: - bool m_bIsOn; // 0x8 - bool m_bMuzzleFlashEnabled; // 0x18 - float m_flMuzzleFlashBrightness; // 0x1c - Quaternion m_quatMuzzleFlashOrientation; // 0x20 - Vector m_vecMuzzleFlashOrigin; // 0x30 - float m_flFov; // 0x3c - float m_flFarZ; // 0x40 - float m_flLinearAtten; // 0x44 - bool m_bCastsShadows; // 0x48 - float m_flCurrentPullBackDist; // 0x4c - CStrongHandle< InfoForResourceTypeCTextureBase > m_FlashlightTexture; // 0x50 - CStrongHandle< InfoForResourceTypeCTextureBase > m_MuzzleFlashTexture; // 0x58 - CWeakHandle< InfoForResourceTypeCTextureBase > m_hCurrentFlashlightTexture; // 0x60 - char[64] m_textureName; // 0x68 + bool m_bIsOn; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0xf]; // 0x9 +public: + bool m_bMuzzleFlashEnabled; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + float m_flMuzzleFlashBrightness; // 0x1c + Quaternion m_quatMuzzleFlashOrientation; // 0x20 + Vector m_vecMuzzleFlashOrigin; // 0x30 + float m_flFov; // 0x3c + float m_flFarZ; // 0x40 + float m_flLinearAtten; // 0x44 + bool m_bCastsShadows; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 +public: + float m_flCurrentPullBackDist; // 0x4c + CStrongHandle< InfoForResourceTypeCTextureBase > m_FlashlightTexture; // 0x50 + CStrongHandle< InfoForResourceTypeCTextureBase > m_MuzzleFlashTexture; // 0x58 + CWeakHandle< InfoForResourceTypeCTextureBase > m_hCurrentFlashlightTexture; // 0x60 + char m_textureName[64]; // 0x68 }; -// Aligment: 5 -// Size: 20 +// 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 + float m_flStartTime; // 0x0 + float m_flEndTime; // 0x4 + float m_flStartValue; // 0x8 + float m_flEndValue; // 0xc + int32_t m_nInterpType; // 0x10 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 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 }; -// Aligment: 15 -// Size: 208 +// Alignment: 15 +// Size: 0xd0 class 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_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 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IClientAlphaProperty { public: -// + // no members available }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class TimedEvent { public: - float m_TimeBetweenEvents; // 0x0 - float m_fNextEvent; // 0x4 + float m_TimeBetweenEvents; // 0x0 + float m_fNextEvent; // 0x4 }; -// Aligment: 8 -// Size: 48 +// Alignment: 8 +// Size: 0x30 struct VPhysicsCollisionAttribute_t { public: // MNetworkEnable - uint64_t m_nInteractsAs; // 0x8 + uint64_t m_nInteractsAs; // 0x8 // MNetworkEnable - uint64_t m_nInteractsWith; // 0x10 + uint64_t m_nInteractsWith; // 0x10 // MNetworkEnable - uint64_t m_nInteractsExclude; // 0x18 + uint64_t m_nInteractsExclude; // 0x18 // MNetworkEnable - uint32_t m_nEntityId; // 0x20 + uint32_t m_nEntityId; // 0x20 // MNetworkEnable - uint32_t m_nOwnerId; // 0x24 + uint32_t m_nOwnerId; // 0x24 // MNetworkEnable - uint16_t m_nHierarchyId; // 0x28 + uint16_t m_nHierarchyId; // 0x28 // MNetworkEnable - uint8_t m_nCollisionGroup; // 0x2a + uint8_t m_nCollisionGroup; // 0x2a // MNetworkEnable - uint8_t m_nCollisionFunctionMask; // 0x2b + uint8_t m_nCollisionFunctionMask; // 0x2b }; -// Aligment: 17 -// Size: 176 +// Alignment: 17 +// Size: 0xb0 class CCollisionProperty { public: // MNetworkEnable // MNetworkChangeCallback "CollisionAttributeChanged" - VPhysicsCollisionAttribute_t m_collisionAttribute; // 0x10 + VPhysicsCollisionAttribute_t m_collisionAttribute; // 0x10 // MNetworkEnable // MNetworkChangeCallback "OnUpdateOBB" - Vector m_vecMins; // 0x40 + Vector m_vecMins; // 0x40 // MNetworkEnable // MNetworkChangeCallback "OnUpdateOBB" - Vector m_vecMaxs; // 0x4c + Vector m_vecMaxs; // 0x4c +private: + [[maybe_unused]] uint8_t __pad0058[0x2]; // 0x58 +public: // MNetworkEnable // MNetworkChangeCallback "OnUpdateSolidFlags" - uint8_t m_usSolidFlags; // 0x5a + uint8_t m_usSolidFlags; // 0x5a // MNetworkEnable // MNetworkChangeCallback "OnUpdateSolidType" - SolidType_t m_nSolidType; // 0x5b + SolidType_t m_nSolidType; // 0x5b // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - uint8_t m_triggerBloat; // 0x5c + uint8_t m_triggerBloat; // 0x5c // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - SurroundingBoundsType_t m_nSurroundType; // 0x5d + SurroundingBoundsType_t m_nSurroundType; // 0x5d // MNetworkEnable - uint8_t m_CollisionGroup; // 0x5e + uint8_t m_CollisionGroup; // 0x5e // MNetworkEnable - bool m_bHitboxEnabled; // 0x5f - float m_flBoundingRadius; // 0x60 + bool m_bHitboxEnabled; // 0x5f + float m_flBoundingRadius; // 0x60 // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - Vector m_vecSpecifiedSurroundingMins; // 0x64 + Vector m_vecSpecifiedSurroundingMins; // 0x64 // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - Vector m_vecSpecifiedSurroundingMaxs; // 0x70 - Vector m_vecSurroundingMaxs; // 0x7c - Vector m_vecSurroundingMins; // 0x88 + Vector m_vecSpecifiedSurroundingMaxs; // 0x70 + Vector m_vecSurroundingMaxs; // 0x7c + Vector m_vecSurroundingMins; // 0x88 // MNetworkEnable - Vector m_vCapsuleCenter1; // 0x94 + Vector m_vCapsuleCenter1; // 0x94 // MNetworkEnable - Vector m_vCapsuleCenter2; // 0xa0 + Vector m_vCapsuleCenter2; // 0xa0 // MNetworkEnable - float m_flCapsuleRadius; // 0xac + float m_flCapsuleRadius; // 0xac }; -// Aligment: 10 -// Size: 152 +// 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 - 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 }; -// Aligment: 21 -// Size: 112 +// Alignment: 21 +// Size: 0x70 class CEffectData { public: // MNetworkEnable // MNetworkEncoder - Vector m_vOrigin; // 0x8 + Vector m_vOrigin; // 0x8 // MNetworkEnable // MNetworkEncoder - Vector m_vStart; // 0x14 + Vector m_vStart; // 0x14 // MNetworkEnable // MNetworkEncoder - Vector m_vNormal; // 0x20 + Vector m_vNormal; // 0x20 // MNetworkEnable // MNetworkEncoder - QAngle m_vAngles; // 0x2c + QAngle m_vAngles; // 0x2c // MNetworkEnable - CEntityHandle m_hEntity; // 0x38 + CEntityHandle m_hEntity; // 0x38 // MNetworkEnable - CEntityHandle m_hOtherEntity; // 0x3c + CEntityHandle m_hOtherEntity; // 0x3c // MNetworkEnable - float m_flScale; // 0x40 + float m_flScale; // 0x40 // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0" // MNetworkMaxValue "1023" // MNetworkEncodeFlags - float m_flMagnitude; // 0x44 + float m_flMagnitude; // 0x44 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "1023" // MNetworkEncodeFlags - float m_flRadius; // 0x48 + float m_flRadius; // 0x48 // MNetworkEnable - CUtlStringToken m_nSurfaceProp; // 0x4c + CUtlStringToken m_nSurfaceProp; // 0x4c // MNetworkEnable - CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > m_nEffectIndex; // 0x50 + CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > m_nEffectIndex; // 0x50 // MNetworkEnable - uint32_t m_nDamageType; // 0x58 + uint32_t m_nDamageType; // 0x58 // MNetworkEnable - uint8_t m_nPenetrate; // 0x5c + uint8_t m_nPenetrate; // 0x5c +private: + [[maybe_unused]] uint8_t __pad005d[0x1]; // 0x5d +public: // MNetworkEnable - uint16_t m_nMaterial; // 0x5e + uint16_t m_nMaterial; // 0x5e // MNetworkEnable - uint16_t m_nHitBox; // 0x60 + uint16_t m_nHitBox; // 0x60 // MNetworkEnable - uint8_t m_nColor; // 0x62 + uint8_t m_nColor; // 0x62 // MNetworkEnable - uint8_t m_fFlags; // 0x63 + uint8_t m_fFlags; // 0x63 // MNetworkEnable - AttachmentHandle_t m_nAttachmentIndex; // 0x64 + AttachmentHandle_t m_nAttachmentIndex; // 0x64 +private: + [[maybe_unused]] uint8_t __pad0065[0x3]; // 0x65 +public: // MNetworkEnable - CUtlStringToken m_nAttachmentName; // 0x68 + CUtlStringToken m_nAttachmentName; // 0x68 // MNetworkEnable - uint16_t m_iEffectName; // 0x6c + uint16_t m_iEffectName; // 0x6c // MNetworkEnable - uint8_t m_nExplosionType; // 0x6e + uint8_t m_nExplosionType; // 0x6e }; -// Aligment: 29 -// Size: 560 +// Alignment: 29 +// Size: 0x230 class C_EnvWindShared { public: // MNetworkEnable - float m_flStartTime; // 0x8 + float m_flStartTime; // 0x8 // MNetworkEnable - uint32_t m_iWindSeed; // 0xc + uint32_t m_iWindSeed; // 0xc // MNetworkEnable - uint16_t m_iMinWind; // 0x10 + uint16_t m_iMinWind; // 0x10 // MNetworkEnable - uint16_t m_iMaxWind; // 0x12 + uint16_t m_iMaxWind; // 0x12 // MNetworkEnable - int32_t m_windRadius; // 0x14 + int32_t m_windRadius; // 0x14 // MNetworkEnable - uint16_t m_iMinGust; // 0x18 + uint16_t m_iMinGust; // 0x18 // MNetworkEnable - uint16_t m_iMaxGust; // 0x1a + uint16_t m_iMaxGust; // 0x1a // MNetworkEnable - float m_flMinGustDelay; // 0x1c + float m_flMinGustDelay; // 0x1c // MNetworkEnable - float m_flMaxGustDelay; // 0x20 + float m_flMaxGustDelay; // 0x20 // MNetworkEnable - float m_flGustDuration; // 0x24 + float m_flGustDuration; // 0x24 // MNetworkEnable - uint16_t m_iGustDirChange; // 0x28 + 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 + 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 + uint16_t m_iInitialWindDir; // 0x68 +private: + [[maybe_unused]] uint8_t __pad006a[0x2]; // 0x6a +public: // MNetworkEnable - float m_flInitialWindSpeed; // 0x6c - float m_flVariationTime; // 0x70 - float m_flSwayTime; // 0x74 - float m_flSimTime; // 0x78 - float m_flSwitchTime; // 0x7c - float m_flAveWindSpeed; // 0x80 - bool m_bGusting; // 0x84 - float m_flWindAngleVariation; // 0x88 - float m_flWindSpeedVariation; // 0x8c - CEntityIndex m_iEntIndex; // 0x90 + float m_flInitialWindSpeed; // 0x6c + float m_flVariationTime; // 0x70 + float m_flSwayTime; // 0x74 + float m_flSimTime; // 0x78 + float 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 }; -// Aligment: 2 -// Size: 8 -struct C_EnvWindShared::WindAveEvent_t +// Alignment: 2 +// Size: 0x8 +struct C_EnvWindShared__WindAveEvent_t { public: - float m_flStartWindSpeed; // 0x0 - float m_flAveWindSpeed; // 0x4 + float m_flStartWindSpeed; // 0x0 + float m_flAveWindSpeed; // 0x4 }; -// Aligment: 2 -// Size: 8 -struct C_EnvWindShared::WindVariationEvent_t +// Alignment: 2 +// Size: 0x8 +struct C_EnvWindShared__WindVariationEvent_t { public: - float m_flWindAngleVariation; // 0x0 - float m_flWindSpeedVariation; // 0x4 + float m_flWindAngleVariation; // 0x0 + float m_flWindSpeedVariation; // 0x4 }; -// Aligment: 13 -// Size: 96 +// Alignment: 13 +// Size: 0x60 struct shard_model_desc_t { public: // MNetworkEnable - int32_t m_nModelID; // 0x8 + int32_t m_nModelID; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x10 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x10 // MNetworkEnable - ShardSolid_t m_solid; // 0x18 + ShardSolid_t m_solid; // 0x18 // MNetworkEnable - ShatterPanelMode m_ShatterPanelMode; // 0x19 + ShatterPanelMode m_ShatterPanelMode; // 0x19 +private: + [[maybe_unused]] uint8_t __pad001a[0x2]; // 0x1a +public: // MNetworkEnable - Vector2D m_vecPanelSize; // 0x1c + Vector2D m_vecPanelSize; // 0x1c // MNetworkEnable - Vector2D m_vecStressPositionA; // 0x24 + Vector2D m_vecStressPositionA; // 0x24 // MNetworkEnable - Vector2D m_vecStressPositionB; // 0x2c + Vector2D m_vecStressPositionB; // 0x2c +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: // MNetworkEnable - C_NetworkUtlVectorBase< Vector2D > m_vecPanelVertices; // 0x38 + C_NetworkUtlVectorBase< Vector2D > m_vecPanelVertices; // 0x38 // MNetworkEnable - float m_flGlassHalfThickness; // 0x50 + float m_flGlassHalfThickness; // 0x50 // MNetworkEnable - bool m_bHasParent; // 0x54 + bool m_bHasParent; // 0x54 // MNetworkEnable - bool m_bParentFrozen; // 0x55 + bool m_bParentFrozen; // 0x55 +private: + [[maybe_unused]] uint8_t __pad0056[0x2]; // 0x56 +public: // MNetworkEnable - CUtlStringToken m_SurfacePropStringToken; // 0x58 + CUtlStringToken m_SurfacePropStringToken; // 0x58 // MNetworkEnable - CUtlStringToken m_LightGroup; // 0x5c + CUtlStringToken m_LightGroup; // 0x5c }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class C_GameRules { public: -// + // no members available }; -// Aligment: 10 -// Size: 80 +// Alignment: 10 +// Size: 0x50 class CGlowProperty { public: - Vector m_fGlowColor; // 0x8 - int32_t m_iGlowTeam; // 0x14 + Vector m_fGlowColor; // 0x8 + int32_t m_iGlowTeam; // 0x14 +private: + [[maybe_unused]] uint8_t __pad0018[0x18]; // 0x18 +public: // MNetworkEnable // MNetworkChangeCallback "OnGlowTypeChanged" - int32_t m_iGlowType; // 0x30 + int32_t m_iGlowType; // 0x30 // MNetworkEnable - int32_t m_nGlowRange; // 0x34 + int32_t m_nGlowRange; // 0x34 // MNetworkEnable - int32_t m_nGlowRangeMin; // 0x38 + int32_t m_nGlowRangeMin; // 0x38 // MNetworkEnable // MNetworkChangeCallback "OnGlowColorChanged" - Color m_glowColorOverride; // 0x3c + Color m_glowColorOverride; // 0x3c // MNetworkEnable - bool m_bFlashing; // 0x40 + bool m_bFlashing; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: // MNetworkEnable - float m_flGlowTime; // 0x44 + float m_flGlowTime; // 0x44 // MNetworkEnable - float m_flGlowStartTime; // 0x48 - bool m_bGlowing; // 0x4c + float m_flGlowStartTime; // 0x48 + bool m_bGlowing; // 0x4c }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class C_MultiplayRules : public C_GameRules { public: -// + // no members available }; -// Aligment: 24 -// Size: 104 +// Alignment: 24 +// Size: 0x68 struct fogparams_t { public: // MNetworkEnable // MNetworkEncoder - Vector dirPrimary; // 0x8 + Vector dirPrimary; // 0x8 // MNetworkEnable - Color colorPrimary; // 0x14 + Color colorPrimary; // 0x14 // MNetworkEnable - Color colorSecondary; // 0x18 + Color colorSecondary; // 0x18 // MNetworkEnable // MNetworkUserGroup "FogController" - Color colorPrimaryLerpTo; // 0x1c + Color colorPrimaryLerpTo; // 0x1c // MNetworkEnable // MNetworkUserGroup "FogController" - Color colorSecondaryLerpTo; // 0x20 + Color colorSecondaryLerpTo; // 0x20 // MNetworkEnable - float start; // 0x24 + float start; // 0x24 // MNetworkEnable - float end; // 0x28 + float end; // 0x28 // MNetworkEnable // MNetworkUserGroup "FogController" - float farz; // 0x2c + float farz; // 0x2c // MNetworkEnable - float maxdensity; // 0x30 + float maxdensity; // 0x30 // MNetworkEnable - float exponent; // 0x34 + float exponent; // 0x34 // MNetworkEnable - float HDRColorScale; // 0x38 + float HDRColorScale; // 0x38 // MNetworkEnable // MNetworkUserGroup "FogController" - float skyboxFogFactor; // 0x3c + float skyboxFogFactor; // 0x3c // MNetworkEnable // MNetworkUserGroup "FogController" - float skyboxFogFactorLerpTo; // 0x40 + float skyboxFogFactorLerpTo; // 0x40 // MNetworkEnable // MNetworkUserGroup "FogController" - float startLerpTo; // 0x44 + float startLerpTo; // 0x44 // MNetworkEnable // MNetworkUserGroup "FogController" - float endLerpTo; // 0x48 + float endLerpTo; // 0x48 // MNetworkEnable // MNetworkUserGroup "FogController" - float maxdensityLerpTo; // 0x4c + float maxdensityLerpTo; // 0x4c // MNetworkEnable // MNetworkUserGroup "FogController" - float lerptime; // 0x50 + float lerptime; // 0x50 // MNetworkEnable // MNetworkUserGroup "FogController" - float duration; // 0x54 + float duration; // 0x54 // MNetworkEnable // MNetworkUserGroup "FogController" - float blendtobackground; // 0x58 + float blendtobackground; // 0x58 // MNetworkEnable // MNetworkUserGroup "FogController" - float scattering; // 0x5c + float scattering; // 0x5c // MNetworkEnable - bool enable; // 0x60 + bool enable; // 0x60 // MNetworkEnable - bool blend; // 0x61 + bool blend; // 0x61 // MNetworkEnable - bool m_bNoReflectionFog; // 0x62 - bool m_bPadding; // 0x63 + bool m_bNoReflectionFog; // 0x62 + bool m_bPadding; // 0x63 }; -// Aligment: 14 -// Size: 64 +// 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 + 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 }; -// Aligment: 6 -// Size: 144 +// Alignment: 6 +// Size: 0x90 struct sky3dparams_t { public: // MNetworkEnable - int16_t scale; // 0x8 + int16_t scale; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa +public: // MNetworkEnable // MNetworkEncoder - Vector origin; // 0xc + Vector origin; // 0xc // MNetworkEnable - bool bClip3DSkyBoxNearToWorldFar; // 0x18 + bool bClip3DSkyBoxNearToWorldFar; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: // MNetworkEnable - float flClip3DSkyBoxNearToWorldFarOffset; // 0x1c + float flClip3DSkyBoxNearToWorldFarOffset; // 0x1c // MNetworkEnable - fogparams_t fog; // 0x20 + fogparams_t fog; // 0x20 // MNetworkEnable - CUtlStringToken m_nWorldGroupID; // 0x88 + CUtlStringToken m_nWorldGroupID; // 0x88 }; -// Aligment: 4 -// Size: 40 +// Alignment: 4 +// Size: 0x28 class C_CSequenceTransitioner { public: - CUtlVector< CAnimationLayer > m_animationQueue; // 0x0 - bool m_bIsInSimulation; // 0x18 - float m_flSimOrRenderTime; // 0x1c - float m_flInterpolatedTime; // 0x20 + CUtlVector< CAnimationLayer > m_animationQueue; // 0x0 + bool m_bIsInSimulation; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + float m_flSimOrRenderTime; // 0x1c + float m_flInterpolatedTime; // 0x20 }; -// Aligment: 7 -// Size: 96 +// Alignment: 7 +// Size: 0x60 struct TransitioningLayer_t { public: - CNetworkedSequenceOperation m_op; // 0x8 - float m_flStartAnimTime; // 0x48 - float m_flStartWeight; // 0x4c - float m_flAnimTime; // 0x50 - int32_t m_nOrder; // 0x54 - float m_flPlaybackRate; // 0x58 - float m_flFadeOutDuration; // 0x5c + CNetworkedSequenceOperation m_op; // 0x8 + float m_flStartAnimTime; // 0x48 + float m_flStartWeight; // 0x4c + float m_flAnimTime; // 0x50 + int32_t m_nOrder; // 0x54 + float m_flPlaybackRate; // 0x58 + float m_flFadeOutDuration; // 0x5c }; -// Aligment: 5 -// Size: 568 +// Alignment: 5 +// Size: 0x238 class C_CSequenceTransitioner2 { public: - CNetworkedSequenceOperation m_currentOp; // 0x8 - float m_flCurrentPlaybackRate; // 0x48 - float m_flCurrentAnimTime; // 0x4c - TransitioningLayer_t[4] m_transitioningLayers; // 0x50 - C_BaseAnimatingController* m_pOwner; // 0x1d0 + CNetworkedSequenceOperation m_currentOp; // 0x8 + float m_flCurrentPlaybackRate; // 0x48 + float m_flCurrentAnimTime; // 0x4c + TransitioningLayer_t m_transitioningLayers[4]; // 0x50 + C_BaseAnimatingController* m_pOwner; // 0x1d0 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class C_SingleplayRules : public C_GameRules { public: -// + // no members available }; -// Aligment: 0 -// Size: 8 -class C_TeamplayRules : public C_MultiplayRules, C_GameRules +// Alignment: 0 +// Size: 0x8 +class C_TeamplayRules : public C_MultiplayRules { public: -// + // no members available }; -// Aligment: 18 -// Size: 128 +// Alignment: 18 +// Size: 0x80 struct C_ViewSmoothingData_t { public: - C_BaseAnimating* pVehicle; // 0x0 - bool bClampEyeAngles; // 0x8 - float flPitchCurveZero; // 0xc - float flPitchCurveLinear; // 0x10 - float flRollCurveZero; // 0x14 - float flRollCurveLinear; // 0x18 - float flFOV; // 0x1c - ViewLockData_t pitchLockData; // 0x20 - ViewLockData_t rollLockData; // 0x30 - bool bDampenEyePosition; // 0x40 - bool bRunningEnterExit; // 0x41 - bool bWasRunningAnim; // 0x42 - float flEnterExitStartTime; // 0x44 - float flEnterExitDuration; // 0x48 - QAngle vecAnglesSaved; // 0x4c - Vector vecOriginSaved; // 0x58 - QAngle vecAngleDiffSaved; // 0x64 - QAngle vecAngleDiffMin; // 0x70 + C_BaseAnimating* pVehicle; // 0x0 + bool bClampEyeAngles; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x3]; // 0x9 +public: + float flPitchCurveZero; // 0xc + float flPitchCurveLinear; // 0x10 + float flRollCurveZero; // 0x14 + float flRollCurveLinear; // 0x18 + float flFOV; // 0x1c + ViewLockData_t pitchLockData; // 0x20 + ViewLockData_t rollLockData; // 0x30 + bool bDampenEyePosition; // 0x40 + bool bRunningEnterExit; // 0x41 + bool bWasRunningAnim; // 0x42 +private: + [[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43 +public: + float flEnterExitStartTime; // 0x44 + float flEnterExitDuration; // 0x48 + QAngle vecAnglesSaved; // 0x4c + Vector vecOriginSaved; // 0x58 + QAngle vecAngleDiffSaved; // 0x64 + QAngle vecAngleDiffMin; // 0x70 }; -// Aligment: 11 -// Size: 424 +// Alignment: 11 +// Size: 0x1a8 class CAI_BaseNPCVData : public CEntitySubclassVDataBase { public: // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 // MPropertyGroupName "Sounds" - CFootstepTableHandle m_hFootstepSounds; // 0x108 - int32_t m_nMaxHealth; // 0x110 - CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x118 - CUtlVector< NPCAttachmentDesc_t > m_vecAttachments; // 0x130 + CFootstepTableHandle m_hFootstepSounds; // 0x108 + int32_t m_nMaxHealth; // 0x110 +private: + [[maybe_unused]] uint8_t __pad0114[0x4]; // 0x114 +public: + CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x118 + CUtlVector< NPCAttachmentDesc_t > m_vecAttachments; // 0x130 // MPropertyGroupName "Damage" - CSkillFloat m_flHeadDamageMultiplier; // 0x148 + CSkillFloat m_flHeadDamageMultiplier; // 0x148 // MPropertyGroupName "Damage" - CSkillFloat m_flChestDamageMultiplier; // 0x158 + CSkillFloat m_flChestDamageMultiplier; // 0x158 // MPropertyGroupName "Damage" - CSkillFloat m_flStomachDamageMultiplier; // 0x168 + CSkillFloat m_flStomachDamageMultiplier; // 0x168 // MPropertyGroupName "Damage" - CSkillFloat m_flArmDamageMultiplier; // 0x178 + CSkillFloat m_flArmDamageMultiplier; // 0x178 // MPropertyGroupName "Damage" - CSkillFloat m_flLegDamageMultiplier; // 0x188 + CSkillFloat m_flLegDamageMultiplier; // 0x188 // MPropertyGroupName "Damage" - CSkillInt m_nMaxAdditionalAmmoBalancingShots; // 0x198 + CSkillInt m_nMaxAdditionalAmmoBalancingShots; // 0x198 }; -// Aligment: 6 -// Size: 40 +// Alignment: 6 +// Size: 0x28 struct NPCAbilityTarget_t { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_NetworkVar_PathIndex; // 0x8 + ChangeAccessorFieldPathIndex_t m_NetworkVar_PathIndex; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa +public: // MNetworkEnable - CHandle< C_BaseEntity > m_hTargetEntity; // 0xc + CHandle< C_BaseEntity > m_hTargetEntity; // 0xc // MNetworkEnable - BodyLocations_t m_locTargetEntityBodyLocation; // 0x10 + BodyLocations_t m_locTargetEntityBodyLocation; // 0x10 // MNetworkEnable - TargetOriginType_t m_locGatherTargetEntityOriginType; // 0x14 + TargetOriginType_t m_locGatherTargetEntityOriginType; // 0x14 // MNetworkEnable - TargetOriginType_t m_locUsageTargetEntityOriginType; // 0x18 + TargetOriginType_t m_locUsageTargetEntityOriginType; // 0x18 // MNetworkEnable - Vector m_vecWorldPosition; // 0x1c + Vector m_vecWorldPosition; // 0x1c }; -// Aligment: 19 -// Size: 616 -class CAI_DefaultNPCVData : public CAI_BaseNPCVData, CEntitySubclassVDataBase +// Alignment: 19 +// Size: 0x268 +class CAI_DefaultNPCVData : public CAI_BaseNPCVData { public: - Class_T m_nClassifyAs; // 0x1a8 + Class_T m_nClassifyAs; // 0x1a8 // MPropertyGroupName "Flinching" - CRangeFloat m_flInterruptFlinchCooldown; // 0x1ac + CRangeFloat m_flInterruptFlinchCooldown; // 0x1ac // MPropertyGroupName "Flinching" - CRangeFloat m_flNonInterruptFlinchCooldown; // 0x1b4 + CRangeFloat m_flNonInterruptFlinchCooldown; // 0x1b4 // MPropertyGroupName "Flinching" // MPropertyDescription "When checking for flinch movement clearance, this is the minimum distance that must be clear for us to do a large flinch." - float m_flFlinchClearDistanceForLarge; // 0x1bc + float m_flFlinchClearDistanceForLarge; // 0x1bc // MPropertyGroupName "Flinching" // MPropertyDescription "When checking for flinch movement clearance, this is the minimum distance that must be clear for us to do a small flinch. If this distance isn't clear, we'll choose a stationary flinch." - float m_flFlinchClearDistanceForSmall; // 0x1c0 + float m_flFlinchClearDistanceForSmall; // 0x1c0 // MPropertyGroupName "Flinching" // MPropertyDescription "when hit by DMG_TMPRAGDOLL, this is the minimum amount of time this npc will stay in tmp ragdoll (scaled by damage)" - CSkillFloat m_flTmpRagdollDamageTimeMin; // 0x1c4 + CSkillFloat m_flTmpRagdollDamageTimeMin; // 0x1c4 // MPropertyGroupName "Flinching" // MPropertyDescription "when hit by DMG_TMPRAGDOLL, this is the maximum amount of time this npc will stay in tmp ragdoll (scaled by damage)" - CSkillFloat m_flTmpRagdollDamageTimeMax; // 0x1d4 + CSkillFloat m_flTmpRagdollDamageTimeMax; // 0x1d4 +private: + [[maybe_unused]] uint8_t __pad01e4[0x4]; // 0x1e4 +public: // MPropertyGroupName "Sounds" - CSoundEventName m_sDeathSound; // 0x1e8 + CSoundEventName m_sDeathSound; // 0x1e8 // MPropertyGroupName "Sounds" - CSoundEventName m_sPainSound; // 0x1f8 + CSoundEventName m_sPainSound; // 0x1f8 // MPropertyDescription "If the distance between the nearest point on a hitscan bullet's trajectory and this NPC's eyes is less than this react amount, this NPC will be notified of the incoming fire via the WarnOfIncomingFire() virtual." - CRangeFloat m_flIncomingFireDistance; // 0x208 + CRangeFloat m_flIncomingFireDistance; // 0x208 // MPropertyDescription "Abilities are things like alt-fire or even weapon upgrades" - CUtlVector< NPCAbilityDesc_t > m_vecAbilities; // 0x210 + CUtlVector< NPCAbilityDesc_t > m_vecAbilities; // 0x210 // MPropertyFriendlyName "Auto Unholster Held Ability" // MPropertyDescription "If set, the NPC will automatically unholster the first held ability it's granted." - bool m_bAutoUnholsterHeldAbility; // 0x228 + bool m_bAutoUnholsterHeldAbility; // 0x228 // MPropertyGroupName "Throw & Catch" - bool m_bCatchThrownProps; // 0x229 + bool m_bCatchThrownProps; // 0x229 // MPropertyGroupName "Throw & Catch" // MPropertyDescription "If already holding an item, drop it when another item is thrown at us." // MPropertySuppressExpr "m_bCatchThrownProps == 0" - bool m_bDropHeldItemOnThrownCollision; // 0x22a + bool m_bDropHeldItemOnThrownCollision; // 0x22a +private: + [[maybe_unused]] uint8_t __pad022b[0x5]; // 0x22b +public: // MPropertyGroupName "Throw & Catch" // MPropertyDescription "Graph param that will be set when the entity knows something has been thrown to them (the prop is still in the air)" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" // MPropertySuppressExpr "m_bCatchThrownProps == 0" - CUtlString m_sReadyCatchAnimgraphParam; // 0x230 + CUtlString m_sReadyCatchAnimgraphParam; // 0x230 // MPropertyGroupName "Throw & Catch" // MPropertyDescription "Graph param that will be set the moment the thrown prop reaches them." // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" // MPropertySuppressExpr "m_bCatchThrownProps == 0" - CUtlString m_sCatchAnimgraphParam; // 0x238 + CUtlString m_sCatchAnimgraphParam; // 0x238 // MPropertyGroupName "Throw & Catch" // MPropertyDescription "Graph param that will be set the moment the thrown prop reaches them." // MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )" // MPropertySuppressExpr "m_bCatchThrownProps == 0" - CUtlString m_sCatchAttachmentName; // 0x240 + CUtlString m_sCatchAttachmentName; // 0x240 // MPropertyGroupName "Throw & Catch" // MPropertyDescription "If this NPC supports catching and throwing, show interest in props with any of these string attributes." // MPropertySuppressExpr "m_bCatchThrownProps == 0" - CUtlVector< CUtlString > m_CatchablePropAttriburtes; // 0x248 + CUtlVector< CUtlString > m_CatchablePropAttriburtes; // 0x248 // MPropertyDescription "If non-empty, this refers to a squad mode entry in npc_squad_modes.txt. The first NPC to be added to a squad will use this mode as the squad mode." - CUtlString m_sDefaultSquadMode; // 0x260 + CUtlString m_sDefaultSquadMode; // 0x260 }; -// Aligment: 3 -// Size: 856 -class CAI_BaseActorVData : public CAI_DefaultNPCVData, CAI_BaseNPCVData, CEntitySubclassVDataBase +// Alignment: 3 +// Size: 0x358 +class CAI_BaseActorVData : public CAI_DefaultNPCVData { public: // MPropertyFriendlyName "Mood File" // MPropertyGroupName "Acting" // MPropertyAttributeEditor "AssetBrowse( vdata )" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCVDataResource > > m_hMoodFile; // 0x268 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCVDataResource > > m_hMoodFile; // 0x268 // MPropertyFriendlyName "Actor Name" // MPropertyGroupName "Acting" - CUtlString m_sActorName; // 0x348 + CUtlString m_sActorName; // 0x348 // MPropertyGroupName "Acting" - ActorClasses_t m_nActorClass; // 0x350 + ActorClasses_t m_nActorClass; // 0x350 }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 struct AWS_AbilityUsageData_t { public: // MNetworkEnable - CUtlStringToken m_nAbilityID; // 0x8 - AbilityPathType_t m_PathTypeToBeUsed; // 0xc - bool m_bRestrictToDuringResolution; // 0x10 + CUtlStringToken m_nAbilityID; // 0x8 + AbilityPathType_t m_PathTypeToBeUsed; // 0xc + bool m_bRestrictToDuringResolution; // 0x10 }; -// Aligment: 4 -// Size: 104 +// Alignment: 4 +// Size: 0x68 class CAI_AbilityServices : public CAI_Component { public: // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< CBaseNPCAbility > > m_vecAbilities; // 0x18 + C_NetworkUtlVectorBase< CHandle< CBaseNPCAbility > > m_vecAbilities; // 0x18 // MNetworkEnable - AWS_AbilityUsageData_t m_AbilityToBeUsed; // 0x30 + AWS_AbilityUsageData_t m_AbilityToBeUsed; // 0x30 // MNetworkEnable - AWS_AbilityUsageData_t m_AbilityBeingUsed; // 0x48 + AWS_AbilityUsageData_t m_AbilityBeingUsed; // 0x48 // MNetworkEnable - bool m_bInAbilityUseSchedule; // 0x60 + bool m_bInAbilityUseSchedule; // 0x60 }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 class CAI_StanceServices : public CAI_Component { public: // MNetworkEnable - StanceType_t m_nCurrentStance; // 0x18 + StanceType_t m_nCurrentStance; // 0x18 }; -// Aligment: 62 -// Size: 952 +// Alignment: 62 +// Size: 0x3b8 class CBaseNPCAbilityVData : public CEntitySubclassVDataBase { public: // MPropertyDescription "Priority relative to other abilities on this NPC. All abilities will be evaluated, and the highest priority one that passes its evaluation step will be used." - int32_t m_nPriority; // 0x28 + int32_t m_nPriority; // 0x28 // MPropertyDescription "Does this ability operate on the current enemy?" // MPropertyGroupName "Evaluating" - bool m_bAbilityOperatesOnCurrentEnemy; // 0x2c + bool m_bAbilityOperatesOnCurrentEnemy; // 0x2c // MPropertyDescription "Must this ability be held (only 1 can be held at a time) to be active?" - bool m_bMustBeHeld; // 0x2d + bool m_bMustBeHeld; // 0x2d +private: + [[maybe_unused]] uint8_t __pad002e[0x2]; // 0x2e +public: // MPropertyDescription "Only used for held abilities. Should be the desired value of the 'e_weapon' animgraph variable on this NPC, when it is holding this Ability." - CUtlString m_sDeployedAnimgraphWeaponEnum; // 0x30 + CUtlString m_sDeployedAnimgraphWeaponEnum; // 0x30 // MPropertyDescription "Model to be bonemerged to the parent NPC" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x38 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x38 // MPropertyDescription "Entity to be bonemerged to the parent NPC" // MPropertyGroupName "Visuals" - CEmbeddedSubclass< C_BaseEntity > m_hModelEntity; // 0x118 + CEmbeddedSubclass< C_BaseEntity > m_hModelEntity; // 0x118 // MPropertyDescription "Allows the ability to override body locations specified in the owner NPC" // MPropertyGroupName "Visuals" - CUtlMap< BodyLocations_t, NPCAbilityBodyLocationOverride_t > m_mapBodyLocationOverrides; // 0x128 + CUtlMap< BodyLocations_t, NPCAbilityBodyLocationOverride_t > m_mapBodyLocationOverrides; // 0x128 // MPropertyDescription "Model used by the tools only to populate comboboxes for things like animgraph parameter pickers" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sToolsOnlyOwnerModelName; // 0x148 - CUtlMap< NPCAbilitySound_t, CSoundEventName > m_mapAbilitySounds; // 0x228 - CSkillDamage m_damageInfo; // 0x248 - DamageTypes_t m_nDamageType; // 0x25c - CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x260 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sToolsOnlyOwnerModelName; // 0x148 + CUtlMap< NPCAbilitySound_t, CSoundEventName > m_mapAbilitySounds; // 0x228 + CSkillDamage m_damageInfo; // 0x248 + DamageTypes_t m_nDamageType; // 0x25c + CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x260 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType - AmmoIndex_t m_iAmmoType; // 0x278 + AmmoIndex_t m_iAmmoType; // 0x278 +private: + [[maybe_unused]] uint8_t __pad0279[0x3]; // 0x279 +public: // MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)" // MPropertyAttributeRange "0 100" // MPropertyGroupName "Ammo" - int32_t m_nMaxAmmo; // 0x27c + int32_t m_nMaxAmmo; // 0x27c // MPropertyDescription "If set, and this is a Secondary ability attached to a Primary one, this Ability will require/consume the ammunition of the Primary ability, not its own." // MPropertyGroupName "Ammo" - bool m_bUsePrimaryAbilityAmmo; // 0x280 + bool m_bUsePrimaryAbilityAmmo; // 0x280 +private: + [[maybe_unused]] uint8_t __pad0281[0x3]; // 0x281 +public: // MPropertyGroupName "Range" // MPropertyDescription "Min Range. By default, this corresponds both to the range at which the ability will be seeked (for schedule selection) as well as used. You can separately override the 'move to' range to cause the system to attempt to move to use range automatically." - float m_fMinRange; // 0x284 + float m_fMinRange; // 0x284 // MPropertyGroupName "Range" // MPropertyDescription "Max Range. By default, this corresponds both to the range at which the ability will be seeked (for schedule selection) as well as used. You can separately override the 'move to' range to cause the system to attempt to move to use range automatically." - float m_fMaxRange; // 0x288 + float m_fMaxRange; // 0x288 // MPropertyGroupName "Range" - float m_fMinAdvanceToRange; // 0x28c + float m_fMinAdvanceToRange; // 0x28c // MPropertyGroupName "Range" // MPropertyDescription "Min Range to move to before using the ability ( <0 on both min + max disables move to )" - float m_flMinMoveToRange; // 0x290 + float m_flMinMoveToRange; // 0x290 // MPropertyGroupName "Range" // MPropertyDescription "Max Range to move to before using the ability ( <0 on both min + max disables move to )" - float m_flMaxMoveToRange; // 0x294 + float m_flMaxMoveToRange; // 0x294 // MPropertyDescription "When cooling down yourself, or squadmates, if this name is specified, it will cool down all abilities with the same scope name. Useful to put all grenade throws on a shared cooldown for example." // MPropertyGroupName "Cooldown" - CUtlString m_sSharedCooldownName; // 0x298 + CUtlString m_sSharedCooldownName; // 0x298 // MPropertyDescription "The amount of time after using this ability before it can be used again." // MPropertyGroupName "Cooldown" - CRangeFloat m_flCooldownDuration; // 0x2a0 + CRangeFloat m_flCooldownDuration; // 0x2a0 // MPropertyDescription "If set, use of this ability will also cause squad mates to delay their usage of this same ability." // MPropertyGroupName "Cooldown" - CRangeFloat m_flCooldownDurationSquadMates; // 0x2a8 + CRangeFloat m_flCooldownDurationSquadMates; // 0x2a8 // MPropertyDescription "Should this ability start on cooldown?" // MPropertyGroupName "Cooldown" - bool m_bStartOnCooldown; // 0x2b0 + bool m_bStartOnCooldown; // 0x2b0 +private: + [[maybe_unused]] uint8_t __pad02b1[0x3]; // 0x2b1 +public: // MPropertyDescription "The amount of time after using this ability before the NPC is allowed to use *any* of its abilities." // MPropertyGroupName "Cooldown" - CRangeFloat m_flAttackDelay; // 0x2b4 + CRangeFloat m_flAttackDelay; // 0x2b4 // MPropertyDescription "Can this ability interrupt other schedules?" // MPropertyGroupName "Evaluating" - bool m_bCanInterruptSchedules; // 0x2bc + bool m_bCanInterruptSchedules; // 0x2bc // MPropertyDescription "Should this ability attempt to suggest a schedule how to get into position in order to use it? An NPC can only seek to get one ability usable at a time." // MPropertyGroupName "Evaluating" - bool m_bShouldSeekToBeUsable; // 0x2bd + bool m_bShouldSeekToBeUsable; // 0x2bd +private: + [[maybe_unused]] uint8_t __pad02be[0x2]; // 0x2be +public: // MPropertyDescription "If the ability usage evaluation indicates it cannot be used, this is the delay before the ability can check again." // MPropertyGroupName "Evaluating" - CRangeFloat m_flEvaluationDelay; // 0x2c0 + CRangeFloat m_flEvaluationDelay; // 0x2c0 // MPropertyDescription "Body location on the owning NPC to use for gathering LOS conditions from" // MPropertyGroupName "Evaluating" - BodyLocations_t m_nLOSTestLocation; // 0x2c8 + BodyLocations_t m_nLOSTestLocation; // 0x2c8 // MPropertyDescription "Sets whether or not the owner of this ability is required to have LOS to a target to be able to use the ability. If it does, the ability won't attempt to gather conditions if the owner doesn't have LOS to the target." // MPropertyGroupName "Evaluating" - bool m_bRequiresOwnerHasLOS; // 0x2cc + bool m_bRequiresOwnerHasLOS; // 0x2cc +private: + [[maybe_unused]] uint8_t __pad02cd[0x3]; // 0x2cd +public: // MPropertyDescription "The enemy location that this ability will use when gathering conditions to determine whether or not it can be performed. Last Seen Position is the last place we saw our enemy. Last Known Position is updated for a short time after lose sight of our enemy. So if our enemy ran around a corner, Last Seen Position would be right before they vanished around the corner, and Last Known Position would be around the corner and out of sight." // MPropertyGroupName "Evaluating" - TargetOriginType_t m_nGatherCondEnemyOriginType; // 0x2d0 + TargetOriginType_t m_nGatherCondEnemyOriginType; // 0x2d0 // MPropertyDescription "What angle relative to the eyes direction does the target have to be in to use the ability?" // MPropertyGroupName "Evaluating" // MPropertyAttributeRange "0 360" - float m_flFacingAngle; // 0x2d4 + float m_flFacingAngle; // 0x2d4 // MPropertyDescription "The name of the first squad slot in a range of squad slots, one of which must be claimable to use this ability." // MPropertyGroupName "Evaluating" - SquadSlotId_t m_nSquadSlotRangeMin; // 0x2d8 + SquadSlotId_t m_nSquadSlotRangeMin; // 0x2d8 // MPropertyDescription "The name of the last squad slot in a range of squad slots, one of which must be claimable to use this ability. If this is left blank, it'll be considered as matching the 'Squad Slot Range Min', meaning the ability will use a single squad slot." // MPropertyGroupName "Evaluating" - SquadSlotId_t m_nSquadSlotRangeMax; // 0x2dc + SquadSlotId_t m_nSquadSlotRangeMax; // 0x2dc // MPropertyDescription "Only usable if there aren't any squad mates within this range of our enemy target. Useful for preventing explosive attacks from damaging squad mates." // MPropertyGroupName "Evaluating" - float m_flMinDistToSquadMates; // 0x2e0 + float m_flMinDistToSquadMates; // 0x2e0 +private: + [[maybe_unused]] uint8_t __pad02e4[0x4]; // 0x2e4 +public: // MPropertyFriendlyName "Pre-Attack Animgraph Parameter" // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph before it performs this attack, if it's not set already. If it's not set, it will be set, and the NPC will wait for the 'Pre-Attack Animgraph Finish Tag' to be fired by the animgraph before continuing." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CUtlString m_sAnimgraphParamPre; // 0x2e8 + CUtlString m_sAnimgraphParamPre; // 0x2e8 // MPropertyFriendlyName "Pre-Attack Animgraph Finish Tag" // MPropertyDescription "The animgraph status tag that will be set by the animgraph when it has finished performing the 'Pre-Attack Animgraph Parameter' step." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlString m_sAnimgraphFinishTagPre; // 0x2f0 + CUtlString m_sAnimgraphFinishTagPre; // 0x2f0 // MPropertyDescription "Optional amount of time the NPC waits after performing the pre-attack phase, before continuing its AI." // MPropertyGroupName "Animation" - CRangeFloat m_flPreAbilityUseWait; // 0x2f8 + CRangeFloat m_flPreAbilityUseWait; // 0x2f8 // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs this attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CUtlString m_sAnimgraphParam; // 0x300 + CUtlString m_sAnimgraphParam; // 0x300 // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlString m_sAnimgraphFinishTag; // 0x308 + CUtlString m_sAnimgraphFinishTag; // 0x308 // MPropertyFriendlyName "Post-Attack Animgraph Parameter" // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph after it performs this attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CUtlString m_sAnimgraphParamPost; // 0x310 + CUtlString m_sAnimgraphParamPost; // 0x310 // MPropertyFriendlyName "Post-Attack Animgraph Finish Tag" // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the Post Attack animation step." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlString m_sAnimgraphFinishTagPost; // 0x318 + CUtlString m_sAnimgraphFinishTagPost; // 0x318 // MPropertyDescription "Is the anim graph capable of auto-repeating the attack if the ability still thinks it's valid to attack? Note auto-repeating will not trigger cooldowns." // MPropertyGroupName "Animation" - bool m_bCanAutoRepeat; // 0x320 + bool m_bCanAutoRepeat; // 0x320 +private: + [[maybe_unused]] uint8_t __pad0321[0x3]; // 0x321 +public: // MPropertyDescription "Optional amount of time the NPC waits after attacking before continuing its AI." // MPropertyGroupName "Animation" - CRangeFloat m_flPostAbilityUseWait; // 0x324 + CRangeFloat m_flPostAbilityUseWait; // 0x324 // MPropertyDescription "When triggered, it causes the ability to run ability-specific pre-triggering code. Used for two-stage hits (like a leap or spot where the attack commits to a direction before it's actually performed)." // MPropertyGroupName "Animation" - GameAnimEventIndex_t m_nAnimEventSetup; // 0x32c + GameAnimEventIndex_t m_nAnimEventSetup; // 0x32c // MPropertyDescription "When triggered, the ability is used" // MPropertyGroupName "Animation" - GameAnimEventIndex_t m_nAnimEventTrigger; // 0x330 + GameAnimEventIndex_t m_nAnimEventTrigger; // 0x330 // MPropertyFriendlyName "Enemy Location To Target When Performing" // MPropertyDescription "The enemy location that this ability will target when performing the ability. Last Seen Position is the last place we saw our enemy. Last Known Position is updated for a short time after lose sight of our enemy. So if our enemy ran around a corner, Last Seen Position would be right before they vanished around the corner, and Last Known Position would be around the corner and out of sight." // MPropertyGroupName "Using" - TargetOriginType_t m_nUsageCondEnemyOriginType; // 0x334 + TargetOriginType_t m_nUsageCondEnemyOriginType; // 0x334 // MPropertyDescription "When firing at the player, is this weapon allowed to miss and hit interesting targets nearby, for visual flair?" // MPropertyGroupName "Using" - bool m_bAllowedToMiss; // 0x338 + bool m_bAllowedToMiss; // 0x338 // MPropertyDescription "If an NPC uses this ability while moving, should the usage be aborted if the NPC finishes the movement?" // MPropertyGroupName "Using" - bool m_bAbortUsageOnMoveFinish; // 0x339 + bool m_bAbortUsageOnMoveFinish; // 0x339 // MPropertyGroupName "Using" // MPropertyDescription "Is the NPC allowed to do displacement during non-interrupt staggers while performing this ability? Generally only true for attacking abilities." - bool m_bAllowFlinchDisplacementDuringUsage; // 0x33a + bool m_bAllowFlinchDisplacementDuringUsage; // 0x33a +private: + [[maybe_unused]] uint8_t __pad033b[0x5]; // 0x33b +public: // MPropertyGroupName "Using" // MPropertyDescription "A modifier that will be added to our NPC when it starts using this ability, and removed once it finishes." - CEmbeddedSubclass< CBaseModifier > m_OwnerModifierWhileUsing; // 0x340 + CEmbeddedSubclass< CBaseModifier > m_OwnerModifierWhileUsing; // 0x340 // MPropertyGroupName "Using" // MPropertyDescription "A modifier that will be added to our NPC when it finishes using this ability." - CEmbeddedSubclass< CBaseModifier > m_OwnerModifierAfterUsage; // 0x350 + CEmbeddedSubclass< CBaseModifier > m_OwnerModifierAfterUsage; // 0x350 // MPropertyGroupName "Using" // MPropertyDescription "A modifier that will be added to our NPC whenever the ability trigger occurs." - CEmbeddedSubclass< CBaseModifier > m_OwnerModifierOnTrigger; // 0x360 + CEmbeddedSubclass< CBaseModifier > m_OwnerModifierOnTrigger; // 0x360 // MPropertyDescription "Only used for held abilities. Never drop this ability, always immediately remove it instead." // MPropertyGroupName "Drop" - bool m_bDestroyInsteadOfDrop; // 0x370 + bool m_bDestroyInsteadOfDrop; // 0x370 // MPropertyDescription "Always Drop this ability." // MPropertyGroupName "Drop" - bool m_bAlwaysDrop; // 0x371 + bool m_bAlwaysDrop; // 0x371 // MPropertyGroupName "Drop" - bool m_bAddRandomDropVelocity; // 0x372 + bool m_bAddRandomDropVelocity; // 0x372 +private: + [[maybe_unused]] uint8_t __pad0373[0x5]; // 0x373 +public: // MPropertyGroupName "Drop" - CUtlVector< NPCAbilityDropBehavior_t > m_vecDropBehaviors; // 0x378 + CUtlVector< NPCAbilityDropBehavior_t > m_vecDropBehaviors; // 0x378 // MPropertyGroupName "Drop" - CUtlVector< NPCAbilityPickupBehavior_t > m_vecPickupBehaviors; // 0x390 + CUtlVector< NPCAbilityPickupBehavior_t > m_vecPickupBehaviors; // 0x390 // MPropertyDescription "When pathing to the target, range tolerance" // MPropertyGroupName "Evaluating" - float m_flRangeTolerance; // 0x3a8 + float m_flRangeTolerance; // 0x3a8 // MPropertyDescription "When building a path to the target, avoid our enemy by this distance" - float m_flEnemyPathAvoidance; // 0x3ac + float m_flEnemyPathAvoidance; // 0x3ac // MPropertyDescription "Time to hold unreachable targets before reevaluating" - float m_flTargetEntityUnreachableTimeout; // 0x3b0 + float m_flTargetEntityUnreachableTimeout; // 0x3b0 // MPropertyDescription "Should this ability be visible when other NPCs ask this ability's NPC what it's capable of?" - bool m_bIncludeInNPCsCapabilityQueries; // 0x3b4 + bool m_bIncludeInNPCsCapabilityQueries; // 0x3b4 }; -// Aligment: 2 -// Size: 288 +// Alignment: 2 +// Size: 0x120 class CNPCAbilityModelVData : public CEntitySubclassVDataBase { public: // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x108 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x108 }; -// Aligment: 1 -// Size: 968 -class CNPCAbilityAddModifierVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 1 +// Size: 0x3c8 +class CNPCAbilityAddModifierVData : public CBaseNPCAbilityVData { public: // MPropertyFriendlyName "Modifier VData: Modifier to Apply to Caster" - CEmbeddedSubclass< CBaseModifier > m_Modifier; // 0x3b8 + CEmbeddedSubclass< CBaseModifier > m_Modifier; // 0x3b8 }; -// Aligment: 1 -// Size: 960 -class CNPCAbilityRemoveModifierVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 1 +// Size: 0x3c0 +class CNPCAbilityRemoveModifierVData : public CBaseNPCAbilityVData { public: // MPropertyFriendlyName "Modifier to Remove" - CUtlString m_sRemoveModifier; // 0x3b8 + CUtlString m_sRemoveModifier; // 0x3b8 }; -// Aligment: 7 -// Size: 1048 -class CNPCAbilityMeleeAttackVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 7 +// Size: 0x418 +class CNPCAbilityMeleeAttackVData : public CBaseNPCAbilityVData { public: // MPropertyFriendlyName "Hit Triggers" // MPropertyGroupName "Animation" - CUtlVector< MeleeAttackUseTrigger_t > m_vecTriggers; // 0x3b8 + CUtlVector< MeleeAttackUseTrigger_t > m_vecTriggers; // 0x3b8 // MPropertyGroupName "Evaluating" - ENPCAbilityMeleeAttackEvaluationTest m_EvaluationTest; // 0x3d0 + ENPCAbilityMeleeAttackEvaluationTest m_EvaluationTest; // 0x3d0 // MPropertyGroupName "Evaluating" - Vector m_vecEvaluatingMeleeAttackMins; // 0x3d4 + Vector m_vecEvaluatingMeleeAttackMins; // 0x3d4 // MPropertyGroupName "Evaluating" - Vector m_vecEvaluatingMeleeAttackMaxs; // 0x3e0 + Vector m_vecEvaluatingMeleeAttackMaxs; // 0x3e0 // MPropertyGroupName "Using" - Vector m_vecUsingMeleeAttackMins; // 0x3ec + Vector m_vecUsingMeleeAttackMins; // 0x3ec // MPropertyGroupName "Using" - Vector m_vecUsingMeleeAttackMaxs; // 0x3f8 + Vector m_vecUsingMeleeAttackMaxs; // 0x3f8 +private: + [[maybe_unused]] uint8_t __pad0404[0x4]; // 0x404 +public: // MPropertyGroupName "Using" - CEmbeddedSubclass< CBaseModifier > m_ModifierOnHit; // 0x408 + CEmbeddedSubclass< CBaseModifier > m_ModifierOnHit; // 0x408 }; -// Aligment: 4 -// Size: 984 -class CNPCAbilitySpawnVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 4 +// Size: 0x3d8 +class CNPCAbilitySpawnVData : public CBaseNPCAbilityVData { public: // MPropertyAttributeEditor "VDataChoice( scripts/npc_units.vdata )" // MPropertyGroupName "Using" - CSubclassNameGeneric m_sSubclassToSpawn; // 0x3b8 + CSubclassNameGeneric m_sSubclassToSpawn; // 0x3b8 // MPropertyGroupName "Using" - CRangeInt m_nNumToSpawn; // 0x3c8 + CRangeInt m_nNumToSpawn; // 0x3c8 // MPropertyGroupName "Using" - bool m_bSpawnInRagdoll; // 0x3d0 + bool m_bSpawnInRagdoll; // 0x3d0 +private: + [[maybe_unused]] uint8_t __pad03d1[0x3]; // 0x3d1 +public: // MPropertyGroupName "Using" - float m_flRagdollSpawnForceMultiplier; // 0x3d4 + float m_flRagdollSpawnForceMultiplier; // 0x3d4 }; -// Aligment: 8 -// Size: 1440 -class CNPCWeaponHitscanVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 8 +// Size: 0x5a0 +class CNPCWeaponHitscanVData : public CBaseNPCAbilityVData { public: // MPropertyDescription "Effect when firing this weapon" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x3b8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x3b8 // MPropertyDescription "Effect to actually fire into the world from this weapon" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x498 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x498 // MPropertyGroupName "Using" - CRangeInt m_nBurstSize; // 0x578 + CRangeInt m_nBurstSize; // 0x578 // MPropertyGroupName "Using" - Vector m_vecBulletSpreadCone; // 0x580 + Vector m_vecBulletSpreadCone; // 0x580 // MPropertyGroupName "Using" - float m_flSpreadBias; // 0x58c + float m_flSpreadBias; // 0x58c // MPropertyGroupName "Using" - int32_t m_nPellets; // 0x590 + int32_t m_nPellets; // 0x590 // MPropertyDescription "When calculating the aim spread, should this ability apply the current aim refinement value of the wielding NPC?" // MPropertyGroupName "Using" - bool m_bApplyAimRefinement; // 0x594 + bool m_bApplyAimRefinement; // 0x594 +private: + [[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595 +public: // MPropertyGroupName "Using" - int32_t m_nPowerCostPerShot; // 0x598 + int32_t m_nPowerCostPerShot; // 0x598 }; -// Aligment: 19 -// Size: 912 +// Alignment: 19 +// Size: 0x390 class CModifierVData : public CEntitySubclassVDataBase { public: - CModifierLevelFloat m_flDuration; // 0x28 + CModifierLevelFloat m_flDuration; // 0x28 // MPropertyGroupName "Visuals" // MPropertyDescription "Particle system to attach to the parent of the modifier" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strParticleEffect; // 0x38 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strParticleEffect; // 0x38 // MPropertyGroupName "Visuals" // MPropertyDescription "Status Effect to apply to the parent of the modifier" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strParticleStatusEffect; // 0x118 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strParticleStatusEffect; // 0x118 // MPropertyGroupName "Visuals" // MPropertyDescription "Screen-space particle system to create if the parent of the modifier is the local player" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strScreenParticleEffect; // 0x1f8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strScreenParticleEffect; // 0x1f8 // MPropertyGroupName "Visuals" // MPropertyDescription "Priority of this status effect relative to others" - int32_t m_nStatusEffectPriority; // 0x2d8 + int32_t m_nStatusEffectPriority; // 0x2d8 +private: + [[maybe_unused]] uint8_t __pad02dc[0x4]; // 0x2dc +public: // MPropertyGroupName "Visuals" - CUtlVector< ModifierRenderAttribute_t > m_vecRenderAttributes; // 0x2e0 + CUtlVector< ModifierRenderAttribute_t > m_vecRenderAttributes; // 0x2e0 // MPropertyGroupName "Sounds" - CSoundEventName m_sStartSound; // 0x2f8 + CSoundEventName m_sStartSound; // 0x2f8 // MPropertyGroupName "Sounds" - CSoundEventName m_sAmbientLoopingSound; // 0x308 + CSoundEventName m_sAmbientLoopingSound; // 0x308 // MPropertyGroupName "Sounds" - ModifierSoundRecipients_t m_nAmbientLoopingSoundRecipients; // 0x318 + ModifierSoundRecipients_t m_nAmbientLoopingSoundRecipients; // 0x318 +private: + [[maybe_unused]] uint8_t __pad031c[0x4]; // 0x31c +public: // MPropertyGroupName "Sounds" - CSoundEventName m_sEndSound; // 0x320 + CSoundEventName m_sEndSound; // 0x320 // MPropertyGroupName "Scripted Settings" - CBitVecEnum< EModifierState > m_nEnabledStateMask; // 0x330 + CBitVecEnum< EModifierState > m_nEnabledStateMask; // 0x330 // MPropertyGroupName "Scripted Settings" - CBitVecEnum< EModifierState > m_nDisabledStateMask; // 0x334 + CBitVecEnum< EModifierState > m_nDisabledStateMask; // 0x334 // MPropertyGroupName "Scripted Settings" - ModifierAttribute_t m_nAttributes; // 0x338 + ModifierAttribute_t m_nAttributes; // 0x338 +private: + [[maybe_unused]] uint8_t __pad033c[0x4]; // 0x33c +public: // MPropertyGroupName "Scripted Settings" // MPropertyDescription "Scripted Modifier Values" - CUtlVector< ModifierScriptValue_t > m_vecScriptValues; // 0x340 + CUtlVector< ModifierScriptValue_t > m_vecScriptValues; // 0x340 // MPropertyGroupName "Scripted Settings" // MPropertyDescription "Scripted Event Handlers" - CUtlVector< ModifierScriptedEventHandler_t > m_vecScriptEventHandlers; // 0x358 - ModifierDisableGroup_t m_nDisableGroupsMask; // 0x370 + CUtlVector< ModifierScriptedEventHandler_t > m_vecScriptEventHandlers; // 0x358 + ModifierDisableGroup_t m_nDisableGroupsMask; // 0x370 // MPropertyDescription "When set, the modifier only provides data to requests made directly to the attached entity and not to other modifier properties that the owner provides to." - bool m_bPrivateAccess; // 0x374 + bool m_bPrivateAccess; // 0x374 // MPropertyDescription "When set, the modifier will not be visible to UI or visible modifier list." - bool m_bIsHidden; // 0x375 + bool m_bIsHidden; // 0x375 +private: + [[maybe_unused]] uint8_t __pad0376[0x2]; // 0x376 +public: // MPropertyDescription "When to consider the modifier a debuff." - ModifierDebuffType_t m_eDebuffType; // 0x378 + ModifierDebuffType_t m_eDebuffType; // 0x378 }; -// Aligment: 18 -// Size: 120 +// Alignment: 18 +// Size: 0x78 class CBaseModifier { public: - ModifierSerialNumber_t m_nSerialNumber; // 0x24 - float m_flLastAppliedTime; // 0x28 - float m_flDuration; // 0x2c - CHandle< C_BaseEntity > m_hCaster; // 0x30 - CHandle< C_BaseEntity > m_hAbility; // 0x34 - CModifierHandleBase m_hAuraProvider; // 0x38 - uint8_t m_iAttributes; // 0x50 - uint8_t m_iTeam; // 0x51 - int16_t m_iStackCount; // 0x52 - int16_t m_iMaxStackCount; // 0x54 - uint8_t m_eDestroyReason; // 0x56 - bool m_bDisabled; // 0x57 - float m_flPreviousTick; // 0x58 - float m_flThinkInterval; // 0x5c - float m_flThinkIntervalStartTime; // 0x60 - float m_flTimeScale; // 0x64 - CUtlVector< IModifierTrackedObject* >* m_pVecTrackedObjects; // 0x68 - ModifierRuntimeHandle_t m_hModifierListHandle; // 0x70 + ModifierSerialNumber_t m_nSerialNumber; // 0x24 + float m_flLastAppliedTime; // 0x28 + float m_flDuration; // 0x2c + CHandle< C_BaseEntity > m_hCaster; // 0x30 + CHandle< C_BaseEntity > m_hAbility; // 0x34 + CModifierHandleBase m_hAuraProvider; // 0x38 + uint8_t m_iAttributes; // 0x50 + uint8_t m_iTeam; // 0x51 + int16_t m_iStackCount; // 0x52 + int16_t m_iMaxStackCount; // 0x54 + uint8_t m_eDestroyReason; // 0x56 + bool m_bDisabled; // 0x57 + float m_flPreviousTick; // 0x58 + float m_flThinkInterval; // 0x5c + float m_flThinkIntervalStartTime; // 0x60 + float m_flTimeScale; // 0x64 + CUtlVector< IModifierTrackedObject* >* m_pVecTrackedObjects; // 0x68 + ModifierRuntimeHandle_t m_hModifierListHandle; // 0x70 }; -// Aligment: 3 -// Size: 952 -class CModifierVData_BaseAura : public CModifierVData, CEntitySubclassVDataBase +// Alignment: 3 +// Size: 0x3b8 +class CModifierVData_BaseAura : public CModifierVData { public: - CModifierLevelFloat m_flAuraRadius; // 0x390 - int32_t m_nAmbientParticleRadiusControlPoint; // 0x3a0 + CModifierLevelFloat m_flAuraRadius; // 0x390 + int32_t m_nAmbientParticleRadiusControlPoint; // 0x3a0 +private: + [[maybe_unused]] uint8_t __pad03a4[0x4]; // 0x3a4 +public: // MPropertyDescription "Aura - Modifier to Apply" // MPropertyFriendlyName "Modifier Provided By Aura" - CEmbeddedSubclass< CBaseModifier > m_modifierProvidedByAura; // 0x3a8 + CEmbeddedSubclass< CBaseModifier > m_modifierProvidedByAura; // 0x3a8 }; -// Aligment: 10 -// Size: 240 +// Alignment: 10 +// Size: 0xf0 class CModifierProperty { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 - CHandle< C_BaseEntity > m_hOwner; // 0x20 - uint8_t m_nProviderVisitedFlags; // 0x8e - bool m_bModifierStatesDirty; // 0x8f - int8_t m_iLockRefCount; // 0x90 - ModifierPropRuntimeHandle_t m_hHandle; // 0x92 - uint16_t m_nBroadcastEventListenerMask; // 0x94 + CNetworkVarChainer __m_pChainEntity; // 0x8 + CHandle< C_BaseEntity > m_hOwner; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0x6a]; // 0x24 +public: + uint8_t m_nProviderVisitedFlags; // 0x8e + bool m_bModifierStatesDirty; // 0x8f + int8_t m_iLockRefCount; // 0x90 +private: + [[maybe_unused]] uint8_t __pad0091[0x1]; // 0x91 +public: + ModifierPropRuntimeHandle_t m_hHandle; // 0x92 + uint16_t m_nBroadcastEventListenerMask; // 0x94 +private: + [[maybe_unused]] uint8_t __pad0096[0xa]; // 0x96 +public: // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecProviders; // 0xa0 + C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecProviders; // 0xa0 // MNetworkEnable - uint32_t m_nDisabledGroups; // 0xb8 + uint32_t m_nDisabledGroups; // 0xb8 // MNetworkEnable // MNetworkChangeCallback "modifierStatesChanged" - uint32[1] m_bvEnabledStateMask; // 0xbc + uint32_t m_bvEnabledStateMask[1]; // 0xbc }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CModifierHandleBase { public: // MNetworkEnable // MNetworkSerializer "modifier_handle" - uint64_t m_hStableHandle; // 0x8 + uint64_t m_hStableHandle; // 0x8 }; -// Aligment: 5 -// Size: 608 -class CSteamPalPlayer_CameraServices : public CPlayer_CameraServices, CPlayerComponent +// Alignment: 5 +// Size: 0x260 +class CSteamPalPlayer_CameraServices : public CPlayer_CameraServices { public: // MNetworkEnable - bool m_bViewFrozen; // 0x238 + bool m_bViewFrozen; // 0x238 +private: + [[maybe_unused]] uint8_t __pad0239[0x3]; // 0x239 +public: // MNetworkEnable - CHandle< C_BaseEntity > m_hCameraTarget; // 0x23c + CHandle< C_BaseEntity > m_hCameraTarget; // 0x23c // MNetworkEnable - Vector m_vMoveOffset; // 0x240 + Vector m_vMoveOffset; // 0x240 // MNetworkEnable - QAngle m_vLookOffset; // 0x24c - float m_flFOVOffset; // 0x258 + QAngle m_vLookOffset; // 0x24c + float m_flFOVOffset; // 0x258 }; -// Aligment: 0 -// Size: 128 -class CSteamPalPlayer_MovementServices : public CPlayer_MovementServices, CPlayerComponent +// Alignment: 0 +// Size: 0x80 +class CSteamPalPlayer_MovementServices : public CPlayer_MovementServices { public: -// + // no members available }; -// Aligment: 1 -// Size: 56 -class C_SteamPalGameRules : public C_SingleplayRules, C_GameRules +// Alignment: 1 +// Size: 0x38 +class C_SteamPalGameRules : public C_SingleplayRules { public: - bool m_bIsInAscentSection; // 0x10 + bool m_bIsInAscentSection; // 0x10 }; -// Aligment: 0 -// Size: 120 +// Alignment: 0 +// Size: 0x78 class CSteamPalModifier : public CBaseModifier { public: -// + // no members available }; -// Aligment: 0 -// Size: 120 -class CSteamPalModifier_Base : public CSteamPalModifier, CBaseModifier +// Alignment: 0 +// Size: 0x78 +class CSteamPalModifier_Base : public CSteamPalModifier { public: -// + // no members available }; -// Aligment: 0 -// Size: 952 -class CSteamPalModifierAuraVData : public CModifierVData_BaseAura, CModifierVData, CEntitySubclassVDataBase +// Alignment: 0 +// Size: 0x3b8 +class CSteamPalModifierAuraVData : public CModifierVData_BaseAura { public: -// + // no members available }; -// Aligment: 7 -// Size: 152 +// Alignment: 7 +// Size: 0x98 class CSteampal_Turret_ManagerVData : public CEntitySubclassVDataBase { public: // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sIntroTurretType; // 0x28 + CSubclassName< 0 > m_sIntroTurretType; // 0x28 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sIntroSmokingTurretType; // 0x38 + CSubclassName< 0 > m_sIntroSmokingTurretType; // 0x38 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sUltraTurretType; // 0x48 + CSubclassName< 0 > m_sUltraTurretType; // 0x48 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sBadTurretType; // 0x58 + CSubclassName< 0 > m_sBadTurretType; // 0x58 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sGoodTurretType; // 0x68 + CSubclassName< 0 > m_sGoodTurretType; // 0x68 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sAscentTurretType; // 0x78 + CSubclassName< 0 > m_sAscentTurretType; // 0x78 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sCaveJohnsonTurretType; // 0x88 + CSubclassName< 0 > m_sCaveJohnsonTurretType; // 0x88 }; -// Aligment: 11 -// Size: 128 +// Alignment: 11 +// Size: 0x80 class CSteamPal_SequencerVData : public CEntitySubclassVDataBase { public: - float m_flBPM; // 0x28 - bool m_bStartPaused; // 0x2c - int32_t m_nGridWidth; // 0x30 - int32_t m_nGridHeight; // 0x34 - int32_t m_nTestDisplayTrackNum; // 0x38 - float m_flDebugGridSize; // 0x3c - float m_flDebugGridElementGap; // 0x40 - CUtlVector< CSteamPal_SequencerTrackDef_t > m_vTrackDefs; // 0x48 - CUtlVector< CSteamPal_SequencerSequenceDef_t > m_vIntroSequences; // 0x60 - bool m_bAutoPlayIntro; // 0x78 - bool m_bLoopIntroTracks; // 0x79 + float m_flBPM; // 0x28 + bool m_bStartPaused; // 0x2c +private: + [[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d +public: + int32_t m_nGridWidth; // 0x30 + int32_t m_nGridHeight; // 0x34 + int32_t m_nTestDisplayTrackNum; // 0x38 + float m_flDebugGridSize; // 0x3c + float m_flDebugGridElementGap; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + CUtlVector< CSteamPal_SequencerTrackDef_t > m_vTrackDefs; // 0x48 + CUtlVector< CSteamPal_SequencerSequenceDef_t > m_vIntroSequences; // 0x60 + bool m_bAutoPlayIntro; // 0x78 + bool m_bLoopIntroTracks; // 0x79 }; -// Aligment: 8 -// Size: 312 +// Alignment: 8 +// Size: 0x138 class CSteamPal_BaseSingingEntity_VData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - CSoundEventName m_sTestToneSound; // 0x108 - CSoundEventName m_sGreetingSound; // 0x118 - bool m_bAutoSingTracks; // 0x128 - bool m_bPlayAnimGraphOnly; // 0x129 - float m_flBaseMidiNote; // 0x12c - float m_flWingAnimateInTime; // 0x130 - float m_flVolume; // 0x134 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CSoundEventName m_sTestToneSound; // 0x108 + CSoundEventName m_sGreetingSound; // 0x118 + bool m_bAutoSingTracks; // 0x128 + bool m_bPlayAnimGraphOnly; // 0x129 +private: + [[maybe_unused]] uint8_t __pad012a[0x2]; // 0x12a +public: + float m_flBaseMidiNote; // 0x12c + float m_flWingAnimateInTime; // 0x130 + float m_flVolume; // 0x134 }; -// Aligment: 10 -// Size: 176 +// Alignment: 10 +// Size: 0xb0 class CSteamPal_NameFormVData : public CEntitySubclassVDataBase { public: - CSkillFloat m_flMaxTimeSayingName; // 0x28 - CSkillFloat m_flMaxTimeTypingFaceButtons; // 0x38 - int32_t m_nNumFaceButtonLettersNeededToSucceed; // 0x48 - CSkillFloat m_flMaxTimeTypingKeyboard; // 0x4c - int32_t m_nNumKeyboardLettersNeededToSucceed; // 0x5c - CSkillFloat m_flMaxTimeSigningName; // 0x60 - CSkillFloat m_flTaskTimeAfterUsefulAction; // 0x70 + CSkillFloat m_flMaxTimeSayingName; // 0x28 + CSkillFloat m_flMaxTimeTypingFaceButtons; // 0x38 + int32_t m_nNumFaceButtonLettersNeededToSucceed; // 0x48 + CSkillFloat m_flMaxTimeTypingKeyboard; // 0x4c + int32_t m_nNumKeyboardLettersNeededToSucceed; // 0x5c + CSkillFloat m_flMaxTimeSigningName; // 0x60 + CSkillFloat m_flTaskTimeAfterUsefulAction; // 0x70 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sWritingSurfaceToSpawn; // 0x80 - QAngle m_qWritingSurfaceAttachAngles; // 0x90 - CSoundEventName m_sDingToneSound; // 0xa0 + CSubclassName< 0 > m_sWritingSurfaceToSpawn; // 0x80 + QAngle m_qWritingSurfaceAttachAngles; // 0x90 +private: + [[maybe_unused]] uint8_t __pad009c[0x4]; // 0x9c +public: + CSoundEventName m_sDingToneSound; // 0xa0 }; -// Aligment: 4 -// Size: 280 +// Alignment: 4 +// Size: 0x118 class CSteamPal_WritingSurfaceVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - Color m_BackgroundColor; // 0x108 - Color m_WritingColor; // 0x10c - float m_flWritingTipSize; // 0x110 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + Color m_BackgroundColor; // 0x108 + Color m_WritingColor; // 0x10c + float m_flWritingTipSize; // 0x110 }; -// Aligment: 36 -// Size: 1440 +// Alignment: 36 +// Size: 0x5a0 class CSteamPal_TurretVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sMuzzleFlashEffect; // 0x108 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTracerEffect; // 0x1e8 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sLaserSightEffect; // 0x2c8 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sExplodeEffect; // 0x3a8 - CSteamPal_Turret_Wing_t m_sLeftWing; // 0x488 - CSteamPal_Turret_Wing_t m_sRightWing; // 0x4a0 - Steampal_TurretType_t m_TurretType; // 0x4b8 - CUtlVector< CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > > m_BreakPieces; // 0x4c0 - CUtlVector< CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > > m_WhiteBreakPieces; // 0x4d8 - bool m_bTakeOverCamera; // 0x4f0 - bool m_bSynchedWings; // 0x4f1 - bool m_bRawAiming; // 0x4f2 - bool m_bUseInterpolationHack; // 0x4f3 - float m_flTraceLength; // 0x4f4 - float m_flXInputExponent; // 0x4f8 - float m_flYInputExponent; // 0x4fc - float m_flAxialDeadZoneX; // 0x500 - float m_flAxialDeadZoneY; // 0x504 - float m_flCircularDeadzoneMin; // 0x508 - float m_flCircularDeadzoneMax; // 0x50c - float m_flCircularExponent; // 0x510 - float m_flWingDeployExplodeThreshold; // 0x514 - int32_t m_nMaxAmmo; // 0x518 - float m_flCameraOverShoulderOffset; // 0x51c - float m_flCameraOverShoulderFOV; // 0x520 - bool m_bOnlyValidTargetIfControlledByPlayer; // 0x524 - int32_t m_nHealth; // 0x528 - CSoundEventName m_sWingOpenSound; // 0x530 - CSoundEventName m_sWingCloseSound; // 0x540 - CSoundEventName m_sWingMoveCompleteSound; // 0x550 - CSoundEventName m_sWingMoveSound; // 0x560 - Vector m_vDeployingVibration; // 0x570 - Vector m_vShootingVibration; // 0x57c - Vector m_vTakingDamageVibration; // 0x588 - Vector m_vExplodingVibration; // 0x594 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sMuzzleFlashEffect; // 0x108 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTracerEffect; // 0x1e8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sLaserSightEffect; // 0x2c8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sExplodeEffect; // 0x3a8 + CSteamPal_Turret_Wing_t m_sLeftWing; // 0x488 + CSteamPal_Turret_Wing_t m_sRightWing; // 0x4a0 + Steampal_TurretType_t m_TurretType; // 0x4b8 +private: + [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc +public: + CUtlVector< CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > > m_BreakPieces; // 0x4c0 + CUtlVector< CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > > m_WhiteBreakPieces; // 0x4d8 + bool m_bTakeOverCamera; // 0x4f0 + bool m_bSynchedWings; // 0x4f1 + bool m_bRawAiming; // 0x4f2 + bool m_bUseInterpolationHack; // 0x4f3 + float m_flTraceLength; // 0x4f4 + float m_flXInputExponent; // 0x4f8 + float m_flYInputExponent; // 0x4fc + float m_flAxialDeadZoneX; // 0x500 + float m_flAxialDeadZoneY; // 0x504 + float m_flCircularDeadzoneMin; // 0x508 + float m_flCircularDeadzoneMax; // 0x50c + float m_flCircularExponent; // 0x510 + float m_flWingDeployExplodeThreshold; // 0x514 + int32_t m_nMaxAmmo; // 0x518 + float m_flCameraOverShoulderOffset; // 0x51c + float m_flCameraOverShoulderFOV; // 0x520 + bool m_bOnlyValidTargetIfControlledByPlayer; // 0x524 +private: + [[maybe_unused]] uint8_t __pad0525[0x3]; // 0x525 +public: + int32_t m_nHealth; // 0x528 +private: + [[maybe_unused]] uint8_t __pad052c[0x4]; // 0x52c +public: + CSoundEventName m_sWingOpenSound; // 0x530 + CSoundEventName m_sWingCloseSound; // 0x540 + CSoundEventName m_sWingMoveCompleteSound; // 0x550 + CSoundEventName m_sWingMoveSound; // 0x560 + Vector m_vDeployingVibration; // 0x570 + Vector m_vShootingVibration; // 0x57c + Vector m_vTakingDamageVibration; // 0x588 + Vector m_vExplodingVibration; // 0x594 }; -// Aligment: 10 -// Size: 2360 -class CSteamPal_Intro_ToiletVData : public CSteamPal_TurretVData, CEntitySubclassVDataBase +// Alignment: 10 +// Size: 0x938 +class CSteamPal_Intro_ToiletVData : public CSteamPal_TurretVData { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sBidetWaterEffect; // 0x5a0 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sToiletFlushEffect; // 0x680 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sSmokingToiletSmokeEffect; // 0x760 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sBidetShootingBulletsEffect; // 0x840 - float m_flTestSpringStrength; // 0x920 - float m_flTestRequiredDuration; // 0x924 - float m_flFlushWaitTime; // 0x928 - float m_flCisternFillDuration; // 0x92c - float m_flFlushDuration; // 0x930 - bool m_bSmoking; // 0x934 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sBidetWaterEffect; // 0x5a0 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sToiletFlushEffect; // 0x680 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sSmokingToiletSmokeEffect; // 0x760 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sBidetShootingBulletsEffect; // 0x840 + float m_flTestSpringStrength; // 0x920 + float m_flTestRequiredDuration; // 0x924 + float m_flFlushWaitTime; // 0x928 + float m_flCisternFillDuration; // 0x92c + float m_flFlushDuration; // 0x930 + bool m_bSmoking; // 0x934 }; -// Aligment: 1 -// Size: 264 +// Alignment: 1 +// Size: 0x108 class CSteamPal_ToiletTestPanelVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 }; -// Aligment: 12 -// Size: 5464 -class CSteamPal_Ultra_ToiletVData : public CSteamPal_TurretVData, CEntitySubclassVDataBase +// Alignment: 12 +// Size: 0x1558 +class CSteamPal_Ultra_ToiletVData : public CSteamPal_TurretVData { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sUltraModelName; // 0x5a0 - CSteamPal_Ultra_Toilet_Gun_VData_t m_Minigun; // 0x680 - CSteamPal_Ultra_Toilet_Gun_VData_t m_SMG; // 0x878 - CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_L1; // 0xa70 - CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_L2; // 0xc68 - CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_R1; // 0xe60 - CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_R2; // 0x1058 - CSteamPal_Ultra_Toilet_Gun_VData_t m_Rocket; // 0x1250 - CSoundEventName m_sMinigunWindUpSound; // 0x1448 - CSoundEventName m_sMinigunWindDownSound; // 0x1458 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRadarSparksEffect; // 0x1468 - CSoundEventName m_sRadarSparksSound; // 0x1548 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sUltraModelName; // 0x5a0 + CSteamPal_Ultra_Toilet_Gun_VData_t m_Minigun; // 0x680 + CSteamPal_Ultra_Toilet_Gun_VData_t m_SMG; // 0x878 + CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_L1; // 0xa70 + CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_L2; // 0xc68 + CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_R1; // 0xe60 + CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_R2; // 0x1058 + CSteamPal_Ultra_Toilet_Gun_VData_t m_Rocket; // 0x1250 + CSoundEventName m_sMinigunWindUpSound; // 0x1448 + CSoundEventName m_sMinigunWindDownSound; // 0x1458 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRadarSparksEffect; // 0x1468 + CSoundEventName m_sRadarSparksSound; // 0x1548 }; -// Aligment: 4 -// Size: 512 +// Alignment: 4 +// Size: 0x200 class CSteamPal_Ultra_Toilet_RocketVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketTrailEffect; // 0x28 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketExplosionEffect; // 0x108 - CSoundEventName m_sRocketExplodeSound; // 0x1e8 - int32_t m_nNumRocketPaths; // 0x1f8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketTrailEffect; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketExplosionEffect; // 0x108 + CSoundEventName m_sRocketExplodeSound; // 0x1e8 + int32_t m_nNumRocketPaths; // 0x1f8 }; -// Aligment: 1 -// Size: 264 +// Alignment: 1 +// Size: 0x108 class CSteamPal_TrackballVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 }; -// Aligment: 1 -// Size: 264 +// Alignment: 1 +// Size: 0x108 class CSteamPal_TouchScreenVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 }; -// Aligment: 10 -// Size: 560 +// Alignment: 10 +// Size: 0x230 class CSteamPal_DeskVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 // MPropertyDescription "Trackball Class" - CEmbeddedSubclass< CSteamPal_Trackball > m_sTrackballClassToSpawn; // 0x108 - CUtlString m_szLeftTrackballAttachmentName; // 0x118 - CUtlString m_szRightTrackballAttachmentName; // 0x120 - float m_flButtonAnimationDuration; // 0x128 - float m_flButtonBlinkFrequency; // 0x12c - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketBoostEffect; // 0x130 - CUtlString m_strRecordedWavPath; // 0x210 - CEmbeddedSubclass< CSteamPal_TouchScreen > m_sTouchScreenClassToSpawn; // 0x218 - CUtlString m_szTouchScreenAttachment; // 0x228 + CEmbeddedSubclass< CSteamPal_Trackball > m_sTrackballClassToSpawn; // 0x108 + CUtlString m_szLeftTrackballAttachmentName; // 0x118 + CUtlString m_szRightTrackballAttachmentName; // 0x120 + float m_flButtonAnimationDuration; // 0x128 + float m_flButtonBlinkFrequency; // 0x12c + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketBoostEffect; // 0x130 + CUtlString m_strRecordedWavPath; // 0x210 + CEmbeddedSubclass< CSteamPal_TouchScreen > m_sTouchScreenClassToSpawn; // 0x218 + CUtlString m_szTouchScreenAttachment; // 0x228 }; -// Aligment: 18 -// Size: 1504 -class CNPCApplianceWeaponBulletsVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 18 +// Size: 0x5e0 +class CNPCApplianceWeaponBulletsVData : public CBaseNPCAbilityVData { public: // MPropertyDescription "Effect when firing this weapon" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashEffect; // 0x3b8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashEffect; // 0x3b8 // MPropertyDescription "Effect to actually fire into the world from this weapon" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerEffect; // 0x498 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerEffect; // 0x498 // MPropertyDescription "Muzzle attachements" - CUtlVector< NPCApplianceBulletAttachment_t > m_vecMuzzleAttachments; // 0x578 + CUtlVector< NPCApplianceBulletAttachment_t > m_vecMuzzleAttachments; // 0x578 // MPropertyGroupName "Sounds" - CSoundEventName m_sFiringLoopingSound; // 0x590 + CSoundEventName m_sFiringLoopingSound; // 0x590 // MPropertyGroupName "Using" - CRangeInt m_nBurstSize; // 0x5a0 + CRangeInt m_nBurstSize; // 0x5a0 // MPropertyGroupName "Using" - Vector m_vecBulletSpreadCone; // 0x5a8 + Vector m_vecBulletSpreadCone; // 0x5a8 // MPropertyGroupName "Using" - float m_flSpreadBias; // 0x5b4 + float m_flSpreadBias; // 0x5b4 // MPropertyGroupName "Using" - int32_t m_nPellets; // 0x5b8 + int32_t m_nPellets; // 0x5b8 // MPropertyGroupName "Using" - bool m_bTargetingBullets; // 0x5bc + bool m_bTargetingBullets; // 0x5bc // MPropertyDescription "When calculating the aim spread, should this ability apply the current aim refinement value of the wielding NPC?" // MPropertyGroupName "Using" - bool m_bApplyAimRefinement; // 0x5bd - float m_flAttackVerticalFOV; // 0x5c0 - float m_flAttackHorizontalFOV; // 0x5c4 - float m_flAttackMaxHeightDelta; // 0x5c8 - float m_flAttackMinHeightDelta; // 0x5cc - float m_flMinAngleX; // 0x5d0 - float m_flMaxAngleX; // 0x5d4 - float m_flMinAngleY; // 0x5d8 - float m_flMaxAngleY; // 0x5dc + bool m_bApplyAimRefinement; // 0x5bd +private: + [[maybe_unused]] uint8_t __pad05be[0x2]; // 0x5be +public: + float m_flAttackVerticalFOV; // 0x5c0 + float m_flAttackHorizontalFOV; // 0x5c4 + float m_flAttackMaxHeightDelta; // 0x5c8 + float m_flAttackMinHeightDelta; // 0x5cc + float m_flMinAngleX; // 0x5d0 + float m_flMaxAngleX; // 0x5d4 + float m_flMinAngleY; // 0x5d8 + float m_flMaxAngleY; // 0x5dc }; -// Aligment: 13 -// Size: 816 +// Alignment: 13 +// Size: 0x330 class CNPCApplianceProjectileVData : public CEntitySubclassVDataBase { public: // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - float m_flShootVelocity; // 0x108 - bool m_bExplode; // 0x10c - float m_flExplodeRadius; // 0x110 - float m_flExplodeDamage; // 0x114 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + float m_flShootVelocity; // 0x108 + bool m_bExplode; // 0x10c +private: + [[maybe_unused]] uint8_t __pad010d[0x3]; // 0x10d +public: + float m_flExplodeRadius; // 0x110 + float m_flExplodeDamage; // 0x114 // MPropertyDescription "Damage to apply on projectile touch" - float m_flTouchDamage; // 0x118 + float m_flTouchDamage; // 0x118 +private: + [[maybe_unused]] uint8_t __pad011c[0x4]; // 0x11c +public: // MPropertyGroupName "Particles" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTrailParticle; // 0x120 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTrailParticle; // 0x120 // MPropertyGroupName "Particles" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sExplosionParticle; // 0x200 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sExplosionParticle; // 0x200 // MPropertyGroupName "Sounds" - CSoundEventName m_sHitWorldSound; // 0x2e0 + CSoundEventName m_sHitWorldSound; // 0x2e0 // MPropertyGroupName "Sounds" - CSoundEventName m_sHitBodySound; // 0x2f0 + CSoundEventName m_sHitBodySound; // 0x2f0 // MPropertyGroupName "Sounds" - CSoundEventName m_sNearMissSound; // 0x300 + CSoundEventName m_sNearMissSound; // 0x300 // MPropertyGroupName "Sounds" - CSoundEventName m_sPreExplodeSound; // 0x310 + CSoundEventName m_sPreExplodeSound; // 0x310 // MPropertyGroupName "Sounds" - CSoundEventName m_sExplodeSound; // 0x320 + CSoundEventName m_sExplodeSound; // 0x320 }; -// Aligment: 10 -// Size: 1040 -class CNPCApplianceWeaponVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 10 +// Size: 0x410 +class CNPCApplianceWeaponVData : public CBaseNPCAbilityVData { public: - CUtlVector< NPCApplianceProjectileAttachment_t > m_vecProjectiles; // 0x3b8 - float m_flOpenConeAngle; // 0x3d0 - float m_flAttackConeAngle; // 0x3d4 - bool m_bPickRandomProjectile; // 0x3d8 + CUtlVector< NPCApplianceProjectileAttachment_t > m_vecProjectiles; // 0x3b8 + float m_flOpenConeAngle; // 0x3d0 + float m_flAttackConeAngle; // 0x3d4 + bool m_bPickRandomProjectile; // 0x3d8 +private: + [[maybe_unused]] uint8_t __pad03d9[0x7]; // 0x3d9 +public: // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs the open animation." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CUtlString m_sAnimgraphOpenParam; // 0x3e0 + CUtlString m_sAnimgraphOpenParam; // 0x3e0 // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the open animation." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlStringToken m_sAnimgraphFinishOpenTag; // 0x3e8 + CUtlStringToken m_sAnimgraphFinishOpenTag; // 0x3e8 +private: + [[maybe_unused]] uint8_t __pad03ec[0x4]; // 0x3ec +public: // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs the attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CUtlString m_sAnimgraphAttackParam; // 0x3f0 + CUtlString m_sAnimgraphAttackParam; // 0x3f0 // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlStringToken m_sAnimgraphFinishAttackTag; // 0x3f8 + CUtlStringToken m_sAnimgraphFinishAttackTag; // 0x3f8 +private: + [[maybe_unused]] uint8_t __pad03fc[0x4]; // 0x3fc +public: // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs the close animation." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CUtlString m_sAnimgraphCloseParam; // 0x400 + CUtlString m_sAnimgraphCloseParam; // 0x400 // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the close animation." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlStringToken m_sAnimgraphFinishCloseTag; // 0x408 + CUtlStringToken m_sAnimgraphFinishCloseTag; // 0x408 }; -// Aligment: 11 -// Size: 120 +// Alignment: 11 +// Size: 0x78 class CEntityIdentity { public: // MNetworkEnable // MNetworkChangeCallback "entityIdentityNameChanged" - int32_t m_nameStringableIndex; // 0x14 - CUtlSymbolLarge m_name; // 0x18 - CUtlSymbolLarge m_designerName; // 0x20 - uint32_t m_flags; // 0x30 - uint32_t m_fDataObjectTypes; // 0x38 + 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: + uint32_t m_fDataObjectTypes; // 0x38 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x3c - CEntityIdentity* m_pPrev; // 0x50 - CEntityIdentity* m_pNext; // 0x58 - CEntityIdentity* m_pPrevByClass; // 0x60 - CEntityIdentity* m_pNextByClass; // 0x68 - V_uuid_t* m_pId; // 0x70 + ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x3c +private: + [[maybe_unused]] uint8_t __pad003e[0x12]; // 0x3e +public: + CEntityIdentity* m_pPrev; // 0x50 + CEntityIdentity* m_pNext; // 0x58 + CEntityIdentity* m_pPrevByClass; // 0x60 + CEntityIdentity* m_pNextByClass; // 0x68 + V_uuid_t* m_pId; // 0x70 }; -// Aligment: 4 -// Size: 56 +// Alignment: 4 +// Size: 0x38 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[0x8]; // 0x18 +public: // MNetworkDisable - CUtlStringToken m_worldGroupId; // 0x20 + CUtlStringToken m_worldGroupId; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0xc]; // 0x24 +public: // MNetworkEnable // MNetworkDisable - CScriptComponent* m_CScriptComponent; // 0x30 + CScriptComponent* m_CScriptComponent; // 0x30 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CScriptComponent : public CEntityComponent { public: - CUtlSymbolLarge m_scriptClassName; // 0x30 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CScriptComponent")->m_static_fiels[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_fiels[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);}; }; -// Aligment: 2 -// Size: 64 +// Alignment: 2 +// Size: 0x40 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 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponent")->m_static_fiels[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_fiels[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);}; }; -// Aligment: 2 -// Size: 448 -class CBodyComponentPoint : public CBodyComponent, CEntityComponent +// Alignment: 2 +// Size: 0x1c0 +class CBodyComponentPoint : public CBodyComponent { public: // MNetworkEnable - CGameSceneNode m_sceneNode; // 0x40 + CGameSceneNode m_sceneNode; // 0x40 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x1a0 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fiels[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_fiels[1]->m_instance); } + 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);}; }; -// Aligment: 2 -// Size: 1312 -class CBodyComponentSkeletonInstance : public CBodyComponent, CEntityComponent +// Alignment: 2 +// Size: 0x520 +class CBodyComponentSkeletonInstance : public CBodyComponent { public: // MNetworkEnable - CSkeletonInstance m_skeletonInstance; // 0x40 + CSkeletonInstance m_skeletonInstance; // 0x40 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x500 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fiels[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_fiels[1]->m_instance); } + CNetworkVarChainer __m_pChainEntity; // 0x500 + 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);}; }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 class CHitboxComponent : public CEntityComponent { public: - uint32_t m_unDisabledHitGroupMask; // 0x1c -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fiels[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_fiels[1]->m_instance); } + uint32_t m_unDisabledHitGroupMask; // 0x1c + 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);}; }; -// Aligment: 65 -// Size: 440 +// Alignment: 65 +// Size: 0x1b8 class CLightComponent : public CEntityComponent { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x48 + CNetworkVarChainer __m_pChainEntity; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0060[0x15]; // 0x60 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - Color m_Color; // 0x75 + Color m_Color; // 0x75 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - Color m_SecondaryColor; // 0x79 + Color m_SecondaryColor; // 0x79 +private: + [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flBrightness; // 0x80 + float m_flBrightness; // 0x80 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flBrightnessMult; // 0x84 + float m_flBrightnessMult; // 0x84 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flRange; // 0x88 + float m_flRange; // 0x88 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFalloff; // 0x8c + float m_flFalloff; // 0x8c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flAttenuation0; // 0x90 + float m_flAttenuation0; // 0x90 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flAttenuation1; // 0x94 + float m_flAttenuation1; // 0x94 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flAttenuation2; // 0x98 + float m_flAttenuation2; // 0x98 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flTheta; // 0x9c + float m_flTheta; // 0x9c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flPhi; // 0xa0 + float m_flPhi; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0xa8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0xa8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nCascades; // 0xb0 + int32_t m_nCascades; // 0xb0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nCastShadows; // 0xb4 + int32_t m_nCastShadows; // 0xb4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowWidth; // 0xb8 + int32_t m_nShadowWidth; // 0xb8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowHeight; // 0xbc + int32_t m_nShadowHeight; // 0xbc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderDiffuse; // 0xc0 + bool m_bRenderDiffuse; // 0xc0 +private: + [[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nRenderSpecular; // 0xc4 + int32_t m_nRenderSpecular; // 0xc4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderTransmissive; // 0xc8 + bool m_bRenderTransmissive; // 0xc8 +private: + [[maybe_unused]] uint8_t __pad00c9[0x3]; // 0xc9 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flOrthoLightWidth; // 0xcc + float m_flOrthoLightWidth; // 0xcc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flOrthoLightHeight; // 0xd0 + float m_flOrthoLightHeight; // 0xd0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nStyle; // 0xd4 + int32_t m_nStyle; // 0xd4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - CUtlString m_Pattern; // 0xd8 + CUtlString m_Pattern; // 0xd8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nCascadeRenderStaticObjects; // 0xe0 + int32_t m_nCascadeRenderStaticObjects; // 0xe0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeCrossFade; // 0xe4 + float m_flShadowCascadeCrossFade; // 0xe4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistanceFade; // 0xe8 + float m_flShadowCascadeDistanceFade; // 0xe8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance0; // 0xec + float m_flShadowCascadeDistance0; // 0xec // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance1; // 0xf0 + float m_flShadowCascadeDistance1; // 0xf0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance2; // 0xf4 + float m_flShadowCascadeDistance2; // 0xf4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance3; // 0xf8 + float m_flShadowCascadeDistance3; // 0xf8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution0; // 0xfc + int32_t m_nShadowCascadeResolution0; // 0xfc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution1; // 0x100 + int32_t m_nShadowCascadeResolution1; // 0x100 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution2; // 0x104 + int32_t m_nShadowCascadeResolution2; // 0x104 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution3; // 0x108 + int32_t m_nShadowCascadeResolution3; // 0x108 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bUsesBakedShadowing; // 0x10c + bool m_bUsesBakedShadowing; // 0x10c +private: + [[maybe_unused]] uint8_t __pad010d[0x3]; // 0x10d +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowPriority; // 0x110 + int32_t m_nShadowPriority; // 0x110 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nBakedShadowIndex; // 0x114 + int32_t m_nBakedShadowIndex; // 0x114 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderToCubemaps; // 0x118 + bool m_bRenderToCubemaps; // 0x118 +private: + [[maybe_unused]] uint8_t __pad0119[0x7]; // 0x119 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - CUtlSymbolLarge m_LightGroups; // 0x120 + CUtlSymbolLarge m_LightGroups; // 0x120 // MNetworkEnable - int32_t m_nDirectLight; // 0x128 + int32_t m_nDirectLight; // 0x128 // MNetworkEnable - int32_t m_nIndirectLight; // 0x12c + int32_t m_nIndirectLight; // 0x12c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFadeMinDist; // 0x130 + float m_flFadeMinDist; // 0x130 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFadeMaxDist; // 0x134 + float m_flFadeMaxDist; // 0x134 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowFadeMinDist; // 0x138 + float m_flShadowFadeMinDist; // 0x138 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowFadeMaxDist; // 0x13c + float m_flShadowFadeMaxDist; // 0x13c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bEnabled; // 0x140 + bool m_bEnabled; // 0x140 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bFlicker; // 0x141 + bool m_bFlicker; // 0x141 // MNetworkEnable - bool m_bPrecomputedFieldsValid; // 0x142 + bool m_bPrecomputedFieldsValid; // 0x142 +private: + [[maybe_unused]] uint8_t __pad0143[0x1]; // 0x143 +public: // MNetworkEnable - Vector m_vPrecomputedBoundsMins; // 0x144 + Vector m_vPrecomputedBoundsMins; // 0x144 // MNetworkEnable - Vector m_vPrecomputedBoundsMaxs; // 0x150 + Vector m_vPrecomputedBoundsMaxs; // 0x150 // MNetworkEnable - Vector m_vPrecomputedOBBOrigin; // 0x15c + Vector m_vPrecomputedOBBOrigin; // 0x15c // MNetworkEnable - QAngle m_vPrecomputedOBBAngles; // 0x168 + QAngle m_vPrecomputedOBBAngles; // 0x168 // MNetworkEnable - Vector m_vPrecomputedOBBExtent; // 0x174 + Vector m_vPrecomputedOBBExtent; // 0x174 // MNetworkEnable - float m_flPrecomputedMaxRange; // 0x180 + float m_flPrecomputedMaxRange; // 0x180 // MNetworkEnable - int32_t m_nFogLightingMode; // 0x184 + int32_t m_nFogLightingMode; // 0x184 // MNetworkEnable - float m_flFogContributionStength; // 0x188 + float m_flFogContributionStength; // 0x188 // MNetworkEnable - float m_flNearClipPlane; // 0x18c + float m_flNearClipPlane; // 0x18c // MNetworkEnable - Color m_SkyColor; // 0x190 + Color m_SkyColor; // 0x190 // MNetworkEnable - float m_flSkyIntensity; // 0x194 + float m_flSkyIntensity; // 0x194 // MNetworkEnable - Color m_SkyAmbientBounce; // 0x198 + Color m_SkyAmbientBounce; // 0x198 // MNetworkEnable - bool m_bUseSecondaryColor; // 0x19c + bool m_bUseSecondaryColor; // 0x19c // MNetworkEnable // MNetworkChangeCallback "MixedShadowsChanged" - bool m_bMixedShadows; // 0x19d + bool m_bMixedShadows; // 0x19d +private: + [[maybe_unused]] uint8_t __pad019e[0x2]; // 0x19e +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flLightStyleStartTime; // 0x1a0 + float m_flLightStyleStartTime; // 0x1a0 // MNetworkEnable - float m_flCapsuleLength; // 0x1a4 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CLightComponent")->m_static_fiels[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_fiels[1]->m_instance); } + float m_flCapsuleLength; // 0x1a4 + 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);}; }; -// Aligment: 5 -// Size: 200 +// Alignment: 5 +// Size: 0xc8 class CRenderComponent : public CEntityComponent { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x10 - bool m_bIsRenderingWithViewModels; // 0x40 - uint32_t m_nSplitscreenFlags; // 0x44 - bool m_bEnableRendering; // 0x50 - bool m_bInterpolationReadyToDraw; // 0xa0 + CNetworkVarChainer __m_pChainEntity; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0028[0x18]; // 0x28 public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CRenderComponent")->m_static_fiels[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_fiels[1]->m_instance); } + bool m_bIsRenderingWithViewModels; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: + uint32_t m_nSplitscreenFlags; // 0x44 +private: + [[maybe_unused]] uint8_t __pad0048[0x8]; // 0x48 +public: + bool m_bEnableRendering; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x4f]; // 0x51 +public: + bool m_bInterpolationReadyToDraw; // 0xa0 + 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);}; }; -// Aligment: 21 -// Size: 824 +// Alignment: 21 +// Size: 0x338 class CBasePlayerWeaponVData : public CEntitySubclassVDataBase { public: // MPropertyDescription "Model used on the ground or held by an entity" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldModel; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldModel; // 0x28 // MPropertyDescription "Was the weapon was built right-handed?" // MPropertyGroupName "Visuals" - bool m_bBuiltRightHanded; // 0x108 + 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_bAllowFlipping; // 0x109 +private: + [[maybe_unused]] uint8_t __pad010a[0x6]; // 0x10a +public: // MPropertyGroupName "Visuals" // MPropertyDescription "Attachment to fire bullets from" // MPropertyAttributeEditor "VDataModelAttachment( m_szWorldModel )" - CUtlString m_sMuzzleAttachment; // 0x110 + CUtlString m_sMuzzleAttachment; // 0x110 // MPropertyDescription "Effect when firing this weapon" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x118 + 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 - CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x2d8 - ItemFlagTypes_t m_iFlags; // 0x2f0 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x1f8 + CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x2d8 + ItemFlagTypes_t m_iFlags; // 0x2f0 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType - AmmoIndex_t m_nPrimaryAmmoType; // 0x2f1 + AmmoIndex_t m_nPrimaryAmmoType; // 0x2f1 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType - AmmoIndex_t m_nSecondaryAmmoType; // 0x2f2 + AmmoIndex_t m_nSecondaryAmmoType; // 0x2f2 +private: + [[maybe_unused]] uint8_t __pad02f3[0x1]; // 0x2f3 +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; // 0x2f4 + int32_t m_iMaxClip1; // 0x2f4 // 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; // 0x2f8 + int32_t m_iMaxClip2; // 0x2f8 // MPropertyDescription "Primary Initial Clip (-1 means use clip size)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "-1 255" - int32_t m_iDefaultClip1; // 0x2fc + int32_t m_iDefaultClip1; // 0x2fc // MPropertyDescription "Secondary Initial Clip (-1 means use clip size)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "-1 255" - int32_t m_iDefaultClip2; // 0x300 + int32_t m_iDefaultClip2; // 0x300 // MPropertyFriendlyName "HUD Bucket" // MPropertyDescription "Which 'column' to display this weapon in the HUD" // MPropertyGroupName "UI" - int32_t m_iSlot; // 0x304 + int32_t m_iSlot; // 0x304 // MPropertyFriendlyName "HUD Bucket Position" // MPropertyDescription "Which 'row' to display this weapon in the HUD" // MPropertyGroupName "UI" - int32_t m_iPosition; // 0x308 + int32_t m_iPosition; // 0x308 // MPropertyDescription "This value used to determine this weapon's importance in autoselection" // MPropertyGroupName "UI" - int32_t m_iWeight; // 0x30c + int32_t m_iWeight; // 0x30c // 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; // 0x310 + bool m_bAutoSwitchTo; // 0x310 // MPropertyFriendlyName "Safe To Auto-Switch Away From" // MPropertyGroupName "UI" - bool m_bAutoSwitchFrom; // 0x311 + bool m_bAutoSwitchFrom; // 0x311 +private: + [[maybe_unused]] uint8_t __pad0312[0x2]; // 0x312 +public: // MPropertyGroupName "UI" - RumbleEffect_t m_iRumbleEffect; // 0x314 - CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x318 + RumbleEffect_t m_iRumbleEffect; // 0x314 + CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x318 }; -// Aligment: 22 -// Size: 6920 +// Alignment: 22 +// Size: 0x1b08 class C_BaseAnimatingController : public CSkeletonAnimationController { public: // MNetworkEnable // MNetworkChangeCallback "baseAnimBaseLayerChanged" - CNetworkedSequenceOperation m_baseLayer; // 0x18 + CNetworkedSequenceOperation m_baseLayer; // 0x18 // MNetworkEnable - CAnimGraphNetworkedVariables m_animGraphNetworkedVars; // 0x58 + CAnimGraphNetworkedVariables m_animGraphNetworkedVars; // 0x58 +private: + [[maybe_unused]] uint8_t __pad1708[0x8]; // 0x1708 +public: // MNetworkDisable - bool m_bSequenceFinished; // 0x1710 + bool m_bSequenceFinished; // 0x1710 +private: + [[maybe_unused]] uint8_t __pad1711[0x3]; // 0x1711 +public: // MNetworkDisable - float m_flGroundSpeed; // 0x1714 + float m_flGroundSpeed; // 0x1714 // MNetworkDisable - float m_flLastEventCycle; // 0x1718 + float m_flLastEventCycle; // 0x1718 // MNetworkDisable - float m_flLastEventAnimTime; // 0x171c + float m_flLastEventAnimTime; // 0x171c // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "-4" @@ -2796,119 +3260,122 @@ public: // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkChangeCallback "playbackRateChanged" - CNetworkedQuantizedFloat m_flPlaybackRate; // 0x1720 + CNetworkedQuantizedFloat m_flPlaybackRate; // 0x1720 // MNetworkDisable - float m_flPrevAnimTime; // 0x1738 + float m_flPrevAnimTime; // 0x1738 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkUserGroup "m_flPoseParameter" // MNetworkChangeCallback "poseParametersChanged" - float32[24] m_flPoseParameter; // 0x173c + float m_flPoseParameter[24]; // 0x173c // MNetworkEnable // MNetworkChangeCallback "clientSideAnimationChanged" - bool m_bClientSideAnimation; // 0x179c + bool m_bClientSideAnimation; // 0x179c // MNetworkDisable - bool m_bNetworkedAnimationInputsChanged; // 0x179d + bool m_bNetworkedAnimationInputsChanged; // 0x179d // MNetworkDisable - uint8_t m_nPrevNewSequenceParity; // 0x179e + uint8_t m_nPrevNewSequenceParity; // 0x179e // MNetworkDisable - uint8_t m_nPrevResetEventsParity; // 0x179f + uint8_t m_nPrevResetEventsParity; // 0x179f // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "clientSideAnimCycleReset" - int32_t m_nNewSequenceParity; // 0x17a0 + int32_t m_nNewSequenceParity; // 0x17a0 // MNetworkEnable // MNetworkPriority "32" - int32_t m_nResetEventsParity; // 0x17a4 + int32_t m_nResetEventsParity; // 0x17a4 // MNetworkDisable - float m_flIKGroundContactTime; // 0x17a8 + float m_flIKGroundContactTime; // 0x17a8 // MNetworkDisable - float m_flIKGroundMinHeight; // 0x17ac + float m_flIKGroundMinHeight; // 0x17ac // MNetworkDisable - float m_flIKGroundMaxHeight; // 0x17b0 + float m_flIKGroundMaxHeight; // 0x17b0 // MNetworkDisable - float m_flIkZAdjustAmount; // 0x17b4 + float m_flIkZAdjustAmount; // 0x17b4 +private: + [[maybe_unused]] uint8_t __pad17b8[0x28]; // 0x17b8 +public: // MNetworkDisable - C_CSequenceTransitioner2 m_SequenceTransitioner; // 0x17e0 + C_CSequenceTransitioner2 m_SequenceTransitioner; // 0x17e0 +private: + [[maybe_unused]] uint8_t __pad1a18[0x40]; // 0x1a18 +public: // MNetworkDisable - HSequence m_hLastAnimEventSequence; // 0x1a58 + HSequence m_hLastAnimEventSequence; // 0x1a58 // MNetworkDisable - uint32_t m_ClientSideAnimationListHandle; // 0x1a5c + uint32_t m_ClientSideAnimationListHandle; // 0x1a5c }; -// Aligment: 2 -// Size: 8256 -class C_BodyComponentBaseAnimating : public CBodyComponentSkeletonInstance, CBodyComponent, CEntityComponent +// Alignment: 2 +// Size: 0x2040 +class C_BodyComponentBaseAnimating : public CBodyComponentSkeletonInstance { public: // MNetworkEnable - C_BaseAnimatingController m_animationController; // 0x520 + C_BaseAnimatingController m_animationController; // 0x520 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x2028 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BodyComponentBaseAnimating")->m_static_fiels[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("C_BodyComponentBaseAnimating")->m_static_fiels[1]->m_instance); } + CNetworkVarChainer __m_pChainEntity; // 0x2028 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BodyComponentBaseAnimating")->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("C_BodyComponentBaseAnimating")->m_static_fields[1]->m_instance);}; }; -// Aligment: 1 -// Size: 7024 -class C_BaseAnimatingOverlayController : public C_BaseAnimatingController, CSkeletonAnimationController +// Alignment: 1 +// Size: 0x1b70 +class C_BaseAnimatingOverlayController : public C_BaseAnimatingController { public: // MNetworkEnable // MNetworkUserGroup "overlay_vars" // MNetworkChangeCallback "OnOverlaysChanged2" - C_UtlVectorEmbeddedNetworkVar< CAnimationLayer > m_AnimOverlay; // 0x1b08 + C_UtlVectorEmbeddedNetworkVar< CAnimationLayer > m_AnimOverlay; // 0x1b08 }; -// Aligment: 2 -// Size: 8368 -class C_BodyComponentBaseAnimatingOverlay : public CBodyComponentSkeletonInstance, CBodyComponent, CEntityComponent +// Alignment: 2 +// Size: 0x20b0 +class C_BodyComponentBaseAnimatingOverlay : public CBodyComponentSkeletonInstance { public: // MNetworkEnable - C_BaseAnimatingOverlayController m_animationController; // 0x520 + C_BaseAnimatingOverlayController m_animationController; // 0x520 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x2090 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BodyComponentBaseAnimatingOverlay")->m_static_fiels[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("C_BodyComponentBaseAnimatingOverlay")->m_static_fiels[1]->m_instance); } + CNetworkVarChainer __m_pChainEntity; // 0x2090 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BodyComponentBaseAnimatingOverlay")->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("C_BodyComponentBaseAnimatingOverlay")->m_static_fields[1]->m_instance);}; }; -// Aligment: 1 -// Size: 1344 -class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance, CBodyComponent, CEntityComponent +// Alignment: 1 +// Size: 0x540 +class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x520 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fiels[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_fiels[1]->m_instance); } + CNetworkVarChainer __m_pChainEntity; // 0x520 + 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);}; }; -// Aligment: 7 -// Size: 248 +// 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 }; -// Aligment: 85 -// Size: 1400 -class C_BaseEntity : public CEntityInstance, IHandleEntity +// Alignment: 85 +// Size: 0x578 +class C_BaseEntity : public CEntityInstance { public: // MNetworkEnable @@ -2916,2127 +3383,2464 @@ public: // MNetworkAlias "CBodyComponent" // MNetworkTypeAlias "CBodyComponent" // MNetworkPriority "48" - CBodyComponent* m_CBodyComponent; // 0x38 - CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x40 - int32_t m_nLastThinkTick; // 0x300 - CGameSceneNode* m_pGameSceneNode; // 0x308 - CRenderComponent* m_pRenderComponent; // 0x310 - CCollisionProperty* m_pCollision; // 0x318 + CBodyComponent* m_CBodyComponent; // 0x38 + CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x40 +private: + [[maybe_unused]] uint8_t __pad01e0[0x120]; // 0x1e0 +public: + int32_t m_nLastThinkTick; // 0x300 +private: + [[maybe_unused]] uint8_t __pad0304[0x4]; // 0x304 +public: + CGameSceneNode* m_pGameSceneNode; // 0x308 + CRenderComponent* m_pRenderComponent; // 0x310 + CCollisionProperty* m_pCollision; // 0x318 // MNetworkEnable // MNetworkChangePointerCallback - CModifierProperty* m_pModifierProp; // 0x320 + CModifierProperty* m_pModifierProp; // 0x320 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - int32_t m_iMaxHealth; // 0x328 + int32_t m_iMaxHealth; // 0x328 // MNetworkEnable // MNetworkSerializer "ClampHealth" // MNetworkUserGroup "Player" // MNetworkPriority "32" - int32_t m_iHealth; // 0x32c + int32_t m_iHealth; // 0x32c // MNetworkEnable // MNetworkUserGroup "Player" // MNetworkPriority "32" - uint8_t m_lifeState; // 0x330 + uint8_t m_lifeState; // 0x330 // MNetworkEnable - bool m_bTakesDamage; // 0x331 + bool m_bTakesDamage; // 0x331 // MNetworkEnable - TakeDamageFlags_t m_nTakeDamageFlags; // 0x332 + TakeDamageFlags_t m_nTakeDamageFlags; // 0x332 // MNetworkEnable // MNetworkChangeCallback "OnInterpolationFrameChanged" - uint8_t m_ubInterpolationFrame; // 0x334 - CHandle< C_BaseEntity > m_hSceneObjectController; // 0x338 - int32_t m_nNoInterpolationTick; // 0x33c - float m_flProxyRandomValue; // 0x340 - int32_t m_iEFlags; // 0x344 - uint8_t m_nWaterType; // 0x348 - bool m_bInterpolateEvenWithNoModel; // 0x349 - bool m_bPredictionEligible; // 0x34a - bool m_bApplyLayerMatchIDToModel; // 0x34c - CUtlStringToken m_tokLayerMatchID; // 0x350 + uint8_t m_ubInterpolationFrame; // 0x334 +private: + [[maybe_unused]] uint8_t __pad0335[0x3]; // 0x335 +public: + CHandle< C_BaseEntity > m_hSceneObjectController; // 0x338 + int32_t m_nNoInterpolationTick; // 0x33c + float m_flProxyRandomValue; // 0x340 + int32_t m_iEFlags; // 0x344 + uint8_t m_nWaterType; // 0x348 + bool m_bInterpolateEvenWithNoModel; // 0x349 + bool m_bPredictionEligible; // 0x34a +private: + [[maybe_unused]] uint8_t __pad034b[0x1]; // 0x34b +public: + bool m_bApplyLayerMatchIDToModel; // 0x34c +private: + [[maybe_unused]] uint8_t __pad034d[0x3]; // 0x34d +public: + CUtlStringToken m_tokLayerMatchID; // 0x350 // MNetworkEnable // MNetworkChangeCallback "OnSubclassIDChanged" - CUtlStringToken m_nSubclassID; // 0x354 - int32_t m_nSimulationTick; // 0x360 - int32_t m_iCurrentThinkContext; // 0x364 - CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x368 + CUtlStringToken m_nSubclassID; // 0x354 +private: + [[maybe_unused]] uint8_t __pad0358[0x8]; // 0x358 +public: + int32_t m_nSimulationTick; // 0x360 + int32_t m_iCurrentThinkContext; // 0x364 + CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x368 // MNetworkEnable // MNetworkPriority "0" // MNetworkSerializer "animTimeSerializer" // MNetworkChangeCallback "OnAnimTimeChanged" - float m_flAnimTime; // 0x380 + float m_flAnimTime; // 0x380 // MNetworkEnable // MNetworkPriority "1" // MNetworkSerializer "simulationTimeSerializer" // MNetworkChangeCallback "OnSimulationTimeChanged" - float m_flSimulationTime; // 0x384 - uint8_t m_nSceneObjectOverrideFlags; // 0x388 - bool m_bHasSuccessfullyInterpolated; // 0x389 - bool m_bHasAddedVarsToInterpolation; // 0x38a - bool m_bRenderEvenWhenNotSuccessfullyInterpolated; // 0x38b - int32[2] m_nInterpolationLatchDirtyFlags; // 0x38c - uint16[11] m_ListEntry; // 0x394 + float m_flSimulationTime; // 0x384 + uint8_t m_nSceneObjectOverrideFlags; // 0x388 + bool m_bHasSuccessfullyInterpolated; // 0x389 + bool m_bHasAddedVarsToInterpolation; // 0x38a + bool m_bRenderEvenWhenNotSuccessfullyInterpolated; // 0x38b + int32_t m_nInterpolationLatchDirtyFlags[2]; // 0x38c + uint16_t m_ListEntry[11]; // 0x394 +private: + [[maybe_unused]] uint8_t __pad03aa[0x2]; // 0x3aa +public: // MNetworkEnable - float m_flCreateTime; // 0x3ac - float m_flSpeed; // 0x3b0 - uint16_t m_EntClientFlags; // 0x3b4 + float m_flCreateTime; // 0x3ac + float m_flSpeed; // 0x3b0 + uint16_t m_EntClientFlags; // 0x3b4 // MNetworkEnable - bool m_bClientSideRagdoll; // 0x3b6 + bool m_bClientSideRagdoll; // 0x3b6 // MNetworkEnable // MNetworkChangeCallback "OnNetVarTeamNumChanged" - uint8_t m_iTeamNum; // 0x3b7 + uint8_t m_iTeamNum; // 0x3b7 // MNetworkEnable - uint32_t m_spawnflags; // 0x3b8 + uint32_t m_spawnflags; // 0x3b8 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - int32_t m_nNextThinkTick; // 0x3bc + int32_t m_nNextThinkTick; // 0x3bc // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" - uint32_t m_fFlags; // 0x3c0 - Vector m_vecAbsVelocity; // 0x3c4 + uint32_t m_fFlags; // 0x3c0 + Vector m_vecAbsVelocity; // 0x3c4 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkChangeCallback "OnLocalVelocityChanged" // MNetworkPriority "32" - CNetworkVelocityVector m_vecVelocity; // 0x3d0 + CNetworkVelocityVector m_vecVelocity; // 0x3d0 +private: + [[maybe_unused]] uint8_t __pad0430[0x8]; // 0x430 +public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - Vector m_vecBaseVelocity; // 0x438 + Vector m_vecBaseVelocity; // 0x438 // MNetworkEnable - CHandle< C_BaseEntity > m_hEffectEntity; // 0x444 + CHandle< C_BaseEntity > m_hEffectEntity; // 0x444 // MNetworkEnable // MNetworkPriority "32" - CHandle< C_BaseEntity > m_hOwnerEntity; // 0x448 + CHandle< C_BaseEntity > m_hOwnerEntity; // 0x448 // MNetworkEnable - MoveCollide_t m_MoveCollide; // 0x44c + MoveCollide_t m_MoveCollide; // 0x44c // MNetworkEnable // MNetworkChangeCallback "OnMoveTypeChanged" - MoveType_t m_MoveType; // 0x44d + MoveType_t m_MoveType; // 0x44d // MNetworkEnable // MNetworkUserGroup "Player" - uint8_t m_nWaterLevel; // 0x44e + uint8_t m_nWaterLevel; // 0x44e +private: + [[maybe_unused]] uint8_t __pad044f[0x1]; // 0x44f +public: // MNetworkEnable // MNetworkChangeCallback "OnEffectsChanged" - uint32_t m_fEffects; // 0x450 + uint32_t m_fEffects; // 0x450 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" - CHandle< C_BaseEntity > m_hGroundEntity; // 0x454 + CHandle< C_BaseEntity > m_hGroundEntity; // 0x454 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "4" // MNetworkEncodeFlags // MNetworkUserGroup "LocalPlayerExclusive" - float m_flFriction; // 0x458 + float m_flFriction; // 0x458 // MNetworkEnable // MNetworkEncoder - float m_flElasticity; // 0x45c + float m_flElasticity; // 0x45c // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flGravityScale; // 0x460 + float m_flGravityScale; // 0x460 // MNetworkEnable // MNetworkChangeCallback "OnInterpolationAmountChanged" - bool m_bSimulatedEveryTick; // 0x464 + bool m_bSimulatedEveryTick; // 0x464 // MNetworkEnable // MNetworkChangeCallback "OnInterpolationAmountChanged" - bool m_bAnimatedEveryTick; // 0x465 + bool m_bAnimatedEveryTick; // 0x465 // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMinCPULevel; // 0x466 + uint8_t m_nMinCPULevel; // 0x466 // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMaxCPULevel; // 0x467 + uint8_t m_nMaxCPULevel; // 0x467 // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMinGPULevel; // 0x468 + uint8_t m_nMinGPULevel; // 0x468 // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMaxGPULevel; // 0x469 + uint8_t m_nMaxGPULevel; // 0x469 +private: + [[maybe_unused]] uint8_t __pad046a[0x2]; // 0x46a +public: // MNetworkEnable // MNetworkChangeCallback "OnNavIgnoreChanged" - float m_flNavIgnoreUntilTime; // 0x46c - CBitVec< 1 > m_ShadowBits; // 0x470 - float m_flFirstReceivedTime; // 0x474 - float m_flLastMessageTime; // 0x478 - uint16_t m_hThink; // 0x47c - uint8_t m_fBBoxVisFlags; // 0x488 - bool m_bIsValidIKAttachment; // 0x489 - bool m_bPredictable; // 0x48a - bool m_bRenderWithViewModels; // 0x48b - CSplitScreenSlot m_nSplitUserPlayerPredictionSlot; // 0x48c - CHandle< C_BaseEntity > m_hOldMoveParent; // 0x490 - CParticleProperty m_Particles; // 0x498 - CUtlVector< float32 > m_vecPredictedScriptFloats; // 0x4c0 - CUtlVector< int32 > m_vecPredictedScriptFloatIDs; // 0x4d8 - int32_t m_nNextScriptVarRecordID; // 0x508 - int32_t m_nAnimGraphNetVarCreationCommandNumber; // 0x518 - QAngle m_vecAngVelocity; // 0x51c - float m_flGroundChangeTime; // 0x528 - int32_t m_DataChangeEventRef; // 0x52c - CUtlVector< CEntityHandle > m_dependencies; // 0x530 - int32_t m_nCreationTick; // 0x548 - bool m_bAnimTimeChanged; // 0x561 - bool m_bSimulationTimeChanged; // 0x562 - CUtlString m_sUniqueHammerID; // 0x570 + float m_flNavIgnoreUntilTime; // 0x46c + CBitVec< 1 > m_ShadowBits; // 0x470 + float m_flFirstReceivedTime; // 0x474 + float m_flLastMessageTime; // 0x478 + uint16_t m_hThink; // 0x47c +private: + [[maybe_unused]] uint8_t __pad047e[0xa]; // 0x47e public: - static bool &Get_sm_bDatadescValidating() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fiels[0]->m_instance); } - static bool &Get_sm_bAccurateTriggerBboxChecks() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fiels[1]->m_instance); } - static bool &Get_sm_bDisableTouchFuncs() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fiels[2]->m_instance); } - static bool &Get_m_bAllowPrecache() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fiels[3]->m_instance); } - static LatchDirtyPermission_t &Get_s_nLatchPermissions() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fiels[4]->m_instance); } - static int32_t &Get_m_nPredictionRandomSeed() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fiels[5]->m_instance); } - static CBasePlayerController* &Get_m_pPredictionPlayerController() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fiels[6]->m_instance); } - static bool &Get_s_bAbsQueriesValid() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fiels[7]->m_instance); } - static bool &Get_s_bAbsRecomputationEnabled() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fiels[8]->m_instance); } - static bool &Get_s_bComputingInterpolatedValues() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fiels[9]->m_instance); } - static bool &Get_s_bPreventingSetAnimRunAnimEvents() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fiels[10]->m_instance); } - static CUtlVector< C_BaseEntity* > &Get_gm_UsableObjects() { return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fiels[11]->m_instance); } + uint8_t m_fBBoxVisFlags; // 0x488 + bool m_bIsValidIKAttachment; // 0x489 + bool m_bPredictable; // 0x48a + bool m_bRenderWithViewModels; // 0x48b + CSplitScreenSlot m_nSplitUserPlayerPredictionSlot; // 0x48c + CHandle< C_BaseEntity > m_hOldMoveParent; // 0x490 +private: + [[maybe_unused]] uint8_t __pad0494[0x4]; // 0x494 +public: + CParticleProperty m_Particles; // 0x498 + CUtlVector< float32 > m_vecPredictedScriptFloats; // 0x4c0 + CUtlVector< int32 > m_vecPredictedScriptFloatIDs; // 0x4d8 +private: + [[maybe_unused]] uint8_t __pad04f0[0x18]; // 0x4f0 +public: + int32_t m_nNextScriptVarRecordID; // 0x508 +private: + [[maybe_unused]] uint8_t __pad050c[0xc]; // 0x50c +public: + int32_t m_nAnimGraphNetVarCreationCommandNumber; // 0x518 + QAngle m_vecAngVelocity; // 0x51c + float m_flGroundChangeTime; // 0x528 + int32_t m_DataChangeEventRef; // 0x52c + CUtlVector< CEntityHandle > m_dependencies; // 0x530 + int32_t m_nCreationTick; // 0x548 +private: + [[maybe_unused]] uint8_t __pad054c[0x15]; // 0x54c +public: + bool m_bAnimTimeChanged; // 0x561 + bool m_bSimulationTimeChanged; // 0x562 +private: + [[maybe_unused]] uint8_t __pad0563[0xd]; // 0x563 +public: + CUtlString m_sUniqueHammerID; // 0x570 + 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);}; }; -// Aligment: 0 -// Size: 1400 -class CLogicalEntity : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class CLogicalEntity : public C_BaseEntity { public: -// + // no members available }; -// Aligment: 18 -// Size: 1984 -class C_ColorCorrection : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 18 +// Size: 0x7c0 +class C_ColorCorrection : public C_BaseEntity { public: - Vector m_vecOrigin; // 0x578 + Vector m_vecOrigin; // 0x578 // MNetworkEnable - float m_MinFalloff; // 0x584 + float m_MinFalloff; // 0x584 // MNetworkEnable - float m_MaxFalloff; // 0x588 + float m_MaxFalloff; // 0x588 // MNetworkEnable - float m_flFadeInDuration; // 0x58c + float m_flFadeInDuration; // 0x58c // MNetworkEnable - float m_flFadeOutDuration; // 0x590 + float m_flFadeOutDuration; // 0x590 // MNetworkEnable - float m_flMaxWeight; // 0x594 + float m_flMaxWeight; // 0x594 // MNetworkEnable - float m_flCurWeight; // 0x598 + float m_flCurWeight; // 0x598 // MNetworkEnable - char[512] m_netlookupFilename; // 0x59c + char m_netlookupFilename[512]; // 0x59c // MNetworkEnable - bool m_bEnabled; // 0x79c + bool m_bEnabled; // 0x79c // MNetworkEnable - bool m_bMaster; // 0x79d + bool m_bMaster; // 0x79d // MNetworkEnable - bool m_bClientSide; // 0x79e + bool m_bClientSide; // 0x79e // MNetworkEnable - bool m_bExclusive; // 0x79f - bool[1] m_bEnabledOnClient; // 0x7a0 - float32[1] m_flCurWeightOnClient; // 0x7a4 - bool[1] m_bFadingIn; // 0x7a8 - float32[1] m_flFadeStartWeight; // 0x7ac - float32[1] m_flFadeStartTime; // 0x7b0 - float32[1] m_flFadeDuration; // 0x7b4 + bool m_bExclusive; // 0x79f + bool m_bEnabledOnClient[1]; // 0x7a0 +private: + [[maybe_unused]] uint8_t __pad07a1[0x3]; // 0x7a1 +public: + float m_flCurWeightOnClient[1]; // 0x7a4 + bool m_bFadingIn[1]; // 0x7a8 +private: + [[maybe_unused]] uint8_t __pad07a9[0x3]; // 0x7a9 +public: + float m_flFadeStartWeight[1]; // 0x7ac + float m_flFadeStartTime[1]; // 0x7b0 + float m_flFadeDuration[1]; // 0x7b4 }; -// Aligment: 1 -// Size: 1960 -class C_EnvWindClientside : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x7a8 +class C_EnvWindClientside : public C_BaseEntity { public: // MNetworkEnable // MNetworkDisable - C_EnvWindShared m_EnvWindShared; // 0x578 + C_EnvWindShared m_EnvWindShared; // 0x578 }; -// Aligment: 3 -// Size: 1448 -class C_EntityFlame : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x5a8 +class C_EntityFlame : public C_BaseEntity { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hEntAttached; // 0x578 - CHandle< C_BaseEntity > m_hOldAttached; // 0x5a0 + CHandle< C_BaseEntity > m_hEntAttached; // 0x578 +private: + [[maybe_unused]] uint8_t __pad057c[0x24]; // 0x57c +public: + CHandle< C_BaseEntity > m_hOldAttached; // 0x5a0 // MNetworkEnable - bool m_bCheapEffect; // 0x5a4 + bool m_bCheapEffect; // 0x5a4 }; -// Aligment: 4 -// Size: 1416 -class C_BaseFire : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x588 +class C_BaseFire : public C_BaseEntity { public: // MNetworkEnable - float m_flScale; // 0x578 + float m_flScale; // 0x578 // MNetworkEnable - float m_flStartScale; // 0x57c + float m_flStartScale; // 0x57c // MNetworkEnable - float m_flScaleTime; // 0x580 + float m_flScaleTime; // 0x580 // MNetworkEnable - uint32_t m_nFlags; // 0x584 + uint32_t m_nFlags; // 0x584 }; -// Aligment: 13 -// Size: 1520 -class C_FireSmoke : public C_BaseFire, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 13 +// Size: 0x5f0 +class C_FireSmoke : public C_BaseFire { public: // MNetworkEnable - int32_t m_nFlameModelIndex; // 0x588 + int32_t m_nFlameModelIndex; // 0x588 // MNetworkEnable - int32_t m_nFlameFromAboveModelIndex; // 0x58c - float m_flScaleRegister; // 0x590 - float m_flScaleStart; // 0x594 - float m_flScaleEnd; // 0x598 - float m_flScaleTimeStart; // 0x59c - float m_flScaleTimeEnd; // 0x5a0 - float m_flChildFlameSpread; // 0x5a4 - float m_flClipPerc; // 0x5b8 - bool m_bClipTested; // 0x5bc - bool m_bFadingOut; // 0x5bd - TimedEvent m_tParticleSpawn; // 0x5c0 - CFireOverlay* m_pFireOverlay; // 0x5c8 + int32_t m_nFlameFromAboveModelIndex; // 0x58c + float m_flScaleRegister; // 0x590 + float m_flScaleStart; // 0x594 + float m_flScaleEnd; // 0x598 + float m_flScaleTimeStart; // 0x59c + float m_flScaleTimeEnd; // 0x5a0 + float m_flChildFlameSpread; // 0x5a4 +private: + [[maybe_unused]] uint8_t __pad05a8[0x10]; // 0x5a8 +public: + float m_flClipPerc; // 0x5b8 + bool m_bClipTested; // 0x5bc + bool m_bFadingOut; // 0x5bd +private: + [[maybe_unused]] uint8_t __pad05be[0x2]; // 0x5be +public: + TimedEvent m_tParticleSpawn; // 0x5c0 + CFireOverlay* m_pFireOverlay; // 0x5c8 }; -// Aligment: 4 -// Size: 272 +// 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 }; -// Aligment: 1 -// Size: 216 +// Alignment: 1 +// Size: 0xd8 class C_SunGlowOverlay : public CGlowOverlay { public: - bool m_bModulateByDot; // 0xd0 + bool m_bModulateByDot; // 0xd0 }; -// Aligment: 0 -// Size: 1424 -class C_TintController : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x590 +class C_TintController : public C_BaseEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1400 -class C_TriggerCamera : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class C_TriggerCamera : public C_BaseEntity { public: -// + // no members available }; -// Aligment: 13 -// Size: 48 +// Alignment: 13 +// Size: 0x30 class CClientAlphaProperty : public IClientAlphaProperty { public: - uint8_t m_nRenderFX; // 0x10 - uint8_t m_nRenderMode; // 0x11 - bitfield:1 m_bAlphaOverride; // 0x0 - bitfield:1 m_bShadowAlphaOverride; // 0x0 - bitfield:6 m_nReserved; // 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 - float 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 __pad2: 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 + float m_flRenderFxStartTime; // 0x20 + float m_flRenderFxDuration; // 0x24 }; -// Aligment: 4 -// Size: 1560 -class C_SkyCamera : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x618 +class C_SkyCamera : public C_BaseEntity { public: // MNetworkEnable - sky3dparams_t m_skyboxData; // 0x578 + sky3dparams_t m_skyboxData; // 0x578 // MNetworkEnable - CUtlStringToken m_skyboxSlotToken; // 0x608 - bool m_bUseAngles; // 0x60c - C_SkyCamera* m_pNext; // 0x610 + CUtlStringToken m_skyboxSlotToken; // 0x608 + bool m_bUseAngles; // 0x60c +private: + [[maybe_unused]] uint8_t __pad060d[0x3]; // 0x60d +public: + C_SkyCamera* m_pNext; // 0x610 }; -// Aligment: 14 -// Size: 400 +// Alignment: 14 +// Size: 0x190 class CBasePlayerVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x108 - CSkillFloat m_flHeadDamageMultiplier; // 0x120 - CSkillFloat m_flChestDamageMultiplier; // 0x130 - CSkillFloat m_flStomachDamageMultiplier; // 0x140 - CSkillFloat m_flArmDamageMultiplier; // 0x150 - CSkillFloat m_flLegDamageMultiplier; // 0x160 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x108 + CSkillFloat m_flHeadDamageMultiplier; // 0x120 + CSkillFloat m_flChestDamageMultiplier; // 0x130 + CSkillFloat m_flStomachDamageMultiplier; // 0x140 + CSkillFloat m_flArmDamageMultiplier; // 0x150 + CSkillFloat m_flLegDamageMultiplier; // 0x160 // MPropertyGroupName "Water" - float m_flHoldBreathTime; // 0x170 + float m_flHoldBreathTime; // 0x170 // MPropertyGroupName "Water" // MPropertyDescription "Seconds between drowning ticks" - float m_flDrowningDamageInterval; // 0x174 + float m_flDrowningDamageInterval; // 0x174 // MPropertyGroupName "Water" // MPropertyDescription "Amount of damage done on the first drowning tick (+1 each subsequent interval)" - int32_t m_nDrowningDamageInitial; // 0x178 + int32_t m_nDrowningDamageInitial; // 0x178 // MPropertyGroupName "Water" // MPropertyDescription "Max damage done by a drowning tick" - int32_t m_nDrowningDamageMax; // 0x17c + int32_t m_nDrowningDamageMax; // 0x17c // MPropertyGroupName "Water" - int32_t m_nWaterSpeed; // 0x180 + int32_t m_nWaterSpeed; // 0x180 // MPropertyGroupName "Use" - float m_flUseRange; // 0x184 + float m_flUseRange; // 0x184 // MPropertyGroupName "Use" - float m_flUseAngleTolerance; // 0x188 + float m_flUseAngleTolerance; // 0x188 }; -// Aligment: 2 -// Size: 1408 -class C_EnvDetailController : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x580 +class C_EnvDetailController : public C_BaseEntity { public: // MNetworkEnable - float m_flFadeStartDist; // 0x578 + float m_flFadeStartDist; // 0x578 // MNetworkEnable - float m_flFadeEndDist; // 0x57c + float m_flFadeEndDist; // 0x57c }; -// Aligment: 0 -// Size: 1400 -class C_InfoLadderDismount : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class C_InfoLadderDismount : public C_BaseEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1400 -class C_GameRulesProxy : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class C_GameRulesProxy : public C_BaseEntity { public: -// + // no members available }; -// Aligment: 15 -// Size: 1488 -class C_PoseController : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 15 +// Size: 0x5d0 +class C_PoseController : public C_BaseEntity { public: // MNetworkEnable - bool m_bPoseValueParity; // 0x578 + bool m_bPoseValueParity; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 +public: // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0" // MNetworkMaxValue "1" - float m_fPoseValue; // 0x57c + float m_fPoseValue; // 0x57c // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0" // MNetworkMaxValue "10" - float m_fInterpolationDuration; // 0x580 + float m_fInterpolationDuration; // 0x580 // MNetworkEnable - bool m_bInterpolationWrap; // 0x584 + bool m_bInterpolationWrap; // 0x584 +private: + [[maybe_unused]] uint8_t __pad0585[0x3]; // 0x585 +public: // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-10" // MNetworkMaxValue "10" - float m_fCycleFrequency; // 0x588 + float m_fCycleFrequency; // 0x588 // MNetworkEnable - PoseController_FModType_t m_nFModType; // 0x58c + PoseController_FModType_t m_nFModType; // 0x58c // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-1" // MNetworkMaxValue "1" - float m_fFModTimeOffset; // 0x590 + float m_fFModTimeOffset; // 0x590 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-10" // MNetworkMaxValue "10" - float m_fFModRate; // 0x594 + float m_fFModRate; // 0x594 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0" // MNetworkMaxValue "10" - float m_fFModAmplitude; // 0x598 + float m_fFModAmplitude; // 0x598 // MNetworkEnable - CHandle< C_BaseEntity >[4] m_hProps; // 0x59c + CHandle< C_BaseEntity > m_hProps[4]; // 0x59c // MNetworkEnable - uint8[4] m_chPoseIndex; // 0x5ac - bool m_bOldPoseValueParity; // 0x5b0 - float m_fCurrentPoseValue; // 0x5b4 - float m_fCurrentFMod; // 0x5b8 - CInterpolatedValue m_PoseTransitionValue; // 0x5bc + uint8_t m_chPoseIndex[4]; // 0x5ac + bool m_bOldPoseValueParity; // 0x5b0 +private: + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 +public: + float m_fCurrentPoseValue; // 0x5b4 + float m_fCurrentFMod; // 0x5b8 + CInterpolatedValue m_PoseTransitionValue; // 0x5bc }; -// Aligment: 7 -// Size: 296 +// 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 }; -// Aligment: 5 -// Size: 1432 -class C_SoundOpvarSetPointBase : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x598 +class C_SoundOpvarSetPointBase : public C_BaseEntity { public: // MNetworkEnable - CUtlSymbolLarge m_iszStackName; // 0x578 + CUtlSymbolLarge m_iszStackName; // 0x578 // MNetworkEnable - CUtlSymbolLarge m_iszOperatorName; // 0x580 + CUtlSymbolLarge m_iszOperatorName; // 0x580 // MNetworkEnable - CUtlSymbolLarge m_iszOpvarName; // 0x588 + CUtlSymbolLarge m_iszOpvarName; // 0x588 // MNetworkEnable - int32_t m_iOpvarIndex; // 0x590 + int32_t m_iOpvarIndex; // 0x590 // MNetworkEnable - bool m_bUseAutoCompare; // 0x594 + bool m_bUseAutoCompare; // 0x594 }; -// Aligment: 0 -// Size: 1432 -class C_SoundOpvarSetPointEntity : public C_SoundOpvarSetPointBase, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x598 +class C_SoundOpvarSetPointEntity : public C_SoundOpvarSetPointBase { public: -// + // no members available }; -// Aligment: 0 -// Size: 1432 -class C_SoundOpvarSetAABBEntity : public C_SoundOpvarSetPointEntity, C_SoundOpvarSetPointBase, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x598 +class C_SoundOpvarSetAABBEntity : public C_SoundOpvarSetPointEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1432 -class C_SoundOpvarSetOBBEntity : public C_SoundOpvarSetAABBEntity, C_SoundOpvarSetPointEntity, C_SoundOpvarSetPointBase, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x598 +class C_SoundOpvarSetOBBEntity : public C_SoundOpvarSetAABBEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1432 -class C_SoundOpvarSetPathCornerEntity : public C_SoundOpvarSetPointEntity, C_SoundOpvarSetPointBase, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x598 +class C_SoundOpvarSetPathCornerEntity : public C_SoundOpvarSetPointEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1432 -class C_SoundOpvarSetOBBWindEntity : public C_SoundOpvarSetPointBase, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x598 +class C_SoundOpvarSetOBBWindEntity : public C_SoundOpvarSetPointBase { public: -// + // no members available }; -// Aligment: 30 -// Size: 1472 -class C_TeamRoundTimer : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 30 +// Size: 0x5c0 +class C_TeamRoundTimer : public C_BaseEntity { public: // MNetworkEnable // MNetworkChangeCallback "OnTimerPaused" - bool m_bTimerPaused; // 0x578 + bool m_bTimerPaused; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 +public: // MNetworkEnable - float m_flTimeRemaining; // 0x57c + float m_flTimeRemaining; // 0x57c // MNetworkEnable - float m_flTimerEndTime; // 0x580 + float m_flTimerEndTime; // 0x580 // MNetworkEnable - bool m_bIsDisabled; // 0x584 + bool m_bIsDisabled; // 0x584 // MNetworkEnable - bool m_bShowInHUD; // 0x585 + bool m_bShowInHUD; // 0x585 +private: + [[maybe_unused]] uint8_t __pad0586[0x2]; // 0x586 +public: // MNetworkEnable - int32_t m_nTimerLength; // 0x588 + int32_t m_nTimerLength; // 0x588 // MNetworkEnable - int32_t m_nTimerInitialLength; // 0x58c + int32_t m_nTimerInitialLength; // 0x58c // MNetworkEnable - int32_t m_nTimerMaxLength; // 0x590 + int32_t m_nTimerMaxLength; // 0x590 // MNetworkEnable - bool m_bAutoCountdown; // 0x594 + bool m_bAutoCountdown; // 0x594 +private: + [[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595 +public: // MNetworkEnable - int32_t m_nSetupTimeLength; // 0x598 + int32_t m_nSetupTimeLength; // 0x598 // MNetworkEnable - int32_t m_nState; // 0x59c + int32_t m_nState; // 0x59c // MNetworkEnable - bool m_bStartPaused; // 0x5a0 + bool m_bStartPaused; // 0x5a0 // MNetworkEnable - bool m_bInCaptureWatchState; // 0x5a1 + bool m_bInCaptureWatchState; // 0x5a1 +private: + [[maybe_unused]] uint8_t __pad05a2[0x2]; // 0x5a2 +public: // MNetworkEnable - float m_flTotalTime; // 0x5a4 + float m_flTotalTime; // 0x5a4 // MNetworkEnable - bool m_bStopWatchTimer; // 0x5a8 - bool m_bFireFinished; // 0x5a9 - bool m_bFire5MinRemain; // 0x5aa - bool m_bFire4MinRemain; // 0x5ab - bool m_bFire3MinRemain; // 0x5ac - bool m_bFire2MinRemain; // 0x5ad - bool m_bFire1MinRemain; // 0x5ae - bool m_bFire30SecRemain; // 0x5af - bool m_bFire10SecRemain; // 0x5b0 - bool m_bFire5SecRemain; // 0x5b1 - bool m_bFire4SecRemain; // 0x5b2 - bool m_bFire3SecRemain; // 0x5b3 - bool m_bFire2SecRemain; // 0x5b4 - bool m_bFire1SecRemain; // 0x5b5 - int32_t m_nOldTimerLength; // 0x5b8 - int32_t m_nOldTimerState; // 0x5bc + bool m_bStopWatchTimer; // 0x5a8 + bool m_bFireFinished; // 0x5a9 + bool m_bFire5MinRemain; // 0x5aa + bool m_bFire4MinRemain; // 0x5ab + bool m_bFire3MinRemain; // 0x5ac + bool m_bFire2MinRemain; // 0x5ad + bool m_bFire1MinRemain; // 0x5ae + bool m_bFire30SecRemain; // 0x5af + bool m_bFire10SecRemain; // 0x5b0 + bool m_bFire5SecRemain; // 0x5b1 + bool m_bFire4SecRemain; // 0x5b2 + bool m_bFire3SecRemain; // 0x5b3 + bool m_bFire2SecRemain; // 0x5b4 + bool m_bFire1SecRemain; // 0x5b5 +private: + [[maybe_unused]] uint8_t __pad05b6[0x2]; // 0x5b6 +public: + int32_t m_nOldTimerLength; // 0x5b8 + int32_t m_nOldTimerState; // 0x5bc }; -// Aligment: 6 -// Size: 1464 -class CBaseNPCAbility : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x5b8 +class CBaseNPCAbility : public C_BaseEntity { public: // MNetworkEnable - CHandle< CNPCAbilityModel > m_hAbilityModel; // 0x578 + CHandle< CNPCAbilityModel > m_hAbilityModel; // 0x578 // MNetworkEnable - CHandle< CBaseNPCAbility > m_hLinkedAbility; // 0x57c + CHandle< CBaseNPCAbility > m_hLinkedAbility; // 0x57c // MNetworkEnable - bool m_bHeld; // 0x580 + bool m_bHeld; // 0x580 // MNetworkEnable - bool m_bEnabled; // 0x581 + bool m_bEnabled; // 0x581 // MNetworkEnable - bool m_bPrimaryAbility; // 0x582 + bool m_bPrimaryAbility; // 0x582 +private: + [[maybe_unused]] uint8_t __pad0583[0xd]; // 0x583 +public: // MNetworkEnable // MNetworkVarEmbeddedNotFlattened // MNetworkSendProxyRecipientsFilter - NPCAbilityTarget_t m_UsageTarget; // 0x590 + NPCAbilityTarget_t m_UsageTarget; // 0x590 }; -// Aligment: 0 -// Size: 1464 -class CNPCAbilityAddModifier : public CBaseNPCAbility, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x5b8 +class CNPCAbilityAddModifier : public CBaseNPCAbility { public: -// + // no members available }; -// Aligment: 0 -// Size: 1464 -class CNPCAbilityRemoveModifier : public CBaseNPCAbility, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x5b8 +class CNPCAbilityRemoveModifier : public CBaseNPCAbility { public: -// + // no members available }; -// Aligment: 0 -// Size: 1464 -class CNPCAbilityBaseRanged : public CBaseNPCAbility, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x5b8 +class CNPCAbilityBaseRanged : public CBaseNPCAbility { public: -// + // no members available }; -// Aligment: 0 -// Size: 1464 -class CNPCAbilityMeleeAttack : public CBaseNPCAbility, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x5b8 +class CNPCAbilityMeleeAttack : public CBaseNPCAbility { public: -// + // no members available }; -// Aligment: 0 -// Size: 1464 -class CNPCAbilitySpawn : public CBaseNPCAbility, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x5b8 +class CNPCAbilitySpawn : public CBaseNPCAbility { public: -// + // no members available }; -// Aligment: 1 -// Size: 1472 -class CNPCWeaponHitscan : public CBaseNPCAbility, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x5c0 +class CNPCWeaponHitscan : public CBaseNPCAbility { public: - AttachmentHandle_t m_nTracerAttachmentIndex; // 0x5b8 + AttachmentHandle_t m_nTracerAttachmentIndex; // 0x5b8 }; -// Aligment: 2 -// Size: 152 -class CBaseModifierAura : public CSteamPalModifier, CBaseModifier +// Alignment: 2 +// Size: 0x98 +class CBaseModifierAura : public CSteamPalModifier { public: - CUtlVector< CHandle< C_BaseEntity > > m_hAuraUnits; // 0x78 - ParticleIndex_t m_hAmbientEffect; // 0x90 + CUtlVector< CHandle< C_BaseEntity > > m_hAuraUnits; // 0x78 + ParticleIndex_t m_hAmbientEffect; // 0x90 }; -// Aligment: 2 -// Size: 1432 -class CPointModifierThinker : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x598 +class CPointModifierThinker : public C_BaseEntity { public: - CModifierHandleTyped< CSteamPalModifier > m_hModifier; // 0x578 - bool m_bSendToClients; // 0x590 + CModifierHandleTyped< CSteamPalModifier > m_hModifier; // 0x578 + bool m_bSendToClients; // 0x590 }; -// Aligment: 1 -// Size: 1408 -class CSteamPalGameRulesProxy : public C_GameRulesProxy, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x580 +class CSteamPalGameRulesProxy : public C_GameRulesProxy { public: // MNetworkEnable - C_SteamPalGameRules* m_pSteamPalGameRules; // 0x578 + C_SteamPalGameRules* m_pSteamPalGameRules; // 0x578 }; -// Aligment: 0 -// Size: 152 -class CSteamPalModifierAura : public CBaseModifierAura, CSteamPalModifier, CBaseModifier +// Alignment: 0 +// Size: 0x98 +class CSteamPalModifierAura : public CBaseModifierAura { public: -// + // no members available }; -// Aligment: 0 -// Size: 152 -class CSteamPalModifierAura_Default : public CSteamPalModifierAura, CBaseModifierAura, CSteamPalModifier, CBaseModifier +// Alignment: 0 +// Size: 0x98 +class CSteamPalModifierAura_Default : public CSteamPalModifierAura { public: -// + // no members available }; -// Aligment: 0 -// Size: 1400 -class CSteampal_Turret_Manager : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class CSteampal_Turret_Manager : public C_BaseEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1400 -class CSteamPal_Sequencer : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class CSteamPal_Sequencer : public C_BaseEntity { public: -// + // no members available }; -// Aligment: 16 -// Size: 1480 -class CSteamPal_NameForm : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 16 +// Size: 0x5c8 +class CSteamPal_NameForm : public C_BaseEntity { public: - bool m_bPrevShowingWritingSurface; // 0x588 + bool m_bPrevShowingWritingSurface; // 0x588 +private: + [[maybe_unused]] uint8_t __pad0589[0x3]; // 0x589 +public: // MNetworkEnable - float m_flTimeUserLastDidUsefulActivity; // 0x58c + float m_flTimeUserLastDidUsefulActivity; // 0x58c // MNetworkEnable - float m_flDurationCurrentTask; // 0x590 + float m_flDurationCurrentTask; // 0x590 // MNetworkEnable - float m_flTimeStartedCurrentTask; // 0x594 + float m_flTimeStartedCurrentTask; // 0x594 // MNetworkEnable // MNetworkChangeCallback "TypedNameChanged" - CUtlString m_strTypedName; // 0x598 + CUtlString m_strTypedName; // 0x598 // MNetworkEnable - bool m_bIsTaskSuccess; // 0x5a0 + bool m_bIsTaskSuccess; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 +public: // MNetworkEnable - float m_flLastMicLevel; // 0x5a4 + float m_flLastMicLevel; // 0x5a4 // MNetworkEnable - bool m_bIsRecording; // 0x5a8 + bool m_bIsRecording; // 0x5a8 // MNetworkEnable - bool m_bIsWarmingUpMicrophone; // 0x5a9 + bool m_bIsWarmingUpMicrophone; // 0x5a9 +private: + [[maybe_unused]] uint8_t __pad05aa[0x2]; // 0x5aa +public: // MNetworkEnable - int32_t m_nNumFramesOfAudioDBsRecorded; // 0x5ac + int32_t m_nNumFramesOfAudioDBsRecorded; // 0x5ac // MNetworkEnable - bool m_bUserTypedWithKeyboard; // 0x5b0 + bool m_bUserTypedWithKeyboard; // 0x5b0 // MNetworkEnable - bool m_bIsShowingWritingSurface; // 0x5b1 + bool m_bIsShowingWritingSurface; // 0x5b1 +private: + [[maybe_unused]] uint8_t __pad05b2[0x2]; // 0x5b2 +public: // MNetworkEnable - float m_flFrameRateLimitBeforeDrawing; // 0x5b4 + float m_flFrameRateLimitBeforeDrawing; // 0x5b4 // MNetworkEnable - CHandle< CSteamPal_Desk > m_hDesk; // 0x5b8 + CHandle< CSteamPal_Desk > m_hDesk; // 0x5b8 // MNetworkEnable - CHandle< CSteamPal_WritingSurface > m_hWritingSurface; // 0x5bc + CHandle< CSteamPal_WritingSurface > m_hWritingSurface; // 0x5bc // MNetworkEnable - CHandle< CInfoOffscreenPanoramaTexture > m_hOffscreenTexture; // 0x5c0 + CHandle< CInfoOffscreenPanoramaTexture > m_hOffscreenTexture; // 0x5c0 }; -// Aligment: 4 -// Size: 1448 -class CSteamPal_Turret_Laser : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x5a8 +class CSteamPal_Turret_Laser : public C_BaseEntity { public: // MNetworkEnable - CHandle< C_BaseModelEntity > m_hTurret; // 0x578 + CHandle< C_BaseModelEntity > m_hTurret; // 0x578 // MNetworkEnable - bool m_bIsLaserOn; // 0x57c - bool m_bPrevIsLaserOn; // 0x57d - AttachmentHandle_t m_nLaserAttachment; // 0x5a0 + bool m_bIsLaserOn; // 0x57c + bool m_bPrevIsLaserOn; // 0x57d +private: + [[maybe_unused]] uint8_t __pad057e[0x22]; // 0x57e +public: + AttachmentHandle_t m_nLaserAttachment; // 0x5a0 }; -// Aligment: 5 -// Size: 1416 -class CSteamPal_Turret_Wing : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x588 +class CSteamPal_Turret_Wing : public C_BaseEntity { public: // MNetworkEnable - CHandle< CSteamPal_Turret > m_hTurret; // 0x578 + CHandle< CSteamPal_Turret > m_hTurret; // 0x578 // MNetworkEnable - bool m_bIsLeftWing; // 0x57c + bool m_bIsLeftWing; // 0x57c // MNetworkEnable - bool m_bBeingControlled; // 0x57d - AttachmentHandle_t[2] m_nMuzzleAttachments; // 0x57e + bool m_bBeingControlled; // 0x57d + AttachmentHandle_t m_nMuzzleAttachments[2]; // 0x57e // MNetworkEnable - int32_t m_nCurrentMuzzle; // 0x580 + int32_t m_nCurrentMuzzle; // 0x580 }; -// Aligment: 7 -// Size: 1472 -class CSteamPalConveyor : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x5c0 +class CSteamPalConveyor : public C_BaseEntity { public: - float m_flCurrentConveyorOffset; // 0x578 - float m_flLastClientThinkTime; // 0x57c + float m_flCurrentConveyorOffset; // 0x578 + float m_flLastClientThinkTime; // 0x57c // MNetworkEnable - bool m_bMoving; // 0x580 + bool m_bMoving; // 0x580 +private: + [[maybe_unused]] uint8_t __pad0581[0x3]; // 0x581 +public: // MNetworkEnable - float m_flCurrentSpeed; // 0x584 + float m_flCurrentSpeed; // 0x584 // MNetworkEnable - float m_flAnimationDirection; // 0x588 + float m_flAnimationDirection; // 0x588 +private: + [[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c +public: // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseAnimating > > m_hConveyorModels; // 0x590 + C_NetworkUtlVectorBase< CHandle< C_BaseAnimating > > m_hConveyorModels; // 0x590 // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< CSteamPalConveyorPathNode > > m_hPathNodes; // 0x5a8 + C_NetworkUtlVectorBase< CHandle< CSteamPalConveyorPathNode > > m_hPathNodes; // 0x5a8 }; -// Aligment: 2 -// Size: 1424 -class CSteamPal_PaintStreamPathNode : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x590 +class CSteamPal_PaintStreamPathNode : public C_BaseEntity { public: // MNetworkEnable - Vector m_vInTangentWorld; // 0x578 + Vector m_vInTangentWorld; // 0x578 // MNetworkEnable - Vector m_vOutTangentWorld; // 0x584 + Vector m_vOutTangentWorld; // 0x584 }; -// Aligment: 8 -// Size: 1560 -class CSteamPal_PaintStream : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x618 +class CSteamPal_PaintStream : public C_BaseEntity { public: - float m_flPrevClientThinkTime; // 0x578 - bool m_bPrevIsOn; // 0x57c + float m_flPrevClientThinkTime; // 0x578 + bool m_bPrevIsOn; // 0x57c +private: + [[maybe_unused]] uint8_t __pad057d[0x1b]; // 0x57d +public: // MNetworkEnable - bool m_bIsOn; // 0x598 + bool m_bIsOn; // 0x598 +private: + [[maybe_unused]] uint8_t __pad0599[0x3]; // 0x599 +public: // MNetworkEnable - float m_flSpeed; // 0x59c + float m_flSpeed; // 0x59c // MNetworkEnable - float m_flPathLength; // 0x5a0 + float m_flPathLength; // 0x5a0 // MNetworkEnable - int32_t m_nNumPaintBlobs; // 0x5a4 + int32_t m_nNumPaintBlobs; // 0x5a4 // MNetworkEnable - SteamPalPaintType m_PaintType; // 0x5a8 + SteamPalPaintType m_PaintType; // 0x5a8 +private: + [[maybe_unused]] uint8_t __pad05ac[0x4]; // 0x5ac +public: // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< CSteamPal_PaintStreamPathNode > > m_hPathNodes; // 0x5b0 + C_NetworkUtlVectorBase< CHandle< CSteamPal_PaintStreamPathNode > > m_hPathNodes; // 0x5b0 }; -// Aligment: 0 -// Size: 1400 -class CSteamPal_Projectile_Tag_Marker : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class CSteamPal_Projectile_Tag_Marker : public C_BaseEntity { public: -// + // no members available }; -// Aligment: 3 -// Size: 1432 -class CSteamPalCameraPath : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x598 +class CSteamPalCameraPath : public C_BaseEntity { public: // MNetworkEnable - bool m_bRelativeFOV; // 0x578 + bool m_bRelativeFOV; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 +public: // MNetworkEnable - Vector m_flFOVData; // 0x57c + Vector m_flFOVData; // 0x57c // MNetworkEnable - Vector m_vVelocity; // 0x588 + Vector m_vVelocity; // 0x588 }; -// Aligment: 3 -// Size: 1416 -class CSteamPalPointCamera : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x588 +class CSteamPalPointCamera : public C_BaseEntity { public: // MNetworkEnable - bool m_bRelativeFOV; // 0x578 + bool m_bRelativeFOV; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 +public: // MNetworkEnable - float m_flFOV; // 0x57c + float m_flFOV; // 0x57c // MNetworkEnable - bool m_bActive; // 0x580 + bool m_bActive; // 0x580 }; -// Aligment: 1 -// Size: 1472 -class CNPCApplianceWeaponBullets : public CBaseNPCAbility, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x5c0 +class CNPCApplianceWeaponBullets : public CBaseNPCAbility { public: - AttachmentHandle_t m_nTracerAttachmentIndex; // 0x5b8 + AttachmentHandle_t m_nTracerAttachmentIndex; // 0x5b8 }; -// Aligment: 0 -// Size: 1464 -class CNPCApplianceWeaponProjectiles : public CBaseNPCAbility, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x5b8 +class CNPCApplianceWeaponProjectiles : public CBaseNPCAbility { public: -// + // no members available }; -// Aligment: 0 -// Size: 1400 -class C_SteampalKillVolume : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class C_SteampalKillVolume : public C_BaseEntity { public: -// + // no members available }; -// Aligment: 3 -// Size: 1488 -class C_BaseCurveOverTime : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x5d0 +class C_BaseCurveOverTime : public C_BaseEntity { public: // MNetworkEnable - bool m_bLooping; // 0x578 + bool m_bLooping; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x7]; // 0x579 +public: // MNetworkEnable - CUtlSymbolLarge m_CurveString; // 0x580 + CUtlSymbolLarge m_CurveString; // 0x580 +private: + [[maybe_unused]] uint8_t __pad0588[0x40]; // 0x588 +public: // MNetworkEnable - float m_flStartTime; // 0x5c8 + float m_flStartTime; // 0x5c8 }; -// Aligment: 2 -// Size: 1512 -class C_PointRenderAttrCurve : public C_BaseCurveOverTime, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x5e8 +class C_PointRenderAttrCurve : public C_BaseCurveOverTime { public: // MNetworkEnable - CUtlSymbolLarge m_AttrName; // 0x5d0 + CUtlSymbolLarge m_AttrName; // 0x5d0 // MNetworkEnable - CUtlSymbolLarge m_ActiveComboName; // 0x5d8 + CUtlSymbolLarge m_ActiveComboName; // 0x5d8 }; -// Aligment: 0 -// Size: 1400 -class C_PointEntity : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class C_PointEntity : public C_BaseEntity { public: -// + // no members available }; -// Aligment: 20 -// Size: 5840 -class C_EnvCombinedLightProbeVolume : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 20 +// Size: 0x16d0 +class C_EnvCombinedLightProbeVolume : public C_BaseEntity { public: // MNetworkEnable // MNetworkChangeCallback "StateChanged" - Color m_Color; // 0x1638 + Color m_Color; // 0x1638 // MNetworkEnable // MNetworkChangeCallback "StateChanged" - float m_flBrightness; // 0x163c + float m_flBrightness; // 0x163c // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1640 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1640 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x1648 + bool m_bCustomCubemapTexture; // 0x1648 +private: + [[maybe_unused]] uint8_t __pad1649[0x7]; // 0x1649 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1650 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1650 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1658 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1658 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1660 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1660 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1668 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1668 // MNetworkEnable - Vector m_vBoxMins; // 0x1670 + Vector m_vBoxMins; // 0x1670 // MNetworkEnable - Vector m_vBoxMaxs; // 0x167c + Vector m_vBoxMaxs; // 0x167c // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x1688 + CUtlSymbolLarge m_LightGroups; // 0x1688 // MNetworkEnable - bool m_bMoveable; // 0x1690 + bool m_bMoveable; // 0x1690 +private: + [[maybe_unused]] uint8_t __pad1691[0x3]; // 0x1691 +public: // MNetworkEnable - int32_t m_nHandshake; // 0x1694 + int32_t m_nHandshake; // 0x1694 // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x1698 + int32_t m_nEnvCubeMapArrayIndex; // 0x1698 // MNetworkEnable - int32_t m_nPriority; // 0x169c + int32_t m_nPriority; // 0x169c // MNetworkEnable - int32_t m_nGgxCubemapBlurAccumulationPassCount; // 0x16a0 + int32_t m_nGgxCubemapBlurAccumulationPassCount; // 0x16a0 // MNetworkEnable - bool m_bStartDisabled; // 0x16a4 + bool m_bStartDisabled; // 0x16a4 +private: + [[maybe_unused]] uint8_t __pad16a5[0x3]; // 0x16a5 +public: // MNetworkEnable - float m_flEdgeFadeDist; // 0x16a8 + float m_flEdgeFadeDist; // 0x16a8 // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x16ac + Vector m_vEdgeFadeDists; // 0x16ac +private: + [[maybe_unused]] uint8_t __pad16b8[0x11]; // 0x16b8 +public: // MNetworkEnable - bool m_bEnabled; // 0x16c9 + bool m_bEnabled; // 0x16c9 }; -// Aligment: 21 -// Size: 1768 -class C_EnvCubemap : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 21 +// Size: 0x6e8 +class C_EnvCubemap : public C_BaseEntity { public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x670 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x670 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hDepthmapTexture; // 0x678 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hDepthmapTexture; // 0x678 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x680 + bool m_bCustomCubemapTexture; // 0x680 +private: + [[maybe_unused]] uint8_t __pad0681[0x3]; // 0x681 +public: // MNetworkEnable - float m_flInfluenceRadius; // 0x684 + float m_flInfluenceRadius; // 0x684 // MNetworkEnable - Vector m_vBoxProjectMins; // 0x688 + Vector m_vBoxProjectMins; // 0x688 // MNetworkEnable - Vector m_vBoxProjectMaxs; // 0x694 + Vector m_vBoxProjectMaxs; // 0x694 // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x6a0 + CUtlSymbolLarge m_LightGroups; // 0x6a0 // MNetworkEnable - bool m_bMoveable; // 0x6a8 + bool m_bMoveable; // 0x6a8 +private: + [[maybe_unused]] uint8_t __pad06a9[0x3]; // 0x6a9 +public: // MNetworkEnable - int32_t m_nHandshake; // 0x6ac + int32_t m_nHandshake; // 0x6ac // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x6b0 + int32_t m_nEnvCubeMapArrayIndex; // 0x6b0 // MNetworkEnable - int32_t m_nPriority; // 0x6b4 + int32_t m_nPriority; // 0x6b4 // MNetworkEnable - int32_t m_nGgxCubemapBlurAccumulationPassCount; // 0x6b8 + int32_t m_nGgxCubemapBlurAccumulationPassCount; // 0x6b8 // MNetworkEnable - float m_flEdgeFadeDist; // 0x6bc + float m_flEdgeFadeDist; // 0x6bc // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x6c0 + Vector m_vEdgeFadeDists; // 0x6c0 // MNetworkEnable - float m_flDiffuseScale; // 0x6cc + float m_flDiffuseScale; // 0x6cc // MNetworkEnable - bool m_bStartDisabled; // 0x6d0 + bool m_bStartDisabled; // 0x6d0 // MNetworkEnable - bool m_bDefaultEnvMap; // 0x6d1 + bool m_bDefaultEnvMap; // 0x6d1 // MNetworkEnable - bool m_bDefaultSpecEnvMap; // 0x6d2 + bool m_bDefaultSpecEnvMap; // 0x6d2 // MNetworkEnable - bool m_bRenderDepthMap; // 0x6d3 + bool m_bRenderDepthMap; // 0x6d3 // MNetworkEnable - bool m_bCopyDiffuseFromDefaultCubemap; // 0x6d4 + bool m_bCopyDiffuseFromDefaultCubemap; // 0x6d4 +private: + [[maybe_unused]] uint8_t __pad06d5[0xb]; // 0x6d5 +public: // MNetworkEnable - bool m_bEnabled; // 0x6e0 + bool m_bEnabled; // 0x6e0 }; -// Aligment: 0 -// Size: 1768 -class C_EnvCubemapBox : public C_EnvCubemap, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x6e8 +class C_EnvCubemapBox : public C_EnvCubemap { public: -// + // no members available }; -// Aligment: 18 -// Size: 1480 -class C_EnvCubemapFog : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 18 +// Size: 0x5c8 +class C_EnvCubemapFog : public C_BaseEntity { public: // MNetworkEnable - float m_flEndDistance; // 0x578 + float m_flEndDistance; // 0x578 // MNetworkEnable - float m_flStartDistance; // 0x57c + float m_flStartDistance; // 0x57c // MNetworkEnable - float m_flFogFalloffExponent; // 0x580 + float m_flFogFalloffExponent; // 0x580 // MNetworkEnable - bool m_bHeightFogEnabled; // 0x584 + bool m_bHeightFogEnabled; // 0x584 +private: + [[maybe_unused]] uint8_t __pad0585[0x3]; // 0x585 +public: // MNetworkEnable - float m_flFogHeightWidth; // 0x588 + float m_flFogHeightWidth; // 0x588 // MNetworkEnable - float m_flFogHeightEnd; // 0x58c + float m_flFogHeightEnd; // 0x58c // MNetworkEnable - float m_flFogHeightStart; // 0x590 + float m_flFogHeightStart; // 0x590 // MNetworkEnable - float m_flFogHeightExponent; // 0x594 + float m_flFogHeightExponent; // 0x594 // MNetworkEnable - float m_flLODBias; // 0x598 + float m_flLODBias; // 0x598 // MNetworkEnable - bool m_bActive; // 0x59c + bool m_bActive; // 0x59c // MNetworkEnable - bool m_bStartDisabled; // 0x59d + bool m_bStartDisabled; // 0x59d +private: + [[maybe_unused]] uint8_t __pad059e[0x2]; // 0x59e +public: // MNetworkEnable - float m_flFogMaxOpacity; // 0x5a0 + float m_flFogMaxOpacity; // 0x5a0 // MNetworkEnable - int32_t m_nCubemapSourceType; // 0x5a4 + int32_t m_nCubemapSourceType; // 0x5a4 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x5a8 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x5a8 // MNetworkEnable - CUtlSymbolLarge m_iszSkyEntity; // 0x5b0 + CUtlSymbolLarge m_iszSkyEntity; // 0x5b0 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x5b8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x5b8 // MNetworkEnable - bool m_bHasHeightFogEnd; // 0x5c0 - bool m_bFirstTime; // 0x5c1 + bool m_bHasHeightFogEnd; // 0x5c0 + bool m_bFirstTime; // 0x5c1 }; -// Aligment: 12 -// Size: 5536 -class C_EnvLightProbeVolume : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x15a0 +class C_EnvLightProbeVolume : public C_BaseEntity { public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1540 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1540 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1548 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1548 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1550 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1550 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1558 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1558 // MNetworkEnable - Vector m_vBoxMins; // 0x1560 + Vector m_vBoxMins; // 0x1560 // MNetworkEnable - Vector m_vBoxMaxs; // 0x156c + Vector m_vBoxMaxs; // 0x156c // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x1578 + CUtlSymbolLarge m_LightGroups; // 0x1578 // MNetworkEnable - bool m_bMoveable; // 0x1580 + bool m_bMoveable; // 0x1580 +private: + [[maybe_unused]] uint8_t __pad1581[0x3]; // 0x1581 +public: // MNetworkEnable - int32_t m_nHandshake; // 0x1584 + int32_t m_nHandshake; // 0x1584 // MNetworkEnable - int32_t m_nPriority; // 0x1588 + int32_t m_nPriority; // 0x1588 // MNetworkEnable - bool m_bStartDisabled; // 0x158c + bool m_bStartDisabled; // 0x158c +private: + [[maybe_unused]] uint8_t __pad158d[0xc]; // 0x158d +public: // MNetworkEnable - bool m_bEnabled; // 0x1599 + bool m_bEnabled; // 0x1599 }; -// Aligment: 8 -// Size: 1440 -class C_TonemapController2 : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x5a0 +class C_TonemapController2 : public C_BaseEntity { public: // MNetworkEnable - float m_flAutoExposureMin; // 0x578 + float m_flAutoExposureMin; // 0x578 // MNetworkEnable - float m_flAutoExposureMax; // 0x57c + float m_flAutoExposureMax; // 0x57c // MNetworkEnable - float m_flTonemapPercentTarget; // 0x580 + float m_flTonemapPercentTarget; // 0x580 // MNetworkEnable - float m_flTonemapPercentBrightPixels; // 0x584 + float m_flTonemapPercentBrightPixels; // 0x584 // MNetworkEnable - float m_flTonemapMinAvgLum; // 0x588 + float m_flTonemapMinAvgLum; // 0x588 // MNetworkEnable - float m_flExposureAdaptationSpeedUp; // 0x58c + float m_flExposureAdaptationSpeedUp; // 0x58c // MNetworkEnable - float m_flExposureAdaptationSpeedDown; // 0x590 + float m_flExposureAdaptationSpeedDown; // 0x590 // MNetworkEnable - float m_flTonemapEVSmoothingRange; // 0x594 + float m_flTonemapEVSmoothingRange; // 0x594 }; -// Aligment: 28 -// Size: 1528 -class C_EnvVolumetricFogController : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 28 +// Size: 0x5f8 +class C_EnvVolumetricFogController : public C_BaseEntity { public: // MNetworkEnable - float m_flScattering; // 0x578 + float m_flScattering; // 0x578 // MNetworkEnable - float m_flAnisotropy; // 0x57c + float m_flAnisotropy; // 0x57c // MNetworkEnable - float m_flFadeSpeed; // 0x580 + float m_flFadeSpeed; // 0x580 // MNetworkEnable - float m_flDrawDistance; // 0x584 + float m_flDrawDistance; // 0x584 // MNetworkEnable - float m_flFadeInStart; // 0x588 + float m_flFadeInStart; // 0x588 // MNetworkEnable - float m_flFadeInEnd; // 0x58c + float m_flFadeInEnd; // 0x58c // MNetworkEnable - float m_flIndirectStrength; // 0x590 + float m_flIndirectStrength; // 0x590 // MNetworkEnable - int32_t m_nIndirectTextureDimX; // 0x594 + int32_t m_nIndirectTextureDimX; // 0x594 // MNetworkEnable - int32_t m_nIndirectTextureDimY; // 0x598 + int32_t m_nIndirectTextureDimY; // 0x598 // MNetworkEnable - int32_t m_nIndirectTextureDimZ; // 0x59c + int32_t m_nIndirectTextureDimZ; // 0x59c // MNetworkEnable - Vector m_vBoxMins; // 0x5a0 + Vector m_vBoxMins; // 0x5a0 // MNetworkEnable - Vector m_vBoxMaxs; // 0x5ac + Vector m_vBoxMaxs; // 0x5ac // MNetworkEnable - bool m_bActive; // 0x5b8 + bool m_bActive; // 0x5b8 +private: + [[maybe_unused]] uint8_t __pad05b9[0x3]; // 0x5b9 +public: // MNetworkEnable - float m_flStartAnisoTime; // 0x5bc + float m_flStartAnisoTime; // 0x5bc // MNetworkEnable - float m_flStartScatterTime; // 0x5c0 + float m_flStartScatterTime; // 0x5c0 // MNetworkEnable - float m_flStartDrawDistanceTime; // 0x5c4 + float m_flStartDrawDistanceTime; // 0x5c4 // MNetworkEnable - float m_flStartAnisotropy; // 0x5c8 + float m_flStartAnisotropy; // 0x5c8 // MNetworkEnable - float m_flStartScattering; // 0x5cc + float m_flStartScattering; // 0x5cc // MNetworkEnable - float m_flStartDrawDistance; // 0x5d0 + float m_flStartDrawDistance; // 0x5d0 // MNetworkEnable - float m_flDefaultAnisotropy; // 0x5d4 + float m_flDefaultAnisotropy; // 0x5d4 // MNetworkEnable - float m_flDefaultScattering; // 0x5d8 + float m_flDefaultScattering; // 0x5d8 // MNetworkEnable - float m_flDefaultDrawDistance; // 0x5dc + float m_flDefaultDrawDistance; // 0x5dc // MNetworkEnable - bool m_bStartDisabled; // 0x5e0 + bool m_bStartDisabled; // 0x5e0 // MNetworkEnable - bool m_bEnableIndirect; // 0x5e1 + bool m_bEnableIndirect; // 0x5e1 // MNetworkEnable - bool m_bIsMaster; // 0x5e2 + bool m_bIsMaster; // 0x5e2 +private: + [[maybe_unused]] uint8_t __pad05e3[0x5]; // 0x5e3 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x5e8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x5e8 // MNetworkEnable - int32_t m_nForceRefreshCount; // 0x5f0 - bool m_bFirstTime; // 0x5f4 + int32_t m_nForceRefreshCount; // 0x5f0 + bool m_bFirstTime; // 0x5f4 }; -// Aligment: 7 -// Size: 1448 -class C_EnvVolumetricFogVolume : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x5a8 +class C_EnvVolumetricFogVolume : public C_BaseEntity { public: // MNetworkEnable - bool m_bActive; // 0x578 + bool m_bActive; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 +public: // MNetworkEnable - Vector m_vBoxMins; // 0x57c + Vector m_vBoxMins; // 0x57c // MNetworkEnable - Vector m_vBoxMaxs; // 0x588 + Vector m_vBoxMaxs; // 0x588 // MNetworkEnable - bool m_bStartDisabled; // 0x594 + bool m_bStartDisabled; // 0x594 +private: + [[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595 +public: // MNetworkEnable - float m_flStrength; // 0x598 + float m_flStrength; // 0x598 // MNetworkEnable - int32_t m_nFalloffShape; // 0x59c + int32_t m_nFalloffShape; // 0x59c // MNetworkEnable - float m_flFalloffExponent; // 0x5a0 + float m_flFalloffExponent; // 0x5a0 }; -// Aligment: 3 -// Size: 1512 -class C_FogController : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x5e8 +class C_FogController : public C_BaseEntity { public: // MNetworkEnable - fogparams_t m_fog; // 0x578 - bool m_bUseAngles; // 0x5e0 - int32_t m_iChangedVariables; // 0x5e4 + fogparams_t m_fog; // 0x578 + bool m_bUseAngles; // 0x5e0 +private: + [[maybe_unused]] uint8_t __pad05e1[0x3]; // 0x5e1 +public: + int32_t m_iChangedVariables; // 0x5e4 }; -// Aligment: 0 -// Size: 1400 -class CInfoTarget : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class CInfoTarget : public C_PointEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1400 -class CInfoParticleTarget : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class CInfoParticleTarget : public C_PointEntity { public: -// + // no members available }; -// Aligment: 3 -// Size: 1424 -class C_InfoVisibilityBox : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x590 +class C_InfoVisibilityBox : public C_BaseEntity { public: // MNetworkEnable - int32_t m_nMode; // 0x57c + int32_t m_nMode; // 0x57c // MNetworkEnable - Vector m_vBoxSize; // 0x580 + Vector m_vBoxSize; // 0x580 // MNetworkEnable - bool m_bEnabled; // 0x58c + bool m_bEnabled; // 0x58c }; -// Aligment: 8 -// Size: 1472 -class CInfoWorldLayer : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x5c0 +class CInfoWorldLayer : public C_BaseEntity { public: - CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x578 + CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x578 // MNetworkEnable - CUtlSymbolLarge m_worldName; // 0x5a0 + CUtlSymbolLarge m_worldName; // 0x5a0 // MNetworkEnable - CUtlSymbolLarge m_layerName; // 0x5a8 + CUtlSymbolLarge m_layerName; // 0x5a8 // MNetworkEnable - bool m_bWorldLayerVisible; // 0x5b0 + bool m_bWorldLayerVisible; // 0x5b0 // MNetworkEnable - bool m_bEntitiesSpawned; // 0x5b1 - bool m_bCreateAsChildSpawnGroup; // 0x5b2 - uint32_t m_hLayerSpawnGroup; // 0x5b4 - bool m_bWorldLayerActuallyVisible; // 0x5b8 + bool m_bEntitiesSpawned; // 0x5b1 + bool m_bCreateAsChildSpawnGroup; // 0x5b2 +private: + [[maybe_unused]] uint8_t __pad05b3[0x1]; // 0x5b3 +public: + uint32_t m_hLayerSpawnGroup; // 0x5b4 + bool m_bWorldLayerActuallyVisible; // 0x5b8 }; -// Aligment: 24 -// Size: 1496 -class C_PointCamera : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 24 +// Size: 0x5d8 +class C_PointCamera : public C_BaseEntity { public: // MNetworkEnable - float m_FOV; // 0x578 + float m_FOV; // 0x578 // MNetworkEnable - float m_Resolution; // 0x57c + float m_Resolution; // 0x57c // MNetworkEnable - bool m_bFogEnable; // 0x580 + bool m_bFogEnable; // 0x580 // MNetworkEnable - Color m_FogColor; // 0x581 + Color m_FogColor; // 0x581 +private: + [[maybe_unused]] uint8_t __pad0585[0x3]; // 0x585 +public: // MNetworkEnable - float m_flFogStart; // 0x588 + float m_flFogStart; // 0x588 // MNetworkEnable - float m_flFogEnd; // 0x58c + float m_flFogEnd; // 0x58c // MNetworkEnable - float m_flFogMaxDensity; // 0x590 + float m_flFogMaxDensity; // 0x590 // MNetworkEnable - bool m_bActive; // 0x594 + bool m_bActive; // 0x594 // MNetworkEnable - bool m_bUseScreenAspectRatio; // 0x595 + bool m_bUseScreenAspectRatio; // 0x595 +private: + [[maybe_unused]] uint8_t __pad0596[0x2]; // 0x596 +public: // MNetworkEnable - float m_flAspectRatio; // 0x598 + float m_flAspectRatio; // 0x598 // MNetworkEnable - bool m_bNoSky; // 0x59c + bool m_bNoSky; // 0x59c +private: + [[maybe_unused]] uint8_t __pad059d[0x3]; // 0x59d +public: // MNetworkEnable - float m_fBrightness; // 0x5a0 + float m_fBrightness; // 0x5a0 // MNetworkEnable - float m_flZFar; // 0x5a4 + float m_flZFar; // 0x5a4 // MNetworkEnable - float m_flZNear; // 0x5a8 + float m_flZNear; // 0x5a8 // MNetworkEnable - bool m_bDofEnabled; // 0x5ac + bool m_bDofEnabled; // 0x5ac +private: + [[maybe_unused]] uint8_t __pad05ad[0x3]; // 0x5ad +public: // MNetworkEnable - float m_flDofNearBlurry; // 0x5b0 + float m_flDofNearBlurry; // 0x5b0 // MNetworkEnable - float m_flDofNearCrisp; // 0x5b4 + float m_flDofNearCrisp; // 0x5b4 // MNetworkEnable - float m_flDofFarCrisp; // 0x5b8 + float m_flDofFarCrisp; // 0x5b8 // MNetworkEnable - float m_flDofFarBlurry; // 0x5bc + float m_flDofFarBlurry; // 0x5bc // MNetworkEnable - float m_flDofTiltToGround; // 0x5c0 - float m_TargetFOV; // 0x5c4 - float m_DegreesPerSecond; // 0x5c8 - bool m_bIsOn; // 0x5cc - C_PointCamera* m_pNext; // 0x5d0 + float m_flDofTiltToGround; // 0x5c0 + float m_TargetFOV; // 0x5c4 + float m_DegreesPerSecond; // 0x5c8 + bool m_bIsOn; // 0x5cc +private: + [[maybe_unused]] uint8_t __pad05cd[0x3]; // 0x5cd +public: + C_PointCamera* m_pNext; // 0x5d0 }; -// Aligment: 9 -// Size: 1440 -class C_PointCameraVFOV : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x5a0 +class C_PointCameraVFOV : public C_BaseEntity { public: - float m_flVerticalFOV; // 0x578 - float m_flZFar; // 0x57c - float m_flZNear; // 0x580 - bool m_bDofEnabled; // 0x584 - float m_flDofNearBlurry; // 0x588 - float m_flDofNearCrisp; // 0x58c - float m_flDofFarCrisp; // 0x590 - float m_flDofFarBlurry; // 0x594 - float m_flDofTiltToGround; // 0x598 + float m_flVerticalFOV; // 0x578 + float m_flZFar; // 0x57c + float m_flZNear; // 0x580 + bool m_bDofEnabled; // 0x584 +private: + [[maybe_unused]] uint8_t __pad0585[0x3]; // 0x585 +public: + float m_flDofNearBlurry; // 0x588 + float m_flDofNearCrisp; // 0x58c + float m_flDofFarCrisp; // 0x590 + float m_flDofFarBlurry; // 0x594 + float m_flDofTiltToGround; // 0x598 }; -// Aligment: 12 -// Size: 1544 -class CPointTemplate : public CLogicalEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x608 +class CPointTemplate : public CLogicalEntity { public: - CUtlSymbolLarge m_iszWorldName; // 0x578 - CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x580 - CUtlSymbolLarge m_iszEntityFilterName; // 0x588 - float m_flTimeoutInterval; // 0x590 - bool m_bAsynchronouslySpawnEntities; // 0x594 - CEntityIOOutput m_pOutputOnSpawned; // 0x598 - PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x5c0 - PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x5c4 - CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x5c8 - CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x5e0 - HSCRIPT m_ScriptSpawnCallback; // 0x5f8 - HSCRIPT m_ScriptCallbackScope; // 0x600 + CUtlSymbolLarge m_iszWorldName; // 0x578 + CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x580 + CUtlSymbolLarge m_iszEntityFilterName; // 0x588 + float m_flTimeoutInterval; // 0x590 + bool m_bAsynchronouslySpawnEntities; // 0x594 +private: + [[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595 +public: + CEntityIOOutput m_pOutputOnSpawned; // 0x598 + PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x5c0 + PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x5c4 + CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x5c8 + CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x5e0 + HSCRIPT m_ScriptSpawnCallback; // 0x5f8 + HSCRIPT m_ScriptCallbackScope; // 0x600 }; -// Aligment: 4 -// Size: 1440 -class C_SoundAreaEntityBase : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x5a0 +class C_SoundAreaEntityBase : public C_BaseEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x578 - bool m_bWasEnabled; // 0x580 + bool m_bDisabled; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x7]; // 0x579 +public: + bool m_bWasEnabled; // 0x580 +private: + [[maybe_unused]] uint8_t __pad0581[0x7]; // 0x581 +public: // MNetworkEnable - CUtlSymbolLarge m_iszSoundAreaType; // 0x588 + CUtlSymbolLarge m_iszSoundAreaType; // 0x588 // MNetworkEnable - Vector m_vPos; // 0x590 + Vector m_vPos; // 0x590 }; -// Aligment: 1 -// Size: 1448 -class C_SoundAreaEntitySphere : public C_SoundAreaEntityBase, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x5a8 +class C_SoundAreaEntitySphere : public C_SoundAreaEntityBase { public: // MNetworkEnable - float m_flRadius; // 0x5a0 + float m_flRadius; // 0x5a0 }; -// Aligment: 2 -// Size: 1464 -class C_SoundAreaEntityOrientedBox : public C_SoundAreaEntityBase, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x5b8 +class C_SoundAreaEntityOrientedBox : public C_SoundAreaEntityBase { public: // MNetworkEnable - Vector m_vMin; // 0x5a0 + Vector m_vMin; // 0x5a0 // MNetworkEnable - Vector m_vMax; // 0x5ac + Vector m_vMax; // 0x5ac }; -// Aligment: 3 -// Size: 1560 -class C_Team : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x618 +class C_Team : public C_BaseEntity { public: // MNetworkEnable // MNetworkAlias "m_aPlayers" - C_NetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x578 + C_NetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x578 // MNetworkEnable - int32_t m_iScore; // 0x590 + int32_t m_iScore; // 0x590 // MNetworkEnable - char[129] m_szTeamname; // 0x594 + char m_szTeamname[129]; // 0x594 }; -// Aligment: 1 -// Size: 1480 -class CPlayerResource : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x5c8 +class CPlayerResource : public C_BaseEntity { public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< PlayerResourceData_t > m_vecPlayerData; // 0x580 + C_UtlVectorEmbeddedNetworkVar< PlayerResourceData_t > m_vecPlayerData; // 0x580 }; -// Aligment: 32 -// Size: 2144 -class C_BaseModelEntity : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 32 +// Size: 0x860 +class C_BaseModelEntity : public C_BaseEntity { public: // MNetworkEnable // MNetworkUserGroup "CRenderComponent" // MNetworkAlias "CRenderComponent" // MNetworkTypeAlias "CRenderComponent" - CRenderComponent* m_CRenderComponent; // 0x578 - int32_t m_nLastAddDecal; // 0x580 - int32_t m_nDecalsAdded; // 0x584 + CRenderComponent* m_CRenderComponent; // 0x578 + int32_t m_nLastAddDecal; // 0x580 + int32_t m_nDecalsAdded; // 0x584 // MNetworkEnable // MNetworkChangeCallback "OnRenderModeChanged" - RenderMode_t m_nRenderMode; // 0x588 + RenderMode_t m_nRenderMode; // 0x588 // MNetworkEnable - RenderFx_t m_nRenderFX; // 0x589 - bool m_bAllowFadeInView; // 0x58a + RenderFx_t m_nRenderFX; // 0x589 + bool m_bAllowFadeInView; // 0x58a // MNetworkEnable // MNetworkChangeCallback "OnColorChanged" - Color m_clrRender; // 0x58b + Color m_clrRender; // 0x58b +private: + [[maybe_unused]] uint8_t __pad058f[0x1]; // 0x58f +public: // MNetworkEnable // MNetworkChangeCallback "OnRenderAttributesChanged" - CUtlStringToken[4] m_RenderAttributeIDs; // 0x590 + CUtlStringToken m_RenderAttributeIDs[4]; // 0x590 // MNetworkEnable // MNetworkChangeCallback "OnRenderAttributesChanged" - Vector4D[4] m_RenderAttributeValues; // 0x5a0 + Vector4D m_RenderAttributeValues[4]; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05e0[0x18]; // 0x5e0 +public: // MNetworkEnable // MNetworkChangeCallback "OnLightGroupChanged" - CUtlStringToken m_LightGroup; // 0x5f8 + CUtlStringToken m_LightGroup; // 0x5f8 // MNetworkEnable - bool m_bRenderToCubemaps; // 0x5fc + bool m_bRenderToCubemaps; // 0x5fc +private: + [[maybe_unused]] uint8_t __pad05fd[0x3]; // 0x5fd +public: // MNetworkEnable - CCollisionProperty m_Collision; // 0x600 + CCollisionProperty m_Collision; // 0x600 // MNetworkEnable - CGlowProperty m_Glow; // 0x6b0 + CGlowProperty m_Glow; // 0x6b0 // MNetworkEnable - float m_flGlowBackfaceMult; // 0x700 + float m_flGlowBackfaceMult; // 0x700 // MNetworkEnable - float m_fadeMinDist; // 0x704 + float m_fadeMinDist; // 0x704 // MNetworkEnable - float m_fadeMaxDist; // 0x708 + float m_fadeMaxDist; // 0x708 // MNetworkEnable - float m_flFadeScale; // 0x70c + float m_flFadeScale; // 0x70c // MNetworkEnable - float m_flShadowStrength; // 0x710 + float m_flShadowStrength; // 0x710 // MNetworkEnable - uint8_t m_nObjectCulling; // 0x714 + uint8_t m_nObjectCulling; // 0x714 +private: + [[maybe_unused]] uint8_t __pad0715[0x3]; // 0x715 +public: // MNetworkEnable - int32_t m_nAddDecal; // 0x718 + int32_t m_nAddDecal; // 0x718 // MNetworkEnable - Vector m_vDecalPosition; // 0x71c + Vector m_vDecalPosition; // 0x71c // MNetworkEnable - Vector m_vDecalForwardAxis; // 0x728 + Vector m_vDecalForwardAxis; // 0x728 // MNetworkEnable - float m_flDecalHealBloodRate; // 0x734 + float m_flDecalHealBloodRate; // 0x734 // MNetworkEnable - float m_flDecalHealHeightRate; // 0x738 + float m_flDecalHealHeightRate; // 0x738 +private: + [[maybe_unused]] uint8_t __pad073c[0x4]; // 0x73c +public: // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x740 + C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x740 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" // MNetworkChangeCallback "OnViewOffsetChanged" - CNetworkViewOffsetVector m_vecViewOffset; // 0x758 - CClientAlphaProperty* m_pClientAlphaProperty; // 0x7c0 - Color m_ClientOverrideTint; // 0x7c8 - bool m_bUseClientOverrideTint; // 0x7cc + CNetworkViewOffsetVector m_vecViewOffset; // 0x758 +private: + [[maybe_unused]] uint8_t __pad07b8[0x8]; // 0x7b8 +public: + CClientAlphaProperty* m_pClientAlphaProperty; // 0x7c0 + Color m_ClientOverrideTint; // 0x7c8 + bool m_bUseClientOverrideTint; // 0x7cc +private: + [[maybe_unused]] uint8_t __pad07cd[0x3b]; // 0x7cd +public: // MNetworkEnable // MNetworkChangeCallback "OnLightingOriginChanged" - Vector m_vLightingOrigin; // 0x808 + Vector m_vLightingOrigin; // 0x808 // MNetworkEnable // MNetworkChangeCallback "OnLightingOriginChanged" - bool m_bFixupLightingOriginToPlayerSide; // 0x814 + bool m_bFixupLightingOriginToPlayerSide; // 0x814 +private: + [[maybe_unused]] uint8_t __pad0815[0x3]; // 0x815 +public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< ActiveModelConfig_t > m_ActiveModelConfigs; // 0x818 + C_UtlVectorEmbeddedNetworkVar< ActiveModelConfig_t > m_ActiveModelConfigs; // 0x818 }; -// Aligment: 0 -// Size: 2144 -class CServerOnlyModelEntity : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x860 +class CServerOnlyModelEntity : public C_BaseModelEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 2144 -class C_ModelPointEntity : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x860 +class C_ModelPointEntity : public C_BaseModelEntity { public: -// + // no members available }; -// Aligment: 7 -// Size: 1488 -class CLogicRelay : public CLogicalEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x5d0 +class CLogicRelay : public CLogicalEntity { public: - CEntityIOOutput m_OnTrigger; // 0x578 - CEntityIOOutput m_OnSpawn; // 0x5a0 - bool m_bDisabled; // 0x5c8 - bool m_bWaitForRefire; // 0x5c9 - bool m_bTriggerOnce; // 0x5ca - bool m_bFastRetrigger; // 0x5cb - bool m_bPassthoughCaller; // 0x5cc + CEntityIOOutput m_OnTrigger; // 0x578 + CEntityIOOutput m_OnSpawn; // 0x5a0 + bool m_bDisabled; // 0x5c8 + bool m_bWaitForRefire; // 0x5c9 + bool m_bTriggerOnce; // 0x5ca + bool m_bFastRetrigger; // 0x5cb + bool m_bPassthoughCaller; // 0x5cc }; -// Aligment: 17 -// Size: 3576 -class C_ParticleSystem : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 17 +// Size: 0xdf8 +class C_ParticleSystem : public C_BaseModelEntity { public: // MNetworkEnable - char[512] m_szSnapshotFileName; // 0x860 + char m_szSnapshotFileName[512]; // 0x860 // MNetworkEnable - bool m_bActive; // 0xa60 + bool m_bActive; // 0xa60 // MNetworkEnable - bool m_bFrozen; // 0xa61 + bool m_bFrozen; // 0xa61 +private: + [[maybe_unused]] uint8_t __pad0a62[0x2]; // 0xa62 +public: // MNetworkEnable - int32_t m_nStopType; // 0xa64 + int32_t m_nStopType; // 0xa64 // MNetworkEnable - bool m_bAnimateDuringGameplayPause; // 0xa68 + bool m_bAnimateDuringGameplayPause; // 0xa68 +private: + [[maybe_unused]] uint8_t __pad0a69[0x7]; // 0xa69 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0xa70 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0xa70 // MNetworkEnable - float m_flStartTime; // 0xa78 + float m_flStartTime; // 0xa78 // MNetworkEnable - float m_flPreSimTime; // 0xa7c + float m_flPreSimTime; // 0xa7c // MNetworkEnable - Vector[4] m_vServerControlPoints; // 0xa80 + Vector m_vServerControlPoints[4]; // 0xa80 // MNetworkEnable - uint8[4] m_iServerControlPointAssignments; // 0xab0 + uint8_t m_iServerControlPointAssignments[4]; // 0xab0 // MNetworkEnable - CHandle< C_BaseEntity >[64] m_hControlPointEnts; // 0xab4 - bool m_bNoSave; // 0xbb4 - bool m_bStartActive; // 0xbb5 - CUtlSymbolLarge m_iszEffectName; // 0xbb8 - CUtlSymbolLarge[64] m_iszControlPointNames; // 0xbc0 - bool m_bOldActive; // 0xde0 - bool m_bOldFrozen; // 0xde1 + CHandle< C_BaseEntity > m_hControlPointEnts[64]; // 0xab4 + bool m_bNoSave; // 0xbb4 + bool m_bStartActive; // 0xbb5 +private: + [[maybe_unused]] uint8_t __pad0bb6[0x2]; // 0xbb6 +public: + CUtlSymbolLarge m_iszEffectName; // 0xbb8 + CUtlSymbolLarge m_iszControlPointNames[64]; // 0xbc0 +private: + [[maybe_unused]] uint8_t __pad0dc0[0x20]; // 0xdc0 +public: + bool m_bOldActive; // 0xde0 + bool m_bOldFrozen; // 0xde1 }; -// Aligment: 16 -// Size: 1664 -class C_PathParticleRope : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 16 +// Size: 0x680 +class C_PathParticleRope : public C_BaseEntity { public: - bool m_bStartActive; // 0x578 - float m_flMaxSimulationTime; // 0x57c - CUtlSymbolLarge m_iszEffectName; // 0x580 - CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x588 + bool m_bStartActive; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 +public: + float m_flMaxSimulationTime; // 0x57c + CUtlSymbolLarge m_iszEffectName; // 0x580 + CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x588 // MNetworkEnable - float m_flParticleSpacing; // 0x5a0 + float m_flParticleSpacing; // 0x5a0 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - float m_flSlack; // 0x5a4 + float m_flSlack; // 0x5a4 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - float m_flRadius; // 0x5a8 + float m_flRadius; // 0x5a8 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - Color m_ColorTint; // 0x5ac + Color m_ColorTint; // 0x5ac // MNetworkEnable // MNetworkChangeCallback "effectStateChanged" - int32_t m_nEffectState; // 0x5b0 + int32_t m_nEffectState; // 0x5b0 +private: + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x5b8 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x5b8 // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x5c0 + C_NetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x5c0 // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x5d8 + C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x5d8 // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x5f0 + C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x5f0 // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x608 + C_NetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x608 // MNetworkEnable // MNetworkChangeCallback "pinStateChanged" - C_NetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x620 + C_NetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x620 // MNetworkEnable - C_NetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x638 + C_NetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x638 }; -// Aligment: 7 -// Size: 2184 -class C_DynamicLight : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x888 +class C_DynamicLight : public C_BaseModelEntity { public: // MNetworkEnable - uint8_t m_Flags; // 0x860 + uint8_t m_Flags; // 0x860 // MNetworkEnable - uint8_t m_LightStyle; // 0x861 + uint8_t m_LightStyle; // 0x861 +private: + [[maybe_unused]] uint8_t __pad0862[0x2]; // 0x862 +public: // MNetworkEnable - float m_Radius; // 0x864 + float m_Radius; // 0x864 // MNetworkEnable - int32_t m_Exponent; // 0x868 + int32_t m_Exponent; // 0x868 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "360" - float m_InnerAngle; // 0x86c + float m_InnerAngle; // 0x86c // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "360" - float m_OuterAngle; // 0x870 + float m_OuterAngle; // 0x870 // MNetworkEnable - float m_SpotRadius; // 0x874 + float m_SpotRadius; // 0x874 }; -// Aligment: 9 -// Size: 1544 -class C_EnvScreenOverlay : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x608 +class C_EnvScreenOverlay : public C_PointEntity { public: // MNetworkEnable - CUtlSymbolLarge[10] m_iszOverlayNames; // 0x578 + CUtlSymbolLarge m_iszOverlayNames[10]; // 0x578 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-1" // MNetworkMaxValue "63" - float32[10] m_flOverlayTimes; // 0x5c8 + float m_flOverlayTimes[10]; // 0x5c8 // MNetworkEnable - float m_flStartTime; // 0x5f0 + float m_flStartTime; // 0x5f0 // MNetworkEnable - int32_t m_iDesiredOverlay; // 0x5f4 + int32_t m_iDesiredOverlay; // 0x5f4 // MNetworkEnable - bool m_bIsActive; // 0x5f8 - bool m_bWasActive; // 0x5f9 - int32_t m_iCachedDesiredOverlay; // 0x5fc - int32_t m_iCurrentOverlay; // 0x600 - float m_flCurrentOverlayTime; // 0x604 + bool m_bIsActive; // 0x5f8 + bool m_bWasActive; // 0x5f9 +private: + [[maybe_unused]] uint8_t __pad05fa[0x2]; // 0x5fa +public: + int32_t m_iCachedDesiredOverlay; // 0x5fc + int32_t m_iCurrentOverlay; // 0x600 + float m_flCurrentOverlayTime; // 0x604 }; -// Aligment: 3 -// Size: 2160 -class C_FuncTrackTrain : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x870 +class C_FuncTrackTrain : public C_BaseModelEntity { public: - int32_t m_nLongAxis; // 0x860 - float m_flRadius; // 0x864 - float m_flLineLength; // 0x868 + int32_t m_nLongAxis; // 0x860 + float m_flRadius; // 0x864 + float m_flLineLength; // 0x868 }; -// Aligment: 8 -// Size: 2424 -class C_LightGlow : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x978 +class C_LightGlow : public C_BaseModelEntity { public: // MNetworkEnable - uint32_t m_nHorizontalSize; // 0x860 + uint32_t m_nHorizontalSize; // 0x860 // MNetworkEnable - uint32_t m_nVerticalSize; // 0x864 + uint32_t m_nVerticalSize; // 0x864 // MNetworkEnable - uint32_t m_nMinDist; // 0x868 + uint32_t m_nMinDist; // 0x868 // MNetworkEnable - uint32_t m_nMaxDist; // 0x86c + uint32_t m_nMaxDist; // 0x86c // MNetworkEnable - uint32_t m_nOuterMaxDist; // 0x870 + uint32_t m_nOuterMaxDist; // 0x870 // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags - float m_flGlowProxySize; // 0x874 + float m_flGlowProxySize; // 0x874 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" // MNetworkChangeCallback "OnHDRColorScaleChanged" - float m_flHDRColorScale; // 0x878 - C_LightGlowOverlay m_Glow; // 0x880 + float m_flHDRColorScale; // 0x878 +private: + [[maybe_unused]] uint8_t __pad087c[0x4]; // 0x87c +public: + C_LightGlowOverlay m_Glow; // 0x880 }; -// Aligment: 1 -// Size: 1408 -class C_RagdollManager : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x580 +class C_RagdollManager : public C_BaseEntity { public: // MNetworkEnable - int8_t m_iCurrentMaxRagdollCount; // 0x578 + int8_t m_iCurrentMaxRagdollCount; // 0x578 }; -// Aligment: 2 -// Size: 2160 -class C_SpotlightEnd : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x870 +class C_SpotlightEnd : public C_BaseModelEntity { public: // MNetworkEnable - float m_flLightScale; // 0x860 + float m_flLightScale; // 0x860 // MNetworkEnable - float m_Radius; // 0x864 + float m_Radius; // 0x864 }; -// Aligment: 4 -// Size: 1416 -class C_PointHMDAnchor : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x588 +class C_PointHMDAnchor : public C_BaseEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x578 + bool m_bDisabled; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 +public: // MNetworkEnable - float m_flEnableTime; // 0x57c + float m_flEnableTime; // 0x57c // MNetworkEnable - int32_t m_nPlayerIndex; // 0x580 - int32_t m_nLastSimulateFrame; // 0x584 + int32_t m_nPlayerIndex; // 0x580 + int32_t m_nLastSimulateFrame; // 0x584 }; -// Aligment: 0 -// Size: 1416 -class C_PointHMDAnchorOverride : public C_PointHMDAnchor, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x588 +class C_PointHMDAnchorOverride : public C_PointHMDAnchor { public: -// + // no members available }; -// Aligment: 25 -// Size: 1520 -class C_PointValueRemapper : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 25 +// Size: 0x5f0 +class C_PointValueRemapper : public C_BaseEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x578 - bool m_bDisabledOld; // 0x579 + bool m_bDisabled; // 0x578 + bool m_bDisabledOld; // 0x579 // MNetworkEnable - bool m_bUpdateOnClient; // 0x57a + bool m_bUpdateOnClient; // 0x57a +private: + [[maybe_unused]] uint8_t __pad057b[0x1]; // 0x57b +public: // MNetworkEnable - ValueRemapperInputType_t m_nInputType; // 0x57c + ValueRemapperInputType_t m_nInputType; // 0x57c // MNetworkEnable - CHandle< C_BaseEntity > m_hRemapLineStart; // 0x580 + CHandle< C_BaseEntity > m_hRemapLineStart; // 0x580 // MNetworkEnable - CHandle< C_BaseEntity > m_hRemapLineEnd; // 0x584 + CHandle< C_BaseEntity > m_hRemapLineEnd; // 0x584 // MNetworkEnable - float m_flMaximumChangePerSecond; // 0x588 + float m_flMaximumChangePerSecond; // 0x588 // MNetworkEnable - float m_flDisengageDistance; // 0x58c + float m_flDisengageDistance; // 0x58c // MNetworkEnable - float m_flEngageDistance; // 0x590 + float m_flEngageDistance; // 0x590 // MNetworkEnable - bool m_bRequiresUseKey; // 0x594 + bool m_bRequiresUseKey; // 0x594 +private: + [[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595 +public: // MNetworkEnable - ValueRemapperOutputType_t m_nOutputType; // 0x598 + ValueRemapperOutputType_t m_nOutputType; // 0x598 +private: + [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c +public: // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_hOutputEntities; // 0x5a0 + C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_hOutputEntities; // 0x5a0 // MNetworkEnable - ValueRemapperHapticsType_t m_nHapticsType; // 0x5b8 + ValueRemapperHapticsType_t m_nHapticsType; // 0x5b8 // MNetworkEnable - ValueRemapperMomentumType_t m_nMomentumType; // 0x5bc + ValueRemapperMomentumType_t m_nMomentumType; // 0x5bc // MNetworkEnable - float m_flMomentumModifier; // 0x5c0 + float m_flMomentumModifier; // 0x5c0 // MNetworkEnable - float m_flSnapValue; // 0x5c4 - float m_flCurrentMomentum; // 0x5c8 + float m_flSnapValue; // 0x5c4 + float m_flCurrentMomentum; // 0x5c8 // MNetworkEnable - ValueRemapperRatchetType_t m_nRatchetType; // 0x5cc - float m_flRatchetOffset; // 0x5d0 + ValueRemapperRatchetType_t m_nRatchetType; // 0x5cc + float m_flRatchetOffset; // 0x5d0 // MNetworkEnable - float m_flInputOffset; // 0x5d4 - bool m_bEngaged; // 0x5d8 - bool m_bFirstUpdate; // 0x5d9 - float m_flPreviousValue; // 0x5dc - float m_flPreviousUpdateTickTime; // 0x5e0 - Vector m_vecPreviousTestPoint; // 0x5e4 + float m_flInputOffset; // 0x5d4 + bool m_bEngaged; // 0x5d8 + bool m_bFirstUpdate; // 0x5d9 +private: + [[maybe_unused]] uint8_t __pad05da[0x2]; // 0x5da +public: + float m_flPreviousValue; // 0x5dc + float m_flPreviousUpdateTickTime; // 0x5e0 + Vector m_vecPreviousTestPoint; // 0x5e4 }; -// Aligment: 12 -// Size: 2776 -class C_PointWorldText : public C_ModelPointEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0xad8 +class C_PointWorldText : public C_ModelPointEntity { public: - bool m_bForceRecreateNextUpdate; // 0x868 + bool m_bForceRecreateNextUpdate; // 0x868 +private: + [[maybe_unused]] uint8_t __pad0869[0xf]; // 0x869 +public: // MNetworkEnable - char[512] m_messageText; // 0x878 + char m_messageText[512]; // 0x878 // MNetworkEnable - char[64] m_FontName; // 0xa78 + char m_FontName[64]; // 0xa78 // MNetworkEnable - bool m_bEnabled; // 0xab8 + bool m_bEnabled; // 0xab8 // MNetworkEnable - bool m_bFullbright; // 0xab9 + bool m_bFullbright; // 0xab9 +private: + [[maybe_unused]] uint8_t __pad0aba[0x2]; // 0xaba +public: // MNetworkEnable - float m_flWorldUnitsPerPx; // 0xabc + float m_flWorldUnitsPerPx; // 0xabc // MNetworkEnable - float m_flFontSize; // 0xac0 + float m_flFontSize; // 0xac0 // MNetworkEnable - float m_flDepthOffset; // 0xac4 + float m_flDepthOffset; // 0xac4 // MNetworkEnable - Color m_Color; // 0xac8 + Color m_Color; // 0xac8 // MNetworkEnable - PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0xacc + PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0xacc // MNetworkEnable - PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0xad0 + PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0xad0 // MNetworkEnable - PointWorldTextReorientMode_t m_nReorientMode; // 0xad4 + PointWorldTextReorientMode_t m_nReorientMode; // 0xad4 }; -// Aligment: 2 -// Size: 1408 -class C_HandleTest : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x580 +class C_HandleTest : public C_BaseEntity { public: // MNetworkEnable - CHandle< C_BaseEntity > m_Handle; // 0x578 + CHandle< C_BaseEntity > m_Handle; // 0x578 // MNetworkEnable - bool m_bSendHandle; // 0x57c + bool m_bSendHandle; // 0x57c }; -// Aligment: 1 -// Size: 1960 -class C_EnvWind : public C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x7a8 +class C_EnvWind : public C_BaseEntity { public: // MNetworkEnable - C_EnvWindShared m_EnvWindShared; // 0x578 + C_EnvWindShared m_EnvWindShared; // 0x578 }; -// Aligment: 0 -// Size: 2144 -class C_BaseToggle : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x860 +class C_BaseToggle : public C_BaseModelEntity { public: -// + // no members available }; -// Aligment: 3 -// Size: 2160 -class C_BaseButton : public C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x870 +class C_BaseButton : public C_BaseToggle { public: // MNetworkEnable - CHandle< C_BaseModelEntity > m_glowEntity; // 0x860 + CHandle< C_BaseModelEntity > m_glowEntity; // 0x860 // MNetworkEnable - bool m_usable; // 0x864 + bool m_usable; // 0x864 +private: + [[maybe_unused]] uint8_t __pad0865[0x3]; // 0x865 +public: // MNetworkEnable - CUtlSymbolLarge m_szDisplayText; // 0x868 + CUtlSymbolLarge m_szDisplayText; // 0x868 }; -// Aligment: 0 -// Size: 2144 -class C_PrecipitationBlocker : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x860 +class C_PrecipitationBlocker : public C_BaseModelEntity { public: -// + // no members available }; -// Aligment: 13 -// Size: 2216 -class C_EntityDissolve : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 13 +// Size: 0x8a8 +class C_EntityDissolve : public C_BaseModelEntity { public: // MNetworkEnable - float m_flStartTime; // 0x868 + float m_flStartTime; // 0x868 // MNetworkEnable - float m_flFadeInStart; // 0x86c + float m_flFadeInStart; // 0x86c // MNetworkEnable - float m_flFadeInLength; // 0x870 + float m_flFadeInLength; // 0x870 // MNetworkEnable - float m_flFadeOutModelStart; // 0x874 + float m_flFadeOutModelStart; // 0x874 // MNetworkEnable - float m_flFadeOutModelLength; // 0x878 + float m_flFadeOutModelLength; // 0x878 // MNetworkEnable - float m_flFadeOutStart; // 0x87c + float m_flFadeOutStart; // 0x87c // MNetworkEnable - float m_flFadeOutLength; // 0x880 - float m_flNextSparkTime; // 0x884 + float m_flFadeOutLength; // 0x880 + float m_flNextSparkTime; // 0x884 // MNetworkEnable - EntityDisolveType_t m_nDissolveType; // 0x888 + EntityDisolveType_t m_nDissolveType; // 0x888 // MNetworkEnable - Vector m_vDissolverOrigin; // 0x88c + Vector m_vDissolverOrigin; // 0x88c // MNetworkEnable - uint32_t m_nMagnitude; // 0x898 - bool m_bCoreExplode; // 0x89c - bool m_bLinkedToServerEnt; // 0x89d + uint32_t m_nMagnitude; // 0x898 + bool m_bCoreExplode; // 0x89c + bool m_bLinkedToServerEnt; // 0x89d }; -// Aligment: 0 -// Size: 2888 -class C_EnvProjectedTexture : public C_ModelPointEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xb48 +class C_EnvProjectedTexture : public C_ModelPointEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 2144 -class C_FuncBrush : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x860 +class C_FuncBrush : public C_BaseModelEntity { public: -// + // no members available }; -// Aligment: 3 -// Size: 2168 -class C_FuncElectrifiedVolume : public C_FuncBrush, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x878 +class C_FuncElectrifiedVolume : public C_FuncBrush { public: - ParticleIndex_t m_nAmbientEffect; // 0x860 + ParticleIndex_t m_nAmbientEffect; // 0x860 +private: + [[maybe_unused]] uint8_t __pad0864[0x4]; // 0x864 +public: // MNetworkEnable - CUtlSymbolLarge m_EffectName; // 0x868 + CUtlSymbolLarge m_EffectName; // 0x868 // MNetworkEnable - bool m_bState; // 0x870 + bool m_bState; // 0x870 }; -// Aligment: 0 -// Size: 2144 -class C_FuncRotating : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x860 +class C_FuncRotating : public C_BaseModelEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 2144 -class C_Breakable : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x860 +class C_Breakable : public C_BaseModelEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 2144 -class C_PhysBox : public C_Breakable, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x860 +class C_PhysBox : public C_Breakable { public: -// + // no members available }; -// Aligment: 41 -// Size: 3144 -class C_RopeKeyframe : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 41 +// Size: 0xc48 +class C_RopeKeyframe : public C_BaseModelEntity { public: - CBitVec< 10 > m_LinksTouchingSomething; // 0x868 - int32_t m_nLinksTouchingSomething; // 0x86c - bool m_bApplyWind; // 0x870 - int32_t m_fPrevLockedPoints; // 0x874 - int32_t m_iForcePointMoveCounter; // 0x878 - bool[2] m_bPrevEndPointPos; // 0x87c - Vector[2] m_vPrevEndPointPos; // 0x880 - float m_flCurScroll; // 0x898 + CBitVec< 10 > m_LinksTouchingSomething; // 0x868 + int32_t m_nLinksTouchingSomething; // 0x86c + bool m_bApplyWind; // 0x870 +private: + [[maybe_unused]] uint8_t __pad0871[0x3]; // 0x871 +public: + int32_t m_fPrevLockedPoints; // 0x874 + int32_t m_iForcePointMoveCounter; // 0x878 + bool m_bPrevEndPointPos[2]; // 0x87c +private: + [[maybe_unused]] uint8_t __pad087e[0x2]; // 0x87e +public: + Vector m_vPrevEndPointPos[2]; // 0x880 + float m_flCurScroll; // 0x898 // MNetworkEnable - float m_flScrollSpeed; // 0x89c + float m_flScrollSpeed; // 0x89c // MNetworkEnable - uint16_t m_RopeFlags; // 0x8a0 + uint16_t m_RopeFlags; // 0x8a0 +private: + [[maybe_unused]] uint8_t __pad08a2[0x6]; // 0x8a2 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x8a8 - Vector[10] m_LightValues; // 0xb20 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x8a8 +private: + [[maybe_unused]] uint8_t __pad08b0[0x270]; // 0x8b0 +public: + Vector m_LightValues[10]; // 0xb20 // MNetworkEnable - uint8_t m_nSegments; // 0xb98 + uint8_t m_nSegments; // 0xb98 +private: + [[maybe_unused]] uint8_t __pad0b99[0x3]; // 0xb99 +public: // MNetworkEnable - CHandle< C_BaseEntity > m_hStartPoint; // 0xb9c + CHandle< C_BaseEntity > m_hStartPoint; // 0xb9c // MNetworkEnable - CHandle< C_BaseEntity > m_hEndPoint; // 0xba0 + CHandle< C_BaseEntity > m_hEndPoint; // 0xba0 // MNetworkEnable - AttachmentHandle_t m_iStartAttachment; // 0xba4 + AttachmentHandle_t m_iStartAttachment; // 0xba4 // MNetworkEnable - AttachmentHandle_t m_iEndAttachment; // 0xba5 + AttachmentHandle_t m_iEndAttachment; // 0xba5 // MNetworkEnable - uint8_t m_Subdiv; // 0xba6 + uint8_t m_Subdiv; // 0xba6 +private: + [[maybe_unused]] uint8_t __pad0ba7[0x1]; // 0xba7 +public: // MNetworkEnable // MNetworkChangeCallback "RecomputeSprings" - int16_t m_RopeLength; // 0xba8 + int16_t m_RopeLength; // 0xba8 // MNetworkEnable // MNetworkChangeCallback "RecomputeSprings" - int16_t m_Slack; // 0xbaa + int16_t m_Slack; // 0xbaa // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.1" // MNetworkMaxValue "10" - float m_TextureScale; // 0xbac + float m_TextureScale; // 0xbac // MNetworkEnable - uint8_t m_fLockedPoints; // 0xbb0 + uint8_t m_fLockedPoints; // 0xbb0 // MNetworkEnable - uint8_t m_nChangeCount; // 0xbb1 + uint8_t m_nChangeCount; // 0xbb1 +private: + [[maybe_unused]] uint8_t __pad0bb2[0x2]; // 0xbb2 +public: // MNetworkEnable - float m_Width; // 0xbb4 - C_RopeKeyframe::CPhysicsDelegate m_PhysicsDelegate; // 0xbb8 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xbc8 - int32_t m_TextureHeight; // 0xbd0 - Vector m_vecImpulse; // 0xbd4 - Vector m_vecPreviousImpulse; // 0xbe0 - float m_flCurrentGustTimer; // 0xbec - float m_flCurrentGustLifetime; // 0xbf0 - float m_flTimeToNextGust; // 0xbf4 - Vector m_vWindDir; // 0xbf8 - Vector m_vColorMod; // 0xc04 - Vector[2] m_vCachedEndPointAttachmentPos; // 0xc10 - QAngle[2] m_vCachedEndPointAttachmentAngle; // 0xc28 + float m_Width; // 0xbb4 + C_RopeKeyframe::CPhysicsDelegate m_PhysicsDelegate; // 0xbb8 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xbc8 + int32_t m_TextureHeight; // 0xbd0 + Vector m_vecImpulse; // 0xbd4 + Vector m_vecPreviousImpulse; // 0xbe0 + float m_flCurrentGustTimer; // 0xbec + float m_flCurrentGustLifetime; // 0xbf0 + float m_flTimeToNextGust; // 0xbf4 + Vector m_vWindDir; // 0xbf8 + Vector m_vColorMod; // 0xc04 + Vector m_vCachedEndPointAttachmentPos[2]; // 0xc10 + QAngle m_vCachedEndPointAttachmentAngle[2]; // 0xc28 // MNetworkEnable - bool m_bConstrainBetweenEndpoints; // 0xc40 - bitfield:1 m_bEndPointAttachmentPositionsDirty; // 0x0 - bitfield:1 m_bEndPointAttachmentAnglesDirty; // 0x0 - bitfield:1 m_bNewDataThisFrame; // 0x0 - bitfield:1 m_bPhysicsInitted; // 0x0 + bool m_bConstrainBetweenEndpoints; // 0xc40 + struct + { + uint8_t m_bEndPointAttachmentPositionsDirty: 1; + uint8_t m_bEndPointAttachmentAnglesDirty: 1; + uint8_t m_bNewDataThisFrame: 1; + uint8_t m_bPhysicsInitted: 1; + uint8_t __pad3: 4; // @note: autoaligned + }; // 8 bits }; -// Aligment: 12 -// Size: 1496 -class C_SceneEntity : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x5d8 +class C_SceneEntity : public C_PointEntity { public: // MNetworkEnable - bool m_bIsPlayingBack; // 0x580 + bool m_bIsPlayingBack; // 0x580 // MNetworkEnable - bool m_bPaused; // 0x581 + bool m_bPaused; // 0x581 // MNetworkEnable - bool m_bMultiplayer; // 0x582 + bool m_bMultiplayer; // 0x582 // MNetworkEnable - bool m_bAutogenerated; // 0x583 + bool m_bAutogenerated; // 0x583 // MNetworkEnable // MNetworkChangeCallback "OnResetClientTime" - float m_flForceClientTime; // 0x584 + float m_flForceClientTime; // 0x584 // MNetworkEnable // MNetworkPriority "32" - uint16_t m_nSceneStringIndex; // 0x588 - bool m_bClientOnly; // 0x58a - CHandle< C_BaseFlex > m_hOwner; // 0x58c + uint16_t m_nSceneStringIndex; // 0x588 + bool m_bClientOnly; // 0x58a +private: + [[maybe_unused]] uint8_t __pad058b[0x1]; // 0x58b +public: + CHandle< C_BaseFlex > m_hOwner; // 0x58c // MNetworkEnable // MNetworkPriority "32" - C_NetworkUtlVectorBase< CHandle< C_BaseFlex > > m_hActorList; // 0x590 - bool m_bWasPlaying; // 0x5a8 - CUtlVector< C_SceneEntity::QueuedEvents_t > m_QueuedEvents; // 0x5b8 - float m_flCurrentTime; // 0x5d0 + C_NetworkUtlVectorBase< CHandle< C_BaseFlex > > m_hActorList; // 0x590 + bool m_bWasPlaying; // 0x5a8 +private: + [[maybe_unused]] uint8_t __pad05a9[0xf]; // 0x5a9 +public: + CUtlVector< C_SceneEntity::QueuedEvents_t > m_QueuedEvents; // 0x5b8 + float m_flCurrentTime; // 0x5d0 }; -// Aligment: 18 -// Size: 2240 -class C_Sun : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 18 +// Size: 0x8c0 +class C_Sun : public C_BaseModelEntity { public: - ParticleIndex_t m_fxSSSunFlareEffectIndex; // 0x860 - ParticleIndex_t m_fxSunFlareEffectIndex; // 0x864 - float m_fdistNormalize; // 0x868 - Vector m_vSunPos; // 0x86c + ParticleIndex_t m_fxSSSunFlareEffectIndex; // 0x860 + ParticleIndex_t m_fxSunFlareEffectIndex; // 0x864 + float m_fdistNormalize; // 0x868 + Vector m_vSunPos; // 0x86c // MNetworkEnable - Vector m_vDirection; // 0x878 + Vector m_vDirection; // 0x878 +private: + [[maybe_unused]] uint8_t __pad0884[0x4]; // 0x884 +public: // MNetworkEnable - CUtlSymbolLarge m_iszEffectName; // 0x888 + CUtlSymbolLarge m_iszEffectName; // 0x888 // MNetworkEnable - CUtlSymbolLarge m_iszSSEffectName; // 0x890 + CUtlSymbolLarge m_iszSSEffectName; // 0x890 // MNetworkEnable - Color m_clrOverlay; // 0x898 + Color m_clrOverlay; // 0x898 // MNetworkEnable - bool m_bOn; // 0x89c + bool m_bOn; // 0x89c // MNetworkEnable - bool m_bmaxColor; // 0x89d + bool m_bmaxColor; // 0x89d +private: + [[maybe_unused]] uint8_t __pad089e[0x2]; // 0x89e +public: // MNetworkEnable // MNetworkBitCount "10" - float m_flSize; // 0x8a0 + float m_flSize; // 0x8a0 // MNetworkEnable // MNetworkBitCount "10" - float m_flHazeScale; // 0x8a4 + float m_flHazeScale; // 0x8a4 // MNetworkEnable // MNetworkMinValue "-360" // MNetworkMaxValue "360" - float m_flRotation; // 0x8a8 + float m_flRotation; // 0x8a8 // MNetworkEnable // MNetworkChangeCallback "OnHDRScaleChanged" - float m_flHDRColorScale; // 0x8ac + float m_flHDRColorScale; // 0x8ac // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" - float m_flAlphaHaze; // 0x8b0 + float m_flAlphaHaze; // 0x8b0 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" - float m_flAlphaScale; // 0x8b4 + float m_flAlphaScale; // 0x8b4 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" - float m_flAlphaHdr; // 0x8b8 + float m_flAlphaHdr; // 0x8b8 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "1" - float m_flFarZScale; // 0x8bc + float m_flFarZScale; // 0x8bc }; -// Aligment: 2 -// Size: 2152 -class C_BaseTrigger : public C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x868 +class C_BaseTrigger : public C_BaseToggle { public: // MNetworkEnable - bool m_bDisabled; // 0x860 + bool m_bDisabled; // 0x860 // MNetworkEnable - bool m_bClientSidePredicted; // 0x861 + bool m_bClientSidePredicted; // 0x861 }; -// Aligment: 0 -// Size: 2144 -class C_TriggerVolume : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x860 +class C_TriggerVolume : public C_BaseModelEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 2152 -class C_TriggerLerpObject : public C_BaseTrigger, C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x868 +class C_TriggerLerpObject : public C_BaseTrigger { public: -// + // no members available }; -// Aligment: 2 -// Size: 2192 -class C_TriggerBuoyancy : public C_BaseTrigger, C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x890 +class C_TriggerBuoyancy : public C_BaseTrigger { public: - CBuoyancyHelper m_BuoyancyHelper; // 0x868 + CBuoyancyHelper m_BuoyancyHelper; // 0x868 // MNetworkEnable - float m_flFluidDensity; // 0x888 + float m_flFluidDensity; // 0x888 }; -// Aligment: 24 -// Size: 2336 -class C_Beam : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 24 +// Size: 0x920 +class C_Beam : public C_BaseModelEntity { public: // MNetworkEnable @@ -5044,1078 +5848,1241 @@ public: // MNetworkMinValue "-25" // MNetworkMaxValue "25" // MNetworkEncodeFlags - float m_flFrameRate; // 0x860 + float m_flFrameRate; // 0x860 // MNetworkEnable - float m_flHDRColorScale; // 0x864 - float m_flFireTime; // 0x868 - float m_flDamage; // 0x86c + float m_flHDRColorScale; // 0x864 + float m_flFireTime; // 0x868 + float m_flDamage; // 0x86c // MNetworkEnable - uint8_t m_nNumBeamEnts; // 0x870 - int32_t m_queryHandleHalo; // 0x874 + uint8_t m_nNumBeamEnts; // 0x870 +private: + [[maybe_unused]] uint8_t __pad0871[0x3]; // 0x871 +public: + int32_t m_queryHandleHalo; // 0x874 +private: + [[maybe_unused]] uint8_t __pad0878[0x20]; // 0x878 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x898 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x898 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x8a0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x8a0 // MNetworkEnable - BeamType_t m_nBeamType; // 0x8a8 + BeamType_t m_nBeamType; // 0x8a8 // MNetworkEnable - uint32_t m_nBeamFlags; // 0x8ac + uint32_t m_nBeamFlags; // 0x8ac // MNetworkEnable - CHandle< C_BaseEntity >[10] m_hAttachEntity; // 0x8b0 + CHandle< C_BaseEntity > m_hAttachEntity[10]; // 0x8b0 // MNetworkEnable - AttachmentHandle_t[10] m_nAttachIndex; // 0x8d8 + AttachmentHandle_t m_nAttachIndex[10]; // 0x8d8 +private: + [[maybe_unused]] uint8_t __pad08e2[0x2]; // 0x8e2 +public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "102.3" // MNetworkEncodeFlags - float m_fWidth; // 0x8e4 + float m_fWidth; // 0x8e4 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "102.3" // MNetworkEncodeFlags - float m_fEndWidth; // 0x8e8 + float m_fEndWidth; // 0x8e8 // MNetworkEnable - float m_fFadeLength; // 0x8ec + float m_fFadeLength; // 0x8ec // MNetworkEnable - float m_fHaloScale; // 0x8f0 + float m_fHaloScale; // 0x8f0 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags - float m_fAmplitude; // 0x8f4 + float m_fAmplitude; // 0x8f4 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags - float m_fStartFrame; // 0x8f8 + float m_fStartFrame; // 0x8f8 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "100" - float m_fSpeed; // 0x8fc + float m_fSpeed; // 0x8fc // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags // MNetworkPriority "32" - float m_flFrame; // 0x900 + float m_flFrame; // 0x900 // MNetworkEnable - BeamClipStyle_t m_nClipStyle; // 0x904 + BeamClipStyle_t m_nClipStyle; // 0x904 // MNetworkEnable - bool m_bTurnedOff; // 0x908 + bool m_bTurnedOff; // 0x908 +private: + [[maybe_unused]] uint8_t __pad0909[0x3]; // 0x909 +public: // MNetworkEnable // MNetworkEncoder - Vector m_vecEndPos; // 0x90c - CHandle< C_BaseEntity > m_hEndEntity; // 0x918 + Vector m_vecEndPos; // 0x90c + CHandle< C_BaseEntity > m_hEndEntity; // 0x918 }; -// Aligment: 9 -// Size: 2232 -class C_FuncLadder : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x8b8 +class C_FuncLadder : public C_BaseModelEntity { public: // MNetworkEnable // MNetworkEncoder - Vector m_vecLadderDir; // 0x860 - CUtlVector< CHandle< C_InfoLadderDismount > > m_Dismounts; // 0x870 - Vector m_vecLocalTop; // 0x888 - // MNetworkEnable - // MNetworkEncoder - Vector m_vecPlayerMountPositionTop; // 0x894 - // MNetworkEnable - // MNetworkEncoder - Vector m_vecPlayerMountPositionBottom; // 0x8a0 - // MNetworkEnable - float m_flAutoRideSpeed; // 0x8ac - bool m_bDisabled; // 0x8b0 - // MNetworkEnable - bool m_bFakeLadder; // 0x8b1 - bool m_bHasSlack; // 0x8b2 + Vector m_vecLadderDir; // 0x860 +private: + [[maybe_unused]] uint8_t __pad086c[0x4]; // 0x86c public: - static CUtlVector< C_FuncLadder* > &Get_s_Ladders() { return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_FuncLadder")->m_static_fiels[0]->m_instance); } + CUtlVector< CHandle< C_InfoLadderDismount > > m_Dismounts; // 0x870 + Vector m_vecLocalTop; // 0x888 + // MNetworkEnable + // MNetworkEncoder + Vector m_vecPlayerMountPositionTop; // 0x894 + // MNetworkEnable + // MNetworkEncoder + Vector m_vecPlayerMountPositionBottom; // 0x8a0 + // MNetworkEnable + float m_flAutoRideSpeed; // 0x8ac + bool m_bDisabled; // 0x8b0 + // MNetworkEnable + bool m_bFakeLadder; // 0x8b1 + bool m_bHasSlack; // 0x8b2 + 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);}; }; -// Aligment: 24 -// Size: 2448 -class C_Sprite : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 24 +// Size: 0x990 +class C_Sprite : public C_BaseModelEntity { public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x878 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x878 // MNetworkEnable - CHandle< C_BaseEntity > m_hAttachedToEntity; // 0x880 + CHandle< C_BaseEntity > m_hAttachedToEntity; // 0x880 // MNetworkEnable - AttachmentHandle_t m_nAttachment; // 0x884 + AttachmentHandle_t m_nAttachment; // 0x884 +private: + [[maybe_unused]] uint8_t __pad0885[0x3]; // 0x885 +public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "60" // MNetworkEncodeFlags - float m_flSpriteFramerate; // 0x888 + float m_flSpriteFramerate; // 0x888 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags - float m_flFrame; // 0x88c - float m_flDieTime; // 0x890 + float m_flFrame; // 0x88c + float m_flDieTime; // 0x890 +private: + [[maybe_unused]] uint8_t __pad0894[0xc]; // 0x894 +public: // MNetworkEnable - uint32_t m_nBrightness; // 0x8a0 + uint32_t m_nBrightness; // 0x8a0 // MNetworkEnable - float m_flBrightnessDuration; // 0x8a4 + float m_flBrightnessDuration; // 0x8a4 // MNetworkEnable // MNetworkChangeCallback "OnSpriteScaleChanged" - float m_flSpriteScale; // 0x8a8 + float m_flSpriteScale; // 0x8a8 // MNetworkEnable - float m_flScaleDuration; // 0x8ac + float m_flScaleDuration; // 0x8ac // MNetworkEnable - bool m_bWorldSpaceScale; // 0x8b0 + bool m_bWorldSpaceScale; // 0x8b0 +private: + [[maybe_unused]] uint8_t __pad08b1[0x3]; // 0x8b1 +public: // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags - float m_flGlowProxySize; // 0x8b4 + float m_flGlowProxySize; // 0x8b4 // MNetworkEnable - float m_flHDRColorScale; // 0x8b8 - float m_flLastTime; // 0x8bc - float m_flMaxFrame; // 0x8c0 - float m_flStartScale; // 0x8c4 - float m_flDestScale; // 0x8c8 - float m_flScaleTimeStart; // 0x8cc - int32_t m_nStartBrightness; // 0x8d0 - int32_t m_nDestBrightness; // 0x8d4 - float m_flBrightnessTimeStart; // 0x8d8 - CWeakHandle< InfoForResourceTypeIMaterial2 > m_hOldSpriteMaterial; // 0x8e0 - int32_t m_nSpriteWidth; // 0x988 - int32_t m_nSpriteHeight; // 0x98c + float m_flHDRColorScale; // 0x8b8 + float m_flLastTime; // 0x8bc + float m_flMaxFrame; // 0x8c0 + float m_flStartScale; // 0x8c4 + float m_flDestScale; // 0x8c8 + float m_flScaleTimeStart; // 0x8cc + int32_t m_nStartBrightness; // 0x8d0 + int32_t m_nDestBrightness; // 0x8d4 + float m_flBrightnessTimeStart; // 0x8d8 +private: + [[maybe_unused]] uint8_t __pad08dc[0x4]; // 0x8dc +public: + CWeakHandle< InfoForResourceTypeIMaterial2 > m_hOldSpriteMaterial; // 0x8e0 +private: + [[maybe_unused]] uint8_t __pad08e8[0xa0]; // 0x8e8 +public: + int32_t m_nSpriteWidth; // 0x988 + int32_t m_nSpriteHeight; // 0x98c }; -// Aligment: 0 -// Size: 2448 -class C_SpriteOriented : public C_Sprite, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x990 +class C_SpriteOriented : public C_Sprite { public: -// + // no members available }; -// Aligment: 4 -// Size: 2200 -class C_BaseClientUIEntity : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x898 +class C_BaseClientUIEntity : public C_BaseModelEntity { public: // MNetworkEnable - bool m_bEnabled; // 0x868 + bool m_bEnabled; // 0x868 +private: + [[maybe_unused]] uint8_t __pad0869[0x7]; // 0x869 +public: // MNetworkEnable - CUtlSymbolLarge m_DialogXMLName; // 0x870 + CUtlSymbolLarge m_DialogXMLName; // 0x870 // MNetworkEnable - CUtlSymbolLarge m_PanelClassName; // 0x878 + CUtlSymbolLarge m_PanelClassName; // 0x878 // MNetworkEnable - CUtlSymbolLarge m_PanelID; // 0x880 + CUtlSymbolLarge m_PanelID; // 0x880 }; -// Aligment: 2 -// Size: 2208 -class C_PointClientUIDialog : public C_BaseClientUIEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x8a0 +class C_PointClientUIDialog : public C_BaseClientUIEntity { public: // MNetworkEnable // MNetworkChangeCallback "OnDialogActivatorChanged" - CHandle< C_BaseEntity > m_hActivator; // 0x898 - bool m_bStartEnabled; // 0x89c + CHandle< C_BaseEntity > m_hActivator; // 0x898 + bool m_bStartEnabled; // 0x89c }; -// Aligment: 13 -// Size: 2664 -class C_PointClientUIHUD : public C_BaseClientUIEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 13 +// Size: 0xa68 +class C_PointClientUIHUD : public C_BaseClientUIEntity { public: - bool m_bCheckCSSClasses; // 0x8a0 + bool m_bCheckCSSClasses; // 0x8a0 +private: + [[maybe_unused]] uint8_t __pad08a1[0x17f]; // 0x8a1 +public: // MNetworkEnable - bool m_bIgnoreInput; // 0xa20 + bool m_bIgnoreInput; // 0xa20 +private: + [[maybe_unused]] uint8_t __pad0a21[0x3]; // 0xa21 +public: // MNetworkEnable - float m_flWidth; // 0xa24 + float m_flWidth; // 0xa24 // MNetworkEnable - float m_flHeight; // 0xa28 + float m_flHeight; // 0xa28 // MNetworkEnable - float m_flDPI; // 0xa2c + float m_flDPI; // 0xa2c // MNetworkEnable - float m_flInteractDistance; // 0xa30 + float m_flInteractDistance; // 0xa30 // MNetworkEnable - float m_flDepthOffset; // 0xa34 + float m_flDepthOffset; // 0xa34 // MNetworkEnable - uint32_t m_unOwnerContext; // 0xa38 + uint32_t m_unOwnerContext; // 0xa38 // MNetworkEnable - uint32_t m_unHorizontalAlign; // 0xa3c + uint32_t m_unHorizontalAlign; // 0xa3c // MNetworkEnable - uint32_t m_unVerticalAlign; // 0xa40 + uint32_t m_unVerticalAlign; // 0xa40 // MNetworkEnable - uint32_t m_unOrientation; // 0xa44 + uint32_t m_unOrientation; // 0xa44 // MNetworkEnable - bool m_bAllowInteractionFromAllSceneWorlds; // 0xa48 + bool m_bAllowInteractionFromAllSceneWorlds; // 0xa48 +private: + [[maybe_unused]] uint8_t __pad0a49[0x7]; // 0xa49 +public: // MNetworkEnable - C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0xa50 + C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0xa50 }; -// Aligment: 28 -// Size: 2768 -class C_PointClientUIWorldPanel : public C_BaseClientUIEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 28 +// Size: 0xad0 +class C_PointClientUIWorldPanel : public C_BaseClientUIEntity { public: - bool m_bForceRecreateNextUpdate; // 0x8a0 - bool m_bMoveViewToPlayerNextThink; // 0x8a1 - bool m_bCheckCSSClasses; // 0x8a2 - CTransform m_anchorDeltaTransform; // 0x8b0 - CPointOffScreenIndicatorUi* m_pOffScreenIndicator; // 0xa48 + bool m_bForceRecreateNextUpdate; // 0x8a0 + bool m_bMoveViewToPlayerNextThink; // 0x8a1 + bool m_bCheckCSSClasses; // 0x8a2 +private: + [[maybe_unused]] uint8_t __pad08a3[0xd]; // 0x8a3 +public: + CTransform m_anchorDeltaTransform; // 0x8b0 +private: + [[maybe_unused]] uint8_t __pad08d0[0x178]; // 0x8d0 +public: + CPointOffScreenIndicatorUi* m_pOffScreenIndicator; // 0xa48 +private: + [[maybe_unused]] uint8_t __pad0a50[0x20]; // 0xa50 +public: // MNetworkEnable - bool m_bIgnoreInput; // 0xa70 + bool m_bIgnoreInput; // 0xa70 // MNetworkEnable - bool m_bLit; // 0xa71 + bool m_bLit; // 0xa71 // MNetworkEnable - bool m_bFollowPlayerAcrossTeleport; // 0xa72 + bool m_bFollowPlayerAcrossTeleport; // 0xa72 +private: + [[maybe_unused]] uint8_t __pad0a73[0x1]; // 0xa73 +public: // MNetworkEnable - float m_flWidth; // 0xa74 + float m_flWidth; // 0xa74 // MNetworkEnable - float m_flHeight; // 0xa78 + float m_flHeight; // 0xa78 // MNetworkEnable - float m_flDPI; // 0xa7c + float m_flDPI; // 0xa7c // MNetworkEnable - float m_flInteractDistance; // 0xa80 + float m_flInteractDistance; // 0xa80 // MNetworkEnable - float m_flDepthOffset; // 0xa84 + float m_flDepthOffset; // 0xa84 // MNetworkEnable - uint32_t m_unOwnerContext; // 0xa88 + uint32_t m_unOwnerContext; // 0xa88 // MNetworkEnable - uint32_t m_unHorizontalAlign; // 0xa8c + uint32_t m_unHorizontalAlign; // 0xa8c // MNetworkEnable - uint32_t m_unVerticalAlign; // 0xa90 + uint32_t m_unVerticalAlign; // 0xa90 // MNetworkEnable - uint32_t m_unOrientation; // 0xa94 + uint32_t m_unOrientation; // 0xa94 // MNetworkEnable - bool m_bAllowInteractionFromAllSceneWorlds; // 0xa98 + bool m_bAllowInteractionFromAllSceneWorlds; // 0xa98 +private: + [[maybe_unused]] uint8_t __pad0a99[0x7]; // 0xa99 +public: // MNetworkEnable - C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0xaa0 + C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0xaa0 // MNetworkEnable - bool m_bOpaque; // 0xab8 + bool m_bOpaque; // 0xab8 // MNetworkEnable - bool m_bNoDepth; // 0xab9 + bool m_bNoDepth; // 0xab9 // MNetworkEnable - bool m_bRenderBackface; // 0xaba + bool m_bRenderBackface; // 0xaba // MNetworkEnable - bool m_bUseOffScreenIndicator; // 0xabb + bool m_bUseOffScreenIndicator; // 0xabb // MNetworkEnable - bool m_bExcludeFromSaveGames; // 0xabc + bool m_bExcludeFromSaveGames; // 0xabc // MNetworkEnable - bool m_bGrabbable; // 0xabd + bool m_bGrabbable; // 0xabd // MNetworkEnable - bool m_bOnlyRenderToTexture; // 0xabe + bool m_bOnlyRenderToTexture; // 0xabe // MNetworkEnable - bool m_bDisableMipGen; // 0xabf + bool m_bDisableMipGen; // 0xabf // MNetworkEnable - int32_t m_nExplicitImageLayout; // 0xac0 + int32_t m_nExplicitImageLayout; // 0xac0 }; -// Aligment: 4 -// Size: 2784 -class CPointOffScreenIndicatorUi : public C_PointClientUIWorldPanel, C_BaseClientUIEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0xae0 +class CPointOffScreenIndicatorUi : public C_PointClientUIWorldPanel { public: - bool m_bBeenEnabled; // 0xad0 - bool m_bHide; // 0xad1 - float m_flSeenTargetTime; // 0xad4 - C_PointClientUIWorldPanel* m_pTargetPanel; // 0xad8 + bool m_bBeenEnabled; // 0xad0 + bool m_bHide; // 0xad1 +private: + [[maybe_unused]] uint8_t __pad0ad2[0x2]; // 0xad2 +public: + float m_flSeenTargetTime; // 0xad4 + C_PointClientUIWorldPanel* m_pTargetPanel; // 0xad8 }; -// Aligment: 1 -// Size: 3280 -class C_PointClientUIWorldTextPanel : public C_PointClientUIWorldPanel, C_BaseClientUIEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0xcd0 +class C_PointClientUIWorldTextPanel : public C_PointClientUIWorldPanel { public: // MNetworkEnable - char[512] m_messageText; // 0xad0 + char m_messageText[512]; // 0xad0 }; -// Aligment: 14 -// Size: 2928 -class C_PointHintUi : public C_PointClientUIWorldPanel, C_BaseClientUIEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0xb70 +class C_PointHintUi : public C_PointClientUIWorldPanel { public: - CUtlSymbolLarge m_pszLessonName; // 0xb00 - CUtlSymbolLarge m_pszCaption; // 0xb08 - Vector m_vOffset; // 0xb10 - WorldTextAttachmentType_t m_attachType; // 0xb1c - CHandle< C_BaseEntity > m_hIconTarget; // 0xb20 - CUtlSymbolLarge m_szTargetAttachmentName; // 0xb28 - CUtlSymbolLarge m_pszCustomLayoutFile; // 0xb30 - int32_t m_nTrackedDeviceIndex; // 0xb38 - CHandle< C_PropVRHand > m_hHighlightHand; // 0xb3c - CUtlSymbolLarge m_pszHighlightControllerComponent; // 0xb40 - CUtlSymbolLarge m_pszHighlightControllerAction; // 0xb48 - Vector m_vecLocalHighlightPoint; // 0xb50 - CUtlSymbolLarge m_pszHighlightOtherEntityName; // 0xb60 - bool m_bUseOffScreenIndicator; // 0xb68 + CUtlSymbolLarge m_pszLessonName; // 0xb00 + CUtlSymbolLarge m_pszCaption; // 0xb08 + Vector m_vOffset; // 0xb10 + WorldTextAttachmentType_t m_attachType; // 0xb1c + CHandle< C_BaseEntity > m_hIconTarget; // 0xb20 +private: + [[maybe_unused]] uint8_t __pad0b24[0x4]; // 0xb24 +public: + CUtlSymbolLarge m_szTargetAttachmentName; // 0xb28 + CUtlSymbolLarge m_pszCustomLayoutFile; // 0xb30 + int32_t m_nTrackedDeviceIndex; // 0xb38 + CHandle< C_PropVRHand > m_hHighlightHand; // 0xb3c + CUtlSymbolLarge m_pszHighlightControllerComponent; // 0xb40 + CUtlSymbolLarge m_pszHighlightControllerAction; // 0xb48 + Vector m_vecLocalHighlightPoint; // 0xb50 +private: + [[maybe_unused]] uint8_t __pad0b5c[0x4]; // 0xb5c +public: + CUtlSymbolLarge m_pszHighlightOtherEntityName; // 0xb60 + bool m_bUseOffScreenIndicator; // 0xb68 }; -// Aligment: 9 -// Size: 1880 -class CInfoOffscreenPanoramaTexture : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x758 +class CInfoOffscreenPanoramaTexture : public C_PointEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x578 + bool m_bDisabled; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 +public: // MNetworkEnable - int32_t m_nResolutionX; // 0x57c + int32_t m_nResolutionX; // 0x57c // MNetworkEnable - int32_t m_nResolutionY; // 0x580 + int32_t m_nResolutionY; // 0x580 +private: + [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 +public: // MNetworkEnable - CUtlSymbolLarge m_szLayoutFileName; // 0x588 + CUtlSymbolLarge m_szLayoutFileName; // 0x588 // MNetworkEnable - CUtlSymbolLarge m_RenderAttrName; // 0x590 + CUtlSymbolLarge m_RenderAttrName; // 0x590 // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_TargetEntities; // 0x598 + C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_TargetEntities; // 0x598 // MNetworkEnable - int32_t m_nTargetChangeCount; // 0x5b0 + int32_t m_nTargetChangeCount; // 0x5b0 +private: + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 +public: // MNetworkEnable - C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x5b8 - bool m_bCheckCSSClasses; // 0x728 + C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x5b8 +private: + [[maybe_unused]] uint8_t __pad05d0[0x158]; // 0x5d0 +public: + bool m_bCheckCSSClasses; // 0x728 }; -// Aligment: 31 -// Size: 1592 -class COffscreenParticleTexture : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 31 +// Size: 0x638 +class COffscreenParticleTexture : public C_PointEntity { public: // MNetworkEnable - bool m_bEnabled; // 0x580 + bool m_bEnabled; // 0x580 +private: + [[maybe_unused]] uint8_t __pad0581[0x3]; // 0x581 +public: // MNetworkEnable - float m_flRawInputA; // 0x584 + float m_flRawInputA; // 0x584 // MNetworkEnable - float m_flRawInputB; // 0x588 + float m_flRawInputB; // 0x588 // MNetworkEnable - float m_flRawInputC; // 0x58c + float m_flRawInputC; // 0x58c // MNetworkEnable - float m_flRawInputD; // 0x590 + float m_flRawInputD; // 0x590 // MNetworkEnable - float m_flCPValueA; // 0x594 + float m_flCPValueA; // 0x594 // MNetworkEnable - float m_flCPValueB; // 0x598 + float m_flCPValueB; // 0x598 // MNetworkEnable - float m_flCPValueC; // 0x59c + float m_flCPValueC; // 0x59c // MNetworkEnable - float m_flCPValueD; // 0x5a0 + float m_flCPValueD; // 0x5a0 // MNetworkEnable - int32_t m_nRemapFuncA; // 0x5a4 + int32_t m_nRemapFuncA; // 0x5a4 // MNetworkEnable - float m_flRemapAParamS; // 0x5a8 + float m_flRemapAParamS; // 0x5a8 // MNetworkEnable - float m_flRemapAParamT; // 0x5ac + float m_flRemapAParamT; // 0x5ac // MNetworkEnable - int32_t m_nRemapFuncB; // 0x5b0 + int32_t m_nRemapFuncB; // 0x5b0 // MNetworkEnable - float m_flRemapBParamS; // 0x5b4 + float m_flRemapBParamS; // 0x5b4 // MNetworkEnable - float m_flRemapBParamT; // 0x5b8 + float m_flRemapBParamT; // 0x5b8 // MNetworkEnable - int32_t m_nRemapFuncC; // 0x5bc + int32_t m_nRemapFuncC; // 0x5bc // MNetworkEnable - float m_flRemapCParamS; // 0x5c0 + float m_flRemapCParamS; // 0x5c0 // MNetworkEnable - float m_flRemapCParamT; // 0x5c4 + float m_flRemapCParamT; // 0x5c4 // MNetworkEnable - int32_t m_nRemapFuncD; // 0x5c8 + int32_t m_nRemapFuncD; // 0x5c8 // MNetworkEnable - float m_flRemapDParamS; // 0x5cc + float m_flRemapDParamS; // 0x5cc // MNetworkEnable - float m_flRemapDParamT; // 0x5d0 + float m_flRemapDParamT; // 0x5d0 // MNetworkEnable - int32_t m_nControlPointA; // 0x5d4 + int32_t m_nControlPointA; // 0x5d4 // MNetworkEnable - int32_t m_nControlPointB; // 0x5d8 + int32_t m_nControlPointB; // 0x5d8 // MNetworkEnable - int32_t m_nControlPointC; // 0x5dc + int32_t m_nControlPointC; // 0x5dc // MNetworkEnable - int32_t m_nControlPointD; // 0x5e0 + int32_t m_nControlPointD; // 0x5e0 // MNetworkEnable - int32_t m_nResolution; // 0x5e4 + int32_t m_nResolution; // 0x5e4 // MNetworkEnable - Color m_clearColor; // 0x5e8 + Color m_clearColor; // 0x5e8 // MNetworkEnable - CHandle< C_BaseEntity > m_hTargetEntity; // 0x5ec + CHandle< C_BaseEntity > m_hTargetEntity; // 0x5ec // MNetworkEnable - CUtlSymbolLarge m_szEffectName; // 0x5f0 + CUtlSymbolLarge m_szEffectName; // 0x5f0 // MNetworkEnable - CUtlSymbolLarge m_szMaterialParameterName; // 0x5f8 + CUtlSymbolLarge m_szMaterialParameterName; // 0x5f8 +private: + [[maybe_unused]] uint8_t __pad0600[0x30]; // 0x600 +public: // MNetworkEnable - bool m_bPlayerInRange; // 0x630 + bool m_bPlayerInRange; // 0x630 }; -// Aligment: 46 -// Size: 2680 -class C_BarnLight : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 46 +// Size: 0xa78 +class C_BarnLight : public C_BaseModelEntity { public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bEnabled; // 0x860 + bool m_bEnabled; // 0x860 +private: + [[maybe_unused]] uint8_t __pad0861[0x3]; // 0x861 +public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nColorMode; // 0x864 + int32_t m_nColorMode; // 0x864 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Color m_Color; // 0x868 + Color m_Color; // 0x868 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flColorTemperature; // 0x86c + float m_flColorTemperature; // 0x86c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flBrightness; // 0x870 + float m_flBrightness; // 0x870 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flBrightnessScale; // 0x874 + float m_flBrightnessScale; // 0x874 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nDirectLight; // 0x878 + int32_t m_nDirectLight; // 0x878 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nBakedShadowIndex; // 0x87c + int32_t m_nBakedShadowIndex; // 0x87c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nLuminaireShape; // 0x880 + int32_t m_nLuminaireShape; // 0x880 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flLuminaireSize; // 0x884 + float m_flLuminaireSize; // 0x884 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flLuminaireAnisotropy; // 0x888 + float m_flLuminaireAnisotropy; // 0x888 +private: + [[maybe_unused]] uint8_t __pad088c[0x4]; // 0x88c +public: // MNetworkEnable // MNetworkChangeCallback "StyleChanged" - CUtlString m_LightStyleString; // 0x890 + CUtlString m_LightStyleString; // 0x890 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flLightStyleStartTime; // 0x898 + float m_flLightStyleStartTime; // 0x898 +private: + [[maybe_unused]] uint8_t __pad089c[0x4]; // 0x89c +public: // MNetworkEnable - C_NetworkUtlVectorBase< CUtlString > m_QueuedLightStyleStrings; // 0x8a0 + C_NetworkUtlVectorBase< CUtlString > m_QueuedLightStyleStrings; // 0x8a0 // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_LightStyleTargets; // 0x8b8 - CEntityIOOutput[4] m_StyleEvent; // 0x8d0 + C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_LightStyleTargets; // 0x8b8 + CEntityIOOutput m_StyleEvent[4]; // 0x8d0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x970 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x970 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flShape; // 0x978 + float m_flShape; // 0x978 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSoftX; // 0x97c + float m_flSoftX; // 0x97c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSoftY; // 0x980 + float m_flSoftY; // 0x980 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSkirt; // 0x984 + float m_flSkirt; // 0x984 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSkirtNear; // 0x988 + float m_flSkirtNear; // 0x988 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - Vector m_vSizeParams; // 0x98c + Vector m_vSizeParams; // 0x98c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - float m_flRange; // 0x998 + float m_flRange; // 0x998 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - Vector m_vShear; // 0x99c + Vector m_vShear; // 0x99c // MNetworkEnable - int32_t m_nBakeSpecularToCubemaps; // 0x9a8 + int32_t m_nBakeSpecularToCubemaps; // 0x9a8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - Vector m_vBakeSpecularToCubemapsSize; // 0x9ac + Vector m_vBakeSpecularToCubemapsSize; // 0x9ac // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nCastShadows; // 0x9b8 + int32_t m_nCastShadows; // 0x9b8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nShadowMapSize; // 0x9bc + int32_t m_nShadowMapSize; // 0x9bc // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nShadowPriority; // 0x9c0 + int32_t m_nShadowPriority; // 0x9c0 // MNetworkEnable - int32_t m_nBounceLight; // 0x9c4 + int32_t m_nBounceLight; // 0x9c4 // MNetworkEnable - float m_flBounceScale; // 0x9c8 + float m_flBounceScale; // 0x9c8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nFog; // 0x9cc + int32_t m_nFog; // 0x9cc // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFogStrength; // 0x9d0 + float m_flFogStrength; // 0x9d0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nFogShadows; // 0x9d4 + int32_t m_nFogShadows; // 0x9d4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFogScale; // 0x9d8 + float m_flFogScale; // 0x9d8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFadeSizeStart; // 0x9dc + float m_flFadeSizeStart; // 0x9dc // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFadeSizeEnd; // 0x9e0 + float m_flFadeSizeEnd; // 0x9e0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flShadowFadeSizeStart; // 0x9e4 + float m_flShadowFadeSizeStart; // 0x9e4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flShadowFadeSizeEnd; // 0x9e8 + float m_flShadowFadeSizeEnd; // 0x9e8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bPrecomputedFieldsValid; // 0x9ec + bool m_bPrecomputedFieldsValid; // 0x9ec +private: + [[maybe_unused]] uint8_t __pad09ed[0x3]; // 0x9ed +public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedBoundsMins; // 0x9f0 + Vector m_vPrecomputedBoundsMins; // 0x9f0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedBoundsMaxs; // 0x9fc + Vector m_vPrecomputedBoundsMaxs; // 0x9fc // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedOBBOrigin; // 0xa08 + Vector m_vPrecomputedOBBOrigin; // 0xa08 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - QAngle m_vPrecomputedOBBAngles; // 0xa14 + QAngle m_vPrecomputedOBBAngles; // 0xa14 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedOBBExtent; // 0xa20 + Vector m_vPrecomputedOBBExtent; // 0xa20 }; -// Aligment: 1 -// Size: 2688 -class C_RectLight : public C_BarnLight, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0xa80 +class C_RectLight : public C_BarnLight { public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bShowLight; // 0xa78 + bool m_bShowLight; // 0xa78 }; -// Aligment: 3 -// Size: 2696 -class C_OmniLight : public C_BarnLight, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0xa88 +class C_OmniLight : public C_BarnLight { public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flInnerAngle; // 0xa78 + float m_flInnerAngle; // 0xa78 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flOuterAngle; // 0xa7c + float m_flOuterAngle; // 0xa7c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bShowLight; // 0xa80 + bool m_bShowLight; // 0xa80 }; -// Aligment: 0 -// Size: 1400 -class CSteamPalConveyorPathNode : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class CSteamPalConveyorPathNode : public C_PointEntity { public: -// + // no members available }; -// Aligment: 2 -// Size: 2152 -class CSteamPal_PictureCard : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x868 +class CSteamPal_PictureCard : public C_BaseModelEntity { public: // MNetworkEnable - bool m_bShouldSetPicture; // 0x860 - bool m_bHasSetPicture; // 0x861 + bool m_bShouldSetPicture; // 0x860 + bool m_bHasSetPicture; // 0x861 }; -// Aligment: 7 -// Size: 2944 -class CInfoOffscreenMovieTexture : public CInfoOffscreenPanoramaTexture, C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0xb80 +class CInfoOffscreenMovieTexture : public CInfoOffscreenPanoramaTexture { public: // MNetworkEnable - char[512] m_MovieName; // 0x760 + char m_MovieName[512]; // 0x760 // MNetworkEnable - char[512] m_OverrideSoundEvent; // 0x960 + char m_OverrideSoundEvent[512]; // 0x960 // MNetworkEnable - bool m_bRepeat; // 0xb60 + bool m_bRepeat; // 0xb60 // MNetworkEnable - bool m_bPlaying; // 0xb61 + bool m_bPlaying; // 0xb61 +private: + [[maybe_unused]] uint8_t __pad0b62[0x2]; // 0xb62 +public: // MNetworkEnable - float m_flVisibleRangeCheck; // 0xb64 - float m_flPlayStartAtGameTime; // 0xb70 - bool m_bClientPlaying; // 0xb75 + float m_flVisibleRangeCheck; // 0xb64 +private: + [[maybe_unused]] uint8_t __pad0b68[0x8]; // 0xb68 +public: + float m_flPlayStartAtGameTime; // 0xb70 +private: + [[maybe_unused]] uint8_t __pad0b74[0x1]; // 0xb74 +public: + bool m_bClientPlaying; // 0xb75 }; -// Aligment: 5 -// Size: 1424 -class CInfoDynamicShadowHint : public C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x590 +class CInfoDynamicShadowHint : public C_PointEntity { public: - bool m_bDisabled; // 0x578 - float m_flRange; // 0x57c - int32_t m_nImportance; // 0x580 - int32_t m_nLightChoice; // 0x584 - CHandle< C_BaseEntity > m_hLight; // 0x588 + bool m_bDisabled; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 public: - static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints() { return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fiels[0]->m_instance); } + float m_flRange; // 0x57c + int32_t m_nImportance; // 0x580 + int32_t m_nLightChoice; // 0x584 + CHandle< C_BaseEntity > m_hLight; // 0x588 + static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fields[0]->m_instance);}; }; -// Aligment: 2 -// Size: 1448 -class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint, C_PointEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x5a8 +class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint { public: - Vector m_vBoxMins; // 0x590 - Vector m_vBoxMaxs; // 0x59c + Vector m_vBoxMins; // 0x590 + Vector m_vBoxMaxs; // 0x59c }; -// Aligment: 9 -// Size: 2216 -class C_EnvSky : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x8a8 +class C_EnvSky : public C_BaseModelEntity { public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x860 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x860 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - bool m_bStartDisabled; // 0x868 + bool m_bStartDisabled; // 0x868 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - Color m_vTintColor; // 0x869 + Color m_vTintColor; // 0x869 +private: + [[maybe_unused]] uint8_t __pad086d[0x3]; // 0x86d +public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - int32_t m_nFogType; // 0x870 + int32_t m_nFogType; // 0x870 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMinStart; // 0x874 + float m_flFogMinStart; // 0x874 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMinEnd; // 0x878 + float m_flFogMinEnd; // 0x878 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMaxStart; // 0x87c + float m_flFogMaxStart; // 0x87c // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMaxEnd; // 0x880 + float m_flFogMaxEnd; // 0x880 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - bool m_bEnabled; // 0x884 + bool m_bEnabled; // 0x884 }; -// Aligment: 0 -// Size: 1440 -class C_TonemapController2Alias_env_tonemap_controller2 : public C_TonemapController2, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x5a0 +class C_TonemapController2Alias_env_tonemap_controller2 : public C_TonemapController2 { public: -// + // no members available }; -// Aligment: 1 -// Size: 2152 -class C_LightEntity : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x868 +class C_LightEntity : public C_BaseModelEntity { public: // MNetworkEnable // MNetworkUserGroup "CLightComponent" // MNetworkAlias "CLightComponent" // MNetworkTypeAlias "CLightComponent" - CLightComponent* m_CLightComponent; // 0x860 + CLightComponent* m_CLightComponent; // 0x860 }; -// Aligment: 0 -// Size: 2152 -class C_LightSpotEntity : public C_LightEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x868 +class C_LightSpotEntity : public C_LightEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 2152 -class C_LightOrthoEntity : public C_LightEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x868 +class C_LightOrthoEntity : public C_LightEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 2152 -class C_LightDirectionalEntity : public C_LightEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x868 +class C_LightDirectionalEntity : public C_LightEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 2152 -class C_LightEnvironmentEntity : public C_LightDirectionalEntity, C_LightEntity, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x868 +class C_LightEnvironmentEntity : public C_LightDirectionalEntity { public: -// + // no members available }; -// Aligment: 12 -// Size: 2216 -class C_PostProcessingVolume : public C_BaseTrigger, C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x8a8 +class C_PostProcessingVolume : public C_BaseTrigger { public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x878 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x878 // MNetworkEnable - float m_flFadeDuration; // 0x880 + float m_flFadeDuration; // 0x880 // MNetworkEnable - float m_flMinLogExposure; // 0x884 + float m_flMinLogExposure; // 0x884 // MNetworkEnable - float m_flMaxLogExposure; // 0x888 + float m_flMaxLogExposure; // 0x888 // MNetworkEnable - float m_flMinExposure; // 0x88c + float m_flMinExposure; // 0x88c // MNetworkEnable - float m_flMaxExposure; // 0x890 + float m_flMaxExposure; // 0x890 // MNetworkEnable - float m_flExposureCompensation; // 0x894 + float m_flExposureCompensation; // 0x894 // MNetworkEnable - float m_flExposureFadeSpeedUp; // 0x898 + float m_flExposureFadeSpeedUp; // 0x898 // MNetworkEnable - float m_flExposureFadeSpeedDown; // 0x89c + float m_flExposureFadeSpeedDown; // 0x89c // MNetworkEnable - float m_flTonemapEVSmoothingRange; // 0x8a0 + float m_flTonemapEVSmoothingRange; // 0x8a0 // MNetworkEnable - bool m_bMaster; // 0x8a4 + bool m_bMaster; // 0x8a4 // MNetworkEnable - bool m_bExposureControl; // 0x8a5 + bool m_bExposureControl; // 0x8a5 }; -// Aligment: 5 -// Size: 3600 -class C_EnvParticleGlow : public C_ParticleSystem, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0xe10 +class C_EnvParticleGlow : public C_ParticleSystem { public: // MNetworkEnable - float m_flAlphaScale; // 0xdf8 + float m_flAlphaScale; // 0xdf8 // MNetworkEnable - float m_flRadiusScale; // 0xdfc + float m_flRadiusScale; // 0xdfc // MNetworkEnable - float m_flSelfIllumScale; // 0xe00 + float m_flSelfIllumScale; // 0xe00 // MNetworkEnable - Color m_ColorTint; // 0xe04 + Color m_ColorTint; // 0xe04 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xe08 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xe08 }; -// Aligment: 8 -// Size: 2200 -class C_TextureBasedAnimatable : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x898 +class C_TextureBasedAnimatable : public C_BaseModelEntity { public: // MNetworkEnable - bool m_bLoop; // 0x860 + bool m_bLoop; // 0x860 +private: + [[maybe_unused]] uint8_t __pad0861[0x3]; // 0x861 +public: // MNetworkEnable - float m_flFPS; // 0x864 + float m_flFPS; // 0x864 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x868 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x868 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x870 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x870 // MNetworkEnable - Vector m_vAnimationBoundsMin; // 0x878 + Vector m_vAnimationBoundsMin; // 0x878 // MNetworkEnable - Vector m_vAnimationBoundsMax; // 0x884 + Vector m_vAnimationBoundsMax; // 0x884 // MNetworkEnable - float m_flStartTime; // 0x890 + float m_flStartTime; // 0x890 // MNetworkEnable - float m_flStartFrame; // 0x894 + float m_flStartFrame; // 0x894 }; -// Aligment: 0 -// Size: 2144 -class C_World : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x860 +class C_World : public C_BaseModelEntity { public: -// + // no members available }; -// Aligment: 16 -// Size: 2616 -class C_BaseAnimating : public C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 16 +// Size: 0xa38 +class C_BaseAnimating : public C_BaseModelEntity { public: // MNetworkEnable // MNetworkUserGroup "CHitboxComponent" // MNetworkAlias "CHitboxComponent" // MNetworkTypeAlias "CHitboxComponent" - CHitboxComponent m_CHitboxComponent; // 0x860 + CHitboxComponent m_CHitboxComponent; // 0x860 // MNetworkEnable // MNetworkChangeCallback "OnRagdollPoseChanged" - PhysicsRagdollPose_t* m_pRagdollPose; // 0x880 + PhysicsRagdollPose_t* m_pRagdollPose; // 0x880 // MNetworkEnable - Vector m_vecForce; // 0x888 + Vector m_vecForce; // 0x888 // MNetworkEnable - int32_t m_nForceBone; // 0x894 + int32_t m_nForceBone; // 0x894 // MNetworkEnable - bool m_bShouldAnimateDuringGameplayPause; // 0x898 + bool m_bShouldAnimateDuringGameplayPause; // 0x898 // MNetworkEnable - bool m_bAnimGraphUpdateEnabled; // 0x899 - float m_flMaxSlopeDistance; // 0x89c - Vector m_vLastSlopeCheckPos; // 0x8a0 - CUtlVector< CUtlString >* m_pSuppressedAnimEventTags; // 0x8b0 - bool m_bHasAnimatedMaterialAttributes; // 0x8b8 - C_BaseAnimating* m_pClientsideRagdoll; // 0x8c0 - bool m_bInitModelEffects; // 0x8c8 - bool m_builtRagdoll; // 0x8c9 - bool m_bIsStaticProp; // 0x8ca - bool m_bSuppressAnimEventSounds; // 0x900 + bool m_bAnimGraphUpdateEnabled; // 0x899 +private: + [[maybe_unused]] uint8_t __pad089a[0x2]; // 0x89a +public: + float m_flMaxSlopeDistance; // 0x89c + Vector m_vLastSlopeCheckPos; // 0x8a0 +private: + [[maybe_unused]] uint8_t __pad08ac[0x4]; // 0x8ac +public: + CUtlVector< CUtlString >* m_pSuppressedAnimEventTags; // 0x8b0 + bool m_bHasAnimatedMaterialAttributes; // 0x8b8 +private: + [[maybe_unused]] uint8_t __pad08b9[0x7]; // 0x8b9 +public: + C_BaseAnimating* m_pClientsideRagdoll; // 0x8c0 + bool m_bInitModelEffects; // 0x8c8 + bool m_builtRagdoll; // 0x8c9 + bool m_bIsStaticProp; // 0x8ca +private: + [[maybe_unused]] uint8_t __pad08cb[0x35]; // 0x8cb +public: + bool m_bSuppressAnimEventSounds; // 0x900 +private: + [[maybe_unused]] uint8_t __pad0901[0xff]; // 0x901 +public: // MNetworkEnable - CBaseAnimatingEasings_t m_Easings; // 0xa00 + CBaseAnimatingEasings_t m_Easings; // 0xa00 }; -// Aligment: 0 -// Size: 2616 -class C_BaseAnimatingOverlay : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xa38 +class C_BaseAnimatingOverlay : public C_BaseAnimating { public: -// + // no members available }; -// Aligment: 4 -// Size: 2680 -class CBaseProp : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0xa78 +class CBaseProp : public C_BaseAnimating { public: - bool m_bModelOverrodeBlockLOS; // 0xa38 - int32_t m_iShapeType; // 0xa3c - bool m_bConformToCollisionBounds; // 0xa40 - matrix3x4_t m_mPreferredCatchTransform; // 0xa44 + bool m_bModelOverrodeBlockLOS; // 0xa38 +private: + [[maybe_unused]] uint8_t __pad0a39[0x3]; // 0xa39 +public: + int32_t m_iShapeType; // 0xa3c + bool m_bConformToCollisionBounds; // 0xa40 +private: + [[maybe_unused]] uint8_t __pad0a41[0x3]; // 0xa41 +public: + matrix3x4_t m_mPreferredCatchTransform; // 0xa44 }; -// Aligment: 30 -// Size: 2952 -class C_BreakableProp : public CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 30 +// Size: 0xb88 +class C_BreakableProp : public CBaseProp { public: - CEntityIOOutput m_OnBreak; // 0xa80 - CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0xaa8 - CEntityIOOutput m_OnTakeDamage; // 0xad0 - float m_impactEnergyScale; // 0xaf8 - int32_t m_iMinHealthDmg; // 0xafc - float m_flPressureDelay; // 0xb00 - CHandle< C_BaseEntity > m_hBreaker; // 0xb04 - PerformanceMode_t m_PerformanceMode; // 0xb08 - float m_flDmgModBullet; // 0xb0c - float m_flDmgModClub; // 0xb10 - float m_flDmgModExplosive; // 0xb14 - float m_flDmgModFire; // 0xb18 - CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xb20 - CUtlSymbolLarge m_iszBasePropData; // 0xb28 - int32_t m_iInteractions; // 0xb30 - float m_flPreventDamageBeforeTime; // 0xb34 - bool m_bHasBreakPiecesOrCommands; // 0xb38 - float m_explodeDamage; // 0xb3c - float m_explodeRadius; // 0xb40 - float m_explosionDelay; // 0xb48 - CUtlSymbolLarge m_explosionBuildupSound; // 0xb50 - CUtlSymbolLarge m_explosionCustomEffect; // 0xb58 - CUtlSymbolLarge m_explosionCustomSound; // 0xb60 - CHandle< C_BasePlayer > m_hPhysicsAttacker; // 0xb68 - float m_flLastPhysicsInfluenceTime; // 0xb6c - float m_flDefaultFadeScale; // 0xb70 - CHandle< C_BaseEntity > m_hLastAttacker; // 0xb74 - CHandle< C_BaseEntity > m_hFlareEnt; // 0xb78 + CEntityIOOutput m_OnBreak; // 0xa80 + CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0xaa8 + CEntityIOOutput m_OnTakeDamage; // 0xad0 + float m_impactEnergyScale; // 0xaf8 + int32_t m_iMinHealthDmg; // 0xafc + float m_flPressureDelay; // 0xb00 + CHandle< C_BaseEntity > m_hBreaker; // 0xb04 + PerformanceMode_t m_PerformanceMode; // 0xb08 + float m_flDmgModBullet; // 0xb0c + float m_flDmgModClub; // 0xb10 + float m_flDmgModExplosive; // 0xb14 + float m_flDmgModFire; // 0xb18 +private: + [[maybe_unused]] uint8_t __pad0b1c[0x4]; // 0xb1c +public: + CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xb20 + CUtlSymbolLarge m_iszBasePropData; // 0xb28 + int32_t m_iInteractions; // 0xb30 + float m_flPreventDamageBeforeTime; // 0xb34 + bool m_bHasBreakPiecesOrCommands; // 0xb38 +private: + [[maybe_unused]] uint8_t __pad0b39[0x3]; // 0xb39 +public: + float m_explodeDamage; // 0xb3c + float m_explodeRadius; // 0xb40 +private: + [[maybe_unused]] uint8_t __pad0b44[0x4]; // 0xb44 +public: + float m_explosionDelay; // 0xb48 +private: + [[maybe_unused]] uint8_t __pad0b4c[0x4]; // 0xb4c +public: + CUtlSymbolLarge m_explosionBuildupSound; // 0xb50 + CUtlSymbolLarge m_explosionCustomEffect; // 0xb58 + CUtlSymbolLarge m_explosionCustomSound; // 0xb60 + CHandle< C_BasePlayer > m_hPhysicsAttacker; // 0xb68 + float m_flLastPhysicsInfluenceTime; // 0xb6c + float m_flDefaultFadeScale; // 0xb70 + CHandle< C_BaseEntity > m_hLastAttacker; // 0xb74 + CHandle< C_BaseEntity > m_hFlareEnt; // 0xb78 // MNetworkEnable - bool m_noGhostCollision; // 0xb7c + bool m_noGhostCollision; // 0xb7c +private: + [[maybe_unused]] uint8_t __pad0b7d[0x3]; // 0xb7d +public: // MNetworkEnable - float m_flClothScale; // 0xb80 + float m_flClothScale; // 0xb80 }; -// Aligment: 33 -// Size: 3256 -class C_DynamicProp : public C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 33 +// Size: 0xcb8 +class C_DynamicProp : public C_BreakableProp { public: - CEntityIOOutput m_pOutputAnimBegun; // 0xb88 - CEntityIOOutput m_pOutputAnimOver; // 0xbb0 - CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0xbd8 - CEntityIOOutput m_OnAnimReachedStart; // 0xc00 - CEntityIOOutput m_OnAnimReachedEnd; // 0xc28 - CUtlSymbolLarge m_iszDefaultAnim; // 0xc50 - CUtlSymbolLarge m_iszInitialAnim; // 0xc58 - HSequence m_hGoalSequence; // 0xc60 - int32_t m_iTransitionDirection; // 0xc64 - bool m_bAnimateOnServer; // 0xc68 - bool m_bRandomizeCycle; // 0xc69 - bool m_bHoldAnimation; // 0xc6a - bool m_bIsHoldingAnimation; // 0xc6b - bool m_bRandomAnimator; // 0xc6c - float m_flNextRandAnim; // 0xc70 - float m_flMinRandAnimDuration; // 0xc74 - float m_flMaxRandAnimDuration; // 0xc78 - HSequence m_hPendingSequence; // 0xc7c - bool m_bStartDisabled; // 0xc80 - bool m_bUpdateAttachedChildren; // 0xc81 - bool m_bScriptedMovement; // 0xc82 - bool m_bFiredStartEndOutput; // 0xc83 + CEntityIOOutput m_pOutputAnimBegun; // 0xb88 + CEntityIOOutput m_pOutputAnimOver; // 0xbb0 + CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0xbd8 + CEntityIOOutput m_OnAnimReachedStart; // 0xc00 + CEntityIOOutput m_OnAnimReachedEnd; // 0xc28 + CUtlSymbolLarge m_iszDefaultAnim; // 0xc50 + CUtlSymbolLarge m_iszInitialAnim; // 0xc58 + HSequence m_hGoalSequence; // 0xc60 + int32_t m_iTransitionDirection; // 0xc64 + bool m_bAnimateOnServer; // 0xc68 + bool m_bRandomizeCycle; // 0xc69 + bool m_bHoldAnimation; // 0xc6a + bool m_bIsHoldingAnimation; // 0xc6b + bool m_bRandomAnimator; // 0xc6c +private: + [[maybe_unused]] uint8_t __pad0c6d[0x3]; // 0xc6d +public: + float m_flNextRandAnim; // 0xc70 + float m_flMinRandAnimDuration; // 0xc74 + float m_flMaxRandAnimDuration; // 0xc78 + HSequence m_hPendingSequence; // 0xc7c + bool m_bStartDisabled; // 0xc80 + bool m_bUpdateAttachedChildren; // 0xc81 + bool m_bScriptedMovement; // 0xc82 + bool m_bFiredStartEndOutput; // 0xc83 // MNetworkEnable - bool m_bUseHitboxesForRenderBox; // 0xc84 + bool m_bUseHitboxesForRenderBox; // 0xc84 // MNetworkEnable - bool m_bUseAnimGraph; // 0xc85 - bool m_bCreateNonSolid; // 0xc86 - bool m_bIsOverrideProp; // 0xc87 - int32_t m_iInitialGlowState; // 0xc88 - int32_t m_nGlowRange; // 0xc8c - int32_t m_nGlowRangeMin; // 0xc90 - Color m_glowColor; // 0xc94 - int32_t m_iCachedFrameCount; // 0xc98 - Vector m_vecCachedRenderMins; // 0xc9c - Vector m_vecCachedRenderMaxs; // 0xca8 + bool m_bUseAnimGraph; // 0xc85 + bool m_bCreateNonSolid; // 0xc86 + bool m_bIsOverrideProp; // 0xc87 + int32_t m_iInitialGlowState; // 0xc88 + int32_t m_nGlowRange; // 0xc8c + int32_t m_nGlowRangeMin; // 0xc90 + Color m_glowColor; // 0xc94 + int32_t m_iCachedFrameCount; // 0xc98 + Vector m_vecCachedRenderMins; // 0xc9c + Vector m_vecCachedRenderMaxs; // 0xca8 }; -// Aligment: 0 -// Size: 3256 -class C_DynamicPropAlias_dynamic_prop : public C_DynamicProp, C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xcb8 +class C_DynamicPropAlias_dynamic_prop : public C_DynamicProp { public: -// + // no members available }; -// Aligment: 0 -// Size: 3256 -class C_DynamicPropAlias_prop_dynamic_override : public C_DynamicProp, C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xcb8 +class C_DynamicPropAlias_prop_dynamic_override : public C_DynamicProp { public: -// + // no members available }; -// Aligment: 0 -// Size: 3256 -class C_DynamicPropAlias_cable_dynamic : public C_DynamicProp, C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xcb8 +class C_DynamicPropAlias_cable_dynamic : public C_DynamicProp { public: -// + // no members available }; -// Aligment: 9 -// Size: 2704 -class C_ColorCorrectionVolume : public C_BaseTrigger, C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0xa90 +class C_ColorCorrectionVolume : public C_BaseTrigger { public: - float m_LastEnterWeight; // 0x868 - float m_LastEnterTime; // 0x86c - float m_LastExitWeight; // 0x870 - float m_LastExitTime; // 0x874 + float m_LastEnterWeight; // 0x868 + float m_LastEnterTime; // 0x86c + float m_LastExitWeight; // 0x870 + float m_LastExitTime; // 0x874 // MNetworkEnable - bool m_bEnabled; // 0x878 + bool m_bEnabled; // 0x878 +private: + [[maybe_unused]] uint8_t __pad0879[0x3]; // 0x879 +public: // MNetworkEnable - float m_MaxWeight; // 0x87c + float m_MaxWeight; // 0x87c // MNetworkEnable - float m_FadeDuration; // 0x880 + float m_FadeDuration; // 0x880 // MNetworkEnable - float m_Weight; // 0x884 + float m_Weight; // 0x884 // MNetworkEnable - char[512] m_lookupFilename; // 0x888 + char m_lookupFilename[512]; // 0x888 }; -// Aligment: 8 -// Size: 3376 -class C_FuncMonitor : public C_FuncBrush, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0xd30 +class C_FuncMonitor : public C_FuncBrush { public: // MNetworkEnable - CUtlString m_targetCamera; // 0x860 + CUtlString m_targetCamera; // 0x860 // MNetworkEnable - int32_t m_nResolutionEnum; // 0x868 + int32_t m_nResolutionEnum; // 0x868 // MNetworkEnable - bool m_bRenderShadows; // 0x86c + bool m_bRenderShadows; // 0x86c // MNetworkEnable - bool m_bUseUniqueColorTarget; // 0x86d + bool m_bUseUniqueColorTarget; // 0x86d +private: + [[maybe_unused]] uint8_t __pad086e[0x2]; // 0x86e +public: // MNetworkEnable - CUtlString m_brushModelName; // 0x870 + CUtlString m_brushModelName; // 0x870 // MNetworkEnable - CHandle< C_BaseEntity > m_hTargetCamera; // 0x878 + CHandle< C_BaseEntity > m_hTargetCamera; // 0x878 // MNetworkEnable - bool m_bEnabled; // 0x87c + bool m_bEnabled; // 0x87c // MNetworkEnable - bool m_bDraw3DSkybox; // 0x87d + bool m_bDraw3DSkybox; // 0x87d }; -// Aligment: 0 -// Size: 2144 -class C_FuncMoveLinear : public C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x860 +class C_FuncMoveLinear : public C_BaseToggle { public: -// + // no members available }; -// Aligment: 2 -// Size: 2664 -class C_PhysMagnet : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0xa68 +class C_PhysMagnet : public C_BaseAnimating { public: - CUtlVector< int32 > m_aAttachedObjectsFromServer; // 0xa38 - CUtlVector< CHandle< C_BaseEntity > > m_aAttachedObjects; // 0xa50 + CUtlVector< int32 > m_aAttachedObjectsFromServer; // 0xa38 + CUtlVector< CHandle< C_BaseEntity > > m_aAttachedObjects; // 0xa50 }; -// Aligment: 13 -// Size: 2696 -class C_PointCommentaryNode : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 13 +// Size: 0xa88 +class C_PointCommentaryNode : public C_BaseAnimating { public: // MNetworkEnable - bool m_bActive; // 0xa40 - bool m_bWasActive; // 0xa41 - float m_flEndTime; // 0xa44 + bool m_bActive; // 0xa40 + bool m_bWasActive; // 0xa41 +private: + [[maybe_unused]] uint8_t __pad0a42[0x2]; // 0xa42 +public: + float m_flEndTime; // 0xa44 // MNetworkEnable - float m_flStartTime; // 0xa48 + float m_flStartTime; // 0xa48 // MNetworkEnable - float m_flStartTimeInCommentary; // 0xa4c + float m_flStartTimeInCommentary; // 0xa4c // MNetworkEnable - CUtlSymbolLarge m_iszCommentaryFile; // 0xa50 + CUtlSymbolLarge m_iszCommentaryFile; // 0xa50 // MNetworkEnable - CUtlSymbolLarge m_iszTitle; // 0xa58 + CUtlSymbolLarge m_iszTitle; // 0xa58 // MNetworkEnable - CUtlSymbolLarge m_iszSpeakers; // 0xa60 + CUtlSymbolLarge m_iszSpeakers; // 0xa60 // MNetworkEnable - int32_t m_iNodeNumber; // 0xa68 + int32_t m_iNodeNumber; // 0xa68 // MNetworkEnable - int32_t m_iNodeNumberMax; // 0xa6c + int32_t m_iNodeNumberMax; // 0xa6c // MNetworkEnable - bool m_bListenedTo; // 0xa70 + bool m_bListenedTo; // 0xa70 +private: + [[maybe_unused]] uint8_t __pad0a71[0xf]; // 0xa71 +public: // MNetworkEnable - CHandle< C_BaseEntity > m_hViewPosition; // 0xa80 - bool m_bRestartAfterRestore; // 0xa84 + CHandle< C_BaseEntity > m_hViewPosition; // 0xa80 + bool m_bRestartAfterRestore; // 0xa84 }; -// Aligment: 0 -// Size: 2616 -class C_WaterBullet : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xa38 +class C_WaterBullet : public C_BaseAnimating { public: -// + // no members available }; -// Aligment: 1 -// Size: 2152 -class C_BaseDoor : public C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x868 +class C_BaseDoor : public C_BaseToggle { public: // MNetworkEnable - bool m_bIsUsable; // 0x860 + bool m_bIsUsable; // 0x860 }; -// Aligment: 26 -// Size: 3056 -class C_BaseFlex : public C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 26 +// Size: 0xbf0 +class C_BaseFlex : public C_BaseAnimatingOverlay { public: // MNetworkEnable @@ -6123,126 +7090,168 @@ public: // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags - C_NetworkUtlVectorBase< float32 > m_flexWeight; // 0xa40 + C_NetworkUtlVectorBase< float32 > m_flexWeight; // 0xa40 // MNetworkEnable - bool m_blinktoggle; // 0xa58 + bool m_blinktoggle; // 0xa58 +private: + [[maybe_unused]] uint8_t __pad0a59[0x7]; // 0xa59 +public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnViewTargetChanged" - Vector m_vLookTargetPosition; // 0xa60 - int32_t m_nLastFlexUpdateFrameCount; // 0xad0 - Vector m_CachedViewTarget; // 0xad4 - uint32_t m_nNextSceneEventId; // 0xae8 - int32_t m_iBlink; // 0xaec - float m_blinktime; // 0xaf0 - bool m_prevblinktoggle; // 0xaf4 - int32_t m_iBlinkSlider; // 0xaf8 - int32_t m_iJawOpen; // 0xafc - float m_flJawOpenAmount; // 0xb00 - float m_flBlinkAmount; // 0xb04 - AttachmentHandle_t m_iMouthAttachment; // 0xb08 - AttachmentHandle_t m_iEyeAttachment; // 0xb09 - bool m_bResetFlexWeightsOnModelChange; // 0xb0a - int32_t m_iEyeLidUpDownPP; // 0xb28 - int32_t m_iEyeLidLeftRightPP; // 0xb2c - float m_flMinEyeUpDown; // 0xb30 - float m_flMaxEyeUpDown; // 0xb34 - float m_flMinEyeLeftRight; // 0xb38 - float m_flMaxEyeLeftRight; // 0xb3c - int32_t m_nEyeOcclusionRendererBone; // 0xb40 - matrix3x4_t m_mEyeOcclusionRendererCameraToBoneTransform; // 0xb44 - Vector m_vEyeOcclusionRendererHalfExtent; // 0xb74 - C_BaseFlex::Emphasized_Phoneme[3] m_PhonemeClasses; // 0xb90 + Vector m_vLookTargetPosition; // 0xa60 +private: + [[maybe_unused]] uint8_t __pad0a6c[0x64]; // 0xa6c +public: + int32_t m_nLastFlexUpdateFrameCount; // 0xad0 + Vector m_CachedViewTarget; // 0xad4 +private: + [[maybe_unused]] uint8_t __pad0ae0[0x8]; // 0xae0 +public: + uint32_t m_nNextSceneEventId; // 0xae8 + int32_t m_iBlink; // 0xaec + float m_blinktime; // 0xaf0 + bool m_prevblinktoggle; // 0xaf4 +private: + [[maybe_unused]] uint8_t __pad0af5[0x3]; // 0xaf5 +public: + int32_t m_iBlinkSlider; // 0xaf8 + int32_t m_iJawOpen; // 0xafc + float m_flJawOpenAmount; // 0xb00 + float m_flBlinkAmount; // 0xb04 + AttachmentHandle_t m_iMouthAttachment; // 0xb08 + AttachmentHandle_t m_iEyeAttachment; // 0xb09 + bool m_bResetFlexWeightsOnModelChange; // 0xb0a +private: + [[maybe_unused]] uint8_t __pad0b0b[0x1d]; // 0xb0b +public: + int32_t m_iEyeLidUpDownPP; // 0xb28 + int32_t m_iEyeLidLeftRightPP; // 0xb2c + float m_flMinEyeUpDown; // 0xb30 + float m_flMaxEyeUpDown; // 0xb34 + float m_flMinEyeLeftRight; // 0xb38 + float m_flMaxEyeLeftRight; // 0xb3c + int32_t m_nEyeOcclusionRendererBone; // 0xb40 + matrix3x4_t m_mEyeOcclusionRendererCameraToBoneTransform; // 0xb44 + Vector m_vEyeOcclusionRendererHalfExtent; // 0xb74 +private: + [[maybe_unused]] uint8_t __pad0b80[0x10]; // 0xb80 +public: + C_BaseFlex::Emphasized_Phoneme m_PhonemeClasses[3]; // 0xb90 }; -// Aligment: 14 -// Size: 2768 -class C_ClientRagdoll : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0xad0 +class C_ClientRagdoll : public C_BaseAnimating { public: - bool m_bFadeOut; // 0xa38 - bool m_bImportant; // 0xa39 - float m_flEffectTime; // 0xa3c - float m_gibDespawnTime; // 0xa40 - int32_t m_iCurrentFriction; // 0xa44 - int32_t m_iMinFriction; // 0xa48 - int32_t m_iMaxFriction; // 0xa4c - int32_t m_iFrictionAnimState; // 0xa50 - bool m_bReleaseRagdoll; // 0xa54 - AttachmentHandle_t m_iEyeAttachment; // 0xa55 - bool m_bFadingOut; // 0xa56 - float32[10] m_flScaleEnd; // 0xa58 - float32[10] m_flScaleTimeStart; // 0xa80 - float32[10] m_flScaleTimeEnd; // 0xaa8 + bool m_bFadeOut; // 0xa38 + bool m_bImportant; // 0xa39 +private: + [[maybe_unused]] uint8_t __pad0a3a[0x2]; // 0xa3a +public: + float m_flEffectTime; // 0xa3c + float m_gibDespawnTime; // 0xa40 + int32_t m_iCurrentFriction; // 0xa44 + int32_t m_iMinFriction; // 0xa48 + int32_t m_iMaxFriction; // 0xa4c + int32_t m_iFrictionAnimState; // 0xa50 + bool m_bReleaseRagdoll; // 0xa54 + AttachmentHandle_t m_iEyeAttachment; // 0xa55 + bool m_bFadingOut; // 0xa56 +private: + [[maybe_unused]] uint8_t __pad0a57[0x1]; // 0xa57 +public: + float m_flScaleEnd[10]; // 0xa58 + float m_flScaleTimeStart[10]; // 0xa80 + float m_flScaleTimeEnd[10]; // 0xaa8 }; -// Aligment: 8 -// Size: 2232 -class C_Precipitation : public C_BaseTrigger, C_BaseToggle, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x8b8 +class C_Precipitation : public C_BaseTrigger { public: - float m_flDensity; // 0x868 - float m_flParticleInnerDist; // 0x878 - char* m_pParticleDef; // 0x880 - TimedEvent[1] m_tParticlePrecipTraceTimer; // 0x8a8 - bool[1] m_bActiveParticlePrecipEmitter; // 0x8b0 - bool m_bParticlePrecipInitialized; // 0x8b1 - bool m_bHasSimulatedSinceLastSceneObjectUpdate; // 0x8b2 - int32_t m_nAvailableSheetSequencesMaxIndex; // 0x8b4 + float m_flDensity; // 0x868 +private: + [[maybe_unused]] uint8_t __pad086c[0xc]; // 0x86c +public: + float m_flParticleInnerDist; // 0x878 +private: + [[maybe_unused]] uint8_t __pad087c[0x4]; // 0x87c +public: + char* m_pParticleDef; // 0x880 +private: + [[maybe_unused]] uint8_t __pad0888[0x20]; // 0x888 +public: + TimedEvent m_tParticlePrecipTraceTimer[1]; // 0x8a8 + bool m_bActiveParticlePrecipEmitter[1]; // 0x8b0 + bool m_bParticlePrecipInitialized; // 0x8b1 + bool m_bHasSimulatedSinceLastSceneObjectUpdate; // 0x8b2 +private: + [[maybe_unused]] uint8_t __pad08b3[0x1]; // 0x8b3 +public: + int32_t m_nAvailableSheetSequencesMaxIndex; // 0x8b4 }; -// Aligment: 2 -// Size: 2464 -class C_FireSprite : public C_Sprite, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x9a0 +class C_FireSprite : public C_Sprite { public: - Vector m_vecMoveDir; // 0x990 - bool m_bFadeFromAbove; // 0x99c + Vector m_vecMoveDir; // 0x990 + bool m_bFadeFromAbove; // 0x99c }; -// Aligment: 0 -// Size: 2448 -class C_FireFromAboveSprite : public C_Sprite, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x990 +class C_FireFromAboveSprite : public C_Sprite { public: -// + // no members available }; -// Aligment: 23 -// Size: 2848 -class C_Fish : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 23 +// Size: 0xb20 +class C_Fish : public C_BaseAnimating { public: - Vector m_pos; // 0xa38 - Vector m_vel; // 0xa44 - QAngle m_angles; // 0xa50 - int32_t m_localLifeState; // 0xa5c - float m_deathDepth; // 0xa60 - float m_deathAngle; // 0xa64 - float m_buoyancy; // 0xa68 - CountdownTimer m_wiggleTimer; // 0xa70 - float m_wigglePhase; // 0xa80 - float m_wiggleRate; // 0xa84 - Vector m_actualPos; // 0xa88 - QAngle m_actualAngles; // 0xa94 + Vector m_pos; // 0xa38 + Vector m_vel; // 0xa44 + QAngle m_angles; // 0xa50 + int32_t m_localLifeState; // 0xa5c + float m_deathDepth; // 0xa60 + float m_deathAngle; // 0xa64 + float m_buoyancy; // 0xa68 +private: + [[maybe_unused]] uint8_t __pad0a6c[0x4]; // 0xa6c +public: + CountdownTimer m_wiggleTimer; // 0xa70 + float m_wigglePhase; // 0xa80 + float m_wiggleRate; // 0xa84 + Vector m_actualPos; // 0xa88 + QAngle m_actualAngles; // 0xa94 // MNetworkEnable // MNetworkEncoder - Vector m_poolOrigin; // 0xaa0 + Vector m_poolOrigin; // 0xaa0 // MNetworkEnable - float m_waterLevel; // 0xaac - bool m_gotUpdate; // 0xab0 + float m_waterLevel; // 0xaac + bool m_gotUpdate; // 0xab0 +private: + [[maybe_unused]] uint8_t __pad0ab1[0x3]; // 0xab1 +public: // MNetworkEnable // MNetworkSerializer "fish_pos_x" // MNetworkChangeCallback "OnPosChanged" - float m_x; // 0xab4 + float m_x; // 0xab4 // MNetworkEnable // MNetworkSerializer "fish_pos_y" // MNetworkChangeCallback "OnPosChanged" - float m_y; // 0xab8 + float m_y; // 0xab8 // MNetworkEnable // MNetworkSerializer "fish_pos_z" // MNetworkChangeCallback "OnPosChanged" - float m_z; // 0xabc + float m_z; // 0xabc // MNetworkEnable // MNetworkSerializer "angle_normalize_positive" // MNetworkBitCount "7" @@ -6250,893 +7259,1052 @@ public: // MNetworkMaxValue "360" // MNetworkEncodeFlags // MNetworkChangeCallback "OnAngChanged" - float m_angle; // 0xac0 - float32[20] m_errorHistory; // 0xac4 - int32_t m_errorHistoryIndex; // 0xb14 - int32_t m_errorHistoryCount; // 0xb18 - float m_averageError; // 0xb1c + float m_angle; // 0xac0 + float m_errorHistory[20]; // 0xac4 + int32_t m_errorHistoryIndex; // 0xb14 + int32_t m_errorHistoryCount; // 0xb18 + float m_averageError; // 0xb1c }; -// Aligment: 1 -// Size: 2960 -class C_PhysicsProp : public C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0xb90 +class C_PhysicsProp : public C_BreakableProp { public: // MNetworkEnable - bool m_bAwake; // 0xb88 + bool m_bAwake; // 0xb88 }; -// Aligment: 27 -// Size: 2864 -class C_PropVehicleDriveable : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 27 +// Size: 0xb30 +class C_PropVehicleDriveable : public C_BaseAnimating { public: // MNetworkEnable - CHandle< C_BasePlayer > m_hPlayer; // 0xa40 + CHandle< C_BasePlayer > m_hPlayer; // 0xa40 // MNetworkEnable - int32_t m_nSpeed; // 0xa44 + int32_t m_nSpeed; // 0xa44 // MNetworkEnable - int16_t m_nRPM; // 0xa48 + int16_t m_nRPM; // 0xa48 +private: + [[maybe_unused]] uint8_t __pad0a4a[0x2]; // 0xa4a +public: // MNetworkEnable - float m_flThrottle; // 0xa4c + float m_flThrottle; // 0xa4c // MNetworkEnable - int32_t m_nBoostTimeLeft; // 0xa50 + int32_t m_nBoostTimeLeft; // 0xa50 // MNetworkEnable - bool m_bHasBoost; // 0xa54 + bool m_bHasBoost; // 0xa54 // MNetworkEnable - bool m_nScannerDisabledWeapons; // 0xa55 + bool m_nScannerDisabledWeapons; // 0xa55 // MNetworkEnable - bool m_nScannerDisabledVehicle; // 0xa56 - int32_t m_iFlashTimer; // 0xa58 - bool m_bLockedDim; // 0xa5c - bool m_bLockedIcon; // 0xa5d - int32_t m_iScannerWepFlashTimer; // 0xa60 - bool m_bScannerWepDim; // 0xa64 - bool m_bScannerWepIcon; // 0xa65 - int32_t m_iScannerVehicleFlashTimer; // 0xa68 - bool m_bScannerVehicleDim; // 0xa6c - bool m_bScannerVehicleIcon; // 0xa6d - float m_flSequenceChangeTime; // 0xa70 + bool m_nScannerDisabledVehicle; // 0xa56 +private: + [[maybe_unused]] uint8_t __pad0a57[0x1]; // 0xa57 +public: + int32_t m_iFlashTimer; // 0xa58 + bool m_bLockedDim; // 0xa5c + bool m_bLockedIcon; // 0xa5d +private: + [[maybe_unused]] uint8_t __pad0a5e[0x2]; // 0xa5e +public: + int32_t m_iScannerWepFlashTimer; // 0xa60 + bool m_bScannerWepDim; // 0xa64 + bool m_bScannerWepIcon; // 0xa65 +private: + [[maybe_unused]] uint8_t __pad0a66[0x2]; // 0xa66 +public: + int32_t m_iScannerVehicleFlashTimer; // 0xa68 + bool m_bScannerVehicleDim; // 0xa6c + bool m_bScannerVehicleIcon; // 0xa6d +private: + [[maybe_unused]] uint8_t __pad0a6e[0x2]; // 0xa6e +public: + float m_flSequenceChangeTime; // 0xa70 // MNetworkEnable - bool m_bEnterAnimOn; // 0xa74 + bool m_bEnterAnimOn; // 0xa74 // MNetworkEnable - bool m_bExitAnimOn; // 0xa75 - float m_flFOV; // 0xa78 + bool m_bExitAnimOn; // 0xa75 +private: + [[maybe_unused]] uint8_t __pad0a76[0x2]; // 0xa76 +public: + float m_flFOV; // 0xa78 +private: + [[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c +public: // MNetworkEnable // MNetworkEncoder - Vector m_vecGunCrosshair; // 0xa80 + Vector m_vecGunCrosshair; // 0xa80 +private: + [[maybe_unused]] uint8_t __pad0a8c[0xc]; // 0xa8c +public: // MNetworkEnable // MNetworkEncoder - Vector m_vecEyeExitEndpoint; // 0xa98 + Vector m_vecEyeExitEndpoint; // 0xa98 // MNetworkEnable - bool m_bHasGun; // 0xaa4 + bool m_bHasGun; // 0xaa4 // MNetworkEnable - bool m_bUnableToFire; // 0xaa5 - CHandle< C_BasePlayer > m_hPrevPlayer; // 0xaa8 - C_ViewSmoothingData_t m_ViewSmoothingData; // 0xab0 + bool m_bUnableToFire; // 0xaa5 +private: + [[maybe_unused]] uint8_t __pad0aa6[0x2]; // 0xaa6 +public: + CHandle< C_BasePlayer > m_hPrevPlayer; // 0xaa8 +private: + [[maybe_unused]] uint8_t __pad0aac[0x4]; // 0xaac +public: + C_ViewSmoothingData_t m_ViewSmoothingData; // 0xab0 }; -// Aligment: 1 -// Size: 3264 -class C_DynamicPropClientside : public C_DynamicProp, C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0xcc0 +class C_DynamicPropClientside : public C_DynamicProp { public: - bool m_bNoInterpolate; // 0xcb8 + bool m_bNoInterpolate; // 0xcb8 }; -// Aligment: 7 -// Size: 3320 -class C_BasePropDoor : public C_DynamicProp, C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0xcf8 +class C_BasePropDoor : public C_DynamicProp { public: // MNetworkEnable - DoorState_t m_eDoorState; // 0xcc8 - bool m_modelChanged; // 0xccc + DoorState_t m_eDoorState; // 0xcc8 + bool m_modelChanged; // 0xccc // MNetworkEnable - bool m_bLocked; // 0xccd + bool m_bLocked; // 0xccd +private: + [[maybe_unused]] uint8_t __pad0cce[0x2]; // 0xcce +public: // MNetworkEnable - Vector m_closedPosition; // 0xcd0 + Vector m_closedPosition; // 0xcd0 // MNetworkEnable - QAngle m_closedAngles; // 0xcdc + QAngle m_closedAngles; // 0xcdc // MNetworkEnable - CHandle< C_BasePropDoor > m_hMaster; // 0xce8 - Vector m_vWhereToSetLightingOrigin; // 0xcec + CHandle< C_BasePropDoor > m_hMaster; // 0xce8 + Vector m_vWhereToSetLightingOrigin; // 0xcec }; -// Aligment: 9 -// Size: 11296 -class C_FlexCycler : public C_BaseFlex, C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x2c20 +class C_FlexCycler : public C_BaseFlex { public: - float m_flextime; // 0xbf0 - float32[2048] m_flextarget; // 0xbf8 - float m_blinktime; // 0x2bf8 - float m_looktime; // 0x2bfc - Vector m_lookTarget; // 0x2c00 - float m_speaktime; // 0x2c0c - int32_t m_istalking; // 0x2c10 - int32_t m_phoneme; // 0x2c14 - HSequence m_hCurrLayerSequence; // 0x2c18 + float m_flextime; // 0xbf0 +private: + [[maybe_unused]] uint8_t __pad0bf4[0x4]; // 0xbf4 +public: + float m_flextarget[2048]; // 0xbf8 + float m_blinktime; // 0x2bf8 + float m_looktime; // 0x2bfc + Vector m_lookTarget; // 0x2c00 + float m_speaktime; // 0x2c0c + int32_t m_istalking; // 0x2c10 + int32_t m_phoneme; // 0x2c14 + HSequence m_hCurrLayerSequence; // 0x2c18 }; -// Aligment: 9 -// Size: 11360 -class C_GenericFlexCycler : public C_FlexCycler, C_BaseFlex, C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x2c60 +class C_GenericFlexCycler : public C_FlexCycler { public: // MNetworkEnable - int32_t m_nTestMode; // 0x2c20 - int32_t m_nTestIndex; // 0x2c24 - CUtlSymbolLarge m_poseParameterName; // 0x2c28 - bool m_bDoClientSideAnimation; // 0x2c30 - CUtlSymbolLarge[2] m_layerSequence; // 0x2c38 - int32[2] m_nLayerIndex; // 0x2c48 - HSequence[2] m_hBaseSequence; // 0x2c50 - int32_t m_nBoneOverrideIndex; // 0x2c58 - float m_flLastSimTime; // 0x2c5c + int32_t m_nTestMode; // 0x2c20 + int32_t m_nTestIndex; // 0x2c24 + CUtlSymbolLarge m_poseParameterName; // 0x2c28 + bool m_bDoClientSideAnimation; // 0x2c30 +private: + [[maybe_unused]] uint8_t __pad2c31[0x7]; // 0x2c31 +public: + CUtlSymbolLarge m_layerSequence[2]; // 0x2c38 + int32_t m_nLayerIndex[2]; // 0x2c48 + HSequence m_hBaseSequence[2]; // 0x2c50 + int32_t m_nBoneOverrideIndex; // 0x2c58 + float m_flLastSimTime; // 0x2c5c }; -// Aligment: 12 -// Size: 3008 -class C_PhysPropClientside : public C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0xbc0 +class C_PhysPropClientside : public C_BreakableProp { public: - float m_flTouchDelta; // 0xb88 - float m_fDeathTime; // 0xb8c - float m_impactEnergyScale; // 0xb90 - float m_inertiaScale; // 0xb94 - float m_flDmgModBullet; // 0xb98 - float m_flDmgModClub; // 0xb9c - float m_flDmgModExplosive; // 0xba0 - float m_flDmgModFire; // 0xba4 - CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xba8 - CUtlSymbolLarge m_iszBasePropData; // 0xbb0 - int32_t m_iInteractions; // 0xbb8 - bool m_bHasBreakPiecesOrCommands; // 0xbbc + float m_flTouchDelta; // 0xb88 + float m_fDeathTime; // 0xb8c + float m_impactEnergyScale; // 0xb90 + float m_inertiaScale; // 0xb94 + float m_flDmgModBullet; // 0xb98 + float m_flDmgModClub; // 0xb9c + float m_flDmgModExplosive; // 0xba0 + float m_flDmgModFire; // 0xba4 + CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xba8 + CUtlSymbolLarge m_iszBasePropData; // 0xbb0 + int32_t m_iInteractions; // 0xbb8 + bool m_bHasBreakPiecesOrCommands; // 0xbbc }; -// Aligment: 8 -// Size: 2736 -class C_RagdollProp : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0xab0 +class C_RagdollProp : public C_BaseAnimating { public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "ragAnglesChanged" - C_NetworkUtlVectorBase< Vector > m_ragPos; // 0xa40 + C_NetworkUtlVectorBase< Vector > m_ragPos; // 0xa40 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "13" // MNetworkChangeCallback "ragAnglesChanged" - C_NetworkUtlVectorBase< QAngle > m_ragAngles; // 0xa58 + C_NetworkUtlVectorBase< QAngle > m_ragAngles; // 0xa58 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags - float m_flBlendWeight; // 0xa70 + float m_flBlendWeight; // 0xa70 // MNetworkEnable - CHandle< C_BaseEntity > m_hRagdollSource; // 0xa74 - AttachmentHandle_t m_iEyeAttachment; // 0xa78 - float m_flBlendWeightCurrent; // 0xa7c - CUtlVector< int32 > m_parentPhysicsBoneIndices; // 0xa80 - CUtlVector< int32 > m_worldSpaceBoneComputationOrder; // 0xa98 + CHandle< C_BaseEntity > m_hRagdollSource; // 0xa74 + AttachmentHandle_t m_iEyeAttachment; // 0xa78 +private: + [[maybe_unused]] uint8_t __pad0a79[0x3]; // 0xa79 +public: + float m_flBlendWeightCurrent; // 0xa7c + CUtlVector< int32 > m_parentPhysicsBoneIndices; // 0xa80 + CUtlVector< int32 > m_worldSpaceBoneComputationOrder; // 0xa98 }; -// Aligment: 25 -// Size: 2808 -class C_LocalTempEntity : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 25 +// Size: 0xaf8 +class C_LocalTempEntity : public C_BaseAnimating { public: - int32_t flags; // 0xa50 - float die; // 0xa54 - float m_flFrameMax; // 0xa58 - float x; // 0xa5c - float y; // 0xa60 - float fadeSpeed; // 0xa64 - float bounceFactor; // 0xa68 - int32_t hitSound; // 0xa6c - int32_t priority; // 0xa70 - Vector tentOffset; // 0xa74 - QAngle m_vecTempEntAngVelocity; // 0xa80 - int32_t tempent_renderamt; // 0xa8c - Vector m_vecNormal; // 0xa90 - float m_flSpriteScale; // 0xa9c - int32_t m_nFlickerFrame; // 0xaa0 - float m_flFrameRate; // 0xaa4 - float m_flFrame; // 0xaa8 - char* m_pszImpactEffect; // 0xab0 - char* m_pszParticleEffect; // 0xab8 - bool m_bParticleCollision; // 0xac0 - int32_t m_iLastCollisionFrame; // 0xac4 - Vector m_vLastCollisionOrigin; // 0xac8 - Vector m_vecTempEntVelocity; // 0xad4 - Vector m_vecPrevAbsOrigin; // 0xae0 - Vector m_vecTempEntAcceleration; // 0xaec + int32_t flags; // 0xa50 + float die; // 0xa54 + float m_flFrameMax; // 0xa58 + float x; // 0xa5c + float y; // 0xa60 + float fadeSpeed; // 0xa64 + float bounceFactor; // 0xa68 + int32_t hitSound; // 0xa6c + int32_t priority; // 0xa70 + Vector tentOffset; // 0xa74 + QAngle m_vecTempEntAngVelocity; // 0xa80 + int32_t tempent_renderamt; // 0xa8c + Vector m_vecNormal; // 0xa90 + float m_flSpriteScale; // 0xa9c + int32_t m_nFlickerFrame; // 0xaa0 + float m_flFrameRate; // 0xaa4 + float m_flFrame; // 0xaa8 +private: + [[maybe_unused]] uint8_t __pad0aac[0x4]; // 0xaac +public: + char* m_pszImpactEffect; // 0xab0 + char* m_pszParticleEffect; // 0xab8 + bool m_bParticleCollision; // 0xac0 +private: + [[maybe_unused]] uint8_t __pad0ac1[0x3]; // 0xac1 +public: + int32_t m_iLastCollisionFrame; // 0xac4 + Vector m_vLastCollisionOrigin; // 0xac8 + Vector m_vecTempEntVelocity; // 0xad4 + Vector m_vecPrevAbsOrigin; // 0xae0 + Vector m_vecTempEntAcceleration; // 0xaec }; -// Aligment: 12 -// Size: 3136 -class C_BaseGrenade : public C_BaseFlex, C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0xc40 +class C_BaseGrenade : public C_BaseFlex { public: - bool m_bHasWarnedAI; // 0xbf0 - bool m_bIsSmokeGrenade; // 0xbf1 + bool m_bHasWarnedAI; // 0xbf0 + bool m_bIsSmokeGrenade; // 0xbf1 // MNetworkEnable - bool m_bIsLive; // 0xbf2 + bool m_bIsLive; // 0xbf2 +private: + [[maybe_unused]] uint8_t __pad0bf3[0x1]; // 0xbf3 +public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "1024" // MNetworkEncodeFlags - float m_DmgRadius; // 0xbf4 + float m_DmgRadius; // 0xbf4 // MNetworkEnable - float m_flDetonateTime; // 0xbf8 - float m_flWarnAITime; // 0xbfc + float m_flDetonateTime; // 0xbf8 + float m_flWarnAITime; // 0xbfc // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags - float m_flDamage; // 0xc00 - CUtlSymbolLarge m_iszBounceSound; // 0xc08 - CUtlString m_ExplosionSound; // 0xc10 + float m_flDamage; // 0xc00 +private: + [[maybe_unused]] uint8_t __pad0c04[0x4]; // 0xc04 +public: + CUtlSymbolLarge m_iszBounceSound; // 0xc08 + CUtlString m_ExplosionSound; // 0xc10 +private: + [[maybe_unused]] uint8_t __pad0c18[0x4]; // 0xc18 +public: // MNetworkEnable - CHandle< C_BaseEntity > m_hThrower; // 0xc1c - float m_flNextAttack; // 0xc38 - CHandle< C_BaseEntity > m_hOriginalThrower; // 0xc3c + CHandle< C_BaseEntity > m_hThrower; // 0xc1c +private: + [[maybe_unused]] uint8_t __pad0c20[0x18]; // 0xc20 +public: + float m_flNextAttack; // 0xc38 + CHandle< C_BaseEntity > m_hOriginalThrower; // 0xc3c }; -// Aligment: 1 -// Size: 3064 -class C_ShatterGlassShardPhysics : public C_PhysicsProp, C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0xbf8 +class C_ShatterGlassShardPhysics : public C_PhysicsProp { public: // MNetworkEnable - shard_model_desc_t m_ShardDesc; // 0xb98 + shard_model_desc_t m_ShardDesc; // 0xb98 }; -// Aligment: 1 -// Size: 2664 -class C_PointHintUIButtonHighlightModel : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0xa68 +class C_PointHintUIButtonHighlightModel : public C_BaseAnimating { public: - matrix3x4_t m_mComponentTransform; // 0xa38 + matrix3x4_t m_mComponentTransform; // 0xa38 }; -// Aligment: 1 -// Size: 2664 -class C_PointHintUIArrowHighlightModel : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0xa68 +class C_PointHintUIArrowHighlightModel : public C_BaseAnimating { public: - matrix3x4_t m_mArrowLocalTransform; // 0xa38 + matrix3x4_t m_mArrowLocalTransform; // 0xa38 }; -// Aligment: 4 -// Size: 2768 -class C_PointHintUIHighlightModel : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0xad0 +class C_PointHintUIHighlightModel : public C_BaseAnimating { public: - CUtlVector< matrix3x4a_t > m_vecRenderModelComponentTransforms; // 0xa68 - int32_t m_nTrackedDeviceIndex; // 0xa80 - matrix3x4_t m_matLocalHighlight; // 0xa98 - bool m_bVisible; // 0xac8 + CUtlVector< matrix3x4a_t > m_vecRenderModelComponentTransforms; // 0xa68 + int32_t m_nTrackedDeviceIndex; // 0xa80 +private: + [[maybe_unused]] uint8_t __pad0a84[0x14]; // 0xa84 +public: + matrix3x4_t m_matLocalHighlight; // 0xa98 + bool m_bVisible; // 0xac8 }; -// Aligment: 0 -// Size: 2616 -class CNPCAbilityModel : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xa38 +class CNPCAbilityModel : public C_BaseAnimating { public: -// + // no members available }; -// Aligment: 4 -// Size: 2744 -class C_PropAnimatingBreakable : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0xab8 +class C_PropAnimatingBreakable : public C_BaseAnimating { public: - int32_t m_nCurrentBreakStage; // 0xa38 - CEntityIOOutput m_OnTakeDamage; // 0xa40 - CEntityIOOutput m_OnFinalBreak; // 0xa68 - CEntityIOOutput m_OnStageAdvanced; // 0xa90 + int32_t m_nCurrentBreakStage; // 0xa38 +private: + [[maybe_unused]] uint8_t __pad0a3c[0x4]; // 0xa3c +public: + CEntityIOOutput m_OnTakeDamage; // 0xa40 + CEntityIOOutput m_OnFinalBreak; // 0xa68 + CEntityIOOutput m_OnStageAdvanced; // 0xa90 }; -// Aligment: 5 -// Size: 2648 -class CSteamPal_BaseSingingEntity : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0xa58 +class CSteamPal_BaseSingingEntity : public C_BaseAnimating { public: - char m_cCurNote; // 0xa40 - float m_flTimeNotePlayed; // 0xa44 - int32_t m_nSequenceTrack; // 0xa48 - bool m_bIsRegistered; // 0xa4c - float m_flWingLastNotePct; // 0xa50 + char m_cCurNote; // 0xa40 +private: + [[maybe_unused]] uint8_t __pad0a41[0x3]; // 0xa41 +public: + float m_flTimeNotePlayed; // 0xa44 + int32_t m_nSequenceTrack; // 0xa48 + bool m_bIsRegistered; // 0xa4c +private: + [[maybe_unused]] uint8_t __pad0a4d[0x3]; // 0xa4d +public: + float m_flWingLastNotePct; // 0xa50 }; -// Aligment: 9 -// Size: 2800 -class CSteamPal_WritingSurface : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0xaf0 +class CSteamPal_WritingSurface : public C_BaseAnimating { public: - Vector m_vPointOnBoardPos; // 0xa60 - Vector m_vPrevPointOnBoardPos1; // 0xa6c - Vector m_vPrevPointOnBoardPos2; // 0xa78 - Vector m_vTopLeftPoint; // 0xa90 - Vector m_vBoardNormal; // 0xa9c - matrix3x4_t m_matWorldToOffscreenParticleBuffer; // 0xaa8 - float m_flTimeCreated; // 0xad8 - float m_flLastTimeDrawn; // 0xadc + Vector m_vPointOnBoardPos; // 0xa60 + Vector m_vPrevPointOnBoardPos1; // 0xa6c + Vector m_vPrevPointOnBoardPos2; // 0xa78 +private: + [[maybe_unused]] uint8_t __pad0a84[0xc]; // 0xa84 +public: + Vector m_vTopLeftPoint; // 0xa90 + Vector m_vBoardNormal; // 0xa9c + matrix3x4_t m_matWorldToOffscreenParticleBuffer; // 0xaa8 + float m_flTimeCreated; // 0xad8 + float m_flLastTimeDrawn; // 0xadc +private: + [[maybe_unused]] uint8_t __pad0ae0[0x8]; // 0xae0 +public: // MNetworkEnable - bool m_bCanWrite; // 0xae8 + bool m_bCanWrite; // 0xae8 }; -// Aligment: 26 -// Size: 3056 -class CSteamPal_Turret : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 26 +// Size: 0xbf0 +class CSteamPal_Turret : public C_BaseAnimating { public: - AttachmentHandle_t m_hTurretLaserAttachment; // 0xa38 + AttachmentHandle_t m_hTurretLaserAttachment; // 0xa38 +private: + [[maybe_unused]] uint8_t __pad0a39[0x3]; // 0xa39 +public: // MNetworkEnable - CHandle< CSteamPal_Turret_Wing >[2] m_hWings; // 0xa3c + CHandle< CSteamPal_Turret_Wing > m_hWings[2]; // 0xa3c // MNetworkEnable - CHandle< CSteamPal_Turret_Wing > m_hLeftWing; // 0xa44 + CHandle< CSteamPal_Turret_Wing > m_hLeftWing; // 0xa44 // MNetworkEnable - CHandle< CSteamPal_Turret_Wing > m_hRightWing; // 0xa48 + CHandle< CSteamPal_Turret_Wing > m_hRightWing; // 0xa48 // MNetworkEnable - bool m_bBeingControlled; // 0xa4c + bool m_bBeingControlled; // 0xa4c // MNetworkEnable - bool m_bGyroHintEnabled; // 0xa4d + bool m_bGyroHintEnabled; // 0xa4d +private: + [[maybe_unused]] uint8_t __pad0a4e[0x2]; // 0xa4e +public: // MNetworkEnable - float m_flTotalGyroActiveTime; // 0xa50 + float m_flTotalGyroActiveTime; // 0xa50 // MNetworkEnable - float m_flTotalGyroInactiveTime; // 0xa54 + float m_flTotalGyroInactiveTime; // 0xa54 // MNetworkEnable - float m_flLastGyroActiveTime; // 0xa58 - ParticleIndex_t m_nLaserSightFX; // 0xa5c - CEntityIOOutput m_OnLeftWingButton; // 0xa60 - CEntityIOOutput m_OnRightWingButton; // 0xa88 - CEntityIOOutput m_OnAnyWingButton; // 0xab0 - CEntityIOOutput m_OnLeftFireButton; // 0xad8 - CEntityIOOutput m_OnRightFireButton; // 0xb00 - CEntityIOOutput m_OnAnyFireButton; // 0xb28 - CEntityIOOutput m_OnTurretExploded; // 0xb50 - CEntityIOOutput m_OnToiletControlsUsed; // 0xb78 - CEntityIOOutput m_OnPresentingRotationFinished; // 0xba0 - Vector m_vLaserSightEnd; // 0xbc8 + float m_flLastGyroActiveTime; // 0xa58 + ParticleIndex_t m_nLaserSightFX; // 0xa5c + CEntityIOOutput m_OnLeftWingButton; // 0xa60 + CEntityIOOutput m_OnRightWingButton; // 0xa88 + CEntityIOOutput m_OnAnyWingButton; // 0xab0 + CEntityIOOutput m_OnLeftFireButton; // 0xad8 + CEntityIOOutput m_OnRightFireButton; // 0xb00 + CEntityIOOutput m_OnAnyFireButton; // 0xb28 + CEntityIOOutput m_OnTurretExploded; // 0xb50 + CEntityIOOutput m_OnToiletControlsUsed; // 0xb78 + CEntityIOOutput m_OnPresentingRotationFinished; // 0xba0 + Vector m_vLaserSightEnd; // 0xbc8 +private: + [[maybe_unused]] uint8_t __pad0bd4[0x4]; // 0xbd4 +public: // MNetworkEnable - float m_flCurrentAimX; // 0xbd8 + float m_flCurrentAimX; // 0xbd8 // MNetworkEnable - float m_flCurrentAimY; // 0xbdc + float m_flCurrentAimY; // 0xbdc // MNetworkEnable - CHandle< C_BaseAnimating > m_hAmmoModel; // 0xbe0 + CHandle< C_BaseAnimating > m_hAmmoModel; // 0xbe0 // MNetworkEnable - bool m_bRevertFOV; // 0xbe4 + bool m_bRevertFOV; // 0xbe4 +private: + [[maybe_unused]] uint8_t __pad0be5[0x3]; // 0xbe5 +public: // MNetworkEnable - float m_flWingDeployAmount; // 0xbe8 + float m_flWingDeployAmount; // 0xbe8 // MNetworkEnable - CHandle< CSteamPalPointCamera > m_hReturnCamera; // 0xbec + CHandle< CSteamPalPointCamera > m_hReturnCamera; // 0xbec }; -// Aligment: 37 -// Size: 3776 -class CSteamPal_Intro_Toilet : public CSteamPal_Turret, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 37 +// Size: 0xec0 +class CSteamPal_Intro_Toilet : public CSteamPal_Turret { public: // MNetworkEnable - float m_flLidSpeed; // 0xbf0 + float m_flLidSpeed; // 0xbf0 // MNetworkEnable - float m_flLidPos; // 0xbf4 + float m_flLidPos; // 0xbf4 // MNetworkEnable - float m_flHandleSpeed; // 0xbf8 + float m_flHandleSpeed; // 0xbf8 // MNetworkEnable - float m_flHandlePos; // 0xbfc + float m_flHandlePos; // 0xbfc // MNetworkEnable - float m_flBidetPlaybackSpeed; // 0xc00 + float m_flBidetPlaybackSpeed; // 0xc00 // MNetworkEnable - float m_flBidetPlaybackPos; // 0xc04 + float m_flBidetPlaybackPos; // 0xc04 // MNetworkEnable - float m_flCisternSpeed; // 0xc08 + float m_flCisternSpeed; // 0xc08 // MNetworkEnable - float m_flCisternPos; // 0xc0c + float m_flCisternPos; // 0xc0c // MNetworkEnable - int32_t m_nWaterLevel; // 0xc10 + int32_t m_nWaterLevel; // 0xc10 // MNetworkEnable - bool m_bLoadedWithBullets; // 0xc14 + bool m_bLoadedWithBullets; // 0xc14 // MNetworkEnable - bool m_bExclusiveToilet; // 0xc15 + bool m_bExclusiveToilet; // 0xc15 +private: + [[maybe_unused]] uint8_t __pad0c16[0x2]; // 0xc16 +public: // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nLidTestState; // 0xc18 + CSteamPal_Intro_Toilet::TestState_t m_nLidTestState; // 0xc18 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nFlushTestState; // 0xc1c + CSteamPal_Intro_Toilet::TestState_t m_nFlushTestState; // 0xc1c // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nBidet1TestState; // 0xc20 + CSteamPal_Intro_Toilet::TestState_t m_nBidet1TestState; // 0xc20 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nBidet2TestState; // 0xc24 + CSteamPal_Intro_Toilet::TestState_t m_nBidet2TestState; // 0xc24 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nBidet3TestState; // 0xc28 + CSteamPal_Intro_Toilet::TestState_t m_nBidet3TestState; // 0xc28 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nBidet4TestState; // 0xc2c + CSteamPal_Intro_Toilet::TestState_t m_nBidet4TestState; // 0xc2c // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nLeftArmTestState; // 0xc30 + CSteamPal_Intro_Toilet::TestState_t m_nLeftArmTestState; // 0xc30 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nRightArmTestState; // 0xc34 + CSteamPal_Intro_Toilet::TestState_t m_nRightArmTestState; // 0xc34 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nHoldWaterTestState; // 0xc38 + CSteamPal_Intro_Toilet::TestState_t m_nHoldWaterTestState; // 0xc38 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nSeatPressureTestState; // 0xc3c + CSteamPal_Intro_Toilet::TestState_t m_nSeatPressureTestState; // 0xc3c // MNetworkEnable - CHandle< C_DynamicProp > m_hWaterSpout; // 0xc40 + CHandle< C_DynamicProp > m_hWaterSpout; // 0xc40 // MNetworkEnable - CHandle< C_DynamicProp > m_hPressureTester; // 0xc44 + CHandle< C_DynamicProp > m_hPressureTester; // 0xc44 // MNetworkEnable - CHandle< CSteamPal_ToiletTestPanel > m_hTestPanel; // 0xc48 - CEntityIOOutput m_OnTestFailed; // 0xc50 - CEntityIOOutput m_OnTestsPassed; // 0xc78 - CEntityIOOutput m_OnFlushButton; // 0xca0 - CEntityIOOutput m_OnBidetButton; // 0xcc8 - CEntityIOOutput m_OnPressureButtonPressed; // 0xcf0 - CEntityIOOutput m_OnPressureButtonReleased; // 0xd18 - CEntityIOOutput m_OnPressureTesterDown; // 0xd40 - CEntityIOOutput m_OnLidButton; // 0xd68 - CEntityIOOutput m_OnCisternButton; // 0xd90 - CEntityIOOutput m_OnSpoutStartWater; // 0xdb8 - CEntityIOOutput m_OnOtherButton; // 0xde0 - CEntityIOOutput m_OnHighBidetPressure; // 0xe08 - CEntityIOOutput m_OnSmokingToiletBidetCanceled; // 0xe30 + CHandle< CSteamPal_ToiletTestPanel > m_hTestPanel; // 0xc48 +private: + [[maybe_unused]] uint8_t __pad0c4c[0x4]; // 0xc4c +public: + CEntityIOOutput m_OnTestFailed; // 0xc50 + CEntityIOOutput m_OnTestsPassed; // 0xc78 + CEntityIOOutput m_OnFlushButton; // 0xca0 + CEntityIOOutput m_OnBidetButton; // 0xcc8 + CEntityIOOutput m_OnPressureButtonPressed; // 0xcf0 + CEntityIOOutput m_OnPressureButtonReleased; // 0xd18 + CEntityIOOutput m_OnPressureTesterDown; // 0xd40 + CEntityIOOutput m_OnLidButton; // 0xd68 + CEntityIOOutput m_OnCisternButton; // 0xd90 + CEntityIOOutput m_OnSpoutStartWater; // 0xdb8 + CEntityIOOutput m_OnOtherButton; // 0xde0 + CEntityIOOutput m_OnHighBidetPressure; // 0xe08 + CEntityIOOutput m_OnSmokingToiletBidetCanceled; // 0xe30 }; -// Aligment: 34 -// Size: 3704 -class CSteamPal_ToiletTestPanel : public C_PhysicsProp, C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 34 +// Size: 0xe78 +class CSteamPal_ToiletTestPanel : public C_PhysicsProp { public: // MNetworkEnable - CHandle< C_BaseModelEntity > m_hCisternDiagramLight; // 0xb90 + CHandle< C_BaseModelEntity > m_hCisternDiagramLight; // 0xb90 // MNetworkEnable - CHandle< C_BaseModelEntity > m_hFlushDiagramLight; // 0xb94 + CHandle< C_BaseModelEntity > m_hFlushDiagramLight; // 0xb94 // MNetworkEnable - CHandle< C_BaseModelEntity > m_hSeatPressureDiagramLight; // 0xb98 + CHandle< C_BaseModelEntity > m_hSeatPressureDiagramLight; // 0xb98 // MNetworkEnable - CHandle< C_BaseModelEntity > m_hBidetDiagramLight; // 0xb9c + CHandle< C_BaseModelEntity > m_hBidetDiagramLight; // 0xb9c // MNetworkEnable - CHandle< C_BaseModelEntity > m_hCisternTestLight; // 0xba0 + CHandle< C_BaseModelEntity > m_hCisternTestLight; // 0xba0 // MNetworkEnable - CHandle< C_BaseModelEntity > m_hFlushTestLight; // 0xba4 + CHandle< C_BaseModelEntity > m_hFlushTestLight; // 0xba4 // MNetworkEnable - CHandle< C_BaseModelEntity > m_hSeatPressureTestLight; // 0xba8 + CHandle< C_BaseModelEntity > m_hSeatPressureTestLight; // 0xba8 // MNetworkEnable - CHandle< C_BaseModelEntity > m_hBidetTestLight; // 0xbac + CHandle< C_BaseModelEntity > m_hBidetTestLight; // 0xbac // MNetworkEnable - CHandle< C_BaseAnimating > m_hCisternGauge; // 0xbb0 + CHandle< C_BaseAnimating > m_hCisternGauge; // 0xbb0 // MNetworkEnable - CHandle< C_BaseAnimating > m_hFlushGauge; // 0xbb4 + CHandle< C_BaseAnimating > m_hFlushGauge; // 0xbb4 // MNetworkEnable - CHandle< C_BaseAnimating > m_hSeatPressureGauge; // 0xbb8 + CHandle< C_BaseAnimating > m_hSeatPressureGauge; // 0xbb8 // MNetworkEnable - CHandle< C_BaseAnimating > m_hBidetGauge; // 0xbbc + CHandle< C_BaseAnimating > m_hBidetGauge; // 0xbbc // MNetworkEnable - CHandle< C_BaseModelEntity > m_hCisternFunctionLight; // 0xbc0 + CHandle< C_BaseModelEntity > m_hCisternFunctionLight; // 0xbc0 // MNetworkEnable - CHandle< C_BaseModelEntity > m_hBidetFunctionLight; // 0xbc4 + CHandle< C_BaseModelEntity > m_hBidetFunctionLight; // 0xbc4 // MNetworkEnable - CHandle< C_BaseModelEntity > m_hFlushFunctionLight; // 0xbc8 + CHandle< C_BaseModelEntity > m_hFlushFunctionLight; // 0xbc8 // MNetworkEnable - CHandle< C_BaseModelEntity > m_hSeatPressureFunctionLight; // 0xbcc + CHandle< C_BaseModelEntity > m_hSeatPressureFunctionLight; // 0xbcc // MNetworkEnable - CHandle< C_BaseModelEntity > m_hPassFailLight; // 0xbd0 + CHandle< C_BaseModelEntity > m_hPassFailLight; // 0xbd0 // MNetworkEnable - CHandle< C_BaseAnimating > m_hDigit0; // 0xbd4 + CHandle< C_BaseAnimating > m_hDigit0; // 0xbd4 // MNetworkEnable - CHandle< C_BaseAnimating > m_hDigit1; // 0xbd8 + CHandle< C_BaseAnimating > m_hDigit1; // 0xbd8 // MNetworkEnable - CHandle< C_BaseAnimating > m_hDigit2; // 0xbdc + CHandle< C_BaseAnimating > m_hDigit2; // 0xbdc // MNetworkEnable - CHandle< C_BaseAnimating > m_hDigit3; // 0xbe0 + CHandle< C_BaseAnimating > m_hDigit3; // 0xbe0 // MNetworkEnable - CHandle< C_BaseAnimating > m_hDigit4; // 0xbe4 + CHandle< C_BaseAnimating > m_hDigit4; // 0xbe4 // MNetworkEnable - CHandle< C_BaseAnimating > m_hDigit5; // 0xbe8 + CHandle< C_BaseAnimating > m_hDigit5; // 0xbe8 // MNetworkEnable - int32_t m_nCounterValue; // 0xbec - CEntityIOOutput m_OnTestLidPassed; // 0xc50 - CEntityIOOutput m_OnTestCisternPassed; // 0xc78 - CEntityIOOutput m_OnTestLeftArmPassed; // 0xca0 - CEntityIOOutput m_OnTestRightArmPassed; // 0xcc8 - CEntityIOOutput m_OnTestBidetPassed; // 0xcf0 - CEntityIOOutput m_OnTestPressurePassed; // 0xd18 - CEntityIOOutput m_OnTestFlushPassed; // 0xd40 - CEntityIOOutput m_OnAllTestsPassed; // 0xd68 - CEntityIOOutput m_OnTestFailed; // 0xd90 - CEntityIOOutput m_OnResetPanel; // 0xdb8 + int32_t m_nCounterValue; // 0xbec +private: + [[maybe_unused]] uint8_t __pad0bf0[0x60]; // 0xbf0 +public: + CEntityIOOutput m_OnTestLidPassed; // 0xc50 + CEntityIOOutput m_OnTestCisternPassed; // 0xc78 + CEntityIOOutput m_OnTestLeftArmPassed; // 0xca0 + CEntityIOOutput m_OnTestRightArmPassed; // 0xcc8 + CEntityIOOutput m_OnTestBidetPassed; // 0xcf0 + CEntityIOOutput m_OnTestPressurePassed; // 0xd18 + CEntityIOOutput m_OnTestFlushPassed; // 0xd40 + CEntityIOOutput m_OnAllTestsPassed; // 0xd68 + CEntityIOOutput m_OnTestFailed; // 0xd90 + CEntityIOOutput m_OnResetPanel; // 0xdb8 }; -// Aligment: 4 -// Size: 2632 -class CSteamPal_Toilet : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0xa48 +class CSteamPal_Toilet : public C_BaseAnimating { public: - AttachmentHandle_t m_hToiletBidetAttachment; // 0xa38 - CEntityHandle m_hSeatHinge; // 0xa3c - CEntityHandle m_hSeatCoverHinge; // 0xa40 - CEntityHandle m_hCisternLidConstraint; // 0xa44 + AttachmentHandle_t m_hToiletBidetAttachment; // 0xa38 +private: + [[maybe_unused]] uint8_t __pad0a39[0x3]; // 0xa39 +public: + CEntityHandle m_hSeatHinge; // 0xa3c + CEntityHandle m_hSeatCoverHinge; // 0xa40 + CEntityHandle m_hCisternLidConstraint; // 0xa44 }; -// Aligment: 0 -// Size: 2616 -class CSteamPal_Ultra_Toilet_Rocket : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xa38 +class CSteamPal_Ultra_Toilet_Rocket : public C_BaseAnimating { public: -// + // no members available }; -// Aligment: 0 -// Size: 2616 -class CSteamPal_Ultra_Toilet_Attachment : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xa38 +class CSteamPal_Ultra_Toilet_Attachment : public C_BaseAnimating { public: -// + // no members available }; -// Aligment: 0 -// Size: 3056 -class CSteamPal_Ultra_Toilet : public CSteamPal_Turret, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xbf0 +class CSteamPal_Ultra_Toilet : public CSteamPal_Turret { public: -// + // no members available }; -// Aligment: 0 -// Size: 2616 -class CSteamPal_Trackball : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xa38 +class CSteamPal_Trackball : public C_BaseAnimating { public: -// + // no members available }; -// Aligment: 0 -// Size: 2616 -class CSteamPal_TouchScreen : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xa38 +class CSteamPal_TouchScreen : public C_BaseAnimating { public: -// + // no members available }; -// Aligment: 20 -// Size: 3976 -class CSteamPal_Desk : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 20 +// Size: 0xf88 +class CSteamPal_Desk : public C_BaseAnimating { public: // MNetworkEnable - bool m_bInputEnabled; // 0xa38 - float m_flStickDeployAmount; // 0xa3c - float m_flStickDeployVelocity; // 0xa40 - int32_t m_nDeskState; // 0xa44 - bool m_bDiscoveryModeComplete; // 0xa48 - bool m_bDeskHidden; // 0xa49 - CEntityIOOutput m_OnAButton; // 0xd18 - CEntityIOOutput m_OnBButton; // 0xd40 - CEntityIOOutput m_OnXButton; // 0xd68 - CEntityIOOutput m_OnYButton; // 0xd90 - CEntityIOOutput m_OnL4Button; // 0xdb8 - CEntityIOOutput m_OnL5Button; // 0xde0 - CEntityIOOutput m_OnR4Button; // 0xe08 - CEntityIOOutput m_OnR5Button; // 0xe30 - CEntityIOOutput m_OnL4ButtonReleased; // 0xe58 - CEntityIOOutput m_OnL5ButtonReleased; // 0xe80 - CEntityIOOutput m_OnR4ButtonReleased; // 0xea8 - CEntityIOOutput m_OnR5ButtonReleased; // 0xed0 - CEntityIOOutput m_OnHamburgerButton; // 0xef8 - CEntityIOOutput m_OnShowPaddles; // 0xf20 + bool m_bInputEnabled; // 0xa38 +private: + [[maybe_unused]] uint8_t __pad0a39[0x3]; // 0xa39 +public: + float m_flStickDeployAmount; // 0xa3c + float m_flStickDeployVelocity; // 0xa40 + int32_t m_nDeskState; // 0xa44 + bool m_bDiscoveryModeComplete; // 0xa48 + bool m_bDeskHidden; // 0xa49 +private: + [[maybe_unused]] uint8_t __pad0a4a[0x2ce]; // 0xa4a +public: + CEntityIOOutput m_OnAButton; // 0xd18 + CEntityIOOutput m_OnBButton; // 0xd40 + CEntityIOOutput m_OnXButton; // 0xd68 + CEntityIOOutput m_OnYButton; // 0xd90 + CEntityIOOutput m_OnL4Button; // 0xdb8 + CEntityIOOutput m_OnL5Button; // 0xde0 + CEntityIOOutput m_OnR4Button; // 0xe08 + CEntityIOOutput m_OnR5Button; // 0xe30 + CEntityIOOutput m_OnL4ButtonReleased; // 0xe58 + CEntityIOOutput m_OnL5ButtonReleased; // 0xe80 + CEntityIOOutput m_OnR4ButtonReleased; // 0xea8 + CEntityIOOutput m_OnR5ButtonReleased; // 0xed0 + CEntityIOOutput m_OnHamburgerButton; // 0xef8 + CEntityIOOutput m_OnShowPaddles; // 0xf20 }; -// Aligment: 2 -// Size: 2968 -class CSteamPal_PaintableProp : public C_PhysicsProp, C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0xb98 +class CSteamPal_PaintableProp : public C_PhysicsProp { public: // MNetworkEnable - bool m_bShouldSetPicture; // 0xb90 - bool m_bHasSetPicture; // 0xb91 + bool m_bShouldSetPicture; // 0xb90 + bool m_bHasSetPicture; // 0xb91 }; -// Aligment: 0 -// Size: 2960 -class CNPCApplianceProjectile : public C_PhysicsProp, C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xb90 +class CNPCApplianceProjectile : public C_PhysicsProp { public: -// + // no members available }; -// Aligment: 19 -// Size: 3360 -class C_DevtestHierarchy : public C_DynamicProp, C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 19 +// Size: 0xd20 +class C_DevtestHierarchy : public C_DynamicProp { public: - Vector m_vRotationAxis; // 0xcb8 - float m_flRotationSpeed; // 0xcc4 + Vector m_vRotationAxis; // 0xcb8 + float m_flRotationSpeed; // 0xcc4 // MNetworkEnable - int32_t m_nTestMode; // 0xcc8 - CHandle< C_BaseEntity > m_hChild; // 0xccc + int32_t m_nTestMode; // 0xcc8 + CHandle< C_BaseEntity > m_hChild; // 0xccc // MNetworkEnable - CUtlStringToken m_attachName; // 0xcd0 + CUtlStringToken m_attachName; // 0xcd0 // MNetworkEnable - Vector m_vDynamicAttachOffset; // 0xcd4 + Vector m_vDynamicAttachOffset; // 0xcd4 // MNetworkEnable - int32_t m_nDynamicResetCount; // 0xce0 - int32_t m_nDynamicDetachCount; // 0xce4 + int32_t m_nDynamicResetCount; // 0xce0 + int32_t m_nDynamicDetachCount; // 0xce4 // MNetworkEnable - bool m_bChildIsDynamic; // 0xce8 + bool m_bChildIsDynamic; // 0xce8 // MNetworkEnable - bool m_bCreateChildSideChild; // 0xce9 + bool m_bCreateChildSideChild; // 0xce9 +private: + [[maybe_unused]] uint8_t __pad0cea[0x2]; // 0xcea +public: // MNetworkEnable - CUtlStringToken m_alternateAttachName; // 0xcec - CHandle< C_BaseEntity > m_hAlternateParent; // 0xcf0 - CStrongHandle< InfoForResourceTypeCModel > m_hAlternateModel; // 0xcf8 - CStrongHandle< InfoForResourceTypeCModel > m_hOriginalModel; // 0xd00 + CUtlStringToken m_alternateAttachName; // 0xcec + CHandle< C_BaseEntity > m_hAlternateParent; // 0xcf0 +private: + [[maybe_unused]] uint8_t __pad0cf4[0x4]; // 0xcf4 +public: + CStrongHandle< InfoForResourceTypeCModel > m_hAlternateModel; // 0xcf8 + CStrongHandle< InfoForResourceTypeCModel > m_hOriginalModel; // 0xd00 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCModel > m_hClientSideChildModel; // 0xd08 + CStrongHandle< InfoForResourceTypeCModel > m_hClientSideChildModel; // 0xd08 // MNetworkEnable - float m_flEntityStartTime; // 0xd10 - int32_t m_nTestIndex; // 0xd14 - HierarchyType_t m_nCurrType; // 0xd18 - int32_t m_nCurrentModel; // 0xd1c + float m_flEntityStartTime; // 0xd10 + int32_t m_nTestIndex; // 0xd14 + HierarchyType_t m_nCurrType; // 0xd18 + int32_t m_nCurrentModel; // 0xd1c }; -// Aligment: 0 -// Size: 3256 -class C_DevtestHierarchyChild : public C_DynamicProp, C_BreakableProp, CBaseProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xcb8 +class C_DevtestHierarchyChild : public C_DynamicProp { public: -// + // no members available }; -// Aligment: 0 -// Size: 2616 -class C_DevtestHierarchy2 : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xa38 +class C_DevtestHierarchy2 : public C_BaseAnimating { public: -// + // no members available }; -// Aligment: 8 -// Size: 2656 -class C_BasePlayerWeapon : public C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0xa60 +class C_BasePlayerWeapon : public C_BaseAnimating { public: // MNetworkEnable - WeaponState_t m_iState; // 0xa38 - WeaponState_t m_iOldState; // 0xa3c - bool m_bRemoveable; // 0xa40 + WeaponState_t m_iState; // 0xa38 + WeaponState_t m_iOldState; // 0xa3c + bool m_bRemoveable; // 0xa40 +private: + [[maybe_unused]] uint8_t __pad0a41[0x3]; // 0xa41 +public: // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextPrimaryAttack; // 0xa44 + float m_flNextPrimaryAttack; // 0xa44 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextSecondaryAttack; // 0xa48 + float m_flNextSecondaryAttack; // 0xa48 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkPriority "32" - int32_t m_iClip1; // 0xa4c + int32_t m_iClip1; // 0xa4c // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkUserGroup "LocalWeaponExclusive" - int32_t m_iClip2; // 0xa50 + int32_t m_iClip2; // 0xa50 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - int32[2] m_pReserveAmmo; // 0xa54 + int32_t m_pReserveAmmo[2]; // 0xa54 }; -// Aligment: 0 -// Size: 11360 -class C_GenericFlexCyclerAlias_cycler : public C_GenericFlexCycler, C_FlexCycler, C_BaseFlex, C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x2c60 +class C_GenericFlexCyclerAlias_cycler : public C_GenericFlexCycler { public: -// + // no members available }; -// Aligment: 7 -// Size: 2792 -class C_RagdollPropAttached : public C_RagdollProp, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0xae8 +class C_RagdollPropAttached : public C_RagdollProp { public: // MNetworkEnable - uint32_t m_boneIndexAttached; // 0xab0 + uint32_t m_boneIndexAttached; // 0xab0 // MNetworkEnable - uint32_t m_ragdollAttachedObjectIndex; // 0xab4 + uint32_t m_ragdollAttachedObjectIndex; // 0xab4 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointBoneSpace; // 0xab8 + Vector m_attachmentPointBoneSpace; // 0xab8 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointRagdollSpace; // 0xac4 - Vector m_vecOffset; // 0xad0 - float m_parentTime; // 0xadc - bool m_bHasParent; // 0xae0 + Vector m_attachmentPointRagdollSpace; // 0xac4 + Vector m_vecOffset; // 0xad0 + float m_parentTime; // 0xadc + bool m_bHasParent; // 0xae0 }; -// Aligment: 7 -// Size: 3176 -class C_BaseCombatCharacter : public C_BaseFlex, C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0xc68 +class C_BaseCombatCharacter : public C_BaseFlex { public: - int32_t m_bloodColor; // 0xbf0 - AttachmentHandle_t m_leftFootAttachment; // 0xbf4 - AttachmentHandle_t m_rightFootAttachment; // 0xbf5 - C_BaseCombatCharacter::WaterWakeMode_t m_nWaterWakeMode; // 0xbf8 - float m_flWaterWorldZ; // 0xbfc - float m_flWaterNextTraceTime; // 0xc00 + int32_t m_bloodColor; // 0xbf0 + AttachmentHandle_t m_leftFootAttachment; // 0xbf4 + AttachmentHandle_t m_rightFootAttachment; // 0xbf5 +private: + [[maybe_unused]] uint8_t __pad0bf6[0x2]; // 0xbf6 +public: + C_BaseCombatCharacter::WaterWakeMode_t m_nWaterWakeMode; // 0xbf8 + float m_flWaterWorldZ; // 0xbfc + float m_flWaterNextTraceTime; // 0xc00 // MNetworkEnable - float m_flFieldOfView; // 0xc04 + float m_flFieldOfView; // 0xc04 }; -// Aligment: 14 -// Size: 3272 -class C_AI_BaseNPC : public C_BaseCombatCharacter, C_BaseFlex, C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0xcc8 +class C_AI_BaseNPC : public C_BaseCombatCharacter { public: - float m_flTempRagdollTransitionTime; // 0xc68 - CUtlVector< CTransform > m_RagdollTransform; // 0xc70 - CUtlVector< CTransform > m_TransitionTransform; // 0xc88 - float m_flPoweredRagdoll_BlendWeight; // 0xca0 + float m_flTempRagdollTransitionTime; // 0xc68 +private: + [[maybe_unused]] uint8_t __pad0c6c[0x4]; // 0xc6c +public: + CUtlVector< CTransform > m_RagdollTransform; // 0xc70 + CUtlVector< CTransform > m_TransitionTransform; // 0xc88 + float m_flPoweredRagdoll_BlendWeight; // 0xca0 // MNetworkEnable - NPC_STATE m_NPCState; // 0xca4 + NPC_STATE m_NPCState; // 0xca4 // MNetworkEnable - HSequence m_iDeathPose; // 0xca8 + HSequence m_iDeathPose; // 0xca8 // MNetworkEnable - int32_t m_iDeathFrame; // 0xcac + int32_t m_iDeathFrame; // 0xcac // MNetworkEnable - bool m_bIsMoving; // 0xcb0 + bool m_bIsMoving; // 0xcb0 // MNetworkEnable - bool m_bFadeCorpse; // 0xcb1 + bool m_bFadeCorpse; // 0xcb1 // MNetworkEnable - bool m_bImportantRagdoll; // 0xcb2 + bool m_bImportantRagdoll; // 0xcb2 +private: + [[maybe_unused]] uint8_t __pad0cb3[0x1]; // 0xcb3 +public: // MNetworkEnable - CHandle< C_BaseEntity > m_hServerRagdoll; // 0xcb4 + CHandle< C_BaseEntity > m_hServerRagdoll; // 0xcb4 // MNetworkEnable - bool m_bPoweredRagdoll; // 0xcb8 + bool m_bPoweredRagdoll; // 0xcb8 +private: + [[maybe_unused]] uint8_t __pad0cb9[0x3]; // 0xcb9 +public: // MNetworkEnable - RagdollBlendDirection m_iPoweredRagdoll_TransitionDirection; // 0xcbc + RagdollBlendDirection m_iPoweredRagdoll_TransitionDirection; // 0xcbc // MNetworkEnable - float m_flPoweredRagdoll_TransitionStartTime; // 0xcc0 + float m_flPoweredRagdoll_TransitionStartTime; // 0xcc0 }; -// Aligment: 2 -// Size: 3296 -class C_AI_DefaultNPC : public C_AI_BaseNPC, C_BaseCombatCharacter, C_BaseFlex, C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0xce0 +class C_AI_DefaultNPC : public C_AI_BaseNPC { public: // MNetworkEnable - CAI_StanceServices* m_pStanceServices; // 0xcc8 + CAI_StanceServices* m_pStanceServices; // 0xcc8 // MNetworkEnable // MNetworkTypeAlias "CAI_AbilityServices" // MNetworkChangeCallback "AbilityServicesChanged" - CAI_AbilityServices* m_pAbilityServices; // 0xcd0 + CAI_AbilityServices* m_pAbilityServices; // 0xcd0 }; -// Aligment: 0 -// Size: 3296 -class C_AI_BaseActor : public C_AI_DefaultNPC, C_AI_BaseNPC, C_BaseCombatCharacter, C_BaseFlex, C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xce0 +class C_AI_BaseActor : public C_AI_DefaultNPC { public: -// + // no members available }; -// Aligment: 10 -// Size: 3344 -class CBasePlayerController : public C_BaseCombatCharacter, C_BaseFlex, C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 10 +// Size: 0xd10 +class CBasePlayerController : public C_BaseCombatCharacter { public: - int32_t m_nFinalPredictedTick; // 0xc70 - C_CommandContext m_CommandContext; // 0xc78 + int32_t m_nFinalPredictedTick; // 0xc70 +private: + [[maybe_unused]] uint8_t __pad0c74[0x4]; // 0xc74 +public: + C_CommandContext m_CommandContext; // 0xc78 // MNetworkEnable // MNetworkPriority "1" // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nTickBase; // 0xcd0 + uint32_t m_nTickBase; // 0xcd0 // MNetworkEnable // MNetworkChangeCallback "OnPawnChanged" - CHandle< C_BasePlayer > m_hPawn; // 0xcd4 - CSplitScreenSlot m_nSplitScreenSlot; // 0xcd8 - CHandle< CBasePlayerController > m_hSplitOwner; // 0xcdc - CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0xce0 - bool m_bIsHLTV; // 0xcf8 - uint64_t m_steamID; // 0xd00 - bool m_bIsLocalPlayerController; // 0xd08 + CHandle< C_BasePlayer > m_hPawn; // 0xcd4 + CSplitScreenSlot m_nSplitScreenSlot; // 0xcd8 + CHandle< CBasePlayerController > m_hSplitOwner; // 0xcdc + CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0xce0 + bool m_bIsHLTV; // 0xcf8 +private: + [[maybe_unused]] uint8_t __pad0cf9[0x7]; // 0xcf9 +public: + uint64_t m_steamID; // 0xd00 + bool m_bIsLocalPlayerController; // 0xd08 }; -// Aligment: 0 -// Size: 3176 -class C_NetTestBaseCombatCharacter : public C_BaseCombatCharacter, C_BaseFlex, C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xc68 +class C_NetTestBaseCombatCharacter : public C_BaseCombatCharacter { public: -// + // no members available }; -// Aligment: 31 -// Size: 3736 -class C_BasePlayer : public CBasePlayerController, C_BaseCombatCharacter, C_BaseFlex, C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 31 +// Size: 0xe98 +class C_BasePlayer : public CBasePlayerController { public: // MNetworkEnable - CPlayer_WeaponServices* m_pWeaponServices; // 0xd10 + CPlayer_WeaponServices* m_pWeaponServices; // 0xd10 // MNetworkEnable - CPlayer_ItemServices* m_pItemServices; // 0xd18 + CPlayer_ItemServices* m_pItemServices; // 0xd18 // MNetworkEnable - CPlayer_VehicleServices* m_pVehicleServices; // 0xd20 + CPlayer_VehicleServices* m_pVehicleServices; // 0xd20 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CPlayer_AutoaimServices* m_pAutoaimServices; // 0xd28 + CPlayer_AutoaimServices* m_pAutoaimServices; // 0xd28 // MNetworkEnable - CPlayer_ObserverServices* m_pObserverServices; // 0xd30 + CPlayer_ObserverServices* m_pObserverServices; // 0xd30 // MNetworkEnable - CPlayer_WaterServices* m_pWaterServices; // 0xd38 + CPlayer_WaterServices* m_pWaterServices; // 0xd38 // MNetworkEnable - CPlayer_UseServices* m_pUseServices; // 0xd40 + CPlayer_UseServices* m_pUseServices; // 0xd40 // MNetworkEnable - CPlayer_FlashlightServices* m_pFlashlightServices; // 0xd48 + CPlayer_FlashlightServices* m_pFlashlightServices; // 0xd48 // MNetworkEnable - CPlayer_CameraServices* m_pCameraServices; // 0xd50 + CPlayer_CameraServices* m_pCameraServices; // 0xd50 // MNetworkEnable - CPlayer_MovementServices* m_pMovementServices; // 0xd58 - QAngle m_vecOldViewAngles; // 0xd68 - uint64_t m_nButtons; // 0xd78 - uint64_t m_afButtonPressed; // 0xd80 - uint64_t m_afButtonReleased; // 0xd88 - uint64_t m_afButtonLast; // 0xd90 - uint64_t m_afButtonDisabled; // 0xd98 - uint64_t m_afButtonForced; // 0xda0 - uint64_t m_nOldButtons; // 0xdb0 - int32_t m_nImpulse; // 0xdb8 - QAngle v_angle; // 0xdbc + CPlayer_MovementServices* m_pMovementServices; // 0xd58 +private: + [[maybe_unused]] uint8_t __pad0d60[0x8]; // 0xd60 +public: + QAngle m_vecOldViewAngles; // 0xd68 +private: + [[maybe_unused]] uint8_t __pad0d74[0x4]; // 0xd74 +public: + uint64_t m_nButtons; // 0xd78 + uint64_t m_afButtonPressed; // 0xd80 + uint64_t m_afButtonReleased; // 0xd88 + uint64_t m_afButtonLast; // 0xd90 + uint64_t m_afButtonDisabled; // 0xd98 + uint64_t m_afButtonForced; // 0xda0 +private: + [[maybe_unused]] uint8_t __pad0da8[0x8]; // 0xda8 +public: + uint64_t m_nOldButtons; // 0xdb0 + int32_t m_nImpulse; // 0xdb8 + QAngle v_angle; // 0xdbc // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_iHideHUD; // 0xdc8 + uint32_t m_iHideHUD; // 0xdc8 +private: + [[maybe_unused]] uint8_t __pad0dcc[0x4]; // 0xdcc +public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - sky3dparams_t m_skybox3d; // 0xdd0 + sky3dparams_t m_skybox3d; // 0xdd0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flDeathTime; // 0xe60 - bool m_bWasFrozen; // 0xe64 - Vector m_vecPredictionError; // 0xe68 - float m_flPredictionErrorTime; // 0xe74 - float m_flFOVSensitivityAdjust; // 0xe78 - float m_flMouseSensitivity; // 0xe7c - Vector m_vOldOrigin; // 0xe80 - float m_flOldSimulationTime; // 0xe8c - bool deadflag; // 0xe90 + float m_flDeathTime; // 0xe60 + bool m_bWasFrozen; // 0xe64 +private: + [[maybe_unused]] uint8_t __pad0e65[0x3]; // 0xe65 +public: + Vector m_vecPredictionError; // 0xe68 + float m_flPredictionErrorTime; // 0xe74 + float m_flFOVSensitivityAdjust; // 0xe78 + float m_flMouseSensitivity; // 0xe7c + Vector m_vOldOrigin; // 0xe80 + float m_flOldSimulationTime; // 0xe8c + bool deadflag; // 0xe90 }; -// Aligment: 19 -// Size: 3928 -class C_SteamPal_Player : public C_BasePlayer, CBasePlayerController, C_BaseCombatCharacter, C_BaseFlex, C_BaseAnimatingOverlay, C_BaseAnimating, C_BaseModelEntity, C_BaseEntity, CEntityInstance, IHandleEntity +// Alignment: 19 +// Size: 0xf58 +class C_SteamPal_Player : public C_BasePlayer { public: // MNetworkEnable - CUtlString m_strPlayerName; // 0xef0 + CUtlString m_strPlayerName; // 0xef0 // MNetworkEnable - bool m_bViewFrozen; // 0xef8 + bool m_bViewFrozen; // 0xef8 +private: + [[maybe_unused]] uint8_t __pad0ef9[0x3]; // 0xef9 +public: // MNetworkEnable - CHandle< C_BaseEntity > m_hCameraTarget; // 0xefc + CHandle< C_BaseEntity > m_hCameraTarget; // 0xefc // MNetworkEnable - CHandle< C_BaseEntity > m_hCursorHoverEntity; // 0xf00 + CHandle< C_BaseEntity > m_hCursorHoverEntity; // 0xf00 +private: + [[maybe_unused]] uint8_t __pad0f04[0x4]; // 0xf04 +public: // MNetworkEnable // MNetworkChangeCallback "DamageCausedChanged" - uint64_t m_uDamageCaused; // 0xf08 + uint64_t m_uDamageCaused; // 0xf08 // MNetworkEnable - bool m_bMotionBlur; // 0xf10 - int64_t m_hCameraFlashPostProcessingInst; // 0xf18 - CStrongHandle< InfoForResourceTypeCTextureBase > m_hScreenshotTexture; // 0xf20 - CHandle< C_BaseEntity > m_hCurrentScreenTouchEntity; // 0xf28 - Vector m_vCurrentScreenTouchEntityHitPoint; // 0xf2c - Vector m_vCursorScreenPos; // 0xf38 - Vector m_vCursorWorldPos; // 0xf44 - bool m_bIsUserTouchActive; // 0xf50 - bool m_bIsMainMenuShowing; // 0xf51 - bool m_bSteamScreenshotsWasHooked; // 0xf52 - bool m_bInPhotoSection; // 0xf53 - bool m_bScreenshotQueued; // 0xf54 - bool m_bCameraFlashPending; // 0xf55 - bool m_bCameraFlashFadeOut; // 0xf56 + bool m_bMotionBlur; // 0xf10 +private: + [[maybe_unused]] uint8_t __pad0f11[0x7]; // 0xf11 +public: + int64_t m_hCameraFlashPostProcessingInst; // 0xf18 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hScreenshotTexture; // 0xf20 + CHandle< C_BaseEntity > m_hCurrentScreenTouchEntity; // 0xf28 + Vector m_vCurrentScreenTouchEntityHitPoint; // 0xf2c + Vector m_vCursorScreenPos; // 0xf38 + Vector m_vCursorWorldPos; // 0xf44 + bool m_bIsUserTouchActive; // 0xf50 + bool m_bIsMainMenuShowing; // 0xf51 + bool m_bSteamScreenshotsWasHooked; // 0xf52 + bool m_bInPhotoSection; // 0xf53 + bool m_bScreenshotQueued; // 0xf54 + bool m_bCameraFlashPending; // 0xf55 + bool m_bCameraFlashFadeOut; // 0xf56 }; diff --git a/sdk/engine2.hpp b/sdk/engine2.hpp index 42048551..4a4754aa 100644 --- a/sdk/engine2.hpp +++ b/sdk/engine2.hpp @@ -2,14 +2,15 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: engine2.dll -// Class Count: 50 -// Enum Count: 4 -/////////////////////////////////////////// +// Classes count: 50 +// Enums count: 4 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class SpawnDebugOverrideState_t : uint32_t { SPAWN_DEBUG_OVERRIDE_NONE = 0x0, @@ -17,8 +18,8 @@ enum class SpawnDebugOverrideState_t : uint32_t SPAWN_DEBUG_OVERRIDE_FORCE_DISABLED = 0x2, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class SpawnDebugRestrictionOverrideState_t : uint32_t { SPAWN_DEBUG_RESTRICT_NONE = 0x0, @@ -28,8 +29,8 @@ enum class SpawnDebugRestrictionOverrideState_t : uint32_t SPAWN_DEBUG_RESTRICT_IGNORE_TARGET_COOLDOWN_LIMITS = 0x8, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class EntityDormancyType_t : uint32_t { ENTITY_NOT_DORMANT = 0x0, @@ -37,8 +38,8 @@ enum class EntityDormancyType_t : uint32_t ENTITY_SUSPENDED = 0x2, }; -// Aligment: 4 -// Size: 9 +// Alignment: 4 +// Size: 0x9 enum class EntityIOTargetType_t : uint32_t { ENTITY_IO_TARGET_INVALID = 0xffffffffffffffff, @@ -52,481 +53,514 @@ enum class EntityIOTargetType_t : uint32_t ENTITY_IO_TARGET_ENTITYNAME_OR_CLASSNAME = 0x7, }; -// Aligment: 4 -// Size: 40 +struct EngineLoopState_t; +struct ChangeAccessorFieldPathIndex_t; +struct CEntityComponentHelper; +struct EntComponentInfo_t; +struct CEntityIdentity; +struct CScriptComponent; + +// Alignment: 4 +// Size: 0x28 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 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct EventModInitialized_t { public: -// + // no members available }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct EventFrameBoundary_t { public: - float m_flFrameTime; // 0x0 + float m_flFrameTime; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct EventProfileStorageAvailable_t { public: - CSplitScreenSlot m_nSplitScreenSlot; // 0x0 + CSplitScreenSlot m_nSplitScreenSlot; // 0x0 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct EventSplitScreenStateChanged_t { public: -// + // no members available }; -// Aligment: 8 -// Size: 96 +// Alignment: 8 +// Size: 0x60 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 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 struct EventClientPollInput_t { public: - EngineLoopState_t m_LoopState; // 0x0 - float m_flRealTime; // 0x28 - uint32_t m_nVRDisplayID; // 0x2c + EngineLoopState_t m_LoopState; // 0x0 + float m_flRealTime; // 0x28 + uint32_t m_nVRDisplayID; // 0x2c }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 struct EventClientProcessInput_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 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 5 -// Size: 72 +// Alignment: 5 +// Size: 0x48 struct EventClientPreOutput_t { public: - EngineLoopState_t m_LoopState; // 0x0 - double m_flRenderTime; // 0x28 - double m_flRenderFrameTime; // 0x30 - double m_flRenderFrameTimeUnbounded; // 0x38 - bool m_bRenderOnly; // 0x40 + EngineLoopState_t m_LoopState; // 0x0 + double m_flRenderTime; // 0x28 + double m_flRenderFrameTime; // 0x30 + double m_flRenderFrameTimeUnbounded; // 0x38 + bool m_bRenderOnly; // 0x40 }; -// Aligment: 1 -// Size: 1 +// Alignment: 1 +// Size: 0x1 struct EventClientSceneSystemThreadStateChange_t { public: - bool m_bThreadsActive; // 0x0 + bool m_bThreadsActive; // 0x0 }; -// Aligment: 5 -// Size: 56 +// Alignment: 5 +// Size: 0x38 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 }; -// Aligment: 5 -// Size: 64 +// Alignment: 5 +// Size: 0x40 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 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 4 -// Size: 64 +// 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 }; -// Aligment: 4 -// Size: 64 +// 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 }; -// Aligment: 0 -// Size: 64 -struct EventServerAdvanceTick_t : public EventAdvanceTick_t, EventSimulate_t +// Alignment: 0 +// Size: 0x40 +struct EventServerAdvanceTick_t : public EventAdvanceTick_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 64 -struct EventServerPostAdvanceTick_t : public EventPostAdvanceTick_t, EventSimulate_t +// Alignment: 0 +// Size: 0x40 +struct EventServerPostAdvanceTick_t : public EventPostAdvanceTick_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 64 -struct EventClientAdvanceTick_t : public EventAdvanceTick_t, EventSimulate_t +// Alignment: 0 +// Size: 0x40 +struct EventClientAdvanceTick_t : public EventAdvanceTick_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 64 -struct EventClientPostAdvanceTick_t : public EventPostAdvanceTick_t, EventSimulate_t +// Alignment: 0 +// Size: 0x40 +struct EventClientPostAdvanceTick_t : public EventPostAdvanceTick_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct EventClientSendInput_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct EventClientPredictionPostNetupdate_t { public: -// + // no members available }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct EventClientPollNetworking_t { public: - int32_t m_nTickCount; // 0x0 + int32_t m_nTickCount; // 0x0 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct EventClientProcessNetworking_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventClientPreSimulate_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventClientSimulate_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventServerPollNetworking_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventServerProcessNetworking_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventServerSimulate_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventServerPostSimulate_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventClientPostSimulate_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EventClientPauseSimulate_t : public EventSimulate_t { public: -// + // no members available }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct EventPostDataUpdate_t { public: - int32_t m_nCount; // 0x0 + int32_t m_nCount; // 0x0 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct EventPreDataUpdate_t { public: - int32_t m_nCount; // 0x0 + int32_t m_nCount; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct EventAppShutdown_t { public: - int32_t m_nDummy0; // 0x0 + int32_t m_nDummy0; // 0x0 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IHandleEntity { public: -// + // no members available }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CNetworkVarChainer { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x10 + ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x10 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class CVariantDefaultAllocator { public: -// + // no members available }; -// Aligment: 0 -// Size: 16 +// Alignment: 0 +// Size: 0x10 struct EntOutput_t { public: -// + // no members available }; -// Aligment: 8 -// Size: 120 +// Alignment: 8 +// Size: 0x78 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 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class CEntityComponent { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 struct EntInput_t { public: -// + // no members available }; -// Aligment: 4 -// Size: 40 +// Alignment: 4 +// Size: 0x28 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 }; -// Aligment: 11 -// Size: 120 +// Alignment: 11 +// Size: 0x78 class CEntityIdentity { public: // MNetworkEnable // MNetworkChangeCallback "entityIdentityNameChanged" - int32_t m_nameStringableIndex; // 0x14 - CUtlSymbolLarge m_name; // 0x18 - CUtlSymbolLarge m_designerName; // 0x20 - uint32_t m_flags; // 0x30 - uint32_t m_fDataObjectTypes; // 0x38 + 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: + uint32_t m_fDataObjectTypes; // 0x38 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x3c - CEntityIdentity* m_pPrev; // 0x50 - CEntityIdentity* m_pNext; // 0x58 - CEntityIdentity* m_pPrevByClass; // 0x60 - CEntityIdentity* m_pNextByClass; // 0x68 - V_uuid_t* m_pId; // 0x70 + ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x3c +private: + [[maybe_unused]] uint8_t __pad003e[0x12]; // 0x3e +public: + CEntityIdentity* m_pPrev; // 0x50 + CEntityIdentity* m_pNext; // 0x58 + CEntityIdentity* m_pPrevByClass; // 0x60 + CEntityIdentity* m_pNextByClass; // 0x68 + V_uuid_t* m_pId; // 0x70 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class CEmptyEntityInstance { public: -// + // no members available }; -// Aligment: 4 -// Size: 56 +// Alignment: 4 +// Size: 0x38 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[0x8]; // 0x18 +public: // MNetworkDisable - CUtlStringToken m_worldGroupId; // 0x20 + CUtlStringToken m_worldGroupId; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0xc]; // 0x24 +public: // MNetworkEnable // MNetworkDisable - CScriptComponent* m_CScriptComponent; // 0x30 + CScriptComponent* m_CScriptComponent; // 0x30 }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CEntityIOOutput { public: - CVariantBase< CVariantDefaultAllocator > m_Value; // 0x18 + CVariantBase< CVariantDefaultAllocator > m_Value; // 0x18 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CScriptComponent : public CEntityComponent { public: - CUtlSymbolLarge m_scriptClassName; // 0x30 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("engine2.dll")->FindDeclaredClass("CScriptComponent")->m_static_fiels[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_fiels[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 a460cd27..719b343b 100644 --- a/sdk/materialsystem2.hpp +++ b/sdk/materialsystem2.hpp @@ -2,14 +2,15 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: materialsystem2.dll -// Class Count: 13 -// Enum Count: 5 -/////////////////////////////////////////// +// Classes count: 13 +// Enums count: 5 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class HorizJustification_e : uint32_t { HORIZ_JUSTIFICATION_LEFT = 0x0, @@ -18,8 +19,8 @@ enum class HorizJustification_e : uint32_t HORIZ_JUSTIFICATION_NONE = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class VertJustification_e : uint32_t { VERT_JUSTIFICATION_TOP = 0x0, @@ -28,8 +29,8 @@ enum class VertJustification_e : uint32_t VERT_JUSTIFICATION_NONE = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class LayoutPositionType_e : uint32_t { LAYOUTPOSITIONTYPE_VIEWPORT_RELATIVE = 0x0, @@ -37,8 +38,8 @@ enum class LayoutPositionType_e : uint32_t LAYOUTPOSITIONTYPE_NONE = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class BloomBlendMode_t : uint32_t { BLOOM_BLEND_ADD = 0x0, @@ -46,8 +47,8 @@ enum class BloomBlendMode_t : uint32_t BLOOM_BLEND_BLUR = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ViewFadeMode_t : uint32_t { VIEW_FADE_CONSTANT_COLOR = 0x0, @@ -55,155 +56,172 @@ enum class ViewFadeMode_t : uint32_t VIEW_FADE_MOD2X = 0x2, }; -// Aligment: 1 -// Size: 8 +struct PostProcessingTonemapParameters_t; +struct PostProcessingBloomParameters_t; +struct PostProcessingVignetteParameters_t; +struct PostProcessingLocalContrastParameters_t; + +// Alignment: 1 +// Size: 0x8 struct MaterialParam_t { public: - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct MaterialParamInt_t : public MaterialParam_t { public: - int32_t m_nValue; // 0x8 + int32_t m_nValue; // 0x8 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct MaterialParamFloat_t : public MaterialParam_t { public: - float m_flValue; // 0x8 + float m_flValue; // 0x8 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 struct MaterialParamVector_t : public MaterialParam_t { public: - Vector4D m_value; // 0x8 + Vector4D m_value; // 0x8 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct MaterialParamTexture_t : public MaterialParam_t { public: - CStrongHandle< InfoForResourceTypeCTextureBase > m_pValue; // 0x8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pValue; // 0x8 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct MaterialParamString_t : public MaterialParam_t { public: - CUtlString m_value; // 0x8 + CUtlString m_value; // 0x8 }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 struct MaterialParamBuffer_t : public MaterialParam_t { public: - CUtlBinaryBlock m_value; // 0x8 + CUtlBinaryBlock m_value; // 0x8 }; -// Aligment: 14 -// Size: 304 +// Alignment: 14 +// Size: 0x130 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 }; -// Aligment: 8 -// Size: 32 +// Alignment: 8 +// Size: 0x20 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_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 }; -// Aligment: 10 -// Size: 112 +// Alignment: 10 +// Size: 0x70 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 }; -// Aligment: 6 -// Size: 36 +// Alignment: 6 +// Size: 0x24 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 }; -// Aligment: 5 -// Size: 20 +// Alignment: 5 +// Size: 0x14 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 }; -// Aligment: 11 -// Size: 256 +// Alignment: 11 +// Size: 0x100 struct PostProcessingResource_t { public: - bool m_bHasTonemapParams; // 0x0 - PostProcessingTonemapParameters_t m_toneMapParams; // 0x4 - bool m_bHasBloomParams; // 0x24 - PostProcessingBloomParameters_t m_bloomParams; // 0x28 - bool m_bHasVignetteParams; // 0x98 - PostProcessingVignetteParameters_t m_vignetteParams; // 0x9c - bool m_bHasLocalContrastParams; // 0xc0 - PostProcessingLocalContrastParameters_t m_localConstrastParams; // 0xc4 - int32_t m_nColorCorrectionVolumeDim; // 0xd8 - CUtlBinaryBlock m_colorCorrectionVolumeData; // 0xe0 - bool m_bHasColorCorrection; // 0xf8 + bool m_bHasTonemapParams; // 0x0 + PostProcessingTonemapParameters_t m_toneMapParams; // 0x4 + bool m_bHasBloomParams; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0025[0x3]; // 0x25 +public: + PostProcessingBloomParameters_t m_bloomParams; // 0x28 + bool m_bHasVignetteParams; // 0x98 +private: + [[maybe_unused]] uint8_t __pad0099[0x3]; // 0x99 +public: + PostProcessingVignetteParameters_t m_vignetteParams; // 0x9c + bool m_bHasLocalContrastParams; // 0xc0 +private: + [[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1 +public: + PostProcessingLocalContrastParameters_t m_localConstrastParams; // 0xc4 + int32_t m_nColorCorrectionVolumeDim; // 0xd8 +private: + [[maybe_unused]] uint8_t __pad00dc[0x4]; // 0xdc +public: + CUtlBinaryBlock m_colorCorrectionVolumeData; // 0xe0 + bool m_bHasColorCorrection; // 0xf8 }; diff --git a/sdk/meshsystem.hpp b/sdk/meshsystem.hpp index ba7d5df7..a4622895 100644 --- a/sdk/meshsystem.hpp +++ b/sdk/meshsystem.hpp @@ -2,9 +2,10 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: meshsystem.dll -// Class Count: 0 -// Enum Count: 0 -/////////////////////////////////////////// +// Classes count: 0 +// Enums count: 0 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// diff --git a/sdk/networksystem.hpp b/sdk/networksystem.hpp index 5dbd4f7b..7faacbd8 100644 --- a/sdk/networksystem.hpp +++ b/sdk/networksystem.hpp @@ -2,17 +2,18 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: networksystem.dll -// Class Count: 1 -// Enum Count: 0 -/////////////////////////////////////////// +// Classes count: 1 +// Enums count: 0 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 1 -// Size: 2 +// Alignment: 1 +// Size: 0x2 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 c4d0159f..0a1eafb1 100644 --- a/sdk/panorama.hpp +++ b/sdk/panorama.hpp @@ -2,14 +2,15 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: panorama.dll -// Class Count: 0 -// Enum Count: 2 -/////////////////////////////////////////// +// Classes count: 0 +// Enums count: 2 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 13 +// Alignment: 4 +// Size: 0xd enum class ELayoutNodeType : uint32_t { ROOT = 0x0, @@ -27,8 +28,8 @@ enum class ELayoutNodeType : uint32_t REFERENCE_PASSTHROUGH = 0xc, }; -// Aligment: 4 -// Size: 14 +// Alignment: 4 +// Size: 0xe enum class EStyleNodeType : uint32_t { ROOT = 0x0, diff --git a/sdk/particles.hpp b/sdk/particles.hpp index 190e9daf..08478790 100644 --- a/sdk/particles.hpp +++ b/sdk/particles.hpp @@ -2,14 +2,15 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: particles.dll -// Class Count: 403 -// Enum Count: 61 -/////////////////////////////////////////// +// Classes count: 403 +// Enums count: 61 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ParticleControlPointAxis_t : uint32_t { PARTICLE_CP_AXIS_X = 0x0, @@ -20,8 +21,8 @@ enum class ParticleControlPointAxis_t : uint32_t PARTICLE_CP_AXIS_NEGATIVE_Z = 0x5, }; -// Aligment: 4 -// Size: 18 +// Alignment: 4 +// Size: 0x12 enum class ParticleAttachment_t : uint32_t { PATTACH_INVALID = 0xffffffffffffffff, @@ -44,8 +45,8 @@ enum class ParticleAttachment_t : uint32_t MAX_PATTACH_TYPES = 0x10, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ParticleImpulseType_t : uint32_t { IMPULSE_TYPE_NONE = 0x0, @@ -56,8 +57,8 @@ enum class ParticleImpulseType_t : uint32_t IMPULSE_TYPE_PARTICLE_SYSTEM = 0x10, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleFalloffFunction_t : uint32_t { PARTICLE_FALLOFF_CONSTANT = 0x0, @@ -65,8 +66,8 @@ enum class ParticleFalloffFunction_t : uint32_t PARTICLE_FALLOFF_EXPONENTIAL = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class AnimationType_t : uint32_t { ANIMATION_TYPE_FIXED_RATE = 0x0, @@ -74,8 +75,8 @@ enum class AnimationType_t : uint32_t ANIMATION_TYPE_MANUAL_FRAMES = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ClosestPointTestType_t : uint32_t { PARTICLE_CLOSEST_TYPE_BOX = 0x0, @@ -83,16 +84,16 @@ enum class ClosestPointTestType_t : uint32_t PARTICLE_CLOSEST_TYPE_HYBRID = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ParticleHitboxBiasType_t : uint32_t { PARTICLE_HITBOX_BIAS_ENTITY = 0x0, PARTICLE_HITBOX_BIAS_HITBOX = 0x1, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class PFuncVisualizationType_t : uint32_t { PFUNC_VISUALIZATION_SPHERE_WIREFRAME = 0x0, @@ -104,8 +105,8 @@ enum class PFuncVisualizationType_t : uint32_t PFUNC_VISUALIZATION_CYLINDER = 0x6, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class PetGroundType_t : uint32_t { PET_GROUND_NONE = 0x0, @@ -113,16 +114,16 @@ enum class PetGroundType_t : uint32_t PET_GROUND_PLANE = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class SpriteCardShaderType_t : uint32_t { SPRITECARD_SHADER_BASE = 0x0, SPRITECARD_SHADER_CUSTOM = 0x1, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ParticleTopology_t : uint32_t { PARTICLE_TOPOLOGY_POINTS = 0x0, @@ -132,8 +133,8 @@ enum class ParticleTopology_t : uint32_t PARTICLE_TOPOLOGY_CUBES = 0x4, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ParticleDetailLevel_t : uint32_t { PARTICLEDETAIL_LOW = 0x0, @@ -142,8 +143,8 @@ enum class ParticleDetailLevel_t : uint32_t PARTICLEDETAIL_ULTRA = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleTraceSet_t : uint32_t { PARTICLE_TRACE_SET_ALL = 0x0, @@ -151,8 +152,8 @@ enum class ParticleTraceSet_t : uint32_t PARTICLE_TRACE_SET_DYNAMIC = 0x2, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ParticleCollisionMode_t : uint32_t { COLLISION_MODE_PER_PARTICLE_TRACE = 0x3, @@ -162,8 +163,8 @@ enum class ParticleCollisionMode_t : uint32_t COLLISION_MODE_DISABLED = 0xffffffffffffffff, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ParticleColorBlendMode_t : uint32_t { PARTICLEBLEND_DEFAULT = 0x0, @@ -173,8 +174,8 @@ enum class ParticleColorBlendMode_t : uint32_t PARTICLEBLEND_MULTIPLY = 0x4, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class Detail2Combo_t : uint32_t { DETAIL_2_COMBO_UNINITIALIZED = 0xffffffffffffffff, @@ -186,8 +187,8 @@ enum class Detail2Combo_t : uint32_t DETAIL_2_COMBO_CROSSFADE = 0x5, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class DetailCombo_t : uint32_t { DETAIL_COMBO_OFF = 0x0, @@ -196,8 +197,8 @@ enum class DetailCombo_t : uint32_t DETAIL_COMBO_MOD2X = 0x3, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class ScalarExpressionType_t : uint32_t { SCALAR_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff, @@ -210,8 +211,8 @@ enum class ScalarExpressionType_t : uint32_t SCALAR_EXPRESSION_MAX = 0x6, }; -// Aligment: 4 -// Size: 9 +// Alignment: 4 +// Size: 0x9 enum class VectorExpressionType_t : uint32_t { VECTOR_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff, @@ -225,8 +226,8 @@ enum class VectorExpressionType_t : uint32_t VECTOR_EXPRESSION_NORMALIZE_INPUT_1 = 0x7, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class MissingParentInheritBehavior_t : uint32_t { MISSING_PARENT_DO_NOTHING = 0xffffffffffffffff, @@ -234,16 +235,16 @@ enum class MissingParentInheritBehavior_t : uint32_t MISSING_PARENT_FIND_NEW = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class HitboxLerpType_t : uint32_t { HITBOX_LERP_LIFETIME = 0x0, HITBOX_LERP_CONSTANT = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleSelection_t : uint32_t { PARTICLE_SELECTION_FIRST = 0x0, @@ -251,8 +252,8 @@ enum class ParticleSelection_t : uint32_t PARTICLE_SELECTION_NUMBER = 0x2, }; -// Aligment: 4 -// Size: 11 +// Alignment: 4 +// Size: 0xb enum class ParticlePinDistance_t : uint32_t { PARTICLE_PIN_DISTANCE_NONE = 0xffffffffffffffff, @@ -268,8 +269,8 @@ enum class ParticlePinDistance_t : uint32_t PARTICLE_PIN_COLLECTION_AGE = 0xa, }; -// Aligment: 4 -// Size: 13 +// Alignment: 4 +// Size: 0xd enum class ParticleColorBlendType_t : uint32_t { PARTICLE_COLOR_BLEND_MULTIPLY = 0x0, @@ -287,8 +288,8 @@ enum class ParticleColorBlendType_t : uint32_t PARTICLE_COLOR_BLEND_LUMINANCE = 0xc, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ParticleSetMethod_t : uint32_t { PARTICLE_SET_REPLACE_VALUE = 0x0, @@ -299,8 +300,8 @@ enum class ParticleSetMethod_t : uint32_t PARTICLE_SET_ADD_TO_CURRENT_VALUE = 0x5, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleDirectionNoiseType_t : uint32_t { PARTICLE_DIR_NOISE_PERLIN = 0x0, @@ -308,8 +309,8 @@ enum class ParticleDirectionNoiseType_t : uint32_t PARTICLE_DIR_NOISE_WORLEY_BASIC = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleRotationLockType_t : uint32_t { PARTICLE_ROTATION_LOCK_NONE = 0x0, @@ -317,8 +318,8 @@ enum class ParticleRotationLockType_t : uint32_t PARTICLE_ROTATION_LOCK_NORMAL = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleEndcapMode_t : uint32_t { PARTICLE_ENDCAP_ALWAYS_ON = 0xffffffffffffffff, @@ -326,24 +327,24 @@ enum class ParticleEndcapMode_t : uint32_t PARTICLE_ENDCAP_ENDCAP_ON = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ParticleLightingQuality_t : uint32_t { PARTICLE_LIGHTING_PER_VERTEX = 0x0, PARTICLE_LIGHTING_PER_PIXEL = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class StandardLightingAttenuationStyle_t : uint32_t { LIGHT_STYLE_OLD = 0x0, LIGHT_STYLE_NEW = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleTraceMissBehavior_t : uint32_t { PARTICLE_TRACE_MISS_BEHAVIOR_NONE = 0x0, @@ -351,24 +352,24 @@ enum class ParticleTraceMissBehavior_t : uint32_t PARTICLE_TRACE_MISS_BEHAVIOR_TRACE_END = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ParticleOrientationSetMode_t : uint32_t { PARTICLE_ORIENTATION_SET_FROM_VELOCITY = 0x0, PARTICLE_ORIENTATION_SET_FROM_ROTATIONS = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ParticleLightnintBranchBehavior_t : uint32_t { PARTICLE_LIGHTNING_BRANCH_CURRENT_DIR = 0x0, PARTICLE_LIGHTNING_BRANCH_ENDPOINT_DIR = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleLightFogLightingMode_t : uint32_t { PARTICLE_LIGHT_FOG_LIGHTING_MODE_NONE = 0x0, @@ -376,8 +377,8 @@ enum class ParticleLightFogLightingMode_t : uint32_t PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC_NOSHADOWS = 0x4, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleSequenceCropOverride_t : uint32_t { PARTICLE_SEQUENCE_CROP_OVERRIDE_DEFAULT = 0xffffffffffffffff, @@ -385,16 +386,16 @@ enum class ParticleSequenceCropOverride_t : uint32_t PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_ON = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class MaterialProxyType_t : uint32_t { MATERIAL_PROXY_STATUS_EFFECT = 0x0, MATERIAL_PROXY_TINT = 0x1, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ParticleOrientationChoiceList_t : uint32_t { PARTICLE_ORIENTATION_SCREEN_ALIGNED = 0x0, @@ -405,8 +406,8 @@ enum class ParticleOrientationChoiceList_t : uint32_t PARTICLE_ORIENTATION_FULL_3AXIS_ROTATION = 0x5, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class ParticleOutputBlendMode_t : uint32_t { PARTICLE_OUTPUT_BLEND_MODE_ALPHA = 0x0, @@ -418,8 +419,8 @@ enum class ParticleOutputBlendMode_t : uint32_t PARTICLE_OUTPUT_BLEND_MODE_LIGHTEN = 0x6, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ParticleAlphaReferenceType_t : uint32_t { PARTICLE_ALPHA_REFERENCE_ALPHA_ALPHA = 0x0, @@ -428,16 +429,16 @@ enum class ParticleAlphaReferenceType_t : uint32_t PARTICLE_ALPHA_REFERENCE_OPAQUE_OPAQUE = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class BlurFilterType_t : uint32_t { BLURFILTER_GAUSSIAN = 0x0, BLURFILTER_BOX = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ParticleLightTypeChoiceList_t : uint32_t { PARTICLE_LIGHT_TYPE_POINT = 0x0, @@ -446,8 +447,8 @@ enum class ParticleLightTypeChoiceList_t : uint32_t PARTICLE_LIGHT_TYPE_CAPSULE = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleLightBehaviorChoiceList_t : uint32_t { PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION = 0x0, @@ -455,8 +456,8 @@ enum class ParticleLightBehaviorChoiceList_t : uint32_t PARTICLE_LIGHT_BEHAVIOR_TRAILS = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleDepthFeatheringMode_t : uint32_t { PARTICLE_DEPTH_FEATHERING_OFF = 0x0, @@ -464,8 +465,8 @@ enum class ParticleDepthFeatheringMode_t : uint32_t PARTICLE_DEPTH_FEATHERING_ON_REQUIRED = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ParticleVRHandChoiceList_t : uint32_t { PARTICLE_VRHAND_LEFT = 0x0, @@ -474,16 +475,16 @@ enum class ParticleVRHandChoiceList_t : uint32_t PARTICLE_VRHAND_CP_OBJECT = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ParticleSortingChoiceList_t : uint32_t { PARTICLE_SORTING_NEAREST = 0x0, PARTICLE_SORTING_CREATION_TIME = 0x1, }; -// Aligment: 4 -// Size: 10 +// Alignment: 4 +// Size: 0xa enum class SpriteCardTextureType_t : uint32_t { SPRITECARD_TEXTURE_DIFFUSE = 0x0, @@ -498,8 +499,8 @@ enum class SpriteCardTextureType_t : uint32_t SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_C = 0x9, }; -// Aligment: 4 -// Size: 15 +// Alignment: 4 +// Size: 0xf enum class SpriteCardTextureChannel_t : uint32_t { SPRITECARD_TEXTURE_CHANNEL_MIX_RGB = 0x0, @@ -519,8 +520,8 @@ enum class SpriteCardTextureChannel_t : uint32_t SPRITECARD_TEXTURE_CHANNEL_MIX_BALPHA = 0xe, }; -// Aligment: 4 -// Size: 14 +// Alignment: 4 +// Size: 0xe enum class SpriteCardPerParticleScale_t : uint32_t { SPRITECARD_TEXTURE_PP_SCALE_NONE = 0x0, @@ -539,8 +540,8 @@ enum class SpriteCardPerParticleScale_t : uint32_t SPRITECARD_TEXTURE_PP_SCALE_NEG_RANDOM_TIME = 0xd, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class ParticleTextureLayerBlendType_t : uint32_t { SPRITECARD_TEXTURE_BLEND_MULTIPLY = 0x0, @@ -552,8 +553,8 @@ enum class ParticleTextureLayerBlendType_t : uint32_t SPRITECARD_TEXTURE_BLEND_LUMINANCE = 0x6, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ParticlePostProcessPriorityGroup_t : uint32_t { PARTICLE_POST_PROCESS_PRIORITY_LEVEL_VOLUME = 0x0, @@ -564,8 +565,8 @@ enum class ParticlePostProcessPriorityGroup_t : uint32_t PARTICLE_POST_PROCESS_PRIORITY_GLOBAL_UI = 0x5, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ParticleFogType_t : uint32_t { PARTICLE_FOG_GAME_DEFAULT = 0x0, @@ -573,16 +574,16 @@ enum class ParticleFogType_t : uint32_t PARTICLE_FOG_DISABLED = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class TextureRepetitionMode_t : uint32_t { TEXTURE_REPETITION_PARTICLE = 0x0, TEXTURE_REPETITION_PATH = 0x1, }; -// Aligment: 4 -// Size: 18 +// Alignment: 4 +// Size: 0x12 enum class ParticleFloatType_t : uint32_t { PF_TYPE_INVALID = 0xffffffffffffffff, @@ -605,8 +606,8 @@ enum class ParticleFloatType_t : uint32_t PF_TYPE_COUNT = 0x10, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ParticleFloatBiasType_t : uint32_t { PF_BIAS_TYPE_INVALID = 0xffffffffffffffff, @@ -616,8 +617,8 @@ enum class ParticleFloatBiasType_t : uint32_t PF_BIAS_TYPE_COUNT = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class PFNoiseType_t : uint32_t { PF_NOISE_TYPE_PERLIN = 0x0, @@ -626,8 +627,8 @@ enum class PFNoiseType_t : uint32_t PF_NOISE_TYPE_CURL = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class PFNoiseModifier_t : uint32_t { PF_NOISE_MODIFIER_NONE = 0x0, @@ -636,8 +637,8 @@ enum class PFNoiseModifier_t : uint32_t PF_NOISE_MODIFIER_RINGS = 0x3, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class PFNoiseTurbulence_t : uint32_t { PF_NOISE_TURB_NONE = 0x0, @@ -648,8 +649,8 @@ enum class PFNoiseTurbulence_t : uint32_t PF_NOISE_TURB_ALTERNATE = 0x5, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ParticleFloatRandomMode_t : uint32_t { PF_RANDOM_MODE_INVALID = 0xffffffffffffffff, @@ -658,8 +659,8 @@ enum class ParticleFloatRandomMode_t : uint32_t PF_RANDOM_MODE_COUNT = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ParticleFloatInputMode_t : uint32_t { PF_INPUT_MODE_INVALID = 0xffffffffffffffff, @@ -668,8 +669,8 @@ enum class ParticleFloatInputMode_t : uint32_t PF_INPUT_MODE_COUNT = 0x2, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class ParticleFloatMapType_t : uint32_t { PF_MAP_TYPE_INVALID = 0xffffffffffffffff, @@ -681,8 +682,8 @@ enum class ParticleFloatMapType_t : uint32_t PF_MAP_TYPE_COUNT = 0x5, }; -// Aligment: 4 -// Size: 12 +// Alignment: 4 +// Size: 0xc enum class ParticleVecType_t : uint32_t { PVEC_TYPE_INVALID = 0xffffffffffffffff, @@ -699,442 +700,504 @@ enum class ParticleVecType_t : uint32_t PVEC_TYPE_COUNT = 0xa, }; -// Aligment: 3 -// Size: 16 +struct ParticleAttributeIndex_t; +struct ParticlePreviewState_t; +struct CParticleCollectionFloatInput; +struct CParticleVisibilityInputs; +struct TextureControls_t; +struct CParticleCollectionVecInput; +struct CPiecewiseCurveSchemaWrapper; +struct CParticleFloatInput; +struct CNewParticleEffect; +struct IParticleCollection; +struct PARTICLE_EHANDLE__; +struct CParticleProperty; +struct CPerParticleFloatInput; +struct CPathParameters; +struct CPerParticleVecInput; +struct ControlPointReference_t; + +// Alignment: 3 +// Size: 0x10 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct ParticleAttributeIndex_t { public: - int32_t m_nBoxedTypeSafeInt; // 0x0 + int32_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct ParticlePreviewBodyGroup_t { public: - CUtlString m_bodyGroupName; // 0x0 - int32_t m_nValue; // 0x8 + CUtlString m_bodyGroupName; // 0x0 + int32_t m_nValue; // 0x8 }; -// Aligment: 15 -// Size: 88 +// Alignment: 15 +// Size: 0x58 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 }; -// Aligment: 6 -// Size: 48 +// 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 + 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 }; -// Aligment: 3 -// Size: 120 +// Alignment: 3 +// Size: 0x78 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 }; -// Aligment: 0 -// Size: 16 +// Alignment: 0 +// Size: 0x10 class IParticleCollection { public: -// + // no members available }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IControlPointEditorData { public: -// + // no members available }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IParticleSystemDefinition { public: -// + // no members available }; -// Aligment: 18 -// Size: 68 +// Alignment: 18 +// Size: 0x44 class CParticleVisibilityInputs { public: // MPropertyFriendlyName "visibility camera depth bias" // MParticleAdvancedField - float m_flCameraBias; // 0x0 + float m_flCameraBias; // 0x0 // MPropertyFriendlyName "visibility input minimum" // MParticleAdvancedField - float m_flInputMin; // 0x4 + float m_flInputMin; // 0x4 // MPropertyFriendlyName "visibility input maximum" // MParticleAdvancedField - float m_flInputMax; // 0x8 + float m_flInputMax; // 0x8 // MPropertyFriendlyName "visibility alpha scale minimum" // MParticleAdvancedField - float m_flAlphaScaleMin; // 0xc + float m_flAlphaScaleMin; // 0xc // MPropertyFriendlyName "visibility alpha scale maximum" // MParticleAdvancedField - float m_flAlphaScaleMax; // 0x10 + float m_flAlphaScaleMax; // 0x10 // MPropertyFriendlyName "visibility radius scale minimum" // MParticleAdvancedField - float m_flRadiusScaleMin; // 0x14 + float m_flRadiusScaleMin; // 0x14 // MPropertyFriendlyName "visibility radius scale maximum" // MParticleAdvancedField - float m_flRadiusScaleMax; // 0x18 + float m_flRadiusScaleMax; // 0x18 // MPropertyFriendlyName "visibility radius FOV scale base" // MParticleAdvancedField - float m_flRadiusScaleFOVBase; // 0x1c + float m_flRadiusScaleFOVBase; // 0x1c // MPropertyFriendlyName "visibility proxy radius" // MParticleAdvancedField - float m_flProxyRadius; // 0x20 + float m_flProxyRadius; // 0x20 // MPropertyFriendlyName "visibility input distance minimum" // MParticleAdvancedField - float m_flDistanceInputMin; // 0x24 + float m_flDistanceInputMin; // 0x24 // MPropertyFriendlyName "visibility input distance maximum" // MParticleAdvancedField - float m_flDistanceInputMax; // 0x28 + float m_flDistanceInputMax; // 0x28 // MPropertyFriendlyName "visibility input dot minimum" // MParticleAdvancedField - float m_flDotInputMin; // 0x2c + float m_flDotInputMin; // 0x2c // MPropertyFriendlyName "visibility input dot maximum" // MParticleAdvancedField - float m_flDotInputMax; // 0x30 + float m_flDotInputMax; // 0x30 // MPropertyFriendlyName "Visibility input dot use CP angles" // MParticleAdvancedField - bool m_bDotCPAngles; // 0x34 + bool m_bDotCPAngles; // 0x34 // MPropertyFriendlyName "Visibility input dot use Camera angles" // MParticleAdvancedField - bool m_bDotCameraAngles; // 0x35 + bool m_bDotCameraAngles; // 0x35 +private: + [[maybe_unused]] uint8_t __pad0036[0x2]; // 0x36 +public: // MPropertyFriendlyName "visibility unsupported hardware fallback value" // MParticleAdvancedField - float m_flNoPixelVisibilityFallback; // 0x38 + float m_flNoPixelVisibilityFallback; // 0x38 // MPropertyFriendlyName "visibility proxy input control point number" // MParticleAdvancedField - int32_t m_nCPin; // 0x3c + int32_t m_nCPin; // 0x3c // MPropertyFriendlyName "visibility vr camera right eye" // MParticleAdvancedField - bool m_bRightEye; // 0x40 + bool m_bRightEye; // 0x40 }; -// Aligment: 8 -// Size: 64 +// Alignment: 8 +// Size: 0x40 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 }; -// Aligment: 5 -// Size: 32 +// Alignment: 5 +// Size: 0x20 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 +private: + [[maybe_unused]] uint8_t __pad000c[0x2]; // 0xc +public: // MPropertyFriendlyName "end cap effect" - bool m_bEndCap; // 0xe + bool m_bEndCap; // 0xe // MPropertySuppressField - bool m_bDisableChild; // 0xf + bool m_bDisableChild; // 0xf // MPropertyFriendlyName "disable at detail levels below" - ParticleDetailLevel_t m_nDetailLevel; // 0x10 + ParticleDetailLevel_t m_nDetailLevel; // 0x10 }; -// Aligment: 3 -// Size: 20 +// Alignment: 3 +// Size: 0x14 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 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct ModelReference_t { public: // MPropertyFriendlyName "model" // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CStrongHandle< InfoForResourceTypeCModel > m_model; // 0x0 + CStrongHandle< InfoForResourceTypeCModel > m_model; // 0x0 // MPropertyFriendlyName "Relative probability" - float m_flRelativeProbabilityOfSpawn; // 0x8 + float m_flRelativeProbabilityOfSpawn; // 0x8 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct CollisionGroupContext_t { public: - int32_t m_nCollisionGroupNumber; // 0x0 + int32_t m_nCollisionGroupNumber; // 0x0 }; -// Aligment: 3 -// Size: 20 +// Alignment: 3 +// Size: 0x14 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 }; -// Aligment: 1 -// Size: 24 +// 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 }; -// Aligment: 59 -// Size: 848 +// Alignment: 59 +// Size: 0x350 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 // MPropertyFriendlyName "initial particles" - int32_t m_nInitialParticles; // 0x17c + int32_t m_nInitialParticles; // 0x17c // MPropertyFriendlyName "max particles" - int32_t m_nMaxParticles; // 0x180 + int32_t m_nMaxParticles; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x3c]; // 0x184 +public: // MPropertyFriendlyName "bounding box min" // MVectorIsCoordinate - Vector m_BoundingBoxMin; // 0x1c0 + Vector m_BoundingBoxMin; // 0x1c0 // MPropertyFriendlyName "bounding box max" // MVectorIsCoordinate - Vector m_BoundingBoxMax; // 0x1cc + Vector m_BoundingBoxMax; // 0x1cc // MPropertyFriendlyName "snapshot control point" - int32_t m_nSnapshotControlPoint; // 0x1d8 + int32_t m_nSnapshotControlPoint; // 0x1d8 +private: + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc +public: // MPropertyFriendlyName "snapshot" // MPropertyAttributeEditor "AssetBrowse( vsnap )" - CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x1e0 + CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x1e0 // MPropertyFriendlyName "target layer ID for rendering" - CUtlSymbolLarge m_pszTargetLayerID; // 0x1e8 + CUtlSymbolLarge m_pszTargetLayerID; // 0x1e8 +private: + [[maybe_unused]] uint8_t __pad01f0[0x18]; // 0x1f0 +public: // MPropertyFriendlyName "reference replacement definition" // MPropertyAttributeEditor "AssetBrowse( vpcf )" // MParticleAdvancedField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x208 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x208 // MPropertyFriendlyName "cull replacement definition" // MPropertyAttributeEditor "AssetBrowse( vpcf )" // MParticleAdvancedField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x210 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x210 // MPropertyFriendlyName "cull radius" // MParticleAdvancedField - float m_flCullRadius; // 0x218 + float m_flCullRadius; // 0x218 // MPropertyFriendlyName "cull cost" // MParticleAdvancedField - float m_flCullFillCost; // 0x21c + float m_flCullFillCost; // 0x21c // MPropertyFriendlyName "cull control point" // MParticleAdvancedField - int32_t m_nCullControlPoint; // 0x220 + int32_t m_nCullControlPoint; // 0x220 +private: + [[maybe_unused]] uint8_t __pad0224[0xc]; // 0x224 +public: // MPropertyFriendlyName "fallback replacement definition" // MPropertyAttributeEditor "AssetBrowse( vpcf )" // MParticleAdvancedField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x230 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x230 // MPropertyFriendlyName "fallback max count" // MParticleAdvancedField - int32_t m_nFallbackMaxCount; // 0x238 + int32_t m_nFallbackMaxCount; // 0x238 +private: + [[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c +public: // MPropertyFriendlyName "low violence definition" // MPropertyAttributeEditor "AssetBrowse( vpcf )" // MParticleAdvancedField - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x240 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x240 // MPropertyFriendlyName "color" // MPropertyColorPlusAlpha - Color m_ConstantColor; // 0x248 + Color m_ConstantColor; // 0x248 // MPropertyFriendlyName "normal" // MVectorIsCoordinate - Vector m_ConstantNormal; // 0x24c + Vector m_ConstantNormal; // 0x24c // MPropertyFriendlyName "radius" // MPropertyAttributeRange "biased 0 500" - float m_flConstantRadius; // 0x258 + float m_flConstantRadius; // 0x258 // MPropertyFriendlyName "rotation" - float m_flConstantRotation; // 0x25c + float m_flConstantRotation; // 0x25c // MPropertyFriendlyName "rotation speed" - float m_flConstantRotationSpeed; // 0x260 + float m_flConstantRotationSpeed; // 0x260 // MPropertyFriendlyName "lifetime" - float m_flConstantLifespan; // 0x264 + float m_flConstantLifespan; // 0x264 // MPropertyFriendlyName "sequence number" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nConstantSequenceNumber; // 0x268 + int32_t m_nConstantSequenceNumber; // 0x268 // MPropertyFriendlyName "sequence number 1" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nConstantSequenceNumber1; // 0x26c + int32_t m_nConstantSequenceNumber1; // 0x26c // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x270 + int32_t m_nGroupID; // 0x270 // MPropertyFriendlyName "maximum time step" // MParticleAdvancedField - float m_flMaximumTimeStep; // 0x274 + float m_flMaximumTimeStep; // 0x274 // MPropertyFriendlyName "maximum sim tick rate" // MParticleAdvancedField - float m_flMaximumSimTime; // 0x278 + float m_flMaximumSimTime; // 0x278 // MPropertyFriendlyName "minimum sim tick rate" // MParticleAdvancedField - float m_flMinimumSimTime; // 0x27c + float m_flMinimumSimTime; // 0x27c // MPropertyFriendlyName "minimum simulation time step" // MParticleAdvancedField - float m_flMinimumTimeStep; // 0x280 + float m_flMinimumTimeStep; // 0x280 // MPropertyFriendlyName "minimum rendered frames" // MParticleAdvancedField - int32_t m_nMinimumFrames; // 0x284 + int32_t m_nMinimumFrames; // 0x284 // MPropertyFriendlyName "minimum CPU level" // MParticleAdvancedField - int32_t m_nMinCPULevel; // 0x288 + int32_t m_nMinCPULevel; // 0x288 // MPropertyFriendlyName "minimum GPU level" // MParticleAdvancedField - int32_t m_nMinGPULevel; // 0x28c + int32_t m_nMinGPULevel; // 0x28c // MPropertyFriendlyName "view model effect" // MParticleAdvancedField - bool m_bViewModelEffect; // 0x290 + bool m_bViewModelEffect; // 0x290 // MPropertyFriendlyName "screen space effect" // MParticleAdvancedField - bool m_bScreenSpaceEffect; // 0x291 + bool m_bScreenSpaceEffect; // 0x291 +private: + [[maybe_unused]] uint8_t __pad0292[0x16]; // 0x292 +public: // MPropertySuppressField - CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x2a8 + CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x2a8 // MPropertyFriendlyName "time to sleep when not drawn" - float m_flNoDrawTimeToGoToSleep; // 0x2c0 + float m_flNoDrawTimeToGoToSleep; // 0x2c0 // MPropertyFriendlyName "maximum draw distance" - float m_flMaxDrawDistance; // 0x2c4 + float m_flMaxDrawDistance; // 0x2c4 // MPropertyFriendlyName "start fade distance" - float m_flStartFadeDistance; // 0x2c8 + float m_flStartFadeDistance; // 0x2c8 // MPropertyFriendlyName "maximum creation distance" - float m_flMaxCreationDistance; // 0x2cc + float m_flMaxCreationDistance; // 0x2cc // MPropertyFriendlyName "control point to disable rendering if it is the camera" // MParticleAdvancedField - int32_t m_nSkipRenderControlPoint; // 0x2d0 + int32_t m_nSkipRenderControlPoint; // 0x2d0 // MPropertyFriendlyName "control point to only enable rendering if it is the camera" // MParticleAdvancedField - int32_t m_nAllowRenderControlPoint; // 0x2d4 + int32_t m_nAllowRenderControlPoint; // 0x2d4 // MPropertyFriendlyName "minimum free particles to aggregate" // MParticleAdvancedField - int32_t m_nAggregationMinAvailableParticles; // 0x2d8 + int32_t m_nAggregationMinAvailableParticles; // 0x2d8 // MPropertyFriendlyName "aggregation radius" // MParticleAdvancedField - float m_flAggregateRadius; // 0x2dc + float m_flAggregateRadius; // 0x2dc // MPropertyFriendlyName "freeze simulation after time" // MParticleAdvancedField - float m_flStopSimulationAfterTime; // 0x2e0 + float m_flStopSimulationAfterTime; // 0x2e0 // MPropertyFriendlyName "pre-simulation time" // MParticleAdvancedField - float m_flPreSimulationTime; // 0x2e4 + float m_flPreSimulationTime; // 0x2e4 +private: + [[maybe_unused]] uint8_t __pad02e8[0x38]; // 0x2e8 +public: // MPropertyFriendlyName "sort particles (DEPRECATED - USE RENDERER OPTION)" - bool m_bShouldSort; // 0x320 + bool m_bShouldSort; // 0x320 // MPropertyFriendlyName "batch particle systems" // MParticleAdvancedField - bool m_bShouldBatch; // 0x321 + bool m_bShouldBatch; // 0x321 +private: + [[maybe_unused]] uint8_t __pad0322[0x2]; // 0x322 +public: // MPropertyFriendlyName "depth sort bias" - float m_flDepthSortBias; // 0x324 + float m_flDepthSortBias; // 0x324 // MPropertyFriendlyName "infinite bounds - don't cull" - bool m_bInfiniteBounds; // 0x328 + bool m_bInfiniteBounds; // 0x328 +private: + [[maybe_unused]] uint8_t __pad0329[0x1]; // 0x329 +public: // MPropertyFriendlyName "Hitboxes fall back to render bounds" // MParticleAdvancedField - bool m_bShouldHitboxesFallbackToRenderBounds; // 0x32a + bool m_bShouldHitboxesFallbackToRenderBounds; // 0x32a }; -// Aligment: 16 -// Size: 384 +// Alignment: 16 +// Size: 0x180 class CParticleFunction { public: @@ -1142,7929 +1205,8587 @@ public: // MPropertyFriendlyName "operator start fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeInTime; // 0x8 + float m_flOpStartFadeInTime; // 0x8 // MPropertyFriendlyName "operator end fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeInTime; // 0xc + float m_flOpEndFadeInTime; // 0xc // MPropertyFriendlyName "operator start fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeOutTime; // 0x10 + float m_flOpStartFadeOutTime; // 0x10 // MPropertyFriendlyName "operator end fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeOutTime; // 0x14 + float m_flOpEndFadeOutTime; // 0x14 // MPropertyFriendlyName "operator fade oscillate" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpFadeOscillatePeriod; // 0x18 + float m_flOpFadeOscillatePeriod; // 0x18 // MPropertyFriendlyName "normalize fade times to endcap" // MParticleAdvancedField // MPropertySortPriority "-100" - bool m_bNormalizeToStopTime; // 0x1c + bool m_bNormalizeToStopTime; // 0x1c +private: + [[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d +public: // MPropertyStartGroup "Time Offset" // MPropertyFriendlyName "operator time offset min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMin; // 0x20 + float m_flOpTimeOffsetMin; // 0x20 // MPropertyFriendlyName "operator time offset max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMax; // 0x24 + float m_flOpTimeOffsetMax; // 0x24 // MPropertyFriendlyName "operator time offset seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeOffsetSeed; // 0x28 + int32_t m_nOpTimeOffsetSeed; // 0x28 // MPropertyStartGroup "Timescale Modifiers" // MPropertyFriendlyName "operator time scale seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeScaleSeed; // 0x2c + int32_t m_nOpTimeScaleSeed; // 0x2c // MPropertyFriendlyName "operator time scale min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMin; // 0x30 + float m_flOpTimeScaleMin; // 0x30 // MPropertyFriendlyName "operator time scale max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMax; // 0x34 + float m_flOpTimeScaleMax; // 0x34 +private: + [[maybe_unused]] uint8_t __pad0038[0x1]; // 0x38 +public: // MPropertyStartGroup // MPropertySuppressField - bool m_bDisableOperator; // 0x39 + bool m_bDisableOperator; // 0x39 +private: + [[maybe_unused]] uint8_t __pad003a[0x2]; // 0x3a +public: // MPropertyFriendlyName "operator end cap state" // MPropertySortPriority "-100" - ParticleEndcapMode_t m_nOpEndCapState; // 0x3c + ParticleEndcapMode_t m_nOpEndCapState; // 0x3c // MPropertyStartGroup "Strength Modifiers" // MPropertyFriendlyName "operator strength" // MParticleAdvancedField // MPropertySortPriority "-100" - CParticleCollectionFloatInput m_flOpStrength; // 0x40 + CParticleCollectionFloatInput m_flOpStrength; // 0x40 // MPropertyStartGroup // MPropertyFriendlyName "operator help and notes" // MParticleHelpField // MPropertySortPriority "-100" - CUtlString m_Notes; // 0x128 + CUtlString m_Notes; // 0x128 }; -// Aligment: 0 -// Size: 384 +// Alignment: 0 +// Size: 0x180 class CParticleFunctionInitializer : public CParticleFunction { public: -// + // no members available }; -// Aligment: 0 -// Size: 384 +// Alignment: 0 +// Size: 0x180 class CParticleFunctionEmitter : public CParticleFunction { public: -// + // no members available }; -// Aligment: 0 -// Size: 384 +// Alignment: 0 +// Size: 0x180 class CParticleFunctionConstraint : public CParticleFunction { public: -// + // no members available }; -// Aligment: 0 -// Size: 384 +// Alignment: 0 +// Size: 0x180 class CParticleFunctionForce : public CParticleFunction { public: -// + // no members available }; -// Aligment: 0 -// Size: 384 +// Alignment: 0 +// Size: 0x180 class CParticleFunctionOperator : public CParticleFunction { public: -// + // no members available }; -// Aligment: 1 -// Size: 400 -class CParticleFunctionPreEmission : public CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class CParticleFunctionPreEmission : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Run Only Once" - bool m_bRunOnce; // 0x180 + bool m_bRunOnce; // 0x180 }; -// Aligment: 3 -// Size: 464 +// Alignment: 3 +// Size: 0x1d0 class CParticleFunctionRenderer : public CParticleFunction { public: // MParticleAdvancedField // MPropertySortPriority "-1" - CParticleVisibilityInputs VisibilityInputs; // 0x180 + CParticleVisibilityInputs VisibilityInputs; // 0x180 // MPropertyStartGroup "Rendering filter" // MPropertyFriendlyName "I cannot be refracted through refracting objects like water" // MPropertySortPriority "-1" - bool m_bCannotBeRefracted; // 0x1c4 + bool m_bCannotBeRefracted; // 0x1c4 // MPropertyFriendlyName "Skip rendering on mobile" // MPropertySortPriority "-1" - bool m_bSkipRenderingOnMobile; // 0x1c5 + bool m_bSkipRenderingOnMobile; // 0x1c5 }; -// Aligment: 15 -// Size: 1656 +// Alignment: 15 +// Size: 0x678 struct TextureControls_t { public: // MPropertyFriendlyName "horizontal texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0 + CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0 // MPropertyFriendlyName "vertical texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0xe8 + CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0xe8 // MPropertyFriendlyName "horizontal texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x1d0 + CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x1d0 // MPropertyFriendlyName "vertical texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x2b8 + CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x2b8 // MPropertyFriendlyName "texture rotation / animation rate scale" - CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x3a0 + CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x3a0 // MPropertyFriendlyName "Infinite Zoom Scale" - CParticleCollectionFloatInput m_flZoomScale; // 0x488 + CParticleCollectionFloatInput m_flZoomScale; // 0x488 // MPropertyFriendlyName "Distortion Amount" - CParticleCollectionFloatInput m_flDistortion; // 0x570 + CParticleCollectionFloatInput m_flDistortion; // 0x570 // MPropertyFriendlyName "Randomize Initial Offset" - bool m_bRandomizeOffsets; // 0x658 + bool m_bRandomizeOffsets; // 0x658 // MPropertyFriendlyName "Clamp UVs" - bool m_bClampUVs; // 0x659 + bool m_bClampUVs; // 0x659 +private: + [[maybe_unused]] uint8_t __pad065a[0x2]; // 0x65a +public: // MPropertyFriendlyName "per-particle scalar for scale" - SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x65c + SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x65c // MPropertyFriendlyName "per-particle scalar for horizontal offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x660 + SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x660 // MPropertyFriendlyName "per-particle scalar for vertical offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x664 + SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x664 // MPropertyFriendlyName "per-particle scalar for rotation" - SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x668 + SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x668 // MPropertyFriendlyName "per-particle scalar for zoom" - SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x66c + SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x66c // MPropertyFriendlyName "per-particle scalar for distortion" - SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x670 + SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x670 }; -// Aligment: 9 -// Size: 1944 +// Alignment: 9 +// Size: 0x798 struct TextureGroup_t { public: // MPropertyFriendlyName "Enabled" - bool m_bEnabled; // 0x0 + bool m_bEnabled; // 0x0 // MPropertyFriendlyName "Author Texture As Gradient" - 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; // 0x120 + TextureControls_t m_TextureControls; // 0x120 }; -// Aligment: 57 -// Size: 5872 -class CBaseRendererSource2 : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 57 +// Size: 0x16f0 +class CBaseRendererSource2 : public CParticleFunctionRenderer { public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "radius scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1d0 + CParticleCollectionFloatInput m_flRadiusScale; // 0x1d0 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x2b8 + CParticleCollectionFloatInput m_flAlphaScale; // 0x2b8 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x3a0 + ParticleAttributeIndex_t m_nAlpha2Field; // 0x3a0 +private: + [[maybe_unused]] uint8_t __pad03a4[0x4]; // 0x3a4 +public: // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x3a8 + CParticleCollectionVecInput m_vecColorScale; // 0x3a8 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x7d8 + ParticleColorBlendType_t m_nColorBlendType; // 0x7d8 // MPropertyStartGroup "+Material" // MPropertyFriendlyName "Shader" // MPropertySortPriority "600" - SpriteCardShaderType_t m_nShaderType; // 0x7dc + SpriteCardShaderType_t m_nShaderType; // 0x7dc // MPropertyFriendlyName "Custom Shader" // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" // MPropertySortPriority "600" - CUtlString m_strShaderOverride; // 0x7e0 + CUtlString m_strShaderOverride; // 0x7e0 // MPropertyFriendlyName "X offset of center point" // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterXOffset; // 0x7e8 + CParticleCollectionFloatInput m_flCenterXOffset; // 0x7e8 // MPropertyFriendlyName "Y offset of center point" // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterYOffset; // 0x8d0 + CParticleCollectionFloatInput m_flCenterYOffset; // 0x8d0 // MPropertyFriendlyName "Bump Strength" // MPropertySortPriority "600" - float m_flBumpStrength; // 0x9b8 + float m_flBumpStrength; // 0x9b8 // MPropertyFriendlyName "Sheet Crop Behavior" // MPropertySortPriority "600" - ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0x9bc + ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0x9bc // MPropertyFriendlyName "Textures" // MParticleRequireDefaultArrayEntry // MPropertyAutoExpandSelf // MPropertySortPriority "600" - CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0x9c0 + CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0x9c0 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animation rate" // MPropertyAttributeRange "0 5" // MPropertySortPriority "500" - float m_flAnimationRate; // 0x9d8 + float m_flAnimationRate; // 0x9d8 // MPropertyFriendlyName "animation type" // MPropertySortPriority "500" - AnimationType_t m_nAnimationType; // 0x9dc + AnimationType_t m_nAnimationType; // 0x9dc // MPropertyFriendlyName "set animation value in FPS" // MPropertySortPriority "500" - bool m_bAnimateInFPS; // 0x9e0 + bool m_bAnimateInFPS; // 0x9e0 +private: + [[maybe_unused]] uint8_t __pad09e1[0x7]; // 0x9e1 +public: // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "self illum amount" // MPropertyAttributeRange "0 2" // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flSelfIllumAmount; // 0x9e8 + CParticleCollectionFloatInput m_flSelfIllumAmount; // 0x9e8 // MPropertyFriendlyName "diffuse lighting amount" // MPropertyAttributeRange "0 1" // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flDiffuseAmount; // 0xad0 + CParticleCollectionFloatInput m_flDiffuseAmount; // 0xad0 // MPropertyFriendlyName "diffuse lighting origin Control Point" // MPropertySortPriority "400" - int32_t m_nLightingControlPoint; // 0xbb8 + int32_t m_nLightingControlPoint; // 0xbb8 // MPropertyFriendlyName "self illum per-particle" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "400" - ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0xbbc + ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0xbbc // MPropertyFriendlyName "lighting mode" // MPropertySortPriority "400" - ParticleLightingQuality_t m_nLightingMode; // 0xbc0 + ParticleLightingQuality_t m_nLightingMode; // 0xbc0 // MPropertyStartGroup "+Color and alpha adjustments" // MPropertyFriendlyName "output blend mode" // MPropertySortPriority "300" - ParticleOutputBlendMode_t m_nOutputBlendMode; // 0xbc4 + ParticleOutputBlendMode_t m_nOutputBlendMode; // 0xbc4 // MPropertyFriendlyName "Gamma-correct vertex colors" // MPropertySortPriority "300" - bool m_bGammaCorrectVertexColors; // 0xbc8 + bool m_bGammaCorrectVertexColors; // 0xbc8 // MPropertyFriendlyName "Saturate color pre alphablend" // MPropertySortPriority "300" - bool m_bSaturateColorPreAlphaBlend; // 0xbc9 + bool m_bSaturateColorPreAlphaBlend; // 0xbc9 +private: + [[maybe_unused]] uint8_t __pad0bca[0x6]; // 0xbca +public: // MPropertyFriendlyName "add self amount over alphablend" // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAddSelfAmount; // 0xbd0 + CParticleCollectionFloatInput m_flAddSelfAmount; // 0xbd0 // MPropertyFriendlyName "desaturation amount" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flDesaturation; // 0xcb8 + CParticleCollectionFloatInput m_flDesaturation; // 0xcb8 // MPropertyFriendlyName "overbright factor" // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flOverbrightFactor; // 0xda0 + CParticleCollectionFloatInput m_flOverbrightFactor; // 0xda0 // MPropertyFriendlyName "HSV Shift Control Point" // MPropertySortPriority "300" - int32_t m_nHSVShiftControlPoint; // 0xe88 + int32_t m_nHSVShiftControlPoint; // 0xe88 // MPropertyFriendlyName "Apply fog to particle" // MPropertySortPriority "300" - ParticleFogType_t m_nFogType; // 0xe8c + ParticleFogType_t m_nFogType; // 0xe8c // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" // MPropertyFriendlyName "alpha reference" // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0xe90 + SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0xe90 // MPropertyFriendlyName "alpha reference window size" // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0xe94 + SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0xe94 // MPropertyFriendlyName "alpha reference type" // MPropertySortPriority "300" - ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0xe98 + ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0xe98 +private: + [[maybe_unused]] uint8_t __pad0e9c[0x4]; // 0xe9c +public: // MPropertyFriendlyName "alpha reference softness" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0xea0 + CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0xea0 // MPropertyFriendlyName "source alpha value to map to alpha of zero" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0xf88 + CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0xf88 // MPropertyFriendlyName "source alpha value to map to alpha of 1" // MPropertyAttributeRange "0 1" // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1070 + CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1070 // MPropertyStartGroup "Refraction" // MPropertyFriendlyName "refract background" // MPropertySortPriority "200" - bool m_bRefract; // 0x1158 + bool m_bRefract; // 0x1158 // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - bool m_bRefractSolid; // 0x1159 + bool m_bRefractSolid; // 0x1159 +private: + [[maybe_unused]] uint8_t __pad115a[0x6]; // 0x115a +public: // MPropertyFriendlyName "refract amount" // MPropertyAttributeRange "-2 2" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - CParticleCollectionFloatInput m_flRefractAmount; // 0x1160 + CParticleCollectionFloatInput m_flRefractAmount; // 0x1160 // MPropertyFriendlyName "refract blur radius" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - int32_t m_nRefractBlurRadius; // 0x1248 + int32_t m_nRefractBlurRadius; // 0x1248 // MPropertyFriendlyName "refract blur type" // MPropertySortPriority "200" // MPropertySuppressExpr "!m_bRefract" - BlurFilterType_t m_nRefractBlurType; // 0x124c + BlurFilterType_t m_nRefractBlurType; // 0x124c // MPropertyStartGroup // MPropertyFriendlyName "Only Render in effects bloom pass" // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x1250 + bool m_bOnlyRenderInEffectsBloomPass; // 0x1250 // MPropertyFriendlyName "Use Mixed Resolution Rendering" // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x1251 + bool m_bUseMixedResolutionRendering; // 0x1251 // MPropertyStartGroup "Stencil" // MPropertyFriendlyName "stencil test ID" // MPropertySortPriority "0" - char[128] m_stencilTestID; // 0x1252 + char m_stencilTestID[128]; // 0x1252 // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" // MPropertySortPriority "0" - bool m_bStencilTestExclude; // 0x12d2 + bool m_bStencilTestExclude; // 0x12d2 // MPropertyFriendlyName "stencil write ID" // MPropertySortPriority "0" - char[128] m_stencilWriteID; // 0x12d3 + char m_stencilWriteID[128]; // 0x12d3 // MPropertyFriendlyName "write stencil on z-buffer test success" // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthPass; // 0x1353 + bool m_bWriteStencilOnDepthPass; // 0x1353 // MPropertyFriendlyName "write stencil on z-buffer test failure" // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthFail; // 0x1354 + bool m_bWriteStencilOnDepthFail; // 0x1354 // MPropertyStartGroup "Depth buffer control and effects" // MPropertyFriendlyName "reverse z-buffer test" // MPropertySortPriority "900" - bool m_bReverseZBuffering; // 0x1355 + bool m_bReverseZBuffering; // 0x1355 // MPropertyFriendlyName "disable z-buffer test" // MPropertySortPriority "900" - bool m_bDisableZBuffering; // 0x1356 + bool m_bDisableZBuffering; // 0x1356 +private: + [[maybe_unused]] uint8_t __pad1357[0x1]; // 0x1357 +public: // MPropertyFriendlyName "Depth feathering mode" // MPropertySortPriority "900" - ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1358 + ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1358 +private: + [[maybe_unused]] uint8_t __pad135c[0x4]; // 0x135c +public: // MPropertyFriendlyName "particle feathering closest distance to surface" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1360 + CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1360 // MPropertyFriendlyName "particle feathering farthest distance to surface" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1448 + CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1448 // MPropertyFriendlyName "depth comparison bias" // MPropertySortPriority "900" - float m_flDepthBias; // 0x1530 + float m_flDepthBias; // 0x1530 // MPropertyFriendlyName "Sort Method" // MPropertySortPriority "900" - ParticleSortingChoiceList_t m_nSortMethod; // 0x1534 + ParticleSortingChoiceList_t m_nSortMethod; // 0x1534 // MPropertyStartGroup "Color and alpha adjustments/Dota Fog & Light" // MPropertyFriendlyName "Apply fog of war to color" // MPropertySortPriority "300" - bool m_bTintByFOW; // 0x1538 + bool m_bTintByFOW; // 0x1538 // MPropertyFriendlyName "Apply global light to color" // MPropertySortPriority "300" - bool m_bTintByGlobalLight; // 0x1539 + bool m_bTintByGlobalLight; // 0x1539 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "blend sequence animation frames" // MPropertySortPriority "500" - bool m_bBlendFramesSeq0; // 0x153a + bool m_bBlendFramesSeq0; // 0x153a // MPropertyFriendlyName "use max-luminance blending for sequence" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bBlendFramesSeq0" - bool m_bMaxLuminanceBlendingSequence0; // 0x153b + bool m_bMaxLuminanceBlendingSequence0; // 0x153b }; -// Aligment: 24 -// Size: 6656 -class C_OP_RenderSprites : public CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction +// Alignment: 24 +// Size: 0x1a00 +class C_OP_RenderSprites : public CBaseRendererSource2 { public: // MPropertyStartGroup "Animation" // MPropertyFriendlyName "sequence id override" // MPropertySortPriority "500" - CParticleCollectionFloatInput m_nSequenceOverride; // 0x16f0 + CParticleCollectionFloatInput m_nSequenceOverride; // 0x16f0 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x17d8 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x17d8 // 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; // 0x17dc + int32_t m_nOrientationControlPoint; // 0x17dc // 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; // 0x17e0 + bool m_bUseYawWithNormalAligned; // 0x17e0 +private: + [[maybe_unused]] uint8_t __pad17e1[0x3]; // 0x17e1 +public: // MPropertyStartGroup "Fading and culling" // MPropertyFriendlyName "minimum visual size" // MPropertySortPriority "1000" - float m_flMinSize; // 0x17e4 + float m_flMinSize; // 0x17e4 // MPropertyFriendlyName "maximum visual size" // MPropertySortPriority "1000" - float m_flMaxSize; // 0x17e8 + float m_flMaxSize; // 0x17e8 // MPropertyFriendlyName "Factor to map size adjustment to alpha" // MPropertySortPriority "1000" - float m_flAlphaAdjustWithSizeAdjust; // 0x17ec + float m_flAlphaAdjustWithSizeAdjust; // 0x17ec // MPropertyStartGroup // MPropertyFriendlyName "size at which to start fading" // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x17f0 + CParticleCollectionFloatInput m_flStartFadeSize; // 0x17f0 // MPropertyFriendlyName "size at which to fade away" // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x18d8 + CParticleCollectionFloatInput m_flEndFadeSize; // 0x18d8 // MPropertyStartGroup "Fading and culling" // MPropertyFriendlyName "start dot product value for fading as the particle normal becomes aligned with the view vector" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x19c0 + float m_flStartFadeDot; // 0x19c0 // MPropertyFriendlyName "end dot product value for fading as the particle normal becomes aligned with the view vector" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x19c4 + float m_flEndFadeDot; // 0x19c4 // MPropertyStartGroup "Distance to alpha coding" // MPropertyFriendlyName "distance alpha" // MPropertySortPriority "0" - bool m_bDistanceAlpha; // 0x19c8 + bool m_bDistanceAlpha; // 0x19c8 // MPropertyFriendlyName "use soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - bool m_bSoftEdges; // 0x19c9 + bool m_bSoftEdges; // 0x19c9 +private: + [[maybe_unused]] uint8_t __pad19ca[0x2]; // 0x19ca +public: // MPropertyFriendlyName "start value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessStart; // 0x19cc + float m_flEdgeSoftnessStart; // 0x19cc // MPropertyFriendlyName "end value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessEnd; // 0x19d0 + float m_flEdgeSoftnessEnd; // 0x19d0 // MPropertyStartGroup "Outlining" // MPropertyFriendlyName "enable particle outlining" // MPropertySortPriority "0" - bool m_bOutline; // 0x19d4 + bool m_bOutline; // 0x19d4 // MPropertyFriendlyName "outline color" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - Color m_OutlineColor; // 0x19d5 + Color m_OutlineColor; // 0x19d5 +private: + [[maybe_unused]] uint8_t __pad19d9[0x3]; // 0x19d9 +public: // MPropertyFriendlyName "outline alpha" // MPropertyAttributeRange "0 255" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - int32_t m_nOutlineAlpha; // 0x19dc + int32_t m_nOutlineAlpha; // 0x19dc // MPropertyFriendlyName "outline start 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart0; // 0x19e0 + float m_flOutlineStart0; // 0x19e0 // MPropertyFriendlyName "outline start 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart1; // 0x19e4 + float m_flOutlineStart1; // 0x19e4 // MPropertyFriendlyName "outline end 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd0; // 0x19e8 + float m_flOutlineEnd0; // 0x19e8 // MPropertyFriendlyName "outline end 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd1; // 0x19ec + float m_flOutlineEnd1; // 0x19ec // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "Particle Shadows" // MPropertySortPriority "400" - bool m_bParticleShadows; // 0x19f0 + bool m_bParticleShadows; // 0x19f0 +private: + [[maybe_unused]] uint8_t __pad19f1[0x3]; // 0x19f1 +public: // MPropertyFriendlyName "Shadow Density" // MPropertySortPriority "400" // MPropertySuppressExpr "!m_bParticleShadows" - float m_flShadowDensity; // 0x19f4 + float m_flShadowDensity; // 0x19f4 }; -// Aligment: 2 -// Size: 240 +// Alignment: 2 +// Size: 0xf0 struct FloatInputMaterialVariable_t { public: // MPropertyFriendlyName "material variable" - CUtlString m_strVariable; // 0x0 + CUtlString m_strVariable; // 0x0 // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInput; // 0x8 + CParticleCollectionFloatInput m_flInput; // 0x8 }; -// Aligment: 2 -// Size: 1080 +// Alignment: 2 +// Size: 0x438 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 }; -// Aligment: 21 -// Size: 3552 -class C_OP_RenderCables : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 21 +// Size: 0xde0 +class C_OP_RenderCables : public CParticleFunctionRenderer { public: // MPropertyStartGroup "Renderer Modifiers" // MPropertyFriendlyName "Radius Scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1d0 + CParticleCollectionFloatInput m_flRadiusScale; // 0x1d0 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x2b8 + CParticleCollectionFloatInput m_flAlphaScale; // 0x2b8 // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x3a0 + CParticleCollectionVecInput m_vecColorScale; // 0x3a0 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x7d0 + ParticleColorBlendType_t m_nColorBlendType; // 0x7d0 +private: + [[maybe_unused]] uint8_t __pad07d4[0x4]; // 0x7d4 +public: // MPropertyStartGroup // MPropertyFriendlyName "material" // MPropertyAttributeEditor "AssetBrowse( vmat )" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x7d8 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x7d8 // MPropertyFriendlyName "texture repetition mode" - TextureRepetitionMode_t m_nTextureRepetitionMode; // 0x7e0 + TextureRepetitionMode_t m_nTextureRepetitionMode; // 0x7e0 +private: + [[maybe_unused]] uint8_t __pad07e4[0x4]; // 0x7e4 +public: // MPropertyFriendlyName "texture repetitions" - CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0x7e8 + CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0x7e8 // MPropertyFriendlyName "texture repetitions around cable" - CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0x8d0 + CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0x8d0 // MPropertyFriendlyName "color map offset along path" - CParticleCollectionFloatInput m_flColorMapOffsetV; // 0x9b8 + CParticleCollectionFloatInput m_flColorMapOffsetV; // 0x9b8 // MPropertyFriendlyName "color map offset around cable" - CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xaa0 + CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xaa0 // MPropertyFriendlyName "normal map offset along path" - CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xb88 + CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xb88 // MPropertyFriendlyName "normal map offset around cable" - CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0xc70 + CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0xc70 // MPropertyFriendlyName "draw caps at each end of the cable" - bool m_bDrawCableCaps; // 0xd58 + bool m_bDrawCableCaps; // 0xd58 +private: + [[maybe_unused]] uint8_t __pad0d59[0x3]; // 0xd59 +public: // MPropertyFriendlyName "cable end cap shape factor" // MPropertyAttributeRange "0 2" - float m_flCapRoundness; // 0xd5c + float m_flCapRoundness; // 0xd5c // MPropertyFriendlyName "cable end cap offset amount" // MPropertyAttributeRange "0 2" - float m_flCapOffsetAmount; // 0xd60 + float m_flCapOffsetAmount; // 0xd60 // MPropertyFriendlyName "tessellation scale factor" - float m_flTessScale; // 0xd64 + float m_flTessScale; // 0xd64 // MPropertyFriendlyName "minimum steps between particles" - int32_t m_nMinTesselation; // 0xd68 + int32_t m_nMinTesselation; // 0xd68 // MPropertyFriendlyName "maximum steps between particles" - int32_t m_nMaxTesselation; // 0xd6c + int32_t m_nMaxTesselation; // 0xd6c // MPropertyFriendlyName "roundness factor" - int32_t m_nRoundness; // 0xd70 + int32_t m_nRoundness; // 0xd70 +private: + [[maybe_unused]] uint8_t __pad0d74[0x4]; // 0xd74 +public: // MPropertyFriendlyName "material float variables" - CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0xd78 + CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0xd78 +private: + [[maybe_unused]] uint8_t __pad0d90[0x18]; // 0xd90 +public: // MPropertyFriendlyName "material vector variables" - CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0xda8 + CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0xda8 }; -// Aligment: 0 -// Size: 64 +// Alignment: 0 +// Size: 0x40 class CPiecewiseCurveSchemaWrapper { public: -// + // no members available }; -// Aligment: 36 -// Size: 232 +// Alignment: 36 +// Size: 0xe8 class CParticleFloatInput { public: - ParticleFloatType_t m_nType; // 0x0 - ParticleFloatMapType_t m_nMapType; // 0x4 - float m_flLiteralValue; // 0x8 - int32_t m_nControlPoint; // 0xc - ParticleAttributeIndex_t m_nScalarAttribute; // 0x10 - ParticleAttributeIndex_t m_nVectorAttribute; // 0x14 - int32_t m_nVectorComponent; // 0x18 - float m_flRandomMin; // 0x1c - float m_flRandomMax; // 0x20 - ParticleFloatRandomMode_t m_nRandomMode; // 0x24 - float m_flLOD0; // 0x2c - float m_flLOD1; // 0x30 - float m_flLOD2; // 0x34 - float m_flLOD3; // 0x38 - float m_flNoiseOutputMin; // 0x3c - float m_flNoiseOutputMax; // 0x40 - float m_flNoiseScale; // 0x44 - Vector m_vecNoiseOffsetRate; // 0x48 - float m_flNoiseOffset; // 0x54 - int32_t m_nNoiseOctaves; // 0x58 - PFNoiseTurbulence_t m_nNoiseTurbulence; // 0x5c - PFNoiseType_t m_nNoiseType; // 0x60 - PFNoiseModifier_t m_nNoiseModifier; // 0x64 - float m_flNoiseTurbulenceScale; // 0x68 - float m_flNoiseTurbulenceMix; // 0x6c - float m_flNoiseImgPreviewScale; // 0x70 - bool m_bNoiseImgPreviewLive; // 0x74 - ParticleFloatInputMode_t m_nInputMode; // 0x7c - float m_flMultFactor; // 0x80 - float m_flInput0; // 0x84 - float m_flInput1; // 0x88 - float m_flOutput0; // 0x8c - float m_flOutput1; // 0x90 - ParticleFloatBiasType_t m_nBiasType; // 0x94 - float m_flBiasParameter; // 0x98 - CPiecewiseCurveSchemaWrapper m_Curve; // 0xa0 + ParticleFloatType_t m_nType; // 0x0 + ParticleFloatMapType_t m_nMapType; // 0x4 + float m_flLiteralValue; // 0x8 + int32_t m_nControlPoint; // 0xc + ParticleAttributeIndex_t m_nScalarAttribute; // 0x10 + ParticleAttributeIndex_t m_nVectorAttribute; // 0x14 + int32_t m_nVectorComponent; // 0x18 + float m_flRandomMin; // 0x1c + float m_flRandomMax; // 0x20 + ParticleFloatRandomMode_t m_nRandomMode; // 0x24 +private: + [[maybe_unused]] uint8_t __pad0028[0x4]; // 0x28 +public: + float m_flLOD0; // 0x2c + float m_flLOD1; // 0x30 + float m_flLOD2; // 0x34 + float m_flLOD3; // 0x38 + float m_flNoiseOutputMin; // 0x3c + float m_flNoiseOutputMax; // 0x40 + float m_flNoiseScale; // 0x44 + Vector m_vecNoiseOffsetRate; // 0x48 + float m_flNoiseOffset; // 0x54 + int32_t m_nNoiseOctaves; // 0x58 + PFNoiseTurbulence_t m_nNoiseTurbulence; // 0x5c + PFNoiseType_t m_nNoiseType; // 0x60 + PFNoiseModifier_t m_nNoiseModifier; // 0x64 + float m_flNoiseTurbulenceScale; // 0x68 + float m_flNoiseTurbulenceMix; // 0x6c + float m_flNoiseImgPreviewScale; // 0x70 + bool m_bNoiseImgPreviewLive; // 0x74 +private: + [[maybe_unused]] uint8_t __pad0075[0x7]; // 0x75 +public: + ParticleFloatInputMode_t m_nInputMode; // 0x7c + float m_flMultFactor; // 0x80 + float m_flInput0; // 0x84 + float m_flInput1; // 0x88 + float m_flOutput0; // 0x8c + float m_flOutput1; // 0x90 + ParticleFloatBiasType_t m_nBiasType; // 0x94 + float m_flBiasParameter; // 0x98 +private: + [[maybe_unused]] uint8_t __pad009c[0x4]; // 0x9c +public: + CPiecewiseCurveSchemaWrapper m_Curve; // 0xa0 }; -// Aligment: 0 -// Size: 232 +// Alignment: 0 +// Size: 0xe8 class CPerParticleFloatInput : public CParticleFloatInput { public: -// + // no members available }; -// Aligment: 0 -// Size: 232 +// Alignment: 0 +// Size: 0xe8 class CParticleCollectionFloatInput : public CParticleFloatInput { public: -// + // no members available }; -// Aligment: 18 -// Size: 1072 +// Alignment: 18 +// Size: 0x430 class CParticleVecInput { public: - ParticleVecType_t m_nType; // 0x0 - Vector m_vLiteralValue; // 0x4 - Color m_LiteralColor; // 0x10 - ParticleAttributeIndex_t m_nVectorAttribute; // 0x14 - Vector m_vVectorAttributeScale; // 0x18 - int32_t m_nControlPoint; // 0x24 - Vector m_vCPValueScale; // 0x28 - Vector m_vCPRelativePosition; // 0x34 - Vector m_vCPRelativeDir; // 0x40 - CParticleFloatInput m_FloatComponentX; // 0x50 - CParticleFloatInput m_FloatComponentY; // 0x138 - CParticleFloatInput m_FloatComponentZ; // 0x220 - CParticleFloatInput m_FloatInterp; // 0x308 - float m_flInterpInput0; // 0x3f0 - float m_flInterpInput1; // 0x3f4 - Vector m_vInterpOutput0; // 0x3f8 - Vector m_vInterpOutput1; // 0x404 - CColorGradient m_Gradient; // 0x410 + ParticleVecType_t m_nType; // 0x0 + Vector m_vLiteralValue; // 0x4 + Color m_LiteralColor; // 0x10 + ParticleAttributeIndex_t m_nVectorAttribute; // 0x14 + Vector m_vVectorAttributeScale; // 0x18 + int32_t m_nControlPoint; // 0x24 + Vector m_vCPValueScale; // 0x28 + Vector m_vCPRelativePosition; // 0x34 + Vector m_vCPRelativeDir; // 0x40 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + CParticleFloatInput m_FloatComponentX; // 0x50 + CParticleFloatInput m_FloatComponentY; // 0x138 + CParticleFloatInput m_FloatComponentZ; // 0x220 + CParticleFloatInput m_FloatInterp; // 0x308 + float m_flInterpInput0; // 0x3f0 + float m_flInterpInput1; // 0x3f4 + Vector m_vInterpOutput0; // 0x3f8 + Vector m_vInterpOutput1; // 0x404 + CColorGradient m_Gradient; // 0x410 }; -// Aligment: 0 -// Size: 1072 +// Alignment: 0 +// Size: 0x430 class CPerParticleVecInput : public CParticleVecInput { public: -// + // no members available }; -// Aligment: 0 -// Size: 1072 +// Alignment: 0 +// Size: 0x430 class CParticleCollectionVecInput : public CParticleVecInput { public: -// + // no members available }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class PARTICLE_EHANDLE__ { public: - int32_t unused; // 0x0 + int32_t unused; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class PARTICLE_WORLD_HANDLE__ { public: - int32_t unused; // 0x0 + int32_t unused; // 0x0 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IParticleEffect { public: -// + // no members available }; -// Aligment: 0 -// Size: 40 +// Alignment: 0 +// Size: 0x28 class CParticleProperty { public: -// + // no members available }; -// Aligment: 25 -// Size: 184 +// Alignment: 25 +// Size: 0xb8 class CNewParticleEffect : public IParticleEffect { public: - CNewParticleEffect* m_pNext; // 0x10 - CNewParticleEffect* m_pPrev; // 0x18 - IParticleCollection* m_pParticles; // 0x20 - char* m_pDebugName; // 0x28 - bitfield:1 m_bDontRemove; // 0x0 - bitfield:1 m_bRemove; // 0x0 - bitfield:1 m_bNeedsBBoxUpdate; // 0x0 - bitfield:1 m_bIsFirstFrame; // 0x0 - bitfield:1 m_bAutoUpdateBBox; // 0x0 - bitfield:1 m_bAllocated; // 0x0 - bitfield:1 m_bSimulate; // 0x0 - bitfield:1 m_bShouldPerformCullCheck; // 0x0 - bitfield:1 m_bForceNoDraw; // 0x0 - bitfield:1 m_bDisableAggregation; // 0x0 - bitfield:1 m_bShouldSimulateDuringGamePaused; // 0x0 - bitfield:1 m_bShouldCheckFoW; // 0x0 - Vector m_vSortOrigin; // 0x40 - float m_flScale; // 0x4c - PARTICLE_EHANDLE__* m_hOwner; // 0x50 - CParticleProperty* m_pOwningParticleProperty; // 0x58 - Vector m_LastMin; // 0x70 - Vector m_LastMax; // 0x7c - CSplitScreenSlot m_nSplitScreenUser; // 0x88 - Vector m_vecAggregationCenter; // 0x8c - int32_t m_RefCount; // 0xb0 + 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_bDisableAggregation: 1; + uint8_t m_bShouldSimulateDuringGamePaused: 1; + uint8_t m_bShouldCheckFoW: 1; + uint256_t __pad0: 180; + }; // 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: + Vector m_LastMin; // 0x70 + Vector m_LastMax; // 0x7c + CSplitScreenSlot m_nSplitScreenUser; // 0x88 + Vector m_vecAggregationCenter; // 0x8c +private: + [[maybe_unused]] uint8_t __pad0098[0x18]; // 0x98 +public: + int32_t m_RefCount; // 0xb0 }; -// Aligment: 5 -// Size: 880 -class C_OP_ConstrainDistance : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 5 +// Size: 0x370 +class C_OP_ConstrainDistance : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - CParticleCollectionFloatInput m_fMinDistance; // 0x180 + CParticleCollectionFloatInput m_fMinDistance; // 0x180 // MPropertyFriendlyName "maximum distance" - CParticleCollectionFloatInput m_fMaxDistance; // 0x268 + CParticleCollectionFloatInput m_fMaxDistance; // 0x268 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x350 + int32_t m_nControlPointNumber; // 0x350 // MPropertyFriendlyName "offset of center" // MVectorIsCoordinate - Vector m_CenterOffset; // 0x354 + Vector m_CenterOffset; // 0x354 // MPropertyFriendlyName "global center point" - bool m_bGlobalCenter; // 0x360 + bool m_bGlobalCenter; // 0x360 }; -// Aligment: 2 -// Size: 848 -class C_OP_CollideWithSelf : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 2 +// Size: 0x350 +class C_OP_CollideWithSelf : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x180 + CPerParticleFloatInput m_flRadiusScale; // 0x180 // MPropertyFriendlyName "minimum speed for check" - CPerParticleFloatInput m_flMinimumSpeed; // 0x268 + CPerParticleFloatInput m_flMinimumSpeed; // 0x268 }; -// Aligment: 2 -// Size: 848 -class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 2 +// Size: 0x350 +class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "parent particle radius scale" - CPerParticleFloatInput m_flParentRadiusScale; // 0x180 + CPerParticleFloatInput m_flParentRadiusScale; // 0x180 // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x268 + CPerParticleFloatInput m_flRadiusScale; // 0x268 }; -// Aligment: 8 -// Size: 480 -class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 8 +// Size: 0x1e0 +class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x180 + float m_fMinDistance; // 0x180 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance0; // 0x184 + float m_flMaxDistance0; // 0x184 // MPropertyFriendlyName "maximum distance middle" - float m_flMaxDistanceMid; // 0x188 + float m_flMaxDistanceMid; // 0x188 // MPropertyFriendlyName "maximum distance end" - float m_flMaxDistance1; // 0x18c - CPathParameters m_PathParameters; // 0x190 + float m_flMaxDistance1; // 0x18c + CPathParameters m_PathParameters; // 0x190 // MPropertyFriendlyName "travel time" - float m_flTravelTime; // 0x1d0 + float m_flTravelTime; // 0x1d0 // MPropertyFriendlyName "travel time scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldScale; // 0x1d4 + ParticleAttributeIndex_t m_nFieldScale; // 0x1d4 // MPropertyFriendlyName "manual time placement field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nManualTField; // 0x1d8 + ParticleAttributeIndex_t m_nManualTField; // 0x1d8 }; -// Aligment: 5 -// Size: 432 -class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 5 +// Size: 0x1b0 +class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x180 + float m_fMinDistance; // 0x180 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance; // 0x184 + float m_flMaxDistance; // 0x184 // MPropertyFriendlyName "Time scale" - float m_flTimeScale; // 0x188 + float m_flTimeScale; // 0x188 // MPropertyFriendlyName "Treat path as a loop" - bool m_bLoopedPath; // 0x18c + bool m_bLoopedPath; // 0x18c +private: + [[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d +public: // MPropertyFriendlyName "path points" - CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x190 + CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x190 }; -// Aligment: 7 -// Size: 880 -class C_OP_PlanarConstraint : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 7 +// Size: 0x370 +class C_OP_PlanarConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "plane point" // MVectorIsCoordinate - Vector m_PointOnPlane; // 0x180 + Vector m_PointOnPlane; // 0x180 // MPropertyFriendlyName "plane normal" - Vector m_PlaneNormal; // 0x18c + Vector m_PlaneNormal; // 0x18c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x198 + int32_t m_nControlPointNumber; // 0x198 // MPropertyFriendlyName "global origin" - bool m_bGlobalOrigin; // 0x19c + bool m_bGlobalOrigin; // 0x19c // MPropertyFriendlyName "global normal" - bool m_bGlobalNormal; // 0x19d + bool m_bGlobalNormal; // 0x19d +private: + [[maybe_unused]] uint8_t __pad019e[0x2]; // 0x19e +public: // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x1a0 + CPerParticleFloatInput m_flRadiusScale; // 0x1a0 // MPropertyFriendlyName "falloff distance from control point" - CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x288 + CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x288 }; -// Aligment: 0 -// Size: 384 -class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 0 +// Size: 0x180 +class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint { public: -// + // no members available }; -// Aligment: 23 -// Size: 1760 -class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 23 +// Size: 0x6e0 +class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "control point for fast collision tests" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 // MPropertyFriendlyName "control point offset for fast collisions" // MVectorIsCoordinate - Vector m_vecCpOffset; // 0x184 + Vector m_vecCpOffset; // 0x184 // MPropertyFriendlyName "collision mode" - ParticleCollisionMode_t m_nCollisionMode; // 0x190 + ParticleCollisionMode_t m_nCollisionMode; // 0x190 // MPropertyFriendlyName "minimum detail collision mode" - ParticleCollisionMode_t m_nCollisionModeMin; // 0x194 + ParticleCollisionMode_t m_nCollisionModeMin; // 0x194 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x198 + ParticleTraceSet_t m_nTraceSet; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c +public: // MPropertyFriendlyName "amount of bounce" - CPerParticleFloatInput m_flBounceAmount; // 0x1a0 + CPerParticleFloatInput m_flBounceAmount; // 0x1a0 // MPropertyFriendlyName "amount of slide" - CPerParticleFloatInput m_flSlideAmount; // 0x288 + CPerParticleFloatInput m_flSlideAmount; // 0x288 // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x370 + CPerParticleFloatInput m_flRadiusScale; // 0x370 // MPropertyFriendlyName "Random Direction scale" - CPerParticleFloatInput m_flRandomDirScale; // 0x458 + CPerParticleFloatInput m_flRandomDirScale; // 0x458 // MPropertyFriendlyName "control point movement distance tolerance" - float m_flCpMovementTolerance; // 0x540 + float m_flCpMovementTolerance; // 0x540 // MPropertyFriendlyName "trace accuracy tolerance" - float m_flTraceTolerance; // 0x544 + float m_flTraceTolerance; // 0x544 // MPropertyFriendlyName "minimum speed to kill on collision" - float m_flMinSpeed; // 0x548 + float m_flMinSpeed; // 0x548 // MPropertyFriendlyName "Add Decay to Bounce" - bool m_bDecayBounce; // 0x54c + bool m_bDecayBounce; // 0x54c // MPropertyFriendlyName "kill particle on collision" - bool m_bKillonContact; // 0x54d + bool m_bKillonContact; // 0x54d +private: + [[maybe_unused]] uint8_t __pad054e[0x2]; // 0x54e +public: // MPropertyFriendlyName "Confirm Collision Speed Threshold" - float m_flCollisionConfirmationSpeed; // 0x550 + float m_flCollisionConfirmationSpeed; // 0x550 // MPropertyFriendlyName "Set Normal" - bool m_bSetNormal; // 0x554 + bool m_bSetNormal; // 0x554 +private: + [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 +public: // MPropertyFriendlyName "Stick On Collision Cache Field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x558 + ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x558 +private: + [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c +public: // MPropertyFriendlyName "Speed to stop when sticking" - CPerParticleFloatInput m_flStopSpeed; // 0x560 + CPerParticleFloatInput m_flStopSpeed; // 0x560 // MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nEntityStickDataField; // 0x648 + ParticleAttributeIndex_t m_nEntityStickDataField; // 0x648 // MPropertyFriendlyName "World Only" - bool m_bWorldOnly; // 0x64c + bool m_bWorldOnly; // 0x64c +private: + [[maybe_unused]] uint8_t __pad064d[0x3]; // 0x64d +public: // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x650 + int32_t m_nIgnoreCP; // 0x650 // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x654 + char m_CollisionGroupName[128]; // 0x654 // MPropertyFriendlyName "brush only" - bool m_bBrushOnly; // 0x6d4 + bool m_bBrushOnly; // 0x6d4 }; -// Aligment: 4 -// Size: 416 -class C_OP_BoxConstraint : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 4 +// Size: 0x1a0 +class C_OP_BoxConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "min coords" - Vector m_vecMin; // 0x180 + Vector m_vecMin; // 0x180 // MPropertyFriendlyName "max coords" - Vector m_vecMax; // 0x18c + Vector m_vecMax; // 0x18c // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x198 + int32_t m_nCP; // 0x198 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x19c + bool m_bLocalSpace; // 0x19c }; -// Aligment: 5 -// Size: 1328 -class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 5 +// Size: 0x530 +class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CParticleCollectionFloatInput m_flRestLength; // 0x180 + CParticleCollectionFloatInput m_flRestLength; // 0x180 // MPropertyFriendlyName "minimum segment length %" - CParticleCollectionFloatInput m_flMinDistance; // 0x268 + CParticleCollectionFloatInput m_flMinDistance; // 0x268 // MPropertyFriendlyName "maximum segment length %" - CParticleCollectionFloatInput m_flMaxDistance; // 0x350 + CParticleCollectionFloatInput m_flMaxDistance; // 0x350 // MPropertyFriendlyName "scale factor for spring correction" - float m_flAdjustmentScale; // 0x438 + float m_flAdjustmentScale; // 0x438 +private: + [[maybe_unused]] uint8_t __pad043c[0x4]; // 0x43c +public: // MPropertyFriendlyName "manual resting spacing" - CParticleCollectionFloatInput m_flInitialRestingLength; // 0x440 + CParticleCollectionFloatInput m_flInitialRestingLength; // 0x440 }; -// Aligment: 5 -// Size: 2384 -class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 5 +// Size: 0x950 +class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CPerParticleFloatInput m_flRestLength; // 0x180 + CPerParticleFloatInput m_flRestLength; // 0x180 // MPropertyFriendlyName "minimum segment length %" - CPerParticleFloatInput m_flMinDistance; // 0x268 + CPerParticleFloatInput m_flMinDistance; // 0x268 // MPropertyFriendlyName "maximum segment length %" - CPerParticleFloatInput m_flMaxDistance; // 0x350 + CPerParticleFloatInput m_flMaxDistance; // 0x350 // MPropertyFriendlyName "resting spacing" - CPerParticleFloatInput m_flRestingLength; // 0x438 + CPerParticleFloatInput m_flRestingLength; // 0x438 // MPropertyFriendlyName "anchor vector" - CPerParticleVecInput m_vecAnchorVector; // 0x520 + CPerParticleVecInput m_vecAnchorVector; // 0x520 }; -// Aligment: 2 -// Size: 400 -class C_OP_ConstrainLineLength : public CParticleFunctionConstraint, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_OP_ConstrainLineLength : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum length" - float m_flMinDistance; // 0x180 + float m_flMinDistance; // 0x180 // MPropertyFriendlyName "maximum length" - float m_flMaxDistance; // 0x184 + float m_flMaxDistance; // 0x184 }; -// Aligment: 11 -// Size: 2256 -class C_INIT_RingWave : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 11 +// Size: 0x8d0 +class C_INIT_RingWave : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "even distribution count" - CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x188 + CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x188 // MPropertyFriendlyName "initial radius" - CPerParticleFloatInput m_flInitialRadius; // 0x270 + CPerParticleFloatInput m_flInitialRadius; // 0x270 // MPropertyFriendlyName "thickness" - CPerParticleFloatInput m_flThickness; // 0x358 + CPerParticleFloatInput m_flThickness; // 0x358 // MPropertyFriendlyName "min initial speed" - CPerParticleFloatInput m_flInitialSpeedMin; // 0x440 + CPerParticleFloatInput m_flInitialSpeedMin; // 0x440 // MPropertyFriendlyName "max initial speed" - CPerParticleFloatInput m_flInitialSpeedMax; // 0x528 + CPerParticleFloatInput m_flInitialSpeedMax; // 0x528 // MPropertyFriendlyName "roll" - CPerParticleFloatInput m_flRoll; // 0x610 + CPerParticleFloatInput m_flRoll; // 0x610 // MPropertyFriendlyName "pitch" - CPerParticleFloatInput m_flPitch; // 0x6f8 + CPerParticleFloatInput m_flPitch; // 0x6f8 // MPropertyFriendlyName "yaw" - CPerParticleFloatInput m_flYaw; // 0x7e0 + CPerParticleFloatInput m_flYaw; // 0x7e0 // MPropertyFriendlyName "even distribution" - bool m_bEvenDistribution; // 0x8c8 + bool m_bEvenDistribution; // 0x8c8 // MPropertyFriendlyName "XY velocity only" - bool m_bXYVelocityOnly; // 0x8c9 + bool m_bXYVelocityOnly; // 0x8c9 }; -// Aligment: 7 -// Size: 416 -class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 7 +// Size: 0x1a0 +class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "override CP (X/Y/Z *= radius/density/speed)" - int32_t m_nOverrideCP; // 0x184 + int32_t m_nOverrideCP; // 0x184 // MPropertyFriendlyName "density" - int32_t m_nDensity; // 0x188 + int32_t m_nDensity; // 0x188 // MPropertyFriendlyName "initial radius" - float m_flInitialRadius; // 0x18c + float m_flInitialRadius; // 0x18c // MPropertyFriendlyName "min initial speed" - float m_flInitialSpeedMin; // 0x190 + float m_flInitialSpeedMin; // 0x190 // MPropertyFriendlyName "max initial speed" - float m_flInitialSpeedMax; // 0x194 + float m_flInitialSpeedMax; // 0x194 // MPropertyFriendlyName "use particle count as density scale" - bool m_bUseParticleCount; // 0x198 + bool m_bUseParticleCount; // 0x198 }; -// Aligment: 10 -// Size: 1344 -class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 10 +// Size: 0x540 +class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "first dimension 0-2 (-1 disables)" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent1; // 0x180 + int32_t m_nComponent1; // 0x180 // MPropertyFriendlyName "second dimension 0-2 (-1 disables)" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent2; // 0x184 + int32_t m_nComponent2; // 0x184 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x188 + int32_t m_nControlPointNumber; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: // MPropertyFriendlyName "particle density" - CPerParticleFloatInput m_flParticleDensity; // 0x190 + CPerParticleFloatInput m_flParticleDensity; // 0x190 // MPropertyFriendlyName "point offset" - CPerParticleFloatInput m_flOffset; // 0x278 + CPerParticleFloatInput m_flOffset; // 0x278 // MPropertyFriendlyName "radius 1" - CPerParticleFloatInput m_flRadius1; // 0x360 + CPerParticleFloatInput m_flRadius1; // 0x360 // MPropertyFriendlyName "radius 2" - CPerParticleFloatInput m_flRadius2; // 0x448 + CPerParticleFloatInput m_flRadius2; // 0x448 // MPropertyFriendlyName "use particle count instead of creation time" - bool m_bUseCount; // 0x530 + bool m_bUseCount; // 0x530 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x531 + bool m_bUseLocalCoords; // 0x531 // MPropertyFriendlyName "offset from existing position" - bool m_bOffsetExistingPos; // 0x532 + bool m_bOffsetExistingPos; // 0x532 }; -// Aligment: 14 -// Size: 432 -class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 14 +// Size: 0x1b0 +class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "scale size multiplier from CP" - int32_t m_nScaleCP; // 0x184 + int32_t m_nScaleCP; // 0x184 // MPropertyFriendlyName "scale CP component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x188 + int32_t m_nComponent; // 0x188 // MPropertyFriendlyName "center core radius" - float m_fRadCentCore; // 0x18c + float m_fRadCentCore; // 0x18c // MPropertyFriendlyName "radius multiplier" - float m_fRadPerPoint; // 0x190 + float m_fRadPerPoint; // 0x190 // MPropertyFriendlyName "radius max (-1 procedural growth)" - float m_fRadPerPointTo; // 0x194 + float m_fRadPerPointTo; // 0x194 // MPropertyFriendlyName "golden angle (is 137.508)" - float m_fpointAngle; // 0x198 + float m_fpointAngle; // 0x198 // MPropertyFriendlyName "overall size multiplier (-1 count based distribution)" - float m_fsizeOverall; // 0x19c + float m_fsizeOverall; // 0x19c // MPropertyFriendlyName "radius bias" - float m_fRadBias; // 0x1a0 + float m_fRadBias; // 0x1a0 // MPropertyFriendlyName "radius min " - float m_fMinRad; // 0x1a4 + float m_fMinRad; // 0x1a4 // MPropertyFriendlyName "distribution bias" - float m_fDistBias; // 0x1a8 + float m_fDistBias; // 0x1a8 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x1ac + bool m_bUseLocalCoords; // 0x1ac // MPropertyFriendlyName "use continuous emission" - bool m_bUseWithContEmit; // 0x1ad + bool m_bUseWithContEmit; // 0x1ad // MPropertyFriendlyName "scale radius from initial value" - bool m_bUseOrigRadius; // 0x1ae + bool m_bUseOrigRadius; // 0x1ae }; -// Aligment: 11 -// Size: 2688 -class C_INIT_CreateOnModel : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 11 +// Size: 0xa80 +class C_INIT_CreateOnModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x184 + int32_t m_nForceInModel; // 0x184 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x188 + int32_t m_nDesiredHitbox; // 0x188 // MPropertyFriendlyName "Control Point Providing Hitbox index" - int32_t m_nHitboxValueFromControlPointIndex; // 0x18c + int32_t m_nHitboxValueFromControlPointIndex; // 0x18c // MPropertyFriendlyName "hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x190 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x190 // MPropertyFriendlyName "inherited velocity scale" - float m_flBoneVelocity; // 0x5c0 + float m_flBoneVelocity; // 0x5c0 // MPropertyFriendlyName "maximum inherited velocity" - float m_flMaxBoneVelocity; // 0x5c4 + float m_flMaxBoneVelocity; // 0x5c4 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x5c8 + CParticleCollectionVecInput m_vecDirectionBias; // 0x5c8 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x9f8 + char m_HitboxSetName[128]; // 0x9f8 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xa78 + bool m_bLocalCoords; // 0xa78 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0xa79 + bool m_bUseBones; // 0xa79 }; -// Aligment: 14 -// Size: 3376 -class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 14 +// Size: 0xd30 +class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x180 + bool m_bUseBones; // 0x180 // MPropertyFriendlyName "force creation height to desired height" - bool m_bForceZ; // 0x181 + bool m_bForceZ; // 0x181 +private: + [[maybe_unused]] uint8_t __pad0182[0x2]; // 0x182 +public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x184 + int32_t m_nControlPointNumber; // 0x184 // MPropertyFriendlyName "height override control point number" - int32_t m_nHeightCP; // 0x188 + int32_t m_nHeightCP; // 0x188 // MPropertyFriendlyName "desired height is relative to water" - bool m_bUseWaterHeight; // 0x18c + bool m_bUseWaterHeight; // 0x18c +private: + [[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d +public: // MPropertyFriendlyName "relative desired height" - CParticleCollectionFloatInput m_flDesiredHeight; // 0x190 + CParticleCollectionFloatInput m_flDesiredHeight; // 0x190 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x278 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x278 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x6a8 + CParticleCollectionVecInput m_vecDirectionBias; // 0x6a8 // MPropertyFriendlyName "bias type" - ParticleHitboxBiasType_t m_nBiasType; // 0xad8 + ParticleHitboxBiasType_t m_nBiasType; // 0xad8 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xadc + bool m_bLocalCoords; // 0xadc // MPropertyFriendlyName "bias prefers moving hitboxes" - bool m_bPreferMovingBoxes; // 0xadd + bool m_bPreferMovingBoxes; // 0xadd // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0xade + char m_HitboxSetName[128]; // 0xade +private: + [[maybe_unused]] uint8_t __pad0b5e[0x2]; // 0xb5e +public: // MPropertyFriendlyName "hitbox velocity inherited scale" - CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xb60 + CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xb60 // MPropertyFriendlyName "max hitbox velocity" - CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0xc48 + CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0xc48 }; -// Aligment: 9 -// Size: 1840 -class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 9 +// Size: 0x730 +class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x184 + int32_t m_nDesiredHitbox; // 0x184 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x188 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x188 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x5b8 + char m_HitboxSetName[128]; // 0x5b8 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x638 + bool m_bUseBones; // 0x638 // MPropertyFriendlyName "get closest point on closest hitbox" - bool m_bUseClosestPointOnHitbox; // 0x639 + bool m_bUseClosestPointOnHitbox; // 0x639 +private: + [[maybe_unused]] uint8_t __pad063a[0x2]; // 0x63a +public: // MPropertyFriendlyName "closest point test type" - ClosestPointTestType_t m_nTestType; // 0x63c + ClosestPointTestType_t m_nTestType; // 0x63c // MPropertyFriendlyName "hybrid ratio" - CParticleCollectionFloatInput m_flHybridRatio; // 0x640 + CParticleCollectionFloatInput m_flHybridRatio; // 0x640 // MPropertyFriendlyName "set initial position" - bool m_bUpdatePosition; // 0x728 + bool m_bUpdatePosition; // 0x728 }; -// Aligment: 8 -// Size: 1616 -class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 8 +// Size: 0x650 +class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x184 + int32_t m_nForceInModel; // 0x184 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x188 + int32_t m_nDesiredHitbox; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x190 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x190 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - Vector m_vecDirectionBias; // 0x5c0 + Vector m_vecDirectionBias; // 0x5c0 // MPropertyFriendlyName "maintain existing hitbox" - bool m_bMaintainHitbox; // 0x5cc + bool m_bMaintainHitbox; // 0x5cc // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x5cd + bool m_bUseBones; // 0x5cd // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x5ce + char m_HitboxSetName[128]; // 0x5ce }; -// Aligment: 17 -// Size: 4576 -class C_INIT_CreateWithinSphere : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 17 +// Size: 0x11e0 +class C_INIT_CreateWithinSphere : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "distance min" - CPerParticleFloatInput m_fRadiusMin; // 0x180 + CPerParticleFloatInput m_fRadiusMin; // 0x180 // MPropertyFriendlyName "distance max" - CPerParticleFloatInput m_fRadiusMax; // 0x268 + CPerParticleFloatInput m_fRadiusMax; // 0x268 // MPropertyFriendlyName "distance bias" // MVectorIsCoordinate - CPerParticleVecInput m_vecDistanceBias; // 0x350 + CPerParticleVecInput m_vecDistanceBias; // 0x350 // MPropertyFriendlyName "distance bias absolute value" // MVectorIsCoordinate - Vector m_vecDistanceBiasAbs; // 0x780 + Vector m_vecDistanceBiasAbs; // 0x780 // MPropertyFriendlyName "randomly distribute between the control point and control point max" - bool m_bDistributeInCPRange; // 0x78c + bool m_bDistributeInCPRange; // 0x78c +private: + [[maybe_unused]] uint8_t __pad078d[0x3]; // 0x78d +public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x790 + int32_t m_nControlPointNumber; // 0x790 // MPropertyFriendlyName "max control point number" // MPropertySuppressExpr "m_bDistributeInCPRange != true" - int32_t m_nControlPointNumberMax; // 0x794 + int32_t m_nControlPointNumberMax; // 0x794 // MPropertyFriendlyName "speed min" - CPerParticleFloatInput m_fSpeedMin; // 0x798 + CPerParticleFloatInput m_fSpeedMin; // 0x798 // MPropertyFriendlyName "speed max" - CPerParticleFloatInput m_fSpeedMax; // 0x880 + CPerParticleFloatInput m_fSpeedMax; // 0x880 // MPropertyFriendlyName "speed random exponent" - float m_fSpeedRandExp; // 0x968 + float m_fSpeedRandExp; // 0x968 // MPropertyFriendlyName "bias in local system" - bool m_bLocalCoords; // 0x96c + bool m_bLocalCoords; // 0x96c +private: + [[maybe_unused]] uint8_t __pad096d[0x1]; // 0x96d +public: // MPropertyFriendlyName "randomly distribute to highest supplied control point" // MParticleMaxVersion - bool m_bUseHighestEndCP; // 0x96e + bool m_bUseHighestEndCP; // 0x96e +private: + [[maybe_unused]] uint8_t __pad096f[0x1]; // 0x96f +public: // MPropertyFriendlyName "randomly distribution growth time" - float m_flEndCPGrowthTime; // 0x970 + float m_flEndCPGrowthTime; // 0x970 +private: + [[maybe_unused]] uint8_t __pad0974[0x4]; // 0x974 +public: // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x978 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x978 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xda8 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xda8 // MPropertyFriendlyName "Output vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x11d8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x11d8 // MPropertyFriendlyName "Velocity vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldVelocity; // 0x11dc + ParticleAttributeIndex_t m_nFieldVelocity; // 0x11dc }; -// Aligment: 4 -// Size: 2544 -class C_INIT_CreateWithinBox : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 4 +// Size: 0x9f0 +class C_INIT_CreateWithinBox : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" // MVectorIsCoordinate - CPerParticleVecInput m_vecMin; // 0x180 + CPerParticleVecInput m_vecMin; // 0x180 // MPropertyFriendlyName "max" // MVectorIsCoordinate - CPerParticleVecInput m_vecMax; // 0x5b0 + CPerParticleVecInput m_vecMax; // 0x5b0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x9e0 + int32_t m_nControlPointNumber; // 0x9e0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x9e4 + bool m_bLocalSpace; // 0x9e4 }; -// Aligment: 10 -// Size: 1792 -class C_INIT_CreateOnGrid : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 10 +// Size: 0x700 +class C_INIT_CreateOnGrid : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "X Dimension Count" - CParticleCollectionFloatInput m_nXCount; // 0x180 + CParticleCollectionFloatInput m_nXCount; // 0x180 // MPropertyFriendlyName "Y Dimension Count" - CParticleCollectionFloatInput m_nYCount; // 0x268 + CParticleCollectionFloatInput m_nYCount; // 0x268 // MPropertyFriendlyName "Z Dimension Count" - CParticleCollectionFloatInput m_nZCount; // 0x350 + CParticleCollectionFloatInput m_nZCount; // 0x350 // MPropertyFriendlyName "X Dimension Spacing" - CParticleCollectionFloatInput m_nXSpacing; // 0x438 + CParticleCollectionFloatInput m_nXSpacing; // 0x438 // MPropertyFriendlyName "Y Dimension Spacing" - CParticleCollectionFloatInput m_nYSpacing; // 0x520 + CParticleCollectionFloatInput m_nYSpacing; // 0x520 // MPropertyFriendlyName "Z Dimension Spacing" - CParticleCollectionFloatInput m_nZSpacing; // 0x608 + CParticleCollectionFloatInput m_nZSpacing; // 0x608 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x6f0 + int32_t m_nControlPointNumber; // 0x6f0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x6f4 + bool m_bLocalSpace; // 0x6f4 // MPropertyFriendlyName "center around control point" - bool m_bCenter; // 0x6f5 + bool m_bCenter; // 0x6f5 // MPropertyFriendlyName "hollow" - bool m_bHollow; // 0x6f6 + bool m_bHollow; // 0x6f6 }; -// Aligment: 5 -// Size: 2544 -class C_INIT_PositionOffset : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x9f0 +class C_INIT_PositionOffset : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMin; // 0x180 + CPerParticleVecInput m_OffsetMin; // 0x180 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMax; // 0x5b0 + CPerParticleVecInput m_OffsetMax; // 0x5b0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x9e0 + int32_t m_nControlPointNumber; // 0x9e0 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x9e4 + bool m_bLocalCoords; // 0x9e4 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0x9e5 + bool m_bProportional; // 0x9e5 }; -// Aligment: 3 -// Size: 400 -class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "creation control point number" - int32_t m_nControlPointNumberStart; // 0x180 + int32_t m_nControlPointNumberStart; // 0x180 // MPropertyFriendlyName "offset control point number" - int32_t m_nControlPointNumberEnd; // 0x184 + int32_t m_nControlPointNumberEnd; // 0x184 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x188 + bool m_bLocalCoords; // 0x188 }; -// Aligment: 13 -// Size: 1024 -class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 13 +// Size: 0x400 +class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x180 + CPerParticleFloatInput m_flOffset; // 0x180 // MPropertyFriendlyName "max trace length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x268 + CPerParticleFloatInput m_flMaxTraceLength; // 0x268 // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x350 + char m_CollisionGroupName[128]; // 0x350 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3d0 + ParticleTraceSet_t m_nTraceSet; // 0x3d0 +private: + [[maybe_unused]] uint8_t __pad03d4[0xc]; // 0x3d4 +public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3e0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3e0 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x3e4 + bool m_bIncludeWater; // 0x3e4 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x3e5 + bool m_bSetNormal; // 0x3e5 // MPropertyFriendlyName "set Previous XYZ only" - bool m_bSetPXYZOnly; // 0x3e6 + bool m_bSetPXYZOnly; // 0x3e6 // MPropertyFriendlyName "Trace along particle normal" - bool m_bTraceAlongNormal; // 0x3e7 + bool m_bTraceAlongNormal; // 0x3e7 // MPropertyFriendlyName "Offset only if trace hit" - bool m_bOffsetonColOnly; // 0x3e8 + bool m_bOffsetonColOnly; // 0x3e8 +private: + [[maybe_unused]] uint8_t __pad03e9[0x3]; // 0x3e9 +public: // MPropertyFriendlyName "offset final position by this fraction of the particle radius" - float m_flOffsetByRadiusFactor; // 0x3ec + float m_flOffsetByRadiusFactor; // 0x3ec // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x3f0 + int32_t m_nPreserveOffsetCP; // 0x3f0 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x3f4 + int32_t m_nIgnoreCP; // 0x3f4 }; -// Aligment: 3 -// Size: 400 -class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x180 + float m_fSpeedMin; // 0x180 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x184 + float m_fSpeedMax; // 0x184 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x188 + bool m_bIgnoreDt; // 0x188 }; -// Aligment: 6 -// Size: 3008 -class C_INIT_VelocityRandom : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 6 +// Size: 0xbc0 +class C_INIT_VelocityRandom : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "random speed min" - CPerParticleFloatInput m_fSpeedMin; // 0x188 + CPerParticleFloatInput m_fSpeedMin; // 0x188 // MPropertyFriendlyName "random speed max" - CPerParticleFloatInput m_fSpeedMax; // 0x270 + CPerParticleFloatInput m_fSpeedMax; // 0x270 // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x358 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x358 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x788 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x788 // MPropertyFriendlyName "Ignore delta time (RenderTrails)" - bool m_bIgnoreDT; // 0xbb8 + bool m_bIgnoreDT; // 0xbb8 }; -// Aligment: 11 -// Size: 4336 -class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 11 +// Size: 0x10f0 +class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "absolute value" // MVectorIsCoordinate - Vector m_vecAbsVal; // 0x180 + Vector m_vecAbsVal; // 0x180 // MPropertyFriendlyName "invert abs value" // MVectorIsCoordinate - Vector m_vecAbsValInv; // 0x18c + Vector m_vecAbsValInv; // 0x18c // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetLoc; // 0x198 + CPerParticleVecInput m_vecOffsetLoc; // 0x198 // MPropertyFriendlyName "time coordinate offset" - CPerParticleFloatInput m_flOffset; // 0x5c8 + CPerParticleFloatInput m_flOffset; // 0x5c8 // MPropertyFriendlyName "output minimum" - CPerParticleVecInput m_vecOutputMin; // 0x6b0 + CPerParticleVecInput m_vecOutputMin; // 0x6b0 // MPropertyFriendlyName "output maximum" - CPerParticleVecInput m_vecOutputMax; // 0xae0 + CPerParticleVecInput m_vecOutputMax; // 0xae0 // MPropertyFriendlyName "time noise coordinate scale" - CPerParticleFloatInput m_flNoiseScale; // 0xf10 + CPerParticleFloatInput m_flNoiseScale; // 0xf10 // MPropertyFriendlyName "spatial noise coordinate scale" - CPerParticleFloatInput m_flNoiseScaleLoc; // 0xff8 + CPerParticleFloatInput m_flNoiseScaleLoc; // 0xff8 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x10e0 + int32_t m_nControlPointNumber; // 0x10e0 // MPropertyFriendlyName "apply velocity in local space (0/1)" - bool m_bLocalSpace; // 0x10e4 + bool m_bLocalSpace; // 0x10e4 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x10e5 + bool m_bIgnoreDt; // 0x10e5 }; -// Aligment: 5 -// Size: 528 -class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x210 +class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "velocity minimum" - float m_flVelocityMin; // 0x180 + float m_flVelocityMin; // 0x180 // MPropertyFriendlyName "velocity maximum" - float m_flVelocityMax; // 0x184 + float m_flVelocityMax; // 0x184 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x188 + int32_t m_nControlPointNumber; // 0x188 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x18c + char m_HitboxSetName[128]; // 0x18c // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x20c + bool m_bUseBones; // 0x20c }; -// Aligment: 5 -// Size: 416 -class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x1a0 +class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x184 + float m_fSpeedMin; // 0x184 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x188 + float m_fSpeedMax; // 0x188 // MPropertyFriendlyName "local space scale" - Vector m_vecLocalCoordinateSystemSpeedScale; // 0x18c + Vector m_vecLocalCoordinateSystemSpeedScale; // 0x18c +private: + [[maybe_unused]] uint8_t __pad0198[0x1]; // 0x198 +public: // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x199 + bool m_bIgnoreDelta; // 0x199 }; -// Aligment: 3 -// Size: 400 -class C_INIT_RandomLifeTime : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_INIT_RandomLifeTime : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "lifetime min" // MPropertyAttributeRange "0 20" - float m_fLifetimeMin; // 0x180 + float m_fLifetimeMin; // 0x180 // MPropertyFriendlyName "lifetime max" // MPropertyAttributeRange "0 20" - float m_fLifetimeMax; // 0x184 + float m_fLifetimeMax; // 0x184 // MPropertyFriendlyName "lifetime random exponent" - float m_fLifetimeRandExponent; // 0x188 + float m_fLifetimeRandExponent; // 0x188 }; -// Aligment: 4 -// Size: 400 -class C_INIT_RandomScalar : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_INIT_RandomScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x180 + float m_flMin; // 0x180 // MPropertyFriendlyName "max" - float m_flMax; // 0x184 + float m_flMax; // 0x184 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x188 + float m_flExponent; // 0x188 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x18c + ParticleAttributeIndex_t m_nFieldOutput; // 0x18c }; -// Aligment: 3 -// Size: 416 -class C_INIT_RandomVector : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x1a0 +class C_INIT_RandomVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" // MVectorIsSometimesCoordinate - Vector m_vecMin; // 0x180 + Vector m_vecMin; // 0x180 // MPropertyFriendlyName "max" // MVectorIsSometimesCoordinate - Vector m_vecMax; // 0x18c + Vector m_vecMax; // 0x18c // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x198 + ParticleAttributeIndex_t m_nFieldOutput; // 0x198 }; -// Aligment: 4 -// Size: 400 -class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x180 + float m_flMin; // 0x180 // MPropertyFriendlyName "max" - float m_flMax; // 0x184 + float m_flMax; // 0x184 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 // MPropertyFriendlyName "component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x18c + int32_t m_nComponent; // 0x18c }; -// Aligment: 5 -// Size: 432 -class C_INIT_AddVectorToVector : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x1b0 +class C_INIT_AddVectorToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "component scale factor" - Vector m_vecScale; // 0x180 + Vector m_vecScale; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x18c + ParticleAttributeIndex_t m_nFieldOutput; // 0x18c // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x190 + ParticleAttributeIndex_t m_nFieldInput; // 0x190 // MPropertyFriendlyName "random offset min" - Vector m_vOffsetMin; // 0x194 + Vector m_vOffsetMin; // 0x194 // MPropertyFriendlyName "random offset max" - Vector m_vOffsetMax; // 0x1a0 + Vector m_vOffsetMax; // 0x1a0 }; -// Aligment: 3 -// Size: 400 -class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x180 + float m_flMin; // 0x180 // MPropertyFriendlyName "max" - float m_flMax; // 0x184 + float m_flMax; // 0x184 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x188 + float m_flExponent; // 0x188 }; -// Aligment: 3 -// Size: 400 -class C_INIT_RandomRadius : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_INIT_RandomRadius : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "radius min" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMin; // 0x180 + float m_flRadiusMin; // 0x180 // MPropertyFriendlyName "radius max" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMax; // 0x184 + float m_flRadiusMax; // 0x184 // MPropertyFriendlyName "radius random exponent" // MPropertyAttributeRange "-2 2" - float m_flRadiusRandExponent; // 0x188 + float m_flRadiusRandExponent; // 0x188 }; -// Aligment: 4 -// Size: 416 -class C_INIT_RandomAlpha : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 4 +// Size: 0x1a0 +class C_INIT_RandomAlpha : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "alpha min" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMin; // 0x184 + int32_t m_nAlphaMin; // 0x184 // MPropertyFriendlyName "alpha max" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMax; // 0x188 + int32_t m_nAlphaMax; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x8]; // 0x18c +public: // MPropertyFriendlyName "alpha random exponent" - float m_flAlphaRandExponent; // 0x194 + float m_flAlphaRandExponent; // 0x194 }; -// Aligment: 6 -// Size: 432 -class CGeneralRandomRotation : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 6 +// Size: 0x1b0 +class CGeneralRandomRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "yaw offset min" - float m_flDegreesMin; // 0x180 + float m_flDegreesMin; // 0x180 // MPropertyFriendlyName "yaw offset max" - float m_flDegreesMax; // 0x184 + float m_flDegreesMax; // 0x184 // MPropertyFriendlyName "yaw initial" - float m_flDegrees; // 0x188 + float m_flDegrees; // 0x188 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x18c + ParticleAttributeIndex_t m_nFieldOutput; // 0x18c +private: + [[maybe_unused]] uint8_t __pad0190[0xc]; // 0x190 +public: // MPropertyFriendlyName "yaw random exponent" - float m_flRotationRandExponent; // 0x19c + float m_flRotationRandExponent; // 0x19c // MPropertyFriendlyName "randomly flip direction" - bool m_bRandomlyFlipDirection; // 0x1a0 + bool m_bRandomlyFlipDirection; // 0x1a0 }; -// Aligment: 0 -// Size: 432 -class C_INIT_RandomRotation : public CGeneralRandomRotation, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x1b0 +class C_INIT_RandomRotation : public CGeneralRandomRotation { public: -// + // no members available }; -// Aligment: 3 -// Size: 400 -class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x188 + float m_flRotOffset; // 0x188 }; -// Aligment: 0 -// Size: 432 -class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x1b0 +class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation { public: -// + // no members available }; -// Aligment: 0 -// Size: 432 -class C_INIT_RandomYaw : public CGeneralRandomRotation, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x1b0 +class C_INIT_RandomYaw : public CGeneralRandomRotation { public: -// + // no members available }; -// Aligment: 10 -// Size: 448 -class C_INIT_RandomColor : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 10 +// Size: 0x1c0 +class C_INIT_RandomColor : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x198 + Color m_ColorMin; // 0x198 // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x19c + Color m_ColorMax; // 0x19c // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x1a0 + Color m_TintMin; // 0x1a0 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x1a4 + Color m_TintMax; // 0x1a4 // MPropertyFriendlyName "tint perc" - float m_flTintPerc; // 0x1a8 + float m_flTintPerc; // 0x1a8 // MPropertyFriendlyName "tint update movement threshold" - float m_flUpdateThreshold; // 0x1ac + float m_flUpdateThreshold; // 0x1ac // MPropertyFriendlyName "tint control point" - int32_t m_nTintCP; // 0x1b0 + int32_t m_nTintCP; // 0x1b0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x1b8 + ParticleColorBlendMode_t m_nTintBlendMode; // 0x1b8 // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x1bc + float m_flLightAmplification; // 0x1bc }; -// Aligment: 7 -// Size: 448 -class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 7 +// Size: 0x1c0 +class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x198 + Color m_ColorMin; // 0x198 // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x19c + Color m_ColorMax; // 0x19c // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x1a0 + Color m_TintMin; // 0x1a0 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x1a4 + Color m_TintMax; // 0x1a4 // MPropertyFriendlyName "light bias" - float m_flTintPerc; // 0x1a8 + float m_flTintPerc; // 0x1a8 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x1ac + ParticleColorBlendMode_t m_nTintBlendMode; // 0x1ac // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x1b0 + float m_flLightAmplification; // 0x1b0 }; -// Aligment: 3 -// Size: 400 -class C_INIT_RandomTrailLength : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_INIT_RandomTrailLength : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "length min" - float m_flMinLength; // 0x180 + float m_flMinLength; // 0x180 // MPropertyFriendlyName "length max" - float m_flMaxLength; // 0x184 + float m_flMaxLength; // 0x184 // MPropertyFriendlyName "length random exponent" - float m_flLengthRandExponent; // 0x188 + float m_flLengthRandExponent; // 0x188 }; -// Aligment: 5 -// Size: 432 -class C_INIT_RandomSequence : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x1b0 +class C_INIT_RandomSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMin; // 0x180 + int32_t m_nSequenceMin; // 0x180 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMax; // 0x184 + int32_t m_nSequenceMax; // 0x184 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x188 + bool m_bShuffle; // 0x188 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x189 + bool m_bLinear; // 0x189 +private: + [[maybe_unused]] uint8_t __pad018a[0x6]; // 0x18a +public: // MPropertyFriendlyName "weighted list" - CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x190 + CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x190 }; -// Aligment: 4 -// Size: 416 -class C_INIT_SequenceFromCP : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 4 +// Size: 0x1a0 +class C_INIT_SequenceFromCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "kill unused" - bool m_bKillUnused; // 0x180 + bool m_bKillUnused; // 0x180 // MPropertyFriendlyName "offset propotional to radius" - bool m_bRadiusScale; // 0x181 + bool m_bRadiusScale; // 0x181 +private: + [[maybe_unused]] uint8_t __pad0182[0x2]; // 0x182 +public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x184 + int32_t m_nCP; // 0x184 // MPropertyFriendlyName "per particle spatial offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x188 + Vector m_vecOffset; // 0x188 }; -// Aligment: 2 -// Size: 656 -class C_INIT_RandomModelSequence : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 2 +// Size: 0x290 +class C_INIT_RandomModelSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "activity" - char[256] m_ActivityName; // 0x180 + char m_ActivityName[256]; // 0x180 // MPropertyFriendlyName "model" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x280 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x280 }; -// Aligment: 1 -// Size: 1456 -class C_INIT_ScaleVelocity : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 1 +// Size: 0x5b0 +class C_INIT_ScaleVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "velocity scale" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecScale; // 0x180 + CParticleCollectionVecInput m_vecScale; // 0x180 }; -// Aligment: 10 -// Size: 2560 -class C_INIT_PositionWarp : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 10 +// Size: 0xa00 +class C_INIT_PositionWarp : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMin; // 0x180 + CParticleCollectionVecInput m_vecWarpMin; // 0x180 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMax; // 0x5b0 + CParticleCollectionVecInput m_vecWarpMax; // 0x5b0 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0x9e0 + int32_t m_nScaleControlPointNumber; // 0x9e0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x9e4 + int32_t m_nControlPointNumber; // 0x9e4 // MPropertyFriendlyName "radius scale component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nRadiusComponent; // 0x9e8 + int32_t m_nRadiusComponent; // 0x9e8 // MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)" - float m_flWarpTime; // 0x9ec + float m_flWarpTime; // 0x9ec // MPropertyFriendlyName "warp transition start time" - float m_flWarpStartTime; // 0x9f0 + float m_flWarpStartTime; // 0x9f0 // MPropertyFriendlyName "previous position sacale" - float m_flPrevPosScale; // 0x9f4 + float m_flPrevPosScale; // 0x9f4 // MPropertyFriendlyName "reverse warp (0/1)" - bool m_bInvertWarp; // 0x9f8 + bool m_bInvertWarp; // 0x9f8 // MPropertyFriendlyName "use particle count instead of time" - bool m_bUseCount; // 0x9f9 + bool m_bUseCount; // 0x9f9 }; -// Aligment: 6 -// Size: 656 -class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 6 +// Size: 0x290 +class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - Vector m_vecWarpMin; // 0x180 + Vector m_vecWarpMin; // 0x180 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - Vector m_vecWarpMax; // 0x18c + Vector m_vecWarpMax; // 0x18c // MPropertyFriendlyName "warp amount" - CPerParticleFloatInput m_InputValue; // 0x198 + CPerParticleFloatInput m_InputValue; // 0x198 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x280 + float m_flPrevPosScale; // 0x280 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0x284 + int32_t m_nScaleControlPointNumber; // 0x284 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x288 + int32_t m_nControlPointNumber; // 0x288 }; -// Aligment: 10 -// Size: 432 -class C_INIT_CreationNoise : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 10 +// Size: 0x1b0 +class C_INIT_CreationNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x184 + bool m_bAbsVal; // 0x184 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x185 + bool m_bAbsValInv; // 0x185 +private: + [[maybe_unused]] uint8_t __pad0186[0x2]; // 0x186 +public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x188 + float m_flOffset; // 0x188 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x18c + float m_flOutputMin; // 0x18c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x190 + float m_flOutputMax; // 0x190 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x194 + float m_flNoiseScale; // 0x194 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x198 + float m_flNoiseScaleLoc; // 0x198 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x19c + Vector m_vecOffsetLoc; // 0x19c // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x1a8 + float m_flWorldTimeScale; // 0x1a8 }; -// Aligment: 5 -// Size: 496 -class C_INIT_CreateAlongPath : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x1f0 +class C_INIT_CreateAlongPath : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x180 - CPathParameters m_PathParams; // 0x190 + float m_fMaxDistance; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0xc]; // 0x184 +public: + CPathParameters m_PathParams; // 0x190 // MPropertyFriendlyName "randomly select sequential CP pairs between start and end points" - bool m_bUseRandomCPs; // 0x1d0 + bool m_bUseRandomCPs; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 +public: // MPropertyFriendlyName "Offset from control point for path end" // MVectorIsCoordinate - Vector m_vEndOffset; // 0x1d4 + Vector m_vEndOffset; // 0x1d4 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x1e0 + bool m_bSaveOffset; // 0x1e0 }; -// Aligment: 7 -// Size: 1552 -class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 7 +// Size: 0x610 +class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "minimum speed" - CPerParticleFloatInput m_flSpeedMin; // 0x180 + CPerParticleFloatInput m_flSpeedMin; // 0x180 // MPropertyFriendlyName "maximum speed" - CPerParticleFloatInput m_flSpeedMax; // 0x268 + CPerParticleFloatInput m_flSpeedMax; // 0x268 // MPropertyFriendlyName "end spread" - CPerParticleFloatInput m_flEndSpread; // 0x350 + CPerParticleFloatInput m_flEndSpread; // 0x350 // MPropertyFriendlyName "start offset" - CPerParticleFloatInput m_flStartOffset; // 0x438 + CPerParticleFloatInput m_flStartOffset; // 0x438 // MPropertyFriendlyName "end offset" - CPerParticleFloatInput m_flEndOffset; // 0x520 + CPerParticleFloatInput m_flEndOffset; // 0x520 // MPropertyFriendlyName "end control point" - int32_t m_nEndControlPointNumber; // 0x608 + int32_t m_nEndControlPointNumber; // 0x608 // MPropertyFriendlyName "bias lifetime by trail length" - bool m_bTrailBias; // 0x60c + bool m_bTrailBias; // 0x60c }; -// Aligment: 11 -// Size: 432 -class C_INIT_RemapScalar : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 11 +// Size: 0x1b0 +class C_INIT_RemapScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 + ParticleAttributeIndex_t m_nFieldInput; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x188 + float m_flInputMin; // 0x188 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x18c + float m_flInputMax; // 0x18c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x190 + float m_flOutputMin; // 0x190 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x194 + float m_flOutputMax; // 0x194 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x198 + float m_flStartTime; // 0x198 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x19c + float m_flEndTime; // 0x19c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a0 + ParticleSetMethod_t m_nSetMethod; // 0x1a0 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x1a4 + bool m_bActiveRange; // 0x1a4 +private: + [[maybe_unused]] uint8_t __pad01a5[0x3]; // 0x1a5 +public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x1a8 + float m_flRemapBias; // 0x1a8 }; -// Aligment: 12 -// Size: 432 -class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 12 +// Size: 0x1b0 +class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x184 + int32_t m_nInputMin; // 0x184 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x188 + int32_t m_nInputMax; // 0x188 // MPropertyFriendlyName "input scale control point" - int32_t m_nScaleControlPoint; // 0x18c + int32_t m_nScaleControlPoint; // 0x18c // MPropertyFriendlyName "input scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x190 + int32_t m_nScaleControlPointField; // 0x190 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 + float m_flOutputMin; // 0x194 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 + float m_flOutputMax; // 0x198 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x19c + ParticleSetMethod_t m_nSetMethod; // 0x19c // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x1a0 + bool m_bActiveRange; // 0x1a0 // MPropertyFriendlyName "invert input from total particle count" - bool m_bInvert; // 0x1a1 + bool m_bInvert; // 0x1a1 // MPropertyFriendlyName "wrap input" - bool m_bWrap; // 0x1a2 + bool m_bWrap; // 0x1a2 +private: + [[maybe_unused]] uint8_t __pad01a3[0x1]; // 0x1a3 +public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x1a4 + float m_flRemapBias; // 0x1a4 }; -// Aligment: 4 -// Size: 464 -class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction +// Alignment: 4 +// Size: 0x1d0 +class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar { public: // MPropertyFriendlyName "model" // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1b0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1b0 // MPropertyFriendlyName "output min name" - CUtlString m_outputMinName; // 0x1b8 + CUtlString m_outputMinName; // 0x1b8 // MPropertyFriendlyName "output max name" - CUtlString m_outputMaxName; // 0x1c0 + CUtlString m_outputMaxName; // 0x1c0 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x1c8 + bool m_bModelFromRenderer; // 0x1c8 }; -// Aligment: 0 -// Size: 464 -class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar, C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x1d0 +class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: -// + // no members available }; -// Aligment: 0 -// Size: 464 -class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar, C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x1d0 +class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: -// + // no members available }; -// Aligment: 0 -// Size: 464 -class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar, C_INIT_RemapParticleCountToScalar, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x1d0 +class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: -// + // no members available }; -// Aligment: 2 -// Size: 400 -class C_INIT_InheritVelocity : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_INIT_InheritVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x184 + float m_flVelocityScale; // 0x184 }; -// Aligment: 5 -// Size: 416 -class C_INIT_VelocityFromCP : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x1a0 +class C_INIT_VelocityFromCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPoint; // 0x180 + int32_t m_nControlPoint; // 0x180 // MPropertyFriendlyName "comparison control point number" - int32_t m_nControlPointCompare; // 0x184 + int32_t m_nControlPointCompare; // 0x184 // MPropertyFriendlyName "local space control point number" - int32_t m_nControlPointLocal; // 0x188 + int32_t m_nControlPointLocal; // 0x188 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x18c + float m_flVelocityScale; // 0x18c // MPropertyFriendlyName "direction only" - bool m_bDirectionOnly; // 0x190 + bool m_bDirectionOnly; // 0x190 }; -// Aligment: 8 -// Size: 432 -class C_INIT_AgeNoise : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 8 +// Size: 0x1b0 +class C_INIT_AgeNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x180 + bool m_bAbsVal; // 0x180 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x181 + bool m_bAbsValInv; // 0x181 +private: + [[maybe_unused]] uint8_t __pad0182[0x2]; // 0x182 +public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x184 + float m_flOffset; // 0x184 // MPropertyFriendlyName "start age minimum" - float m_flAgeMin; // 0x188 + float m_flAgeMin; // 0x188 // MPropertyFriendlyName "start age maximum" - float m_flAgeMax; // 0x18c + float m_flAgeMax; // 0x18c // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x190 + float m_flNoiseScale; // 0x190 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x194 + float m_flNoiseScaleLoc; // 0x194 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x198 + Vector m_vecOffsetLoc; // 0x198 }; -// Aligment: 1 -// Size: 400 -class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "frames per second" - float m_flFramerate; // 0x180 + float m_flFramerate; // 0x180 }; -// Aligment: 12 -// Size: 464 -class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 12 +// Size: 0x1d0 +class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 + ParticleAttributeIndex_t m_nFieldInput; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x188 + float m_flInputMin; // 0x188 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x18c + float m_flInputMax; // 0x18c // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x190 + Vector m_vecOutputMin; // 0x190 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x19c + Vector m_vecOutputMax; // 0x19c // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1a8 + float m_flStartTime; // 0x1a8 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1ac + float m_flEndTime; // 0x1ac // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1b0 + ParticleSetMethod_t m_nSetMethod; // 0x1b0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1b4 + int32_t m_nControlPointNumber; // 0x1b4 // MPropertyFriendlyName "use local system" - bool m_bLocalCoords; // 0x1b8 + bool m_bLocalCoords; // 0x1b8 +private: + [[maybe_unused]] uint8_t __pad01b9[0x3]; // 0x1b9 +public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x1bc + float m_flRemapBias; // 0x1bc }; -// Aligment: 4 -// Size: 416 -class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 4 +// Size: 0x1a0 +class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 + ParticleAttributeIndex_t m_nFieldInput; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "output offset minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x188 + Vector m_vecOutputMin; // 0x188 // MPropertyFriendlyName "output offset maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x194 + Vector m_vecOutputMax; // 0x194 }; -// Aligment: 6 -// Size: 480 -class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 6 +// Size: 0x1e0 +class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x180 + float m_fMaxDistance; // 0x180 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x184 + float m_flNumToAssign; // 0x184 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x188 + bool m_bLoop; // 0x188 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x189 + bool m_bCPPairs; // 0x189 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x18a - CPathParameters m_PathParams; // 0x190 + bool m_bSaveOffset; // 0x18a +private: + [[maybe_unused]] uint8_t __pad018b[0x5]; // 0x18b +public: + CPathParameters m_PathParams; // 0x190 }; -// Aligment: 6 -// Size: 464 -class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 6 +// Size: 0x1d0 +class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x180 + float m_fMaxDistance; // 0x180 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x184 + float m_flNumToAssign; // 0x184 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x188 + bool m_bLoop; // 0x188 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x189 + bool m_bCPPairs; // 0x189 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x18a - CPathParameters m_PathParams; // 0x190 + bool m_bSaveOffset; // 0x18a +private: + [[maybe_unused]] uint8_t __pad018b[0x5]; // 0x18b +public: + CPathParameters m_PathParams; // 0x190 }; -// Aligment: 13 -// Size: 576 -class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 13 +// Size: 0x240 +class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x180 + char m_CollisionGroupName[128]; // 0x180 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x200 + ParticleTraceSet_t m_nTraceSet; // 0x200 // MPropertyFriendlyName "minimum velocity" // MVectorIsCoordinate - Vector m_vecOutputMin; // 0x204 + Vector m_vecOutputMin; // 0x204 // MPropertyFriendlyName "maximum velocity" // MVectorIsCoordinate - Vector m_vecOutputMax; // 0x210 + Vector m_vecOutputMax; // 0x210 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x21c + int32_t m_nControlPointNumber; // 0x21c // MPropertyFriendlyName "per particle world collision tests" - bool m_bPerParticle; // 0x220 + bool m_bPerParticle; // 0x220 // MPropertyFriendlyName "offset instead of accelerate" - bool m_bTranslate; // 0x221 + bool m_bTranslate; // 0x221 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0x222 + bool m_bProportional; // 0x222 +private: + [[maybe_unused]] uint8_t __pad0223[0x1]; // 0x223 +public: // MPropertyFriendlyName "trace length" - float m_flTraceLength; // 0x224 + float m_flTraceLength; // 0x224 // MPropertyFriendlyName "use radius for per particle trace length" - bool m_bPerParticleTR; // 0x228 + bool m_bPerParticleTR; // 0x228 // MPropertyFriendlyName "inherit from parent" - bool m_bInherit; // 0x229 + bool m_bInherit; // 0x229 +private: + [[maybe_unused]] uint8_t __pad022a[0x2]; // 0x22a +public: // MPropertyFriendlyName "control points to broadcast to children (n + 1)" - int32_t m_nChildCP; // 0x22c + int32_t m_nChildCP; // 0x22c // MPropertyFriendlyName "child group ID to affect" - int32_t m_nChildGroupID; // 0x230 + int32_t m_nChildGroupID; // 0x230 }; -// Aligment: 1 -// Size: 400 -class C_INIT_RandomYawFlip : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_INIT_RandomYawFlip : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "flip percentage" - float m_flPercent; // 0x180 + float m_flPercent; // 0x180 }; -// Aligment: 2 -// Size: 400 -class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMin; // 0x180 + int32_t m_nSequenceMin; // 0x180 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMax; // 0x184 + int32_t m_nSequenceMax; // 0x184 }; -// Aligment: 11 -// Size: 432 -class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 11 +// Size: 0x1b0 +class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x180 + int32_t m_nCPInput; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x188 + int32_t m_nField; // 0x188 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x18c + float m_flInputMin; // 0x18c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x190 + float m_flInputMax; // 0x190 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 + float m_flOutputMin; // 0x194 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 + float m_flOutputMax; // 0x198 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x19c + float m_flStartTime; // 0x19c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1a0 + float m_flEndTime; // 0x1a0 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a4 + ParticleSetMethod_t m_nSetMethod; // 0x1a4 // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x1a8 + float m_flRemapBias; // 0x1a8 }; -// Aligment: 13 -// Size: 480 -class C_INIT_RemapCPtoVector : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 13 +// Size: 0x1e0 +class C_INIT_RemapCPtoVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x180 + int32_t m_nCPInput; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "input minimum" // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x188 + Vector m_vInputMin; // 0x188 // MPropertyFriendlyName "input maximum" // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x194 + Vector m_vInputMax; // 0x194 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x1a0 + Vector m_vOutputMin; // 0x1a0 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x1ac + Vector m_vOutputMax; // 0x1ac // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1b8 + float m_flStartTime; // 0x1b8 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1bc + float m_flEndTime; // 0x1bc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c0 + ParticleSetMethod_t m_nSetMethod; // 0x1c0 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x1c4 + bool m_bOffset; // 0x1c4 // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x1c5 + bool m_bAccelerate; // 0x1c5 +private: + [[maybe_unused]] uint8_t __pad01c6[0x2]; // 0x1c6 +public: // MPropertyFriendlyName "local space CP" - int32_t m_nLocalSpaceCP; // 0x1c8 + int32_t m_nLocalSpaceCP; // 0x1c8 // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x1cc + float m_flRemapBias; // 0x1cc }; -// Aligment: 9 -// Size: 432 -class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 9 +// Size: 0x1b0 +class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "pickover A parameter" - float m_flAParm; // 0x180 + float m_flAParm; // 0x180 // MPropertyFriendlyName "pickover B parameter" - float m_flBParm; // 0x184 + float m_flBParm; // 0x184 // MPropertyFriendlyName "pickover C parameter" - float m_flCParm; // 0x188 + float m_flCParm; // 0x188 // MPropertyFriendlyName "pickover D parameter" - float m_flDParm; // 0x18c + float m_flDParm; // 0x18c // MPropertyFriendlyName "scale" - float m_flScale; // 0x190 + float m_flScale; // 0x190 // MPropertyFriendlyName "speed min" - float m_flSpeedMin; // 0x194 + float m_flSpeedMin; // 0x194 // MPropertyFriendlyName "speed max" - float m_flSpeedMax; // 0x198 + float m_flSpeedMax; // 0x198 // MPropertyFriendlyName "relative control point number" - int32_t m_nBaseCP; // 0x19c + int32_t m_nBaseCP; // 0x19c // MPropertyFriendlyName "uniform speed" - bool m_bUniformSpeed; // 0x1a0 + bool m_bUniformSpeed; // 0x1a0 }; -// Aligment: 5 -// Size: 416 -class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x1a0 +class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "inherited velocity scale" - float m_flVelocityScale; // 0x180 + float m_flVelocityScale; // 0x180 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x184 + float m_flIncrement; // 0x184 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x188 + bool m_bRandomDistribution; // 0x188 +private: + [[maybe_unused]] uint8_t __pad0189[0x3]; // 0x189 +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x18c + int32_t m_nRandomSeed; // 0x18c // MPropertyFriendlyName "sub frame interpolation" - bool m_bSubFrame; // 0x190 + bool m_bSubFrame; // 0x190 }; -// Aligment: 5 -// Size: 416 -class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x1a0 +class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x180 + float m_flScale; // 0x180 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x188 + int32_t m_nIncrement; // 0x188 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x18c + bool m_bRandomDistribution; // 0x18c +private: + [[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x190 + int32_t m_nRandomSeed; // 0x190 }; -// Aligment: 4 -// Size: 640 -class C_INIT_CreateFromCPs : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 4 +// Size: 0x280 +class C_INIT_CreateFromCPs : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point increment amount" - int32_t m_nIncrement; // 0x180 + int32_t m_nIncrement; // 0x180 // MPropertyFriendlyName "starting control point" - int32_t m_nMinCP; // 0x184 + int32_t m_nMinCP; // 0x184 // MPropertyFriendlyName "ending control point" // MParticleMinVersion - int32_t m_nMaxCP; // 0x188 + int32_t m_nMaxCP; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: // MPropertyFriendlyName "dynamic control point count" - CParticleCollectionFloatInput m_nDynamicCPCount; // 0x190 + CParticleCollectionFloatInput m_nDynamicCPCount; // 0x190 }; -// Aligment: 15 -// Size: 1728 -class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 15 +// Size: 0x6c0 +class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x188 + CPerParticleFloatInput m_flInputMin; // 0x188 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x270 + CPerParticleFloatInput m_flInputMax; // 0x270 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x358 + CPerParticleFloatInput m_flOutputMin; // 0x358 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x440 + CPerParticleFloatInput m_flOutputMax; // 0x440 // MPropertyFriendlyName "control point" - int32_t m_nStartCP; // 0x528 + int32_t m_nStartCP; // 0x528 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x52c + bool m_bLOS; // 0x52c // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x52d + char m_CollisionGroupName[128]; // 0x52d +private: + [[maybe_unused]] uint8_t __pad05ad[0x3]; // 0x5ad +public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x5b0 + ParticleTraceSet_t m_nTraceSet; // 0x5b0 +private: + [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 +public: // MPropertyFriendlyName "Maximum Trace Length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x5b8 + CPerParticleFloatInput m_flMaxTraceLength; // 0x5b8 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x6a0 + float m_flLOSScale; // 0x6a0 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x6a4 + ParticleSetMethod_t m_nSetMethod; // 0x6a4 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x6a8 + bool m_bActiveRange; // 0x6a8 +private: + [[maybe_unused]] uint8_t __pad06a9[0x3]; // 0x6a9 +public: // MPropertyFriendlyName "distance component scale" - Vector m_vecDistanceScale; // 0x6ac + Vector m_vecDistanceScale; // 0x6ac // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x6b8 + float m_flRemapBias; // 0x6b8 }; -// Aligment: 8 -// Size: 576 -class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 8 +// Size: 0x240 +class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "bias distance" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x180 + Vector m_vecComponentScale; // 0x180 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x18c + float m_flTraceOffset; // 0x18c // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x190 + float m_flMaxTraceLength; // 0x190 // MPropertyFriendlyName "trace recycle tolerance" - float m_flTraceTolerance; // 0x194 + float m_flTraceTolerance; // 0x194 // MPropertyFriendlyName "maximum points to cache" - int32_t m_nMaxPlanes; // 0x198 + int32_t m_nMaxPlanes; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c +public: // MPropertyFriendlyName "trace collision group" - char[128] m_CollisionGroupName; // 0x1a0 + char m_CollisionGroupName[128]; // 0x1a0 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x220 + ParticleTraceSet_t m_nTraceSet; // 0x220 +private: + [[maybe_unused]] uint8_t __pad0224[0xc]; // 0x224 +public: // MPropertyFriendlyName "collide with water" - bool m_bIncludeWater; // 0x230 + bool m_bIncludeWater; // 0x230 }; -// Aligment: 3 -// Size: 416 -class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x1a0 +class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "local offset min" // MVectorIsCoordinate - Vector m_vecOffsetMin; // 0x180 + Vector m_vecOffsetMin; // 0x180 // MPropertyFriendlyName "local offset max" // MVectorIsCoordinate - Vector m_vecOffsetMax; // 0x18c + Vector m_vecOffsetMax; // 0x18c +private: + [[maybe_unused]] uint8_t __pad0198[0x1]; // 0x198 +public: // MPropertyFriendlyName "set normal" - bool m_bUseNormal; // 0x199 + bool m_bUseNormal; // 0x199 }; -// Aligment: 5 -// Size: 528 -class C_INIT_ModelCull : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x210 +class C_INIT_ModelCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x184 + bool m_bBoundBox; // 0x184 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x185 + bool m_bCullOutside; // 0x185 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x186 + bool m_bUseBones; // 0x186 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x187 + char m_HitboxSetName[128]; // 0x187 }; -// Aligment: 3 -// Size: 640 -class C_INIT_DistanceCull : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x280 +class C_INIT_DistanceCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x180 + int32_t m_nControlPoint; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "cull distance" - CParticleCollectionFloatInput m_flDistance; // 0x188 + CParticleCollectionFloatInput m_flDistance; // 0x188 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x270 + bool m_bCullInside; // 0x270 }; -// Aligment: 3 -// Size: 640 -class C_INIT_PlaneCull : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x280 +class C_INIT_PlaneCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point of plane" - int32_t m_nControlPoint; // 0x180 + int32_t m_nControlPoint; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "cull offset" - CParticleCollectionFloatInput m_flDistance; // 0x188 + CParticleCollectionFloatInput m_flDistance; // 0x188 // MPropertyFriendlyName "flip cull normal" - bool m_bCullInside; // 0x270 + bool m_bCullInside; // 0x270 }; -// Aligment: 8 -// Size: 560 -class C_INIT_RtEnvCull : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 8 +// Size: 0x230 +class C_INIT_RtEnvCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x180 + Vector m_vecTestDir; // 0x180 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x18c + Vector m_vecTestNormal; // 0x18c // MPropertyFriendlyName "use velocity for test direction" - bool m_bUseVelocity; // 0x198 + bool m_bUseVelocity; // 0x198 // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x199 + bool m_bCullOnMiss; // 0x199 // MPropertyFriendlyName "velocity test adjust lifespan" - bool m_bLifeAdjust; // 0x19a + bool m_bLifeAdjust; // 0x19a // MPropertyFriendlyName "ray trace environment name" - char[128] m_RtEnvName; // 0x19b + char m_RtEnvName[128]; // 0x19b +private: + [[maybe_unused]] uint8_t __pad021b[0x1]; // 0x21b +public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x21c + int32_t m_nRTEnvCP; // 0x21c // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x220 + int32_t m_nComponent; // 0x220 }; -// Aligment: 2 -// Size: 400 -class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "control point axis" - ParticleControlPointAxis_t m_nControlPointAxis; // 0x184 + ParticleControlPointAxis_t m_nControlPointAxis; // 0x184 }; -// Aligment: 5 -// Size: 416 -class C_INIT_NormalOffset : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x1a0 +class C_INIT_NormalOffset : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - Vector m_OffsetMin; // 0x180 + Vector m_OffsetMin; // 0x180 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - Vector m_OffsetMax; // 0x18c + Vector m_OffsetMax; // 0x18c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x198 + int32_t m_nControlPointNumber; // 0x198 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x19c + bool m_bLocalCoords; // 0x19c // MPropertyFriendlyName "normalize output 0/1" - bool m_bNormalize; // 0x19d + bool m_bNormalize; // 0x19d }; -// Aligment: 10 -// Size: 432 -class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 10 +// Size: 0x1b0 +class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "control point number (ignored if per particle)" - int32_t m_nControlPointNumber; // 0x184 + int32_t m_nControlPointNumber; // 0x184 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x188 + float m_flStartTime; // 0x188 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x18c + float m_flEndTime; // 0x18c // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x190 + float m_flInputMin; // 0x190 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x194 + float m_flInputMax; // 0x194 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x198 + float m_flOutputMin; // 0x198 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x19c + float m_flOutputMax; // 0x19c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a0 + ParticleSetMethod_t m_nSetMethod; // 0x1a0 // MPropertyFriendlyName "per particle" - bool m_bPerParticle; // 0x1a4 + bool m_bPerParticle; // 0x1a4 }; -// Aligment: 8 -// Size: 416 -class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 8 +// Size: 0x1a0 +class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x184 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x184 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x188 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x188 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x18c + int32_t m_nLocalSpaceCP; // 0x18c // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x190 + bool m_bRandom; // 0x190 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x191 + bool m_bReverse; // 0x191 +private: + [[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192 +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x194 + int32_t m_nRandomSeed; // 0x194 // MPropertyFriendlyName "local space angles" - bool m_bLocalSpaceAngles; // 0x198 + bool m_bLocalSpaceAngles; // 0x198 }; -// Aligment: 17 -// Size: 448 -class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 17 +// Size: 0x1c0 +class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x180 + int32_t m_nSnapshotControlPointNumber; // 0x180 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x184 + int32_t m_nControlPointNumber; // 0x184 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x188 + bool m_bRandom; // 0x188 +private: + [[maybe_unused]] uint8_t __pad0189[0x3]; // 0x189 +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x18c + int32_t m_nRandomSeed; // 0x18c // MPropertyFriendlyName "prepare for rigid lock" - bool m_bRigid; // 0x190 + bool m_bRigid; // 0x190 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x191 + bool m_bSetNormal; // 0x191 // MPropertyFriendlyName "normal velocity ignore delta time" - bool m_bIgnoreDt; // 0x192 + bool m_bIgnoreDt; // 0x192 +private: + [[maybe_unused]] uint8_t __pad0193[0x1]; // 0x193 +public: // MPropertyFriendlyName "normal velocity min" - float m_flMinNormalVelocity; // 0x194 + float m_flMinNormalVelocity; // 0x194 // MPropertyFriendlyName "normal velocity max" - float m_flMaxNormalVelocity; // 0x198 + float m_flMaxNormalVelocity; // 0x198 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x19c + float m_flIncrement; // 0x19c // MPropertyFriendlyName "Full Loop Increment Amount" - int32_t m_nFullLoopIncrement; // 0x1a0 + int32_t m_nFullLoopIncrement; // 0x1a0 // MPropertyFriendlyName "Snapshot start point" - int32_t m_nSnapShotStartPoint; // 0x1a4 + int32_t m_nSnapShotStartPoint; // 0x1a4 // MPropertyFriendlyName "inherited bone velocity" - float m_flBoneVelocity; // 0x1a8 + float m_flBoneVelocity; // 0x1a8 // MPropertyFriendlyName "max inherited bone velocity" - float m_flBoneVelocityMax; // 0x1ac + float m_flBoneVelocityMax; // 0x1ac // MPropertyFriendlyName "Set Color" - bool m_bCopyColor; // 0x1b0 + bool m_bCopyColor; // 0x1b0 // MPropertyFriendlyName "Set Alpha" - bool m_bCopyAlpha; // 0x1b1 + bool m_bCopyAlpha; // 0x1b1 // MPropertyFriendlyName "Set Radius" - bool m_bCopyRadius; // 0x1b2 + bool m_bCopyRadius; // 0x1b2 }; -// Aligment: 1 -// Size: 528 -class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 1 +// Size: 0x210 +class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "field to init" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToCopy; // 0x180 + ParticleAttributeIndex_t m_nAttributeToCopy; // 0x180 }; -// Aligment: 6 -// Size: 416 -class C_INIT_RemapInitialDirectionToCPToVector : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 6 +// Size: 0x1a0 +class C_INIT_RemapInitialDirectionToCPToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x188 + float m_flScale; // 0x188 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x18c + float m_flOffsetRot; // 0x18c // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x190 + Vector m_vecOffsetAxis; // 0x190 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x19c + bool m_bNormalize; // 0x19c }; -// Aligment: 4 -// Size: 400 -class C_INIT_RemapInitialCPDirectionToRotation : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_INIT_RemapInitialCPDirectionToRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x188 + float m_flOffsetRot; // 0x188 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x18c + int32_t m_nComponent; // 0x18c }; -// Aligment: 1 -// Size: 400 -class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 }; -// Aligment: 4 -// Size: 416 -class C_INIT_RemapCPOrientationToRotations : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 4 +// Size: 0x1a0 +class C_INIT_RemapCPOrientationToRotations : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x184 + Vector m_vecRotation; // 0x184 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x190 + bool m_bUseQuat; // 0x190 // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x191 + bool m_bWriteNormal; // 0x191 }; -// Aligment: 4 -// Size: 400 -class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x184 + ParticleAttributeIndex_t m_nFieldInput; // 0x184 // MPropertyFriendlyName "attribute to cache to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 // MPropertyFriendlyName "local space" - bool m_bLocalSpace; // 0x18c + bool m_bLocalSpace; // 0x18c }; -// Aligment: 5 -// Size: 416 -class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x1a0 +class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x188 + float m_flInputMin; // 0x188 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x18c + float m_flInputMax; // 0x18c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x190 + float m_flOutputMin; // 0x190 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x194 + float m_flOutputMax; // 0x194 }; -// Aligment: 1 -// Size: 400 -class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x180 + int32_t m_nControlPoint; // 0x180 }; -// Aligment: 8 -// Size: 416 -class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 8 +// Size: 0x1a0 +class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x188 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x188 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x18c + float m_flInputMin; // 0x18c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x190 + float m_flInputMax; // 0x190 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 + float m_flOutputMin; // 0x194 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 + float m_flOutputMax; // 0x198 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x19c + ParticleSetMethod_t m_nSetMethod; // 0x19c }; -// Aligment: 6 -// Size: 400 -class C_INIT_GlobalScale : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 6 +// Size: 0x190 +class C_INIT_GlobalScale : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "scale amount" - float m_flScale; // 0x180 + float m_flScale; // 0x180 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPointNumber; // 0x184 + int32_t m_nScaleControlPointNumber; // 0x184 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x188 + int32_t m_nControlPointNumber; // 0x188 // MPropertyFriendlyName "scale radius" - bool m_bScaleRadius; // 0x18c + bool m_bScaleRadius; // 0x18c // MPropertyFriendlyName "scale position" - bool m_bScalePosition; // 0x18d + bool m_bScalePosition; // 0x18d // MPropertyFriendlyName "scale velocity" - bool m_bScaleVelocity; // 0x18e + bool m_bScaleVelocity; // 0x18e }; -// Aligment: 5 -// Size: 432 -class C_INIT_PointList : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x1b0 +class C_INIT_PointList : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x188 + CUtlVector< PointDefinition_t > m_pointList; // 0x188 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x1a0 + bool m_bPlaceAlongPath; // 0x1a0 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x1a1 + bool m_bClosedLoop; // 0x1a1 +private: + [[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2 +public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x1a4 + int32_t m_nNumPointsAlongPath; // 0x1a4 }; -// Aligment: 6 -// Size: 432 -class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 6 +// Size: 0x1b0 +class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "model" // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x188 + CUtlVector< CUtlString > m_names; // 0x188 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x1a0 + bool m_bShuffle; // 0x1a0 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x1a1 + bool m_bLinear; // 0x1a1 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x1a2 + bool m_bModelFromRenderer; // 0x1a2 +private: + [[maybe_unused]] uint8_t __pad01a3[0x1]; // 0x1a3 +public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1a4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1a4 }; -// Aligment: 0 -// Size: 432 -class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x1b0 +class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement { public: -// + // no members available }; -// Aligment: 0 -// Size: 432 -class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x1b0 +class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement { public: -// + // no members available }; -// Aligment: 0 -// Size: 432 -class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x1b0 +class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement { public: -// + // no members available }; -// Aligment: 7 -// Size: 464 -class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 7 +// Size: 0x1d0 +class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "model" // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x188 + CUtlVector< CUtlString > m_names; // 0x188 // MPropertyFriendlyName "remap values for names" - CUtlVector< float32 > m_values; // 0x1a0 + CUtlVector< float32 > m_values; // 0x1a0 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1b8 + ParticleAttributeIndex_t m_nFieldInput; // 0x1b8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1bc + ParticleAttributeIndex_t m_nFieldOutput; // 0x1bc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c0 + ParticleSetMethod_t m_nSetMethod; // 0x1c0 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x1c4 + bool m_bModelFromRenderer; // 0x1c4 }; -// Aligment: 0 -// Size: 464 -class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x1d0 +class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar { public: -// + // no members available }; -// Aligment: 0 -// Size: 464 -class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x1d0 +class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar { public: -// + // no members available }; -// Aligment: 0 -// Size: 464 -class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar, CParticleFunctionInitializer, CParticleFunction +// Alignment: 0 +// Size: 0x1d0 +class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar { public: -// + // no members available }; -// Aligment: 18 -// Size: 480 -class C_INIT_StatusEffect : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 18 +// Size: 0x1e0 +class C_INIT_StatusEffect : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "D_DETAIL_2" - Detail2Combo_t m_nDetail2Combo; // 0x180 + Detail2Combo_t m_nDetail2Combo; // 0x180 // MPropertyFriendlyName "$DETAIL2ROTATION" - float m_flDetail2Rotation; // 0x184 + float m_flDetail2Rotation; // 0x184 // MPropertyFriendlyName "$DETAIL2SCALE" - float m_flDetail2Scale; // 0x188 + float m_flDetail2Scale; // 0x188 // MPropertyFriendlyName "$DETAIL2BLENDFACTOR" - float m_flDetail2BlendFactor; // 0x18c + float m_flDetail2BlendFactor; // 0x18c // MPropertyFriendlyName "$COLORWARPINTENSITY" - float m_flColorWarpIntensity; // 0x190 + float m_flColorWarpIntensity; // 0x190 // MPropertyFriendlyName "$DIFFUSEWARPBLENDTOFULL" - float m_flDiffuseWarpBlendToFull; // 0x194 + float m_flDiffuseWarpBlendToFull; // 0x194 // MPropertyFriendlyName "$ENVMAPINTENSITY" - float m_flEnvMapIntensity; // 0x198 + float m_flEnvMapIntensity; // 0x198 // MPropertyFriendlyName "$AMBIENTSCALE" - float m_flAmbientScale; // 0x19c + float m_flAmbientScale; // 0x19c // MPropertyFriendlyName "$SPECULARCOLOR" - Color m_specularColor; // 0x1a0 + Color m_specularColor; // 0x1a0 // MPropertyFriendlyName "$SPECULARSCALE" - float m_flSpecularScale; // 0x1a4 + float m_flSpecularScale; // 0x1a4 // MPropertyFriendlyName "$SPECULAREXPONENT" - float m_flSpecularExponent; // 0x1a8 + float m_flSpecularExponent; // 0x1a8 // MPropertyFriendlyName "$SPECULAREXPONENTBLENDTOFULL" - float m_flSpecularExponentBlendToFull; // 0x1ac + float m_flSpecularExponentBlendToFull; // 0x1ac // MPropertyFriendlyName "$SPECULARBLENDTOFULL" - float m_flSpecularBlendToFull; // 0x1b0 + float m_flSpecularBlendToFull; // 0x1b0 // MPropertyFriendlyName "$RIMLIGHTCOLOR" - Color m_rimLightColor; // 0x1b4 + Color m_rimLightColor; // 0x1b4 // MPropertyFriendlyName "$RIMLIGHTSCALE" - float m_flRimLightScale; // 0x1b8 + float m_flRimLightScale; // 0x1b8 // MPropertyFriendlyName "$REFLECTIONSTINTBYBASEBLENDTONONE" - float m_flReflectionsTintByBaseBlendToNone; // 0x1bc + float m_flReflectionsTintByBaseBlendToNone; // 0x1bc // MPropertyFriendlyName "$METALNESSBLENDTOFULL" - float m_flMetalnessBlendToFull; // 0x1c0 + float m_flMetalnessBlendToFull; // 0x1c0 // MPropertyFriendlyName "$SELFILLUMBLENDTOFULL" - float m_flSelfIllumBlendToFull; // 0x1c4 + float m_flSelfIllumBlendToFull; // 0x1c4 }; -// Aligment: 18 -// Size: 464 -class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 18 +// Size: 0x1d0 +class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "$SFXColorWarpAmount" - float m_flSFXColorWarpAmount; // 0x180 + float m_flSFXColorWarpAmount; // 0x180 // MPropertyFriendlyName "$SFXNormalAmount" - float m_flSFXNormalAmount; // 0x184 + float m_flSFXNormalAmount; // 0x184 // MPropertyFriendlyName "$SFXMetalnessAmount" - float m_flSFXMetalnessAmount; // 0x188 + float m_flSFXMetalnessAmount; // 0x188 // MPropertyFriendlyName "$SFXRoughnessAmount" - float m_flSFXRoughnessAmount; // 0x18c + float m_flSFXRoughnessAmount; // 0x18c // MPropertyFriendlyName "$SFXSelfIllumAmount" - float m_flSFXSelfIllumAmount; // 0x190 + float m_flSFXSelfIllumAmount; // 0x190 // MPropertyFriendlyName "$SFXTextureScale" - float m_flSFXSScale; // 0x194 + float m_flSFXSScale; // 0x194 // MPropertyFriendlyName "$SFXTextureScrollX" - float m_flSFXSScrollX; // 0x198 + float m_flSFXSScrollX; // 0x198 // MPropertyFriendlyName "$SFXTextureScrollY" - float m_flSFXSScrollY; // 0x19c + float m_flSFXSScrollY; // 0x19c // MPropertyFriendlyName "$SFXTextureScrollZ" - float m_flSFXSScrollZ; // 0x1a0 + float m_flSFXSScrollZ; // 0x1a0 // MPropertyFriendlyName "$SFXTextureOffsetX" - float m_flSFXSOffsetX; // 0x1a4 + float m_flSFXSOffsetX; // 0x1a4 // MPropertyFriendlyName "$SFXTextureOffsetY" - float m_flSFXSOffsetY; // 0x1a8 + float m_flSFXSOffsetY; // 0x1a8 // MPropertyFriendlyName "$SFXTextureOffsetZ" - float m_flSFXSOffsetZ; // 0x1ac + float m_flSFXSOffsetZ; // 0x1ac // MPropertyFriendlyName "D_DETAIL" - DetailCombo_t m_nDetailCombo; // 0x1b0 + DetailCombo_t m_nDetailCombo; // 0x1b0 // MPropertyFriendlyName "$SFXDetailAmount" - float m_flSFXSDetailAmount; // 0x1b4 + float m_flSFXSDetailAmount; // 0x1b4 // MPropertyFriendlyName "$SFXDetailTextureScale" - float m_flSFXSDetailScale; // 0x1b8 + float m_flSFXSDetailScale; // 0x1b8 // MPropertyFriendlyName "$SFXDetailTextureScrollX" - float m_flSFXSDetailScrollX; // 0x1bc + float m_flSFXSDetailScrollX; // 0x1bc // MPropertyFriendlyName "$SFXDetailTextureScrollY" - float m_flSFXSDetailScrollY; // 0x1c0 + float m_flSFXSDetailScrollY; // 0x1c0 // MPropertyFriendlyName "$SFXDetailTextureScrollZ" - float m_flSFXSDetailScrollZ; // 0x1c4 + float m_flSFXSDetailScrollZ; // 0x1c4 }; -// Aligment: 5 -// Size: 1104 -class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 5 +// Size: 0x450 +class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "radius" - CPerParticleFloatInput m_InputRadius; // 0x180 + CPerParticleFloatInput m_InputRadius; // 0x180 // MPropertyFriendlyName "magnitude" - CPerParticleFloatInput m_InputMagnitude; // 0x268 + CPerParticleFloatInput m_InputMagnitude; // 0x268 // MPropertyFriendlyName "force falloff function" - ParticleFalloffFunction_t m_nFalloffFunction; // 0x350 + ParticleFalloffFunction_t m_nFalloffFunction; // 0x350 +private: + [[maybe_unused]] uint8_t __pad0354[0x4]; // 0x354 +public: // MPropertyFriendlyName "exponential falloff exponent" - CPerParticleFloatInput m_InputFalloffExp; // 0x358 + CPerParticleFloatInput m_InputFalloffExp; // 0x358 // MPropertyFriendlyName "impulse type" - ParticleImpulseType_t m_nImpulseType; // 0x440 + ParticleImpulseType_t m_nImpulseType; // 0x440 }; -// Aligment: 2 -// Size: 624 -class C_INIT_QuantizeFloat : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 2 +// Size: 0x270 +class C_INIT_QuantizeFloat : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "interval to snap to" - CPerParticleFloatInput m_InputValue; // 0x180 + CPerParticleFloatInput m_InputValue; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x268 + ParticleAttributeIndex_t m_nOutputField; // 0x268 }; -// Aligment: 2 -// Size: 624 -class C_INIT_InitFloatCollection : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 2 +// Size: 0x270 +class C_INIT_InitFloatCollection : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x180 + CParticleCollectionFloatInput m_InputValue; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x268 + ParticleAttributeIndex_t m_nOutputField; // 0x268 }; -// Aligment: 3 -// Size: 624 -class C_INIT_InitFloat : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x270 +class C_INIT_InitFloat : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x180 + CPerParticleFloatInput m_InputValue; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x268 + ParticleAttributeIndex_t m_nOutputField; // 0x268 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x26c + ParticleSetMethod_t m_nSetMethod; // 0x26c }; -// Aligment: 2 -// Size: 1472 -class C_INIT_InitVecCollection : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 2 +// Size: 0x5c0 +class C_INIT_InitVecCollection : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CParticleCollectionVecInput m_InputValue; // 0x180 + CParticleCollectionVecInput m_InputValue; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x5b0 + ParticleAttributeIndex_t m_nOutputField; // 0x5b0 }; -// Aligment: 3 -// Size: 1472 -class C_INIT_InitVec : public CParticleFunctionInitializer, CParticleFunction +// Alignment: 3 +// Size: 0x5c0 +class C_INIT_InitVec : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x180 + CPerParticleVecInput m_InputValue; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x5b0 + ParticleAttributeIndex_t m_nOutputField; // 0x5b0 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x5b4 + ParticleSetMethod_t m_nSetMethod; // 0x5b4 }; -// Aligment: 5 -// Size: 864 -class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter, CParticleFunction +// Alignment: 5 +// Size: 0x360 +class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "num to emit" // MPropertyAttributeRange "1 1000" - CParticleCollectionFloatInput m_nParticlesToEmit; // 0x180 + CParticleCollectionFloatInput m_nParticlesToEmit; // 0x180 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x268 + CParticleCollectionFloatInput m_flStartTime; // 0x268 // MPropertyFriendlyName "emission scale from killed parent particles" - float m_flInitFromKilledParentParticles; // 0x350 + float m_flInitFromKilledParentParticles; // 0x350 // MPropertyFriendlyName "maximum emission per frame" - int32_t m_nMaxEmittedPerFrame; // 0x354 + int32_t m_nMaxEmittedPerFrame; // 0x354 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x358 + int32_t m_nSnapshotControlPoint; // 0x358 }; -// Aligment: 6 -// Size: 1104 -class C_OP_ContinuousEmitter : public CParticleFunctionEmitter, CParticleFunction +// Alignment: 6 +// Size: 0x450 +class C_OP_ContinuousEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x180 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x180 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x268 + CParticleCollectionFloatInput m_flStartTime; // 0x268 // MPropertyFriendlyName "emission rate" - CParticleCollectionFloatInput m_flEmitRate; // 0x350 + CParticleCollectionFloatInput m_flEmitRate; // 0x350 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x438 + float m_flEmissionScale; // 0x438 // MPropertyFriendlyName "scale emission by parent particle count" - float m_flScalePerParentParticle; // 0x43c + float m_flScalePerParentParticle; // 0x43c // MPropertyFriendlyName "emit particles for killed parent particles" - bool m_bInitFromKilledParentParticles; // 0x440 + bool m_bInitFromKilledParentParticles; // 0x440 }; -// Aligment: 15 -// Size: 448 -class C_OP_NoiseEmitter : public CParticleFunctionEmitter, CParticleFunction +// Alignment: 15 +// Size: 0x1c0 +class C_OP_NoiseEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "emission duration" - float m_flEmissionDuration; // 0x180 + float m_flEmissionDuration; // 0x180 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x184 + float m_flStartTime; // 0x184 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x188 + float m_flEmissionScale; // 0x188 // MPropertyFriendlyName "emission count scale control point" - int32_t m_nScaleControlPoint; // 0x18c + int32_t m_nScaleControlPoint; // 0x18c // MPropertyFriendlyName "emission count scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x190 + int32_t m_nScaleControlPointField; // 0x190 // MPropertyFriendlyName "world noise scale control point" - int32_t m_nWorldNoisePoint; // 0x194 + int32_t m_nWorldNoisePoint; // 0x194 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x198 + bool m_bAbsVal; // 0x198 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x199 + bool m_bAbsValInv; // 0x199 +private: + [[maybe_unused]] uint8_t __pad019a[0x2]; // 0x19a +public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x19c + float m_flOffset; // 0x19c // MPropertyFriendlyName "emission minimum" - float m_flOutputMin; // 0x1a0 + float m_flOutputMin; // 0x1a0 // MPropertyFriendlyName "emission maximum" - float m_flOutputMax; // 0x1a4 + float m_flOutputMax; // 0x1a4 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x1a8 + float m_flNoiseScale; // 0x1a8 // MPropertyFriendlyName "world spatial noise coordinate scale" - float m_flWorldNoiseScale; // 0x1ac + float m_flWorldNoiseScale; // 0x1ac // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x1b0 + Vector m_vecOffsetLoc; // 0x1b0 // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x1bc + float m_flWorldTimeScale; // 0x1bc }; -// Aligment: 7 -// Size: 416 -class C_OP_MaintainEmitter : public CParticleFunctionEmitter, CParticleFunction +// Alignment: 7 +// Size: 0x1a0 +class C_OP_MaintainEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x180 + int32_t m_nParticlesToMaintain; // 0x180 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x184 + float m_flStartTime; // 0x184 // MPropertyFriendlyName "maintain count scale control point" - int32_t m_nScaleControlPoint; // 0x188 + int32_t m_nScaleControlPoint; // 0x188 // MPropertyFriendlyName "maintain count scale control point field" - int32_t m_nScaleControlPointField; // 0x18c + int32_t m_nScaleControlPointField; // 0x18c // MPropertyFriendlyName "emission rate" - float m_flEmissionRate; // 0x190 + float m_flEmissionRate; // 0x190 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x194 + int32_t m_nSnapshotControlPoint; // 0x194 // MPropertyFriendlyName "group emission times for new particles" - bool m_bEmitInstantaneously; // 0x198 + bool m_bEmitInstantaneously; // 0x198 }; -// Aligment: 2 -// Size: 416 -class C_OP_RandomForce : public CParticleFunctionForce, CParticleFunction +// Alignment: 2 +// Size: 0x1a0 +class C_OP_RandomForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "min force" // MVectorIsCoordinate - Vector m_MinForce; // 0x180 + Vector m_MinForce; // 0x180 // MPropertyFriendlyName "max force" // MVectorIsCoordinate - Vector m_MaxForce; // 0x18c + Vector m_MaxForce; // 0x18c }; -// Aligment: 2 -// Size: 624 -class C_OP_CPVelocityForce : public CParticleFunctionForce, CParticleFunction +// Alignment: 2 +// Size: 0x270 +class C_OP_CPVelocityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "velocity scale" - CPerParticleFloatInput m_flScale; // 0x188 + CPerParticleFloatInput m_flScale; // 0x188 }; -// Aligment: 3 -// Size: 416 -class C_OP_ParentVortices : public CParticleFunctionForce, CParticleFunction +// Alignment: 3 +// Size: 0x1a0 +class C_OP_ParentVortices : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_flForceScale; // 0x180 + float m_flForceScale; // 0x180 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_vecTwistAxis; // 0x184 + Vector m_vecTwistAxis; // 0x184 // MPropertyFriendlyName "flip twist axis with yaw" - bool m_bFlipBasedOnYaw; // 0x190 + bool m_bFlipBasedOnYaw; // 0x190 }; -// Aligment: 4 -// Size: 416 -class C_OP_TwistAroundAxis : public CParticleFunctionForce, CParticleFunction +// Alignment: 4 +// Size: 0x1a0 +class C_OP_TwistAroundAxis : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_fForceAmount; // 0x180 + float m_fForceAmount; // 0x180 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_TwistAxis; // 0x184 + Vector m_TwistAxis; // 0x184 // MPropertyFriendlyName "object local space axis 0/1" - bool m_bLocalSpace; // 0x190 + bool m_bLocalSpace; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191 +public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x194 + int32_t m_nControlPointNumber; // 0x194 }; -// Aligment: 7 -// Size: 896 -class C_OP_AttractToControlPoint : public CParticleFunctionForce, CParticleFunction +// Alignment: 7 +// Size: 0x380 +class C_OP_AttractToControlPoint : public CParticleFunctionForce { public: // MPropertyFriendlyName "component scale" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x180 + Vector m_vecComponentScale; // 0x180 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: // MPropertyFriendlyName "amount of force (or Max Force)" - CPerParticleFloatInput m_fForceAmount; // 0x190 + CPerParticleFloatInput m_fForceAmount; // 0x190 // MPropertyFriendlyName "falloff power" - float m_fFalloffPower; // 0x278 + float m_fFalloffPower; // 0x278 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x27c + int32_t m_nControlPointNumber; // 0x27c // MPropertyFriendlyName "scale in local space" - bool m_bScaleLocal; // 0x280 + bool m_bScaleLocal; // 0x280 +private: + [[maybe_unused]] uint8_t __pad0281[0x7]; // 0x281 +public: // MPropertyFriendlyName "Min Pullforce" - CPerParticleFloatInput m_fForceAmountMin; // 0x288 + CPerParticleFloatInput m_fForceAmountMin; // 0x288 // MPropertyFriendlyName "Apply Min Pullforce" - bool m_bApplyMinForce; // 0x370 + bool m_bApplyMinForce; // 0x370 }; -// Aligment: 7 -// Size: 448 -class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce, CParticleFunction +// Alignment: 7 +// Size: 0x1c0 +class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce { public: // MPropertyFriendlyName "min distance from plane" - float m_flMinDist; // 0x180 + float m_flMinDist; // 0x180 // MPropertyFriendlyName "force at min distance" // MVectorIsCoordinate - Vector m_vecForceAtMinDist; // 0x184 + Vector m_vecForceAtMinDist; // 0x184 // MPropertyFriendlyName "max distance from plane" - float m_flMaxDist; // 0x190 + float m_flMaxDist; // 0x190 // MPropertyFriendlyName "force at max distance" // MVectorIsCoordinate - Vector m_vecForceAtMaxDist; // 0x194 + Vector m_vecForceAtMaxDist; // 0x194 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneNormal; // 0x1a0 + Vector m_vecPlaneNormal; // 0x1a0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1ac + int32_t m_nControlPointNumber; // 0x1ac // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1b0 + float m_flExponent; // 0x1b0 }; -// Aligment: 4 -// Size: 416 -class C_OP_TimeVaryingForce : public CParticleFunctionForce, CParticleFunction +// Alignment: 4 +// Size: 0x1a0 +class C_OP_TimeVaryingForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "time to start transition" - float m_flStartLerpTime; // 0x180 + float m_flStartLerpTime; // 0x180 // MPropertyFriendlyName "starting force" // MVectorIsCoordinate - Vector m_StartingForce; // 0x184 + Vector m_StartingForce; // 0x184 // MPropertyFriendlyName "time to end transition" - float m_flEndLerpTime; // 0x190 + float m_flEndLerpTime; // 0x190 // MPropertyFriendlyName "ending force" // MVectorIsCoordinate - Vector m_EndingForce; // 0x194 + Vector m_EndingForce; // 0x194 }; -// Aligment: 8 -// Size: 448 -class C_OP_TurbulenceForce : public CParticleFunctionForce, CParticleFunction +// Alignment: 8 +// Size: 0x1c0 +class C_OP_TurbulenceForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise scale 0" - float m_flNoiseCoordScale0; // 0x180 + float m_flNoiseCoordScale0; // 0x180 // MPropertyFriendlyName "noise scale 1" - float m_flNoiseCoordScale1; // 0x184 + float m_flNoiseCoordScale1; // 0x184 // MPropertyFriendlyName "noise scale 2" - float m_flNoiseCoordScale2; // 0x188 + float m_flNoiseCoordScale2; // 0x188 // MPropertyFriendlyName "noise scale 3" - float m_flNoiseCoordScale3; // 0x18c + float m_flNoiseCoordScale3; // 0x18c // MPropertyFriendlyName "noise amount 0" // MVectorIsCoordinate - Vector m_vecNoiseAmount0; // 0x190 + Vector m_vecNoiseAmount0; // 0x190 // MPropertyFriendlyName "noise amount 1" // MVectorIsCoordinate - Vector m_vecNoiseAmount1; // 0x19c + Vector m_vecNoiseAmount1; // 0x19c // MPropertyFriendlyName "noise amount 2" // MVectorIsCoordinate - Vector m_vecNoiseAmount2; // 0x1a8 + Vector m_vecNoiseAmount2; // 0x1a8 // MPropertyFriendlyName "noise amount 3" // MVectorIsCoordinate - Vector m_vecNoiseAmount3; // 0x1b4 + Vector m_vecNoiseAmount3; // 0x1b4 }; -// Aligment: 6 -// Size: 4080 -class C_OP_CurlNoiseForce : public CParticleFunctionForce, CParticleFunction +// Alignment: 6 +// Size: 0xff0 +class C_OP_CurlNoiseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise type" - ParticleDirectionNoiseType_t m_nNoiseType; // 0x180 + ParticleDirectionNoiseType_t m_nNoiseType; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "noise frequency" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseFreq; // 0x188 + CPerParticleVecInput m_vecNoiseFreq; // 0x188 // MPropertyFriendlyName "noise amplitude" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseScale; // 0x5b8 + CPerParticleVecInput m_vecNoiseScale; // 0x5b8 // MPropertyFriendlyName "offset rate" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetRate; // 0x9e8 + CPerParticleVecInput m_vecOffsetRate; // 0x9e8 // MPropertyFriendlyName "worley seed" - CPerParticleFloatInput m_flWorleySeed; // 0xe18 + CPerParticleFloatInput m_flWorleySeed; // 0xe18 // MPropertyFriendlyName "worley jitter" - CPerParticleFloatInput m_flWorleyJitter; // 0xf00 + CPerParticleFloatInput m_flWorleyJitter; // 0xf00 }; -// Aligment: 3 -// Size: 1696 -class C_OP_PerParticleForce : public CParticleFunctionForce, CParticleFunction +// Alignment: 3 +// Size: 0x6a0 +class C_OP_PerParticleForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x180 + CPerParticleFloatInput m_flForceScale; // 0x180 // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - CPerParticleVecInput m_vForce; // 0x268 + CPerParticleVecInput m_vForce; // 0x268 // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x698 + int32_t m_nCP; // 0x698 }; -// Aligment: 1 -// Size: 400 -class C_OP_WindForce : public CParticleFunctionForce, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_OP_WindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - Vector m_vForce; // 0x180 + Vector m_vForce; // 0x180 }; -// Aligment: 2 -// Size: 400 -class C_OP_ExternalWindForce : public CParticleFunctionForce, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_OP_ExternalWindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "control point to sample wind" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 // MPropertyFriendlyName "scale" - Vector m_vecScale; // 0x184 + Vector m_vecScale; // 0x184 }; -// Aligment: 5 -// Size: 624 -class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce, CParticleFunction +// Alignment: 5 +// Size: 0x270 +class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x180 + CPerParticleFloatInput m_flForceScale; // 0x180 // MPropertyFriendlyName "rope shake" - bool m_bRopes; // 0x268 + bool m_bRopes; // 0x268 // MPropertyFriendlyName "limit rope impulses to Z" - bool m_bRopesZOnly; // 0x269 + bool m_bRopesZOnly; // 0x269 // MPropertyFriendlyName "explosions" - bool m_bExplosions; // 0x26a + bool m_bExplosions; // 0x26a // MPropertyFriendlyName "particle systems" - bool m_bParticles; // 0x26b + bool m_bParticles; // 0x26b }; -// Aligment: 3 -// Size: 1472 -class C_OP_LocalAccelerationForce : public CParticleFunctionForce, CParticleFunction +// Alignment: 3 +// Size: 0x5c0 +class C_OP_LocalAccelerationForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 // MPropertyFriendlyName "scale control point" - int32_t m_nScaleCP; // 0x184 + int32_t m_nScaleCP; // 0x184 // MPropertyFriendlyName "local space acceleration" - CParticleCollectionVecInput m_vecAccel; // 0x188 + CParticleCollectionVecInput m_vecAccel; // 0x188 }; -// Aligment: 1 -// Size: 400 -class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce { public: // MPropertyFriendlyName "Acceleration" - float m_flAccel; // 0x180 + float m_flAccel; // 0x180 }; -// Aligment: 5 -// Size: 416 -class C_OP_ExternalGenericForce : public CParticleFunctionForce, CParticleFunction +// Alignment: 5 +// Size: 0x1a0 +class C_OP_ExternalGenericForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "strength" - float m_flStrength; // 0x180 + float m_flStrength; // 0x180 // MPropertyFriendlyName "curl strength" - float m_flCurlStrength; // 0x184 + float m_flCurlStrength; // 0x184 // MPropertyFriendlyName "linear strength" - float m_flLinearStrength; // 0x188 + float m_flLinearStrength; // 0x188 // MPropertyFriendlyName "radial strength" - float m_flRadialStrength; // 0x18c + float m_flRadialStrength; // 0x18c // MPropertyFriendlyName "rotation strength" - float m_flRotationStrength; // 0x190 + float m_flRotationStrength; // 0x190 }; -// Aligment: 3 -// Size: 416 -class C_OP_BasicMovement : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x1a0 +class C_OP_BasicMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "gravity" // MVectorIsCoordinate - Vector m_Gravity; // 0x180 + Vector m_Gravity; // 0x180 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x18c + float m_fDrag; // 0x18c // MPropertyFriendlyName "max constraint passes" - int32_t m_nMaxConstraintPasses; // 0x190 + int32_t m_nMaxConstraintPasses; // 0x190 }; -// Aligment: 7 -// Size: 416 -class C_OP_FadeAndKill : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x1a0 +class C_OP_FadeAndKill : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x180 + float m_flStartFadeInTime; // 0x180 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x184 + float m_flEndFadeInTime; // 0x184 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x188 + float m_flStartFadeOutTime; // 0x188 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x18c + float m_flEndFadeOutTime; // 0x18c // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x190 + float m_flStartAlpha; // 0x190 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x194 + float m_flEndAlpha; // 0x194 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x198 + bool m_bForcePreserveParticleOrder; // 0x198 }; -// Aligment: 6 -// Size: 416 -class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1a0 +class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x180 + float m_flStartFadeInTime; // 0x180 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x184 + float m_flEndFadeInTime; // 0x184 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x188 + float m_flStartFadeOutTime; // 0x188 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x18c + float m_flEndFadeOutTime; // 0x18c // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x190 + float m_flStartAlpha; // 0x190 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x194 + float m_flEndAlpha; // 0x194 }; -// Aligment: 4 -// Size: 400 -class C_OP_FadeIn : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_OP_FadeIn : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade in time min" - float m_flFadeInTimeMin; // 0x180 + float m_flFadeInTimeMin; // 0x180 // MPropertyFriendlyName "fade in time max" - float m_flFadeInTimeMax; // 0x184 + float m_flFadeInTimeMax; // 0x184 // MPropertyFriendlyName "fade in time exponent" - float m_flFadeInTimeExp; // 0x188 + float m_flFadeInTimeExp; // 0x188 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x18c + bool m_bProportional; // 0x18c }; -// Aligment: 6 -// Size: 464 -class C_OP_FadeOut : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1d0 +class C_OP_FadeOut : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade out time min" - float m_flFadeOutTimeMin; // 0x180 + float m_flFadeOutTimeMin; // 0x180 // MPropertyFriendlyName "fade out time max" - float m_flFadeOutTimeMax; // 0x184 + float m_flFadeOutTimeMax; // 0x184 // MPropertyFriendlyName "fade out time exponent" - float m_flFadeOutTimeExp; // 0x188 + float m_flFadeOutTimeExp; // 0x188 // MPropertyFriendlyName "fade bias" - float m_flFadeBias; // 0x18c + float m_flFadeBias; // 0x18c +private: + [[maybe_unused]] uint8_t __pad0190[0x30]; // 0x190 +public: // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1c0 + bool m_bProportional; // 0x1c0 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x1c1 + bool m_bEaseInAndOut; // 0x1c1 }; -// Aligment: 2 -// Size: 400 -class C_OP_FadeInSimple : public CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_OP_FadeInSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade in time" - float m_flFadeInTime; // 0x180 + float m_flFadeInTime; // 0x180 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 }; -// Aligment: 2 -// Size: 400 -class C_OP_FadeOutSimple : public CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_OP_FadeOutSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade out time" - float m_flFadeOutTime; // 0x180 + float m_flFadeOutTime; // 0x180 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 }; -// Aligment: 3 -// Size: 400 -class C_OP_ClampScalar : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_OP_ClampScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x184 + float m_flOutputMin; // 0x184 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x188 + float m_flOutputMax; // 0x188 }; -// Aligment: 3 -// Size: 416 -class C_OP_ClampVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x1a0 +class C_OP_ClampVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x184 + Vector m_vecOutputMin; // 0x184 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x190 + Vector m_vecOutputMax; // 0x190 }; -// Aligment: 13 -// Size: 432 -class C_OP_OscillateScalar : public CParticleFunctionOperator, CParticleFunction +// Alignment: 13 +// Size: 0x1b0 +class C_OP_OscillateScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate min" - float m_RateMin; // 0x180 + float m_RateMin; // 0x180 // MPropertyFriendlyName "oscillation rate max" - float m_RateMax; // 0x184 + float m_RateMax; // 0x184 // MPropertyFriendlyName "oscillation frequency min" - float m_FrequencyMin; // 0x188 + float m_FrequencyMin; // 0x188 // MPropertyFriendlyName "oscillation frequency max" - float m_FrequencyMax; // 0x18c + float m_FrequencyMax; // 0x18c // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x190 + ParticleAttributeIndex_t m_nField; // 0x190 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x194 + bool m_bProportional; // 0x194 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x195 + bool m_bProportionalOp; // 0x195 +private: + [[maybe_unused]] uint8_t __pad0196[0x2]; // 0x196 +public: // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x198 + float m_flStartTime_min; // 0x198 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x19c + float m_flStartTime_max; // 0x19c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x1a0 + float m_flEndTime_min; // 0x1a0 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x1a4 + float m_flEndTime_max; // 0x1a4 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1a8 + float m_flOscMult; // 0x1a8 // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x1ac + float m_flOscAdd; // 0x1ac }; -// Aligment: 5 -// Size: 448 -class C_OP_OscillateScalarSimple : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x1c0 +class C_OP_OscillateScalarSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate" - float m_Rate; // 0x180 + float m_Rate; // 0x180 // MPropertyFriendlyName "oscillation frequency" - float m_Frequency; // 0x184 + float m_Frequency; // 0x184 // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x188 + ParticleAttributeIndex_t m_nField; // 0x188 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x18c + float m_flOscMult; // 0x18c // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x190 + float m_flOscAdd; // 0x190 }; -// Aligment: 14 -// Size: 464 -class C_OP_OscillateVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 14 +// Size: 0x1d0 +class C_OP_OscillateVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate min" // MVectorIsSometimesCoordinate - Vector m_RateMin; // 0x180 + Vector m_RateMin; // 0x180 // MPropertyFriendlyName "oscillation rate max" // MVectorIsSometimesCoordinate - Vector m_RateMax; // 0x18c + Vector m_RateMax; // 0x18c // MPropertyFriendlyName "oscillation frequency min" // MVectorIsSometimesCoordinate - Vector m_FrequencyMin; // 0x198 + Vector m_FrequencyMin; // 0x198 // MPropertyFriendlyName "oscillation frequency max" // MVectorIsSometimesCoordinate - Vector m_FrequencyMax; // 0x1a4 + Vector m_FrequencyMax; // 0x1a4 // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x1b0 + ParticleAttributeIndex_t m_nField; // 0x1b0 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1b4 + bool m_bProportional; // 0x1b4 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1b5 + bool m_bProportionalOp; // 0x1b5 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x1b6 + bool m_bOffset; // 0x1b6 +private: + [[maybe_unused]] uint8_t __pad01b7[0x1]; // 0x1b7 +public: // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1b8 + float m_flStartTime_min; // 0x1b8 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1bc + float m_flStartTime_max; // 0x1bc // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x1c0 + float m_flEndTime_min; // 0x1c0 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x1c4 + float m_flEndTime_max; // 0x1c4 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1c8 + float m_flOscMult; // 0x1c8 // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x1cc + float m_flOscAdd; // 0x1cc }; -// Aligment: 6 -// Size: 432 -class C_OP_OscillateVectorSimple : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1b0 +class C_OP_OscillateVectorSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate" // MVectorIsSometimesCoordinate - Vector m_Rate; // 0x180 + Vector m_Rate; // 0x180 // MPropertyFriendlyName "oscillation frequency" - Vector m_Frequency; // 0x18c + Vector m_Frequency; // 0x18c // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x198 + ParticleAttributeIndex_t m_nField; // 0x198 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x19c + float m_flOscMult; // 0x19c // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x1a0 + float m_flOscAdd; // 0x1a0 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x1a4 + bool m_bOffset; // 0x1a4 }; -// Aligment: 9 -// Size: 416 -class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator, CParticleFunction +// Alignment: 9 +// Size: 0x1a0 +class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 + ParticleAttributeIndex_t m_nFieldInput; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "difference minimum" - float m_flInputMin; // 0x188 + float m_flInputMin; // 0x188 // MPropertyFriendlyName "difference maximum" - float m_flInputMax; // 0x18c + float m_flInputMax; // 0x18c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x190 + float m_flOutputMin; // 0x190 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x194 + float m_flOutputMax; // 0x194 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x198 + ParticleSetMethod_t m_nSetMethod; // 0x198 // MPropertyFriendlyName "only active within specified difference" - bool m_bActiveRange; // 0x19c + bool m_bActiveRange; // 0x19c // MPropertyFriendlyName "also set ouput to previous particle" - bool m_bSetPreviousParticle; // 0x19d + bool m_bSetPreviousParticle; // 0x19d }; -// Aligment: 2 -// Size: 624 -class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x270 +class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x188 + CPerParticleFloatInput m_flInterpolation; // 0x188 }; -// Aligment: 6 -// Size: 416 -class C_OP_RemapScalar : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1a0 +class C_OP_RemapScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 + ParticleAttributeIndex_t m_nFieldInput; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x188 + float m_flInputMin; // 0x188 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x18c + float m_flInputMax; // 0x18c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x190 + float m_flOutputMin; // 0x190 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x194 + float m_flOutputMax; // 0x194 }; -// Aligment: 6 -// Size: 416 -class C_OP_RemapScalarEndCap : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1a0 +class C_OP_RemapScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 + ParticleAttributeIndex_t m_nFieldInput; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x188 + float m_flInputMin; // 0x188 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x18c + float m_flInputMax; // 0x18c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x190 + float m_flOutputMin; // 0x190 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x194 + float m_flOutputMax; // 0x194 }; -// Aligment: 3 -// Size: 400 -class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "minimum" - float m_flOutputMin; // 0x184 + float m_flOutputMin; // 0x184 // MPropertyFriendlyName "maximum" - float m_flOutputMax; // 0x188 + float m_flOutputMax; // 0x188 }; -// Aligment: 8 -// Size: 416 -class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x1a0 +class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x180 + bool m_bProportional; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0181[0x3]; // 0x181 +public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x184 + ParticleAttributeIndex_t m_nFieldInput; // 0x184 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x18c + float m_flInputMin; // 0x18c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x190 + float m_flInputMax; // 0x190 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 + float m_flOutputMin; // 0x194 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 + float m_flOutputMax; // 0x198 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x19c + float m_flRemapTime; // 0x19c }; -// Aligment: 7 -// Size: 416 -class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x1a0 +class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x184 + int32_t m_nInputMin; // 0x184 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x188 + int32_t m_nInputMax; // 0x188 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x18c + float m_flOutputMin; // 0x18c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x190 + float m_flOutputMax; // 0x190 // MPropertyFriendlyName "count back from last particle" - bool m_bBackwards; // 0x194 + bool m_bBackwards; // 0x194 +private: + [[maybe_unused]] uint8_t __pad0195[0x3]; // 0x195 +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x198 + ParticleSetMethod_t m_nSetMethod; // 0x198 }; -// Aligment: 7 -// Size: 1328 -class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x530 +class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_nInputMin; // 0x188 + CParticleCollectionFloatInput m_nInputMin; // 0x188 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_nInputMax; // 0x270 + CParticleCollectionFloatInput m_nInputMax; // 0x270 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x358 + CParticleCollectionFloatInput m_flOutputMin; // 0x358 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x440 + CParticleCollectionFloatInput m_flOutputMax; // 0x440 // MPropertyFriendlyName - bool m_bActiveRange; // 0x528 + bool m_bActiveRange; // 0x528 +private: + [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x52c + ParticleSetMethod_t m_nSetMethod; // 0x52c }; -// Aligment: 7 -// Size: 416 -class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x1a0 +class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 + ParticleAttributeIndex_t m_nFieldInput; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x188 + float m_flInputMin; // 0x188 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x18c + float m_flInputMax; // 0x18c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x190 + float m_flOutputMin; // 0x190 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x194 + float m_flOutputMax; // 0x194 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x198 + float m_flRadiusScale; // 0x198 }; -// Aligment: 8 -// Size: 416 -class C_OP_RemapCPVisibilityToScalar : public CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x1a0 +class C_OP_RemapCPVisibilityToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x180 + ParticleSetMethod_t m_nSetMethod; // 0x180 // MPropertyFriendlyName "control point number" - int32_t m_nControlPoint; // 0x184 + int32_t m_nControlPoint; // 0x184 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x18c + float m_flInputMin; // 0x18c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x190 + float m_flInputMax; // 0x190 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 + float m_flOutputMin; // 0x194 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 + float m_flOutputMax; // 0x198 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x19c + float m_flRadius; // 0x19c }; -// Aligment: 8 -// Size: 432 -class C_OP_RemapCPVisibilityToVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x1b0 +class C_OP_RemapCPVisibilityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x180 + ParticleSetMethod_t m_nSetMethod; // 0x180 // MPropertyFriendlyName "control point number" - int32_t m_nControlPoint; // 0x184 + int32_t m_nControlPoint; // 0x184 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x18c + float m_flInputMin; // 0x18c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x190 + float m_flInputMax; // 0x190 // MPropertyFriendlyName "output minimum" - Vector m_vecOutputMin; // 0x194 + Vector m_vecOutputMin; // 0x194 // MPropertyFriendlyName "output maximum" - Vector m_vecOutputMax; // 0x1a0 + Vector m_vecOutputMax; // 0x1a0 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x1ac + float m_flRadius; // 0x1ac }; -// Aligment: 4 -// Size: 640 -class C_OP_LerpScalar : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x280 +class C_OP_LerpScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "value to lerp to" - CPerParticleFloatInput m_flOutput; // 0x188 + CPerParticleFloatInput m_flOutput; // 0x188 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x270 + float m_flStartTime; // 0x270 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x274 + float m_flEndTime; // 0x274 }; -// Aligment: 3 -// Size: 400 -class C_OP_LerpEndCapScalar : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_OP_LerpEndCapScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "value to lerp to" - float m_flOutput; // 0x184 + float m_flOutput; // 0x184 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x188 + float m_flLerpTime; // 0x188 }; -// Aligment: 3 -// Size: 416 -class C_OP_LerpEndCapVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x1a0 +class C_OP_LerpEndCapVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x184 + Vector m_vecOutput; // 0x184 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x190 + float m_flLerpTime; // 0x190 }; -// Aligment: 5 -// Size: 416 -class C_OP_LerpVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x1a0 +class C_OP_LerpVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x184 + Vector m_vecOutput; // 0x184 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x190 + float m_flStartTime; // 0x190 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x194 + float m_flEndTime; // 0x194 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x198 + ParticleSetMethod_t m_nSetMethod; // 0x198 }; -// Aligment: 4 -// Size: 672 -class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x2a0 +class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x180 + CPerParticleFloatInput m_flInterpolation; // 0x180 // MPropertyFriendlyName "input attribute from" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInputFrom; // 0x268 + ParticleAttributeIndex_t m_nFieldInputFrom; // 0x268 // MPropertyFriendlyName "input attribute to" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x26c + ParticleAttributeIndex_t m_nFieldInput; // 0x26c // MPropertyFriendlyName "output attribute" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x270 + ParticleAttributeIndex_t m_nFieldOutput; // 0x270 }; -// Aligment: 7 -// Size: 416 -class C_OP_RemapSpeed : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x1a0 +class C_OP_RemapSpeed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x184 + float m_flInputMin; // 0x184 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x188 + float m_flInputMax; // 0x188 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x18c + float m_flOutputMin; // 0x18c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x190 + float m_flOutputMax; // 0x190 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x194 + ParticleSetMethod_t m_nSetMethod; // 0x194 // MPropertyFriendlyName "ignore delta time" // MParticleAdvancedField - bool m_bIgnoreDelta; // 0x198 + bool m_bIgnoreDelta; // 0x198 }; -// Aligment: 3 -// Size: 400 -class C_OP_RemapVectortoCP : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_OP_RemapVectortoCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x180 + int32_t m_nOutControlPointNumber; // 0x180 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x184 + ParticleAttributeIndex_t m_nFieldInput; // 0x184 // MPropertyFriendlyName "particle number to read" - int32_t m_nParticleNumber; // 0x188 + int32_t m_nParticleNumber; // 0x188 }; -// Aligment: 8 -// Size: 464 -class C_OP_RampScalarLinear : public CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x1d0 +class C_OP_RampScalarLinear : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x180 + float m_RateMin; // 0x180 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x184 + float m_RateMax; // 0x184 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x188 + float m_flStartTime_min; // 0x188 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x18c + float m_flStartTime_max; // 0x18c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x190 + float m_flEndTime_min; // 0x190 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x194 + float m_flEndTime_max; // 0x194 +private: + [[maybe_unused]] uint8_t __pad0198[0x28]; // 0x198 +public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1c0 + ParticleAttributeIndex_t m_nField; // 0x1c0 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1c4 + bool m_bProportionalOp; // 0x1c4 }; -// Aligment: 10 -// Size: 464 -class C_OP_RampScalarSpline : public CParticleFunctionOperator, CParticleFunction +// Alignment: 10 +// Size: 0x1d0 +class C_OP_RampScalarSpline : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x180 + float m_RateMin; // 0x180 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x184 + float m_RateMax; // 0x184 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x188 + float m_flStartTime_min; // 0x188 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x18c + float m_flStartTime_max; // 0x18c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x190 + float m_flEndTime_min; // 0x190 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x194 + float m_flEndTime_max; // 0x194 // MPropertyFriendlyName "bias" - float m_flBias; // 0x198 + float m_flBias; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x24]; // 0x19c +public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1c0 + ParticleAttributeIndex_t m_nField; // 0x1c0 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x1c4 + bool m_bProportionalOp; // 0x1c4 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x1c5 + bool m_bEaseOut; // 0x1c5 }; -// Aligment: 4 -// Size: 448 -class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x1c0 +class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x180 + float m_Rate; // 0x180 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x184 + float m_flStartTime; // 0x184 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x188 + float m_flEndTime; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x24]; // 0x18c +public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1b0 + ParticleAttributeIndex_t m_nField; // 0x1b0 }; -// Aligment: 5 -// Size: 448 -class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x1c0 +class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x180 + float m_Rate; // 0x180 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x184 + float m_flStartTime; // 0x184 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x188 + float m_flEndTime; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x24]; // 0x18c +public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1b0 + ParticleAttributeIndex_t m_nField; // 0x1b0 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x1b4 + bool m_bEaseOut; // 0x1b4 }; -// Aligment: 10 -// Size: 3488 -class C_OP_ChladniWave : public CParticleFunctionOperator, CParticleFunction +// Alignment: 10 +// Size: 0xda0 +class C_OP_ChladniWave : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "wave minimum" - CPerParticleFloatInput m_flInputMin; // 0x188 + CPerParticleFloatInput m_flInputMin; // 0x188 // MPropertyFriendlyName "wave maximum" - CPerParticleFloatInput m_flInputMax; // 0x270 + CPerParticleFloatInput m_flInputMax; // 0x270 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x358 + CPerParticleFloatInput m_flOutputMin; // 0x358 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x440 + CPerParticleFloatInput m_flOutputMax; // 0x440 // MPropertyFriendlyName "wave length" - CPerParticleVecInput m_vecWaveLength; // 0x528 + CPerParticleVecInput m_vecWaveLength; // 0x528 // MPropertyFriendlyName "harmonics" - CPerParticleVecInput m_vecHarmonics; // 0x958 + CPerParticleVecInput m_vecHarmonics; // 0x958 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd88 + ParticleSetMethod_t m_nSetMethod; // 0xd88 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalSpaceControlPoint; // 0xd8c + int32_t m_nLocalSpaceControlPoint; // 0xd8c // MPropertyFriendlyName "3D" - bool m_b3D; // 0xd90 + bool m_b3D; // 0xd90 }; -// Aligment: 6 -// Size: 416 -class C_OP_Noise : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1a0 +class C_OP_Noise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x184 + float m_flOutputMin; // 0x184 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x188 + float m_flOutputMax; // 0x188 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x18c + float m_fl4NoiseScale; // 0x18c // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x190 + bool m_bAdditive; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191 +public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x194 + float m_flNoiseAnimationTimeScale; // 0x194 }; -// Aligment: 7 -// Size: 432 -class C_OP_VectorNoise : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x1b0 +class C_OP_VectorNoise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x184 + Vector m_vecOutputMin; // 0x184 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x190 + Vector m_vecOutputMax; // 0x190 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x19c + float m_fl4NoiseScale; // 0x19c // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x1a0 + bool m_bAdditive; // 0x1a0 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x1a1 + bool m_bOffset; // 0x1a1 +private: + [[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2 +public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x1a4 + float m_flNoiseAnimationTimeScale; // 0x1a4 }; -// Aligment: 1 -// Size: 400 -class C_OP_Decay : public CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_OP_Decay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Reduce rope popping on decay" - bool m_bRopeDecay; // 0x180 + bool m_bRopeDecay; // 0x180 }; -// Aligment: 1 -// Size: 624 -class C_OP_DecayOffscreen : public CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x270 +class C_OP_DecayOffscreen : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Offscreen Time Before Decay" - CParticleCollectionFloatInput m_flOffscreenTime; // 0x180 + CParticleCollectionFloatInput m_flOffscreenTime; // 0x180 }; -// Aligment: 1 -// Size: 624 -class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x270 +class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator { public: // MPropertyFriendlyName "freeze time" - CParticleCollectionFloatInput m_flFreezeTime; // 0x180 + CParticleCollectionFloatInput m_flFreezeTime; // 0x180 }; -// Aligment: 1 -// Size: 400 -class C_OP_EndCapTimedDecay : public CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_OP_EndCapTimedDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "decay time" - float m_flDecayTime; // 0x180 + float m_flDecayTime; // 0x180 }; -// Aligment: 0 -// Size: 384 -class C_OP_EndCapDecay : public CParticleFunctionOperator, CParticleFunction +// Alignment: 0 +// Size: 0x180 +class C_OP_EndCapDecay : public CParticleFunctionOperator { public: -// + // no members available }; -// Aligment: 1 -// Size: 400 -class C_OP_VelocityDecay : public CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_OP_VelocityDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum velocity" - float m_flMinVelocity; // 0x180 + float m_flMinVelocity; // 0x180 }; -// Aligment: 1 -// Size: 400 -class C_OP_AlphaDecay : public CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_OP_AlphaDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum alpha" - float m_flMinAlpha; // 0x180 + float m_flMinAlpha; // 0x180 }; -// Aligment: 1 -// Size: 400 -class C_OP_RadiusDecay : public CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_OP_RadiusDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum radius" - float m_flMinRadius; // 0x180 + float m_flMinRadius; // 0x180 }; -// Aligment: 4 -// Size: 400 -class C_OP_DecayMaintainCount : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_OP_DecayMaintainCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x180 + int32_t m_nParticlesToMaintain; // 0x180 // MPropertyFriendlyName "maintain count scale control point" - int32_t m_nScaleControlPoint; // 0x184 + int32_t m_nScaleControlPoint; // 0x184 // MPropertyFriendlyName "maintain count scale control point field" - int32_t m_nScaleControlPointField; // 0x188 + int32_t m_nScaleControlPointField; // 0x188 // MPropertyFriendlyName "decay delay" - float m_flDecayDelay; // 0x18c + float m_flDecayDelay; // 0x18c }; -// Aligment: 1 -// Size: 624 -class C_OP_DecayClampCount : public CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x270 +class C_OP_DecayClampCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Maximum Count" - CParticleCollectionFloatInput m_nCount; // 0x180 + CParticleCollectionFloatInput m_nCount; // 0x180 }; -// Aligment: 4 -// Size: 400 -class C_OP_Cull : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_OP_Cull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "cull percentage" - float m_flCullPerc; // 0x180 + float m_flCullPerc; // 0x180 // MPropertyFriendlyName "cull start time" - float m_flCullStart; // 0x184 + float m_flCullStart; // 0x184 // MPropertyFriendlyName "cull end time" - float m_flCullEnd; // 0x188 + float m_flCullEnd; // 0x188 // MPropertyFriendlyName "cull time exponent" - float m_flCullExp; // 0x18c + float m_flCullExp; // 0x18c }; -// Aligment: 3 -// Size: 416 -class CGeneralSpin : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x1a0 +class CGeneralSpin : public CParticleFunctionOperator { public: // MPropertyFriendlyName "spin rate degrees" - int32_t m_nSpinRateDegrees; // 0x180 + int32_t m_nSpinRateDegrees; // 0x180 // MPropertyFriendlyName "spin rate min" - int32_t m_nSpinRateMinDegrees; // 0x184 + int32_t m_nSpinRateMinDegrees; // 0x184 +private: + [[maybe_unused]] uint8_t __pad0188[0x4]; // 0x188 +public: // MPropertyFriendlyName "spin stop time" - float m_fSpinRateStopTime; // 0x18c + float m_fSpinRateStopTime; // 0x18c }; -// Aligment: 0 -// Size: 384 -class CSpinUpdateBase : public CParticleFunctionOperator, CParticleFunction +// Alignment: 0 +// Size: 0x180 +class CSpinUpdateBase : public CParticleFunctionOperator { public: -// + // no members available }; -// Aligment: 0 -// Size: 416 -class C_OP_Spin : public CGeneralSpin, CParticleFunctionOperator, CParticleFunction +// Alignment: 0 +// Size: 0x1a0 +class C_OP_Spin : public CGeneralSpin { public: -// + // no members available }; -// Aligment: 0 -// Size: 384 -class C_OP_SpinUpdate : public CSpinUpdateBase, CParticleFunctionOperator, CParticleFunction +// Alignment: 0 +// Size: 0x180 +class C_OP_SpinUpdate : public CSpinUpdateBase { public: -// + // no members available }; -// Aligment: 0 -// Size: 416 -class C_OP_SpinYaw : public CGeneralSpin, CParticleFunctionOperator, CParticleFunction +// Alignment: 0 +// Size: 0x1a0 +class C_OP_SpinYaw : public CGeneralSpin { public: -// + // no members available }; -// Aligment: 6 -// Size: 464 -class C_OP_InterpolateRadius : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1d0 +class C_OP_InterpolateRadius : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x180 + float m_flStartTime; // 0x180 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x184 + float m_flEndTime; // 0x184 // MPropertyFriendlyName "radius start scale" - float m_flStartScale; // 0x188 + float m_flStartScale; // 0x188 // MPropertyFriendlyName "radius end scale" - float m_flEndScale; // 0x18c + float m_flEndScale; // 0x18c // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x190 + bool m_bEaseInAndOut; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191 +public: // MPropertyFriendlyName "scale bias" - float m_flBias; // 0x194 + float m_flBias; // 0x194 }; -// Aligment: 5 -// Size: 416 -class C_OP_ColorInterpolate : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x1a0 +class C_OP_ColorInterpolate : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade" - Color m_ColorFade; // 0x180 + Color m_ColorFade; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0xc]; // 0x184 +public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x190 + float m_flFadeStartTime; // 0x190 // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x194 + float m_flFadeEndTime; // 0x194 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x198 + ParticleAttributeIndex_t m_nFieldOutput; // 0x198 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x19c + bool m_bEaseInOut; // 0x19c }; -// Aligment: 6 -// Size: 448 -class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1c0 +class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade min" - Color m_ColorFadeMin; // 0x180 + Color m_ColorFadeMin; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x18]; // 0x184 +public: // MPropertyFriendlyName "color fade max" - Color m_ColorFadeMax; // 0x19c + Color m_ColorFadeMax; // 0x19c +private: + [[maybe_unused]] uint8_t __pad01a0[0xc]; // 0x1a0 +public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x1ac + float m_flFadeStartTime; // 0x1ac // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x1b0 + float m_flFadeEndTime; // 0x1b0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x1b8 + bool m_bEaseInOut; // 0x1b8 }; -// Aligment: 15 -// Size: 1744 -class C_OP_PositionLock : public CParticleFunctionOperator, CParticleFunction +// Alignment: 15 +// Size: 0x6d0 +class C_OP_PositionLock : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "start fadeout min" - float m_flStartTime_min; // 0x184 + float m_flStartTime_min; // 0x184 // MPropertyFriendlyName "start fadeout max" - float m_flStartTime_max; // 0x188 + float m_flStartTime_max; // 0x188 // MPropertyFriendlyName "start fadeout exponent" - float m_flStartTime_exp; // 0x18c + float m_flStartTime_exp; // 0x18c // MPropertyFriendlyName "end fadeout min" - float m_flEndTime_min; // 0x190 + float m_flEndTime_min; // 0x190 // MPropertyFriendlyName "end fadeout max" - float m_flEndTime_max; // 0x194 + float m_flEndTime_max; // 0x194 // MPropertyFriendlyName "end fadeout exponent" - float m_flEndTime_exp; // 0x198 + float m_flEndTime_exp; // 0x198 // MPropertyFriendlyName "distance fade range" - float m_flRange; // 0x19c + float m_flRange; // 0x19c // MPropertyFriendlyName "distance fade bias" - CParticleCollectionFloatInput m_flRangeBias; // 0x1a0 + CParticleCollectionFloatInput m_flRangeBias; // 0x1a0 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x288 + float m_flJumpThreshold; // 0x288 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x28c + float m_flPrevPosScale; // 0x28c // MPropertyFriendlyName "lock rotation" - bool m_bLockRot; // 0x290 + bool m_bLockRot; // 0x290 +private: + [[maybe_unused]] uint8_t __pad0291[0x7]; // 0x291 +public: // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x298 + CParticleCollectionVecInput m_vecScale; // 0x298 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x6c8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x6c8 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x6cc + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x6cc }; -// Aligment: 33 -// Size: 1680 -class C_OP_ControlpointLight : public CParticleFunctionOperator, CParticleFunction +// Alignment: 33 +// Size: 0x690 +class C_OP_ControlpointLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x180 + float m_flScale; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x480]; // 0x184 +public: // MPropertyFriendlyName "light 1 control point" - int32_t m_nControlPoint1; // 0x604 + int32_t m_nControlPoint1; // 0x604 // MPropertyFriendlyName "light 2 control point" - int32_t m_nControlPoint2; // 0x608 + int32_t m_nControlPoint2; // 0x608 // MPropertyFriendlyName "light 3 control point" - int32_t m_nControlPoint3; // 0x60c + int32_t m_nControlPoint3; // 0x60c // MPropertyFriendlyName "light 4 control point" - int32_t m_nControlPoint4; // 0x610 + int32_t m_nControlPoint4; // 0x610 // MPropertyFriendlyName "light 1 control point offset" - Vector m_vecCPOffset1; // 0x614 + Vector m_vecCPOffset1; // 0x614 // MPropertyFriendlyName "light 2 control point offset" - Vector m_vecCPOffset2; // 0x620 + Vector m_vecCPOffset2; // 0x620 // MPropertyFriendlyName "light 3 control point offset" - Vector m_vecCPOffset3; // 0x62c + Vector m_vecCPOffset3; // 0x62c // MPropertyFriendlyName "light 4 control point offset" - Vector m_vecCPOffset4; // 0x638 + Vector m_vecCPOffset4; // 0x638 // MPropertyFriendlyName "light 1 50% distance" - float m_LightFiftyDist1; // 0x644 + float m_LightFiftyDist1; // 0x644 // MPropertyFriendlyName "light 1 0% distance" - float m_LightZeroDist1; // 0x648 + float m_LightZeroDist1; // 0x648 // MPropertyFriendlyName "light 2 50% distance" - float m_LightFiftyDist2; // 0x64c + float m_LightFiftyDist2; // 0x64c // MPropertyFriendlyName "light 2 0% distance" - float m_LightZeroDist2; // 0x650 + float m_LightZeroDist2; // 0x650 // MPropertyFriendlyName "light 3 50% distance" - float m_LightFiftyDist3; // 0x654 + float m_LightFiftyDist3; // 0x654 // MPropertyFriendlyName "light 3 0% distance" - float m_LightZeroDist3; // 0x658 + float m_LightZeroDist3; // 0x658 // MPropertyFriendlyName "light 4 50% distance" - float m_LightFiftyDist4; // 0x65c + float m_LightFiftyDist4; // 0x65c // MPropertyFriendlyName "light 4 0% distance" - float m_LightZeroDist4; // 0x660 + float m_LightZeroDist4; // 0x660 // MPropertyFriendlyName "light 1 color" - Color m_LightColor1; // 0x664 + Color m_LightColor1; // 0x664 // MPropertyFriendlyName "light 2 color" - Color m_LightColor2; // 0x668 + Color m_LightColor2; // 0x668 // MPropertyFriendlyName "light 3 color" - Color m_LightColor3; // 0x66c + Color m_LightColor3; // 0x66c // MPropertyFriendlyName "light 4 color" - Color m_LightColor4; // 0x670 + Color m_LightColor4; // 0x670 // MPropertyFriendlyName "light 1 type 0=point 1=spot" - bool m_bLightType1; // 0x674 + bool m_bLightType1; // 0x674 // MPropertyFriendlyName "light 2 type 0=point 1=spot" - bool m_bLightType2; // 0x675 + bool m_bLightType2; // 0x675 // MPropertyFriendlyName "light 3 type 0=point 1=spot" - bool m_bLightType3; // 0x676 + bool m_bLightType3; // 0x676 // MPropertyFriendlyName "light 4 type 0=point 1=spot" - bool m_bLightType4; // 0x677 + bool m_bLightType4; // 0x677 // MPropertyFriendlyName "light 1 dynamic light" - bool m_bLightDynamic1; // 0x678 + bool m_bLightDynamic1; // 0x678 // MPropertyFriendlyName "light 2 dynamic light" - bool m_bLightDynamic2; // 0x679 + bool m_bLightDynamic2; // 0x679 // MPropertyFriendlyName "light 3 dynamic light" - bool m_bLightDynamic3; // 0x67a + bool m_bLightDynamic3; // 0x67a // MPropertyFriendlyName "light 4 dynamic light" - bool m_bLightDynamic4; // 0x67b + bool m_bLightDynamic4; // 0x67b // MPropertyFriendlyName "compute normals from control points" - bool m_bUseNormal; // 0x67c + bool m_bUseNormal; // 0x67c // MPropertyFriendlyName "half-lambert normals" - bool m_bUseHLambert; // 0x67d + bool m_bUseHLambert; // 0x67d +private: + [[maybe_unused]] uint8_t __pad067e[0x4]; // 0x67e +public: // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x682 + bool m_bClampLowerRange; // 0x682 // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x683 + bool m_bClampUpperRange; // 0x683 }; -// Aligment: 3 -// Size: 400 -class C_OP_GlobalLight : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_OP_GlobalLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x180 + float m_flScale; // 0x180 // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x184 + bool m_bClampLowerRange; // 0x184 // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x185 + bool m_bClampUpperRange; // 0x185 }; -// Aligment: 5 -// Size: 640 -class C_OP_SetChildControlPoints : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x280 +class C_OP_SetChildControlPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x180 + int32_t m_nChildGroupID; // 0x180 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x184 + int32_t m_nFirstControlPoint; // 0x184 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x188 + int32_t m_nNumControlPoints; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x190 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x190 // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x278 + bool m_bSetOrientation; // 0x278 }; -// Aligment: 6 -// Size: 416 -class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1a0 +class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x180 + int32_t m_nChildGroupID; // 0x180 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x184 + int32_t m_nFirstControlPoint; // 0x184 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x188 + int32_t m_nNumControlPoints; // 0x188 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x18c + int32_t m_nFirstSourcePoint; // 0x18c // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x190 + bool m_bSetOrientation; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191 +public: // MPropertyFriendlyName "orientation style" - ParticleOrientationSetMode_t m_nOrientationMode; // 0x194 + ParticleOrientationSetMode_t m_nOrientationMode; // 0x194 }; -// Aligment: 7 -// Size: 656 -class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x290 +class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x180 + char m_HitboxSetName[128]; // 0x180 // MPropertyFriendlyName "attachment to follow" - char[128] m_AttachmentName; // 0x200 + char m_AttachmentName[128]; // 0x200 // MPropertyFriendlyName "First control point to set" - int32_t m_nFirstControlPoint; // 0x280 + int32_t m_nFirstControlPoint; // 0x280 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x284 + int32_t m_nNumControlPoints; // 0x284 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x288 + int32_t m_nFirstSourcePoint; // 0x288 // MPropertyFriendlyName "use skinning instead of hitboxes" - bool m_bSkin; // 0x28c + bool m_bSkin; // 0x28c // MPropertyFriendlyName "follow attachment" - bool m_bAttachment; // 0x28d + bool m_bAttachment; // 0x28d }; -// Aligment: 8 -// Size: 880 -class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x370 +class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x180 + int32_t m_nChildGroupID; // 0x180 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x184 + int32_t m_nFirstControlPoint; // 0x184 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x188 + int32_t m_nNumControlPoints; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_nParticleIncrement; // 0x190 + CParticleCollectionFloatInput m_nParticleIncrement; // 0x190 // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x278 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x278 // MPropertyFriendlyName "set orientation from velocity" - bool m_bSetOrientation; // 0x360 + bool m_bSetOrientation; // 0x360 +private: + [[maybe_unused]] uint8_t __pad0361[0x3]; // 0x361 +public: // MPropertyFriendlyName "orientation vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOrientationField; // 0x364 + ParticleAttributeIndex_t m_nOrientationField; // 0x364 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x368 + bool m_bNumBasedOnParticleCount; // 0x368 }; -// Aligment: 8 -// Size: 416 -class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x1a0 +class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x180 + int32_t m_nChildGroupID; // 0x180 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x184 + int32_t m_nFirstControlPoint; // 0x184 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x188 + int32_t m_nNumControlPoints; // 0x188 // MPropertyFriendlyName "particle increment amount" - int32_t m_nParticleIncrement; // 0x18c + int32_t m_nParticleIncrement; // 0x18c // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x190 + int32_t m_nFirstSourcePoint; // 0x190 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x194 + bool m_bNumBasedOnParticleCount; // 0x194 +private: + [[maybe_unused]] uint8_t __pad0195[0x3]; // 0x195 +public: // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x198 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x198 // MPropertyFriendlyName "control point field for scalars" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x19c + int32_t m_nCPField; // 0x19c }; -// Aligment: 4 -// Size: 400 -class C_OP_RemapCPOrientationToYaw : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_OP_RemapCPOrientationToYaw : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x188 + float m_flRotOffset; // 0x188 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x18c + float m_flSpinStrength; // 0x18c }; -// Aligment: 3 -// Size: 400 -class C_OP_DampenToCP : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_OP_DampenToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "falloff range" - float m_flRange; // 0x184 + float m_flRange; // 0x184 // MPropertyFriendlyName "dampen scale" - float m_flScale; // 0x188 + float m_flScale; // 0x188 }; -// Aligment: 3 -// Size: 416 -class C_OP_SetToCP : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x1a0 +class C_OP_SetToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "offset" - Vector m_vecOffset; // 0x184 + Vector m_vecOffset; // 0x184 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x190 + bool m_bOffsetLocal; // 0x190 }; -// Aligment: 12 -// Size: 2656 -class C_OP_PinParticleToCP : public CParticleFunctionOperator, CParticleFunction +// Alignment: 12 +// Size: 0xa60 +class C_OP_PinParticleToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "offset" - CParticleCollectionVecInput m_vecOffset; // 0x188 + CParticleCollectionVecInput m_vecOffset; // 0x188 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x5b8 + bool m_bOffsetLocal; // 0x5b8 +private: + [[maybe_unused]] uint8_t __pad05b9[0x3]; // 0x5b9 +public: // MPropertyFriendlyName "particle to use" - ParticleSelection_t m_nParticleSelection; // 0x5bc + ParticleSelection_t m_nParticleSelection; // 0x5bc // MPropertyFriendlyName "particle number" - CParticleCollectionFloatInput m_nParticleNumber; // 0x5c0 + CParticleCollectionFloatInput m_nParticleNumber; // 0x5c0 // MPropertyFriendlyName "pin break type" - ParticlePinDistance_t m_nPinBreakType; // 0x6a8 + ParticlePinDistance_t m_nPinBreakType; // 0x6a8 +private: + [[maybe_unused]] uint8_t __pad06ac[0x4]; // 0x6ac +public: // MPropertyFriendlyName "break length %" - CParticleCollectionFloatInput m_flBreakDistance; // 0x6b0 + CParticleCollectionFloatInput m_flBreakDistance; // 0x6b0 // MPropertyFriendlyName "break speed" - CParticleCollectionFloatInput m_flBreakSpeed; // 0x798 + CParticleCollectionFloatInput m_flBreakSpeed; // 0x798 // MPropertyFriendlyName "break age" - CParticleCollectionFloatInput m_flAge; // 0x880 + CParticleCollectionFloatInput m_flAge; // 0x880 // MPropertyFriendlyName "break comparison control point 1" - int32_t m_nBreakControlPointNumber; // 0x968 + int32_t m_nBreakControlPointNumber; // 0x968 // MPropertyFriendlyName "break comparison control point 2" - int32_t m_nBreakControlPointNumber2; // 0x96c + int32_t m_nBreakControlPointNumber2; // 0x96c // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x970 + CPerParticleFloatInput m_flInterpolation; // 0x970 }; -// Aligment: 6 -// Size: 416 -class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1a0 +class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPoint; // 0x184 + int32_t m_nScaleControlPoint; // 0x184 // MPropertyFriendlyName "scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleCPField; // 0x188 + int32_t m_nScaleCPField; // 0x188 // MPropertyFriendlyName "cache attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x18c + ParticleAttributeIndex_t m_nFieldInput; // 0x18c // MPropertyFriendlyName "attribute to write to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x190 + ParticleAttributeIndex_t m_nFieldOutput; // 0x190 // MPropertyFriendlyName "local space" - bool m_bOffsetLocal; // 0x194 + bool m_bOffsetLocal; // 0x194 }; -// Aligment: 4 -// Size: 864 -class C_OP_LerpToInitialPosition : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x360 +class C_OP_LerpToInitialPosition : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x188 + CPerParticleFloatInput m_flInterpolation; // 0x188 // MPropertyFriendlyName "position cache attribute" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nCacheField; // 0x270 + ParticleAttributeIndex_t m_nCacheField; // 0x270 +private: + [[maybe_unused]] uint8_t __pad0274[0x4]; // 0x274 +public: // MPropertyFriendlyName "scale" - CParticleCollectionFloatInput m_flScale; // 0x278 + CParticleCollectionFloatInput m_flScale; // 0x278 }; -// Aligment: 13 -// Size: 1488 -class C_OP_DistanceBetweenCPs : public CParticleFunctionOperator, CParticleFunction +// Alignment: 13 +// Size: 0x5d0 +class C_OP_DistanceBetweenCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x184 + int32_t m_nStartCP; // 0x184 // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x188 + int32_t m_nEndCP; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x190 + CPerParticleFloatInput m_flInputMin; // 0x190 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x278 + CPerParticleFloatInput m_flInputMax; // 0x278 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x360 + CPerParticleFloatInput m_flOutputMin; // 0x360 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x448 + CPerParticleFloatInput m_flOutputMax; // 0x448 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x530 + float m_flMaxTraceLength; // 0x530 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x534 + float m_flLOSScale; // 0x534 // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x538 + char m_CollisionGroupName[128]; // 0x538 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x5b8 + ParticleTraceSet_t m_nTraceSet; // 0x5b8 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x5bc + bool m_bLOS; // 0x5bc +private: + [[maybe_unused]] uint8_t __pad05bd[0x3]; // 0x5bd +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x5c0 + ParticleSetMethod_t m_nSetMethod; // 0x5c0 }; -// Aligment: 10 -// Size: 432 -class C_OP_PercentageBetweenCPs : public CParticleFunctionOperator, CParticleFunction +// Alignment: 10 +// Size: 0x1b0 +class C_OP_PercentageBetweenCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x184 + float m_flInputMin; // 0x184 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x188 + float m_flInputMax; // 0x188 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x18c + float m_flOutputMin; // 0x18c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x190 + float m_flOutputMax; // 0x190 // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x194 + int32_t m_nStartCP; // 0x194 // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x198 + int32_t m_nEndCP; // 0x198 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x19c + ParticleSetMethod_t m_nSetMethod; // 0x19c // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x1a0 + bool m_bActiveRange; // 0x1a0 // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x1a1 + bool m_bRadialCheck; // 0x1a1 }; -// Aligment: 10 -// Size: 448 -class C_OP_PercentageBetweenCPsVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 10 +// Size: 0x1c0 +class C_OP_PercentageBetweenCPsVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x184 + float m_flInputMin; // 0x184 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x188 + float m_flInputMax; // 0x188 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x18c + Vector m_vecOutputMin; // 0x18c // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x198 + Vector m_vecOutputMax; // 0x198 // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x1a4 + int32_t m_nStartCP; // 0x1a4 // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x1a8 + int32_t m_nEndCP; // 0x1a8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1ac + ParticleSetMethod_t m_nSetMethod; // 0x1ac // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x1b0 + bool m_bActiveRange; // 0x1b0 // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x1b1 + bool m_bRadialCheck; // 0x1b1 }; -// Aligment: 12 -// Size: 432 -class C_OP_PercentageBetweenCPLerpCPs : public CParticleFunctionOperator, CParticleFunction +// Alignment: 12 +// Size: 0x1b0 +class C_OP_PercentageBetweenCPLerpCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x184 + float m_flInputMin; // 0x184 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x188 + float m_flInputMax; // 0x188 // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x18c + int32_t m_nStartCP; // 0x18c // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x190 + int32_t m_nEndCP; // 0x190 // MPropertyFriendlyName "output starting control point number" - int32_t m_nOutputStartCP; // 0x194 + int32_t m_nOutputStartCP; // 0x194 // MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z" - int32_t m_nOutputStartField; // 0x198 + int32_t m_nOutputStartField; // 0x198 // MPropertyFriendlyName "output ending control point number" - int32_t m_nOutputEndCP; // 0x19c + int32_t m_nOutputEndCP; // 0x19c // MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z" - int32_t m_nOutputEndField; // 0x1a0 + int32_t m_nOutputEndField; // 0x1a0 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a4 + ParticleSetMethod_t m_nSetMethod; // 0x1a4 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x1a8 + bool m_bActiveRange; // 0x1a8 // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x1a9 + bool m_bRadialCheck; // 0x1a9 }; -// Aligment: 9 -// Size: 3472 -class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator, CParticleFunction +// Alignment: 9 +// Size: 0xd90 +class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x188 + CPerParticleVecInput m_vecPoint1; // 0x188 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x5b8 + CPerParticleVecInput m_vecPoint2; // 0x5b8 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x9e8 + CPerParticleFloatInput m_flInputMin; // 0x9e8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0xad0 + CPerParticleFloatInput m_flInputMax; // 0xad0 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0xbb8 + CPerParticleFloatInput m_flOutputMin; // 0xbb8 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0xca0 + CPerParticleFloatInput m_flOutputMax; // 0xca0 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd88 + ParticleSetMethod_t m_nSetMethod; // 0xd88 // MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)" - bool m_bDeltaTime; // 0xd8c + bool m_bDeltaTime; // 0xd8c }; -// Aligment: 3 -// Size: 2544 -class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x9f0 +class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x188 + CPerParticleVecInput m_vecPoint1; // 0x188 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x5b8 + CPerParticleVecInput m_vecPoint2; // 0x5b8 }; -// Aligment: 15 -// Size: 1632 -class C_OP_DistanceToCP : public CParticleFunctionOperator, CParticleFunction +// Alignment: 15 +// Size: 0x660 +class C_OP_DistanceToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "distance minimum" - float m_flInputMin; // 0x184 + float m_flInputMin; // 0x184 // MPropertyFriendlyName "distance maximum" - float m_flInputMax; // 0x188 + float m_flInputMax; // 0x188 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x18c + float m_flOutputMin; // 0x18c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x190 + float m_flOutputMax; // 0x190 // MPropertyFriendlyName "control point" - int32_t m_nStartCP; // 0x194 + int32_t m_nStartCP; // 0x194 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x198 + bool m_bLOS; // 0x198 // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x199 + char m_CollisionGroupName[128]; // 0x199 +private: + [[maybe_unused]] uint8_t __pad0219[0x3]; // 0x219 +public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x21c + ParticleTraceSet_t m_nTraceSet; // 0x21c // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x220 + float m_flMaxTraceLength; // 0x220 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x224 + float m_flLOSScale; // 0x224 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x228 + ParticleSetMethod_t m_nSetMethod; // 0x228 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x22c + bool m_bActiveRange; // 0x22c // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x22d + bool m_bAdditive; // 0x22d +private: + [[maybe_unused]] uint8_t __pad022e[0x2]; // 0x22e +public: // MPropertyFriendlyName "component scale" - CPerParticleVecInput m_vecComponentScale; // 0x230 + CPerParticleVecInput m_vecComponentScale; // 0x230 }; -// Aligment: 11 -// Size: 1344 -class C_OP_CylindricalDistanceToCP : public CParticleFunctionOperator, CParticleFunction +// Alignment: 11 +// Size: 0x540 +class C_OP_CylindricalDistanceToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "cylinder inner radius" - CPerParticleFloatInput m_flInputMin; // 0x188 + CPerParticleFloatInput m_flInputMin; // 0x188 // MPropertyFriendlyName "cylinder outer radius" - CPerParticleFloatInput m_flInputMax; // 0x270 + CPerParticleFloatInput m_flInputMax; // 0x270 // MPropertyFriendlyName "cylinder inner output" - CPerParticleFloatInput m_flOutputMin; // 0x358 + CPerParticleFloatInput m_flOutputMin; // 0x358 // MPropertyFriendlyName "cylinder outer output" - CPerParticleFloatInput m_flOutputMax; // 0x440 + CPerParticleFloatInput m_flOutputMax; // 0x440 // MPropertyFriendlyName "cylinder top control point" - int32_t m_nStartCP; // 0x528 + int32_t m_nStartCP; // 0x528 // MPropertyFriendlyName "cylinder bottom control point" - int32_t m_nEndCP; // 0x52c + int32_t m_nEndCP; // 0x52c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x530 + ParticleSetMethod_t m_nSetMethod; // 0x530 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x534 + bool m_bActiveRange; // 0x534 // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x535 + bool m_bAdditive; // 0x535 // MPropertyFriendlyName "apply radius to ends (capsule)" - bool m_bCapsule; // 0x536 + bool m_bCapsule; // 0x536 }; -// Aligment: 7 -// Size: 560 -class C_OP_RtEnvCull : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x230 +class C_OP_RtEnvCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x180 + Vector m_vecTestDir; // 0x180 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x18c + Vector m_vecTestNormal; // 0x18c // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x198 + bool m_bCullOnMiss; // 0x198 // MPropertyFriendlyName "stick instead of cull" - bool m_bStickInsteadOfCull; // 0x199 + bool m_bStickInsteadOfCull; // 0x199 // MPropertyFriendlyName "ray trace environment name" - char[128] m_RtEnvName; // 0x19a + char m_RtEnvName[128]; // 0x19a +private: + [[maybe_unused]] uint8_t __pad021a[0x2]; // 0x21a +public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x21c + int32_t m_nRTEnvCP; // 0x21c // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x220 + int32_t m_nComponent; // 0x220 }; -// Aligment: 4 -// Size: 1712 -class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x6b0 +class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "distance maximum" - CParticleCollectionFloatInput m_flDistance; // 0x188 + CParticleCollectionFloatInput m_flDistance; // 0x188 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x270 + CParticleCollectionVecInput m_vecScale; // 0x270 // MPropertyFriendlyName "distance squared output attribute" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDistSqrAttr; // 0x6a0 + ParticleAttributeIndex_t m_nDistSqrAttr; // 0x6a0 }; -// Aligment: 8 -// Size: 784 -class C_OP_MoveToHitbox : public CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x310 +class C_OP_MoveToHitbox : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "lifetime lerp start" - float m_flLifeTimeLerpStart; // 0x188 + float m_flLifeTimeLerpStart; // 0x188 // MPropertyFriendlyName "lifetime lerp end" - float m_flLifeTimeLerpEnd; // 0x18c + float m_flLifeTimeLerpEnd; // 0x18c // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x190 + float m_flPrevPosScale; // 0x190 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x194 + char m_HitboxSetName[128]; // 0x194 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x214 + bool m_bUseBones; // 0x214 +private: + [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 +public: // MPropertyFriendlyName "lerp type" - HitboxLerpType_t m_nLerpType; // 0x218 + HitboxLerpType_t m_nLerpType; // 0x218 +private: + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c +public: // MPropertyFriendlyName "Constant Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x220 + CPerParticleFloatInput m_flInterpolation; // 0x220 }; -// Aligment: 14 -// Size: 1856 -class C_OP_LockToBone : public CParticleFunctionOperator, CParticleFunction +// Alignment: 14 +// Size: 0x740 +class C_OP_LockToBone : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control_point_number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x184 + float m_flLifeTimeFadeStart; // 0x184 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x188 + float m_flLifeTimeFadeEnd; // 0x188 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x18c + float m_flJumpThreshold; // 0x18c // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x190 + float m_flPrevPosScale; // 0x190 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x194 + char m_HitboxSetName[128]; // 0x194 // MPropertyFriendlyName "rigid lock" - bool m_bRigid; // 0x214 + bool m_bRigid; // 0x214 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x215 + bool m_bUseBones; // 0x215 +private: + [[maybe_unused]] uint8_t __pad0216[0x2]; // 0x216 +public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x218 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x21c + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x21c // MPropertyStartGroup "Set Rotations to Bones" // MPropertyFriendlyName "lock rotations to bone orientation" - ParticleRotationLockType_t m_nRotationSetType; // 0x220 + ParticleRotationLockType_t m_nRotationSetType; // 0x220 // MPropertyFriendlyName "rigid set rotation from bones" - bool m_bRigidRotationLock; // 0x224 + bool m_bRigidRotationLock; // 0x224 +private: + [[maybe_unused]] uint8_t __pad0225[0x3]; // 0x225 +public: // MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll" - CPerParticleVecInput m_vecRotation; // 0x228 + CPerParticleVecInput m_vecRotation; // 0x228 // MPropertyFriendlyName "rigid rotation interpolation" - CPerParticleFloatInput m_flRotLerp; // 0x658 + CPerParticleFloatInput m_flRotLerp; // 0x658 }; -// Aligment: 2 -// Size: 400 -class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x180 + bool m_bTransformNormals; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0181[0x3]; // 0x181 +public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x184 + int32_t m_nControlPointNumber; // 0x184 }; -// Aligment: 6 -// Size: 416 -class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1a0 +class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x180 + bool m_bTransformNormals; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0181[0x3]; // 0x181 +public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x184 + int32_t m_nControlPointNumber; // 0x184 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x188 + float m_flLifeTimeFadeStart; // 0x188 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x18c + float m_flLifeTimeFadeEnd; // 0x18c // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x190 + float m_flJumpThreshold; // 0x190 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x194 + float m_flPrevPosScale; // 0x194 }; -// Aligment: 11 -// Size: 432 -class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator, CParticleFunction +// Alignment: 11 +// Size: 0x1b0 +class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x180 + float m_flInputMin; // 0x180 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x184 + float m_flInputMax; // 0x184 // MPropertyFriendlyName "percentage bias" - float m_flInputBias; // 0x188 + float m_flInputBias; // 0x188 // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x18c + int32_t m_nStartCP; // 0x18c // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x190 + int32_t m_nEndCP; // 0x190 // MPropertyFriendlyName "offset control point" - int32_t m_nOffsetCP; // 0x194 + int32_t m_nOffsetCP; // 0x194 // MPropertyFriendlyName "output control point" - int32_t m_nOuputCP; // 0x198 + int32_t m_nOuputCP; // 0x198 // MPropertyFriendlyName "input control point" - int32_t m_nInputCP; // 0x19c + int32_t m_nInputCP; // 0x19c // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x1a0 + bool m_bRadialCheck; // 0x1a0 // MPropertyFriendlyName "treat offset as scale of total distance" - bool m_bScaleOffset; // 0x1a1 + bool m_bScaleOffset; // 0x1a1 +private: + [[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2 +public: // MPropertyFriendlyName "offset amount" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1a4 + Vector m_vecOffset; // 0x1a4 }; -// Aligment: 4 -// Size: 416 -class C_OP_PlaneCull : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x1a0 +class C_OP_PlaneCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point for point on plane" - int32_t m_nPlaneControlPoint; // 0x180 + int32_t m_nPlaneControlPoint; // 0x180 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneDirection; // 0x184 + Vector m_vecPlaneDirection; // 0x184 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x190 + bool m_bLocalSpace; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191 +public: // MPropertyFriendlyName "cull plane offset" - float m_flPlaneOffset; // 0x194 + float m_flPlaneOffset; // 0x194 }; -// Aligment: 4 -// Size: 416 -class C_OP_DistanceCull : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x1a0 +class C_OP_DistanceCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x180 + int32_t m_nControlPoint; // 0x180 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecPointOffset; // 0x184 + Vector m_vecPointOffset; // 0x184 // MPropertyFriendlyName "cull distance" - float m_flDistance; // 0x190 + float m_flDistance; // 0x190 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x194 + bool m_bCullInside; // 0x194 }; -// Aligment: 5 -// Size: 528 -class C_OP_ModelCull : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x210 +class C_OP_ModelCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x184 + bool m_bBoundBox; // 0x184 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x185 + bool m_bCullOutside; // 0x185 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x186 + bool m_bUseBones; // 0x186 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x187 + char m_HitboxSetName[128]; // 0x187 }; -// Aligment: 8 -// Size: 416 -class C_OP_SequenceFromModel : public CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x1a0 +class C_OP_SequenceFromModel : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x188 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x188 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x18c + float m_flInputMin; // 0x18c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x190 + float m_flInputMax; // 0x190 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 + float m_flOutputMin; // 0x194 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 + float m_flOutputMax; // 0x198 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x19c + ParticleSetMethod_t m_nSetMethod; // 0x19c }; -// Aligment: 3 -// Size: 400 -class C_OP_VelocityMatchingForce : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_OP_VelocityMatchingForce : public CParticleFunctionOperator { public: // MPropertyFriendlyName "direction matching strength" - float m_flDirScale; // 0x180 + float m_flDirScale; // 0x180 // MPropertyFriendlyName "speed matching strength" - float m_flSpdScale; // 0x184 + float m_flSpdScale; // 0x184 // MPropertyFriendlyName "control point to broadcast speed and direction to" - int32_t m_nCPBroadcast; // 0x188 + int32_t m_nCPBroadcast; // 0x188 }; -// Aligment: 3 -// Size: 416 -class C_OP_MovementMaintainOffset : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x1a0 +class C_OP_MovementMaintainOffset : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x180 + Vector m_vecOffset; // 0x180 // MPropertyFriendlyName "local space CP" - int32_t m_nCP; // 0x18c + int32_t m_nCP; // 0x18c // MPropertyFriendlyName "scale by radius" - bool m_bRadiusScale; // 0x190 + bool m_bRadiusScale; // 0x190 }; -// Aligment: 16 -// Size: 816 -class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator, CParticleFunction +// Alignment: 16 +// Size: 0x330 +class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator { public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x180 + CPerParticleFloatInput m_flOffset; // 0x180 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x268 + float m_flMaxTraceLength; // 0x268 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x26c + float m_flTolerance; // 0x26c // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x270 + float m_flTraceOffset; // 0x270 // MPropertyFriendlyName "interpolation rate" - float m_flLerpRate; // 0x274 + float m_flLerpRate; // 0x274 // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x278 + char m_CollisionGroupName[128]; // 0x278 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x2f8 + ParticleTraceSet_t m_nTraceSet; // 0x2f8 // MPropertyFriendlyName "reference CP 1" - int32_t m_nRefCP1; // 0x2fc + int32_t m_nRefCP1; // 0x2fc // MPropertyFriendlyName "reference CP 2" - int32_t m_nRefCP2; // 0x300 + int32_t m_nRefCP2; // 0x300 // MPropertyFriendlyName "interploation distance tolerance cp" - int32_t m_nLerpCP; // 0x304 + int32_t m_nLerpCP; // 0x304 +private: + [[maybe_unused]] uint8_t __pad0308[0x8]; // 0x308 +public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x310 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x310 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x314 + bool m_bIncludeWater; // 0x314 +private: + [[maybe_unused]] uint8_t __pad0315[0x2]; // 0x315 +public: // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x317 + bool m_bSetNormal; // 0x317 // MPropertyFriendlyName "treat offset as scalar of particle radius" - bool m_bScaleOffset; // 0x318 + bool m_bScaleOffset; // 0x318 +private: + [[maybe_unused]] uint8_t __pad0319[0x3]; // 0x319 +public: // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x31c + int32_t m_nPreserveOffsetCP; // 0x31c // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x320 + int32_t m_nIgnoreCP; // 0x320 }; -// Aligment: 4 -// Size: 400 -class C_OP_InheritFromParentParticles : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_OP_InheritFromParentParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x180 + float m_flScale; // 0x180 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x188 + int32_t m_nIncrement; // 0x188 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x18c + bool m_bRandomDistribution; // 0x18c }; -// Aligment: 5 -// Size: 416 -class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x1a0 +class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x180 + float m_flScale; // 0x180 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x188 + int32_t m_nIncrement; // 0x188 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x18c + bool m_bRandomDistribution; // 0x18c +private: + [[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d +public: // MPropertyFriendlyName "behavior if parent particle dies" - MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x190 + MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x190 }; -// Aligment: 5 -// Size: 864 -class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x360 +class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 + ParticleAttributeIndex_t m_nFieldInput; // 0x180 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x188 + int32_t m_nIncrement; // 0x188 +private: + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c +public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_DistanceCheck; // 0x190 + CPerParticleFloatInput m_DistanceCheck; // 0x190 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x278 + CPerParticleFloatInput m_flInterpolation; // 0x278 }; -// Aligment: 4 -// Size: 400 -class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x184 + ParticleAttributeIndex_t m_nFieldInput; // 0x184 // MPropertyFriendlyName "particle neighbor increment amount" - int32_t m_nIncrement; // 0x188 + int32_t m_nIncrement; // 0x188 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x18c + int32_t m_nGroupID; // 0x18c }; -// Aligment: 3 -// Size: 400 -class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Input Vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x180 + ParticleAttributeIndex_t m_nFieldInput; // 0x180 // MPropertyFriendlyName "Output Scalar" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "Vector Component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x188 + int32_t m_nComponent; // 0x188 }; -// Aligment: 3 -// Size: 400 -class C_OP_OrientTo2dDirection : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_OP_OrientTo2dDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x180 + float m_flRotOffset; // 0x180 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x184 + float m_flSpinStrength; // 0x184 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 }; -// Aligment: 6 -// Size: 416 -class C_OP_RestartAfterDuration : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1a0 +class C_OP_RestartAfterDuration : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum restart time" - float m_flDurationMin; // 0x180 + float m_flDurationMin; // 0x180 // MPropertyFriendlyName "maximum restart time" - float m_flDurationMax; // 0x184 + float m_flDurationMax; // 0x184 // MPropertyFriendlyName "control point to scale duration" - int32_t m_nCP; // 0x188 + int32_t m_nCP; // 0x188 // MPropertyFriendlyName "control point field X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x18c + int32_t m_nCPField; // 0x18c // MPropertyFriendlyName "child group ID" - int32_t m_nChildGroupID; // 0x190 + int32_t m_nChildGroupID; // 0x190 // MPropertyFriendlyName "only restart children" - bool m_bOnlyChildren; // 0x194 + bool m_bOnlyChildren; // 0x194 }; -// Aligment: 4 -// Size: 400 -class C_OP_Orient2DRelToCP : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_OP_Orient2DRelToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x180 + float m_flRotOffset; // 0x180 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x184 + float m_flSpinStrength; // 0x184 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x188 + int32_t m_nCP; // 0x188 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x18c + ParticleAttributeIndex_t m_nFieldOutput; // 0x18c }; -// Aligment: 4 -// Size: 1696 -class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x6a0 +class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x180 + CParticleCollectionVecInput m_vecRotAxis; // 0x180 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x5b0 + CParticleCollectionFloatInput m_flRotRate; // 0x5b0 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x698 + int32_t m_nCP; // 0x698 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x69c + bool m_bLocalSpace; // 0x69c }; -// Aligment: 7 -// Size: 656 -class C_OP_RotateVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x290 +class C_OP_RotateVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "rotation axis min" // MVectorIsCoordinate - Vector m_vecRotAxisMin; // 0x184 + Vector m_vecRotAxisMin; // 0x184 // MPropertyFriendlyName "rotation axis max" // MVectorIsCoordinate - Vector m_vecRotAxisMax; // 0x190 + Vector m_vecRotAxisMax; // 0x190 // MPropertyFriendlyName "rotation rate min" - float m_flRotRateMin; // 0x19c + float m_flRotRateMin; // 0x19c // MPropertyFriendlyName "rotation rate max" - float m_flRotRateMax; // 0x1a0 + float m_flRotRateMax; // 0x1a0 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x1a4 + bool m_bNormalize; // 0x1a4 +private: + [[maybe_unused]] uint8_t __pad01a5[0x3]; // 0x1a5 +public: // MPropertyFriendlyName "per particle scale" - CPerParticleFloatInput m_flScale; // 0x1a8 + CPerParticleFloatInput m_flScale; // 0x1a8 }; -// Aligment: 3 -// Size: 400 -class C_OP_MaxVelocity : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_OP_MaxVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum velocity" - float m_flMaxVelocity; // 0x180 + float m_flMaxVelocity; // 0x180 // MPropertyFriendlyName "override max velocity from this CP" - int32_t m_nOverrideCP; // 0x184 + int32_t m_nOverrideCP; // 0x184 // MPropertyFriendlyName "override CP field" - int32_t m_nOverrideCPField; // 0x188 + int32_t m_nOverrideCPField; // 0x188 }; -// Aligment: 4 -// Size: 400 -class C_OP_LagCompensation : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_OP_LagCompensation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired velocity CP" - int32_t m_nDesiredVelocityCP; // 0x180 + int32_t m_nDesiredVelocityCP; // 0x180 // MPropertyFriendlyName "latency CP" - int32_t m_nLatencyCP; // 0x184 + int32_t m_nLatencyCP; // 0x184 // MPropertyFriendlyName "latency CP field" - int32_t m_nLatencyCPField; // 0x188 + int32_t m_nLatencyCPField; // 0x188 // MPropertyFriendlyName "desired velocity CP field override(for speed only)" - int32_t m_nDesiredVelocityCPField; // 0x18c + int32_t m_nDesiredVelocityCPField; // 0x18c }; -// Aligment: 7 -// Size: 480 -class C_OP_MaintainSequentialPath : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x1e0 +class C_OP_MaintainSequentialPath : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x180 + float m_fMaxDistance; // 0x180 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x184 + float m_flNumToAssign; // 0x184 // MPropertyFriendlyName "cohesion strength" - float m_flCohesionStrength; // 0x188 + float m_flCohesionStrength; // 0x188 // MPropertyFriendlyName "control point movement tolerance" - float m_flTolerance; // 0x18c + float m_flTolerance; // 0x18c // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x190 + bool m_bLoop; // 0x190 // MPropertyFriendlyName "use existing particle count" - bool m_bUseParticleCount; // 0x191 - CPathParameters m_PathParams; // 0x1a0 + bool m_bUseParticleCount; // 0x191 +private: + [[maybe_unused]] uint8_t __pad0192[0xe]; // 0x192 +public: + CPathParameters m_PathParams; // 0x1a0 }; -// Aligment: 4 -// Size: 464 -class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x1d0 +class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x180 + float m_flFadeStart; // 0x180 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x184 + float m_flFadeEnd; // 0x184 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x188 - CPathParameters m_PathParams; // 0x190 + bool m_bCPPairs; // 0x188 +private: + [[maybe_unused]] uint8_t __pad0189[0x7]; // 0x189 +public: + CPathParameters m_PathParams; // 0x190 }; -// Aligment: 4 -// Size: 464 -class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x1d0 +class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x184 + float m_flFadeStart; // 0x184 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x188 + float m_flFadeEnd; // 0x188 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x18c - CPathParameters m_PathParams; // 0x190 + bool m_bCPPairs; // 0x18c +private: + [[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d +public: + CPathParameters m_PathParams; // 0x190 }; -// Aligment: 11 -// Size: 432 -class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator, CParticleFunction +// Alignment: 11 +// Size: 0x1b0 +class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x180 + int32_t m_nInputCP1; // 0x180 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x184 + int32_t m_nInputCP2; // 0x184 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x188 + ParticleAttributeIndex_t m_nFieldOutput; // 0x188 // MPropertyFriendlyName "input minimum (-1 to 1)" - float m_flInputMin; // 0x18c + float m_flInputMin; // 0x18c // MPropertyFriendlyName "input maximum (-1 to 1)" - float m_flInputMax; // 0x190 + float m_flInputMax; // 0x190 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 + float m_flOutputMin; // 0x194 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 + float m_flOutputMax; // 0x198 // MPropertyFriendlyName "use particle velocity for first input" - bool m_bUseParticleVelocity; // 0x19c + bool m_bUseParticleVelocity; // 0x19c +private: + [[maybe_unused]] uint8_t __pad019d[0x3]; // 0x19d +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a0 + ParticleSetMethod_t m_nSetMethod; // 0x1a0 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x1a4 + bool m_bActiveRange; // 0x1a4 // MPropertyFriendlyName "use particle normal for first input" - bool m_bUseParticleNormal; // 0x1a5 + bool m_bUseParticleNormal; // 0x1a5 }; -// Aligment: 11 -// Size: 432 -class C_OP_RemapCPtoScalar : public CParticleFunctionOperator, CParticleFunction +// Alignment: 11 +// Size: 0x1b0 +class C_OP_RemapCPtoScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x180 + int32_t m_nCPInput; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x188 + int32_t m_nField; // 0x188 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x18c + float m_flInputMin; // 0x18c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x190 + float m_flInputMax; // 0x190 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x194 + float m_flOutputMin; // 0x194 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x198 + float m_flOutputMax; // 0x198 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x19c + float m_flStartTime; // 0x19c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1a0 + float m_flEndTime; // 0x1a0 // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x1a4 + float m_flInterpRate; // 0x1a4 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a8 + ParticleSetMethod_t m_nSetMethod; // 0x1a8 }; -// Aligment: 1 -// Size: 400 -class C_OP_NormalLock : public CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_OP_NormalLock : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 }; -// Aligment: 13 -// Size: 464 -class C_OP_RemapCPtoVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 13 +// Size: 0x1d0 +class C_OP_RemapCPtoVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x180 + int32_t m_nCPInput; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "local space CP" - int32_t m_nLocalSpaceCP; // 0x188 + int32_t m_nLocalSpaceCP; // 0x188 // MPropertyFriendlyName "input minimum" // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x18c + Vector m_vInputMin; // 0x18c // MPropertyFriendlyName "input maximum" // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x198 + Vector m_vInputMax; // 0x198 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x1a4 + Vector m_vOutputMin; // 0x1a4 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x1b0 + Vector m_vOutputMax; // 0x1b0 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1bc + float m_flStartTime; // 0x1bc // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1c0 + float m_flEndTime; // 0x1c0 // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x1c4 + float m_flInterpRate; // 0x1c4 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1c8 + ParticleSetMethod_t m_nSetMethod; // 0x1c8 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x1cc + bool m_bOffset; // 0x1cc // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x1cd + bool m_bAccelerate; // 0x1cd }; -// Aligment: 2 -// Size: 400 -class C_OP_SetCPtoVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_OP_SetCPtoVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x180 + int32_t m_nCPInput; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 }; -// Aligment: 1 -// Size: 400 -class C_OP_RemapCPtoVelocity : public CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x190 +class C_OP_RemapCPtoVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x180 + int32_t m_nCPInput; // 0x180 }; -// Aligment: 3 -// Size: 400 -class C_OP_RemapVelocityToVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_OP_RemapVelocityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x184 + float m_flScale; // 0x184 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x188 + bool m_bNormalize; // 0x188 }; -// Aligment: 4 -// Size: 400 -class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x180 + int32_t m_nControlPoint; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x188 + float m_flScale; // 0x188 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x18c + bool m_bNormalize; // 0x18c }; -// Aligment: 2 -// Size: 400 -class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point" - int32_t m_nInputControlPoint; // 0x180 + int32_t m_nInputControlPoint; // 0x180 // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x184 + int32_t m_nOutputControlPoint; // 0x184 }; -// Aligment: 7 -// Size: 432 -class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x1b0 +class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x188 + float m_flScale; // 0x188 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x18c + float m_flOffsetRot; // 0x18c // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x190 + Vector m_vecOffsetAxis; // 0x190 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x19c + bool m_bNormalize; // 0x19c +private: + [[maybe_unused]] uint8_t __pad019d[0x3]; // 0x19d +public: // MPropertyFriendlyName "strength field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldStrength; // 0x1a0 + ParticleAttributeIndex_t m_nFieldStrength; // 0x1a0 }; -// Aligment: 4 -// Size: 2544 -class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x9f0 +class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input vector 1" - CPerParticleVecInput m_InputVec1; // 0x180 + CPerParticleVecInput m_InputVec1; // 0x180 // MPropertyFriendlyName "input vector 2" - CPerParticleVecInput m_InputVec2; // 0x5b0 + CPerParticleVecInput m_InputVec2; // 0x5b0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x9e0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x9e0 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x9e4 + bool m_bNormalize; // 0x9e4 }; -// Aligment: 2 -// Size: 400 -class C_OP_NormalizeVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_OP_NormalizeVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x184 + float m_flScale; // 0x184 }; -// Aligment: 3 -// Size: 400 -class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x190 +class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x184 + float m_flScale; // 0x184 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x188 + int32_t m_nControlPointNumber; // 0x188 }; -// Aligment: 9 -// Size: 560 -class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator, CParticleFunction +// Alignment: 9 +// Size: 0x230 +class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator { public: // MPropertyFriendlyName "interpolation rate" - float m_flInterpRate; // 0x180 + float m_flInterpRate; // 0x180 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x184 + float m_flMaxTraceLength; // 0x184 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x188 + float m_flTolerance; // 0x188 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x18c + float m_flTraceOffset; // 0x18c // MPropertyFriendlyName "collision group" - char[128] m_CollisionGroupName; // 0x190 + char m_CollisionGroupName[128]; // 0x190 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x210 + ParticleTraceSet_t m_nTraceSet; // 0x210 // MPropertyFriendlyName "CP to trace from" - int32_t m_nInputCP; // 0x214 + int32_t m_nInputCP; // 0x214 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x218 + int32_t m_nOutputCP; // 0x218 +private: + [[maybe_unused]] uint8_t __pad021c[0xc]; // 0x21c +public: // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x228 + bool m_bIncludeWater; // 0x228 }; -// Aligment: 4 -// Size: 416 -class C_OP_RemapCPOrientationToRotations : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x1a0 +class C_OP_RemapCPOrientationToRotations : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x184 + Vector m_vecRotation; // 0x184 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x190 + bool m_bUseQuat; // 0x190 // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x191 + bool m_bWriteNormal; // 0x191 }; -// Aligment: 4 -// Size: 400 -class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x190 +class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x180 + int32_t m_nCP; // 0x180 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x184 + ParticleAttributeIndex_t m_nFieldOutput; // 0x184 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x188 + float m_flOffsetRot; // 0x188 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x18c + int32_t m_nComponent; // 0x18c }; -// Aligment: 5 -// Size: 432 -class C_OP_LockToPointList : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x1b0 +class C_OP_LockToPointList : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x180 + ParticleAttributeIndex_t m_nFieldOutput; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x188 + CUtlVector< PointDefinition_t > m_pointList; // 0x188 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x1a0 + bool m_bPlaceAlongPath; // 0x1a0 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x1a1 + bool m_bClosedLoop; // 0x1a1 +private: + [[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2 +public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x1a4 + int32_t m_nNumPointsAlongPath; // 0x1a4 }; -// Aligment: 9 -// Size: 480 -class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator, CParticleFunction +// Alignment: 9 +// Size: 0x1e0 +class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "model" // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x188 + CUtlVector< CUtlString > m_inNames; // 0x188 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x1a0 + CUtlVector< CUtlString > m_outNames; // 0x1a0 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x1b8 + CUtlVector< CUtlString > m_fallbackNames; // 0x1b8 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x1d0 + bool m_bModelFromRenderer; // 0x1d0 // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x1d1 + bool m_bProportional; // 0x1d1 +private: + [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 +public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1d4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1d4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x1dc + float m_flRemapTime; // 0x1dc }; -// Aligment: 0 -// Size: 480 -class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed, CParticleFunctionOperator, CParticleFunction +// Alignment: 0 +// Size: 0x1e0 +class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: -// + // no members available }; -// Aligment: 0 -// Size: 480 -class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed, CParticleFunctionOperator, CParticleFunction +// Alignment: 0 +// Size: 0x1e0 +class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: -// + // no members available }; -// Aligment: 0 -// Size: 480 -class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed, CParticleFunctionOperator, CParticleFunction +// Alignment: 0 +// Size: 0x1e0 +class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: -// + // no members available }; -// Aligment: 7 -// Size: 480 -class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x1e0 +class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "model" // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x188 + CUtlVector< CUtlString > m_inNames; // 0x188 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x1a0 + CUtlVector< CUtlString > m_outNames; // 0x1a0 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x1b8 + CUtlVector< CUtlString > m_fallbackNames; // 0x1b8 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x1d0 + bool m_bModelFromRenderer; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1 +public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1d4 + ParticleAttributeIndex_t m_nFieldInput; // 0x1d4 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8 }; -// Aligment: 0 -// Size: 480 -class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap, CParticleFunctionOperator, CParticleFunction +// Alignment: 0 +// Size: 0x1e0 +class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap { public: -// + // no members available }; -// Aligment: 0 -// Size: 480 -class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap, CParticleFunctionOperator, CParticleFunction +// Alignment: 0 +// Size: 0x1e0 +class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap { public: -// + // no members available }; -// Aligment: 0 -// Size: 480 -class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap, CParticleFunctionOperator, CParticleFunction +// Alignment: 0 +// Size: 0x1e0 +class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap { public: -// + // no members available }; -// Aligment: 10 -// Size: 880 -class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator, CParticleFunction +// Alignment: 10 +// Size: 0x370 +class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x184 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x184 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x188 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x188 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x18c + int32_t m_nLocalSpaceCP; // 0x18c // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x190 + bool m_bRandom; // 0x190 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x191 + bool m_bReverse; // 0x191 +private: + [[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192 +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x194 + int32_t m_nRandomSeed; // 0x194 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x198 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x198 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x280 + CPerParticleFloatInput m_flInterpolation; // 0x280 // MPropertyFriendlyName "Sub-Sample Between Input Points" - bool m_bSubSample; // 0x368 + bool m_bSubSample; // 0x368 }; -// Aligment: 5 -// Size: 896 -class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x380 +class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x180 + ScalarExpressionType_t m_nExpression; // 0x180 +private: + [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 +public: // MPropertyFriendlyName "input 1" - CPerParticleFloatInput m_flInput1; // 0x188 + CPerParticleFloatInput m_flInput1; // 0x188 // MPropertyFriendlyName "input 2" - CPerParticleFloatInput m_flInput2; // 0x270 + CPerParticleFloatInput m_flInput2; // 0x270 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x358 + ParticleAttributeIndex_t m_nOutputField; // 0x358 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x35c + ParticleSetMethod_t m_nSetMethod; // 0x35c }; -// Aligment: 9 -// Size: 1344 -class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator, CParticleFunction +// Alignment: 9 +// Size: 0x540 +class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x180 + int32_t m_nSnapshotControlPointNumber; // 0x180 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x184 + int32_t m_nControlPointNumber; // 0x184 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x188 + bool m_bRandom; // 0x188 +private: + [[maybe_unused]] uint8_t __pad0189[0x3]; // 0x189 +public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x18c + int32_t m_nRandomSeed; // 0x18c // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x190 + bool m_bSetNormal; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x7]; // 0x191 +public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_flIncrement; // 0x198 + CParticleCollectionFloatInput m_flIncrement; // 0x198 // MPropertyFriendlyName "Full Loop Increment Amount" - CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x280 + CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x280 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x368 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x368 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x450 + CPerParticleFloatInput m_flInterpolation; // 0x450 }; -// Aligment: 5 -// Size: 864 -class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x360 +class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x180 + int32_t m_nControlPointNumber; // 0x180 // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x184 + int32_t m_nSnapshotControlPointNumber; // 0x184 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x188 + bool m_bSetNormal; // 0x188 +private: + [[maybe_unused]] uint8_t __pad0189[0x7]; // 0x189 +public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x190 + CPerParticleFloatInput m_flInterpolation; // 0x190 // MPropertyFriendlyName "Snapshot Index T Value" - CPerParticleFloatInput m_flTValue; // 0x278 + CPerParticleFloatInput m_flTValue; // 0x278 }; -// Aligment: 2 -// Size: 656 -class C_OP_QuantizeFloat : public CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x290 +class C_OP_QuantizeFloat : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x180 + CPerParticleFloatInput m_InputValue; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x268 + ParticleAttributeIndex_t m_nOutputField; // 0x268 }; -// Aligment: 4 -// Size: 896 -class C_OP_SetFloatCollection : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x380 +class C_OP_SetFloatCollection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x180 + CParticleCollectionFloatInput m_InputValue; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x268 + ParticleAttributeIndex_t m_nOutputField; // 0x268 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x26c + ParticleSetMethod_t m_nSetMethod; // 0x26c // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_Lerp; // 0x270 + CParticleCollectionFloatInput m_Lerp; // 0x270 }; -// Aligment: 4 -// Size: 896 -class C_OP_SetFloat : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x380 +class C_OP_SetFloat : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x180 + CPerParticleFloatInput m_InputValue; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x268 + ParticleAttributeIndex_t m_nOutputField; // 0x268 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x26c + ParticleSetMethod_t m_nSetMethod; // 0x26c // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x270 + CPerParticleFloatInput m_Lerp; // 0x270 }; -// Aligment: 4 -// Size: 1696 -class C_OP_SetVec : public CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x6a0 +class C_OP_SetVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x180 + CPerParticleVecInput m_InputValue; // 0x180 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x5b0 + ParticleAttributeIndex_t m_nOutputField; // 0x5b0 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x5b4 + ParticleSetMethod_t m_nSetMethod; // 0x5b4 // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x5b8 + CPerParticleFloatInput m_Lerp; // 0x5b8 }; -// Aligment: 6 -// Size: 416 -class C_OP_LockPoints : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1a0 +class C_OP_LockPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "min column/particle index to affect" - int32_t m_nMinCol; // 0x180 + int32_t m_nMinCol; // 0x180 // MPropertyFriendlyName "max column/particle index to affect" - int32_t m_nMaxCol; // 0x184 + int32_t m_nMaxCol; // 0x184 // MPropertyFriendlyName "min row/particle index to affect" - int32_t m_nMinRow; // 0x188 + int32_t m_nMinRow; // 0x188 // MPropertyFriendlyName "max row/particle index to affect" - int32_t m_nMaxRow; // 0x18c + int32_t m_nMaxRow; // 0x18c // MPropertyFriendlyName "control point to lock to" - int32_t m_nControlPoint; // 0x190 + int32_t m_nControlPoint; // 0x190 // MPropertyFriendlyName "amount of current position to preserve" - float m_flBlendValue; // 0x194 + float m_flBlendValue; // 0x194 }; -// Aligment: 5 -// Size: 416 -class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x1a0 +class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point 0" - int32_t m_nCP0; // 0x180 + int32_t m_nCP0; // 0x180 // MPropertyFriendlyName "control point 1" - int32_t m_nCP1; // 0x184 + int32_t m_nCP1; // 0x184 // MPropertyFriendlyName "min distance value" - float m_flMinInputValue; // 0x188 + float m_flMinInputValue; // 0x188 // MPropertyFriendlyName "max distance value" - float m_flMaxInputValue; // 0x18c + float m_flMaxInputValue; // 0x18c // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" - bool m_bInfiniteLine; // 0x190 + bool m_bInfiniteLine; // 0x190 }; -// Aligment: 3 -// Size: 432 -class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase, CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x1b0 +class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1a0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1a0 // MPropertyFriendlyName "output value at min distance" - float m_flMinOutputValue; // 0x1a4 + float m_flMinOutputValue; // 0x1a4 // MPropertyFriendlyName "output value at max distance" - float m_flMaxOutputValue; // 0x1a8 + float m_flMaxOutputValue; // 0x1a8 }; -// Aligment: 3 -// Size: 448 -class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase, CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x1c0 +class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1a0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1a0 // MPropertyFriendlyName "output value at min distance" - Vector m_vMinOutputValue; // 0x1a4 + Vector m_vMinOutputValue; // 0x1a4 // MPropertyFriendlyName "output value at max distance" - Vector m_vMaxOutputValue; // 0x1b0 + Vector m_vMaxOutputValue; // 0x1b0 }; -// Aligment: 11 -// Size: 448 -class C_OP_TeleportBeam : public CParticleFunctionOperator, CParticleFunction +// Alignment: 11 +// Size: 0x1c0 +class C_OP_TeleportBeam : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Position Control Point" - int32_t m_nCPPosition; // 0x180 + int32_t m_nCPPosition; // 0x180 // MPropertyFriendlyName "Velocity Control Point" - int32_t m_nCPVelocity; // 0x184 + int32_t m_nCPVelocity; // 0x184 // MPropertyFriendlyName "Misc Control Point" - int32_t m_nCPMisc; // 0x188 + int32_t m_nCPMisc; // 0x188 // MPropertyFriendlyName "Color Control Point" - int32_t m_nCPColor; // 0x18c + int32_t m_nCPColor; // 0x18c // MPropertyFriendlyName "Invalid Color Control Point" - int32_t m_nCPInvalidColor; // 0x190 + int32_t m_nCPInvalidColor; // 0x190 // MPropertyFriendlyName "Extra Arc Data Point" - int32_t m_nCPExtraArcData; // 0x194 + int32_t m_nCPExtraArcData; // 0x194 // MPropertyFriendlyName "Gravity" - Vector m_vGravity; // 0x198 + Vector m_vGravity; // 0x198 // MPropertyFriendlyName "Arc Duration Maximum" - float m_flArcMaxDuration; // 0x1a4 + float m_flArcMaxDuration; // 0x1a4 // MPropertyFriendlyName "Segment Break" - float m_flSegmentBreak; // 0x1a8 + float m_flSegmentBreak; // 0x1a8 // MPropertyFriendlyName "Arc Speed" - float m_flArcSpeed; // 0x1ac + float m_flArcSpeed; // 0x1ac // MPropertyFriendlyName "Alpha" - float m_flAlpha; // 0x1b0 + float m_flAlpha; // 0x1b0 }; -// Aligment: 10 -// Size: 432 -class C_OP_CycleScalar : public CParticleFunctionOperator, CParticleFunction +// Alignment: 10 +// Size: 0x1b0 +class C_OP_CycleScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "destination scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDestField; // 0x180 + ParticleAttributeIndex_t m_nDestField; // 0x180 // MPropertyFriendlyName "Value at start of cycle" - float m_flStartValue; // 0x184 + float m_flStartValue; // 0x184 // MPropertyFriendlyName "Value at end of cycle" - float m_flEndValue; // 0x188 + float m_flEndValue; // 0x188 // MPropertyFriendlyName "Cycle time" - float m_flCycleTime; // 0x18c + float m_flCycleTime; // 0x18c // MPropertyFriendlyName "Do not repeat cycle" - bool m_bDoNotRepeatCycle; // 0x190 + bool m_bDoNotRepeatCycle; // 0x190 // MPropertyFriendlyName "Synchronize particles" - bool m_bSynchronizeParticles; // 0x191 + bool m_bSynchronizeParticles; // 0x191 +private: + [[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192 +public: // MPropertyFriendlyName "Scale Start/End Control Point" - int32_t m_nCPScale; // 0x194 + int32_t m_nCPScale; // 0x194 // MPropertyFriendlyName "start scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMin; // 0x198 + int32_t m_nCPFieldMin; // 0x198 // MPropertyFriendlyName "end scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMax; // 0x19c + int32_t m_nCPFieldMax; // 0x19c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1a0 + ParticleSetMethod_t m_nSetMethod; // 0x1a0 }; -// Aligment: 11 -// Size: 480 -class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator, CParticleFunction +// Alignment: 11 +// Size: 0x1e0 +class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start value" - Vector m_vStartValue; // 0x180 + Vector m_vStartValue; // 0x180 // MPropertyFriendlyName "input field 1" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput1; // 0x18c + ParticleAttributeIndex_t m_nFieldInput1; // 0x18c // MPropertyFriendlyName "input scale 1" - float m_flInputScale1; // 0x190 + float m_flInputScale1; // 0x190 // MPropertyFriendlyName "input field 2" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput2; // 0x194 + ParticleAttributeIndex_t m_nFieldInput2; // 0x194 // MPropertyFriendlyName "input scale 2" - float m_flInputScale2; // 0x198 + float m_flInputScale2; // 0x198 // MPropertyFriendlyName "control point input 1" - ControlPointReference_t m_nControlPointInput1; // 0x19c + ControlPointReference_t m_nControlPointInput1; // 0x19c // MPropertyFriendlyName "control point scale 1" - float m_flControlPointScale1; // 0x1b0 + float m_flControlPointScale1; // 0x1b0 // MPropertyFriendlyName "control point input 2" - ControlPointReference_t m_nControlPointInput2; // 0x1b4 + ControlPointReference_t m_nControlPointInput2; // 0x1b4 // MPropertyFriendlyName "control point scale 2" - float m_flControlPointScale2; // 0x1c8 + float m_flControlPointScale2; // 0x1c8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1cc + ParticleAttributeIndex_t m_nFieldOutput; // 0x1cc // MPropertyFriendlyName "final per component scale" - Vector m_vFinalOutputScale; // 0x1d0 + Vector m_vFinalOutputScale; // 0x1d0 }; -// Aligment: 3 -// Size: 1088 -class C_OP_ColorAdjustHSL : public CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x440 +class C_OP_ColorAdjustHSL : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hue adjust" - CPerParticleFloatInput m_flHueAdjust; // 0x180 + CPerParticleFloatInput m_flHueAdjust; // 0x180 // MPropertyFriendlyName "saturation adjust" - CPerParticleFloatInput m_flSaturationAdjust; // 0x268 + CPerParticleFloatInput m_flSaturationAdjust; // 0x268 // MPropertyFriendlyName "lightness adjust" - CPerParticleFloatInput m_flLightnessAdjust; // 0x350 + CPerParticleFloatInput m_flLightnessAdjust; // 0x350 }; -// Aligment: 2 -// Size: 400 -class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x190 +class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x180 + int32_t m_nFirstControlPoint; // 0x180 // MPropertyFriendlyName "Second Control point to set" - int32_t m_nSecondControlPoint; // 0x184 + int32_t m_nSecondControlPoint; // 0x184 }; -// Aligment: 6 -// Size: 416 -class C_OP_UpdateLightSource : public CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x1a0 +class C_OP_UpdateLightSource : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color tint" - Color m_vColorTint; // 0x180 + Color m_vColorTint; // 0x180 // MPropertyFriendlyName "amount to multiply light brightness by" - float m_flBrightnessScale; // 0x184 + float m_flBrightnessScale; // 0x184 // MPropertyFriendlyName "amount to multiply particle system radius by to get light radius" - float m_flRadiusScale; // 0x188 + float m_flRadiusScale; // 0x188 // MPropertyFriendlyName "minimum radius for created lights" - float m_flMinimumLightingRadius; // 0x18c + float m_flMinimumLightingRadius; // 0x18c // MPropertyFriendlyName "maximum radius for created lights" - float m_flMaximumLightingRadius; // 0x190 + float m_flMaximumLightingRadius; // 0x190 // MPropertyFriendlyName "amount of damping of changes" - float m_flPositionDampingConstant; // 0x194 + float m_flPositionDampingConstant; // 0x194 }; -// Aligment: 8 -// Size: 432 -class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x1b0 +class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x190 + int32_t m_nInControlPointNumber; // 0x190 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x194 + int32_t m_nOutControlPointNumber; // 0x194 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x198 + int32_t m_nField; // 0x198 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x19c + float m_flInputMin; // 0x19c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1a0 + float m_flInputMax; // 0x1a0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1a4 + float m_flOutputMin; // 0x1a4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1a8 + float m_flOutputMax; // 0x1a8 // MPropertyFriendlyName "use delta of velocity instead of constant speed" - bool m_bUseDeltaV; // 0x1ac + bool m_bUseDeltaV; // 0x1ac }; -// Aligment: 9 -// Size: 1488 -class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 9 +// Size: 0x5d0 +class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x190 + int32_t m_nInControlPointNumber; // 0x190 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x194 + int32_t m_nOutControlPointNumber; // 0x194 // MPropertyFriendlyName "Output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x198 + int32_t m_nField; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c +public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_flInputMin; // 0x1a0 + CParticleCollectionFloatInput m_flInputMin; // 0x1a0 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_flInputMax; // 0x288 + CParticleCollectionFloatInput m_flInputMax; // 0x288 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x370 + CParticleCollectionFloatInput m_flOutputMin; // 0x370 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x458 + CParticleCollectionFloatInput m_flOutputMax; // 0x458 // MPropertyFriendlyName "intersection height CP" - int32_t m_nHeightControlPointNumber; // 0x540 + int32_t m_nHeightControlPointNumber; // 0x540 // MPropertyFriendlyName "hitbox set" - char[128] m_HitboxSetName; // 0x544 + char m_HitboxSetName[128]; // 0x544 }; -// Aligment: 8 -// Size: 1344 -class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x540 +class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x190 + int32_t m_nInputCP1; // 0x190 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x194 + int32_t m_nInputCP2; // 0x194 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x198 + int32_t m_nOutputCP; // 0x198 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x19c + int32_t m_nOutVectorField; // 0x19c // MPropertyFriendlyName "input minimum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMin; // 0x1a0 + CParticleCollectionFloatInput m_flInputMin; // 0x1a0 // MPropertyFriendlyName "input maximum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMax; // 0x288 + CParticleCollectionFloatInput m_flInputMax; // 0x288 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x370 + CParticleCollectionFloatInput m_flOutputMin; // 0x370 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x458 + CParticleCollectionFloatInput m_flOutputMax; // 0x458 }; -// Aligment: 5 -// Size: 880 -class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x370 +class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x190 + ScalarExpressionType_t m_nExpression; // 0x190 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x194 + int32_t m_nOutputCP; // 0x194 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x198 + int32_t m_nOutVectorField; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c +public: // MPropertyFriendlyName "input 1" - CParticleCollectionFloatInput m_flInput1; // 0x1a0 + CParticleCollectionFloatInput m_flInput1; // 0x1a0 // MPropertyFriendlyName "input 2" - CParticleCollectionFloatInput m_flInput2; // 0x288 + CParticleCollectionFloatInput m_flInput2; // 0x288 }; -// Aligment: 4 -// Size: 2560 -class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0xa00 +class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x190 + VectorExpressionType_t m_nExpression; // 0x190 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x194 + int32_t m_nOutputCP; // 0x194 // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vInput1; // 0x198 + CParticleCollectionVecInput m_vInput1; // 0x198 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vInput2; // 0x5c8 + CParticleCollectionVecInput m_vInput2; // 0x5c8 }; -// Aligment: 7 -// Size: 432 -class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x1b0 +class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x190 + int32_t m_nInControlPointNumber; // 0x190 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x194 + int32_t m_nOutControlPointNumber; // 0x194 // MPropertyFriendlyName "output CP component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x198 + int32_t m_nField; // 0x198 // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x19c + float m_flInputMin; // 0x19c // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x1a0 + float m_flInputMax; // 0x1a0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1a4 + float m_flOutputMin; // 0x1a4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1a8 + float m_flOutputMax; // 0x1a8 }; -// Aligment: 5 -// Size: 432 -class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x1b0 +class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x190 + int32_t m_nOutControlPointNumber; // 0x190 // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x194 + float m_flInputMin; // 0x194 // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x198 + float m_flInputMax; // 0x198 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x19c + float m_flOutputMin; // 0x19c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1a0 + float m_flOutputMax; // 0x1a0 }; -// Aligment: 7 -// Size: 432 -class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 7 +// Size: 0x1b0 +class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x190 + int32_t m_nOutControlPointNumber; // 0x190 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x194 + int32_t m_nOutVectorField; // 0x194 // MPropertyFriendlyName "scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x198 + ParticleAttributeIndex_t m_nField; // 0x198 // MPropertyFriendlyName "input volume minimum" - float m_flInputMin; // 0x19c + float m_flInputMin; // 0x19c // MPropertyFriendlyName "input volume maximum" - float m_flInputMax; // 0x1a0 + float m_flInputMax; // 0x1a0 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1a4 + float m_flOutputMin; // 0x1a4 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1a8 + float m_flOutputMax; // 0x1a8 }; -// Aligment: 3 -// Size: 432 -class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x1b0 +class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x190 + int32_t m_nOutControlPointNumber; // 0x190 // MPropertyFriendlyName "ramp rate min" - Vector m_vecRateMin; // 0x194 + Vector m_vecRateMin; // 0x194 // MPropertyFriendlyName "ramp rate max" - Vector m_vecRateMax; // 0x1a0 + Vector m_vecRateMax; // 0x1a0 }; -// Aligment: 5 -// Size: 432 -class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x1b0 +class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x190 + int32_t m_nChildGroupID; // 0x190 // MPropertyFriendlyName "control point to set" - int32_t m_nChildControlPoint; // 0x194 + int32_t m_nChildControlPoint; // 0x194 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x198 + int32_t m_nNumControlPoints; // 0x198 // MPropertyFriendlyName "first parent control point to set from" - int32_t m_nFirstSourcePoint; // 0x19c + int32_t m_nFirstSourcePoint; // 0x19c // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x1a0 + bool m_bSetOrientation; // 0x1a0 }; -// Aligment: 12 -// Size: 480 -class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 12 +// Size: 0x1e0 +class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x190 + bool m_bUseWorldLocation; // 0x190 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x191 + bool m_bOrient; // 0x191 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x192 + bool m_bSetOnce; // 0x192 +private: + [[maybe_unused]] uint8_t __pad0193[0x1]; // 0x193 +public: // MPropertyFriendlyName "first control point number" - int32_t m_nCP1; // 0x194 + int32_t m_nCP1; // 0x194 // MPropertyFriendlyName "second control point number" - int32_t m_nCP2; // 0x198 + int32_t m_nCP2; // 0x198 // MPropertyFriendlyName "third control point number" - int32_t m_nCP3; // 0x19c + int32_t m_nCP3; // 0x19c // MPropertyFriendlyName "fourth control point number" - int32_t m_nCP4; // 0x1a0 + int32_t m_nCP4; // 0x1a0 // MPropertyFriendlyName "first control point location" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x1a4 + Vector m_vecCP1Pos; // 0x1a4 // MPropertyFriendlyName "second control point location" // MVectorIsCoordinate - Vector m_vecCP2Pos; // 0x1b0 + Vector m_vecCP2Pos; // 0x1b0 // MPropertyFriendlyName "third control point location" // MVectorIsCoordinate - Vector m_vecCP3Pos; // 0x1bc + Vector m_vecCP3Pos; // 0x1bc // MPropertyFriendlyName "fourth control point location" // MVectorIsCoordinate - Vector m_vecCP4Pos; // 0x1c8 + Vector m_vecCP4Pos; // 0x1c8 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x1d4 + int32_t m_nHeadLocation; // 0x1d4 }; -// Aligment: 5 -// Size: 1488 -class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x5d0 +class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x190 + bool m_bUseWorldLocation; // 0x190 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x191 + bool m_bSetOnce; // 0x191 +private: + [[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192 +public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x194 + int32_t m_nCP1; // 0x194 // MPropertyFriendlyName "control point location" - CParticleCollectionVecInput m_vecCP1Pos; // 0x198 + CParticleCollectionVecInput m_vecCP1Pos; // 0x198 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x5c8 + int32_t m_nHeadLocation; // 0x5c8 }; -// Aligment: 8 -// Size: 912 -class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x390 +class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x190 + bool m_bUseWorldLocation; // 0x190 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x191 + bool m_bOrient; // 0x191 +private: + [[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192 +public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x194 + int32_t m_nCP1; // 0x194 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x198 + int32_t m_nHeadLocation; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c +public: // MPropertyFriendlyName "re-randomize rate (-1 for once only)" - CParticleCollectionFloatInput m_flReRandomRate; // 0x1a0 + CParticleCollectionFloatInput m_flReRandomRate; // 0x1a0 // MPropertyFriendlyName "control point min" - Vector m_vecCPMinPos; // 0x288 + Vector m_vecCPMinPos; // 0x288 // MPropertyFriendlyName "control point max" - Vector m_vecCPMaxPos; // 0x294 + Vector m_vecCPMaxPos; // 0x294 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x2a0 + CParticleCollectionFloatInput m_flInterpolation; // 0x2a0 }; -// Aligment: 8 -// Size: 672 -class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 8 +// Size: 0x2a0 +class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set orientation in world space" - bool m_bUseWorldLocation; // 0x190 + bool m_bUseWorldLocation; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0191[0x1]; // 0x191 +public: // MPropertyFriendlyName "randomize" - bool m_bRandomize; // 0x192 + bool m_bRandomize; // 0x192 // MPropertyFriendlyName "only set orientation once" - bool m_bSetOnce; // 0x193 + bool m_bSetOnce; // 0x193 // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x194 + int32_t m_nCP; // 0x194 // MPropertyFriendlyName "control point to offset orientation from" - int32_t m_nHeadLocation; // 0x198 + int32_t m_nHeadLocation; // 0x198 // MPropertyFriendlyName "pitch yaw roll" - QAngle m_vecRotation; // 0x19c + QAngle m_vecRotation; // 0x19c // MPropertyFriendlyName "pitch yaw roll max" - QAngle m_vecRotationB; // 0x1a8 + QAngle m_vecRotationB; // 0x1a8 +private: + [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 +public: // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x1b8 + CParticleCollectionFloatInput m_flInterpolation; // 0x1b8 }; -// Aligment: 2 -// Size: 416 -class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x1a0 +class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x190 + int32_t m_nCPInput; // 0x190 // MPropertyFriendlyName "output control point number" - int32_t m_nCPOutput; // 0x194 + int32_t m_nCPOutput; // 0x194 }; -// Aligment: 14 -// Size: 592 -class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 14 +// Size: 0x250 +class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x190 + int32_t m_nStartCP; // 0x190 // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x194 + int32_t m_nEndCP; // 0x194 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x198 + int32_t m_nOutputCP; // 0x198 // MPropertyFriendlyName "output control point field" - int32_t m_nOutputCPField; // 0x19c + int32_t m_nOutputCPField; // 0x19c // MPropertyFriendlyName "only set distance once" - bool m_bSetOnce; // 0x1a0 + bool m_bSetOnce; // 0x1a0 +private: + [[maybe_unused]] uint8_t __pad01a1[0x3]; // 0x1a1 +public: // MPropertyFriendlyName "distance minimum" - float m_flInputMin; // 0x1a4 + float m_flInputMin; // 0x1a4 // MPropertyFriendlyName "distance maximum" - float m_flInputMax; // 0x1a8 + float m_flInputMax; // 0x1a8 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1ac + float m_flOutputMin; // 0x1ac // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1b0 + float m_flOutputMax; // 0x1b0 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x1b4 + float m_flMaxTraceLength; // 0x1b4 // MPropertyFriendlyName "LOS Failure Scale" - float m_flLOSScale; // 0x1b8 + float m_flLOSScale; // 0x1b8 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x1bc + bool m_bLOS; // 0x1bc // MPropertyFriendlyName "LOS collision group" - char[128] m_CollisionGroupName; // 0x1bd + char m_CollisionGroupName[128]; // 0x1bd +private: + [[maybe_unused]] uint8_t __pad023d[0x3]; // 0x23d +public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x240 + ParticleTraceSet_t m_nTraceSet; // 0x240 }; -// Aligment: 3 -// Size: 432 -class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x1b0 +class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x190 + int32_t m_nCP1; // 0x190 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x194 + Vector m_vecCP1Pos; // 0x194 // MPropertyFriendlyName "use eye orientation" - bool m_bOrientToEyes; // 0x1a0 + bool m_bOrientToEyes; // 0x1a0 }; -// Aligment: 4 -// Size: 432 -class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x1b0 +class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x190 + int32_t m_nCP1; // 0x190 // MPropertyFriendlyName "hand" - int32_t m_nHand; // 0x194 + int32_t m_nHand; // 0x194 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x198 + Vector m_vecCP1Pos; // 0x198 // MPropertyFriendlyName "use hand orientation" - bool m_bOrientToHand; // 0x1a4 + bool m_bOrientToHand; // 0x1a4 }; -// Aligment: 3 -// Size: 432 -class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x1b0 +class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x190 + int32_t m_nCP1; // 0x190 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x194 + Vector m_vecCP1Pos; // 0x194 // MPropertyFriendlyName "use hmd orientation" - bool m_bOrientToHMD; // 0x1a0 + bool m_bOrientToHMD; // 0x1a0 }; -// Aligment: 3 -// Size: 560 -class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x230 +class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x190 + int32_t m_nControlPointNumber; // 0x190 // MPropertyFriendlyName "time-of-day parameter" - char[128] m_pszTimeOfDayParameter; // 0x194 + char m_pszTimeOfDayParameter[128]; // 0x194 // MPropertyFriendlyName "default value" - Vector m_vecDefaultValue; // 0x214 + Vector m_vecDefaultValue; // 0x214 }; -// Aligment: 2 -// Size: 416 -class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x1a0 +class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number to set" - int32_t m_nCP1; // 0x190 + int32_t m_nCP1; // 0x190 // MPropertyFriendlyName "center offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x194 + Vector m_vecCP1Pos; // 0x194 }; -// Aligment: 5 -// Size: 432 -class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x1b0 +class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point input" - int32_t m_nCPInput; // 0x190 + int32_t m_nCPInput; // 0x190 // MPropertyFriendlyName "control point number to set velocity" - int32_t m_nCPOutputVel; // 0x194 + int32_t m_nCPOutputVel; // 0x194 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x198 + bool m_bNormalize; // 0x198 +private: + [[maybe_unused]] uint8_t __pad0199[0x3]; // 0x199 +public: // MPropertyFriendlyName "control point number to set magnitude" - int32_t m_nCPOutputMag; // 0x19c + int32_t m_nCPOutputMag; // 0x19c // MPropertyFriendlyName "control point field for magnitude" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1a0 + int32_t m_nCPField; // 0x1a0 }; -// Aligment: 2 -// Size: 416 -class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x1a0 +class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point input for velocity" - int32_t m_nCPInput; // 0x190 + int32_t m_nCPInput; // 0x190 // MPropertyFriendlyName "control point output for orientation" - int32_t m_nCPOutput; // 0x194 + int32_t m_nCPOutput; // 0x194 }; -// Aligment: 3 -// Size: 640 -class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x280 +class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "duration at which to stop" - CParticleCollectionFloatInput m_flDuration; // 0x190 + CParticleCollectionFloatInput m_flDuration; // 0x190 // MPropertyFriendlyName "destroy all particles immediately" - bool m_bDestroyImmediately; // 0x278 + bool m_bDestroyImmediately; // 0x278 // MPropertyFriendlyName "play end cap effect" - bool m_bPlayEndCap; // 0x279 + bool m_bPlayEndCap; // 0x279 }; -// Aligment: 4 -// Size: 1712 -class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x6b0 +class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x190 + CParticleCollectionVecInput m_vecRotAxis; // 0x190 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x5c0 + CParticleCollectionFloatInput m_flRotRate; // 0x5c0 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x6a8 + int32_t m_nCP; // 0x6a8 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalCP; // 0x6ac + int32_t m_nLocalCP; // 0x6ac }; -// Aligment: 10 -// Size: 448 -class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 10 +// Size: 0x1c0 +class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nInputControlPoint; // 0x190 + int32_t m_nInputControlPoint; // 0x190 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputControlPoint; // 0x194 + int32_t m_nOutputControlPoint; // 0x194 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nInputField; // 0x198 + int32_t m_nInputField; // 0x198 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x19c + int32_t m_nOutputField; // 0x19c // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1a0 + float m_flInputMin; // 0x1a0 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1a4 + float m_flInputMax; // 0x1a4 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1a8 + float m_flOutputMin; // 0x1a8 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1ac + float m_flOutputMax; // 0x1ac // MPropertyFriendlyName "use the derivative" - bool m_bDerivative; // 0x1b0 + bool m_bDerivative; // 0x1b0 +private: + [[maybe_unused]] uint8_t __pad01b1[0x3]; // 0x1b1 +public: // MPropertyFriendlyName "interpolation" - float m_flInterpRate; // 0x1b4 + float m_flInterpRate; // 0x1b4 }; -// Aligment: 4 -// Size: 432 -class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x1b0 +class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "Target color control point number" - int32_t m_nColorCP; // 0x190 + int32_t m_nColorCP; // 0x190 // MPropertyFriendlyName "Color Gem Enable control point number" - int32_t m_nColorGemEnableCP; // 0x194 + int32_t m_nColorGemEnableCP; // 0x194 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputCP; // 0x198 + int32_t m_nOutputCP; // 0x198 // MPropertyFriendlyName "Default HSV Color" - Color m_DefaultHSVColor; // 0x19c + Color m_DefaultHSVColor; // 0x19c }; -// Aligment: 11 -// Size: 576 -class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 11 +// Size: 0x240 +class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to set" - int32_t m_nCPOut; // 0x190 + int32_t m_nCPOut; // 0x190 // MPropertyFriendlyName "control point to trace from" - int32_t m_nCPIn; // 0x194 + int32_t m_nCPIn; // 0x194 // MPropertyFriendlyName "trace update rate" - float m_flUpdateRate; // 0x198 + float m_flUpdateRate; // 0x198 // MPropertyFriendlyName "max trace length" - float m_flTraceLength; // 0x19c + float m_flTraceLength; // 0x19c // MPropertyFriendlyName "offset start point amount" - float m_flStartOffset; // 0x1a0 + float m_flStartOffset; // 0x1a0 // MPropertyFriendlyName "offset end point amount" - float m_flOffset; // 0x1a4 + float m_flOffset; // 0x1a4 // MPropertyFriendlyName "trace direction override" // MVectorIsCoordinate - Vector m_vecTraceDir; // 0x1a8 + Vector m_vecTraceDir; // 0x1a8 // MPropertyFriendlyName "trace collision group" - char[128] m_CollisionGroupName; // 0x1b4 + char m_CollisionGroupName[128]; // 0x1b4 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x234 + ParticleTraceSet_t m_nTraceSet; // 0x234 // MPropertyFriendlyName "set to trace endpoint if no collision" - bool m_bSetToEndpoint; // 0x238 + bool m_bSetToEndpoint; // 0x238 // MPropertyFriendlyName "trace to closest surface along all cardinal directions" - bool m_bTraceToClosestSurface; // 0x239 + bool m_bTraceToClosestSurface; // 0x239 }; -// Aligment: 6 -// Size: 656 -class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 6 +// Size: 0x290 +class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "CP to point towards" - int32_t m_nInputCP; // 0x190 + int32_t m_nInputCP; // 0x190 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x194 + int32_t m_nOutputCP; // 0x194 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x198 + CParticleCollectionFloatInput m_flInterpolation; // 0x198 // MPropertyFriendlyName "2D Orient" - bool m_b2DOrientation; // 0x280 + bool m_b2DOrientation; // 0x280 // MPropertyFriendlyName "Avoid Vertical Axis Singularity" - bool m_bAvoidSingularity; // 0x281 + bool m_bAvoidSingularity; // 0x281 // MPropertyFriendlyName "Point Away" - bool m_bPointAway; // 0x282 + bool m_bPointAway; // 0x282 }; -// Aligment: 3 -// Size: 640 -class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x280 +class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x190 + int32_t m_nChildGroupID; // 0x190 // MPropertyFriendlyName "first child to enable" - int32_t m_nFirstChild; // 0x194 + int32_t m_nFirstChild; // 0x194 // MPropertyFriendlyName "max # of children to enable (-1 for max particle count)" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x198 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x198 }; -// Aligment: 5 -// Size: 1104 -class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x450 +class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - CParticleCollectionFloatInput m_nChildGroupID; // 0x190 + CParticleCollectionFloatInput m_nChildGroupID; // 0x190 // MPropertyFriendlyName "first child to enable" - CParticleCollectionFloatInput m_nFirstChild; // 0x278 + CParticleCollectionFloatInput m_nFirstChild; // 0x278 // MPropertyFriendlyName "# of children to enable" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x360 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x360 // MPropertyFriendlyName "play endcap when children are removed" - bool m_bPlayEndcapOnStop; // 0x448 + bool m_bPlayEndcapOnStop; // 0x448 // MPropertyFriendlyName "destroy particles immediately when child is removed" - bool m_bDestroyImmediately; // 0x449 + bool m_bDestroyImmediately; // 0x449 }; -// Aligment: 2 -// Size: 416 -class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x1a0 +class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "play when emission ends" - bool m_bFireOnEmissionEnd; // 0x190 + bool m_bFireOnEmissionEnd; // 0x190 // MPropertyFriendlyName "wait for children to finish" - bool m_bIncludeChildren; // 0x191 + bool m_bIncludeChildren; // 0x191 }; -// Aligment: 1 -// Size: 416 -class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x1a0 +class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point" - int32_t m_ControlPoint; // 0x190 + int32_t m_ControlPoint; // 0x190 }; -// Aligment: 9 -// Size: 464 -class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 9 +// Size: 0x1d0 +class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x190 + int32_t m_nOutputControlPoint; // 0x190 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x194 + int32_t m_nOutputField; // 0x194 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x198 + float m_flInputMin; // 0x198 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x19c + float m_flInputMax; // 0x19c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1a0 + float m_flOutputMin; // 0x1a0 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1a4 + float m_flOutputMax; // 0x1a4 // MPropertyFriendlyName "sound stack name" - CUtlString m_StackName; // 0x1a8 + CUtlString m_StackName; // 0x1a8 // MPropertyFriendlyName "sound operator name" - CUtlString m_OperatorName; // 0x1b0 + CUtlString m_OperatorName; // 0x1b0 // MPropertyFriendlyName "sound field name" - CUtlString m_FieldName; // 0x1b8 + CUtlString m_FieldName; // 0x1b8 }; -// Aligment: 3 -// Size: 416 -class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 3 +// Size: 0x1a0 +class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x190 + int32_t m_nSourceCP; // 0x190 // MPropertyFriendlyName "dest CP" - int32_t m_nDestCP; // 0x194 + int32_t m_nDestCP; // 0x194 // MPropertyFriendlyName "dest control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x198 + int32_t m_nCPField; // 0x198 }; -// Aligment: 5 -// Size: 1120 -class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x460 +class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x190 + int32_t m_nChildGroupID; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0194[0x4]; // 0x194 +public: // MPropertyFriendlyName "Within-Cluster Refire Time" - CParticleCollectionFloatInput m_flClusterRefireTime; // 0x198 + CParticleCollectionFloatInput m_flClusterRefireTime; // 0x198 // MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown" - CParticleCollectionFloatInput m_flClusterSize; // 0x280 + CParticleCollectionFloatInput m_flClusterSize; // 0x280 // MPropertyFriendlyName "Cluster Cooldown Time" - CParticleCollectionFloatInput m_flClusterCooldown; // 0x368 + CParticleCollectionFloatInput m_flClusterCooldown; // 0x368 // MPropertyFriendlyName "limit active children to parent particle count" - bool m_bLimitChildCount; // 0x450 + bool m_bLimitChildCount; // 0x450 }; -// Aligment: 2 -// Size: 640 -class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 2 +// Size: 0x280 +class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x190 + int32_t m_nChildGroupID; // 0x190 +private: + [[maybe_unused]] uint8_t __pad0194[0x4]; // 0x194 +public: // MPropertyFriendlyName "Number of Children to Use" - CParticleCollectionFloatInput m_flNumberOfChildren; // 0x198 + CParticleCollectionFloatInput m_flNumberOfChildren; // 0x198 }; -// Aligment: 1 -// Size: 640 -class C_OP_SetSimulationRate : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 1 +// Size: 0x280 +class C_OP_SetSimulationRate : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "simulation timescale" - CParticleCollectionFloatInput m_flSimulationScale; // 0x190 + CParticleCollectionFloatInput m_flSimulationScale; // 0x190 }; -// Aligment: 5 -// Size: 432 -class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x1b0 +class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source Control Point in World" - int32_t m_nCPIn; // 0x190 + int32_t m_nCPIn; // 0x190 // MPropertyFriendlyName "Source Control Point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x194 + Vector m_vecCP1Pos; // 0x194 // MPropertyFriendlyName "Set control point number" - int32_t m_nCPOut; // 0x1a0 + int32_t m_nCPOut; // 0x1a0 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPOutField; // 0x1a4 + int32_t m_nCPOutField; // 0x1a4 // MPropertyFriendlyName "Ss Pos and Dot OUT CP" - int32_t m_nCPSSPosOut; // 0x1a8 + int32_t m_nCPSSPosOut; // 0x1a8 }; -// Aligment: 15 -// Size: 2976 -class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 15 +// Size: 0xba0 +class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nCPSnapshot; // 0x190 + int32_t m_nCPSnapshot; // 0x190 // MPropertyFriendlyName "start control point number" - int32_t m_nCPStartPnt; // 0x194 + int32_t m_nCPStartPnt; // 0x194 // MPropertyFriendlyName "end control point number" - int32_t m_nCPEndPnt; // 0x198 + int32_t m_nCPEndPnt; // 0x198 +private: + [[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c +public: // MPropertyFriendlyName "Recursion Depth" - CParticleCollectionFloatInput m_flSegments; // 0x1a0 + CParticleCollectionFloatInput m_flSegments; // 0x1a0 // MPropertyFriendlyName "Offset" - CParticleCollectionFloatInput m_flOffset; // 0x288 + CParticleCollectionFloatInput m_flOffset; // 0x288 // MPropertyFriendlyName "Offset Decay" - CParticleCollectionFloatInput m_flOffsetDecay; // 0x370 + CParticleCollectionFloatInput m_flOffsetDecay; // 0x370 // MPropertyFriendlyName "Recalculation Rate" - CParticleCollectionFloatInput m_flRecalcRate; // 0x458 + CParticleCollectionFloatInput m_flRecalcRate; // 0x458 // MPropertyFriendlyName "UV Scale" - CParticleCollectionFloatInput m_flUVScale; // 0x540 + CParticleCollectionFloatInput m_flUVScale; // 0x540 // MPropertyFriendlyName "UV Offset" - CParticleCollectionFloatInput m_flUVOffset; // 0x628 + CParticleCollectionFloatInput m_flUVOffset; // 0x628 // MPropertyFriendlyName "Branch Split Rate" - CParticleCollectionFloatInput m_flSplitRate; // 0x710 + CParticleCollectionFloatInput m_flSplitRate; // 0x710 // MPropertyFriendlyName "Branch Twist" - CParticleCollectionFloatInput m_flBranchTwist; // 0x7f8 + CParticleCollectionFloatInput m_flBranchTwist; // 0x7f8 // MPropertyFriendlyName "Branch Behavior" - ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0x8e0 + ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0x8e0 +private: + [[maybe_unused]] uint8_t __pad08e4[0x4]; // 0x8e4 +public: // MPropertyFriendlyName "Start Radius" - CParticleCollectionFloatInput m_flRadiusStart; // 0x8e8 + CParticleCollectionFloatInput m_flRadiusStart; // 0x8e8 // MPropertyFriendlyName "End Radius" - CParticleCollectionFloatInput m_flRadiusEnd; // 0x9d0 + CParticleCollectionFloatInput m_flRadiusEnd; // 0x9d0 // MPropertyFriendlyName "Dedicated Particle Pool Count" - CParticleCollectionFloatInput m_flDedicatedPool; // 0xab8 + CParticleCollectionFloatInput m_flDedicatedPool; // 0xab8 }; -// Aligment: 5 -// Size: 1488 -class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 5 +// Size: 0x5d0 +class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to sample wind" - int32_t m_nCP; // 0x190 + int32_t m_nCP; // 0x190 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x194 + int32_t m_nCPOutput; // 0x194 // MPropertyFriendlyName "wind scale" - CParticleCollectionVecInput m_vecScale; // 0x198 + CParticleCollectionVecInput m_vecScale; // 0x198 // MPropertyFriendlyName "set magnitude instead of vector" - bool m_bSetMagnitude; // 0x5c8 + bool m_bSetMagnitude; // 0x5c8 +private: + [[maybe_unused]] uint8_t __pad05c9[0x3]; // 0x5c9 +public: // MPropertyFriendlyName "magnitude output component" // MPropertyAttributeChoiceName "vector_component" // MPropertySuppressExpr "!m_bSetMagnitude" - int32_t m_nOutVectorField; // 0x5cc + int32_t m_nOutVectorField; // 0x5cc }; -// Aligment: 4 -// Size: 880 -class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission, CParticleFunctionOperator, CParticleFunction +// Alignment: 4 +// Size: 0x370 +class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInputValue; // 0x190 + CParticleCollectionFloatInput m_flInputValue; // 0x190 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x278 + int32_t m_nCPOutput; // 0x278 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x27c + int32_t m_nOutVectorField; // 0x27c // MPropertyFriendlyName "interval to snap to" - CParticleCollectionFloatInput m_flQuantizeValue; // 0x280 + CParticleCollectionFloatInput m_flQuantizeValue; // 0x280 }; -// Aligment: 1 -// Size: 480 -class C_OP_RenderPoints : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 1 +// Size: 0x1e0 +class C_OP_RenderPoints : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "material" // MPropertyAttributeEditor "AssetBrowse( vmat )" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x1d0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x1d0 }; -// Aligment: 7 -// Size: 6368 -class CBaseTrailRenderer : public CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction +// Alignment: 7 +// Size: 0x18e0 +class CBaseTrailRenderer : public CBaseRendererSource2 { public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x16f0 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x16f0 // 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; // 0x16f4 + int32_t m_nOrientationControlPoint; // 0x16f4 // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "minimum visual screen-size" // MPropertySortPriority "900" - float m_flMinSize; // 0x16f8 + float m_flMinSize; // 0x16f8 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySortPriority "900" - float m_flMaxSize; // 0x16fc + float m_flMaxSize; // 0x16fc // MPropertyFriendlyName "start fade screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x1700 + CParticleCollectionFloatInput m_flStartFadeSize; // 0x1700 // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x17e8 + CParticleCollectionFloatInput m_flEndFadeSize; // 0x17e8 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" // MPropertySortPriority "800" - bool m_bClampV; // 0x18d0 + bool m_bClampV; // 0x18d0 }; -// Aligment: 18 -// Size: 9488 -class C_OP_RenderTrails : public CBaseTrailRenderer, CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction +// Alignment: 18 +// Size: 0x2510 +class C_OP_RenderTrails : public CBaseTrailRenderer { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x18e0 + bool m_bEnableFadingAndClamping; // 0x18e0 +private: + [[maybe_unused]] uint8_t __pad18e1[0x3]; // 0x18e1 +public: // MPropertyStartGroup "+Trail Length" // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x18e4 + ParticleAttributeIndex_t m_nPrevPntSource; // 0x18e4 // MPropertyFriendlyName "max length" // MPropertySortPriority "800" - float m_flMaxLength; // 0x18e8 + float m_flMaxLength; // 0x18e8 // MPropertyFriendlyName "min length" // MPropertySortPriority "800" - float m_flMinLength; // 0x18ec + float m_flMinLength; // 0x18ec // MPropertyFriendlyName "ignore delta time" // MPropertySortPriority "800" - bool m_bIgnoreDT; // 0x18f0 + bool m_bIgnoreDT; // 0x18f0 +private: + [[maybe_unused]] uint8_t __pad18f1[0x3]; // 0x18f1 +public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySortPriority "800" - float m_flConstrainRadiusToLengthRatio; // 0x18f4 + float m_flConstrainRadiusToLengthRatio; // 0x18f4 // MPropertyFriendlyName "amount to scale trail length by" - float m_flLengthScale; // 0x18f8 + float m_flLengthScale; // 0x18f8 // MPropertyFriendlyName "how long before a trail grows to its full length" - float m_flLengthFadeInTime; // 0x18fc + float m_flLengthFadeInTime; // 0x18fc // MPropertyStartGroup "Trail Head & Tail" // MPropertyFriendlyName "head taper scale" // MPropertySortPriority "800" - CPerParticleFloatInput m_flRadiusHeadTaper; // 0x1900 + CPerParticleFloatInput m_flRadiusHeadTaper; // 0x1900 // MPropertyFriendlyName "head color scale" - CParticleCollectionVecInput m_vecHeadColorScale; // 0x19e8 + CParticleCollectionVecInput m_vecHeadColorScale; // 0x19e8 // MPropertyFriendlyName "head alpha scale" - CPerParticleFloatInput m_flHeadAlphaScale; // 0x1e18 + CPerParticleFloatInput m_flHeadAlphaScale; // 0x1e18 // MPropertyFriendlyName "tail taper scale" - CPerParticleFloatInput m_flRadiusTaper; // 0x1f00 + CPerParticleFloatInput m_flRadiusTaper; // 0x1f00 // MPropertyFriendlyName "tail color scale" - CParticleCollectionVecInput m_vecTailColorScale; // 0x1fe8 + CParticleCollectionVecInput m_vecTailColorScale; // 0x1fe8 // MPropertyFriendlyName "tail alpha scale" - CPerParticleFloatInput m_flTailAlphaScale; // 0x2418 + CPerParticleFloatInput m_flTailAlphaScale; // 0x2418 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "texture UV horizontal Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nHorizCropField; // 0x2500 + ParticleAttributeIndex_t m_nHorizCropField; // 0x2500 // MPropertyFriendlyName "texture UV vertical Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVertCropField; // 0x2504 + ParticleAttributeIndex_t m_nVertCropField; // 0x2504 // MPropertyFriendlyName "Trail forward shift (fraction)" - float m_flForwardShift; // 0x2508 + float m_flForwardShift; // 0x2508 // MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI" - bool m_bFlipUVBasedOnPitchYaw; // 0x250c + bool m_bFlipUVBasedOnPitchYaw; // 0x250c }; -// Aligment: 28 -// Size: 6672 -class C_OP_RenderRopes : public CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction +// Alignment: 28 +// Size: 0x1a10 +class C_OP_RenderRopes : public CBaseRendererSource2 { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x16f0 + bool m_bEnableFadingAndClamping; // 0x16f0 +private: + [[maybe_unused]] uint8_t __pad16f1[0x3]; // 0x16f1 +public: // MPropertyFriendlyName "minimum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMinSize; // 0x16f4 + float m_flMinSize; // 0x16f4 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMaxSize; // 0x16f8 + float m_flMaxSize; // 0x16f8 // MPropertyFriendlyName "start fade screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flStartFadeSize; // 0x16fc + float m_flStartFadeSize; // 0x16fc // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flEndFadeSize; // 0x1700 + float m_flEndFadeSize; // 0x1700 // MPropertyStartGroup "Rope Tesselation" // MPropertyFriendlyName "amount to taper the width of the trail end by" - float m_flRadiusTaper; // 0x1704 + float m_flRadiusTaper; // 0x1704 // MPropertyFriendlyName "minium number of quads per render segment" // MPropertySortPriority "850" - int32_t m_nMinTesselation; // 0x1708 + int32_t m_nMinTesselation; // 0x1708 // MPropertyFriendlyName "maximum number of quads per render segment" - int32_t m_nMaxTesselation; // 0x170c + int32_t m_nMaxTesselation; // 0x170c // MPropertyFriendlyName "tesselation resolution scale factor" - float m_flTessScale; // 0x1710 + float m_flTessScale; // 0x1710 +private: + [[maybe_unused]] uint8_t __pad1714[0x4]; // 0x1714 +public: // MPropertyStartGroup "+Rope Global UV Controls" // MPropertyFriendlyName "global texture V World Size" // MPropertySortPriority "800" - CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x1718 + CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x1718 // MPropertyFriendlyName "global texture V Scroll Rate" - CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x1800 + CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x1800 // MPropertyFriendlyName "global texture V Offset" - CParticleCollectionFloatInput m_flTextureVOffset; // 0x18e8 + CParticleCollectionFloatInput m_flTextureVOffset; // 0x18e8 // MPropertyFriendlyName "global texture V Params CP" - int32_t m_nTextureVParamsCP; // 0x19d0 + int32_t m_nTextureVParamsCP; // 0x19d0 // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" - bool m_bClampV; // 0x19d4 + bool m_bClampV; // 0x19d4 +private: + [[maybe_unused]] uint8_t __pad19d5[0x3]; // 0x19d5 +public: // MPropertyStartGroup "Rope Global UV Controls/CP Scaling" // MPropertyFriendlyName "scale CP start" - int32_t m_nScaleCP1; // 0x19d8 + int32_t m_nScaleCP1; // 0x19d8 // MPropertyFriendlyName "scale CP end" - int32_t m_nScaleCP2; // 0x19dc + int32_t m_nScaleCP2; // 0x19dc // MPropertyFriendlyName "scale V world size by CP distance" - float m_flScaleVSizeByControlPointDistance; // 0x19e0 + float m_flScaleVSizeByControlPointDistance; // 0x19e0 // MPropertyFriendlyName "scale V scroll rate by CP distance" - float m_flScaleVScrollByControlPointDistance; // 0x19e4 + float m_flScaleVScrollByControlPointDistance; // 0x19e4 // MPropertyFriendlyName "scale V offset by CP distance" - float m_flScaleVOffsetByControlPointDistance; // 0x19e8 + float m_flScaleVOffsetByControlPointDistance; // 0x19e8 +private: + [[maybe_unused]] uint8_t __pad19ec[0x1]; // 0x19ec +public: // MPropertyStartGroup "Rope Global UV Controls" // MPropertyFriendlyName "Use scalar attribute for texture coordinate" - bool m_bUseScalarForTextureCoordinate; // 0x19ed + bool m_bUseScalarForTextureCoordinate; // 0x19ed +private: + [[maybe_unused]] uint8_t __pad19ee[0x2]; // 0x19ee +public: // MPropertyFriendlyName "scalar to use for texture coordinate" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x19f0 + ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x19f0 // MPropertyFriendlyName "scale value to map attribute to texture coordinate" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - float m_flScalarAttributeTextureCoordScale; // 0x19f4 + float m_flScalarAttributeTextureCoordScale; // 0x19f4 // MPropertyStartGroup "Rope Order Controls" // MPropertyFriendlyName "reverse point order" // MPropertySortPriority "800" - bool m_bReverseOrder; // 0x19f8 + bool m_bReverseOrder; // 0x19f8 // MPropertyFriendlyName "Closed loop" - bool m_bClosedLoop; // 0x19f9 + bool m_bClosedLoop; // 0x19f9 +private: + [[maybe_unused]] uint8_t __pad19fa[0x2]; // 0x19fa +public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation_type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x19fc + ParticleOrientationChoiceList_t m_nOrientationType; // 0x19fc // 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; // 0x1a00 + ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x1a00 // MPropertyStartGroup "Material" // MPropertyFriendlyName "draw as opaque" - bool m_bDrawAsOpaque; // 0x1a04 + bool m_bDrawAsOpaque; // 0x1a04 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "generate normals for cylinder" - bool m_bGenerateNormals; // 0x1a05 + bool m_bGenerateNormals; // 0x1a05 }; -// Aligment: 8 -// Size: 528 -class C_OP_RenderAsModels : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 8 +// Size: 0x210 +class C_OP_RenderAsModels : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "models" // MParticleRequireDefaultArrayEntry - CUtlVector< ModelReference_t > m_ModelList; // 0x1d0 + CUtlVector< ModelReference_t > m_ModelList; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01e8[0x4]; // 0x1e8 +public: // MPropertyFriendlyName "scale factor for radius" - float m_flModelScale; // 0x1ec + float m_flModelScale; // 0x1ec // MPropertyFriendlyName "scale model to match particle size" - bool m_bFitToModelSize; // 0x1f0 + bool m_bFitToModelSize; // 0x1f0 // MPropertyFriendlyName "non-uniform scaling" - bool m_bNonUniformScaling; // 0x1f1 + bool m_bNonUniformScaling; // 0x1f1 +private: + [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 +public: // MPropertyFriendlyName "X axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x1f4 + ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x1f4 // MPropertyFriendlyName "Y axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x1f8 + ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x1f8 // MPropertyFriendlyName "Z axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x1fc + ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x1fc // MPropertyFriendlyName "model size cull bloat" // MPropertyAttributeChoiceName "particlefield_size_cull_bloat" - int32_t m_nSizeCullBloat; // 0x200 + int32_t m_nSizeCullBloat; // 0x200 }; -// Aligment: 7 -// Size: 512 -class C_OP_RenderLights : public C_OP_RenderPoints, CParticleFunctionRenderer, CParticleFunction +// Alignment: 7 +// Size: 0x200 +class C_OP_RenderLights : public C_OP_RenderPoints { public: // MPropertyFriendlyName "animation rate" - float m_flAnimationRate; // 0x1e0 + float m_flAnimationRate; // 0x1e0 // MPropertyFriendlyName "animation type" - AnimationType_t m_nAnimationType; // 0x1e4 + AnimationType_t m_nAnimationType; // 0x1e4 // MPropertyFriendlyName "set animation value in FPS" - bool m_bAnimateInFPS; // 0x1e8 + bool m_bAnimateInFPS; // 0x1e8 +private: + [[maybe_unused]] uint8_t __pad01e9[0x3]; // 0x1e9 +public: // MPropertyFriendlyName "minimum visual size" - float m_flMinSize; // 0x1ec + float m_flMinSize; // 0x1ec // MPropertyFriendlyName "maximum visual size" - float m_flMaxSize; // 0x1f0 + float m_flMaxSize; // 0x1f0 // MPropertyFriendlyName "size at which to start fading" - float m_flStartFadeSize; // 0x1f4 + float m_flStartFadeSize; // 0x1f4 // MPropertyFriendlyName "size at which to fade away" - float m_flEndFadeSize; // 0x1f8 + float m_flEndFadeSize; // 0x1f8 }; -// Aligment: 5 -// Size: 1184 -class C_OP_RenderBlobs : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 5 +// Size: 0x4a0 +class C_OP_RenderBlobs : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "cube width" - CParticleCollectionFloatInput m_cubeWidth; // 0x1d0 + CParticleCollectionFloatInput m_cubeWidth; // 0x1d0 // MPropertyFriendlyName "cutoff radius" - CParticleCollectionFloatInput m_cutoffRadius; // 0x2b8 + CParticleCollectionFloatInput m_cutoffRadius; // 0x2b8 // MPropertyFriendlyName "render radius" - CParticleCollectionFloatInput m_renderRadius; // 0x3a0 + CParticleCollectionFloatInput m_renderRadius; // 0x3a0 // MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)" - int32_t m_nScaleCP; // 0x488 + int32_t m_nScaleCP; // 0x488 +private: + [[maybe_unused]] uint8_t __pad048c[0x4]; // 0x48c +public: // MPropertyFriendlyName "material" // MPropertyAttributeEditor "AssetBrowse( vmat )" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x490 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x490 }; -// Aligment: 2 -// Size: 480 -class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 2 +// Size: 0x1e0 +class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "rotate rate(dps)" - float m_flRotateRateDegrees; // 0x1d0 + float m_flRotateRateDegrees; // 0x1d0 // MPropertyFriendlyName "forward angle" - float m_flForwardDegrees; // 0x1d4 + float m_flForwardDegrees; // 0x1d4 }; -// Aligment: 42 -// Size: 6208 -class C_OP_RenderModels : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 42 +// Size: 0x1840 +class C_OP_RenderModels : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Only Render in effects bloom pass" // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x1d0 + bool m_bOnlyRenderInEffectsBloomPass; // 0x1d0 // MPropertyFriendlyName "Use Mixed Resolution Rendering" // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x1d1 + bool m_bUseMixedResolutionRendering; // 0x1d1 +private: + [[maybe_unused]] uint8_t __pad01d2[0x6]; // 0x1d2 +public: // MPropertyFriendlyName "models" // MParticleRequireDefaultArrayEntry // MPropertyAutoExpandSelf // MPropertySortPriority "775" - CUtlVector< ModelReference_t > m_ModelList; // 0x1d8 + CUtlVector< ModelReference_t > m_ModelList; // 0x1d8 +private: + [[maybe_unused]] uint8_t __pad01f0[0x4]; // 0x1f0 +public: // MPropertyFriendlyName "bodygroup field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nBodyGroupField; // 0x1f4 + ParticleAttributeIndex_t m_nBodyGroupField; // 0x1f4 // MPropertyFriendlyName "submodel field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSubModelField; // 0x1f8 + ParticleAttributeIndex_t m_nSubModelField; // 0x1f8 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "ignore normal" // MPropertySortPriority "750" - bool m_bIgnoreNormal; // 0x1fc + bool m_bIgnoreNormal; // 0x1fc // MPropertyFriendlyName "orient model z to normal" // MPropertySortPriority "750" // MPropertySuppressExpr "m_bIgnoreNormal" - bool m_bOrientZ; // 0x1fd + bool m_bOrientZ; // 0x1fd +private: + [[maybe_unused]] uint8_t __pad01fe[0x2]; // 0x1fe +public: // MPropertyFriendlyName "model local offset" // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalOffset; // 0x200 + CPerParticleVecInput m_vecLocalOffset; // 0x200 // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalRotation; // 0x630 + CPerParticleVecInput m_vecLocalRotation; // 0x630 // MPropertyStartGroup "Model Scale" // MPropertyFriendlyName "ignore radius" // MPropertySortPriority "450" - bool m_bIgnoreRadius; // 0xa60 + bool m_bIgnoreRadius; // 0xa60 +private: + [[maybe_unused]] uint8_t __pad0a61[0x3]; // 0xa61 +public: // MPropertyFriendlyName "model scale CP" // MPropertySortPriority "450" - int32_t m_nModelScaleCP; // 0xa64 + int32_t m_nModelScaleCP; // 0xa64 // MPropertyFriendlyName "model component scale" // MPropertySortPriority "700" - CPerParticleVecInput m_vecComponentScale; // 0xa68 + CPerParticleVecInput m_vecComponentScale; // 0xa68 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animated" // MPropertySortPriority "500" - bool m_bAnimated; // 0xe98 + bool m_bAnimated; // 0xe98 +private: + [[maybe_unused]] uint8_t __pad0e99[0x3]; // 0xe99 +public: // MPropertyFriendlyName "animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - float m_flAnimationRate; // 0xe9c + float m_flAnimationRate; // 0xe9c // MPropertyFriendlyName "scale animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bScaleAnimationRate; // 0xea0 + bool m_bScaleAnimationRate; // 0xea0 // MPropertyFriendlyName "force looping animations" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bForceLoopingAnimation; // 0xea1 + bool m_bForceLoopingAnimation; // 0xea1 // MPropertyFriendlyName "reset animation frame on stop" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bResetAnimOnStop; // 0xea2 + bool m_bResetAnimOnStop; // 0xea2 // MPropertyFriendlyName "set animation frame manually" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bManualAnimFrame; // 0xea3 + bool m_bManualAnimFrame; // 0xea3 // MPropertyFriendlyName "animation rate scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - ParticleAttributeIndex_t m_nAnimationScaleField; // 0xea4 + ParticleAttributeIndex_t m_nAnimationScaleField; // 0xea4 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animation sequence field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" - ParticleAttributeIndex_t m_nAnimationField; // 0xea8 + ParticleAttributeIndex_t m_nAnimationField; // 0xea8 // MPropertyFriendlyName "manual animation frame field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" - ParticleAttributeIndex_t m_nManualFrameField; // 0xeac + ParticleAttributeIndex_t m_nManualFrameField; // 0xeac // MPropertyFriendlyName "activity override" // MPropertySortPriority "500" - char[256] m_ActivityName; // 0xeb0 + char m_ActivityName[256]; // 0xeb0 // MPropertyFriendlyName "Enable Cloth Simulation" - bool m_bEnableClothSimulation; // 0xfb0 + bool m_bEnableClothSimulation; // 0xfb0 +private: + [[maybe_unused]] uint8_t __pad0fb1[0x7]; // 0xfb1 +public: // MPropertyStartGroup "Material" // MPropertyFriendlyName "material override" // MPropertyAttributeEditor "AssetBrowse( vmat )" // MPropertySortPriority "600" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0xfb8 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0xfb8 // MPropertyFriendlyName "override translucent materials" // MPropertySortPriority "600" - bool m_bOverrideTranslucentMaterials; // 0xfc0 + bool m_bOverrideTranslucentMaterials; // 0xfc0 +private: + [[maybe_unused]] uint8_t __pad0fc1[0x3]; // 0xfc1 +public: // MPropertyFriendlyName "skin number" // MPropertySortPriority "600" - int32_t m_nSkin; // 0xfc4 + int32_t m_nSkin; // 0xfc4 // MPropertyFriendlyName "skin override CP" // MPropertySortPriority "600" - int32_t m_nSkinCP; // 0xfc8 + int32_t m_nSkinCP; // 0xfc8 +private: + [[maybe_unused]] uint8_t __pad0fcc[0x4]; // 0xfcc +public: // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf // MPropertySortPriority "600" - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0xfd0 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0xfd0 // MPropertyStartGroup "Model Overrides" // MPropertyFriendlyName "model LOD" - int32_t m_nLOD; // 0xfe8 + int32_t m_nLOD; // 0xfe8 // MPropertyFriendlyName "model override CP" - int32_t m_nModelCP; // 0xfec + int32_t m_nModelCP; // 0xfec // MPropertyFriendlyName "model override economy loadout slot type" - char[256] m_EconSlotName; // 0xff0 + char m_EconSlotName[256]; // 0xff0 // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" - bool m_bOriginalModel; // 0x10f0 + bool m_bOriginalModel; // 0x10f0 // MPropertyFriendlyName "suppress tinting of the model" - bool m_bSuppressTint; // 0x10f1 + bool m_bSuppressTint; // 0x10f1 // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" - bool m_bUseRawMeshGroup; // 0x10f2 + bool m_bUseRawMeshGroup; // 0x10f2 // MPropertyFriendlyName "disable shadows" - bool m_bDisableShadows; // 0x10f3 + bool m_bDisableShadows; // 0x10f3 // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" - bool m_bForceDrawInterlevedWithSiblings; // 0x10f4 + bool m_bForceDrawInterlevedWithSiblings; // 0x10f4 // MPropertyFriendlyName "render attribute" - char[260] m_szRenderAttribute; // 0x10f5 + char m_szRenderAttribute[260]; // 0x10f5 +private: + [[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9 +public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "Radius Scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1200 + CParticleCollectionFloatInput m_flRadiusScale; // 0x1200 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x12e8 + CParticleCollectionFloatInput m_flAlphaScale; // 0x12e8 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x13d0 + ParticleAttributeIndex_t m_nAlpha2Field; // 0x13d0 +private: + [[maybe_unused]] uint8_t __pad13d4[0x4]; // 0x13d4 +public: // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x13d8 + CParticleCollectionVecInput m_vecColorScale; // 0x13d8 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x1808 + ParticleColorBlendType_t m_nColorBlendType; // 0x1808 }; -// Aligment: 8 -// Size: 2080 -class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 8 +// Size: 0x820 +class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Control Point for Model" - int32_t m_nMaterialControlPoint; // 0x1d0 + int32_t m_nMaterialControlPoint; // 0x1d0 // MPropertyFriendlyName "proxy type" - MaterialProxyType_t m_nProxyType; // 0x1d4 + MaterialProxyType_t m_nProxyType; // 0x1d4 // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1d8 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1d8 // MPropertyFriendlyName "material override" // MPropertyAttributeEditor "AssetBrowse( vmat )" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1f0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1f0 // MPropertyFriendlyName "material override enable" - CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x1f8 + CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x1f8 // MPropertyFriendlyName "model tint" - CParticleCollectionVecInput m_vecColorScale; // 0x2e0 + CParticleCollectionVecInput m_vecColorScale; // 0x2e0 // MPropertyFriendlyName "model alpha" - CPerParticleFloatInput m_flAlpha; // 0x710 + CPerParticleFloatInput m_flAlpha; // 0x710 // MPropertyFriendlyName "model tint blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0x7f8 + ParticleColorBlendType_t m_nColorBlendType; // 0x7f8 }; -// Aligment: 11 -// Size: 544 -class C_OP_RenderProjected : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 11 +// Size: 0x220 +class C_OP_RenderProjected : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "project on characters" - bool m_bProjectCharacter; // 0x1d0 + bool m_bProjectCharacter; // 0x1d0 // MPropertyFriendlyName "project on world" - bool m_bProjectWorld; // 0x1d1 + bool m_bProjectWorld; // 0x1d1 // MPropertyFriendlyName "project on water" - bool m_bProjectWater; // 0x1d2 + bool m_bProjectWater; // 0x1d2 // MPropertyFriendlyName "flip horizontal" - bool m_bFlipHorizontal; // 0x1d3 + bool m_bFlipHorizontal; // 0x1d3 // MPropertyFriendlyName "enable projected depth controls" - bool m_bEnableProjectedDepthControls; // 0x1d4 + bool m_bEnableProjectedDepthControls; // 0x1d4 +private: + [[maybe_unused]] uint8_t __pad01d5[0x3]; // 0x1d5 +public: // MPropertyFriendlyName "min projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMinProjectionDepth; // 0x1d8 + float m_flMinProjectionDepth; // 0x1d8 // MPropertyFriendlyName "max projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMaxProjectionDepth; // 0x1dc + float m_flMaxProjectionDepth; // 0x1dc // MPropertyFriendlyName "material" // MPropertyAttributeEditor "AssetBrowse( vmat )" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x1e0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x1e0 // MPropertyFriendlyName "sheet animation time scale" - float m_flAnimationTimeScale; // 0x1e8 + float m_flAnimationTimeScale; // 0x1e8 // MPropertyFriendlyName "orient to normal" - bool m_bOrientToNormal; // 0x1ec + bool m_bOrientToNormal; // 0x1ec +private: + [[maybe_unused]] uint8_t __pad01ed[0x3]; // 0x1ed +public: // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1f0 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1f0 }; -// Aligment: 16 -// Size: 1600 -class C_OP_RenderDeferredLight : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 16 +// Size: 0x640 +class C_OP_RenderDeferredLight : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "projected texture use alpha test window" // MPropertySuppressExpr "!m_bUseTexture" - bool m_bUseAlphaTestWindow; // 0x1d0 + bool m_bUseAlphaTestWindow; // 0x1d0 // MPropertyFriendlyName "projected texture light" - bool m_bUseTexture; // 0x1d1 + bool m_bUseTexture; // 0x1d1 +private: + [[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2 +public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "radius scale" // MPropertySortPriority "700" - float m_flRadiusScale; // 0x1d4 + float m_flRadiusScale; // 0x1d4 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - float m_flAlphaScale; // 0x1d8 + float m_flAlphaScale; // 0x1d8 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x1dc + ParticleAttributeIndex_t m_nAlpha2Field; // 0x1dc // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x1e0 + CParticleCollectionVecInput m_vecColorScale; // 0x1e0 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x610 + ParticleColorBlendType_t m_nColorBlendType; // 0x610 // MPropertyStartGroup // MPropertyFriendlyName "spotlight distance" - float m_flLightDistance; // 0x614 + float m_flLightDistance; // 0x614 // MPropertyFriendlyName "light start falloff" - float m_flStartFalloff; // 0x618 + float m_flStartFalloff; // 0x618 // MPropertyFriendlyName "spotlight distance falloff" - float m_flDistanceFalloff; // 0x61c + float m_flDistanceFalloff; // 0x61c // MPropertyFriendlyName "spotlight FoV" - float m_flSpotFoV; // 0x620 + float m_flSpotFoV; // 0x620 // MPropertyFriendlyName "projected texture alpha test point scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x624 + ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x624 // MPropertyFriendlyName "projected texture alpha test range scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x628 + ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x628 // MPropertyFriendlyName "projected texture alpha test sharpness scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x62c + ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x62c // MPropertyFriendlyName "texture" // MPropertyAttributeEditor "AssetBrowse( vtex )" // MPropertySuppressExpr "!m_bUseTexture" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x630 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x630 // MPropertyFriendlyName "HSV Shift Control Point" - int32_t m_nHSVShiftControlPoint; // 0x638 + int32_t m_nHSVShiftControlPoint; // 0x638 }; -// Aligment: 29 -// Size: 3504 -class C_OP_RenderStandardLight : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 29 +// Size: 0xdb0 +class C_OP_RenderStandardLight : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "light type" - ParticleLightTypeChoiceList_t m_nLightType; // 0x1d0 + ParticleLightTypeChoiceList_t m_nLightType; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 +public: // MPropertyFriendlyName "color blend" - CParticleCollectionVecInput m_vecColorScale; // 0x1d8 + CParticleCollectionVecInput m_vecColorScale; // 0x1d8 // MPropertyFriendlyName "color blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0x608 + ParticleColorBlendType_t m_nColorBlendType; // 0x608 +private: + [[maybe_unused]] uint8_t __pad060c[0x4]; // 0x60c +public: // MPropertyFriendlyName "intensity" - CParticleCollectionFloatInput m_flIntensity; // 0x610 + CParticleCollectionFloatInput m_flIntensity; // 0x610 // MPropertyFriendlyName "cast shadows" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bCastShadows; // 0x6f8 + bool m_bCastShadows; // 0x6f8 +private: + [[maybe_unused]] uint8_t __pad06f9[0x7]; // 0x6f9 +public: // MPropertyFriendlyName "inner cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flTheta; // 0x700 + CParticleCollectionFloatInput m_flTheta; // 0x700 // MPropertyFriendlyName "outer cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flPhi; // 0x7e8 + CParticleCollectionFloatInput m_flPhi; // 0x7e8 // MPropertyFriendlyName "light radius multiplier" - CParticleCollectionFloatInput m_flRadiusMultiplier; // 0x8d0 + CParticleCollectionFloatInput m_flRadiusMultiplier; // 0x8d0 // MPropertyFriendlyName "attenuation type" - StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0x9b8 + StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0x9b8 +private: + [[maybe_unused]] uint8_t __pad09bc[0x4]; // 0x9bc +public: // MPropertyFriendlyName "falloff linearity" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )" - CParticleCollectionFloatInput m_flFalloffLinearity; // 0x9c0 + CParticleCollectionFloatInput m_flFalloffLinearity; // 0x9c0 // MPropertyFriendlyName "falloff fifty percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xaa8 + CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xaa8 // MPropertyFriendlyName "falloff zero percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xb90 + CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xb90 // MPropertyFriendlyName "render diffuse" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderDiffuse; // 0xc78 + bool m_bRenderDiffuse; // 0xc78 // MPropertyFriendlyName "render specular" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderSpecular; // 0xc79 + bool m_bRenderSpecular; // 0xc79 +private: + [[maybe_unused]] uint8_t __pad0c7a[0x6]; // 0xc7a +public: // MPropertyFriendlyName "light cookie string" - CUtlString m_lightCookie; // 0xc80 + CUtlString m_lightCookie; // 0xc80 // MPropertyFriendlyName "light priority" - int32_t m_nPriority; // 0xc88 + int32_t m_nPriority; // 0xc88 // MPropertyFriendlyName "fog lighting mode" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - ParticleLightFogLightingMode_t m_nFogLightingMode; // 0xc8c + ParticleLightFogLightingMode_t m_nFogLightingMode; // 0xc8c // MPropertyFriendlyName "fog contribution" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - CParticleCollectionFloatInput m_flFogContribution; // 0xc90 + CParticleCollectionFloatInput m_flFogContribution; // 0xc90 // MPropertyFriendlyName "capsule behavior" - ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0xd78 + ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0xd78 // MPropertyStartGroup "Capsule Light Controls" // MPropertyFriendlyName "capsule length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - float m_flCapsuleLength; // 0xd7c + float m_flCapsuleLength; // 0xd7c // MPropertyFriendlyName "reverse point order" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bReverseOrder; // 0xd80 + bool m_bReverseOrder; // 0xd80 // MPropertyFriendlyName "Closed loop" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bClosedLoop; // 0xd81 + bool m_bClosedLoop; // 0xd81 +private: + [[maybe_unused]] uint8_t __pad0d82[0x2]; // 0xd82 +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; // 0xd84 + ParticleAttributeIndex_t m_nPrevPntSource; // 0xd84 // MPropertyFriendlyName "max length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMaxLength; // 0xd88 + float m_flMaxLength; // 0xd88 // MPropertyFriendlyName "min length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMinLength; // 0xd8c + float m_flMinLength; // 0xd8c // MPropertyFriendlyName "ignore delta time" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - bool m_bIgnoreDT; // 0xd90 + bool m_bIgnoreDT; // 0xd90 +private: + [[maybe_unused]] uint8_t __pad0d91[0x3]; // 0xd91 +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; // 0xd94 + float m_flConstrainRadiusToLengthRatio; // 0xd94 // MPropertyFriendlyName "amount to scale trail length by" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthScale; // 0xd98 + float m_flLengthScale; // 0xd98 // 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; // 0xd9c + float m_flLengthFadeInTime; // 0xd9c }; -// Aligment: 0 -// Size: 464 -class C_OP_RenderClothForce : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 0 +// Size: 0x1d0 +class C_OP_RenderClothForce : public CParticleFunctionRenderer { public: -// + // no members available }; -// Aligment: 0 -// Size: 464 -class C_OP_Callback : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 0 +// Size: 0x1d0 +class C_OP_Callback : public CParticleFunctionRenderer { public: -// + // no members available }; -// Aligment: 9 -// Size: 512 -class C_OP_RenderScreenShake : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 9 +// Size: 0x200 +class C_OP_RenderScreenShake : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x1d0 + float m_flDurationScale; // 0x1d0 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x1d4 + float m_flRadiusScale; // 0x1d4 // MPropertyFriendlyName "frequence scale" - float m_flFrequencyScale; // 0x1d8 + float m_flFrequencyScale; // 0x1d8 // MPropertyFriendlyName "amplitude scale" - float m_flAmplitudeScale; // 0x1dc + float m_flAmplitudeScale; // 0x1dc // MPropertyFriendlyName "radius field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusField; // 0x1e0 + ParticleAttributeIndex_t m_nRadiusField; // 0x1e0 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x1e4 + ParticleAttributeIndex_t m_nDurationField; // 0x1e4 // MPropertyFriendlyName "frequency field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFrequencyField; // 0x1e8 + ParticleAttributeIndex_t m_nFrequencyField; // 0x1e8 // MPropertyFriendlyName "amplitude field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nAmplitudeField; // 0x1ec + ParticleAttributeIndex_t m_nAmplitudeField; // 0x1ec // MPropertyFriendlyName "control point of shake recipient (-1 = global)" - int32_t m_nFilterCP; // 0x1f0 + int32_t m_nFilterCP; // 0x1f0 }; -// Aligment: 4 -// Size: 480 -class C_OP_RenderTonemapController : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 4 +// Size: 0x1e0 +class C_OP_RenderTonemapController : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "tonemap level scale" - float m_flTonemapLevel; // 0x1d0 + float m_flTonemapLevel; // 0x1d0 // MPropertyFriendlyName "tonemap weight scale" - float m_flTonemapWeight; // 0x1d4 + float m_flTonemapWeight; // 0x1d4 // MPropertyFriendlyName "tonemap level" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapLevelField; // 0x1d8 + ParticleAttributeIndex_t m_nTonemapLevelField; // 0x1d8 // MPropertyFriendlyName "tonemap weight" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapWeightField; // 0x1dc + ParticleAttributeIndex_t m_nTonemapWeightField; // 0x1dc }; -// Aligment: 3 -// Size: 720 -class C_OP_RenderPostProcessing : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 3 +// Size: 0x2d0 +class C_OP_RenderPostProcessing : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Post Processing Strength" - CPerParticleFloatInput m_flPostProcessStrength; // 0x1d0 + CPerParticleFloatInput m_flPostProcessStrength; // 0x1d0 // MPropertyFriendlyName "Post Processing File" // MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x2b8 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x2b8 // MPropertyFriendlyName "Post Processing Priority Group" - ParticlePostProcessPriorityGroup_t m_nPriority; // 0x2c0 + ParticlePostProcessPriorityGroup_t m_nPriority; // 0x2c0 }; -// Aligment: 12 -// Size: 768 -class C_OP_RenderSound : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 12 +// Size: 0x300 +class C_OP_RenderSound : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x1d0 + float m_flDurationScale; // 0x1d0 // MPropertyFriendlyName "decibel level scale" - float m_flSndLvlScale; // 0x1d4 + float m_flSndLvlScale; // 0x1d4 // MPropertyFriendlyName "pitch scale" - float m_flPitchScale; // 0x1d8 + float m_flPitchScale; // 0x1d8 // MPropertyFriendlyName "volume scale" - float m_flVolumeScale; // 0x1dc + float m_flVolumeScale; // 0x1dc // MPropertyFriendlyName "decibel level field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSndLvlField; // 0x1e0 + ParticleAttributeIndex_t m_nSndLvlField; // 0x1e0 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x1e4 + ParticleAttributeIndex_t m_nDurationField; // 0x1e4 // MPropertyFriendlyName "pitch field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPitchField; // 0x1e8 + ParticleAttributeIndex_t m_nPitchField; // 0x1e8 // MPropertyFriendlyName "volume field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVolumeField; // 0x1ec + ParticleAttributeIndex_t m_nVolumeField; // 0x1ec // MPropertyFriendlyName "sound channel" // MPropertyAttributeChoiceName "sound_channel" - int32_t m_nChannel; // 0x1f0 + int32_t m_nChannel; // 0x1f0 // MPropertyFriendlyName "sound control point number" - int32_t m_nCPReference; // 0x1f4 + int32_t m_nCPReference; // 0x1f4 // MPropertyFriendlyName "sound" // MPropertyAttributeEditor "SoundPicker()" - char[256] m_pszSoundName; // 0x1f8 + char m_pszSoundName[256]; // 0x1f8 // MPropertyFriendlyName "suppress stop event" - bool m_bSuppressStopSoundEvent; // 0x2f8 + bool m_bSuppressStopSoundEvent; // 0x2f8 }; -// Aligment: 7 -// Size: 528 -class C_OP_RenderStatusEffect : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 7 +// Size: 0x210 +class C_OP_RenderStatusEffect : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x1d0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x1d0 // MPropertyFriendlyName "detail 2 texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x1d8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x1d8 // MPropertyFriendlyName "diffuse warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x1e0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x1e0 // MPropertyFriendlyName "fresnel color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x1e8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x1e8 // MPropertyFriendlyName "fresnel warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x1f0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x1f0 // MPropertyFriendlyName "specular warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x1f8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x1f8 // MPropertyFriendlyName "environment map texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x200 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x200 }; -// Aligment: 6 -// Size: 512 -class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 6 +// Size: 0x200 +class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x1d0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x1d0 // MPropertyFriendlyName "normal texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x1d8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x1d8 // MPropertyFriendlyName "metalness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x1e0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x1e0 // MPropertyFriendlyName "roughness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x1e8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x1e8 // MPropertyFriendlyName "self illum texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x1f0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x1f0 // MPropertyFriendlyName "detail texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x1f8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x1f8 }; -// Aligment: 3 -// Size: 480 -class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 3 +// Size: 0x1e0 +class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "flattening strength" - float m_flFlattenStrength; // 0x1d0 + float m_flFlattenStrength; // 0x1d0 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x1d4 + ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x1d4 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x1d8 + float m_flRadiusScale; // 0x1d8 }; -// Aligment: 10 -// Size: 512 -class C_OP_RenderTreeShake : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 10 +// Size: 0x200 +class C_OP_RenderTreeShake : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "peak strength" - float m_flPeakStrength; // 0x1d0 + float m_flPeakStrength; // 0x1d0 // MPropertyFriendlyName "peak strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x1d4 + ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x1d4 // MPropertyFriendlyName "radius" - float m_flRadius; // 0x1d8 + float m_flRadius; // 0x1d8 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x1dc + ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x1dc // MPropertyFriendlyName "shake duration after end" - float m_flShakeDuration; // 0x1e0 + float m_flShakeDuration; // 0x1e0 // MPropertyFriendlyName "amount of time taken to smooth between different shake parameters" - float m_flTransitionTime; // 0x1e4 + float m_flTransitionTime; // 0x1e4 // MPropertyFriendlyName "Twist amount (-1..1)" - float m_flTwistAmount; // 0x1e8 + float m_flTwistAmount; // 0x1e8 // MPropertyFriendlyName "Radial Amount (-1..1)" - float m_flRadialAmount; // 0x1ec + float m_flRadialAmount; // 0x1ec // MPropertyFriendlyName "Control Point Orientation Amount (-1..1)" - float m_flControlPointOrientationAmount; // 0x1f0 + float m_flControlPointOrientationAmount; // 0x1f0 // MPropertyFriendlyName "Control Point for Orientation Amount" - int32_t m_nControlPointForLinearDirection; // 0x1f4 + int32_t m_nControlPointForLinearDirection; // 0x1f4 }; -// Aligment: 2 -// Size: 480 -class C_OP_RenderText : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 2 +// Size: 0x1e0 +class C_OP_RenderText : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "outline color" - Color m_OutlineColor; // 0x1d0 + Color m_OutlineColor; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 +public: // MPropertyFriendlyName "default text" - CUtlString m_DefaultText; // 0x1d8 + CUtlString m_DefaultText; // 0x1d8 }; -// Aligment: 4 -// Size: 720 -class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer, CParticleFunction +// Alignment: 4 +// Size: 0x2d0 +class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "haptic hand" - ParticleVRHandChoiceList_t m_nHand; // 0x1d0 + ParticleVRHandChoiceList_t m_nHand; // 0x1d0 // MPropertyFriendlyName "hand control point number" - int32_t m_nOutputHandCP; // 0x1d4 + int32_t m_nOutputHandCP; // 0x1d4 // MPropertyFriendlyName "cp field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x1d8 + int32_t m_nOutputField; // 0x1d8 +private: + [[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc +public: // MPropertyFriendlyName "amplitude" - CPerParticleFloatInput m_flAmplitude; // 0x1e0 + CPerParticleFloatInput m_flAmplitude; // 0x1e0 }; -// Aligment: 1 -// Size: 6672 -class C_OP_RenderFogSprites : public C_OP_RenderSprites, CBaseRendererSource2, CParticleFunctionRenderer, CParticleFunction +// Alignment: 1 +// Size: 0x1a10 +class C_OP_RenderFogSprites : public C_OP_RenderSprites { public: // MPropertyFriendlyName "material" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x1a00 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x1a00 }; diff --git a/sdk/rendersystemdx11.hpp b/sdk/rendersystemdx11.hpp index 49cd182d..8fa86eb5 100644 --- a/sdk/rendersystemdx11.hpp +++ b/sdk/rendersystemdx11.hpp @@ -2,14 +2,15 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: rendersystemdx11.dll -// Class Count: 3 -// Enum Count: 5 -/////////////////////////////////////////// +// Classes count: 3 +// Enums count: 5 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class RenderSlotType_t : uint32_t { RENDER_SLOT_INVALID = 0xffffffffffffffff, @@ -17,8 +18,8 @@ enum class RenderSlotType_t : uint32_t RENDER_SLOT_PER_INSTANCE = 0x1, }; -// Aligment: 4 -// Size: 9 +// Alignment: 4 +// Size: 0x9 enum class RenderBufferFlags_t : uint32_t { RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1, @@ -32,8 +33,8 @@ enum class RenderBufferFlags_t : uint32_t RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100, }; -// Aligment: 4 -// Size: 45 +// Alignment: 4 +// Size: 0x2d enum class RenderPrimitiveType_t : uint32_t { RENDER_PRIM_POINTS = 0x0, @@ -83,8 +84,8 @@ enum class RenderPrimitiveType_t : uint32_t RENDER_PRIM_TYPE_COUNT = 0x2c, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class InputLayoutVariation_t : uint32_t { INPUT_LAYOUT_VARIATION_DEFAULT = 0x0, @@ -94,8 +95,8 @@ enum class InputLayoutVariation_t : uint32_t INPUT_LAYOUT_VARIATION_MAX = 0x4, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class RenderMultisampleType_t : uint32_t { RENDER_MULTISAMPLE_INVALID = 0xffffffffffffffff, @@ -108,36 +109,36 @@ enum class RenderMultisampleType_t : uint32_t RENDER_MULTISAMPLE_TYPE_COUNT = 0x6, }; -// Aligment: 7 -// Size: 56 +// Alignment: 7 +// Size: 0x38 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 }; -// Aligment: 4 -// Size: 196 +// Alignment: 4 +// Size: 0xc4 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 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 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 673c232e..16254e19 100644 --- a/sdk/resourcesystem.hpp +++ b/sdk/resourcesystem.hpp @@ -2,345 +2,346 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: resourcesystem.dll -// Class Count: 41 -// Enum Count: 0 -/////////////////////////////////////////// +// Classes count: 41 +// Enums count: 0 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 struct TestResource_t { public: // MKV3TransferName "name" - CUtlString m_name; // 0x0 + CUtlString m_name; // 0x0 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct InfoForResourceTypeTestResource_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct InfoForResourceTypeProceduralTestResource_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct InfoForResourceTypeManifestTestResource_t { public: -// + // no members available }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 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 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCVDataResource { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeIParticleSystemDefinition { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeIParticleSnapshot { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCAnimData { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCAnimationGroup { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCSequenceGroupData { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeIMaterial2 { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCMorphSetData { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCRenderMesh { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCModel { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCTextureBase { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeIVectorGraphic { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCVSoundEventScriptList { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCVSoundStackScriptList { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct InfoForResourceTypeVSound_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCVMixListResource { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCPhysAggregateData { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCVPhysXSurfacePropertiesList { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCEntityLump { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCWorldNode { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct InfoForResourceTypeWorld_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCVoxelVisibility { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCPostProcessingResource { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCPanoramaStyle { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCPanoramaLayout { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCPanoramaDynamicImages { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCDotaItemDefinitionResource { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCPanoramaScript { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCDOTAPatchNotesList { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeIAnimGraphModelBinding { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCChoreoSceneFileData { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCDACGameDefsData { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCCompositeMaterialKit { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCSmartProp { public: -// + // no members available }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 struct AABB_t { public: - Vector m_vMinBounds; // 0x0 - Vector m_vMaxBounds; // 0xc + Vector m_vMinBounds; // 0x0 + Vector m_vMaxBounds; // 0xc }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 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 e25f5304..e4a28b67 100644 --- a/sdk/scenefilecache.hpp +++ b/sdk/scenefilecache.hpp @@ -2,9 +2,10 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: scenefilecache.dll -// Class Count: 0 -// Enum Count: 0 -/////////////////////////////////////////// +// Classes count: 0 +// Enums count: 0 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// diff --git a/sdk/scenesystem.hpp b/sdk/scenesystem.hpp index cf0e45bb..952a935d 100644 --- a/sdk/scenesystem.hpp +++ b/sdk/scenesystem.hpp @@ -2,110 +2,116 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: scenesystem.dll -// Class Count: 9 -// Enum Count: 1 -/////////////////////////////////////////// +// Classes count: 9 +// Enums count: 1 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 enum class DisableShadows_t : uint8_t { - kDisableShadows_None = 0, - kDisableShadows_All = 1, - kDisableShadows_Baked = 2, - kDisableShadows_Realtime = 3, + kDisableShadows_None = 0x0, + kDisableShadows_All = 0x1, + kDisableShadows_Baked = 0x2, + kDisableShadows_Realtime = 0x3, }; -// Aligment: 2 -// Size: 16 +struct SceneViewId_t; + +// Alignment: 2 +// Size: 0x10 class CSSDSEndFrameViewInfo { public: - uint64_t m_nViewId; // 0x0 - CUtlString m_ViewName; // 0x8 + uint64_t m_nViewId; // 0x0 + CUtlString m_ViewName; // 0x8 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CSSDSMsg_EndFrame { public: - CUtlVector< CSSDSEndFrameViewInfo > m_Views; // 0x0 + CUtlVector< CSSDSEndFrameViewInfo > m_Views; // 0x0 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct SceneViewId_t { public: - uint64_t m_nViewId; // 0x0 - uint64_t m_nFrameCount; // 0x8 + uint64_t m_nViewId; // 0x0 + uint64_t m_nFrameCount; // 0x8 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class CSSDSMsg_ViewRender { public: - SceneViewId_t m_viewId; // 0x0 - CUtlString m_ViewName; // 0x10 + SceneViewId_t m_viewId; // 0x0 + CUtlString m_ViewName; // 0x10 }; -// Aligment: 6 -// Size: 56 +// Alignment: 6 +// Size: 0x38 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 }; -// Aligment: 10 -// Size: 48 +// Alignment: 10 +// Size: 0x30 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 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 0 -// Size: 56 +// Alignment: 0 +// Size: 0x38 class CSSDSMsg_PreLayer : public CSSDSMsg_LayerBase { public: -// + // no members available }; -// Aligment: 0 -// Size: 56 +// 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 ee00fff5..ec7fdca1 100644 --- a/sdk/schemasystem.hpp +++ b/sdk/schemasystem.hpp @@ -2,14 +2,15 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: schemasystem.dll -// Class Count: 7 -// Enum Count: 2 -/////////////////////////////////////////// +// Classes count: 7 +// Enums count: 2 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ThreeState_t : uint32_t { TRS_FALSE = 0x0, @@ -17,161 +18,170 @@ enum class ThreeState_t : uint32_t TRS_NONE = 0x2, }; -// Aligment: 1 -// Size: 74 +// Alignment: 1 +// Size: 0x4a enum class fieldtype_t : uint8_t { - FIELD_VOID = 0, - FIELD_FLOAT32 = 1, - FIELD_STRING = 2, - FIELD_VECTOR = 3, - FIELD_QUATERNION = 4, - FIELD_INT32 = 5, - FIELD_BOOLEAN = 6, - FIELD_INT16 = 7, - FIELD_CHARACTER = 8, - FIELD_COLOR32 = 9, - FIELD_EMBEDDED = 10, - FIELD_CUSTOM = 11, - FIELD_CLASSPTR = 12, - FIELD_EHANDLE = 13, - FIELD_POSITION_VECTOR = 14, - FIELD_TIME = 15, - FIELD_TICK = 16, - FIELD_SOUNDNAME = 17, - FIELD_INPUT = 18, - FIELD_FUNCTION = 19, - FIELD_VMATRIX = 20, - FIELD_VMATRIX_WORLDSPACE = 21, - FIELD_MATRIX3X4_WORLDSPACE = 22, - FIELD_INTERVAL = 23, - FIELD_UNUSED = 24, - FIELD_VECTOR2D = 25, - FIELD_INT64 = 26, - FIELD_VECTOR4D = 27, - FIELD_RESOURCE = 28, - FIELD_TYPEUNKNOWN = 29, - FIELD_CSTRING = 30, - FIELD_HSCRIPT = 31, - FIELD_VARIANT = 32, - FIELD_UINT64 = 33, - FIELD_FLOAT64 = 34, - FIELD_POSITIVEINTEGER_OR_NULL = 35, - FIELD_HSCRIPT_NEW_INSTANCE = 36, - FIELD_UINT32 = 37, - FIELD_UTLSTRINGTOKEN = 38, - FIELD_QANGLE = 39, - FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_VECTOR = 40, - FIELD_HMATERIAL = 41, - FIELD_HMODEL = 42, - FIELD_NETWORK_QUANTIZED_VECTOR = 43, - FIELD_NETWORK_QUANTIZED_FLOAT = 44, - FIELD_DIRECTION_VECTOR_WORLDSPACE = 45, - FIELD_QANGLE_WORLDSPACE = 46, - FIELD_QUATERNION_WORLDSPACE = 47, - FIELD_HSCRIPT_LIGHTBINDING = 48, - FIELD_V8_VALUE = 49, - FIELD_V8_OBJECT = 50, - FIELD_V8_ARRAY = 51, - FIELD_V8_CALLBACK_INFO = 52, - FIELD_UTLSTRING = 53, - FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR = 54, - FIELD_HRENDERTEXTURE = 55, - FIELD_HPARTICLESYSTEMDEFINITION = 56, - FIELD_UINT8 = 57, - FIELD_UINT16 = 58, - FIELD_CTRANSFORM = 59, - FIELD_CTRANSFORM_WORLDSPACE = 60, - FIELD_HPOSTPROCESSING = 61, - FIELD_MATRIX3X4 = 62, - FIELD_SHIM = 63, - FIELD_CMOTIONTRANSFORM = 64, - FIELD_CMOTIONTRANSFORM_WORLDSPACE = 65, - FIELD_ATTACHMENT_HANDLE = 66, - FIELD_AMMO_INDEX = 67, - FIELD_CONDITION_ID = 68, - FIELD_AI_SCHEDULE_BITS = 69, - FIELD_MODIFIER_HANDLE = 70, - FIELD_ROTATION_VECTOR = 71, - FIELD_ROTATION_VECTOR_WORLDSPACE = 72, - FIELD_TYPECOUNT = 73, + FIELD_VOID = 0x0, + FIELD_FLOAT32 = 0x1, + FIELD_STRING = 0x2, + FIELD_VECTOR = 0x3, + FIELD_QUATERNION = 0x4, + FIELD_INT32 = 0x5, + FIELD_BOOLEAN = 0x6, + FIELD_INT16 = 0x7, + FIELD_CHARACTER = 0x8, + FIELD_COLOR32 = 0x9, + FIELD_EMBEDDED = 0xa, + FIELD_CUSTOM = 0xb, + FIELD_CLASSPTR = 0xc, + FIELD_EHANDLE = 0xd, + FIELD_POSITION_VECTOR = 0xe, + FIELD_TIME = 0xf, + FIELD_TICK = 0x10, + FIELD_SOUNDNAME = 0x11, + FIELD_INPUT = 0x12, + FIELD_FUNCTION = 0x13, + FIELD_VMATRIX = 0x14, + FIELD_VMATRIX_WORLDSPACE = 0x15, + FIELD_MATRIX3X4_WORLDSPACE = 0x16, + FIELD_INTERVAL = 0x17, + FIELD_UNUSED = 0x18, + FIELD_VECTOR2D = 0x19, + FIELD_INT64 = 0x1a, + FIELD_VECTOR4D = 0x1b, + FIELD_RESOURCE = 0x1c, + FIELD_TYPEUNKNOWN = 0x1d, + FIELD_CSTRING = 0x1e, + FIELD_HSCRIPT = 0x1f, + FIELD_VARIANT = 0x20, + FIELD_UINT64 = 0x21, + FIELD_FLOAT64 = 0x22, + FIELD_POSITIVEINTEGER_OR_NULL = 0x23, + FIELD_HSCRIPT_NEW_INSTANCE = 0x24, + FIELD_UINT32 = 0x25, + FIELD_UTLSTRINGTOKEN = 0x26, + FIELD_QANGLE = 0x27, + FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_VECTOR = 0x28, + FIELD_HMATERIAL = 0x29, + FIELD_HMODEL = 0x2a, + FIELD_NETWORK_QUANTIZED_VECTOR = 0x2b, + FIELD_NETWORK_QUANTIZED_FLOAT = 0x2c, + FIELD_DIRECTION_VECTOR_WORLDSPACE = 0x2d, + FIELD_QANGLE_WORLDSPACE = 0x2e, + FIELD_QUATERNION_WORLDSPACE = 0x2f, + FIELD_HSCRIPT_LIGHTBINDING = 0x30, + FIELD_V8_VALUE = 0x31, + FIELD_V8_OBJECT = 0x32, + FIELD_V8_ARRAY = 0x33, + FIELD_V8_CALLBACK_INFO = 0x34, + FIELD_UTLSTRING = 0x35, + FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR = 0x36, + FIELD_HRENDERTEXTURE = 0x37, + FIELD_HPARTICLESYSTEMDEFINITION = 0x38, + FIELD_UINT8 = 0x39, + FIELD_UINT16 = 0x3a, + FIELD_CTRANSFORM = 0x3b, + FIELD_CTRANSFORM_WORLDSPACE = 0x3c, + FIELD_HPOSTPROCESSING = 0x3d, + FIELD_MATRIX3X4 = 0x3e, + FIELD_SHIM = 0x3f, + FIELD_CMOTIONTRANSFORM = 0x40, + FIELD_CMOTIONTRANSFORM_WORLDSPACE = 0x41, + FIELD_ATTACHMENT_HANDLE = 0x42, + FIELD_AMMO_INDEX = 0x43, + FIELD_CONDITION_ID = 0x44, + FIELD_AI_SCHEDULE_BITS = 0x45, + FIELD_MODIFIER_HANDLE = 0x46, + FIELD_ROTATION_VECTOR = 0x47, + FIELD_ROTATION_VECTOR_WORLDSPACE = 0x48, + FIELD_TYPECOUNT = 0x49, }; -// Aligment: 22 -// Size: 384 +// Alignment: 22 +// Size: 0x180 class CSchemaSystemInternalRegistration { public: - Vector2D m_Vector2D; // 0x0 - Vector m_Vector; // 0x8 - VectorAligned m_VectorAligned; // 0x20 - QuaternionAligned m_QuaternionAligned; // 0x30 - QAngle m_QAngle; // 0x40 - RotationVector m_RotationVector; // 0x4c - RadianEuler m_RadianEuler; // 0x58 - DegreeEuler m_DegreeEuler; // 0x64 - Quaternion m_Quaternion; // 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 + QuaternionAligned m_QuaternionAligned; // 0x30 + QAngle m_QAngle; // 0x40 + RotationVector m_RotationVector; // 0x4c + RadianEuler m_RadianEuler; // 0x58 + DegreeEuler m_DegreeEuler; // 0x64 + Quaternion m_Quaternion; // 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 }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class InfoForResourceTypeCResourceManifestInternal { public: -// + // no members available }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 struct ResourceId_t { public: - uint64_t m_nBoxedTypeSafeInt; // 0x0 + uint64_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CExampleSchemaVData_Monomorphic { public: - int32_t m_nExample1; // 0x0 - int32_t m_nExample2; // 0x4 + int32_t m_nExample1; // 0x0 + int32_t m_nExample2; // 0x4 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CExampleSchemaVData_PolymorphicBase { public: - int32_t m_nBase; // 0x8 + int32_t m_nBase; // 0x8 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CExampleSchemaVData_PolymorphicDerivedA : public CExampleSchemaVData_PolymorphicBase { public: - int32_t m_nDerivedA; // 0x10 + int32_t m_nDerivedA; // 0x10 }; -// Aligment: 1 -// Size: 24 +// 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 1d928dfe..eb221abe 100644 --- a/sdk/server.hpp +++ b/sdk/server.hpp @@ -2,14 +2,15 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: server.dll -// Class Count: 803 -// Enum Count: 162 -/////////////////////////////////////////// +// Classes count: 803 +// Enums count: 162 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class PointTemplateOwnerSpawnGroupType_t : uint32_t { INSERT_INTO_POINT_TEMPLATE_SPAWN_GROUP = 0x0, @@ -17,16 +18,16 @@ enum class PointTemplateOwnerSpawnGroupType_t : uint32_t INSERT_INTO_NEWLY_CREATED_SPAWN_GROUP = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class PointTemplateClientOnlyEntityBehavior_t : uint32_t { CREATE_FOR_CURRENTLY_CONNECTED_CLIENTS_ONLY = 0x0, CREATE_FOR_CLIENTS_WHO_CONNECT_LATER = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class PerformanceMode_t : uint32_t { PM_NORMAL = 0x0, @@ -35,8 +36,8 @@ enum class PerformanceMode_t : uint32_t PM_REDUCED_GIBS = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ChatIgnoreType_t : uint32_t { CHAT_IGNORE_NONE = 0x0, @@ -44,8 +45,8 @@ enum class ChatIgnoreType_t : uint32_t CHAT_IGNORE_TEAM = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class CommandExecMode_t : uint32_t { EXEC_MANUAL = 0x0, @@ -54,16 +55,16 @@ enum class CommandExecMode_t : uint32_t EXEC_MODES_COUNT = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class CommandEntitySpecType_t : uint32_t { SPEC_SEARCH = 0x0, SPEC_TYPES_COUNT = 0x1, }; -// Aligment: 4 -// Size: 84 +// Alignment: 4 +// Size: 0x54 enum class GameAnimEventIndex_t : uint32_t { AE_EMPTY = 0x0, @@ -152,8 +153,8 @@ enum class GameAnimEventIndex_t : uint32_t AE_SCRIPT_EVENT_CUSTOMINTERRUPT_END = 0x53, }; -// Aligment: 4 -// Size: 9 +// Alignment: 4 +// Size: 0x9 enum class ObserverMode_t : uint32_t { OBS_MODE_NONE = 0x0, @@ -167,8 +168,8 @@ enum class ObserverMode_t : uint32_t NUM_OBSERVER_MODES = 0x8, }; -// Aligment: 4 -// Size: 27 +// Alignment: 4 +// Size: 0x1b enum class RumbleEffect_t : uint32_t { RUMBLE_INVALID = 0xffffffffffffffff, @@ -200,8 +201,8 @@ enum class RumbleEffect_t : uint32_t NUM_RUMBLE_EFFECTS = 0x19, }; -// Aligment: 4 -// Size: 14 +// Alignment: 4 +// Size: 0xe enum class WeaponSound_t : uint32_t { WEAPON_SOUND_EMPTY = 0x0, @@ -220,8 +221,8 @@ enum class WeaponSound_t : uint32_t WEAPON_SOUND_NUM_TYPES = 0xd, }; -// Aligment: 4 -// Size: 1028 +// Alignment: 4 +// Size: 0x404 enum class BaseActivity_t : uint32_t { ACT_RESET = 0x0, @@ -1254,8 +1255,8 @@ enum class BaseActivity_t : uint32_t ACT_CSGO_TAUNT = 0x404, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class AmmoFlags_t : uint32_t { AMMO_FORCE_DROP_IF_CARRIED = 0x1, @@ -1263,26 +1264,26 @@ enum class AmmoFlags_t : uint32_t AMMO_FLAG_MAX = 0x2, }; -// Aligment: 2 -// Size: 12 +// Alignment: 2 +// Size: 0xc enum class TakeDamageFlags_t : uint16_t { - DFLAG_NONE = 0, - DFLAG_SUPPRESS_HEALTH_CHANGES = 1, - DFLAG_SUPPRESS_PHYSICS_FORCE = 2, - DFLAG_SUPPRESS_EFFECTS = 4, - DFLAG_PREVENT_DEATH = 8, - DFLAG_FORCE_DEATH = 16, - DFLAG_ALWAYS_GIB = 32, - DFLAG_NEVER_GIB = 64, - DFLAG_REMOVE_NO_RAGDOLL = 128, - DFLAG_SUPPRESS_DAMAGE_MODIFICATION = 256, - DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS = 512, - DMG_LASTDFLAG = 512, + DFLAG_NONE = 0x0, + DFLAG_SUPPRESS_HEALTH_CHANGES = 0x1, + DFLAG_SUPPRESS_PHYSICS_FORCE = 0x2, + DFLAG_SUPPRESS_EFFECTS = 0x4, + DFLAG_PREVENT_DEATH = 0x8, + DFLAG_FORCE_DEATH = 0x10, + DFLAG_ALWAYS_GIB = 0x20, + DFLAG_NEVER_GIB = 0x40, + DFLAG_REMOVE_NO_RAGDOLL = 0x80, + DFLAG_SUPPRESS_DAMAGE_MODIFICATION = 0x100, + DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS = 0x200, + DMG_LASTDFLAG = 0x200, }; -// Aligment: 4 -// Size: 22 +// Alignment: 4 +// Size: 0x16 enum class DamageTypes_t : uint32_t { DMG_GENERIC = 0x0, @@ -1309,8 +1310,8 @@ enum class DamageTypes_t : uint32_t DMG_LASTGENERICFLAG = 0x1000000, }; -// Aligment: 4 -// Size: 17 +// Alignment: 4 +// Size: 0x11 enum class BaseExplosionTypes_t : uint32_t { EXPLOSION_TYPE_DEFAULT = 0x0, @@ -1332,8 +1333,8 @@ enum class BaseExplosionTypes_t : uint32_t EXPLOSION_TYPE_COUNT = 0x10, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class HierarchyType_t : uint32_t { HIERARCHY_NONE = 0x0, @@ -1344,8 +1345,8 @@ enum class HierarchyType_t : uint32_t HIERARCHY_TYPE_COUNT = 0x5, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class CanPlaySequence_t : uint32_t { CANNOT_PLAY = 0x0, @@ -1353,8 +1354,8 @@ enum class CanPlaySequence_t : uint32_t CAN_PLAY_ENQUEUED = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ScriptedOnDeath_t : uint32_t { SS_ONDEATH_NOT_APPLICABLE = 0xffffffffffffffff, @@ -1363,9 +1364,9 @@ enum class ScriptedOnDeath_t : uint32_t SS_ONDEATH_ANIMATED_DEATH = 0x2, }; -// Aligment: 4 -// Size: 7 -enum class IChoreoServices::ScriptState_t : uint32_t +// Alignment: 4 +// Size: 0x7 +enum class IChoreoServices__ScriptState_t : uint32_t { SCRIPT_PLAYING = 0x0, SCRIPT_WAIT = 0x1, @@ -1376,9 +1377,9 @@ enum class IChoreoServices::ScriptState_t : uint32_t SCRIPT_CUSTOM_MOVE_TO_MARK = 0x6, }; -// Aligment: 4 -// Size: 7 -enum class IChoreoServices::ChoreoState_t : uint32_t +// Alignment: 4 +// Size: 0x7 +enum class IChoreoServices__ChoreoState_t : uint32_t { STATE_PRE_SCRIPT = 0x0, STATE_WAIT_FOR_SCRIPT = 0x1, @@ -1389,8 +1390,8 @@ enum class IChoreoServices::ChoreoState_t : uint32_t STATE_PLAY_SCRIPT_POST_IDLE_DONE = 0x6, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ShakeCommand_t : uint32_t { SHAKE_START = 0x0, @@ -1401,8 +1402,8 @@ enum class ShakeCommand_t : uint32_t SHAKE_START_NORUMBLE = 0x5, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class TimelineCompression_t : uint32_t { TIMELINE_COMPRESSION_SUM = 0x0, @@ -1412,8 +1413,8 @@ enum class TimelineCompression_t : uint32_t TIMELINE_COMPRESSION_TOTAL = 0x4, }; -// Aligment: 8 -// Size: 40 +// Alignment: 8 +// Size: 0x28 enum class DebugOverlayBits_t : uint64_t { OVERLAY_TEXT_BIT = 0x1, @@ -1458,55 +1459,55 @@ enum class DebugOverlayBits_t : uint64_t OVERLAY_NPC_CONDITIONS_TEXT_BIT = 0x8000000000, }; -// Aligment: 1 -// Size: 14 +// Alignment: 1 +// Size: 0xe enum class MoveType_t : uint8_t { - MOVETYPE_NONE = 0, - MOVETYPE_OBSOLETE = 1, - MOVETYPE_WALK = 2, - MOVETYPE_STEP = 3, - MOVETYPE_FLY = 4, - MOVETYPE_FLYGRAVITY = 5, - MOVETYPE_VPHYSICS = 6, - MOVETYPE_PUSH = 7, - MOVETYPE_NOCLIP = 8, - MOVETYPE_LADDER = 9, - MOVETYPE_OBSERVER = 10, - MOVETYPE_CUSTOM = 11, - MOVETYPE_LAST = 11, - MOVETYPE_MAX_BITS = 4, + MOVETYPE_NONE = 0x0, + MOVETYPE_OBSOLETE = 0x1, + MOVETYPE_WALK = 0x2, + MOVETYPE_STEP = 0x3, + MOVETYPE_FLY = 0x4, + MOVETYPE_FLYGRAVITY = 0x5, + MOVETYPE_VPHYSICS = 0x6, + MOVETYPE_PUSH = 0x7, + MOVETYPE_NOCLIP = 0x8, + MOVETYPE_LADDER = 0x9, + MOVETYPE_OBSERVER = 0xa, + MOVETYPE_CUSTOM = 0xb, + MOVETYPE_LAST = 0xb, + MOVETYPE_MAX_BITS = 0x4, }; -// Aligment: 1 -// Size: 6 +// Alignment: 1 +// Size: 0x6 enum class MoveCollide_t : uint8_t { - MOVECOLLIDE_DEFAULT = 0, - MOVECOLLIDE_FLY_BOUNCE = 1, - MOVECOLLIDE_FLY_CUSTOM = 2, - MOVECOLLIDE_FLY_SLIDE = 3, - MOVECOLLIDE_COUNT = 4, - MOVECOLLIDE_MAX_BITS = 3, + MOVECOLLIDE_DEFAULT = 0x0, + MOVECOLLIDE_FLY_BOUNCE = 0x1, + MOVECOLLIDE_FLY_CUSTOM = 0x2, + MOVECOLLIDE_FLY_SLIDE = 0x3, + MOVECOLLIDE_COUNT = 0x4, + MOVECOLLIDE_MAX_BITS = 0x3, }; -// Aligment: 1 -// Size: 9 +// Alignment: 1 +// Size: 0x9 enum class SolidType_t : uint8_t { - SOLID_NONE = 0, - SOLID_BSP = 1, - SOLID_BBOX = 2, - SOLID_OBB = 3, - SOLID_SPHERE = 4, - SOLID_POINT = 5, - SOLID_VPHYSICS = 6, - SOLID_CAPSULE = 7, - SOLID_LAST = 8, + SOLID_NONE = 0x0, + SOLID_BSP = 0x1, + SOLID_BBOX = 0x2, + SOLID_OBB = 0x3, + SOLID_SPHERE = 0x4, + SOLID_POINT = 0x5, + SOLID_VPHYSICS = 0x6, + SOLID_CAPSULE = 0x7, + SOLID_LAST = 0x8, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class BrushSolidities_e : uint32_t { BRUSHSOLID_TOGGLE = 0x0, @@ -1514,61 +1515,61 @@ enum class BrushSolidities_e : uint32_t BRUSHSOLID_ALWAYS = 0x2, }; -// Aligment: 1 -// Size: 13 +// Alignment: 1 +// Size: 0xd enum class RenderMode_t : uint8_t { - kRenderNormal = 0, - kRenderTransColor = 1, - kRenderTransTexture = 2, - kRenderGlow = 3, - kRenderTransAlpha = 4, - kRenderTransAdd = 5, - kRenderEnvironmental = 6, - kRenderTransAddFrameBlend = 7, - kRenderTransAlphaAdd = 8, - kRenderWorldGlow = 9, - kRenderNone = 10, - kRenderDevVisualizer = 11, - kRenderModeCount = 12, + kRenderNormal = 0x0, + kRenderTransColor = 0x1, + kRenderTransTexture = 0x2, + kRenderGlow = 0x3, + kRenderTransAlpha = 0x4, + kRenderTransAdd = 0x5, + kRenderEnvironmental = 0x6, + kRenderTransAddFrameBlend = 0x7, + kRenderTransAlphaAdd = 0x8, + kRenderWorldGlow = 0x9, + kRenderNone = 0xa, + kRenderDevVisualizer = 0xb, + kRenderModeCount = 0xc, }; -// Aligment: 1 -// Size: 20 +// Alignment: 1 +// Size: 0x14 enum class RenderFx_t : uint8_t { - kRenderFxNone = 0, - kRenderFxPulseSlow = 1, - kRenderFxPulseFast = 2, - kRenderFxPulseSlowWide = 3, - kRenderFxPulseFastWide = 4, - kRenderFxFadeSlow = 5, - kRenderFxFadeFast = 6, - kRenderFxSolidSlow = 7, - kRenderFxSolidFast = 8, - kRenderFxStrobeSlow = 9, - kRenderFxStrobeFast = 10, - kRenderFxStrobeFaster = 11, - kRenderFxFlickerSlow = 12, - kRenderFxFlickerFast = 13, - kRenderFxNoDissipation = 14, - kRenderFxFadeOut = 15, - kRenderFxFadeIn = 16, - kRenderFxPulseFastWider = 17, - kRenderFxGlowShell = 18, - kRenderFxMax = 19, + kRenderFxNone = 0x0, + kRenderFxPulseSlow = 0x1, + kRenderFxPulseFast = 0x2, + kRenderFxPulseSlowWide = 0x3, + kRenderFxPulseFastWide = 0x4, + kRenderFxFadeSlow = 0x5, + kRenderFxFadeFast = 0x6, + kRenderFxSolidSlow = 0x7, + kRenderFxSolidFast = 0x8, + kRenderFxStrobeSlow = 0x9, + kRenderFxStrobeFast = 0xa, + kRenderFxStrobeFaster = 0xb, + kRenderFxFlickerSlow = 0xc, + kRenderFxFlickerFast = 0xd, + kRenderFxNoDissipation = 0xe, + kRenderFxFadeOut = 0xf, + kRenderFxFadeIn = 0x10, + kRenderFxPulseFastWider = 0x11, + kRenderFxGlowShell = 0x12, + kRenderFxMax = 0x13, }; -// Aligment: 4 -// Size: 2 -enum class CRR_Response::ResponseEnum_t : uint32_t +// Alignment: 4 +// Size: 0x2 +enum class CRR_Response__ResponseEnum_t : uint32_t { MAX_RESPONSE_NAME = 0xc0, MAX_RULE_NAME = 0x80, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class LessonPanelLayoutFileTypes_t : uint32_t { LAYOUT_HAND_DEFAULT = 0x0, @@ -1576,8 +1577,8 @@ enum class LessonPanelLayoutFileTypes_t : uint32_t LAYOUT_CUSTOM = 0x2, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class Touch_t : uint32_t { touch_none = 0x0, @@ -1587,9 +1588,9 @@ enum class Touch_t : uint32_t touch_player_or_npc_or_physicsprop = 0x4, }; -// Aligment: 4 -// Size: 7 -enum class CGameChoreoServices::ChoreoState_t : uint32_t +// Alignment: 4 +// Size: 0x7 +enum class CGameChoreoServices__ChoreoState_t : uint32_t { STATE_PRE_SCRIPT = 0x0, STATE_WAIT_FOR_SCRIPT = 0x1, @@ -1600,8 +1601,8 @@ enum class CGameChoreoServices::ChoreoState_t : uint32_t STATE_PLAY_SCRIPT_POST_IDLE_DONE = 0x6, }; -// Aligment: 4 -// Size: 11 +// Alignment: 4 +// Size: 0xb enum class Hull_t : uint32_t { HULL_HUMAN = 0x0, @@ -1617,16 +1618,16 @@ enum class Hull_t : uint32_t HULL_NONE = 0xa, }; -// Aligment: 4 -// Size: 1 +// Alignment: 4 +// Size: 0x1 enum class navproperties_t : uint32_t { NAV_IGNORE = 0x1, }; -// Aligment: 4 -// Size: 4 -enum class CLogicBranchList::LogicBranchListenerLastState_t : uint32_t +// Alignment: 4 +// Size: 0x4 +enum class CLogicBranchList__LogicBranchListenerLastState_t : uint32_t { LOGIC_BRANCH_LISTENER_NOT_INIT = 0x0, LOGIC_BRANCH_LISTENER_ALL_TRUE = 0x1, @@ -1634,8 +1635,8 @@ enum class CLogicBranchList::LogicBranchListenerLastState_t : uint32_t LOGIC_BRANCH_LISTENER_MIXED = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class EntFinderMethod_t : uint32_t { ENT_FIND_METHOD_NEAREST = 0x0, @@ -1643,16 +1644,16 @@ enum class EntFinderMethod_t : uint32_t ENT_FIND_METHOD_RANDOM = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ValueRemapperInputType_t : uint32_t { InputType_PlayerShootPosition = 0x0, InputType_PlayerShootPositionAroundAxis = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ValueRemapperOutputType_t : uint32_t { OutputType_AnimationCycle = 0x0, @@ -1661,16 +1662,16 @@ enum class ValueRemapperOutputType_t : uint32_t OutputType_RotationZ = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ValueRemapperHapticsType_t : uint32_t { HaticsType_Default = 0x0, HaticsType_None = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ValueRemapperMomentumType_t : uint32_t { MomentumType_None = 0x0, @@ -1679,16 +1680,16 @@ enum class ValueRemapperMomentumType_t : uint32_t MomentumType_SpringAwayFromSnapValue = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ValueRemapperRatchetType_t : uint32_t { RatchetType_Absolute = 0x0, RatchetType_EachEngage = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class PointWorldTextJustifyHorizontal_t : uint32_t { POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_LEFT = 0x0, @@ -1696,8 +1697,8 @@ enum class PointWorldTextJustifyHorizontal_t : uint32_t POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class PointWorldTextJustifyVertical_t : uint32_t { POINT_WORLD_TEXT_JUSTIFY_VERTICAL_BOTTOM = 0x0, @@ -1705,16 +1706,16 @@ enum class PointWorldTextJustifyVertical_t : uint32_t POINT_WORLD_TEXT_JUSTIFY_VERTICAL_TOP = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class PointWorldTextReorientMode_t : uint32_t { POINT_WORLD_TEXT_REORIENT_NONE = 0x0, POINT_WORLD_TEXT_REORIENT_AROUND_UP = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class doorCheck_e : uint32_t { DOOR_CHECK_FORWARD = 0x0, @@ -1722,8 +1723,8 @@ enum class doorCheck_e : uint32_t DOOR_CHECK_FULL = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class PropDoorRotatingSpawnPos_t : uint32_t { DOOR_SPAWN_CLOSED = 0x0, @@ -1732,8 +1733,8 @@ enum class PropDoorRotatingSpawnPos_t : uint32_t DOOR_SPAWN_AJAR = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class PropDoorRotatingOpenDirection_e : uint32_t { DOOR_ROTATING_OPEN_BOTH_WAYS = 0x0, @@ -1741,24 +1742,24 @@ enum class PropDoorRotatingOpenDirection_e : uint32_t DOOR_ROTATING_OPEN_BACKWARD = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class SceneOnPlayerDeath_t : uint32_t { SCENE_ONPLAYERDEATH_DO_NOTHING = 0x0, SCENE_ONPLAYERDEATH_CANCEL = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ScriptedConflictResponse_t : uint32_t { SS_CONFLICT_ENQUEUE = 0x0, SS_CONFLICT_INTERRUPT = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class TRAIN_CODE : uint32_t { TRAIN_SAFE = 0x0, @@ -1766,8 +1767,8 @@ enum class TRAIN_CODE : uint32_t TRAIN_FOLLOWING = 0x2, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class TOGGLE_STATE : uint32_t { TS_AT_TOP = 0x0, @@ -1780,24 +1781,24 @@ enum class TOGGLE_STATE : uint32_t DOOR_CLOSING = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class FuncDoorSpawnPos_t : uint32_t { FUNC_DOOR_SPAWN_CLOSED = 0x0, FUNC_DOOR_SPAWN_OPEN = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class filter_t : uint32_t { FILTER_AND = 0x0, FILTER_OR = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class Explosions : uint32_t { expRandom = 0x0, @@ -1805,8 +1806,8 @@ enum class Explosions : uint32_t expUsePrecise = 0x2, }; -// Aligment: 4 -// Size: 12 +// Alignment: 4 +// Size: 0xc enum class Materials : uint32_t { matGlass = 0x0, @@ -1823,8 +1824,8 @@ enum class Materials : uint32_t matLastMaterial = 0xb, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class TrackOrientationType_t : uint32_t { TrackOrientation_Fixed = 0x0, @@ -1832,17 +1833,17 @@ enum class TrackOrientationType_t : uint32_t TrackOrientation_FacePathAngles = 0x2, }; -// Aligment: 4 -// Size: 3 -enum class SimpleConstraintSoundProfile::SimpleConstraintsSoundProfileKeypoints_t : uint32_t +// Alignment: 4 +// Size: 0x3 +enum class SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t : uint32_t { kMIN_THRESHOLD = 0x0, kMIN_FULL = 0x1, kHIGHWATER = 0x2, }; -// Aligment: 4 -// Size: 23 +// Alignment: 4 +// Size: 0x17 enum class SoundFlags_t : uint32_t { SOUND_NONE = 0x0, @@ -1870,8 +1871,8 @@ enum class SoundFlags_t : uint32_t ALL_SOUNDS = 0xfffff, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class TrainVelocityType_t : uint32_t { TrainVelocity_Instantaneous = 0x0, @@ -1879,8 +1880,8 @@ enum class TrainVelocityType_t : uint32_t TrainVelocity_EaseInEaseOut = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class TrainOrientationType_t : uint32_t { TrainOrientation_Fixed = 0x0, @@ -1889,8 +1890,8 @@ enum class TrainOrientationType_t : uint32_t TrainOrientation_EaseInEaseOut = 0x3, }; -// Aligment: 4 -// Size: 21 +// Alignment: 4 +// Size: 0x15 enum class sound_states : uint32_t { SS_NONE = 0x0, @@ -1916,8 +1917,8 @@ enum class sound_states : uint32_t SS_NUM_STATES = 0x14, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class BeamType_t : uint32_t { BEAM_INVALID = 0x0, @@ -1929,8 +1930,8 @@ enum class BeamType_t : uint32_t BEAM_LASER = 0x6, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class BeamClipStyle_t : uint32_t { kNOCLIP = 0x0, @@ -1939,70 +1940,70 @@ enum class BeamClipStyle_t : uint32_t kBEAMCLIPSTYLE_NUMBITS = 0x2, }; -// Aligment: 1 -// Size: 9 +// Alignment: 1 +// Size: 0x9 enum class SurroundingBoundsType_t : uint8_t { - USE_OBB_COLLISION_BOUNDS = 0, - USE_BEST_COLLISION_BOUNDS = 1, - USE_HITBOXES = 2, - USE_SPECIFIED_BOUNDS = 3, - USE_GAME_CODE = 4, - USE_ROTATION_EXPANDED_BOUNDS = 5, - USE_COLLISION_BOUNDS_NEVER_VPHYSICS = 6, - USE_ROTATION_EXPANDED_SEQUENCE_BOUNDS = 7, - SURROUNDING_TYPE_BIT_COUNT = 3, + USE_OBB_COLLISION_BOUNDS = 0x0, + USE_BEST_COLLISION_BOUNDS = 0x1, + USE_HITBOXES = 0x2, + USE_SPECIFIED_BOUNDS = 0x3, + USE_GAME_CODE = 0x4, + USE_ROTATION_EXPANDED_BOUNDS = 0x5, + USE_COLLISION_BOUNDS_NEVER_VPHYSICS = 0x6, + USE_ROTATION_EXPANDED_SEQUENCE_BOUNDS = 0x7, + SURROUNDING_TYPE_BIT_COUNT = 0x3, }; -// Aligment: 1 -// Size: 2 +// Alignment: 1 +// Size: 0x2 enum class ShatterPanelMode : uint8_t { - SHATTER_GLASS = 0, - SHATTER_DRYWALL = 1, + SHATTER_GLASS = 0x0, + SHATTER_DRYWALL = 0x1, }; -// Aligment: 1 -// Size: 5 +// Alignment: 1 +// Size: 0x5 enum class ShatterDamageCause : uint8_t { - SHATTERDAMAGE_BULLET = 0, - SHATTERDAMAGE_MELEE = 1, - SHATTERDAMAGE_THROWN = 2, - SHATTERDAMAGE_SCRIPT = 3, - SHATTERDAMAGE_EXPLOSIVE = 4, + SHATTERDAMAGE_BULLET = 0x0, + SHATTERDAMAGE_MELEE = 0x1, + SHATTERDAMAGE_THROWN = 0x2, + SHATTERDAMAGE_SCRIPT = 0x3, + SHATTERDAMAGE_EXPLOSIVE = 0x4, }; -// Aligment: 1 -// Size: 5 +// Alignment: 1 +// Size: 0x5 enum class ShatterGlassStressType : uint8_t { - SHATTERGLASS_BLUNT = 0, - SHATTERGLASS_BALLISTIC = 1, - SHATTERGLASS_PULSE = 2, - SHATTERDRYWALL_CHUNKS = 3, - SHATTERGLASS_EXPLOSIVE = 4, + SHATTERGLASS_BLUNT = 0x0, + SHATTERGLASS_BALLISTIC = 0x1, + SHATTERGLASS_PULSE = 0x2, + SHATTERDRYWALL_CHUNKS = 0x3, + SHATTERGLASS_EXPLOSIVE = 0x4, }; -// Aligment: 1 -// Size: 3 +// Alignment: 1 +// Size: 0x3 enum class OnFrame : uint8_t { - ONFRAME_UNKNOWN = 0, - ONFRAME_TRUE = 1, - ONFRAME_FALSE = 2, + ONFRAME_UNKNOWN = 0x0, + ONFRAME_TRUE = 0x1, + ONFRAME_FALSE = 0x2, }; -// Aligment: 1 -// Size: 2 +// Alignment: 1 +// Size: 0x2 enum class ShardSolid_t : uint8_t { - SHARD_SOLID = 0, - SHARD_DEBRIS = 1, + SHARD_SOLID = 0x0, + SHARD_DEBRIS = 0x1, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class PoseController_FModType_t : uint32_t { POSECONTROLLER_FMODTYPE_NONE = 0x0, @@ -2014,8 +2015,8 @@ enum class PoseController_FModType_t : uint32_t POSECONTROLLER_FMODTYPE_TOTAL = 0x6, }; -// Aligment: 4 -// Size: 9 +// Alignment: 4 +// Size: 0x9 enum class EntitySubclassScope_t : uint32_t { SUBCLASS_SCOPE_NONE = 0xffffffffffffffff, @@ -2029,8 +2030,8 @@ enum class EntitySubclassScope_t : uint32_t SUBCLASS_SCOPE_COUNT = 0x7, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class SubclassVDataChangeType_t : uint32_t { SUBCLASS_VDATA_CREATED = 0x0, @@ -2038,8 +2039,8 @@ enum class SubclassVDataChangeType_t : uint32_t SUBCLASS_VDATA_RELOADED = 0x2, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class PlayerConnectedState : uint32_t { PlayerNeverConnected = 0xffffffffffffffff, @@ -2050,8 +2051,8 @@ enum class PlayerConnectedState : uint32_t PlayerDisconnected = 0x4, }; -// Aligment: 4 -// Size: 16 +// Alignment: 4 +// Size: 0x10 enum class vote_create_failed_t : uint32_t { VOTE_FAILED_GENERIC = 0x0, @@ -2072,8 +2073,8 @@ enum class vote_create_failed_t : uint32_t VOTE_FAILED_MAX = 0xf, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class WeaponState_t : uint32_t { WEAPON_NOT_CARRIED = 0x0, @@ -2081,23 +2082,23 @@ enum class WeaponState_t : uint32_t WEAPON_IS_ACTIVE = 0x2, }; -// Aligment: 1 -// Size: 9 +// Alignment: 1 +// Size: 0x9 enum class ItemFlagTypes_t : uint8_t { - ITEM_FLAG_NONE = 0, - ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO = 1, - ITEM_FLAG_NOAUTORELOAD = 2, - ITEM_FLAG_NOAUTOSWITCHEMPTY = 4, - ITEM_FLAG_LIMITINWORLD = 8, - ITEM_FLAG_EXHAUSTIBLE = 16, - ITEM_FLAG_DOHITLOCATIONDMG = 32, - ITEM_FLAG_NOAMMOPICKUPS = 64, - ITEM_FLAG_NOITEMPICKUP = 128, + ITEM_FLAG_NONE = 0x0, + ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO = 0x1, + ITEM_FLAG_NOAUTORELOAD = 0x2, + ITEM_FLAG_NOAUTOSWITCHEMPTY = 0x4, + ITEM_FLAG_LIMITINWORLD = 0x8, + ITEM_FLAG_EXHAUSTIBLE = 0x10, + ITEM_FLAG_DOHITLOCATIONDMG = 0x20, + ITEM_FLAG_NOAMMOPICKUPS = 0x40, + ITEM_FLAG_NOITEMPICKUP = 0x80, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class EntityDisolveType_t : uint32_t { ENTITY_DISSOLVE_INVALID = 0xffffffffffffffff, @@ -2107,8 +2108,8 @@ enum class EntityDisolveType_t : uint32_t ENTITY_DISSOLVE_CORE = 0x3, }; -// Aligment: 4 -// Size: 13 +// Alignment: 4 +// Size: 0xd enum class HitGroup_t : uint32_t { HITGROUP_INVALID = 0xffffffffffffffff, @@ -2126,8 +2127,8 @@ enum class HitGroup_t : uint32_t HITGROUP_SPECIAL = 0xb, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class DoorState_t : uint32_t { DOOR_STATE_CLOSED = 0x0, @@ -2137,16 +2138,16 @@ enum class DoorState_t : uint32_t DOOR_STATE_AJAR = 0x4, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ShadowType_t : uint32_t { SHADOWS_NONE = 0x0, SHADOWS_SIMPLE = 0x1, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class Class_T : uint32_t { CLASS_NONE = 0x0, @@ -2159,8 +2160,8 @@ enum class Class_T : uint32_t NUM_CLASSIFY_CLASSES = 0x7, }; -// Aligment: 4 -// Size: 10 +// Alignment: 4 +// Size: 0xa enum class Disposition_t : uint32_t { D_ER = 0x0, @@ -2175,8 +2176,8 @@ enum class Disposition_t : uint32_t D_NEUTRAL = 0x4, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class LatchDirtyPermission_t : uint32_t { LATCH_DIRTY_DISALLOW = 0x0, @@ -2187,8 +2188,8 @@ enum class LatchDirtyPermission_t : uint32_t LATCH_DIRTY_PARTICLE_SIMULATE = 0x5, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class LifeState_t : uint32_t { LIFE_ALIVE = 0x0, @@ -2198,8 +2199,8 @@ enum class LifeState_t : uint32_t LIFE_RESPAWNING = 0x4, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class StanceType_t : uint32_t { STANCE_CURRENT = 0xffffffffffffffff, @@ -2208,16 +2209,16 @@ enum class StanceType_t : uint32_t NUM_STANCES = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ModifyDamageReturn_t : uint32_t { CONTINUE_TO_APPLY_DAMAGE = 0x0, ABORT_DO_NOT_APPLY_DAMAGE = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class WorldTextPanelHorizontalAlign_t : uint32_t { WORLDTEXT_HORIZONTAL_ALIGN_LEFT = 0x0, @@ -2225,8 +2226,8 @@ enum class WorldTextPanelHorizontalAlign_t : uint32_t WORLDTEXT_HORIZONTAL_ALIGN_RIGHT = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class WorldTextPanelVerticalAlign_t : uint32_t { WORLDTEXT_VERTICAL_ALIGN_TOP = 0x0, @@ -2234,8 +2235,8 @@ enum class WorldTextPanelVerticalAlign_t : uint32_t WORLDTEXT_VERTICAL_ALIGN_BOTTOM = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class WorldTextPanelOrientation_t : uint32_t { WORLDTEXT_ORIENTATION_DEFAULT = 0x0, @@ -2243,8 +2244,8 @@ enum class WorldTextPanelOrientation_t : uint32_t WORLDTEXT_ORIENTATION_FACEUSER_UPRIGHT = 0x2, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class WorldTextAttachmentType_t : uint32_t { ATTACHED_NONE = 0x0, @@ -2256,8 +2257,8 @@ enum class WorldTextAttachmentType_t : uint32_t ATTACHED_HAND_SPECIFIED_IN_EVENT = 0x6, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class AI_Efficiency_t : uint32_t { AIE_NORMAL = 0x0, @@ -2267,16 +2268,16 @@ enum class AI_Efficiency_t : uint32_t AIE_DORMANT = 0x4, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class AI_MoveEfficiency_t : uint32_t { AIME_NORMAL = 0x0, AIME_EFFICIENT = 0x1, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class AI_SleepState_t : uint32_t { AISS_AWAKE = 0x0, @@ -2287,8 +2288,8 @@ enum class AI_SleepState_t : uint32_t AISS_AUTO_PVS_AFTER_PVS = 0x5, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class NPC_STATE : uint32_t { NPC_STATE_INVALID = 0xffffffffffffffff, @@ -2301,8 +2302,8 @@ enum class NPC_STATE : uint32_t NUM_NPC_STATES = 0x6, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class Flinch_DamageClasses_t : uint32_t { AGE_DMG_INVALID = 0xffffffffffffffff, @@ -2314,16 +2315,16 @@ enum class Flinch_DamageClasses_t : uint32_t AGE_DMG_SHOCK = 0x5, }; -// Aligment: 4 -// Size: 2 -enum class CAI_GoalEntity::SearchType_t : uint32_t +// Alignment: 4 +// Size: 0x2 +enum class CAI_GoalEntity__SearchType_t : uint32_t { ST_ENTNAME = 0x0, ST_CLASSNAME = 0x1, }; -// Aligment: 4 -// Size: 63 +// Alignment: 4 +// Size: 0x3f enum class Hint_e : uint32_t { HINT_ANY = 0xffffffffffffffff, @@ -2391,8 +2392,8 @@ enum class Hint_e : uint32_t HINT_HOLDOUT_AMMO_RESUPPLY = 0x709, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class HintIgnoreFacing_t : uint32_t { HIF_NO = 0x0, @@ -2400,8 +2401,8 @@ enum class HintIgnoreFacing_t : uint32_t HIF_DEFAULT = 0x2, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class GoalType_t : uint32_t { GOALTYPE_NONE = 0x0, @@ -2413,16 +2414,16 @@ enum class GoalType_t : uint32_t GOALTYPE_INVALID = 0x6, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class EAIScheduleFlags : uint32_t { SCHEDULE_FLAGS_NONE = 0x0, SCHEDULE_FLAGS_ABILITY = 0x1, }; -// Aligment: 4 -// Size: 11 +// Alignment: 4 +// Size: 0xb enum class SquadSlotId_t : uint32_t { SQUAD_SLOT_NONE = 0xffffffffffffffff, @@ -2438,8 +2439,8 @@ enum class SquadSlotId_t : uint32_t SQUAD_SLOT_COUNT = 0x9, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class TaskStatus_e : uint32_t { TASKSTATUS_NEW = 0x0, @@ -2449,34 +2450,34 @@ enum class TaskStatus_e : uint32_t TASKSTATUS_COMPLETE = 0x4, }; -// Aligment: 4 -// Size: 3 -enum class CBaseNPCMaker::ThreeStateYesNo_t : uint32_t +// Alignment: 4 +// Size: 0x3 +enum class CBaseNPCMaker__ThreeStateYesNo_t : uint32_t { TS_YN_YES = 0x0, TS_YN_NO = 0x1, TS_YN_DONT_CARE = 0x2, }; -// Aligment: 4 -// Size: 3 -enum class CBaseNPCMaker::ThreeStateDist_t : uint32_t +// Alignment: 4 +// Size: 0x3 +enum class CBaseNPCMaker__ThreeStateDist_t : uint32_t { TS_DIST_NEAREST = 0x0, TS_DIST_FARTHEST = 0x1, TS_DIST_DONT_CARE = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class TestHullMode_t : uint32_t { TEST_HULL_EVER_PASSABLE = 0x0, TEST_HULL_CURRENTLY_PASSABLE = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class NPCAbilityCategory_t : uint32_t { NPC_ABILITY_CATEGORY_INVALID = 0xffffffffffffffff, @@ -2485,16 +2486,16 @@ enum class NPCAbilityCategory_t : uint32_t NPC_ABILITY_CATEGORY_OTHER = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class NPCAbilityUsageQuery_t : uint32_t { NPC_ABILITY_ONLY_BEING_PERFORMED = 0x0, NPC_ABILITY_PERFORMING_OR_RESOLUTION = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class TargetOriginType_t : uint32_t { eTargetOriginType_AbsOrigin = 0x0, @@ -2503,16 +2504,16 @@ enum class TargetOriginType_t : uint32_t eTargetOriginType_LastSeenPosition = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class AbilityPathType_t : uint32_t { eAbilityPathType_None = 0x0, eAbilityPathType_Target = 0x1, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class AbilityPickupBehaviorType_t : uint32_t { eAbilityPickupBehavior_GrantDroppedAmmo = 0x0, @@ -2522,8 +2523,8 @@ enum class AbilityPickupBehaviorType_t : uint32_t eAbilityPickupBehavior_GrantPlayerWeapon = 0x4, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class AbilityDropBehaviorType_t : uint32_t { eAbilityDropBehavior_AddIntAttributeToAbilityModel = 0x0, @@ -2531,8 +2532,8 @@ enum class AbilityDropBehaviorType_t : uint32_t eAbilityDropBehavior_SetGravityScale = 0x2, }; -// Aligment: 4 -// Size: 7 +// Alignment: 4 +// Size: 0x7 enum class BodyLocations_t : uint32_t { BODYLOC_INVALID = 0xffffffffffffffff, @@ -2544,8 +2545,8 @@ enum class BodyLocations_t : uint32_t NUM_BODYLOCS = 0x5, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class BodyLocationAnimgraphAttachments_t : uint32_t { BODYLOC_PITCH_MIDDLE = 0x0, @@ -2554,22 +2555,22 @@ enum class BodyLocationAnimgraphAttachments_t : uint32_t NUM_BODYLOC_PITCH = 0x3, }; -// Aligment: 4 -// Size: 1 +// Alignment: 4 +// Size: 0x1 enum class PoseParameter_t : uint32_t { POSE_END = 0x7fffffff, }; -// Aligment: 4 -// Size: 1 +// Alignment: 4 +// Size: 0x1 enum class FlexWeight_t : uint32_t { FLEX_END = 0x7fffffff, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ActorClasses_t : uint32_t { ACTOR_CLASS_DEFAULT = 0x0, @@ -2578,8 +2579,8 @@ enum class ActorClasses_t : uint32_t ACTOR_CLASS_COUNT = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class Interruptability_t : uint32_t { GENERAL_INTERRUPTABILITY = 0x0, @@ -2588,16 +2589,16 @@ enum class Interruptability_t : uint32_t COMBAT_INTERRUPTABILITY = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class RagdollBlendDirection : uint32_t { RAGDOLL_BLEND_IN = 0x0, RAGDOLL_BLEND_OUT = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class Flinch_Direction_t : uint32_t { FLINCH_DIR_NORTH = 0x0, @@ -2606,8 +2607,8 @@ enum class Flinch_Direction_t : uint32_t FLINCH_DIR_WEST = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class Flinch_Displacement_t : uint32_t { FLINCH_DISP_STATIONARY = 0x0, @@ -2615,8 +2616,8 @@ enum class Flinch_Displacement_t : uint32_t FLINCH_DISP_LARGE = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class DesiredWeaponState_t : uint32_t { DESIREDWEAPONSTATE_IGNORE = 0x0, @@ -2625,8 +2626,8 @@ enum class DesiredWeaponState_t : uint32_t DESIREDWEAPONSTATE_UNHOLSTERED = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class InternalWeaponState_t : uint32_t { INTERNALWEAPONSTATE_HOLSTERED = 0x0, @@ -2635,8 +2636,8 @@ enum class InternalWeaponState_t : uint32_t INTERNALWEAPONSTATE_CHANGING_DESTROY = 0x3, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class WeaponStateMode_t : uint32_t { WSM_AI = 0x0, @@ -2645,9 +2646,9 @@ enum class WeaponStateMode_t : uint32_t WSM_FORCED_HOLSTERED_DESTROY = 0x3, }; -// Aligment: 4 -// Size: 4 -enum class CAI_TrackPather::PauseState_t : uint32_t +// Alignment: 4 +// Size: 0x4 +enum class CAI_TrackPather__PauseState_t : uint32_t { PAUSE_NO_PAUSE = 0x0, PAUSED_AT_POSITION = 0x1, @@ -2655,9 +2656,9 @@ enum class CAI_TrackPather::PauseState_t : uint32_t PAUSE_FORCE_DWORD = 0xffffffffffffffff, }; -// Aligment: 4 -// Size: 6 -enum class CAI_StandoffGoal::Aggressiveness_t : uint32_t +// Alignment: 4 +// Size: 0x6 +enum class CAI_StandoffGoal__Aggressiveness_t : uint32_t { AGGR_VERY_LOW = 0x0, AGGR_LOW = 0x1, @@ -2667,8 +2668,8 @@ enum class CAI_StandoffGoal::Aggressiveness_t : uint32_t AGGR_CUSTOM = 0x5, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class AI_HintChangeReaction_t : uint32_t { AIHCR_DEFAULT_AI = 0x0, @@ -2676,8 +2677,8 @@ enum class AI_HintChangeReaction_t : uint32_t AIHCR_MOVE_IMMEDIATE = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class AI_Posture_t : uint32_t { AIP_INDIFFERENT = 0x0, @@ -2686,16 +2687,16 @@ enum class AI_Posture_t : uint32_t AIP_PEEKING = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ScriptedMovementType_t : uint32_t { SCRIPT_WALK = 0x0, SCRIPT_RUN = 0x1, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class NPCAbilityTaskPhase_t : uint32_t { TASK_PRE_ATTACK = 0x0, @@ -2703,8 +2704,8 @@ enum class NPCAbilityTaskPhase_t : uint32_t TASK_POST_ATTACK = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class NPCAbilityTaskHandling_t : uint32_t { TASK_START = 0x0, @@ -2712,8 +2713,8 @@ enum class NPCAbilityTaskHandling_t : uint32_t TASK_END = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class NPCAbilityLOSMethod_t : uint32_t { NPC_ABILITY_LOS_IGNORE = 0x0, @@ -2722,16 +2723,16 @@ enum class NPCAbilityLOSMethod_t : uint32_t NPC_ABILITY_LOS_TEST_FRIENDLIES_ONLY = 0x3, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class GatherConditionsResult_t : uint32_t { GATHER_CONDITIONS_CANNOT_USE_ABILITY = 0x0, GATHER_CONDITIONS_CAN_USE_ABILITY = 0x1, }; -// Aligment: 4 -// Size: 11 +// Alignment: 4 +// Size: 0xb enum class NPCAbilitySound_t : uint32_t { NPC_ABILITY_SOUND_EMPTY = 0x0, @@ -2747,16 +2748,16 @@ enum class NPCAbilitySound_t : uint32_t NPC_ABILITY_SOUND_NUM_TYPES = 0xa, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class ENPCAbilityMeleeAttackEvaluationTest : uint32_t { NPC_ABILITY_MELEE_ATTACK_EVAL_TEST_HULL = 0x0, NPC_ABILITY_MELEE_ATTACK_EVAL_TEST_LOS = 0x1, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ModifierRemoveTargets_t : uint32_t { MODIFIER_REMOVE_ALL = 0x0, @@ -2765,8 +2766,8 @@ enum class ModifierRemoveTargets_t : uint32_t MODIFIER_REMOVE_INTRINSIC = 0x3, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class ModifierAttribute_t : uint32_t { MODIFIER_ATTRIBUTE_NONE = 0x0, @@ -2779,8 +2780,8 @@ enum class ModifierAttribute_t : uint32_t MODIFIER_ATTRIBUTE_TRANSFER_TO_RAGDOLL = 0x40, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ModifierDisableGroup_t : uint32_t { MODIFIER_DISABLE_GROUP_MIN = 0x0, @@ -2790,8 +2791,8 @@ enum class ModifierDisableGroup_t : uint32_t MODIFIER_DISABLE_GROUP_MAX = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class EModifierScriptVariantType : uint32_t { MODIFIER_SCRIPT_VARIANT_MODIFIER_FLOAT = 0x0, @@ -2799,8 +2800,8 @@ enum class EModifierScriptVariantType : uint32_t MODIFIER_SCRIPT_VARIANT_PARTICLE = 0x2, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class ModifierSoundRecipients_t : uint32_t { MODIFIER_SOUND_RECIPIENT_ALWAYS = 0x0, @@ -2809,8 +2810,8 @@ enum class ModifierSoundRecipients_t : uint32_t MODIFIER_SOUND_RECIPIENT_PARENT_ON_OPPOSITE_TEAM_AS_LOCAL_PLAYER = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ModifierDebuffType_t : uint32_t { MODIFIER_DEBUFF_ENEMY_TEAM_ONLY = 0x0, @@ -2818,8 +2819,8 @@ enum class ModifierDebuffType_t : uint32_t MODIFIER_DEBUFF_NO = 0x2, }; -// Aligment: 4 -// Size: 18 +// Alignment: 4 +// Size: 0x12 enum class EModifierValue : uint32_t { MODIFIER_VALUE_MATERIAL_OVERRIDE = 0x0, @@ -2842,8 +2843,8 @@ enum class EModifierValue : uint32_t MODIFIER_VALUE_INVALID = 0xff, }; -// Aligment: 4 -// Size: 17 +// Alignment: 4 +// Size: 0x11 enum class EModifierEvent : uint32_t { MODIFIER_EVENT_PRE_DAMAGE_TAKEN_BROADCAST = 0x0, @@ -2865,8 +2866,8 @@ enum class EModifierEvent : uint32_t MODIFIER_EVENT_INVALID = 0xff, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class EModifierScriptedEvent : uint32_t { MODIFIER_SCRIPTED_EVENT_INVALID = 0x0, @@ -2874,8 +2875,8 @@ enum class EModifierScriptedEvent : uint32_t MODIFIER_SCRIPTED_EVENT_COUNT = 0x2, }; -// Aligment: 4 -// Size: 11 +// Alignment: 4 +// Size: 0xb enum class EModifierState : uint32_t { MODIFIER_STATE_MATERIAL_OVERRIDE = 0x0, @@ -2891,8 +2892,8 @@ enum class EModifierState : uint32_t MODIFIER_STATE_INVALID = 0xff, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class ModifierVariantType_t : uint32_t { Variant_Null = 0x0, @@ -2902,8 +2903,8 @@ enum class ModifierVariantType_t : uint32_t Variant_Vector = 0x4, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class EModifierPriority : uint32_t { MODIFIER_PRIORITY_LOW = 0x0, @@ -2913,8 +2914,8 @@ enum class EModifierPriority : uint32_t MODIFIER_PRIORITY_SUPER_ULTRA = 0x4, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class eDryEraseMarkerType : uint32_t { k_DRY_ERASE_MARKER_ROUND_TIP = 0x0, @@ -2927,8 +2928,8 @@ enum class eDryEraseMarkerType : uint32_t k_DRY_ERASE_MARKER_COUNT = 0x7, }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class Steampal_TurretType_t : uint32_t { STEAMPAL_TURRETTYPE_BADTURRET = 0x0, @@ -2937,17 +2938,17 @@ enum class Steampal_TurretType_t : uint32_t STEAMPAL_TURRETTYPE_INTROTURRET = 0x3, }; -// Aligment: 4 -// Size: 3 -enum class CSteamPal_Intro_Toilet::TestState_t : uint32_t +// Alignment: 4 +// Size: 0x3 +enum class CSteamPal_Intro_Toilet__TestState_t : uint32_t { TEST_UNTESTED = 0x0, TEST_PASS = 0x1, TEST_FAIL = 0x2, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class SteampalUltraToiletGunType_t : uint32_t { ULTRA_GUN_MINIGUN = 0x0, @@ -2960,8 +2961,8 @@ enum class SteampalUltraToiletGunType_t : uint32_t ULTRA_GUN_TYPE_COUNT = 0x7, }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 enum class SteampalUltraToiletAttachedModel_t : uint32_t { ULTRA_ATTACHMENT_AAGUN_L = 0x0, @@ -2974,17 +2975,17 @@ enum class SteampalUltraToiletAttachedModel_t : uint32_t ULTRA_ATTACHED_MODEL_COUNT = 0x7, }; -// Aligment: 4 -// Size: 3 -enum class CSteamPalConveyorEntitySpawner::SpawnOrder_t : uint32_t +// Alignment: 4 +// Size: 0x3 +enum class CSteamPalConveyorEntitySpawner__SpawnOrder_t : uint32_t { SPAWN_ORDER_SEQUENTIAL = 0x0, SPAWN_ORDER_RANDOM = 0x1, SPAWN_ORDER_RANDOM_SHUFFLE = 0x2, }; -// Aligment: 4 -// Size: 13 +// Alignment: 4 +// Size: 0xd enum class DeskButtonGroups_t : uint32_t { DESK_BUTTON_GROUP_BUMPERS = 0x0, @@ -3002,8 +3003,8 @@ enum class DeskButtonGroups_t : uint32_t DESK_BUTTON_GROUP_COUNT = 0xc, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class DeskDeployButtonGroups_t : uint32_t { DESK_DEPLOY_BUTTON_GROUP_MICS = 0x0, @@ -3011,8 +3012,8 @@ enum class DeskDeployButtonGroups_t : uint32_t DESK_DEPLOY_BUTTON_GROUP_COUNT = 0x2, }; -// Aligment: 4 -// Size: 11 +// Alignment: 4 +// Size: 0xb enum class DeskState_t : uint32_t { DESK_STATE_NONE = 0x0, @@ -3028,8 +3029,8 @@ enum class DeskState_t : uint32_t DESK_STATE_BUTTONS_TOILET_OUTRO = 0xa, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class SteamPalPaintType : uint32_t { STEAMPAL_PAINT_BOUNCE = 0x0, @@ -3037,8 +3038,8 @@ enum class SteamPalPaintType : uint32_t STEAMPAL_PAINT_POWER_TYPE_COUNT = 0x2, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class SteamPal_Projectile_Tag_Marker_Type_t : uint32_t { STEAMPAL_PROJECTILE_TAG_MARKER_WORLD = 0x0, @@ -3049,8 +3050,8 @@ enum class SteamPal_Projectile_Tag_Marker_Type_t : uint32_t STEAMPAL_PROJECTILE_TAG_MARKER_TYPE_COUNT = 0x5, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class ApplianceWeaponState : uint32_t { APPLIANCE_WEAPON_CLOSED = 0x0, @@ -3061,8 +3062,8 @@ enum class ApplianceWeaponState : uint32_t APPLIANCE_WEAPON_CLOSING = 0x5, }; -// Aligment: 4 -// Size: 9 +// Alignment: 4 +// Size: 0x9 enum class AttachType_t : uint32_t { ATTACH_TYPE_NONE = 0xffffffffffffffff, @@ -3076,8 +3077,8 @@ enum class AttachType_t : uint32_t ATTACH_TYPE_LOCKED = 0x7, }; -// Aligment: 4 -// Size: 19 +// Alignment: 4 +// Size: 0x13 enum class NavAttributeEnum : uint32_t { NAV_MESH_AVOID = 0x80, @@ -3101,8 +3102,8 @@ enum class NavAttributeEnum : uint32_t NAV_ATTR_LAST_INDEX = 0x1f, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class NavDirType : uint32_t { NORTH = 0x0, @@ -3112,470 +3113,662 @@ enum class NavDirType : uint32_t NUM_DIRECTIONS = 0x4, }; -// Aligment: 1 -// Size: 416 +struct CSkillFloat; +struct CNetworkVarChainer; +struct fogplayerparams_t; +struct audioparams_t; +struct CRangeInt; +struct CRangeFloat; +struct CNetworkedSequenceOperation; +struct CBaseAnimatingEasingFloat_t; +struct ModelConfigHandle_t; +struct CEntityInstance; +struct CGameSceneNode; +struct CGameSceneNodeHandle; +struct CNetworkOriginCellCoordQuantizedVector; +struct CSkeletonInstance; +struct HSequence; +struct CModelState; +struct CNetworkedIKContext; +struct ResponseFollowup; +struct ResponseParams; +struct CRR_Response; +struct CBaseFlex; +struct CResponseCriteriaSet; +struct CSoundEnvelope; +struct CCopyRecipientFilter; +struct CFourWheelServerVehicle; +struct vehicle_controlparams_t; +struct VelocitySampler; +struct SimpleConstraintSoundProfile; +struct ParticleIndex_t; +struct AttachmentHandle_t; +struct VPhysicsCollisionAttribute_t; +struct CEntityIOOutput; +struct fogparams_t; +struct CBaseAnimatingController; +struct AmmoIndex_t; +struct CTakeDamageInfo; +struct CTakeDamageResult; +struct CBaseAnimating; +struct ViewLockData_t; +struct CFootstepTableHandle; +struct CSkillInt; +struct CAI_BehaviorBase; +struct CAI_DefaultNPC; +struct AIScheduleState_t; +struct CSimTimer; +struct CAI_MoveMonitor; +struct AI_FreePassParams_t; +struct ChangeAccessorFieldPathIndex_t; +struct ConditionId_t; +struct AbilityLOSResult_t; +struct CAI_ScheduleBits; +struct AWS_AbilityUsageData_t; +struct NPCAbilityTarget_t; +struct BodyLocationListVData_t; +struct CSimpleSimTimer; +struct CRandStopwatch; +struct CRandSimTimer; +struct AI_StandoffParams_t; +struct CSkillDamage; +struct CModifierLevelFloat; +struct ModifierSerialNumber_t; +struct CModifierHandleBase; +struct ModifierQueuedRefreshHandle_t; +struct ModifierRuntimeHandle_t; +struct ModifierPropRuntimeHandle_t; +struct CSteamPal_Turret_Wing_t; +struct CSteamPal_Ultra_Toilet_Gun_VData_t; +struct CEntityIdentity; +struct CScriptComponent; +struct CAnimGraphNetworkedVariables; +struct CSequenceTransitioner2; +struct CBaseAnimatingOverlayController; +struct CBodyComponent; +struct CNetworkTransmitComponent; +struct CNetworkVelocityVector; +struct CCollisionProperty; +struct CModifierProperty; +struct CountdownTimer; +struct sky3dparams_t; +struct CSkyCamera; +struct CBaseEntity; +struct vehiclesounds_t; +struct ragdoll_t; +struct LastIncomingHit_t; +struct HintNodeData; +struct HullFlags_t; +struct CAI_ProxTester; +struct HitscanGatherData_t; +struct ModifierTrackedParticle_t; +struct ModifierRenderAttribute_t; +struct ModifierTrackedGraphParameter_t; +struct ModifierTrackedSound_t; +struct ModifierTrackedBodyGroup_t; +struct CSteamPalGameRules; +struct CPointCamera; +struct CRenderComponent; +struct CGlowProperty; +struct CNetworkViewOffsetVector; +struct CEnvWindShared; +struct CPhysicsShake; +struct hudtextparms_t; +struct CPathKeyFrame; +struct CConstantForceController; +struct CMotorController; +struct ConstraintSoundInfo; +struct constraint_hingeparams_t; +struct CPhysicsNPCSolver; +struct dynpitchvol_t; +struct locksound_t; +struct CPathTrack; +struct CBuoyancyHelper; +struct ViewSmoothingData_t; +struct CLightComponent; +struct CHitboxComponent; +struct PhysicsRagdollPose_t; +struct IChoreoServices; +struct CBaseAnimatingEasings_t; +struct CFuncTrackTrain; +struct CSprite; +struct CThrustController; +struct CFourWheelVehiclePhysics; +struct shard_model_desc_t; +struct CAI_Expresser; +struct CAI_BehaviorHost; +struct CAI_EnemyServices; +struct CAI_AnimGraphServices; +struct CAI_Scheduler; +struct CAI_DynamicInteractions; +struct CAI_StanceServices; +struct CAI_AbilityServices; +struct CFlightComponent; +struct CAI_FreePass; +struct CPlayer_WeaponServices; +struct CPlayer_ItemServices; +struct CPlayer_VehicleServices; +struct CPlayer_AutoaimServices; +struct CPlayer_ObserverServices; +struct CPlayer_WaterServices; +struct CPlayer_UseServices; +struct CPlayer_FlashlightServices; +struct CPlayer_CameraServices; +struct CPlayer_MovementServices; + +// Alignment: 1 +// Size: 0x1a0 class CNetworkTransmitComponent { public: - uint8_t m_nTransmitStateOwnedCounter; // 0x16c -public: - static int32_t &Get_s_nWatchTransmitEntity() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fiels[0]->m_instance); } - static bool &Get_s_bUseNetworkVars() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fiels[1]->m_instance); } - static bool &Get_s_bNetworkVarPerFieldTracking() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fiels[2]->m_instance); } - static bool &Get_s_bNetworkVarValidate() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fiels[3]->m_instance); } - static bool &Get_s_bUsingPVSConvars() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fiels[4]->m_instance); } + uint8_t m_nTransmitStateOwnedCounter; // 0x16c + static int32_t &Get_s_nWatchTransmitEntity(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[0]->m_instance);}; + static bool &Get_s_bUseNetworkVars(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[1]->m_instance);}; + static bool &Get_s_bNetworkVarPerFieldTracking(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[2]->m_instance);}; + static bool &Get_s_bNetworkVarValidate(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[3]->m_instance);}; + static bool &Get_s_bUsingPVSConvars(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[4]->m_instance);}; }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 class CPhysicsComponent { public: -// + // no members available }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 class CBuoyancyHelper { public: - float m_flFluidDensity; // 0x18 + float m_flFluidDensity; // 0x18 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CSkillFloat { public: - float32[4] m_pValue; // 0x0 + float m_pValue[4]; // 0x0 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CSkillInt { public: - int32[4] m_pValue; // 0x0 + int32_t m_pValue[4]; // 0x0 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CModifierLevelFloat { public: - float32[4] m_pValue; // 0x0 + float m_pValue[4]; // 0x0 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CModifierLevelInt { public: - int32[4] m_pValue; // 0x0 + int32_t m_pValue[4]; // 0x0 }; -// Aligment: 2 -// Size: 20 +// 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 + 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 }; -// Aligment: 2 -// Size: 184 +// Alignment: 2 +// Size: 0xb8 class CScriptUniformRandomStream { public: - HSCRIPT m_hScriptScope; // 0x8 - int32_t m_nInitialSeed; // 0xb0 + HSCRIPT m_hScriptScope; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0010[0xa0]; // 0x10 public: - static CUtlVector< CScriptUniformRandomStream* > &Get_sm_UniformStreams() { return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptUniformRandomStream")->m_static_fiels[0]->m_instance); } + int32_t m_nInitialSeed; // 0xb0 + static CUtlVector< CScriptUniformRandomStream* > &Get_sm_UniformStreams(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptUniformRandomStream")->m_static_fields[0]->m_instance);}; }; -// Aligment: 12 -// Size: 80 +// Alignment: 12 +// Size: 0x50 struct CommandToolCommand_t { 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 + 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 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CPlayerComponent { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 + CNetworkVarChainer __m_pChainEntity; // 0x8 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 class CPlayerControllerComponent { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 + CNetworkVarChainer __m_pChainEntity; // 0x8 }; -// Aligment: 9 -// Size: 192 +// Alignment: 9 +// Size: 0xc0 struct PlayerResourceData_t { public: // MNetworkEnable // MNetworkEncoder - uint64_t m_iPlayerSteamID; // 0x20 + uint64_t m_iPlayerSteamID; // 0x20 // MNetworkEnable // MNetworkChangeCallback "OnPlayerNameChanged" - char[128] m_iszPlayerName; // 0x28 + char m_iszPlayerName[128]; // 0x28 // MNetworkEnable - CHandle< CBasePlayerController > m_hPlayerController; // 0xa8 + CHandle< CBasePlayerController > m_hPlayerController; // 0xa8 // MNetworkEnable - CHandle< CBasePlayer > m_hPawn; // 0xac + CHandle< CBasePlayer > m_hPawn; // 0xac // MNetworkEnable - bool m_bIsValid; // 0xb0 + bool m_bIsValid; // 0xb0 // MNetworkEnable - bool m_bFakeClient; // 0xb1 + bool m_bFakeClient; // 0xb1 // MNetworkEnable - bool m_bIsBot; // 0xb2 + bool m_bIsBot; // 0xb2 +private: + [[maybe_unused]] uint8_t __pad00b3[0x1]; // 0xb3 +public: // MNetworkEnable - int32_t m_nConnectionState; // 0xb4 + int32_t m_nConnectionState; // 0xb4 // MNetworkEnable - int32_t m_iTeam; // 0xb8 + int32_t m_iTeam; // 0xb8 }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 class CPlayer_AutoaimServices : public CPlayerComponent { public: -// + // no members available }; -// Aligment: 4 -// Size: 120 +// Alignment: 4 +// Size: 0x78 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 + uint8_t localBits; // 0x6c +private: + [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d +public: // MNetworkEnable - int32_t soundscapeEntityListIndex; // 0x70 + int32_t soundscapeEntityListIndex; // 0x70 }; -// Aligment: 17 -// Size: 376 +// Alignment: 17 +// Size: 0x178 class CPlayer_CameraServices : public CPlayerComponent { public: // MNetworkEnable - uint32_t m_iFOV; // 0x30 + uint32_t m_iFOV; // 0x30 // MNetworkEnable - uint32_t m_iFOVStart; // 0x34 + uint32_t m_iFOVStart; // 0x34 // MNetworkEnable - float m_flFOVTime; // 0x38 + float m_flFOVTime; // 0x38 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flFOVRate; // 0x3c + float m_flFOVRate; // 0x3c // MNetworkEnable - uint32_t m_iDefaultFOV; // 0x40 + uint32_t m_iDefaultFOV; // 0x40 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkPriority "32" // MNetworkBitCount "32" - QAngle m_vecPunchAngle; // 0x44 + QAngle m_vecPunchAngle; // 0x44 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkBitCount "32" - QAngle m_vecPunchAngleVel; // 0x50 + QAngle m_vecPunchAngleVel; // 0x50 // MNetworkEnable - CHandle< CBaseEntity > m_hZoomOwner; // 0x5c + CHandle< CBaseEntity > m_hZoomOwner; // 0x5c // MNetworkEnable - fogplayerparams_t m_PlayerFog; // 0x60 + fogplayerparams_t m_PlayerFog; // 0x60 // MNetworkEnable - CHandle< CColorCorrection > m_hColorCorrectionCtrl; // 0xa0 + CHandle< CColorCorrection > m_hColorCorrectionCtrl; // 0xa0 // MNetworkEnable - CHandle< CBaseEntity > m_hViewEntity; // 0xa4 + CHandle< CBaseEntity > m_hViewEntity; // 0xa4 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CHandle< CTonemapController2 > m_hTonemapController; // 0xa8 + CHandle< CTonemapController2 > m_hTonemapController; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00ac[0x4]; // 0xac +public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - audioparams_t m_audio; // 0xb0 + audioparams_t m_audio; // 0xb0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CNetworkUtlVectorBase< CHandle< CPostProcessingVolume > > m_PostProcessingVolumes; // 0x128 - float m_flOldPlayerZ; // 0x140 - float m_flOldPlayerViewOffsetZ; // 0x144 - CUtlVector< CHandle< CEnvSoundscapeTriggerable > > m_hTriggerSoundscapeList; // 0x160 + CNetworkUtlVectorBase< CHandle< CPostProcessingVolume > > m_PostProcessingVolumes; // 0x128 + float m_flOldPlayerZ; // 0x140 + float m_flOldPlayerViewOffsetZ; // 0x144 +private: + [[maybe_unused]] uint8_t __pad0148[0x18]; // 0x148 +public: + CUtlVector< CHandle< CEnvSoundscapeTriggerable > > m_hTriggerSoundscapeList; // 0x160 }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 class CPlayer_FlashlightServices : public CPlayerComponent { public: -// + // no members available }; -// Aligment: 0 -// Size: 48 +// Alignment: 0 +// Size: 0x30 class CPlayer_ItemServices : public CPlayerComponent { public: -// + // no members available }; -// Aligment: 16 -// Size: 144 +// Alignment: 16 +// Size: 0x90 class CPlayer_MovementServices : public CPlayerComponent { public: - float m_flStepSoundTime; // 0x30 + float m_flStepSoundTime; // 0x30 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkBitCount "17" // MNetworkMinValue "-4096" // MNetworkMaxValue "4096" - float m_flFallVelocity; // 0x34 + float m_flFallVelocity; // 0x34 // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0" // MNetworkMaxValue "2048" // MNetworkEncodeFlags - float m_flMaxspeed; // 0x38 + float m_flMaxspeed; // 0x38 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bDucked; // 0x3c + bool m_bDucked; // 0x3c // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bDucking; // 0x3d + bool m_bDucking; // 0x3d // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - bool m_bInDuckJump; // 0x3e - Vector m_groundNormal; // 0x40 - float m_flSurfaceFriction; // 0x4c - CUtlStringToken m_surfaceProps; // 0x50 - int32_t m_nStepside; // 0x60 - Vector m_vecPreviouslyPredictedOrigin; // 0x64 - float m_flForwardMove; // 0x70 - float m_flSideMove; // 0x74 - float m_flUpMove; // 0x78 - int32_t m_iTargetVolume; // 0x7c - Vector m_vecSmoothedVelocity; // 0x80 + bool m_bInDuckJump; // 0x3e +private: + [[maybe_unused]] uint8_t __pad003f[0x1]; // 0x3f +public: + Vector m_groundNormal; // 0x40 + float m_flSurfaceFriction; // 0x4c + CUtlStringToken m_surfaceProps; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0054[0xc]; // 0x54 +public: + int32_t m_nStepside; // 0x60 + Vector m_vecPreviouslyPredictedOrigin; // 0x64 + float m_flForwardMove; // 0x70 + float m_flSideMove; // 0x74 + float m_flUpMove; // 0x78 + int32_t m_iTargetVolume; // 0x7c + Vector m_vecSmoothedVelocity; // 0x80 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 class CPlayer_ObserverServices : public CPlayerComponent { public: // MNetworkEnable // MNetworkChangeCallback "OnObserverModeChanged" - uint8_t m_iObserverMode; // 0x30 + uint8_t m_iObserverMode; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 +public: // MNetworkEnable // MNetworkChangeCallback "OnObserverTargetChanged" - CHandle< CBaseEntity > m_hObserverTarget; // 0x34 - ObserverMode_t m_iObserverLastMode; // 0x38 - bool m_bForcedObserverMode; // 0x3c + CHandle< CBaseEntity > m_hObserverTarget; // 0x34 + ObserverMode_t m_iObserverLastMode; // 0x38 + bool m_bForcedObserverMode; // 0x3c }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CPlayer_UseServices : public CPlayerComponent { public: // MNetworkEnable - CHandle< CBaseEntity > m_hUseEntity; // 0x30 + CHandle< CBaseEntity > m_hUseEntity; // 0x30 }; -// Aligment: 6 -// Size: 88 +// Alignment: 6 +// Size: 0x58 class CPlayer_VehicleServices : public CPlayerComponent { public: // MNetworkEnable - CHandle< CBaseEntity > m_hVehicle; // 0x30 - int32_t m_iVehicleAnalogBias; // 0x34 - Vector m_vecVehicleViewOrigin; // 0x38 - QAngle m_vecVehicleViewAngles; // 0x44 - int32_t m_nVehicleViewSavedFrame; // 0x50 - float m_flVehicleViewFOV; // 0x54 + CHandle< CBaseEntity > m_hVehicle; // 0x30 + int32_t m_iVehicleAnalogBias; // 0x34 + Vector m_vecVehicleViewOrigin; // 0x38 + QAngle m_vecVehicleViewAngles; // 0x44 + int32_t m_nVehicleViewSavedFrame; // 0x50 + float m_flVehicleViewFOV; // 0x54 }; -// Aligment: 8 -// Size: 112 +// Alignment: 8 +// Size: 0x70 class CPlayer_WaterServices : public CPlayerComponent { public: // MNetworkEnable - float m_AirFinishedTime; // 0x30 - float m_flWaterJumpTime; // 0x34 - Vector m_vecWaterJumpVel; // 0x38 - float m_flSwimSoundTime; // 0x44 - bool m_bPlayerUnderwater; // 0x48 - CUtlVector< CHandle< CBaseEntity > > m_hWaterVols; // 0x50 - float m_NextDrownDamageTime; // 0x68 - int32_t m_nDrownDmgRate; // 0x6c + float m_AirFinishedTime; // 0x30 + float m_flWaterJumpTime; // 0x34 + Vector m_vecWaterJumpVel; // 0x38 + float m_flSwimSoundTime; // 0x44 + bool m_bPlayerUnderwater; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0049[0x7]; // 0x49 +public: + CUtlVector< CHandle< CBaseEntity > > m_hWaterVols; // 0x50 + float m_NextDrownDamageTime; // 0x68 + int32_t m_nDrownDmgRate; // 0x6c }; -// Aligment: 5 -// Size: 152 +// Alignment: 5 +// Size: 0x98 class CPlayer_WeaponServices : public CPlayerComponent { public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBasePlayerWeapon > > m_hMyWeapons; // 0x30 + CNetworkUtlVectorBase< CHandle< CBasePlayerWeapon > > m_hMyWeapons; // 0x30 // MNetworkEnable - CHandle< CBasePlayerWeapon > m_hActiveWeapon; // 0x48 + CHandle< CBasePlayerWeapon > m_hActiveWeapon; // 0x48 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CHandle< CBasePlayerWeapon > m_hLastWeapon; // 0x4c + CHandle< CBasePlayerWeapon > m_hLastWeapon; // 0x4c // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint16[32] m_iAmmo; // 0x50 - bool m_bPreventWeaponPickup; // 0x90 + uint16_t m_iAmmo[32]; // 0x50 + bool m_bPreventWeaponPickup; // 0x90 }; -// Aligment: 5 -// Size: 56 +// Alignment: 5 +// Size: 0x38 struct AmmoTypeInfo_t { public: - int32_t m_nMaxCarry; // 0x10 - CRangeInt m_nSplashSize; // 0x1c - AmmoFlags_t m_nFlags; // 0x24 - float m_flMass; // 0x28 - CRangeFloat m_flSpeed; // 0x2c + 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 }; -// Aligment: 15 -// Size: 184 +// Alignment: 15 +// Size: 0xb8 class CAnimationLayer { public: // MNetworkEnable // MNetworkChangeCallback "animationLayerOpChanged" - CNetworkedSequenceOperation m_op; // 0x20 + CNetworkedSequenceOperation m_op; // 0x20 // MNetworkEnable // MNetworkChangeCallback "animationLayerOrderChanged" - int32_t m_nOrder; // 0x60 + int32_t m_nOrder; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0064[0x4]; // 0x64 +public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "-4" // MNetworkMaxValue "12" // MNetworkEncodeFlags // MNetworkSendProxyRecipientsFilter - CNetworkedQuantizedFloat m_flPlaybackRate; // 0x68 + CNetworkedQuantizedFloat m_flPlaybackRate; // 0x68 // MNetworkEnable // MNetworkSendProxyRecipientsFilter - bool m_bLooping; // 0x80 + bool m_bLooping; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0081[0x3]; // 0x81 +public: // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "animationLayerCycleReset" // MNetworkSendProxyRecipientsFilter - int32_t m_nNewSequenceParity; // 0x84 + int32_t m_nNewSequenceParity; // 0x84 // MNetworkDisable - int32_t m_nFlags; // 0x88 + int32_t m_nFlags; // 0x88 // MNetworkDisable - bool m_bSequenceFinished; // 0x8c + bool m_bSequenceFinished; // 0x8c +private: + [[maybe_unused]] uint8_t __pad008d[0x3]; // 0x8d +public: // MNetworkDisable - float m_flKillRate; // 0x90 + float m_flKillRate; // 0x90 // MNetworkDisable - float m_flKillDelay; // 0x94 + float m_flKillDelay; // 0x94 // MNetworkDisable - float m_flLayerAnimtime; // 0x98 + float m_flLayerAnimtime; // 0x98 // MNetworkDisable - float m_flLayerFadeOuttime; // 0x9c + float m_flLayerFadeOuttime; // 0x9c // MNetworkDisable - int32_t m_nActivity; // 0xa0 + int32_t m_nActivity; // 0xa0 // MNetworkDisable - int32_t m_nPriority; // 0xa4 + int32_t m_nPriority; // 0xa4 // MNetworkDisable - float m_flLastEventCycle; // 0xa8 + float m_flLastEventCycle; // 0xa8 // MNetworkDisable - float m_flLastAccess; // 0xac + float m_flLastAccess; // 0xac }; -// Aligment: 2 -// Size: 48 +// Alignment: 2 +// Size: 0x30 struct CBaseAnimatingEasingFloat_t { public: // MNetworkEnable - CUtlString m_GraphParameterName; // 0x8 + CUtlString m_GraphParameterName; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0010[0x18]; // 0x10 +public: // MNetworkEnable - float m_flGoal; // 0x28 + float m_flGoal; // 0x28 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 struct CBaseAnimatingEasings_t { public: // MNetworkEnable - CBaseAnimatingEasingFloat_t m_IKMasterBlendAmountEasing; // 0x8 + CBaseAnimatingEasingFloat_t m_IKMasterBlendAmountEasing; // 0x8 }; -// Aligment: 2 -// Size: 40 +// Alignment: 2 +// Size: 0x28 struct PhysicsRagdollPose_t { public: // MNetworkEnable // MNetworkChangeCallback "OnTransformChanged" - CNetworkUtlVectorBase< CTransform > m_Transforms; // 0x8 - bool m_bDirty; // 0x20 + CNetworkUtlVectorBase< CTransform > m_Transforms; // 0x8 + bool m_bDirty; // 0x20 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct ModelConfigHandle_t { public: - uint32_t m_nBoxedTypeSafeInt; // 0x0 + uint32_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 4 -// Size: 88 +// Alignment: 4 +// Size: 0x58 struct ActiveModelConfig_t { public: // MNetworkEnable - ModelConfigHandle_t m_Handle; // 0x18 + ModelConfigHandle_t m_Handle; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: // MNetworkEnable - CUtlSymbolLarge m_Name; // 0x20 + CUtlSymbolLarge m_Name; // 0x20 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_AssociatedEntities; // 0x28 + CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_AssociatedEntities; // 0x28 // MNetworkEnable - CNetworkUtlVectorBase< CUtlSymbolLarge > m_AssociatedEntityNames; // 0x40 + CNetworkUtlVectorBase< CUtlSymbolLarge > m_AssociatedEntityNames; // 0x40 }; -// Aligment: 7 -// Size: 104 +// Alignment: 7 +// Size: 0x68 class CNetworkOriginCellCoordQuantizedVector { public: @@ -3583,19 +3776,19 @@ public: // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "cellx" - uint16_t m_cellX; // 0x18 + uint16_t m_cellX; // 0x18 // MNetworkEnable // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "celly" - uint16_t m_cellY; // 0x1a + uint16_t m_cellY; // 0x1a // MNetworkEnable // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "cellz" - uint16_t m_cellZ; // 0x1c + uint16_t m_cellZ; // 0x1c // MNetworkEnable - uint16_t m_nOutsideWorld; // 0x1e + uint16_t m_nOutsideWorld; // 0x1e // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1024" @@ -3603,7 +3796,7 @@ public: // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "posx" - CNetworkedQuantizedFloat m_vecX; // 0x20 + CNetworkedQuantizedFloat m_vecX; // 0x20 // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1024" @@ -3611,7 +3804,7 @@ public: // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "posy" - CNetworkedQuantizedFloat m_vecY; // 0x38 + CNetworkedQuantizedFloat m_vecY; // 0x38 // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1024" @@ -3619,11 +3812,11 @@ public: // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "posz" - CNetworkedQuantizedFloat m_vecZ; // 0x50 + CNetworkedQuantizedFloat m_vecZ; // 0x50 }; -// Aligment: 3 -// Size: 96 +// Alignment: 3 +// Size: 0x60 class CNetworkOriginQuantizedVector { public: @@ -3632,23 +3825,23 @@ public: // MNetworkMaxValue "16384" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkOriginQuantizedVector" - CNetworkedQuantizedFloat m_vecX; // 0x18 + CNetworkedQuantizedFloat m_vecX; // 0x18 // MNetworkBitCount "19" // MNetworkMinValue "-16384" // MNetworkMaxValue "16384" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkOriginQuantizedVector" - CNetworkedQuantizedFloat m_vecY; // 0x30 + CNetworkedQuantizedFloat m_vecY; // 0x30 // MNetworkBitCount "19" // MNetworkMinValue "-16384" // MNetworkMaxValue "16384" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkOriginQuantizedVector" - CNetworkedQuantizedFloat m_vecZ; // 0x48 + CNetworkedQuantizedFloat m_vecZ; // 0x48 }; -// Aligment: 3 -// Size: 96 +// Alignment: 3 +// Size: 0x60 class CNetworkVelocityVector { public: @@ -3657,23 +3850,23 @@ public: // MNetworkMaxValue "4096" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkVelocityVector" - CNetworkedQuantizedFloat m_vecX; // 0x18 + CNetworkedQuantizedFloat m_vecX; // 0x18 // MNetworkBitCount "18" // MNetworkMinValue "-4096" // MNetworkMaxValue "4096" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkVelocityVector" - CNetworkedQuantizedFloat m_vecY; // 0x30 + CNetworkedQuantizedFloat m_vecY; // 0x30 // MNetworkBitCount "18" // MNetworkMinValue "-4096" // MNetworkMaxValue "4096" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkVelocityVector" - CNetworkedQuantizedFloat m_vecZ; // 0x48 + CNetworkedQuantizedFloat m_vecZ; // 0x48 }; -// Aligment: 3 -// Size: 96 +// Alignment: 3 +// Size: 0x60 class CNetworkViewOffsetVector { public: @@ -3682,162 +3875,178 @@ public: // MNetworkMaxValue "64" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkViewOffsetVector" - CNetworkedQuantizedFloat m_vecX; // 0x18 + CNetworkedQuantizedFloat m_vecX; // 0x18 // MNetworkBitCount "10" // MNetworkMinValue "-64" // MNetworkMaxValue "64" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkViewOffsetVector" - CNetworkedQuantizedFloat m_vecY; // 0x30 + CNetworkedQuantizedFloat m_vecY; // 0x30 // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "128" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkViewOffsetVector" - CNetworkedQuantizedFloat m_vecZ; // 0x48 + CNetworkedQuantizedFloat m_vecZ; // 0x48 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CGameSceneNodeHandle { public: // MNetworkEnable - CEntityHandle m_hOwner; // 0x8 + CEntityHandle m_hOwner; // 0x8 // MNetworkEnable - CUtlStringToken m_name; // 0xc + CUtlStringToken m_name; // 0xc }; -// Aligment: 33 -// Size: 352 +// Alignment: 33 +// Size: 0x160 class CGameSceneNode { public: // MNetworkDisable - CTransform m_nodeToWorld; // 0x10 + CTransform m_nodeToWorld; // 0x10 // MNetworkDisable - CEntityInstance* m_pOwner; // 0x30 + CEntityInstance* m_pOwner; // 0x30 // MNetworkDisable - CGameSceneNode* m_pParent; // 0x38 + CGameSceneNode* m_pParent; // 0x38 // MNetworkDisable - CGameSceneNode* m_pChild; // 0x40 + CGameSceneNode* m_pChild; // 0x40 // MNetworkDisable - CGameSceneNode* m_pNextSibling; // 0x48 + 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 + CGameSceneNodeHandle m_hParent; // 0x70 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Origin" // MNetworkChangeCallback "gameSceneNodeLocalOriginChanged" - CNetworkOriginCellCoordQuantizedVector m_vecOrigin; // 0x80 + CNetworkOriginCellCoordQuantizedVector m_vecOrigin; // 0x80 +private: + [[maybe_unused]] uint8_t __pad00e8[0x8]; // 0xe8 +public: // MNetworkEnable // MNetworkPriority "32" // MNetworkSerializer "gameSceneNodeStepSimulationAnglesSerializer" // MNetworkChangeCallback "gameSceneNodeLocalAnglesChanged" - QAngle m_angRotation; // 0xf0 + QAngle m_angRotation; // 0xf0 // MNetworkEnable // MNetworkChangeCallback "gameSceneNodeLocalScaleChanged" // MNetworkPriority "32" - float m_flScale; // 0xfc + float m_flScale; // 0xfc // MNetworkDisable - Vector m_vecAbsOrigin; // 0x100 + Vector m_vecAbsOrigin; // 0x100 // MNetworkDisable - QAngle m_angAbsRotation; // 0x10c + QAngle m_angAbsRotation; // 0x10c // MNetworkDisable - float m_flAbsScale; // 0x118 + float m_flAbsScale; // 0x118 // MNetworkDisable - int16_t m_nParentAttachmentOrBone; // 0x11c + int16_t m_nParentAttachmentOrBone; // 0x11c // MNetworkDisable - bool m_bDebugAbsOriginChanges; // 0x11e + bool m_bDebugAbsOriginChanges; // 0x11e // MNetworkDisable - bool m_bDormant; // 0x11f + bool m_bDormant; // 0x11f // MNetworkDisable - bool m_bForceParentToBeNetworked; // 0x120 + bool m_bForceParentToBeNetworked; // 0x120 + 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 - bitfield:1 m_bDirtyHierarchy; // 0x0 + uint8_t m_nHierarchicalDepth; // 0x123 // MNetworkDisable - bitfield:1 m_bDirtyBoneMergeInfo; // 0x0 + uint8_t m_nHierarchyType; // 0x124 // MNetworkDisable - bitfield:1 m_bNetworkedPositionChanged; // 0x0 - // MNetworkDisable - bitfield:1 m_bNetworkedAnglesChanged; // 0x0 - // MNetworkDisable - bitfield:1 m_bNetworkedScaleChanged; // 0x0 - // MNetworkDisable - bitfield:1 m_bWillBeCallingPostDataUpdate; // 0x0 - // MNetworkDisable - bitfield:1 m_bNotifyBoneTransformsChanged; // 0x0 - // MNetworkDisable - bitfield:1 m_bBoneMergeFlex; // 0x0 - // MNetworkDisable - bitfield:2 m_nLatchAbsOrigin; // 0x0 - // MNetworkDisable - bitfield:1 m_bDirtyBoneMergeBoneToRoot; // 0x0 - // MNetworkDisable - uint8_t m_nHierarchicalDepth; // 0x123 - // MNetworkDisable - uint8_t m_nHierarchyType; // 0x124 - // MNetworkDisable - uint8_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount; // 0x125 + uint8_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount; // 0x125 +private: + [[maybe_unused]] uint8_t __pad0126[0x2]; // 0x126 +public: // MNetworkEnable - CUtlStringToken m_name; // 0x128 + CUtlStringToken m_name; // 0x128 +private: + [[maybe_unused]] uint8_t __pad012c[0x14]; // 0x12c +public: // MNetworkEnable // MNetworkChangeCallback "gameSceneNodeHierarchyAttachmentChanged" - CUtlStringToken m_hierarchyAttachName; // 0x140 + CUtlStringToken m_hierarchyAttachName; // 0x140 // MNetworkDisable - float m_flZOffset; // 0x144 + float m_flZOffset; // 0x144 // MNetworkDisable - Vector m_vRenderOrigin; // 0x148 + Vector m_vRenderOrigin; // 0x148 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IChoreoServices { public: -// + // no members available }; -// Aligment: 10 -// Size: 96 +// Alignment: 10 +// Size: 0x60 class JiggleData { public: - int32_t bone; // 0x0 - int32_t id; // 0x4 - float lastUpdate; // 0x8 - Vector basePos; // 0xc - Vector baseLastPos; // 0x18 - Vector baseVel; // 0x24 - Vector baseAccel; // 0x30 - Vector tipPos; // 0x3c - Vector tipVel; // 0x48 - Vector tipAccel; // 0x54 + int32_t bone; // 0x0 + int32_t id; // 0x4 + float lastUpdate; // 0x8 + Vector basePos; // 0xc + Vector baseLastPos; // 0x18 + Vector baseVel; // 0x24 + Vector baseAccel; // 0x30 + Vector tipPos; // 0x3c + Vector tipVel; // 0x48 + Vector tipAccel; // 0x54 }; -// Aligment: 0 -// Size: 32 +// Alignment: 0 +// Size: 0x20 class CJiggleBones { public: -// + // no members available }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CSkeletonAnimationController { public: // MNetworkDisable - CSkeletonInstance* m_pSkeletonInstance; // 0x8 + CSkeletonInstance* m_pSkeletonInstance; // 0x8 }; -// Aligment: 8 -// Size: 64 +// Alignment: 8 +// Size: 0x40 class CNetworkedSequenceOperation { public: @@ -3845,7 +4054,7 @@ public: // MNetworkSerializer "minusone" // MNetworkChangeCallback "sequenceOpSequenceChanged" // MNetworkPriority "32" - HSequence m_hSequence; // 0x8 + HSequence m_hSequence; // 0x8 // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0" @@ -3854,7 +4063,7 @@ public: // MNetworkPriority "32" // MNetworkSendProxyRecipientsFilter // MNetworkUserGroup "m_flCycle" - float m_flPrevCycle; // 0xc + float m_flPrevCycle; // 0xc // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0" @@ -3864,154 +4073,179 @@ public: // MNetworkSendProxyRecipientsFilter // MNetworkUserGroup "m_flCycle" // MNetworkChangeCallback "sequenceOpCycleChanged" - float m_flCycle; // 0x10 + float m_flCycle; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags - CNetworkedQuantizedFloat m_flWeight; // 0x18 + CNetworkedQuantizedFloat m_flWeight; // 0x18 // MNetworkDisable - bool m_bSequenceChangeNetworked; // 0x30 + bool m_bSequenceChangeNetworked; // 0x30 // MNetworkDisable - bool m_bDiscontinuity; // 0x31 + bool m_bDiscontinuity; // 0x31 +private: + [[maybe_unused]] uint8_t __pad0032[0x2]; // 0x32 +public: // MNetworkDisable - float m_flPrevCycleFromDiscontinuity; // 0x34 + float m_flPrevCycleFromDiscontinuity; // 0x34 // MNetworkDisable - float m_flPrevCycleForAnimEventDetection; // 0x38 + float m_flPrevCycleForAnimEventDetection; // 0x38 }; -// Aligment: 6 -// Size: 80 +// Alignment: 6 +// Size: 0x50 class CNetworkedIKProceduralTargetContext { public: // MNetworkEnable - int32_t m_nChainIndex; // 0x20 + int32_t m_nChainIndex; // 0x20 // MNetworkEnable - int32_t m_nRuleIndex; // 0x24 + int32_t m_nRuleIndex; // 0x24 // MNetworkEnable - Vector m_vTargetPosition; // 0x28 + Vector m_vTargetPosition; // 0x28 // MNetworkEnable - Quaternion m_qTargetOrientation; // 0x34 + Quaternion m_qTargetOrientation; // 0x34 // MNetworkEnable // MNetworkPriority "48" - float m_flWeight; // 0x44 + float m_flWeight; // 0x44 // MNetworkEnable - bool m_bIsValid; // 0x48 + bool m_bIsValid; // 0x48 }; -// Aligment: 1 -// Size: 80 +// Alignment: 1 +// Size: 0x50 class CNetworkedIKContext { public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< CNetworkedIKProceduralTargetContext > m_ProceduralTargetContexts; // 0x8 + CUtlVectorEmbeddedNetworkVar< CNetworkedIKProceduralTargetContext > m_ProceduralTargetContexts; // 0x8 }; -// Aligment: 8 -// Size: 576 +// Alignment: 8 +// Size: 0x240 class CModelState { public: // MNetworkEnable // MNetworkChangeCallback "skeletonModelChanged" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0xa0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0xa0 // MNetworkDisable - CUtlSymbolLarge m_ModelName; // 0xa8 + CUtlSymbolLarge m_ModelName; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00b0[0x38]; // 0xb0 +public: // MNetworkEnable - bool m_bClientClothCreationSuppressed; // 0xe8 + bool m_bClientClothCreationSuppressed; // 0xe8 +private: + [[maybe_unused]] uint8_t __pad00e9[0x9f]; // 0xe9 +public: // MNetworkEnable // MNetworkChangeCallback "skeletonMeshGroupMaskChanged" - uint64_t m_MeshGroupMask; // 0x188 + uint64_t m_MeshGroupMask; // 0x188 +private: + [[maybe_unused]] uint8_t __pad0190[0x9a]; // 0x190 +public: // MNetworkEnable // MNetworkChangeCallback "skeletonMotionTypeChanged" - int8_t m_nIdealMotionType; // 0x22a + int8_t m_nIdealMotionType; // 0x22a // MNetworkDisable - int8_t m_nForceLOD; // 0x22b + int8_t m_nForceLOD; // 0x22b // MNetworkDisable - bool m_bIsJiggleBonesEnabled; // 0x22c + bool m_bIsJiggleBonesEnabled; // 0x22c // MNetworkDisable - int8_t m_nClothUpdateFlags; // 0x22d + int8_t m_nClothUpdateFlags; // 0x22d }; -// Aligment: 12 -// Size: 1216 +// Alignment: 12 +// Size: 0x4c0 class CSkeletonInstance : public CGameSceneNode { public: // MNetworkEnable - CModelState m_modelState; // 0x170 + CModelState m_modelState; // 0x170 // MNetworkEnable // MNetworkChangeCallback "skeletonRenderingEnableChanged" - bool m_bIsRenderingEnabled; // 0x3b0 + bool m_bIsRenderingEnabled; // 0x3b0 // MNetworkEnable - bool m_bIsAnimationEnabled; // 0x3b1 + bool m_bIsAnimationEnabled; // 0x3b1 // MNetworkEnable - bool m_bUseParentRenderBounds; // 0x3b2 + bool m_bUseParentRenderBounds; // 0x3b2 // MNetworkDisable - bool m_bEnableIK; // 0x3b3 + bool m_bEnableIK; // 0x3b3 // MNetworkDisable - bool m_bDisableSolidCollisionsForHierarchy; // 0x3b4 - // MNetworkDisable - bitfield:1 m_bDirtyMotionType; // 0x0 - // MNetworkDisable - bitfield:1 m_bIsGeneratingLatchedParentSpaceState; // 0x0 + bool m_bDisableSolidCollisionsForHierarchy; // 0x3b4 + struct + { + // MNetworkDisable + uint8_t m_bDirtyMotionType: 1; + // MNetworkDisable + uint8_t m_bIsGeneratingLatchedParentSpaceState: 1; + uint32_t __pad1: 30; + }; // 32 bits // MNetworkEnable // MNetworkChangeCallback "skeletonMaterialGroupChanged" - CUtlStringToken m_materialGroup; // 0x3b8 + CUtlStringToken m_materialGroup; // 0x3b8 // MNetworkEnable - uint8_t m_nHitboxSet; // 0x3bc + uint8_t m_nHitboxSet; // 0x3bc +private: + [[maybe_unused]] uint8_t __pad03bd[0x4b]; // 0x3bd +public: // MNetworkEnable - float m_flIkMasterBlendValueCache; // 0x408 + float m_flIkMasterBlendValueCache; // 0x408 +private: + [[maybe_unused]] uint8_t __pad040c[0x4]; // 0x40c +public: // MNetworkEnable - CNetworkedIKContext m_NetworkedIKContext; // 0x410 + CNetworkedIKContext m_NetworkedIKContext; // 0x410 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class IntervalTimer { public: // MNetworkEnable - float m_timestamp; // 0x8 + float m_timestamp; // 0x8 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CountdownTimer { public: // MNetworkEnable - float m_duration; // 0x8 + float m_duration; // 0x8 // MNetworkEnable - float m_timestamp; // 0xc + float m_timestamp; // 0xc }; -// Aligment: 7 -// Size: 616 +// Alignment: 7 +// Size: 0x268 class CTimeline : public IntervalTimer { public: // MNetworkEnable - float32[64] m_flValues; // 0x10 + float m_flValues[64]; // 0x10 // MNetworkEnable - int32[64] m_nValueCounts; // 0x110 + int32_t m_nValueCounts[64]; // 0x110 // MNetworkEnable - int32_t m_nBucketCount; // 0x210 + int32_t m_nBucketCount; // 0x210 // MNetworkEnable - float m_flInterval; // 0x214 + float m_flInterval; // 0x214 // MNetworkEnable - float m_flFinalValue; // 0x218 + float m_flFinalValue; // 0x218 // MNetworkEnable - TimelineCompression_t m_nCompressionType; // 0x21c + TimelineCompression_t m_nCompressionType; // 0x21c // MNetworkEnable - bool m_bStopped; // 0x220 + bool m_bStopped; // 0x220 }; -// Aligment: 25 -// Size: 608 +// Alignment: 25 +// Size: 0x260 class CAnimGraphNetworkedVariables { public: @@ -4019,3934 +4253,4445 @@ public: // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_BoolVariables" - CNetworkUtlVectorBase< bool > m_NetBoolVariables; // 0x8 + CNetworkUtlVectorBase< bool > m_NetBoolVariables; // 0x8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_ByteVariables" - CNetworkUtlVectorBase< uint8 > m_NetByteVariables; // 0x20 + CNetworkUtlVectorBase< uint8 > m_NetByteVariables; // 0x20 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_UInt16Variables" - CNetworkUtlVectorBase< uint16 > m_NetUInt16Variables; // 0x38 + CNetworkUtlVectorBase< uint16 > m_NetUInt16Variables; // 0x38 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_IntVariables" - CNetworkUtlVectorBase< int32 > m_NetIntVariables; // 0x50 + CNetworkUtlVectorBase< int32 > m_NetIntVariables; // 0x50 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_UInt32Variables" - CNetworkUtlVectorBase< uint32 > m_NetUInt32Variables; // 0x68 + CNetworkUtlVectorBase< uint32 > m_NetUInt32Variables; // 0x68 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_FloatVariables" - CNetworkUtlVectorBase< float32 > m_NetFloatVariables; // 0x80 + CNetworkUtlVectorBase< float32 > m_NetFloatVariables; // 0x80 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_VectorVariables" - CNetworkUtlVectorBase< Vector > m_NetVectorVariables; // 0x98 + CNetworkUtlVectorBase< Vector > m_NetVectorVariables; // 0x98 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_QuaternionVariables" - CNetworkUtlVectorBase< Quaternion > m_NetQuaternionVariables; // 0xb0 + CNetworkUtlVectorBase< Quaternion > m_NetQuaternionVariables; // 0xb0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredBoolVariables" - CNetworkUtlVectorBase< bool > m_PredNetBoolVariables; // 0xc8 + CNetworkUtlVectorBase< bool > m_PredNetBoolVariables; // 0xc8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredByteVariables" - CNetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0xe0 + CNetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0xe0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredUInt16Variables" - CNetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0xf8 + CNetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0xf8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredIntVariables" - CNetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x110 + CNetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x110 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredUInt32Variables" - CNetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x128 + CNetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x128 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredFloatVariables" - CNetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x140 + CNetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x140 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredVectorVariables" - CNetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x158 + CNetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x158 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredQuaternionVariables" - CNetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0x170 + CNetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0x170 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetBoolVariables" - CNetworkUtlVectorBase< bool > m_LocalPredNetBoolVariables; // 0x188 + CNetworkUtlVectorBase< bool > m_LocalPredNetBoolVariables; // 0x188 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetByteVariables" - CNetworkUtlVectorBase< uint8 > m_LocalPredNetByteVariables; // 0x1a0 + CNetworkUtlVectorBase< uint8 > m_LocalPredNetByteVariables; // 0x1a0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetUInt16Variables" - CNetworkUtlVectorBase< uint16 > m_LocalPredNetUInt16Variables; // 0x1b8 + CNetworkUtlVectorBase< uint16 > m_LocalPredNetUInt16Variables; // 0x1b8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetIntVariables" - CNetworkUtlVectorBase< int32 > m_LocalPredNetIntVariables; // 0x1d0 + CNetworkUtlVectorBase< int32 > m_LocalPredNetIntVariables; // 0x1d0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetUInt32Variables" - CNetworkUtlVectorBase< uint32 > m_LocalPredNetUInt32Variables; // 0x1e8 + CNetworkUtlVectorBase< uint32 > m_LocalPredNetUInt32Variables; // 0x1e8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetFloatVariables" - CNetworkUtlVectorBase< float32 > m_LocalPredNetFloatVariables; // 0x200 + CNetworkUtlVectorBase< float32 > m_LocalPredNetFloatVariables; // 0x200 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetVectorVariables" - CNetworkUtlVectorBase< Vector > m_LocalPredNetVectorVariables; // 0x218 + CNetworkUtlVectorBase< Vector > m_LocalPredNetVectorVariables; // 0x218 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetQuaternionVariables" - CNetworkUtlVectorBase< Quaternion > m_LocalPredNetQuaternionVariables; // 0x230 + CNetworkUtlVectorBase< Quaternion > m_LocalPredNetQuaternionVariables; // 0x230 // MNetworkEnable // MNetworkUserGroup "animationgraph" - float m_flLastTeleportTime; // 0x248 + float m_flLastTeleportTime; // 0x248 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class CFootstepTableHandle { public: -// + // no members available }; -// Aligment: 8 -// Size: 49 +// 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 + 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 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 class ResponseParams { public: - int16_t odds; // 0x10 - int16_t flags; // 0x12 - uint8_t soundlevel; // 0x14 - ResponseFollowup* m_pFollowup; // 0x18 + int16_t odds; // 0x10 + int16_t flags; // 0x12 + uint8_t soundlevel; // 0x14 +private: + [[maybe_unused]] uint8_t __pad0015[0x3]; // 0x15 +public: + ResponseFollowup* m_pFollowup; // 0x18 }; -// Aligment: 2 -// Size: 48 +// Alignment: 2 +// Size: 0x30 class CResponseCriteriaSet { public: - int32_t m_nNumPrefixedContexts; // 0x28 - bool m_bOverrideOnAppend; // 0x2c + int32_t m_nNumPrefixedContexts; // 0x28 + bool m_bOverrideOnAppend; // 0x2c }; -// Aligment: 10 -// Size: 496 +// Alignment: 10 +// Size: 0x1f0 class CRR_Response { public: - uint8_t m_Type; // 0x0 - char[192] m_szResponseName; // 0x1 - char[128] m_szMatchingRule; // 0xc1 - ResponseParams m_Params; // 0x150 - float m_fMatchScore; // 0x170 - char* m_szSpeakerContext; // 0x178 - char* m_szWorldContext; // 0x180 - ResponseFollowup m_Followup; // 0x188 - CUtlVector< CUtlSymbol > m_pchCriteriaNames; // 0x1c0 - CUtlVector< char* > m_pchCriteriaValues; // 0x1d8 + uint8_t m_Type; // 0x0 + char m_szResponseName[192]; // 0x1 + char m_szMatchingRule[128]; // 0xc1 +private: + [[maybe_unused]] uint8_t __pad0141[0xf]; // 0x141 +public: + ResponseParams m_Params; // 0x150 + float m_fMatchScore; // 0x170 +private: + [[maybe_unused]] uint8_t __pad0174[0x4]; // 0x174 +public: + char* m_szSpeakerContext; // 0x178 + char* m_szWorldContext; // 0x180 + ResponseFollowup m_Followup; // 0x188 +private: + [[maybe_unused]] uint8_t __pad01b9[0x7]; // 0x1b9 +public: + CUtlVector< CUtlSymbol > m_pchCriteriaNames; // 0x1c0 + CUtlVector< char* > m_pchCriteriaValues; // 0x1d8 }; -// Aligment: 2 -// Size: 504 +// Alignment: 2 +// Size: 0x1f8 struct ConceptHistory_t { public: - float timeSpoken; // 0x0 - CRR_Response m_response; // 0x8 + float timeSpoken; // 0x0 + CRR_Response m_response; // 0x8 }; -// Aligment: 9 -// Size: 96 +// Alignment: 9 +// Size: 0x60 class CAI_Expresser { public: - float m_flStopTalkTime; // 0x38 - float m_flStopTalkTimeWithoutDelay; // 0x3c - float m_flBlockedTalkTime; // 0x40 - int32_t m_voicePitch; // 0x44 - float m_flLastTimeAcceptedSpeak; // 0x48 - bool m_bAllowSpeakingInterrupts; // 0x4c - bool m_bConsiderSceneInvolvementAsSpeech; // 0x4d - int32_t m_nLastSpokenPriority; // 0x50 - CBaseFlex* m_pOuter; // 0x58 + float m_flStopTalkTime; // 0x38 + float m_flStopTalkTimeWithoutDelay; // 0x3c + float m_flBlockedTalkTime; // 0x40 + int32_t m_voicePitch; // 0x44 + float 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 }; -// Aligment: 1 -// Size: 104 +// Alignment: 1 +// Size: 0x68 class CResponseQueue { public: - CUtlVector< CAI_Expresser* > m_ExpresserTargets; // 0x50 + CUtlVector< CAI_Expresser* > m_ExpresserTargets; // 0x50 }; -// Aligment: 5 -// Size: 584 +// Alignment: 5 +// Size: 0x248 class CResponseQueue::CDeferredResponse { public: - CResponseCriteriaSet m_contexts; // 0x10 - float m_fDispatchTime; // 0x40 - CHandle< CBaseEntity > m_hIssuer; // 0x44 - CRR_Response m_response; // 0x50 - bool m_bResponseValid; // 0x240 + 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; // 0x240 }; -// Aligment: 1 -// Size: 112 +// Alignment: 1 +// Size: 0x70 class CAI_ExpresserWithFollowup : public CAI_Expresser { public: - ResponseFollowup* m_pPostponedFollowup; // 0x60 + ResponseFollowup* m_pPostponedFollowup; // 0x60 }; -// Aligment: 1 -// Size: 120 -class CMultiplayer_Expresser : public CAI_ExpresserWithFollowup, CAI_Expresser +// Alignment: 1 +// Size: 0x78 +class CMultiplayer_Expresser : public CAI_ExpresserWithFollowup { public: - bool m_bAllowMultipleScenes; // 0x70 + bool m_bAllowMultipleScenes; // 0x70 }; -// Aligment: 12 -// Size: 120 +// Alignment: 12 +// Size: 0x78 class CCommentarySystem { public: - uint64_t m_afPlayersLastButtons; // 0x18 - bool m_bCommentaryConvarsChanging; // 0x20 - int32_t m_iClearPressedButtons; // 0x24 - bool m_bCommentaryEnabledMidGame; // 0x28 - float m_flNextTeleportTime; // 0x2c - int32_t m_iTeleportStage; // 0x30 - bool m_bCheatState; // 0x34 - bool m_bIsFirstSpawnGroupToLoad; // 0x35 - CHandle< CPointCommentaryNode > m_hCurrentNode; // 0x50 - CHandle< CPointCommentaryNode > m_hActiveCommentaryNode; // 0x54 - CHandle< CPointCommentaryNode > m_hLastCommentaryNode; // 0x58 - CUtlVector< CHandle< CPointCommentaryNode > > m_vecNodes; // 0x60 + uint64_t m_afPlayersLastButtons; // 0x18 + bool m_bCommentaryConvarsChanging; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0021[0x3]; // 0x21 +public: + int32_t m_iClearPressedButtons; // 0x24 + bool m_bCommentaryEnabledMidGame; // 0x28 +private: + [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 +public: + float m_flNextTeleportTime; // 0x2c + int32_t m_iTeleportStage; // 0x30 + bool m_bCheatState; // 0x34 + bool m_bIsFirstSpawnGroupToLoad; // 0x35 +private: + [[maybe_unused]] uint8_t __pad0036[0x1a]; // 0x36 +public: + CHandle< CPointCommentaryNode > m_hCurrentNode; // 0x50 + CHandle< CPointCommentaryNode > m_hActiveCommentaryNode; // 0x54 + CHandle< CPointCommentaryNode > m_hLastCommentaryNode; // 0x58 +private: + [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c +public: + CUtlVector< CHandle< CPointCommentaryNode > > m_vecNodes; // 0x60 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CPhysicsShake { public: - Vector m_force; // 0x8 + Vector m_force; // 0x8 }; -// Aligment: 10 -// Size: 60 +// Alignment: 10 +// Size: 0x3c class CGameScriptedMoveData { public: - Vector m_vDest; // 0x0 - Vector m_vSrc; // 0xc - QAngle m_angSrc; // 0x18 - QAngle m_angDst; // 0x24 - float m_flDuration; // 0x30 - float m_flStartTime; // 0x34 - MoveType_t m_nPrevMoveType; // 0x38 - bool m_bFinished; // 0x39 - bool m_bTeleportOnEnd; // 0x3a - bool m_bIgnoreRotation; // 0x3b + Vector m_vDest; // 0x0 + Vector m_vSrc; // 0xc + QAngle m_angSrc; // 0x18 + QAngle m_angDst; // 0x24 + float m_flDuration; // 0x30 + float m_flStartTime; // 0x34 + MoveType_t m_nPrevMoveType; // 0x38 + bool m_bFinished; // 0x39 + bool m_bTeleportOnEnd; // 0x3a + bool m_bIgnoreRotation; // 0x3b }; -// Aligment: 5 -// Size: 32 +// Alignment: 5 +// Size: 0x20 class CGameChoreoServices : public IChoreoServices { public: - CHandle< CBaseAnimating > m_hOwner; // 0x8 - CHandle< CScriptedSequence > m_hScriptedSequence; // 0xc - IChoreoServices::ScriptState_t m_scriptState; // 0x10 - CGameChoreoServices::ChoreoState_t m_choreoState; // 0x14 - float m_flTimeStartedState; // 0x18 + CHandle< CBaseAnimating > m_hOwner; // 0x8 + CHandle< CScriptedSequence > m_hScriptedSequence; // 0xc + IChoreoServices::ScriptState_t m_scriptState; // 0x10 + CGameChoreoServices::ChoreoState_t m_choreoState; // 0x14 + float m_flTimeStartedState; // 0x18 }; -// Aligment: 9 -// Size: 9 +// 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 + 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 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 class CConstantForceController { public: - Vector m_linear; // 0xc - RotationVector m_angular; // 0x18 - Vector m_linearSave; // 0x24 - RotationVector m_angularSave; // 0x30 + Vector m_linear; // 0xc + RotationVector m_angular; // 0x18 + Vector m_linearSave; // 0x24 + RotationVector m_angularSave; // 0x30 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 class CMotorController { public: - float m_speed; // 0x8 - float m_maxTorque; // 0xc - Vector m_axis; // 0x10 - float m_inertiaFactor; // 0x1c + float m_speed; // 0x8 + float m_maxTorque; // 0xc + Vector m_axis; // 0x10 + float m_inertiaFactor; // 0x1c }; -// Aligment: 4 -// Size: 16 +// Alignment: 4 +// Size: 0x10 class CSoundEnvelope { public: - float m_current; // 0x0 - float m_target; // 0x4 - float m_rate; // 0x8 - bool m_forceupdate; // 0xc + float m_current; // 0x0 + float m_target; // 0x4 + float m_rate; // 0x8 + bool m_forceupdate; // 0xc }; -// Aligment: 2 -// Size: 40 +// Alignment: 2 +// Size: 0x28 class CCopyRecipientFilter { public: - int32_t m_Flags; // 0x8 - CUtlVector< CPlayerSlot > m_Recipients; // 0x10 + int32_t m_Flags; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CUtlVector< CPlayerSlot > m_Recipients; // 0x10 }; -// Aligment: 13 -// Size: 144 +// Alignment: 13 +// Size: 0x90 class CSoundPatch { 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 + CSoundEnvelope m_pitch; // 0x8 + CSoundEnvelope m_volume; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 public: - static int32_t &Get_g_SoundPatchCount() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CSoundPatch")->m_static_fiels[0]->m_instance); } + 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);}; }; -// Aligment: 25 -// Size: 100 +// 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 + 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 }; -// Aligment: 0 -// Size: 100 +// Alignment: 0 +// Size: 0x64 struct dynpitchvol_t : public dynpitchvol_base_t { public: -// + // no members available }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 struct ResponseContext_t { public: - CUtlSymbolLarge m_iszName; // 0x0 - CUtlSymbolLarge m_iszValue; // 0x8 - float m_fExpirationTime; // 0x10 + CUtlSymbolLarge m_iszName; // 0x0 + CUtlSymbolLarge m_iszValue; // 0x8 + float m_fExpirationTime; // 0x10 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct Relationship_t { public: - Disposition_t disposition; // 0x0 - int32_t priority; // 0x4 + Disposition_t disposition; // 0x0 + int32_t priority; // 0x4 }; -// Aligment: 31 -// Size: 344 +// Alignment: 31 +// Size: 0x158 class CFourWheelVehiclePhysics { public: - CHandle< CBaseAnimating > m_pOuter; // 0x8 - CFourWheelServerVehicle* m_pOuterServerVehicle; // 0x10 - vehicle_controlparams_t m_controls; // 0x18 - int32_t m_nSpeed; // 0x38 - int32_t m_nLastSpeed; // 0x3c - int32_t m_nRPM; // 0x40 - float m_fLastBoost; // 0x44 - int32_t m_nBoostTimeLeft; // 0x48 - bool m_bHasBoost; // 0x4c - float m_maxThrottle; // 0x50 - float m_flMaxRevThrottle; // 0x54 - float m_flMaxSpeed; // 0x58 - float m_actionSpeed; // 0x5c - int32_t m_wheelCount; // 0x80 - Vector[4] m_wheelPosition; // 0x84 - QAngle[4] m_wheelRotation; // 0xb4 - float32[4] m_wheelBaseHeight; // 0xe4 - float32[4] m_wheelTotalHeight; // 0xf4 - int32[12] m_poseParameters; // 0x104 - float m_actionValue; // 0x134 - float m_actionScale; // 0x138 - float m_debugRadius; // 0x13c - float m_throttleRate; // 0x140 - float m_throttleStartTime; // 0x144 - float m_throttleActiveTime; // 0x148 - float m_turboTimer; // 0x14c - float m_flVehicleVolume; // 0x150 - bool m_bIsOn; // 0x154 - bool m_bLastThrottle; // 0x155 - bool m_bLastBoost; // 0x156 - bool m_bLastSkid; // 0x157 + CHandle< CBaseAnimating > m_pOuter; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CFourWheelServerVehicle* m_pOuterServerVehicle; // 0x10 + vehicle_controlparams_t m_controls; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 +public: + int32_t m_nSpeed; // 0x38 + int32_t m_nLastSpeed; // 0x3c + int32_t m_nRPM; // 0x40 + float m_fLastBoost; // 0x44 + int32_t m_nBoostTimeLeft; // 0x48 + bool m_bHasBoost; // 0x4c +private: + [[maybe_unused]] uint8_t __pad004d[0x3]; // 0x4d +public: + float m_maxThrottle; // 0x50 + float m_flMaxRevThrottle; // 0x54 + float m_flMaxSpeed; // 0x58 + float m_actionSpeed; // 0x5c +private: + [[maybe_unused]] uint8_t __pad0060[0x20]; // 0x60 +public: + int32_t m_wheelCount; // 0x80 + Vector m_wheelPosition[4]; // 0x84 + QAngle m_wheelRotation[4]; // 0xb4 + float m_wheelBaseHeight[4]; // 0xe4 + float m_wheelTotalHeight[4]; // 0xf4 + int32_t m_poseParameters[12]; // 0x104 + float m_actionValue; // 0x134 + float m_actionScale; // 0x138 + float m_debugRadius; // 0x13c + float m_throttleRate; // 0x140 + float m_throttleStartTime; // 0x144 + float m_throttleActiveTime; // 0x148 + float m_turboTimer; // 0x14c + float m_flVehicleVolume; // 0x150 + bool m_bIsOn; // 0x154 + bool m_bLastThrottle; // 0x155 + bool m_bLastBoost; // 0x156 + bool m_bLastSkid; // 0x157 }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 struct locksound_t { public: - CUtlSymbolLarge sLockedSound; // 0x8 - CUtlSymbolLarge sUnlockedSound; // 0x10 - float flwaitSound; // 0x18 + CUtlSymbolLarge sLockedSound; // 0x8 + CUtlSymbolLarge sUnlockedSound; // 0x10 + float flwaitSound; // 0x18 }; -// Aligment: 3 -// Size: 20 +// Alignment: 3 +// Size: 0x14 class VelocitySampler { public: - Vector m_prevSample; // 0x0 - float m_fPrevSampleTime; // 0xc - float m_fIdealSampleRate; // 0x10 + Vector m_prevSample; // 0x0 + float m_fPrevSampleTime; // 0xc + float m_fIdealSampleRate; // 0x10 }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 class SimpleConstraintSoundProfile { public: - SimpleConstraintSoundProfile::SimpleConstraintsSoundProfileKeypoints_t eKeypoints; // 0x8 - float32[2] m_keyPoints; // 0xc - float32[3] m_reversalSoundThresholds; // 0x14 + SimpleConstraintSoundProfile::SimpleConstraintsSoundProfileKeypoints_t eKeypoints; // 0x8 + float m_keyPoints[2]; // 0xc + float m_reversalSoundThresholds[3]; // 0x14 }; -// Aligment: 8 -// Size: 136 +// Alignment: 8 +// Size: 0x88 class ConstraintSoundInfo { 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 + 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 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 class CThrustController { public: - Vector m_thrustVector; // 0x8 - RotationVector m_torqueVector; // 0x14 - float m_thrust; // 0x20 + Vector m_thrustVector; // 0x8 + RotationVector m_torqueVector; // 0x14 + float m_thrust; // 0x20 }; -// Aligment: 5 -// Size: 32 +// 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 + float m_flSmoothAmplitude; // 0x8 + float m_flSmoothBias; // 0xc + float m_flSmoothDuration; // 0x10 + float m_flSmoothRemainingTime; // 0x14 + int32_t m_nSmoothDir; // 0x18 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct magnetted_objects_t { public: - CHandle< CBaseEntity > hEntity; // 0x8 + CHandle< CBaseEntity > hEntity; // 0x8 }; -// Aligment: 12 -// Size: 52 +// 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 - float 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 + float 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 }; -// Aligment: 6 -// Size: 52 +// Alignment: 6 +// Size: 0x34 struct lerpdata_t { public: - CHandle< CBaseEntity > m_hEnt; // 0x0 - MoveType_t m_MoveType; // 0x4 - float m_flStartTime; // 0x8 - Vector m_vecStartOrigin; // 0xc - Quaternion m_qStartRot; // 0x18 - ParticleIndex_t m_nFXIndex; // 0x28 + CHandle< CBaseEntity > m_hEnt; // 0x0 + MoveType_t m_MoveType; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + float m_flStartTime; // 0x8 + Vector m_vecStartOrigin; // 0xc + Quaternion m_qStartRot; // 0x18 + ParticleIndex_t m_nFXIndex; // 0x28 }; -// Aligment: 5 -// Size: 32 +// Alignment: 5 +// Size: 0x20 class CPassengerInfo { public: - int32_t m_nRole; // 0x0 - int32_t m_nSeat; // 0x4 - CUtlSymbolLarge m_strRoleName; // 0x8 - CUtlSymbolLarge m_strSeatName; // 0x10 - CHandle< CBaseCombatCharacter > m_hPassenger; // 0x18 + int32_t m_nRole; // 0x0 + int32_t m_nSeat; // 0x4 + CUtlSymbolLarge m_strRoleName; // 0x8 + CUtlSymbolLarge m_strSeatName; // 0x10 + CHandle< CBaseCombatCharacter > m_hPassenger; // 0x18 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CPassengerSeatTransition { public: - CUtlSymbolLarge m_strAnimationName; // 0x0 - int32_t m_nPriority; // 0x8 + CUtlSymbolLarge m_strAnimationName; // 0x0 + int32_t m_nPriority; // 0x8 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 class CPassengerSeat { public: - CUtlSymbolLarge m_strSeatName; // 0x0 - AttachmentHandle_t m_nAttachmentID; // 0x8 - CUtlVector< CPassengerSeatTransition > m_EntryTransitions; // 0x10 - CUtlVector< CPassengerSeatTransition > m_ExitTransitions; // 0x28 + CUtlSymbolLarge m_strSeatName; // 0x0 + AttachmentHandle_t m_nAttachmentID; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 +public: + CUtlVector< CPassengerSeatTransition > m_EntryTransitions; // 0x10 + CUtlVector< CPassengerSeatTransition > m_ExitTransitions; // 0x28 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 class CPassengerRole { public: - CUtlSymbolLarge m_strName; // 0x0 - CUtlVector< CPassengerSeat > m_PassengerSeats; // 0x8 + CUtlSymbolLarge m_strName; // 0x0 + CUtlVector< CPassengerSeat > m_PassengerSeats; // 0x8 }; -// Aligment: 2 -// Size: 132 -struct CBaseServerVehicle::entryanim_t +// Alignment: 2 +// Size: 0x84 +struct CBaseServerVehicle__entryanim_t { public: - int32_t iHitboxGroup; // 0x0 - char[128] szAnimName; // 0x4 + int32_t iHitboxGroup; // 0x0 + char szAnimName[128]; // 0x4 }; -// Aligment: 5 -// Size: 156 -struct CBaseServerVehicle::exitanim_t +// Alignment: 5 +// Size: 0x9c +struct CBaseServerVehicle__exitanim_t { public: - bool bUpright; // 0x0 - bool bEscapeExit; // 0x1 - char[128] szAnimName; // 0x2 - Vector vecExitPointLocal; // 0x84 - QAngle vecExitAnglesLocal; // 0x90 + bool bUpright; // 0x0 + bool bEscapeExit; // 0x1 + char szAnimName[128]; // 0x2 +private: + [[maybe_unused]] uint8_t __pad0082[0x2]; // 0x82 +public: + Vector vecExitPointLocal; // 0x84 + QAngle vecExitAnglesLocal; // 0x90 }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 struct vehicle_gear_t { public: - float flMinSpeed; // 0x8 - float flMaxSpeed; // 0xc - float flSpeedApproachFactor; // 0x10 + float flMinSpeed; // 0x8 + float flMaxSpeed; // 0xc + float flSpeedApproachFactor; // 0x10 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 struct vehicle_crashsound_t { public: - float flMinSpeed; // 0x8 - float flMinDeltaSpeed; // 0xc - int32_t gearLimit; // 0x10 - CUtlSymbolLarge iszCrashSound; // 0x18 + float flMinSpeed; // 0x8 + float flMinDeltaSpeed; // 0xc + int32_t gearLimit; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CUtlSymbolLarge iszCrashSound; // 0x18 }; -// Aligment: 5 -// Size: 368 +// Alignment: 5 +// Size: 0x170 struct vehiclesounds_t { public: - CUtlVector< vehicle_gear_t > pGears; // 0x8 - CUtlVector< vehicle_crashsound_t > crashSounds; // 0x20 - CUtlSymbolLarge[9] iszSound; // 0x38 - CUtlSymbolLarge[20] iszStateSounds; // 0x80 - float32[20] minStateTime; // 0x120 + CUtlVector< vehicle_gear_t > pGears; // 0x8 + CUtlVector< vehicle_crashsound_t > crashSounds; // 0x20 + CUtlSymbolLarge iszSound[9]; // 0x38 + CUtlSymbolLarge iszStateSounds[20]; // 0x80 + float minStateTime[20]; // 0x120 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct ClusteredDistributionParams_t { public: - float m_flClusterCoverageFraction; // 0x0 - float m_flClusterArea; // 0x4 + float m_flClusterCoverageFraction; // 0x0 + float m_flClusterArea; // 0x4 }; -// Aligment: 8 -// Size: 48 +// Alignment: 8 +// Size: 0x30 struct VPhysicsCollisionAttribute_t { public: // MNetworkEnable - uint64_t m_nInteractsAs; // 0x8 + uint64_t m_nInteractsAs; // 0x8 // MNetworkEnable - uint64_t m_nInteractsWith; // 0x10 + uint64_t m_nInteractsWith; // 0x10 // MNetworkEnable - uint64_t m_nInteractsExclude; // 0x18 + uint64_t m_nInteractsExclude; // 0x18 // MNetworkEnable - uint32_t m_nEntityId; // 0x20 + uint32_t m_nEntityId; // 0x20 // MNetworkEnable - uint32_t m_nOwnerId; // 0x24 + uint32_t m_nOwnerId; // 0x24 // MNetworkEnable - uint16_t m_nHierarchyId; // 0x28 + uint16_t m_nHierarchyId; // 0x28 // MNetworkEnable - uint8_t m_nCollisionGroup; // 0x2a + uint8_t m_nCollisionGroup; // 0x2a // MNetworkEnable - uint8_t m_nCollisionFunctionMask; // 0x2b + uint8_t m_nCollisionFunctionMask; // 0x2b }; -// Aligment: 17 -// Size: 176 +// Alignment: 17 +// Size: 0xb0 class CCollisionProperty { public: // MNetworkEnable // MNetworkChangeCallback "CollisionAttributeChanged" - VPhysicsCollisionAttribute_t m_collisionAttribute; // 0x10 + VPhysicsCollisionAttribute_t m_collisionAttribute; // 0x10 // MNetworkEnable // MNetworkChangeCallback "OnUpdateOBB" - Vector m_vecMins; // 0x40 + Vector m_vecMins; // 0x40 // MNetworkEnable // MNetworkChangeCallback "OnUpdateOBB" - Vector m_vecMaxs; // 0x4c + Vector m_vecMaxs; // 0x4c +private: + [[maybe_unused]] uint8_t __pad0058[0x2]; // 0x58 +public: // MNetworkEnable // MNetworkChangeCallback "OnUpdateSolidFlags" - uint8_t m_usSolidFlags; // 0x5a + uint8_t m_usSolidFlags; // 0x5a // MNetworkEnable // MNetworkChangeCallback "OnUpdateSolidType" - SolidType_t m_nSolidType; // 0x5b + SolidType_t m_nSolidType; // 0x5b // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - uint8_t m_triggerBloat; // 0x5c + uint8_t m_triggerBloat; // 0x5c // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - SurroundingBoundsType_t m_nSurroundType; // 0x5d + SurroundingBoundsType_t m_nSurroundType; // 0x5d // MNetworkEnable - uint8_t m_CollisionGroup; // 0x5e + uint8_t m_CollisionGroup; // 0x5e // MNetworkEnable - bool m_bHitboxEnabled; // 0x5f - float m_flBoundingRadius; // 0x60 + bool m_bHitboxEnabled; // 0x5f + float m_flBoundingRadius; // 0x60 // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - Vector m_vecSpecifiedSurroundingMins; // 0x64 + Vector m_vecSpecifiedSurroundingMins; // 0x64 // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" - Vector m_vecSpecifiedSurroundingMaxs; // 0x70 - Vector m_vecSurroundingMaxs; // 0x7c - Vector m_vecSurroundingMins; // 0x88 + Vector m_vecSpecifiedSurroundingMaxs; // 0x70 + Vector m_vecSurroundingMaxs; // 0x7c + Vector m_vecSurroundingMins; // 0x88 // MNetworkEnable - Vector m_vCapsuleCenter1; // 0x94 + Vector m_vCapsuleCenter1; // 0x94 // MNetworkEnable - Vector m_vCapsuleCenter2; // 0xa0 + Vector m_vCapsuleCenter2; // 0xa0 // MNetworkEnable - float m_flCapsuleRadius; // 0xac + float m_flCapsuleRadius; // 0xac }; -// Aligment: 21 -// Size: 112 +// Alignment: 21 +// Size: 0x70 class CEffectData { public: // MNetworkEnable // MNetworkEncoder - Vector m_vOrigin; // 0x8 + Vector m_vOrigin; // 0x8 // MNetworkEnable // MNetworkEncoder - Vector m_vStart; // 0x14 + Vector m_vStart; // 0x14 // MNetworkEnable // MNetworkEncoder - Vector m_vNormal; // 0x20 + Vector m_vNormal; // 0x20 // MNetworkEnable // MNetworkEncoder - QAngle m_vAngles; // 0x2c + QAngle m_vAngles; // 0x2c // MNetworkEnable - CEntityHandle m_hEntity; // 0x38 + CEntityHandle m_hEntity; // 0x38 // MNetworkEnable - CEntityHandle m_hOtherEntity; // 0x3c + CEntityHandle m_hOtherEntity; // 0x3c // MNetworkEnable - float m_flScale; // 0x40 + float m_flScale; // 0x40 // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0" // MNetworkMaxValue "1023" // MNetworkEncodeFlags - float m_flMagnitude; // 0x44 + float m_flMagnitude; // 0x44 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "1023" // MNetworkEncodeFlags - float m_flRadius; // 0x48 + float m_flRadius; // 0x48 // MNetworkEnable - CUtlStringToken m_nSurfaceProp; // 0x4c + CUtlStringToken m_nSurfaceProp; // 0x4c // MNetworkEnable - CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > m_nEffectIndex; // 0x50 + CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > m_nEffectIndex; // 0x50 // MNetworkEnable - uint32_t m_nDamageType; // 0x58 + uint32_t m_nDamageType; // 0x58 // MNetworkEnable - uint8_t m_nPenetrate; // 0x5c + uint8_t m_nPenetrate; // 0x5c +private: + [[maybe_unused]] uint8_t __pad005d[0x1]; // 0x5d +public: // MNetworkEnable - uint16_t m_nMaterial; // 0x5e + uint16_t m_nMaterial; // 0x5e // MNetworkEnable - uint16_t m_nHitBox; // 0x60 + uint16_t m_nHitBox; // 0x60 // MNetworkEnable - uint8_t m_nColor; // 0x62 + uint8_t m_nColor; // 0x62 // MNetworkEnable - uint8_t m_fFlags; // 0x63 + uint8_t m_fFlags; // 0x63 // MNetworkEnable - AttachmentHandle_t m_nAttachmentIndex; // 0x64 + AttachmentHandle_t m_nAttachmentIndex; // 0x64 +private: + [[maybe_unused]] uint8_t __pad0065[0x3]; // 0x65 +public: // MNetworkEnable - CUtlStringToken m_nAttachmentName; // 0x68 + CUtlStringToken m_nAttachmentName; // 0x68 // MNetworkEnable - uint16_t m_iEffectName; // 0x6c + uint16_t m_iEffectName; // 0x6c // MNetworkEnable - uint8_t m_nExplosionType; // 0x6e + uint8_t m_nExplosionType; // 0x6e }; -// Aligment: 31 -// Size: 640 +// Alignment: 31 +// Size: 0x280 class CEnvWindShared { public: // MNetworkEnable - float m_flStartTime; // 0x8 + float m_flStartTime; // 0x8 // MNetworkEnable - uint32_t m_iWindSeed; // 0xc + uint32_t m_iWindSeed; // 0xc // MNetworkEnable - uint16_t m_iMinWind; // 0x10 + uint16_t m_iMinWind; // 0x10 // MNetworkEnable - uint16_t m_iMaxWind; // 0x12 + uint16_t m_iMaxWind; // 0x12 // MNetworkEnable - int32_t m_windRadius; // 0x14 + int32_t m_windRadius; // 0x14 // MNetworkEnable - uint16_t m_iMinGust; // 0x18 + uint16_t m_iMinGust; // 0x18 // MNetworkEnable - uint16_t m_iMaxGust; // 0x1a + uint16_t m_iMaxGust; // 0x1a // MNetworkEnable - float m_flMinGustDelay; // 0x1c + float m_flMinGustDelay; // 0x1c // MNetworkEnable - float m_flMaxGustDelay; // 0x20 + float m_flMaxGustDelay; // 0x20 // MNetworkEnable - float m_flGustDuration; // 0x24 + float m_flGustDuration; // 0x24 // MNetworkEnable - uint16_t m_iGustDirChange; // 0x28 + 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 + 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 + 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 - float m_flVariationTime; // 0xc0 - float m_flSwayTime; // 0xc4 - float m_flSimTime; // 0xc8 - float m_flSwitchTime; // 0xcc - float m_flAveWindSpeed; // 0xd0 - bool m_bGusting; // 0xd4 - float m_flWindAngleVariation; // 0xd8 - float m_flWindSpeedVariation; // 0xdc - CEntityIndex m_iEntIndex; // 0xe0 + float m_flInitialWindSpeed; // 0x6c + CEntityIOOutput m_OnGustStart; // 0x70 + CEntityIOOutput m_OnGustEnd; // 0x98 + float m_flVariationTime; // 0xc0 + float m_flSwayTime; // 0xc4 + float m_flSimTime; // 0xc8 + float 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 }; -// Aligment: 2 -// Size: 8 -struct CEnvWindShared::WindAveEvent_t +// Alignment: 2 +// Size: 0x8 +struct CEnvWindShared__WindAveEvent_t { public: - float m_flStartWindSpeed; // 0x0 - float m_flAveWindSpeed; // 0x4 + float m_flStartWindSpeed; // 0x0 + float m_flAveWindSpeed; // 0x4 }; -// Aligment: 2 -// Size: 8 -struct CEnvWindShared::WindVariationEvent_t +// Alignment: 2 +// Size: 0x8 +struct CEnvWindShared__WindVariationEvent_t { public: - float m_flWindAngleVariation; // 0x0 - float m_flWindSpeedVariation; // 0x4 + float m_flWindAngleVariation; // 0x0 + float m_flWindSpeedVariation; // 0x4 }; -// Aligment: 13 -// Size: 96 +// Alignment: 13 +// Size: 0x60 struct shard_model_desc_t { public: // MNetworkEnable - int32_t m_nModelID; // 0x8 + int32_t m_nModelID; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x10 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x10 // MNetworkEnable - ShardSolid_t m_solid; // 0x18 + ShardSolid_t m_solid; // 0x18 // MNetworkEnable - ShatterPanelMode m_ShatterPanelMode; // 0x19 + ShatterPanelMode m_ShatterPanelMode; // 0x19 +private: + [[maybe_unused]] uint8_t __pad001a[0x2]; // 0x1a +public: // MNetworkEnable - Vector2D m_vecPanelSize; // 0x1c + Vector2D m_vecPanelSize; // 0x1c // MNetworkEnable - Vector2D m_vecStressPositionA; // 0x24 + Vector2D m_vecStressPositionA; // 0x24 // MNetworkEnable - Vector2D m_vecStressPositionB; // 0x2c + Vector2D m_vecStressPositionB; // 0x2c +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: // MNetworkEnable - CNetworkUtlVectorBase< Vector2D > m_vecPanelVertices; // 0x38 + CNetworkUtlVectorBase< Vector2D > m_vecPanelVertices; // 0x38 // MNetworkEnable - float m_flGlassHalfThickness; // 0x50 + float m_flGlassHalfThickness; // 0x50 // MNetworkEnable - bool m_bHasParent; // 0x54 + bool m_bHasParent; // 0x54 // MNetworkEnable - bool m_bParentFrozen; // 0x55 + bool m_bParentFrozen; // 0x55 +private: + [[maybe_unused]] uint8_t __pad0056[0x2]; // 0x56 +public: // MNetworkEnable - CUtlStringToken m_SurfacePropStringToken; // 0x58 + CUtlStringToken m_SurfacePropStringToken; // 0x58 // MNetworkEnable - CUtlStringToken m_LightGroup; // 0x5c + CUtlStringToken m_LightGroup; // 0x5c }; -// Aligment: 30 -// Size: 192 +// Alignment: 30 +// Size: 0xc0 class CShatterGlassShard { 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 - float m_flPhysicsEntitySpawnedAtTime; // 0x9c - bool m_bShatterRateLimited; // 0xa0 - CHandle< CBaseEntity > m_hEntityHittingMe; // 0xa4 - CUtlVector< uint32 > m_vecNeighbors; // 0xa8 + 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: + float 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 }; -// Aligment: 2 -// Size: 144 +// Alignment: 2 +// Size: 0x90 class CGameRules { public: - char[128] m_szQuestName; // 0x8 - int32_t m_nQuestPhase; // 0x88 + char m_szQuestName[128]; // 0x8 + int32_t m_nQuestPhase; // 0x88 }; -// Aligment: 10 -// Size: 80 +// Alignment: 10 +// Size: 0x50 class CGlowProperty { public: - Vector m_fGlowColor; // 0x8 - int32_t m_iGlowTeam; // 0x14 + Vector m_fGlowColor; // 0x8 + int32_t m_iGlowTeam; // 0x14 +private: + [[maybe_unused]] uint8_t __pad0018[0x18]; // 0x18 +public: // MNetworkEnable // MNetworkChangeCallback "OnGlowTypeChanged" - int32_t m_iGlowType; // 0x30 + int32_t m_iGlowType; // 0x30 // MNetworkEnable - int32_t m_nGlowRange; // 0x34 + int32_t m_nGlowRange; // 0x34 // MNetworkEnable - int32_t m_nGlowRangeMin; // 0x38 + int32_t m_nGlowRangeMin; // 0x38 // MNetworkEnable // MNetworkChangeCallback "OnGlowColorChanged" - Color m_glowColorOverride; // 0x3c + Color m_glowColorOverride; // 0x3c // MNetworkEnable - bool m_bFlashing; // 0x40 + bool m_bFlashing; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: // MNetworkEnable - float m_flGlowTime; // 0x44 + float m_flGlowTime; // 0x44 // MNetworkEnable - float m_flGlowStartTime; // 0x48 - bool m_bGlowing; // 0x4c + float m_flGlowStartTime; // 0x48 + bool m_bGlowing; // 0x4c }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IVehicle { public: -// + // no members available }; -// Aligment: 0 -// Size: 144 +// Alignment: 0 +// Size: 0x90 class CMultiplayRules : public CGameRules { public: -// + // no members available }; -// Aligment: 24 -// Size: 104 +// Alignment: 24 +// Size: 0x68 struct fogparams_t { public: // MNetworkEnable // MNetworkEncoder - Vector dirPrimary; // 0x8 + Vector dirPrimary; // 0x8 // MNetworkEnable - Color colorPrimary; // 0x14 + Color colorPrimary; // 0x14 // MNetworkEnable - Color colorSecondary; // 0x18 + Color colorSecondary; // 0x18 // MNetworkEnable // MNetworkUserGroup "FogController" - Color colorPrimaryLerpTo; // 0x1c + Color colorPrimaryLerpTo; // 0x1c // MNetworkEnable // MNetworkUserGroup "FogController" - Color colorSecondaryLerpTo; // 0x20 + Color colorSecondaryLerpTo; // 0x20 // MNetworkEnable - float start; // 0x24 + float start; // 0x24 // MNetworkEnable - float end; // 0x28 + float end; // 0x28 // MNetworkEnable // MNetworkUserGroup "FogController" - float farz; // 0x2c + float farz; // 0x2c // MNetworkEnable - float maxdensity; // 0x30 + float maxdensity; // 0x30 // MNetworkEnable - float exponent; // 0x34 + float exponent; // 0x34 // MNetworkEnable - float HDRColorScale; // 0x38 + float HDRColorScale; // 0x38 // MNetworkEnable // MNetworkUserGroup "FogController" - float skyboxFogFactor; // 0x3c + float skyboxFogFactor; // 0x3c // MNetworkEnable // MNetworkUserGroup "FogController" - float skyboxFogFactorLerpTo; // 0x40 + float skyboxFogFactorLerpTo; // 0x40 // MNetworkEnable // MNetworkUserGroup "FogController" - float startLerpTo; // 0x44 + float startLerpTo; // 0x44 // MNetworkEnable // MNetworkUserGroup "FogController" - float endLerpTo; // 0x48 + float endLerpTo; // 0x48 // MNetworkEnable // MNetworkUserGroup "FogController" - float maxdensityLerpTo; // 0x4c + float maxdensityLerpTo; // 0x4c // MNetworkEnable // MNetworkUserGroup "FogController" - float lerptime; // 0x50 + float lerptime; // 0x50 // MNetworkEnable // MNetworkUserGroup "FogController" - float duration; // 0x54 + float duration; // 0x54 // MNetworkEnable // MNetworkUserGroup "FogController" - float blendtobackground; // 0x58 + float blendtobackground; // 0x58 // MNetworkEnable // MNetworkUserGroup "FogController" - float scattering; // 0x5c + float scattering; // 0x5c // MNetworkEnable - bool enable; // 0x60 + bool enable; // 0x60 // MNetworkEnable - bool blend; // 0x61 + bool blend; // 0x61 // MNetworkEnable - bool m_bNoReflectionFog; // 0x62 - bool m_bPadding; // 0x63 + bool m_bNoReflectionFog; // 0x62 + bool m_bPadding; // 0x63 }; -// Aligment: 14 -// Size: 64 +// 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 + 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 }; -// Aligment: 6 -// Size: 144 +// Alignment: 6 +// Size: 0x90 struct sky3dparams_t { public: // MNetworkEnable - int16_t scale; // 0x8 + int16_t scale; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa +public: // MNetworkEnable // MNetworkEncoder - Vector origin; // 0xc + Vector origin; // 0xc // MNetworkEnable - bool bClip3DSkyBoxNearToWorldFar; // 0x18 + bool bClip3DSkyBoxNearToWorldFar; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: // MNetworkEnable - float flClip3DSkyBoxNearToWorldFarOffset; // 0x1c + float flClip3DSkyBoxNearToWorldFarOffset; // 0x1c // MNetworkEnable - fogparams_t fog; // 0x20 + fogparams_t fog; // 0x20 // MNetworkEnable - CUtlStringToken m_nWorldGroupID; // 0x88 + CUtlStringToken m_nWorldGroupID; // 0x88 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IRagdoll { public: -// + // no members available }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 struct ragdollelement_t { public: - Vector originParentSpace; // 0x0 - int32_t parentIndex; // 0x20 - float m_flRadius; // 0x24 + Vector originParentSpace; // 0x0 + int32_t parentIndex; // 0x20 + float m_flRadius; // 0x24 }; -// Aligment: 4 -// Size: 56 +// Alignment: 4 +// Size: 0x38 struct ragdoll_t { public: - CUtlVector< ragdollelement_t > list; // 0x0 - CUtlVector< int32 > boneIndex; // 0x18 - bool allowStretch; // 0x30 - bool unused; // 0x31 + CUtlVector< ragdollelement_t > list; // 0x0 + CUtlVector< int32 > boneIndex; // 0x18 + bool allowStretch; // 0x30 + bool unused; // 0x31 }; -// Aligment: 17 -// Size: 96 +// 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 - float m_flInitialYaw; // 0x14 - float m_flTargetYaw; // 0x18 - float m_flFacingYaw; // 0x1c - int32_t m_nType; // 0x20 - float 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 + 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 + float 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 }; -// Aligment: 4 -// Size: 40 +// Alignment: 4 +// Size: 0x28 class CSequenceTransitioner { public: - CUtlVector< CAnimationLayer > m_animationQueue; // 0x0 - bool m_bIsInSimulation; // 0x18 - float m_flSimOrRenderTime; // 0x1c - float m_flInterpolatedTime; // 0x20 + CUtlVector< CAnimationLayer > m_animationQueue; // 0x0 + bool m_bIsInSimulation; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + float m_flSimOrRenderTime; // 0x1c + float m_flInterpolatedTime; // 0x20 }; -// Aligment: 7 -// Size: 96 +// Alignment: 7 +// Size: 0x60 struct TransitioningLayer_t { public: - CNetworkedSequenceOperation m_op; // 0x8 - float m_flStartAnimTime; // 0x48 - float m_flStartWeight; // 0x4c - float m_flAnimTime; // 0x50 - int32_t m_nOrder; // 0x54 - float m_flPlaybackRate; // 0x58 - float m_flFadeOutDuration; // 0x5c + CNetworkedSequenceOperation m_op; // 0x8 + float m_flStartAnimTime; // 0x48 + float m_flStartWeight; // 0x4c + float m_flAnimTime; // 0x50 + int32_t m_nOrder; // 0x54 + float m_flPlaybackRate; // 0x58 + float m_flFadeOutDuration; // 0x5c }; -// Aligment: 5 -// Size: 472 +// Alignment: 5 +// Size: 0x1d8 class CSequenceTransitioner2 { public: - CNetworkedSequenceOperation m_currentOp; // 0x8 - float m_flCurrentPlaybackRate; // 0x48 - float m_flCurrentAnimTime; // 0x4c - TransitioningLayer_t[4] m_transitioningLayers; // 0x50 - CBaseAnimatingController* m_pOwner; // 0x1d0 + CNetworkedSequenceOperation m_currentOp; // 0x8 + float m_flCurrentPlaybackRate; // 0x48 + float m_flCurrentAnimTime; // 0x4c + TransitioningLayer_t m_transitioningLayers[4]; // 0x50 + CBaseAnimatingController* m_pOwner; // 0x1d0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct ParticleIndex_t { public: - int32_t m_nBoxedTypeSafeInt; // 0x0 + int32_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 1 -// Size: 1 +// Alignment: 1 +// Size: 0x1 struct AmmoIndex_t { public: - int8_t m_nBoxedTypeSafeInt; // 0x0 + int8_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 0 -// Size: 40 +// Alignment: 0 +// Size: 0x28 class CEntitySubclassVDataBase { public: -// + // no members available }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 struct thinkfunc_t { public: - HSCRIPT m_hFn; // 0x8 - CUtlStringToken m_nContext; // 0x10 - int32_t m_nNextThinkTick; // 0x14 - int32_t m_nLastThinkTick; // 0x18 + HSCRIPT m_hFn; // 0x8 + CUtlStringToken m_nContext; // 0x10 + int32_t m_nNextThinkTick; // 0x14 + int32_t m_nLastThinkTick; // 0x18 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct RagdollCreationParams_t { public: - Vector m_vForce; // 0x0 - int32_t m_nForceBone; // 0xc + Vector m_vForce; // 0x0 + int32_t m_nForceBone; // 0xc }; -// Aligment: 10 -// Size: 36 +// Alignment: 10 +// Size: 0x24 struct hudtextparms_t { public: - Color color1; // 0x0 - Color color2; // 0x4 - uint8_t effect; // 0x8 - uint8_t channel; // 0x9 - float x; // 0xc - float y; // 0x10 - float fadeinTime; // 0x14 - float fadeoutTime; // 0x18 - float holdTime; // 0x1c - float fxTime; // 0x20 + 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 + float fadeinTime; // 0x14 + float fadeoutTime; // 0x18 + float holdTime; // 0x1c + float fxTime; // 0x20 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 class CSimpleSimTimer { public: - float m_next; // 0x0 + float m_next; // 0x0 }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 class CSimTimer : public CSimpleSimTimer { public: - float m_interval; // 0x4 + float m_interval; // 0x4 }; -// Aligment: 2 -// Size: 12 +// Alignment: 2 +// Size: 0xc class CRandSimTimer : public CSimpleSimTimer { public: - float m_minInterval; // 0x4 - float m_maxInterval; // 0x8 + float m_minInterval; // 0x4 + float m_maxInterval; // 0x8 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CStopwatchBase : public CSimpleSimTimer { public: - bool m_fIsRunning; // 0xc + bool m_fIsRunning; // 0xc }; -// Aligment: 1 -// Size: 24 -class CStopwatch : public CStopwatchBase, CSimpleSimTimer +// Alignment: 1 +// Size: 0x18 +class CStopwatch : public CStopwatchBase { public: - float m_interval; // 0x10 + float m_interval; // 0x10 }; -// Aligment: 2 -// Size: 24 -class CRandStopwatch : public CStopwatchBase, CSimpleSimTimer +// Alignment: 2 +// Size: 0x18 +class CRandStopwatch : public CStopwatchBase { public: - float m_minInterval; // 0x10 - float m_maxInterval; // 0x14 + float m_minInterval; // 0x10 + float m_maxInterval; // 0x14 }; -// Aligment: 1 -// Size: 152 +// Alignment: 1 +// Size: 0x98 class CSingleplayRules : public CGameRules { public: - bool m_bSinglePlayerGameEnding; // 0x90 + bool m_bSinglePlayerGameEnding; // 0x90 }; -// Aligment: 15 -// Size: 160 +// Alignment: 15 +// 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 - float m_flOriginalDamage; // 0x60 - TakeDamageFlags_t m_nDamageFlags; // 0x70 - HSCRIPT m_hScriptInstance; // 0x78 - bool m_bInTakeDamageFlow; // 0x98 + 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: - static CTakeDamageInfo &Get_EmptyInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTakeDamageInfo")->m_static_fiels[0]->m_instance); } + float m_flOriginalDamage; // 0x60 +private: + [[maybe_unused]] uint8_t __pad0064[0xc]; // 0x64 +public: + TakeDamageFlags_t m_nDamageFlags; // 0x70 +private: + [[maybe_unused]] uint8_t __pad0072[0x6]; // 0x72 +public: + 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);}; }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CTakeDamageResult { public: - int32_t m_nHealthLost; // 0x0 - int32_t m_nDamageTaken; // 0x4 + int32_t m_nHealthLost; // 0x0 + int32_t m_nDamageTaken; // 0x4 }; -// Aligment: 4 -// Size: 184 +// Alignment: 4 +// Size: 0xb8 struct SummaryTakeDamageInfo_t { public: - int32_t nSummarisedCount; // 0x0 - CTakeDamageInfo info; // 0x8 - CTakeDamageResult result; // 0xa8 - CHandle< CBaseEntity > hTarget; // 0xb0 + int32_t nSummarisedCount; // 0x0 + CTakeDamageInfo info; // 0x8 + CTakeDamageResult result; // 0xa8 + CHandle< CBaseEntity > hTarget; // 0xb0 }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 class CTakeDamageSummaryScopeGuard { public: - CUtlVector< SummaryTakeDamageInfo_t* > m_vecSummaries; // 0x8 -public: - static SummaryTakeDamageInfo_t &Get_EmptySummary() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTakeDamageSummaryScopeGuard")->m_static_fiels[0]->m_instance); } + 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);}; }; -// Aligment: 0 -// Size: 144 -class CTeamplayRules : public CMultiplayRules, CGameRules +// Alignment: 0 +// Size: 0x90 +class CTeamplayRules : public CMultiplayRules { public: -// + // no members available }; -// Aligment: 4 -// Size: 16 +// Alignment: 4 +// Size: 0x10 struct ViewLockData_t { public: - float flLockInterval; // 0x0 - bool bLocked; // 0x4 - float flUnlockTime; // 0x8 - float flUnlockBlendInterval; // 0xc + float flLockInterval; // 0x0 + bool bLocked; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + float flUnlockTime; // 0x8 + float flUnlockBlendInterval; // 0xc }; -// Aligment: 18 -// Size: 128 +// Alignment: 18 +// Size: 0x80 struct ViewSmoothingData_t { public: - CBaseAnimating* pVehicle; // 0x0 - bool bClampEyeAngles; // 0x8 - float flPitchCurveZero; // 0xc - float flPitchCurveLinear; // 0x10 - float flRollCurveZero; // 0x14 - float flRollCurveLinear; // 0x18 - float flFOV; // 0x1c - ViewLockData_t pitchLockData; // 0x20 - ViewLockData_t rollLockData; // 0x30 - bool bDampenEyePosition; // 0x40 - bool bRunningEnterExit; // 0x41 - bool bWasRunningAnim; // 0x42 - float flEnterExitStartTime; // 0x44 - float flEnterExitDuration; // 0x48 - QAngle vecAnglesSaved; // 0x4c - Vector vecOriginSaved; // 0x58 - QAngle vecAngleDiffSaved; // 0x64 - QAngle vecAngleDiffMin; // 0x70 + CBaseAnimating* pVehicle; // 0x0 + bool bClampEyeAngles; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x3]; // 0x9 +public: + float flPitchCurveZero; // 0xc + float flPitchCurveLinear; // 0x10 + float flRollCurveZero; // 0x14 + float flRollCurveLinear; // 0x18 + float flFOV; // 0x1c + ViewLockData_t pitchLockData; // 0x20 + ViewLockData_t rollLockData; // 0x30 + bool bDampenEyePosition; // 0x40 + bool bRunningEnterExit; // 0x41 + bool bWasRunningAnim; // 0x42 +private: + [[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43 +public: + float flEnterExitStartTime; // 0x44 + float flEnterExitDuration; // 0x48 + QAngle vecAnglesSaved; // 0x4c + Vector vecOriginSaved; // 0x58 + QAngle vecAngleDiffSaved; // 0x64 + QAngle vecAngleDiffMin; // 0x70 }; -// Aligment: 3 -// Size: 20 +// Alignment: 3 +// Size: 0x14 struct UnreachableEnt_t { public: - CHandle< CBaseEntity > hUnreachableEnt; // 0x0 - float fExpireTime; // 0x4 - Vector vLocationWhenUnreachable; // 0x8 + CHandle< CBaseEntity > hUnreachableEnt; // 0x0 + float fExpireTime; // 0x4 + Vector vLocationWhenUnreachable; // 0x8 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct AI_SchedLoadStatus_t { public: - bool bValid; // 0x0 - int32_t nSignature; // 0x4 + bool bValid; // 0x0 + int32_t nSignature; // 0x4 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct NPCAttachmentSpawnKV_t { public: - CUtlString m_sKey; // 0x0 - CUtlString m_sValue; // 0x8 + CUtlString m_sKey; // 0x0 + CUtlString m_sValue; // 0x8 }; -// Aligment: 5 -// Size: 280 +// Alignment: 5 +// Size: 0x118 struct NPCAttachmentDesc_t { public: - CUtlString m_sAttachmentName; // 0x0 - CUtlString m_sEntityName; // 0x8 - Vector m_vOffset; // 0x10 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x20 - CUtlVector< NPCAttachmentSpawnKV_t > m_vecSpawnKV; // 0x100 + CUtlString m_sAttachmentName; // 0x0 + CUtlString m_sEntityName; // 0x8 + Vector m_vOffset; // 0x10 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x20 + CUtlVector< NPCAttachmentSpawnKV_t > m_vecSpawnKV; // 0x100 }; -// Aligment: 11 -// Size: 424 +// Alignment: 11 +// Size: 0x1a8 class CAI_BaseNPCVData : public CEntitySubclassVDataBase { public: // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 // MPropertyGroupName "Sounds" - CFootstepTableHandle m_hFootstepSounds; // 0x108 - int32_t m_nMaxHealth; // 0x110 - CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x118 - CUtlVector< NPCAttachmentDesc_t > m_vecAttachments; // 0x130 + CFootstepTableHandle m_hFootstepSounds; // 0x108 + int32_t m_nMaxHealth; // 0x110 +private: + [[maybe_unused]] uint8_t __pad0114[0x4]; // 0x114 +public: + CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x118 + CUtlVector< NPCAttachmentDesc_t > m_vecAttachments; // 0x130 // MPropertyGroupName "Damage" - CSkillFloat m_flHeadDamageMultiplier; // 0x148 + CSkillFloat m_flHeadDamageMultiplier; // 0x148 // MPropertyGroupName "Damage" - CSkillFloat m_flChestDamageMultiplier; // 0x158 + CSkillFloat m_flChestDamageMultiplier; // 0x158 // MPropertyGroupName "Damage" - CSkillFloat m_flStomachDamageMultiplier; // 0x168 + CSkillFloat m_flStomachDamageMultiplier; // 0x168 // MPropertyGroupName "Damage" - CSkillFloat m_flArmDamageMultiplier; // 0x178 + CSkillFloat m_flArmDamageMultiplier; // 0x178 // MPropertyGroupName "Damage" - CSkillFloat m_flLegDamageMultiplier; // 0x188 + CSkillFloat m_flLegDamageMultiplier; // 0x188 // MPropertyGroupName "Damage" - CSkillInt m_nMaxAdditionalAmmoBalancingShots; // 0x198 + CSkillInt m_nMaxAdditionalAmmoBalancingShots; // 0x198 }; -// Aligment: 4 -// Size: 48 +// Alignment: 4 +// Size: 0x30 class CAI_BehaviorHost { public: - CAI_BehaviorBase* m_pPrimaryBehavior; // 0x0 - CAI_DefaultNPC* m_pOuter; // 0x8 - CUtlVector< CAI_BehaviorBase* > m_Behaviors; // 0x10 - bool m_bCalledBehaviorSelectSchedule; // 0x28 + CAI_BehaviorBase* m_pPrimaryBehavior; // 0x0 + CAI_DefaultNPC* m_pOuter; // 0x8 + CUtlVector< CAI_BehaviorBase* > m_Behaviors; // 0x10 + bool m_bCalledBehaviorSelectSchedule; // 0x28 }; -// Aligment: 5 -// Size: 36 +// Alignment: 5 +// Size: 0x24 struct LastIncomingHit_t { public: - Vector vecDir; // 0x0 - Vector vecBoneLocalPos; // 0xc - int32_t nHitboxBoneIndex; // 0x18 - float flHitStrength; // 0x1c - int32_t nDamageType; // 0x20 + Vector vecDir; // 0x0 + Vector vecBoneLocalPos; // 0xc + int32_t nHitboxBoneIndex; // 0x18 + float flHitStrength; // 0x1c + int32_t nDamageType; // 0x20 }; -// Aligment: 0 -// Size: 24 +// Alignment: 0 +// Size: 0x18 class CAI_Component { public: -// + // no members available }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct ConditionId_t { public: - int32_t m_nBoxedTypeSafeInt; // 0x0 + int32_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 0 -// Size: 32 +// Alignment: 0 +// Size: 0x20 class CAI_ScheduleBits { public: -// + // no members available }; -// Aligment: 6 -// Size: 56 +// Alignment: 6 +// Size: 0x38 class CAI_EnemyServices : public CAI_Component { public: - CHandle< CBaseEntity > m_hEnemy; // 0x18 - CHandle< CBaseEntity > m_hLastEnemy; // 0x1c - float m_flTimeEnemyAcquired; // 0x20 - float m_flTimeLastHadEnemy; // 0x24 - int32_t m_nEnemiesSerialNumber; // 0x28 - CHandle< CBaseEntity > m_hEnemyOccluder; // 0x2c + CHandle< CBaseEntity > m_hEnemy; // 0x18 + CHandle< CBaseEntity > m_hLastEnemy; // 0x1c + float m_flTimeEnemyAcquired; // 0x20 + float m_flTimeLastHadEnemy; // 0x24 + int32_t m_nEnemiesSerialNumber; // 0x28 + CHandle< CBaseEntity > m_hEnemyOccluder; // 0x2c }; -// Aligment: 11 -// Size: 64 +// Alignment: 11 +// Size: 0x40 class HintNodeData { public: - CUtlSymbolLarge strEntityName; // 0x0 - int16_t nHintType; // 0x8 - int32_t nNodeID; // 0xc - CUtlSymbolLarge strGroup; // 0x10 - int32_t iDisabled; // 0x18 - CUtlSymbolLarge iszGenericType; // 0x20 - CUtlSymbolLarge iszActivityName; // 0x28 - HintIgnoreFacing_t fIgnoreFacing; // 0x30 - NPC_STATE minState; // 0x34 - NPC_STATE maxState; // 0x38 - int32_t nRadius; // 0x3c + CUtlSymbolLarge strEntityName; // 0x0 + int16_t nHintType; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa +public: + int32_t nNodeID; // 0xc + CUtlSymbolLarge strGroup; // 0x10 + int32_t iDisabled; // 0x18 +private: + [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c +public: + CUtlSymbolLarge iszGenericType; // 0x20 + CUtlSymbolLarge iszActivityName; // 0x28 + HintIgnoreFacing_t fIgnoreFacing; // 0x30 + NPC_STATE minState; // 0x34 + NPC_STATE maxState; // 0x38 + int32_t nRadius; // 0x3c }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 class CAI_MoveMonitor { public: - Vector m_vMark; // 0x0 - float m_flMarkTolerance; // 0xc + Vector m_vMark; // 0x0 + float m_flMarkTolerance; // 0xc }; -// Aligment: 8 -// Size: 32 +// Alignment: 8 +// Size: 0x20 struct AIScheduleState_t { public: - int32_t iCurTask; // 0x0 - TaskStatus_e nTaskStatus; // 0x4 - float timeStarted; // 0x8 - float timeCurTaskStarted; // 0xc - int64_t taskFailureCode; // 0x10 - int32_t iTaskInterrupt; // 0x18 - bool bTaskRanAutomovement; // 0x1c - bool bScheduleWasInterrupted; // 0x1d + int32_t iCurTask; // 0x0 + TaskStatus_e nTaskStatus; // 0x4 + float timeStarted; // 0x8 + float timeCurTaskStarted; // 0xc + int64_t taskFailureCode; // 0x10 + int32_t iTaskInterrupt; // 0x18 + bool bTaskRanAutomovement; // 0x1c + bool bScheduleWasInterrupted; // 0x1d }; -// Aligment: 5 -// Size: 112 +// Alignment: 5 +// Size: 0x70 class CAI_Scheduler : public CAI_Component { public: - AIScheduleState_t m_ScheduleState; // 0x18 - CUtlSymbolLarge m_failSchedule; // 0x40 - CUtlSymbolLarge m_untranslatedSchedule; // 0x48 - char* m_szFailText; // 0x58 - char* m_szInterruptText; // 0x68 + AIScheduleState_t m_ScheduleState; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 public: - static int32_t &Get_ms_nTasksRun() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_Scheduler")->m_static_fiels[0]->m_instance); } + CUtlSymbolLarge m_failSchedule; // 0x40 + CUtlSymbolLarge m_untranslatedSchedule; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0050[0x8]; // 0x50 +public: + char* m_szFailText; // 0x58 +private: + [[maybe_unused]] uint8_t __pad0060[0x8]; // 0x60 +public: + char* m_szInterruptText; // 0x68 + static int32_t &Get_ms_nTasksRun(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_Scheduler")->m_static_fields[0]->m_instance);}; }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 class CAI_ProxTester { public: - float m_distSq; // 0x0 - bool m_fInside; // 0x4 + float m_distSq; // 0x0 + bool m_fInside; // 0x4 }; -// Aligment: 3 -// Size: 20 +// Alignment: 3 +// Size: 0x14 class CAI_ScriptConditionsElement { public: - CHandle< CBaseEntity > m_hActor; // 0x0 - CSimTimer m_Timer; // 0x4 - CSimTimer m_Timeout; // 0xc + CHandle< CBaseEntity > m_hActor; // 0x0 + CSimTimer m_Timer; // 0x4 + CSimTimer m_Timeout; // 0xc }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 struct SquadModeInfo_t { public: - CUtlVector< SquadSlotId_t > m_vecSlots; // 0x10 + CUtlVector< SquadSlotId_t > m_vecSlots; // 0x10 }; -// Aligment: 3 -// Size: 20 +// Alignment: 3 +// Size: 0x14 struct AISquadEnemyInfo_t { public: - CHandle< CBaseEntity > hEnemy; // 0x0 - CBitVec< 48 > slots; // 0x4 - CBitVec< 48 > inactive_slots_by_mode; // 0xc + CHandle< CBaseEntity > hEnemy; // 0x0 + CBitVec< 48 > slots; // 0x4 + CBitVec< 48 > inactive_slots_by_mode; // 0xc }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc struct SquadSlotNPCEntry_t { public: - SquadSlotId_t nId; // 0x0 - CHandle< CBaseEntity > hEnemy; // 0x4 - bool bHoldForManualRelease; // 0x8 + SquadSlotId_t nId; // 0x0 + CHandle< CBaseEntity > hEnemy; // 0x4 + bool bHoldForManualRelease; // 0x8 }; -// Aligment: 9 -// Size: 48 +// Alignment: 9 +// Size: 0x30 struct AI_FreePassParams_t { public: - float timeToTrigger; // 0x8 - float duration; // 0xc - float moveTolerance; // 0x10 - float refillRate; // 0x14 - float coverDist; // 0x18 - float peekTime; // 0x1c - float peekTimeAfterDamage; // 0x20 - float peekEyeDist; // 0x24 - float peekEyeDistZ; // 0x28 + float timeToTrigger; // 0x8 + float duration; // 0xc + float moveTolerance; // 0x10 + float refillRate; // 0x14 + float coverDist; // 0x18 + float peekTime; // 0x1c + float peekTimeAfterDamage; // 0x20 + float peekEyeDist; // 0x24 + float peekEyeDistZ; // 0x28 }; -// Aligment: 4 -// Size: 96 +// Alignment: 4 +// Size: 0x60 class CAI_FreePass : public CAI_Component { public: - CHandle< CBaseEntity > m_hTarget; // 0x18 - float m_FreePassTimeRemaining; // 0x1c - CAI_MoveMonitor m_FreePassMoveMonitor; // 0x20 - AI_FreePassParams_t m_Params; // 0x30 + CHandle< CBaseEntity > m_hTarget; // 0x18 + float m_FreePassTimeRemaining; // 0x1c + CAI_MoveMonitor m_FreePassMoveMonitor; // 0x20 + AI_FreePassParams_t m_Params; // 0x30 }; -// Aligment: 6 -// Size: 56 +// Alignment: 6 +// Size: 0x38 struct NPCAbilityPickupBehavior_t { public: - AbilityPickupBehaviorType_t m_behaviorType; // 0x0 + AbilityPickupBehaviorType_t m_behaviorType; // 0x0 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantSpecifiedAmmo" // MPropertyDescription "The type of ammo to grant to a player or NPC. Only grants it to players/NPCs who can use that ammo type." - CUtlString m_sAmmoType; // 0x8 + CUtlString m_sAmmoType; // 0x8 // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantDroppedAmmo" - bool m_bAllowNPCsToPickUpDroppedAmmo; // 0x10 + bool m_bAllowNPCsToPickUpDroppedAmmo; // 0x10 // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantSpecifiedAmmo" - bool m_bAllowNPCsToPickUpSpecifiedAmmo; // 0x11 + bool m_bAllowNPCsToPickUpSpecifiedAmmo; // 0x11 +private: + [[maybe_unused]] uint8_t __pad0012[0x6]; // 0x12 +public: // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantSpecifiedNPCAbility" // MPropertyDescription "The NPC ability type to grant. Only grants it to NPCs which have been marked as being able to use this ability type." - CSubclassName< 6 > m_sNPCAbilityName; // 0x18 + CSubclassName< 6 > m_sNPCAbilityName; // 0x18 // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantPlayerWeapon" // MPropertyDescription "The player weapon to grant." - CSubclassName< 3 > m_sPlayerWeaponName; // 0x28 + CSubclassName< 3 > m_sPlayerWeaponName; // 0x28 }; -// Aligment: 5 -// Size: 48 +// Alignment: 5 +// Size: 0x30 struct NPCAbilityDropBehavior_t { public: - AbilityDropBehaviorType_t m_behaviorType; // 0x0 + AbilityDropBehaviorType_t m_behaviorType; // 0x0 // MPropertySuppressExpr "m_behaviorType != eAbilityDropBehavior_AddIntAttributeToAbilityModel" // MPropertyDescription "Name of the Int attribute to add to the ability model being dropped." - CUtlString m_sIntAttrName; // 0x8 + CUtlString m_sIntAttrName; // 0x8 // MPropertySuppressExpr "m_behaviorType != eAbilityDropBehavior_AddIntAttributeToAbilityModel" // MPropertyDescription "Value of the Int attribute to add to the ability model being dropped." - int32_t m_nIntAttrValue; // 0x10 + int32_t m_nIntAttrValue; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: // MPropertySuppressExpr "m_behaviorType != eAbilityDropBehavior_CreateEntityBySubclass" // MPropertyDescription "Name of the misc subclass to create" - CSubclassNameGeneric m_sSubclass; // 0x18 + CSubclassNameGeneric m_sSubclass; // 0x18 // MPropertySuppressExpr "m_behaviorType != eAbilityDropBehavior_SetGravityScale" // MPropertyDescription "Name of the misc subclass to create" - float m_flGravityScale; // 0x28 + float m_flGravityScale; // 0x28 }; -// Aligment: 6 -// Size: 40 +// Alignment: 6 +// Size: 0x28 struct NPCAbilityTarget_t { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_NetworkVar_PathIndex; // 0x8 + ChangeAccessorFieldPathIndex_t m_NetworkVar_PathIndex; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa +public: // MNetworkEnable - CHandle< CBaseEntity > m_hTargetEntity; // 0xc + CHandle< CBaseEntity > m_hTargetEntity; // 0xc // MNetworkEnable - BodyLocations_t m_locTargetEntityBodyLocation; // 0x10 + BodyLocations_t m_locTargetEntityBodyLocation; // 0x10 // MNetworkEnable - TargetOriginType_t m_locGatherTargetEntityOriginType; // 0x14 + TargetOriginType_t m_locGatherTargetEntityOriginType; // 0x14 // MNetworkEnable - TargetOriginType_t m_locUsageTargetEntityOriginType; // 0x18 + TargetOriginType_t m_locUsageTargetEntityOriginType; // 0x18 // MNetworkEnable - Vector m_vecWorldPosition; // 0x1c + Vector m_vecWorldPosition; // 0x1c }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 struct NPCAbilityDesc_t { public: - CSubclassName< 6 > m_sAbilityName; // 0x0 - CSubclassName< 6 > m_sPrimaryLinkedAbilityName; // 0x10 + CSubclassName< 6 > m_sAbilityName; // 0x0 + CSubclassName< 6 > m_sPrimaryLinkedAbilityName; // 0x10 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct AI_TaskVData_t { public: - CUtlString m_sTask; // 0x0 - CUtlString m_sParam; // 0x8 + CUtlString m_sTask; // 0x0 + CUtlString m_sParam; // 0x8 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 struct AI_ScheduleVData_t { public: - CUtlString m_sSchedule; // 0x0 - bool m_bFlag_Ability; // 0x8 - CUtlVector< AI_TaskVData_t > m_vecTasks; // 0x10 - CUtlVector< CUtlString > m_vecInterrupts; // 0x28 + CUtlString m_sSchedule; // 0x0 + bool m_bFlag_Ability; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 +public: + CUtlVector< AI_TaskVData_t > m_vecTasks; // 0x10 + CUtlVector< CUtlString > m_vecInterrupts; // 0x28 }; -// Aligment: 20 -// Size: 640 -class CAI_DefaultNPCVData : public CAI_BaseNPCVData, CEntitySubclassVDataBase +// Alignment: 20 +// Size: 0x280 +class CAI_DefaultNPCVData : public CAI_BaseNPCVData { public: - Class_T m_nClassifyAs; // 0x1a8 + Class_T m_nClassifyAs; // 0x1a8 // MPropertyGroupName "Flinching" - CRangeFloat m_flInterruptFlinchCooldown; // 0x1ac + CRangeFloat m_flInterruptFlinchCooldown; // 0x1ac // MPropertyGroupName "Flinching" - CRangeFloat m_flNonInterruptFlinchCooldown; // 0x1b4 + CRangeFloat m_flNonInterruptFlinchCooldown; // 0x1b4 // MPropertyGroupName "Flinching" // MPropertyDescription "When checking for flinch movement clearance, this is the minimum distance that must be clear for us to do a large flinch." - float m_flFlinchClearDistanceForLarge; // 0x1bc + float m_flFlinchClearDistanceForLarge; // 0x1bc // MPropertyGroupName "Flinching" // MPropertyDescription "When checking for flinch movement clearance, this is the minimum distance that must be clear for us to do a small flinch. If this distance isn't clear, we'll choose a stationary flinch." - float m_flFlinchClearDistanceForSmall; // 0x1c0 + float m_flFlinchClearDistanceForSmall; // 0x1c0 // MPropertyGroupName "Flinching" // MPropertyDescription "when hit by DMG_TMPRAGDOLL, this is the minimum amount of time this npc will stay in tmp ragdoll (scaled by damage)" - CSkillFloat m_flTmpRagdollDamageTimeMin; // 0x1c4 + CSkillFloat m_flTmpRagdollDamageTimeMin; // 0x1c4 // MPropertyGroupName "Flinching" // MPropertyDescription "when hit by DMG_TMPRAGDOLL, this is the maximum amount of time this npc will stay in tmp ragdoll (scaled by damage)" - CSkillFloat m_flTmpRagdollDamageTimeMax; // 0x1d4 + CSkillFloat m_flTmpRagdollDamageTimeMax; // 0x1d4 +private: + [[maybe_unused]] uint8_t __pad01e4[0x4]; // 0x1e4 +public: // MPropertyGroupName "Sounds" - CSoundEventName m_sDeathSound; // 0x1e8 + CSoundEventName m_sDeathSound; // 0x1e8 // MPropertyGroupName "Sounds" - CSoundEventName m_sPainSound; // 0x1f8 + CSoundEventName m_sPainSound; // 0x1f8 // MPropertyDescription "If the distance between the nearest point on a hitscan bullet's trajectory and this NPC's eyes is less than this react amount, this NPC will be notified of the incoming fire via the WarnOfIncomingFire() virtual." - CRangeFloat m_flIncomingFireDistance; // 0x208 + CRangeFloat m_flIncomingFireDistance; // 0x208 // MPropertyDescription "Abilities are things like alt-fire or even weapon upgrades" - CUtlVector< NPCAbilityDesc_t > m_vecAbilities; // 0x210 + CUtlVector< NPCAbilityDesc_t > m_vecAbilities; // 0x210 // MPropertyFriendlyName "Auto Unholster Held Ability" // MPropertyDescription "If set, the NPC will automatically unholster the first held ability it's granted." - bool m_bAutoUnholsterHeldAbility; // 0x228 + bool m_bAutoUnholsterHeldAbility; // 0x228 // MPropertyGroupName "Throw & Catch" - bool m_bCatchThrownProps; // 0x229 + bool m_bCatchThrownProps; // 0x229 // MPropertyGroupName "Throw & Catch" // MPropertyDescription "If already holding an item, drop it when another item is thrown at us." // MPropertySuppressExpr "m_bCatchThrownProps == 0" - bool m_bDropHeldItemOnThrownCollision; // 0x22a + bool m_bDropHeldItemOnThrownCollision; // 0x22a +private: + [[maybe_unused]] uint8_t __pad022b[0x5]; // 0x22b +public: // MPropertyGroupName "Throw & Catch" // MPropertyDescription "Graph param that will be set when the entity knows something has been thrown to them (the prop is still in the air)" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" // MPropertySuppressExpr "m_bCatchThrownProps == 0" - CUtlString m_sReadyCatchAnimgraphParam; // 0x230 + CUtlString m_sReadyCatchAnimgraphParam; // 0x230 // MPropertyGroupName "Throw & Catch" // MPropertyDescription "Graph param that will be set the moment the thrown prop reaches them." // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" // MPropertySuppressExpr "m_bCatchThrownProps == 0" - CUtlString m_sCatchAnimgraphParam; // 0x238 + CUtlString m_sCatchAnimgraphParam; // 0x238 // MPropertyGroupName "Throw & Catch" // MPropertyDescription "Graph param that will be set the moment the thrown prop reaches them." // MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )" // MPropertySuppressExpr "m_bCatchThrownProps == 0" - CUtlString m_sCatchAttachmentName; // 0x240 + CUtlString m_sCatchAttachmentName; // 0x240 // MPropertyGroupName "Throw & Catch" // MPropertyDescription "If this NPC supports catching and throwing, show interest in props with any of these string attributes." // MPropertySuppressExpr "m_bCatchThrownProps == 0" - CUtlVector< CUtlString > m_CatchablePropAttriburtes; // 0x248 - CUtlVector< AI_ScheduleVData_t > m_vecSchedules; // 0x260 + CUtlVector< CUtlString > m_CatchablePropAttriburtes; // 0x248 + CUtlVector< AI_ScheduleVData_t > m_vecSchedules; // 0x260 // MPropertyDescription "If non-empty, this refers to a squad mode entry in npc_squad_modes.txt. The first NPC to be added to a squad will use this mode as the squad mode." - CUtlString m_sDefaultSquadMode; // 0x278 + CUtlString m_sDefaultSquadMode; // 0x278 }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 struct BodyLocationVDataForStance_t { public: - CUtlString[3] m_pSpeculationAttachment; // 0x0 - bool m_bUsePitch; // 0x18 - Vector m_vecSpeculationPosMiddle; // 0x1c + CUtlString m_pSpeculationAttachment[3]; // 0x0 + bool m_bUsePitch; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 +public: + Vector m_vecSpeculationPosMiddle; // 0x1c }; -// Aligment: 3 -// Size: 96 +// Alignment: 3 +// Size: 0x60 struct BodyLocationVData_t { public: - CUtlString m_sAttachmentName; // 0x0 - bool m_bAttachmentIsOnAbilityModel; // 0x8 - BodyLocationVDataForStance_t[2] m_pStances; // 0x10 + CUtlString m_sAttachmentName; // 0x0 + bool m_bAttachmentIsOnAbilityModel; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 +public: + BodyLocationVDataForStance_t m_pStances[2]; // 0x10 }; -// Aligment: 1 -// Size: 192 +// Alignment: 1 +// Size: 0xc0 struct BodyLocationListVData_t { public: - BodyLocationVData_t*[5] m_ppBodyLocationData; // 0x0 + BodyLocationVData_t* m_ppBodyLocationData[5]; // 0x0 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc struct attached_item_t { public: - CHandle< CBaseEntity > hItem; // 0x0 - CUtlStringToken sAttachment; // 0x4 - CUtlStringToken sAttachmentNormal; // 0x8 + CHandle< CBaseEntity > hItem; // 0x0 + CUtlStringToken sAttachment; // 0x4 + CUtlStringToken sAttachmentNormal; // 0x8 }; -// Aligment: 3 -// Size: 880 -class CAI_BaseActorVData : public CAI_DefaultNPCVData, CAI_BaseNPCVData, CEntitySubclassVDataBase +// Alignment: 3 +// Size: 0x370 +class CAI_BaseActorVData : public CAI_DefaultNPCVData { public: // MPropertyFriendlyName "Mood File" // MPropertyGroupName "Acting" // MPropertyAttributeEditor "AssetBrowse( vdata )" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCVDataResource > > m_hMoodFile; // 0x280 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCVDataResource > > m_hMoodFile; // 0x280 // MPropertyFriendlyName "Actor Name" // MPropertyGroupName "Acting" - CUtlString m_sActorName; // 0x360 + CUtlString m_sActorName; // 0x360 // MPropertyGroupName "Acting" - ActorClasses_t m_nActorClass; // 0x368 + ActorClasses_t m_nActorClass; // 0x368 }; -// Aligment: 10 -// Size: 64 +// Alignment: 10 +// Size: 0x40 class CTempRagdollData { public: - float flAutoUnragdollDuration; // 0x0 - float flUnragdollTimeout; // 0x4 - CTakeDamageInfo* pInfo; // 0x8 - CBaseAnimating* pParentEntity; // 0x18 - char* pBoneTransformsString; // 0x20 - int32_t boneAttach; // 0x28 - int32_t parentBoneAttach; // 0x2c - Vector boneOrigin; // 0x30 - bool m_bInvertOrientation; // 0x3c - bool m_bCollideWithNPCClip; // 0x3d + float flAutoUnragdollDuration; // 0x0 + float flUnragdollTimeout; // 0x4 + CTakeDamageInfo* pInfo; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0010[0x8]; // 0x10 +public: + CBaseAnimating* pParentEntity; // 0x18 + char* pBoneTransformsString; // 0x20 + int32_t boneAttach; // 0x28 + int32_t parentBoneAttach; // 0x2c + Vector boneOrigin; // 0x30 + bool m_bInvertOrientation; // 0x3c + bool m_bCollideWithNPCClip; // 0x3d }; -// Aligment: 1 -// Size: 896 -class CAI_PlayerAllyVData : public CAI_BaseActorVData, CAI_DefaultNPCVData, CAI_BaseNPCVData, CEntitySubclassVDataBase +// Alignment: 1 +// Size: 0x380 +class CAI_PlayerAllyVData : public CAI_BaseActorVData { public: // MPropertyDescription "Time taken for an ally to regenerate a point of health" - CSkillFloat m_flRegenTime; // 0x370 + CSkillFloat m_flRegenTime; // 0x370 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 class CFlightComponent { public: - CHandle< CAI_DefaultNPC > m_pOuter; // 0x8 - Vector m_vCurrentVelocity; // 0xc - Vector m_vNoiseMod; // 0x18 + CHandle< CAI_DefaultNPC > m_pOuter; // 0x8 + Vector m_vCurrentVelocity; // 0xc + Vector m_vNoiseMod; // 0x18 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc struct AbilityLOSResult_t { public: - ConditionId_t m_nCondition; // 0x0 - BodyLocations_t m_nTargetBodyLocation; // 0x4 - CHandle< CBaseEntity > m_hOccluderEntity; // 0x8 + ConditionId_t m_nCondition; // 0x0 + BodyLocations_t m_nTargetBodyLocation; // 0x4 + CHandle< CBaseEntity > m_hOccluderEntity; // 0x8 }; -// Aligment: 4 -// Size: 80 +// Alignment: 4 +// Size: 0x50 struct AWS_NPCAbilityInfo_t { public: - int32_t m_nLastGatheredAtTick; // 0x0 - AbilityLOSResult_t m_nLastGatherLOSResult; // 0x4 - CAI_ScheduleBits m_nLastGatherConditions; // 0x10 - CAI_ScheduleBits m_nNonGatherConditions; // 0x30 + int32_t m_nLastGatheredAtTick; // 0x0 + AbilityLOSResult_t m_nLastGatherLOSResult; // 0x4 + CAI_ScheduleBits m_nLastGatherConditions; // 0x10 + CAI_ScheduleBits m_nNonGatherConditions; // 0x30 }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 struct AWS_AbilityUsageData_t { public: // MNetworkEnable - CUtlStringToken m_nAbilityID; // 0x8 - AbilityPathType_t m_PathTypeToBeUsed; // 0xc - bool m_bRestrictToDuringResolution; // 0x10 + CUtlStringToken m_nAbilityID; // 0x8 + AbilityPathType_t m_PathTypeToBeUsed; // 0xc + bool m_bRestrictToDuringResolution; // 0x10 }; -// Aligment: 23 -// Size: 272 +// Alignment: 23 +// Size: 0x110 class CAI_AbilityServices : public CAI_Component { public: - int32_t m_nBatchAbilityScopeCount; // 0x18 - bool m_bAbilitiesChangedInBatchScope; // 0x1c - float m_flNextAbilityUseTime; // 0x20 - WeaponStateMode_t m_nWeaponStateMode; // 0x24 - DesiredWeaponState_t m_nDesiredWeaponState; // 0x28 - InternalWeaponState_t m_nInternalWeaponState; // 0x2c - bool m_bLookForBetterAbilities; // 0x30 - float m_flNextHeldAbilitySearchTime; // 0x34 - CUtlVector< AWS_NPCAbilityInfo_t > m_vecAbilityInfo; // 0x38 - CHandle< CBaseNPCAbility > m_hUnholsteringWeapon; // 0x50 - bool m_bDisableAllAbilities; // 0x54 - bool m_bPerformAimRefinement; // 0x55 - float m_flAimRefinement; // 0x58 - float m_flAimRefinementDecayTarget; // 0x5c + int32_t m_nBatchAbilityScopeCount; // 0x18 + bool m_bAbilitiesChangedInBatchScope; // 0x1c +private: + [[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d +public: + float m_flNextAbilityUseTime; // 0x20 + WeaponStateMode_t m_nWeaponStateMode; // 0x24 + DesiredWeaponState_t m_nDesiredWeaponState; // 0x28 + InternalWeaponState_t m_nInternalWeaponState; // 0x2c + bool m_bLookForBetterAbilities; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 +public: + float m_flNextHeldAbilitySearchTime; // 0x34 + CUtlVector< AWS_NPCAbilityInfo_t > m_vecAbilityInfo; // 0x38 + CHandle< CBaseNPCAbility > m_hUnholsteringWeapon; // 0x50 + bool m_bDisableAllAbilities; // 0x54 + bool m_bPerformAimRefinement; // 0x55 +private: + [[maybe_unused]] uint8_t __pad0056[0x2]; // 0x56 +public: + float m_flAimRefinement; // 0x58 + float m_flAimRefinementDecayTarget; // 0x5c // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseNPCAbility > > m_vecAbilities; // 0x60 + CNetworkUtlVectorBase< CHandle< CBaseNPCAbility > > m_vecAbilities; // 0x60 // MNetworkEnable - AWS_AbilityUsageData_t m_AbilityToBeUsed; // 0x78 - uint32_t m_nAbilityCategorySupportedMask; // 0x90 - uint32_t m_nQueriedAbilityCategorySupportedMask; // 0x94 - NPCAbilityTarget_t m_TargetToBeUsed; // 0x98 - CUtlStringToken m_nAbilityIDPreviouslyUsed; // 0xc0 - NPCAbilityTarget_t m_TargetPreviouslyUsed; // 0xc8 + AWS_AbilityUsageData_t m_AbilityToBeUsed; // 0x78 + uint32_t m_nAbilityCategorySupportedMask; // 0x90 + uint32_t m_nQueriedAbilityCategorySupportedMask; // 0x94 + NPCAbilityTarget_t m_TargetToBeUsed; // 0x98 + CUtlStringToken m_nAbilityIDPreviouslyUsed; // 0xc0 +private: + [[maybe_unused]] uint8_t __pad00c4[0x4]; // 0xc4 +public: + NPCAbilityTarget_t m_TargetPreviouslyUsed; // 0xc8 // MNetworkEnable - AWS_AbilityUsageData_t m_AbilityBeingUsed; // 0xf0 + AWS_AbilityUsageData_t m_AbilityBeingUsed; // 0xf0 // MNetworkEnable - bool m_bInAbilityUseSchedule; // 0x108 + bool m_bInAbilityUseSchedule; // 0x108 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 class CAI_BodyLocationCache { public: - CHandle< CAI_DefaultNPC > m_hOwner; // 0x0 - CHandle< CBaseModelEntity > m_hAssociatedEntity; // 0x4 - bool m_bOwnsBodyLocationDef; // 0x8 - BodyLocationListVData_t* m_pBodyLocationDef; // 0x10 + CHandle< CAI_DefaultNPC > m_hOwner; // 0x0 + CHandle< CBaseModelEntity > m_hAssociatedEntity; // 0x4 + bool m_bOwnsBodyLocationDef; // 0x8 +private: + [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 +public: + BodyLocationListVData_t* m_pBodyLocationDef; // 0x10 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct ActiveScriptedCommand_t { public: - CHandle< CAI_ScriptedBase > m_hCommand; // 0x0 - CHandle< CBaseEntity > m_hTarget; // 0x4 + CHandle< CAI_ScriptedBase > m_hCommand; // 0x0 + CHandle< CBaseEntity > m_hTarget; // 0x4 }; -// Aligment: 11 -// Size: 128 +// Alignment: 11 +// Size: 0x80 class CAI_ChoreoServices : public CAI_Component { public: - CHandle< CScriptedSequence > m_hCine; // 0x20 - IChoreoServices::ScriptState_t m_scriptState; // 0x24 - ScriptedOnDeath_t m_scriptedOnDeathBehavior; // 0x28 - CUtlVector< ActiveScriptedCommand_t > m_vecActiveScriptedCommands; // 0x30 - bool[2] m_abResumedPriorities; // 0x48 - bool m_bInAnimGraphChoreo; // 0x4a - FacingMode m_nPriorFacingMode; // 0x4c - bool m_bInChoreo; // 0x50 - float m_flSceneTime; // 0x54 - CHandle< CBaseModelEntity > m_hChoreoPhysProxy; // 0x78 - float m_flChoreoPhysProxyAttachOffset; // 0x7c + CHandle< CScriptedSequence > m_hCine; // 0x20 + IChoreoServices::ScriptState_t m_scriptState; // 0x24 + ScriptedOnDeath_t m_scriptedOnDeathBehavior; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c public: - static CUtlSymbolLarge &Get_SCHED_SCENE_GENERIC() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_WAIT_FOR_SCRIPT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_SCRIPTED_WALK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_SCRIPTED_RUN() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[3]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_SCRIPTED_CUSTOM_MOVE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[4]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_SCRIPTED_WAIT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[5]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_SCRIPTED_FACE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[6]->m_instance); } - static CUtlSymbolLarge &Get_TASK_PLAY_SCENE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[7]->m_instance); } - static CUtlSymbolLarge &Get_TASK_SCRIPT_WALK_TO_TARGET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[8]->m_instance); } - static CUtlSymbolLarge &Get_TASK_SCRIPT_RUN_TO_TARGET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[9]->m_instance); } - static CUtlSymbolLarge &Get_TASK_SCRIPT_CUSTOM_MOVE_TO_TARGET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[10]->m_instance); } - static CUtlSymbolLarge &Get_TASK_WAIT_FOR_SCRIPT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[11]->m_instance); } - static CUtlSymbolLarge &Get_TASK_PUSH_SCRIPT_ARRIVAL_ACTIVITY() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[12]->m_instance); } - static CUtlSymbolLarge &Get_TASK_PLAY_SCRIPT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[13]->m_instance); } - static CUtlSymbolLarge &Get_TASK_PLAY_SCRIPT_POST_IDLE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[14]->m_instance); } - static CUtlSymbolLarge &Get_TASK_ENABLE_SCRIPT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[15]->m_instance); } - static CUtlSymbolLarge &Get_TASK_PLANT_ON_SCRIPT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[16]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FACE_SCRIPT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fiels[17]->m_instance); } + CUtlVector< ActiveScriptedCommand_t > m_vecActiveScriptedCommands; // 0x30 + bool m_abResumedPriorities[2]; // 0x48 + bool m_bInAnimGraphChoreo; // 0x4a +private: + [[maybe_unused]] uint8_t __pad004b[0x1]; // 0x4b +public: + FacingMode m_nPriorFacingMode; // 0x4c + bool m_bInChoreo; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + float m_flSceneTime; // 0x54 +private: + [[maybe_unused]] uint8_t __pad0058[0x20]; // 0x58 +public: + CHandle< CBaseModelEntity > m_hChoreoPhysProxy; // 0x78 + float m_flChoreoPhysProxyAttachOffset; // 0x7c + static CUtlSymbolLarge &Get_SCHED_SCENE_GENERIC(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_WAIT_FOR_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_SCRIPTED_WALK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_SCRIPTED_RUN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[3]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_SCRIPTED_CUSTOM_MOVE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[4]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_SCRIPTED_WAIT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[5]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_SCRIPTED_FACE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[6]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_PLAY_SCENE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[7]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_SCRIPT_WALK_TO_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[8]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_SCRIPT_RUN_TO_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[9]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_SCRIPT_CUSTOM_MOVE_TO_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[10]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_WAIT_FOR_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[11]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_PUSH_SCRIPT_ARRIVAL_ACTIVITY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[12]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_PLAY_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[13]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_PLAY_SCRIPT_POST_IDLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[14]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_ENABLE_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[15]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_PLANT_ON_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[16]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FACE_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[17]->m_instance);}; }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct ScriptedNPCInteraction_Phases_t { public: - CUtlSymbolLarge iszSequence; // 0x0 - int32_t iActivity; // 0x8 + CUtlSymbolLarge iszSequence; // 0x0 + int32_t iActivity; // 0x8 }; -// Aligment: 15 -// Size: 200 +// Alignment: 15 +// Size: 0xc8 struct ScriptedNPCInteraction_t { public: - CUtlSymbolLarge iszInteractionName; // 0x0 - int32_t iFlags; // 0x8 - int32_t iTriggerMethod; // 0xc - int32_t iLoopBreakTriggerMethod; // 0x10 - Vector vecRelativeOrigin; // 0x14 - QAngle angRelativeAngles; // 0x20 - Vector vecRelativeVelocity; // 0x2c - float flDelay; // 0x38 - float flDistSqr; // 0x3c - CUtlSymbolLarge iszMyWeapon; // 0x40 - CUtlSymbolLarge iszTheirWeapon; // 0x48 - ScriptedNPCInteraction_Phases_t[3] sPhases; // 0x50 - VMatrix matDesiredLocalToWorld; // 0x80 - bool bValidOnCurrentEnemy; // 0xc0 - float flNextAttemptTime; // 0xc4 + CUtlSymbolLarge iszInteractionName; // 0x0 + int32_t iFlags; // 0x8 + int32_t iTriggerMethod; // 0xc + int32_t iLoopBreakTriggerMethod; // 0x10 + Vector vecRelativeOrigin; // 0x14 + QAngle angRelativeAngles; // 0x20 + Vector vecRelativeVelocity; // 0x2c + float flDelay; // 0x38 + float flDistSqr; // 0x3c + CUtlSymbolLarge iszMyWeapon; // 0x40 + CUtlSymbolLarge iszTheirWeapon; // 0x48 + ScriptedNPCInteraction_Phases_t sPhases[3]; // 0x50 + VMatrix matDesiredLocalToWorld; // 0x80 + bool bValidOnCurrentEnemy; // 0xc0 +private: + [[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1 +public: + float flNextAttemptTime; // 0xc4 }; -// Aligment: 10 -// Size: 96 +// Alignment: 10 +// Size: 0x60 class CAI_DynamicInteractions : public CAI_Component { public: - CHandle< CBaseAnimating > m_hForcedInteractionPartner; // 0x18 - int32_t m_iInteractionPlaying; // 0x1c - Vector m_vecForcedWorldPosition; // 0x20 - float m_flForcedInteractionTimeout; // 0x2c - CHandle< CBaseAnimating > m_hInteractionPartner; // 0x30 - CHandle< CBaseEntity > m_hLastInteractionTestTarget; // 0x34 - bool m_bCannotDieDuringInteraction; // 0x38 - int32_t m_iInteractionState; // 0x3c - CUtlVector< ScriptedNPCInteraction_t > m_ScriptedInteractions; // 0x40 - float m_flInteractionYaw; // 0x58 + CHandle< CBaseAnimating > m_hForcedInteractionPartner; // 0x18 + int32_t m_iInteractionPlaying; // 0x1c + Vector m_vecForcedWorldPosition; // 0x20 + float m_flForcedInteractionTimeout; // 0x2c + CHandle< CBaseAnimating > m_hInteractionPartner; // 0x30 + CHandle< CBaseEntity > m_hLastInteractionTestTarget; // 0x34 + bool m_bCannotDieDuringInteraction; // 0x38 +private: + [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 +public: + int32_t m_iInteractionState; // 0x3c + CUtlVector< ScriptedNPCInteraction_t > m_ScriptedInteractions; // 0x40 + float m_flInteractionYaw; // 0x58 }; -// Aligment: 5 -// Size: 40 +// Alignment: 5 +// Size: 0x28 class CAI_StanceServices : public CAI_Component { public: // MNetworkEnable - StanceType_t m_nCurrentStance; // 0x18 - StanceType_t m_nDesiredStance; // 0x1c - StanceType_t m_nForcedStance; // 0x20 - bool[2] m_bStanceCapabilities; // 0x24 - bool[2] m_bTemporaryDisabledStances; // 0x26 + StanceType_t m_nCurrentStance; // 0x18 + StanceType_t m_nDesiredStance; // 0x1c + StanceType_t m_nForcedStance; // 0x20 + bool m_bStanceCapabilities[2]; // 0x24 + bool m_bTemporaryDisabledStances[2]; // 0x26 }; -// Aligment: 9 -// Size: 88 +// Alignment: 9 +// Size: 0x58 class CAI_AssaultBehavior { public: - CHandle< CAssaultPoint > m_hAssaultPoint; // 0x28 - CHandle< CRallyPoint > m_hRallyPoint; // 0x2c - bool m_bHitRallyPoint; // 0x38 - bool m_bHitAssaultPoint; // 0x39 - bool m_bDiverting; // 0x3a - float m_flLastSawAnEnemyAt; // 0x3c - float m_flTimeDeferScheduleSelection; // 0x40 - CUtlSymbolLarge m_AssaultPointName; // 0x48 - CHandle< CAI_AssaultGoal > m_hAssaultGoal; // 0x50 + CHandle< CAssaultPoint > m_hAssaultPoint; // 0x28 + CHandle< CRallyPoint > m_hRallyPoint; // 0x2c +private: + [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 public: - static CUtlSymbolLarge &Get_SCHED_MOVE_TO_RALLY_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_ASSAULT_FAILED_TO_MOVE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FAIL_MOVE_TO_RALLY_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_MOVE_TO_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[3]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_AT_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[4]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_HOLD_RALLY_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[5]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_HOLD_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[6]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_WAIT_AND_CLEAR() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[7]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_ASSAULT_MOVE_AWAY() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[8]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_CLEAR_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[9]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_RALLY_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[10]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FACE_RALLY_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[11]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[12]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FACE_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[13]->m_instance); } - static CUtlSymbolLarge &Get_TASK_HIT_ASSAULT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[14]->m_instance); } - static CUtlSymbolLarge &Get_TASK_HIT_RALLY_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[15]->m_instance); } - static CUtlSymbolLarge &Get_TASK_AWAIT_CUE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[16]->m_instance); } - static CUtlSymbolLarge &Get_TASK_AWAIT_ASSAULT_TIMEOUT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[17]->m_instance); } - static CUtlSymbolLarge &Get_TASK_ANNOUNCE_CLEAR() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[18]->m_instance); } - static CUtlSymbolLarge &Get_TASK_WAIT_ASSAULT_DELAY() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[19]->m_instance); } - static CUtlSymbolLarge &Get_TASK_ASSAULT_MOVE_AWAY_PATH() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[20]->m_instance); } - static CUtlSymbolLarge &Get_TASK_ASSAULT_DEFER_SCHEDULE_SELECTION() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fiels[21]->m_instance); } + bool m_bHitRallyPoint; // 0x38 + bool m_bHitAssaultPoint; // 0x39 + bool m_bDiverting; // 0x3a +private: + [[maybe_unused]] uint8_t __pad003b[0x1]; // 0x3b +public: + float m_flLastSawAnEnemyAt; // 0x3c + float m_flTimeDeferScheduleSelection; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + CUtlSymbolLarge m_AssaultPointName; // 0x48 + CHandle< CAI_AssaultGoal > m_hAssaultGoal; // 0x50 + static CUtlSymbolLarge &Get_SCHED_MOVE_TO_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_ASSAULT_FAILED_TO_MOVE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FAIL_MOVE_TO_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_MOVE_TO_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[3]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_AT_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[4]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_HOLD_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[5]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_HOLD_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[6]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_WAIT_AND_CLEAR(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[7]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_ASSAULT_MOVE_AWAY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[8]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_CLEAR_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[9]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[10]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FACE_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[11]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[12]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FACE_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[13]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_HIT_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[14]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_HIT_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[15]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_AWAIT_CUE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[16]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_AWAIT_ASSAULT_TIMEOUT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[17]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_ANNOUNCE_CLEAR(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[18]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_WAIT_ASSAULT_DELAY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[19]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_ASSAULT_MOVE_AWAY_PATH(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[20]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_ASSAULT_DEFER_SCHEDULE_SELECTION(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[21]->m_instance);}; }; -// Aligment: 3 -// Size: 120 +// Alignment: 3 +// Size: 0x78 class CAI_FightFromCoverBehavior { public: - CHandle< CAI_FightFromCoverGoal > m_hFightFromCoverGoal; // 0x28 - CAI_MoveMonitor m_FrontMoveMonitor; // 0x2c - CSimpleSimTimer m_FrontTimer; // 0x3c -public: - static CUtlSymbolLarge &Get_SCHED_FFC_RUN_TO_HINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FFC_HOLD_COVER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FFC_PEEK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FFC_HOLD_PEEK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[3]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FFC_RELOAD() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[4]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FFC_ATTACK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[5]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FFC_GET_PATH_TO_HINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[6]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FFC_COVER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[7]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FFC_PEEK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[8]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FFC_ATTACK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[9]->m_instance); } - static ConditionId_t &Get_COND_FFC_HINT_CHANGE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fiels[10]->m_instance); } + CHandle< CAI_FightFromCoverGoal > m_hFightFromCoverGoal; // 0x28 + CAI_MoveMonitor m_FrontMoveMonitor; // 0x2c + CSimpleSimTimer m_FrontTimer; // 0x3c + static CUtlSymbolLarge &Get_SCHED_FFC_RUN_TO_HINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FFC_HOLD_COVER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FFC_PEEK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FFC_HOLD_PEEK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[3]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FFC_RELOAD(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[4]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FFC_ATTACK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[5]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FFC_GET_PATH_TO_HINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[6]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FFC_COVER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[7]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FFC_PEEK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[8]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FFC_ATTACK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[9]->m_instance);}; + static ConditionId_t &Get_COND_FFC_HINT_CHANGE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[10]->m_instance);}; }; -// Aligment: 23 -// Size: 296 +// Alignment: 23 +// Size: 0x128 class CAI_FollowBehavior { public: - CHandle< CBaseEntity > m_hFollowTarget; // 0x28 - float m_flTimeUpdatedFollowPosition; // 0x64 - bool m_bFirstFacing; // 0x68 - float m_flTimeFollowTargetVisible; // 0x6c - CAI_MoveMonitor m_TargetMonitor; // 0x70 - bool m_bTargetUnreachable; // 0x80 - bool m_bFollowNavFailed; // 0x81 - int32_t m_nFailedFollowAttempts; // 0x84 - float m_flTimeFailFollowStarted; // 0x88 - Vector m_vFollowMoveAnchor; // 0x8c - bool m_bMovingToCover; // 0x98 - float m_flOriginalEnemyDiscardDuration; // 0x9c - float m_flOriginalEnemyFreeKnowledgeDuration; // 0xa0 - float m_SavedDistTooFar; // 0xa4 - float m_flLastIdleTalk; // 0xa8 - CRandStopwatch m_FollowDelay; // 0xb0 - CSimpleSimTimer m_RepathOnFollowTimer; // 0xc8 - int32_t m_CurrentFollowActivity; // 0xcc - CRandSimTimer m_TimeBlockUseWaitPoint; // 0xd0 - CSimTimer m_TimeCheckForWaitPoint; // 0xdc - CRandSimTimer m_TimeBeforeSpreadFacing; // 0xf0 - CRandSimTimer m_TimeNextSpreadFacing; // 0xfc - CHandle< CAI_FollowGoal > m_hFollowGoalEnt; // 0x120 + CHandle< CBaseEntity > m_hFollowTarget; // 0x28 +private: + [[maybe_unused]] uint8_t __pad002c[0x38]; // 0x2c public: - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_MOVE_AWAY_FAIL() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_MOVE_AWAY_END() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOW() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_IDLE_STAND() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[3]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_MOVE_TO_FACE_FOLLOW_TARGET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[4]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FACE_FOLLOW_TARGET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[5]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_COMBAT_FACE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[6]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_GO_TO_WAIT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[7]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_GO_TO_WAIT_POINT_FAIL() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[8]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_FOLLOWER_STAND_AT_WAIT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[9]->m_instance); } - static CUtlSymbolLarge &Get_TASK_CANT_FOLLOW() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[10]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FACE_FOLLOW_TARGET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[11]->m_instance); } - static CUtlSymbolLarge &Get_TASK_MOVE_TO_FOLLOW_POSITION() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[12]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_FOLLOW_POSITION() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[13]->m_instance); } - static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_TARGET_MARK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[14]->m_instance); } - static CUtlSymbolLarge &Get_TASK_FOLLOWER_FACE_TACTICAL() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[15]->m_instance); } - static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_DELAY() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[16]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_FOLLOW_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[17]->m_instance); } - static CUtlSymbolLarge &Get_TASK_ARRIVE_AT_FOLLOW_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[18]->m_instance); } - static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_POINT_STAND_SCHEDULE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[19]->m_instance); } - static CUtlSymbolLarge &Get_TASK_BEGIN_STAND_AT_WAIT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[20]->m_instance); } - static ConditionId_t &Get_COND_TARGET_MOVED_FROM_MARK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[21]->m_instance); } - static ConditionId_t &Get_COND_FOLLOW_DELAY_EXPIRED() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[22]->m_instance); } - static ConditionId_t &Get_COND_FOLLOW_TARGET_VISIBLE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[23]->m_instance); } - static ConditionId_t &Get_COND_FOLLOW_TARGET_NOT_VISIBLE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[24]->m_instance); } - static ConditionId_t &Get_COND_FOLLOW_WAIT_POINT_INVALID() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[25]->m_instance); } - static ConditionId_t &Get_COND_FOUND_WAIT_POINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fiels[26]->m_instance); } + float m_flTimeUpdatedFollowPosition; // 0x64 + bool m_bFirstFacing; // 0x68 +private: + [[maybe_unused]] uint8_t __pad0069[0x3]; // 0x69 +public: + float m_flTimeFollowTargetVisible; // 0x6c + CAI_MoveMonitor m_TargetMonitor; // 0x70 + bool m_bTargetUnreachable; // 0x80 + bool m_bFollowNavFailed; // 0x81 +private: + [[maybe_unused]] uint8_t __pad0082[0x2]; // 0x82 +public: + int32_t m_nFailedFollowAttempts; // 0x84 + float m_flTimeFailFollowStarted; // 0x88 + Vector m_vFollowMoveAnchor; // 0x8c + bool m_bMovingToCover; // 0x98 +private: + [[maybe_unused]] uint8_t __pad0099[0x3]; // 0x99 +public: + float m_flOriginalEnemyDiscardDuration; // 0x9c + float m_flOriginalEnemyFreeKnowledgeDuration; // 0xa0 + float m_SavedDistTooFar; // 0xa4 + float m_flLastIdleTalk; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00ac[0x4]; // 0xac +public: + CRandStopwatch m_FollowDelay; // 0xb0 + CSimpleSimTimer m_RepathOnFollowTimer; // 0xc8 + int32_t m_CurrentFollowActivity; // 0xcc + CRandSimTimer m_TimeBlockUseWaitPoint; // 0xd0 + CSimTimer m_TimeCheckForWaitPoint; // 0xdc +private: + [[maybe_unused]] uint8_t __pad00e4[0xc]; // 0xe4 +public: + CRandSimTimer m_TimeBeforeSpreadFacing; // 0xf0 + CRandSimTimer m_TimeNextSpreadFacing; // 0xfc +private: + [[maybe_unused]] uint8_t __pad0108[0x18]; // 0x108 +public: + CHandle< CAI_FollowGoal > m_hFollowGoalEnt; // 0x120 + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_MOVE_AWAY_FAIL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_MOVE_AWAY_END(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOW(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_IDLE_STAND(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[3]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_MOVE_TO_FACE_FOLLOW_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[4]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FACE_FOLLOW_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[5]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_COMBAT_FACE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[6]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_GO_TO_WAIT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[7]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_GO_TO_WAIT_POINT_FAIL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[8]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_FOLLOWER_STAND_AT_WAIT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[9]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_CANT_FOLLOW(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[10]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FACE_FOLLOW_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[11]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_MOVE_TO_FOLLOW_POSITION(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[12]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_FOLLOW_POSITION(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[13]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_TARGET_MARK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[14]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_FOLLOWER_FACE_TACTICAL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[15]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_DELAY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[16]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_FOLLOW_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[17]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_ARRIVE_AT_FOLLOW_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[18]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_POINT_STAND_SCHEDULE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[19]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_BEGIN_STAND_AT_WAIT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[20]->m_instance);}; + static ConditionId_t &Get_COND_TARGET_MOVED_FROM_MARK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[21]->m_instance);}; + static ConditionId_t &Get_COND_FOLLOW_DELAY_EXPIRED(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[22]->m_instance);}; + static ConditionId_t &Get_COND_FOLLOW_TARGET_VISIBLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[23]->m_instance);}; + static ConditionId_t &Get_COND_FOLLOW_TARGET_NOT_VISIBLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[24]->m_instance);}; + static ConditionId_t &Get_COND_FOLLOW_WAIT_POINT_INVALID(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[25]->m_instance);}; + static ConditionId_t &Get_COND_FOUND_WAIT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[26]->m_instance);}; }; -// Aligment: 22 -// Size: 256 +// Alignment: 22 +// Size: 0x100 class CAI_LeadBehavior { public: - CHandle< CBaseEntity > m_hSinkImplementor; // 0x68 - Vector m_goal; // 0x6c - float m_goalyaw; // 0x78 - Vector m_waitpoint; // 0x7c - float m_waitdistance; // 0x88 - float m_leaddistance; // 0x8c - float m_retrievedistance; // 0x90 - float m_successdistance; // 0x94 - CUtlSymbolLarge m_weaponname; // 0x98 - bool m_run; // 0xa0 - bool m_gagleader; // 0xa1 - bool m_hasspokenstart; // 0xa2 - bool m_hasspokenarrival; // 0xa3 - bool m_hasPausedScenes; // 0xa4 - float m_flSpeakNextNagTime; // 0xa8 - float m_flWeaponSafetyTimeOut; // 0xac - float m_flForceRetrieveTimeout; // 0xb0 - float m_flNextLeadIdle; // 0xb4 - bool m_bInitialAheadTest; // 0xb8 - CAI_MoveMonitor m_MoveMonitor; // 0xbc - CRandStopwatch m_LostTimer; // 0xd0 - CRandStopwatch m_LostLOSTimer; // 0xe8 + CHandle< CBaseEntity > m_hSinkImplementor; // 0x68 + Vector m_goal; // 0x6c + float m_goalyaw; // 0x78 + Vector m_waitpoint; // 0x7c + float m_waitdistance; // 0x88 + float m_leaddistance; // 0x8c + float m_retrievedistance; // 0x90 + float m_successdistance; // 0x94 + CUtlSymbolLarge m_weaponname; // 0x98 + bool m_run; // 0xa0 + bool m_gagleader; // 0xa1 + bool m_hasspokenstart; // 0xa2 + bool m_hasspokenarrival; // 0xa3 + bool m_hasPausedScenes; // 0xa4 +private: + [[maybe_unused]] uint8_t __pad00a5[0x3]; // 0xa5 public: - static CUtlSymbolLarge &Get_SCHED_LEAD_PLAYER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_PAUSE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_PAUSE_COMBAT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_RETRIEVE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[3]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_RETRIEVE_WAIT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[4]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_SUCCEED() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[5]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_AWAIT_SUCCESS() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[6]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_WAITFORPLAYER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[7]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_WAITFORPLAYERIDLE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[8]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_PLAYERNEEDSWEAPON() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[9]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_START() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[10]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_THEN_RETRIEVE_PLAYER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[11]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_THEN_LEAD_PLAYER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[12]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_LEAD_GOAL() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[13]->m_instance); } - static CUtlSymbolLarge &Get_TASK_STOP_LEADING() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[14]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_FACE_GOAL() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[15]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_ARRIVE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[16]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_SUCCEED() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[17]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_GET_PATH_TO_WAITPOINT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[18]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_WAVE_TO_PLAYER() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[19]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_PLAYER_NEEDS_WEAPON() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[20]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_SPEAK_START() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[21]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_MOVE_TO_RANGE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[22]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_RETRIEVE_WAIT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[23]->m_instance); } - static CUtlSymbolLarge &Get_TASK_LEAD_WALK_PATH() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[24]->m_instance); } - static ConditionId_t &Get_COND_LEAD_FOLLOWER_LOST() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[25]->m_instance); } - static ConditionId_t &Get_COND_LEAD_FOLLOWER_LAGGING() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[26]->m_instance); } - static ConditionId_t &Get_COND_LEAD_FOLLOWER_NOT_LAGGING() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[27]->m_instance); } - static ConditionId_t &Get_COND_LEAD_FOLLOWER_VERY_CLOSE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[28]->m_instance); } - static ConditionId_t &Get_COND_LEAD_SUCCESS() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[29]->m_instance); } - static ConditionId_t &Get_COND_LEAD_HAVE_FOLLOWER_LOS() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[30]->m_instance); } - static ConditionId_t &Get_COND_LEAD_FOLLOWER_MOVED_FROM_MARK() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[31]->m_instance); } - static ConditionId_t &Get_COND_LEAD_FOLLOWER_MOVING_TOWARDS_ME() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fiels[32]->m_instance); } + float m_flSpeakNextNagTime; // 0xa8 + float m_flWeaponSafetyTimeOut; // 0xac + float m_flForceRetrieveTimeout; // 0xb0 + float m_flNextLeadIdle; // 0xb4 + bool m_bInitialAheadTest; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 +public: + CAI_MoveMonitor m_MoveMonitor; // 0xbc +private: + [[maybe_unused]] uint8_t __pad00cc[0x4]; // 0xcc +public: + CRandStopwatch m_LostTimer; // 0xd0 + CRandStopwatch m_LostLOSTimer; // 0xe8 + static CUtlSymbolLarge &Get_SCHED_LEAD_PLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_PAUSE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_PAUSE_COMBAT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_RETRIEVE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[3]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_RETRIEVE_WAIT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[4]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_SUCCEED(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[5]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_AWAIT_SUCCESS(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[6]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_WAITFORPLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[7]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_WAITFORPLAYERIDLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[8]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_PLAYERNEEDSWEAPON(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[9]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_START(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[10]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_THEN_RETRIEVE_PLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[11]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_THEN_LEAD_PLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[12]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_LEAD_GOAL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[13]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_STOP_LEADING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[14]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_FACE_GOAL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[15]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_ARRIVE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[16]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_SUCCEED(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[17]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_GET_PATH_TO_WAITPOINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[18]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_WAVE_TO_PLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[19]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_PLAYER_NEEDS_WEAPON(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[20]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_SPEAK_START(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[21]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_MOVE_TO_RANGE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[22]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_RETRIEVE_WAIT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[23]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_LEAD_WALK_PATH(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[24]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_FOLLOWER_LOST(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[25]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_FOLLOWER_LAGGING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[26]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_FOLLOWER_NOT_LAGGING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[27]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_FOLLOWER_VERY_CLOSE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[28]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_SUCCESS(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[29]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_HAVE_FOLLOWER_LOS(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[30]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_FOLLOWER_MOVED_FROM_MARK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[31]->m_instance);}; + static ConditionId_t &Get_COND_LEAD_FOLLOWER_MOVING_TOWARDS_ME(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[32]->m_instance);}; }; -// Aligment: 10 -// Size: 36 +// Alignment: 10 +// Size: 0x24 struct AI_StandoffParams_t { public: - AI_HintChangeReaction_t hintChangeReaction; // 0x0 - bool fCoverOnReload; // 0x4 - bool fPlayerIsBattleline; // 0x5 - float minTimeShots; // 0x8 - float maxTimeShots; // 0xc - int32_t minShots; // 0x10 - int32_t maxShots; // 0x14 - int32_t oddsCover; // 0x18 - bool fStayAtCover; // 0x1c - float flAbandonTimeLimit; // 0x20 + AI_HintChangeReaction_t hintChangeReaction; // 0x0 + bool fCoverOnReload; // 0x4 + bool fPlayerIsBattleline; // 0x5 +private: + [[maybe_unused]] uint8_t __pad0006[0x2]; // 0x6 +public: + float minTimeShots; // 0x8 + float maxTimeShots; // 0xc + int32_t minShots; // 0x10 + int32_t maxShots; // 0x14 + int32_t oddsCover; // 0x18 + bool fStayAtCover; // 0x1c +private: + [[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d +public: + float flAbandonTimeLimit; // 0x20 }; -// Aligment: 19 -// Size: 208 +// Alignment: 19 +// Size: 0xd0 class CAI_StandoffBehavior { public: - bool m_fActive; // 0x28 - bool m_fTestNoDamage; // 0x29 - Vector m_vecStandoffGoalPosition; // 0x2c - AI_Posture_t m_posture; // 0x38 - AI_StandoffParams_t m_params; // 0x3c - CHandle< CBaseEntity > m_hStandoffGoal; // 0x60 - bool m_fTakeCover; // 0x64 - float m_SavedDistTooFar; // 0x68 - bool m_fForceNewEnemy; // 0x6c - CAI_MoveMonitor m_PlayerMoveMonitor; // 0x70 - CSimTimer m_TimeForceCoverHint; // 0x80 - CSimTimer m_TimePreventForceNewEnemy; // 0x88 - CRandSimTimer m_RandomCoverChangeTimer; // 0x90 - int32_t m_nSavedMinShots; // 0x9c - int32_t m_nSavedMaxShots; // 0xa0 - float m_flSavedMinRest; // 0xa4 - float m_flSavedMaxRest; // 0xa8 - bool m_fIgnoreFronts; // 0xc8 - bool m_bHasLowCoverActivity; // 0xc9 + bool m_fActive; // 0x28 + bool m_fTestNoDamage; // 0x29 +private: + [[maybe_unused]] uint8_t __pad002a[0x2]; // 0x2a public: - static ConditionId_t &Get_COND_ABANDON_TIME_EXPIRED() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_StandoffBehavior")->m_static_fiels[0]->m_instance); } + Vector m_vecStandoffGoalPosition; // 0x2c + AI_Posture_t m_posture; // 0x38 + AI_StandoffParams_t m_params; // 0x3c + CHandle< CBaseEntity > m_hStandoffGoal; // 0x60 + bool m_fTakeCover; // 0x64 +private: + [[maybe_unused]] uint8_t __pad0065[0x3]; // 0x65 +public: + float m_SavedDistTooFar; // 0x68 + bool m_fForceNewEnemy; // 0x6c +private: + [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d +public: + CAI_MoveMonitor m_PlayerMoveMonitor; // 0x70 + CSimTimer m_TimeForceCoverHint; // 0x80 + CSimTimer m_TimePreventForceNewEnemy; // 0x88 + CRandSimTimer m_RandomCoverChangeTimer; // 0x90 + int32_t m_nSavedMinShots; // 0x9c + int32_t m_nSavedMaxShots; // 0xa0 + float m_flSavedMinRest; // 0xa4 + float m_flSavedMaxRest; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00ac[0x1c]; // 0xac +public: + bool m_fIgnoreFronts; // 0xc8 + bool m_bHasLowCoverActivity; // 0xc9 + static ConditionId_t &Get_COND_ABANDON_TIME_EXPIRED(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_StandoffBehavior")->m_static_fields[0]->m_instance);}; }; -// Aligment: 3 -// Size: 24 +// Alignment: 3 +// Size: 0x18 struct NPCAbilityBodyLocationOverride_t { public: // MPropertyDescription "Body location to inherit from in the owning NPC. If unspecified, the Ability Body Location is used." - CUtlString m_sOwnerBodyLocationName; // 0x0 + CUtlString m_sOwnerBodyLocationName; // 0x0 // MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )" - CUtlString m_sAttachmentName; // 0x8 - bool m_bAttachmentIsOnAbilityModel; // 0x10 + CUtlString m_sAttachmentName; // 0x8 + bool m_bAttachmentIsOnAbilityModel; // 0x10 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct NPCAbilityUseTriggerBase_t { public: // MPropertyDescription "When triggered, the ability is used" - GameAnimEventIndex_t m_nAnimEventTrigger; // 0x0 + GameAnimEventIndex_t m_nAnimEventTrigger; // 0x0 }; -// Aligment: 62 -// Size: 952 +// Alignment: 62 +// Size: 0x3b8 class CBaseNPCAbilityVData : public CEntitySubclassVDataBase { public: // MPropertyDescription "Priority relative to other abilities on this NPC. All abilities will be evaluated, and the highest priority one that passes its evaluation step will be used." - int32_t m_nPriority; // 0x28 + int32_t m_nPriority; // 0x28 // MPropertyDescription "Does this ability operate on the current enemy?" // MPropertyGroupName "Evaluating" - bool m_bAbilityOperatesOnCurrentEnemy; // 0x2c + bool m_bAbilityOperatesOnCurrentEnemy; // 0x2c // MPropertyDescription "Must this ability be held (only 1 can be held at a time) to be active?" - bool m_bMustBeHeld; // 0x2d + bool m_bMustBeHeld; // 0x2d +private: + [[maybe_unused]] uint8_t __pad002e[0x2]; // 0x2e +public: // MPropertyDescription "Only used for held abilities. Should be the desired value of the 'e_weapon' animgraph variable on this NPC, when it is holding this Ability." - CUtlString m_sDeployedAnimgraphWeaponEnum; // 0x30 + CUtlString m_sDeployedAnimgraphWeaponEnum; // 0x30 // MPropertyDescription "Model to be bonemerged to the parent NPC" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x38 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x38 // MPropertyDescription "Entity to be bonemerged to the parent NPC" // MPropertyGroupName "Visuals" - CEmbeddedSubclass< CBaseEntity > m_hModelEntity; // 0x118 + CEmbeddedSubclass< CBaseEntity > m_hModelEntity; // 0x118 // MPropertyDescription "Allows the ability to override body locations specified in the owner NPC" // MPropertyGroupName "Visuals" - CUtlMap< BodyLocations_t, NPCAbilityBodyLocationOverride_t > m_mapBodyLocationOverrides; // 0x128 + CUtlMap< BodyLocations_t, NPCAbilityBodyLocationOverride_t > m_mapBodyLocationOverrides; // 0x128 // MPropertyDescription "Model used by the tools only to populate comboboxes for things like animgraph parameter pickers" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sToolsOnlyOwnerModelName; // 0x148 - CUtlMap< NPCAbilitySound_t, CSoundEventName > m_mapAbilitySounds; // 0x228 - CSkillDamage m_damageInfo; // 0x248 - DamageTypes_t m_nDamageType; // 0x25c - CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x260 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sToolsOnlyOwnerModelName; // 0x148 + CUtlMap< NPCAbilitySound_t, CSoundEventName > m_mapAbilitySounds; // 0x228 + CSkillDamage m_damageInfo; // 0x248 + DamageTypes_t m_nDamageType; // 0x25c + CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x260 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType - AmmoIndex_t m_iAmmoType; // 0x278 + AmmoIndex_t m_iAmmoType; // 0x278 +private: + [[maybe_unused]] uint8_t __pad0279[0x3]; // 0x279 +public: // MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)" // MPropertyAttributeRange "0 100" // MPropertyGroupName "Ammo" - int32_t m_nMaxAmmo; // 0x27c + int32_t m_nMaxAmmo; // 0x27c // MPropertyDescription "If set, and this is a Secondary ability attached to a Primary one, this Ability will require/consume the ammunition of the Primary ability, not its own." // MPropertyGroupName "Ammo" - bool m_bUsePrimaryAbilityAmmo; // 0x280 + bool m_bUsePrimaryAbilityAmmo; // 0x280 +private: + [[maybe_unused]] uint8_t __pad0281[0x3]; // 0x281 +public: // MPropertyGroupName "Range" // MPropertyDescription "Min Range. By default, this corresponds both to the range at which the ability will be seeked (for schedule selection) as well as used. You can separately override the 'move to' range to cause the system to attempt to move to use range automatically." - float m_fMinRange; // 0x284 + float m_fMinRange; // 0x284 // MPropertyGroupName "Range" // MPropertyDescription "Max Range. By default, this corresponds both to the range at which the ability will be seeked (for schedule selection) as well as used. You can separately override the 'move to' range to cause the system to attempt to move to use range automatically." - float m_fMaxRange; // 0x288 + float m_fMaxRange; // 0x288 // MPropertyGroupName "Range" - float m_fMinAdvanceToRange; // 0x28c + float m_fMinAdvanceToRange; // 0x28c // MPropertyGroupName "Range" // MPropertyDescription "Min Range to move to before using the ability ( <0 on both min + max disables move to )" - float m_flMinMoveToRange; // 0x290 + float m_flMinMoveToRange; // 0x290 // MPropertyGroupName "Range" // MPropertyDescription "Max Range to move to before using the ability ( <0 on both min + max disables move to )" - float m_flMaxMoveToRange; // 0x294 + float m_flMaxMoveToRange; // 0x294 // MPropertyDescription "When cooling down yourself, or squadmates, if this name is specified, it will cool down all abilities with the same scope name. Useful to put all grenade throws on a shared cooldown for example." // MPropertyGroupName "Cooldown" - CUtlString m_sSharedCooldownName; // 0x298 + CUtlString m_sSharedCooldownName; // 0x298 // MPropertyDescription "The amount of time after using this ability before it can be used again." // MPropertyGroupName "Cooldown" - CRangeFloat m_flCooldownDuration; // 0x2a0 + CRangeFloat m_flCooldownDuration; // 0x2a0 // MPropertyDescription "If set, use of this ability will also cause squad mates to delay their usage of this same ability." // MPropertyGroupName "Cooldown" - CRangeFloat m_flCooldownDurationSquadMates; // 0x2a8 + CRangeFloat m_flCooldownDurationSquadMates; // 0x2a8 // MPropertyDescription "Should this ability start on cooldown?" // MPropertyGroupName "Cooldown" - bool m_bStartOnCooldown; // 0x2b0 + bool m_bStartOnCooldown; // 0x2b0 +private: + [[maybe_unused]] uint8_t __pad02b1[0x3]; // 0x2b1 +public: // MPropertyDescription "The amount of time after using this ability before the NPC is allowed to use *any* of its abilities." // MPropertyGroupName "Cooldown" - CRangeFloat m_flAttackDelay; // 0x2b4 + CRangeFloat m_flAttackDelay; // 0x2b4 // MPropertyDescription "Can this ability interrupt other schedules?" // MPropertyGroupName "Evaluating" - bool m_bCanInterruptSchedules; // 0x2bc + bool m_bCanInterruptSchedules; // 0x2bc // MPropertyDescription "Should this ability attempt to suggest a schedule how to get into position in order to use it? An NPC can only seek to get one ability usable at a time." // MPropertyGroupName "Evaluating" - bool m_bShouldSeekToBeUsable; // 0x2bd + bool m_bShouldSeekToBeUsable; // 0x2bd +private: + [[maybe_unused]] uint8_t __pad02be[0x2]; // 0x2be +public: // MPropertyDescription "If the ability usage evaluation indicates it cannot be used, this is the delay before the ability can check again." // MPropertyGroupName "Evaluating" - CRangeFloat m_flEvaluationDelay; // 0x2c0 + CRangeFloat m_flEvaluationDelay; // 0x2c0 // MPropertyDescription "Body location on the owning NPC to use for gathering LOS conditions from" // MPropertyGroupName "Evaluating" - BodyLocations_t m_nLOSTestLocation; // 0x2c8 + BodyLocations_t m_nLOSTestLocation; // 0x2c8 // MPropertyDescription "Sets whether or not the owner of this ability is required to have LOS to a target to be able to use the ability. If it does, the ability won't attempt to gather conditions if the owner doesn't have LOS to the target." // MPropertyGroupName "Evaluating" - bool m_bRequiresOwnerHasLOS; // 0x2cc + bool m_bRequiresOwnerHasLOS; // 0x2cc +private: + [[maybe_unused]] uint8_t __pad02cd[0x3]; // 0x2cd +public: // MPropertyDescription "The enemy location that this ability will use when gathering conditions to determine whether or not it can be performed. Last Seen Position is the last place we saw our enemy. Last Known Position is updated for a short time after lose sight of our enemy. So if our enemy ran around a corner, Last Seen Position would be right before they vanished around the corner, and Last Known Position would be around the corner and out of sight." // MPropertyGroupName "Evaluating" - TargetOriginType_t m_nGatherCondEnemyOriginType; // 0x2d0 + TargetOriginType_t m_nGatherCondEnemyOriginType; // 0x2d0 // MPropertyDescription "What angle relative to the eyes direction does the target have to be in to use the ability?" // MPropertyGroupName "Evaluating" // MPropertyAttributeRange "0 360" - float m_flFacingAngle; // 0x2d4 + float m_flFacingAngle; // 0x2d4 // MPropertyDescription "The name of the first squad slot in a range of squad slots, one of which must be claimable to use this ability." // MPropertyGroupName "Evaluating" - SquadSlotId_t m_nSquadSlotRangeMin; // 0x2d8 + SquadSlotId_t m_nSquadSlotRangeMin; // 0x2d8 // MPropertyDescription "The name of the last squad slot in a range of squad slots, one of which must be claimable to use this ability. If this is left blank, it'll be considered as matching the 'Squad Slot Range Min', meaning the ability will use a single squad slot." // MPropertyGroupName "Evaluating" - SquadSlotId_t m_nSquadSlotRangeMax; // 0x2dc + SquadSlotId_t m_nSquadSlotRangeMax; // 0x2dc // MPropertyDescription "Only usable if there aren't any squad mates within this range of our enemy target. Useful for preventing explosive attacks from damaging squad mates." // MPropertyGroupName "Evaluating" - float m_flMinDistToSquadMates; // 0x2e0 + float m_flMinDistToSquadMates; // 0x2e0 +private: + [[maybe_unused]] uint8_t __pad02e4[0x4]; // 0x2e4 +public: // MPropertyFriendlyName "Pre-Attack Animgraph Parameter" // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph before it performs this attack, if it's not set already. If it's not set, it will be set, and the NPC will wait for the 'Pre-Attack Animgraph Finish Tag' to be fired by the animgraph before continuing." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CUtlString m_sAnimgraphParamPre; // 0x2e8 + CUtlString m_sAnimgraphParamPre; // 0x2e8 // MPropertyFriendlyName "Pre-Attack Animgraph Finish Tag" // MPropertyDescription "The animgraph status tag that will be set by the animgraph when it has finished performing the 'Pre-Attack Animgraph Parameter' step." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlString m_sAnimgraphFinishTagPre; // 0x2f0 + CUtlString m_sAnimgraphFinishTagPre; // 0x2f0 // MPropertyDescription "Optional amount of time the NPC waits after performing the pre-attack phase, before continuing its AI." // MPropertyGroupName "Animation" - CRangeFloat m_flPreAbilityUseWait; // 0x2f8 + CRangeFloat m_flPreAbilityUseWait; // 0x2f8 // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs this attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CUtlString m_sAnimgraphParam; // 0x300 + CUtlString m_sAnimgraphParam; // 0x300 // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlString m_sAnimgraphFinishTag; // 0x308 + CUtlString m_sAnimgraphFinishTag; // 0x308 // MPropertyFriendlyName "Post-Attack Animgraph Parameter" // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph after it performs this attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CUtlString m_sAnimgraphParamPost; // 0x310 + CUtlString m_sAnimgraphParamPost; // 0x310 // MPropertyFriendlyName "Post-Attack Animgraph Finish Tag" // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the Post Attack animation step." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlString m_sAnimgraphFinishTagPost; // 0x318 + CUtlString m_sAnimgraphFinishTagPost; // 0x318 // MPropertyDescription "Is the anim graph capable of auto-repeating the attack if the ability still thinks it's valid to attack? Note auto-repeating will not trigger cooldowns." // MPropertyGroupName "Animation" - bool m_bCanAutoRepeat; // 0x320 + bool m_bCanAutoRepeat; // 0x320 +private: + [[maybe_unused]] uint8_t __pad0321[0x3]; // 0x321 +public: // MPropertyDescription "Optional amount of time the NPC waits after attacking before continuing its AI." // MPropertyGroupName "Animation" - CRangeFloat m_flPostAbilityUseWait; // 0x324 + CRangeFloat m_flPostAbilityUseWait; // 0x324 // MPropertyDescription "When triggered, it causes the ability to run ability-specific pre-triggering code. Used for two-stage hits (like a leap or spot where the attack commits to a direction before it's actually performed)." // MPropertyGroupName "Animation" - GameAnimEventIndex_t m_nAnimEventSetup; // 0x32c + GameAnimEventIndex_t m_nAnimEventSetup; // 0x32c // MPropertyDescription "When triggered, the ability is used" // MPropertyGroupName "Animation" - GameAnimEventIndex_t m_nAnimEventTrigger; // 0x330 + GameAnimEventIndex_t m_nAnimEventTrigger; // 0x330 // MPropertyFriendlyName "Enemy Location To Target When Performing" // MPropertyDescription "The enemy location that this ability will target when performing the ability. Last Seen Position is the last place we saw our enemy. Last Known Position is updated for a short time after lose sight of our enemy. So if our enemy ran around a corner, Last Seen Position would be right before they vanished around the corner, and Last Known Position would be around the corner and out of sight." // MPropertyGroupName "Using" - TargetOriginType_t m_nUsageCondEnemyOriginType; // 0x334 + TargetOriginType_t m_nUsageCondEnemyOriginType; // 0x334 // MPropertyDescription "When firing at the player, is this weapon allowed to miss and hit interesting targets nearby, for visual flair?" // MPropertyGroupName "Using" - bool m_bAllowedToMiss; // 0x338 + bool m_bAllowedToMiss; // 0x338 // MPropertyDescription "If an NPC uses this ability while moving, should the usage be aborted if the NPC finishes the movement?" // MPropertyGroupName "Using" - bool m_bAbortUsageOnMoveFinish; // 0x339 + bool m_bAbortUsageOnMoveFinish; // 0x339 // MPropertyGroupName "Using" // MPropertyDescription "Is the NPC allowed to do displacement during non-interrupt staggers while performing this ability? Generally only true for attacking abilities." - bool m_bAllowFlinchDisplacementDuringUsage; // 0x33a + bool m_bAllowFlinchDisplacementDuringUsage; // 0x33a +private: + [[maybe_unused]] uint8_t __pad033b[0x5]; // 0x33b +public: // MPropertyGroupName "Using" // MPropertyDescription "A modifier that will be added to our NPC when it starts using this ability, and removed once it finishes." - CEmbeddedSubclass< CBaseModifier > m_OwnerModifierWhileUsing; // 0x340 + CEmbeddedSubclass< CBaseModifier > m_OwnerModifierWhileUsing; // 0x340 // MPropertyGroupName "Using" // MPropertyDescription "A modifier that will be added to our NPC when it finishes using this ability." - CEmbeddedSubclass< CBaseModifier > m_OwnerModifierAfterUsage; // 0x350 + CEmbeddedSubclass< CBaseModifier > m_OwnerModifierAfterUsage; // 0x350 // MPropertyGroupName "Using" // MPropertyDescription "A modifier that will be added to our NPC whenever the ability trigger occurs." - CEmbeddedSubclass< CBaseModifier > m_OwnerModifierOnTrigger; // 0x360 + CEmbeddedSubclass< CBaseModifier > m_OwnerModifierOnTrigger; // 0x360 // MPropertyDescription "Only used for held abilities. Never drop this ability, always immediately remove it instead." // MPropertyGroupName "Drop" - bool m_bDestroyInsteadOfDrop; // 0x370 + bool m_bDestroyInsteadOfDrop; // 0x370 // MPropertyDescription "Always Drop this ability." // MPropertyGroupName "Drop" - bool m_bAlwaysDrop; // 0x371 + bool m_bAlwaysDrop; // 0x371 // MPropertyGroupName "Drop" - bool m_bAddRandomDropVelocity; // 0x372 + bool m_bAddRandomDropVelocity; // 0x372 +private: + [[maybe_unused]] uint8_t __pad0373[0x5]; // 0x373 +public: // MPropertyGroupName "Drop" - CUtlVector< NPCAbilityDropBehavior_t > m_vecDropBehaviors; // 0x378 + CUtlVector< NPCAbilityDropBehavior_t > m_vecDropBehaviors; // 0x378 // MPropertyGroupName "Drop" - CUtlVector< NPCAbilityPickupBehavior_t > m_vecPickupBehaviors; // 0x390 + CUtlVector< NPCAbilityPickupBehavior_t > m_vecPickupBehaviors; // 0x390 // MPropertyDescription "When pathing to the target, range tolerance" // MPropertyGroupName "Evaluating" - float m_flRangeTolerance; // 0x3a8 + float m_flRangeTolerance; // 0x3a8 // MPropertyDescription "When building a path to the target, avoid our enemy by this distance" - float m_flEnemyPathAvoidance; // 0x3ac + float m_flEnemyPathAvoidance; // 0x3ac // MPropertyDescription "Time to hold unreachable targets before reevaluating" - float m_flTargetEntityUnreachableTimeout; // 0x3b0 + float m_flTargetEntityUnreachableTimeout; // 0x3b0 // MPropertyDescription "Should this ability be visible when other NPCs ask this ability's NPC what it's capable of?" - bool m_bIncludeInNPCsCapabilityQueries; // 0x3b4 + bool m_bIncludeInNPCsCapabilityQueries; // 0x3b4 }; -// Aligment: 2 -// Size: 288 +// Alignment: 2 +// Size: 0x120 class CNPCAbilityModelVData : public CEntitySubclassVDataBase { public: // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x108 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x108 }; -// Aligment: 1 -// Size: 968 -class CNPCAbilityAddModifierVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 1 +// Size: 0x3c8 +class CNPCAbilityAddModifierVData : public CBaseNPCAbilityVData { public: // MPropertyFriendlyName "Modifier VData: Modifier to Apply to Caster" - CEmbeddedSubclass< CBaseModifier > m_Modifier; // 0x3b8 + CEmbeddedSubclass< CBaseModifier > m_Modifier; // 0x3b8 }; -// Aligment: 1 -// Size: 960 -class CNPCAbilityRemoveModifierVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 1 +// Size: 0x3c0 +class CNPCAbilityRemoveModifierVData : public CBaseNPCAbilityVData { public: // MPropertyFriendlyName "Modifier to Remove" - CUtlString m_sRemoveModifier; // 0x3b8 + CUtlString m_sRemoveModifier; // 0x3b8 }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 struct MeleeAttackUseTrigger_t : public NPCAbilityUseTriggerBase_t { public: // MPropertyDescription "The view angle punch applied to the player when they receive this hit. Angle is specifed as Pitch / Yaw / Roll." - QAngle m_angViewPunch; // 0x4 + QAngle m_angViewPunch; // 0x4 // MPropertyDescription "Force applied to the player when they receive this hit. X is the push back, and Y is the push to the side, based on the attacker's facing." - Vector m_vecShoveForce; // 0x10 + Vector m_vecShoveForce; // 0x10 // MPropertyDescription "MELEE Range of this hit. Generally should remain within the evaluation Min/Max ranges, unless you know the animation significantly moves the NPC before this hit occurs." - float m_flRange; // 0x1c + float m_flRange; // 0x1c }; -// Aligment: 7 -// Size: 1048 -class CNPCAbilityMeleeAttackVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 7 +// Size: 0x418 +class CNPCAbilityMeleeAttackVData : public CBaseNPCAbilityVData { public: // MPropertyFriendlyName "Hit Triggers" // MPropertyGroupName "Animation" - CUtlVector< MeleeAttackUseTrigger_t > m_vecTriggers; // 0x3b8 + CUtlVector< MeleeAttackUseTrigger_t > m_vecTriggers; // 0x3b8 // MPropertyGroupName "Evaluating" - ENPCAbilityMeleeAttackEvaluationTest m_EvaluationTest; // 0x3d0 + ENPCAbilityMeleeAttackEvaluationTest m_EvaluationTest; // 0x3d0 // MPropertyGroupName "Evaluating" - Vector m_vecEvaluatingMeleeAttackMins; // 0x3d4 + Vector m_vecEvaluatingMeleeAttackMins; // 0x3d4 // MPropertyGroupName "Evaluating" - Vector m_vecEvaluatingMeleeAttackMaxs; // 0x3e0 + Vector m_vecEvaluatingMeleeAttackMaxs; // 0x3e0 // MPropertyGroupName "Using" - Vector m_vecUsingMeleeAttackMins; // 0x3ec + Vector m_vecUsingMeleeAttackMins; // 0x3ec // MPropertyGroupName "Using" - Vector m_vecUsingMeleeAttackMaxs; // 0x3f8 + Vector m_vecUsingMeleeAttackMaxs; // 0x3f8 +private: + [[maybe_unused]] uint8_t __pad0404[0x4]; // 0x404 +public: // MPropertyGroupName "Using" - CEmbeddedSubclass< CBaseModifier > m_ModifierOnHit; // 0x408 + CEmbeddedSubclass< CBaseModifier > m_ModifierOnHit; // 0x408 }; -// Aligment: 4 -// Size: 984 -class CNPCAbilitySpawnVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 4 +// Size: 0x3d8 +class CNPCAbilitySpawnVData : public CBaseNPCAbilityVData { public: // MPropertyAttributeEditor "VDataChoice( scripts/npc_units.vdata )" // MPropertyGroupName "Using" - CSubclassNameGeneric m_sSubclassToSpawn; // 0x3b8 + CSubclassNameGeneric m_sSubclassToSpawn; // 0x3b8 // MPropertyGroupName "Using" - CRangeInt m_nNumToSpawn; // 0x3c8 + CRangeInt m_nNumToSpawn; // 0x3c8 // MPropertyGroupName "Using" - bool m_bSpawnInRagdoll; // 0x3d0 + bool m_bSpawnInRagdoll; // 0x3d0 +private: + [[maybe_unused]] uint8_t __pad03d1[0x3]; // 0x3d1 +public: // MPropertyGroupName "Using" - float m_flRagdollSpawnForceMultiplier; // 0x3d4 + float m_flRagdollSpawnForceMultiplier; // 0x3d4 }; -// Aligment: 8 -// Size: 1440 -class CNPCWeaponHitscanVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 8 +// Size: 0x5a0 +class CNPCWeaponHitscanVData : public CBaseNPCAbilityVData { public: // MPropertyDescription "Effect when firing this weapon" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x3b8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x3b8 // MPropertyDescription "Effect to actually fire into the world from this weapon" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x498 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x498 // MPropertyGroupName "Using" - CRangeInt m_nBurstSize; // 0x578 + CRangeInt m_nBurstSize; // 0x578 // MPropertyGroupName "Using" - Vector m_vecBulletSpreadCone; // 0x580 + Vector m_vecBulletSpreadCone; // 0x580 // MPropertyGroupName "Using" - float m_flSpreadBias; // 0x58c + float m_flSpreadBias; // 0x58c // MPropertyGroupName "Using" - int32_t m_nPellets; // 0x590 + int32_t m_nPellets; // 0x590 // MPropertyDescription "When calculating the aim spread, should this ability apply the current aim refinement value of the wielding NPC?" // MPropertyGroupName "Using" - bool m_bApplyAimRefinement; // 0x594 + bool m_bApplyAimRefinement; // 0x594 +private: + [[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595 +public: // MPropertyGroupName "Using" - int32_t m_nPowerCostPerShot; // 0x598 + int32_t m_nPowerCostPerShot; // 0x598 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 struct HitscanGatherData_t { public: - CBitVec< 2 > m_FiringOccludedHere; // 0x0 - Vector m_vecFiringAtPos; // 0x4 - Vector m_vecFiringTargetPos; // 0x10 - bool m_bWeaponFireOccludedLastTime; // 0x1c + CBitVec< 2 > m_FiringOccludedHere; // 0x0 + Vector m_vecFiringAtPos; // 0x4 + Vector m_vecFiringTargetPos; // 0x10 + bool m_bWeaponFireOccludedLastTime; // 0x1c }; -// Aligment: 28 -// Size: 192 +// Alignment: 28 +// Size: 0xc0 class CBaseAchievement { public: - char* m_pszName; // 0x18 - int32_t m_iAchievementID; // 0x20 - int32_t m_iFlags; // 0x24 - int32_t m_iGoal; // 0x28 - int32_t m_iProgressMsgIncrement; // 0x2c - int32_t m_iProgressMsgMinimum; // 0x30 - int32_t m_iPointValue; // 0x34 - bool m_bHideUntilAchieved; // 0x38 - bool m_bStoreProgressInSteam; // 0x39 - char* m_pInflictorClassNameFilter; // 0x40 - char* m_pInflictorEntityNameFilter; // 0x48 - char* m_pVictimClassNameFilter; // 0x50 - char* m_pAttackerClassNameFilter; // 0x58 - char* m_pMapNameFilter; // 0x60 - char* m_pGameDirFilter; // 0x68 - char** m_pszComponentNames; // 0x70 - char** m_pszComponentDisplayNames; // 0x78 - int32_t m_iNumComponents; // 0x80 - char* m_pszComponentPrefix; // 0x88 - int32_t m_iComponentPrefixLen; // 0x90 - bool m_bAchieved; // 0x94 - int32_t m_iCount; // 0x98 - int32_t m_iProgressShown; // 0x9c - uint64_t m_iComponentBits; // 0xa0 - int32_t m_nUserSlot; // 0xb0 - int32_t m_iDisplayOrder; // 0xb4 - bool m_bShowOnHUD; // 0xb8 - int32_t m_iAssetAwardID; // 0xbc + char* m_pszName; // 0x18 + int32_t m_iAchievementID; // 0x20 + int32_t m_iFlags; // 0x24 + int32_t m_iGoal; // 0x28 + int32_t m_iProgressMsgIncrement; // 0x2c + int32_t m_iProgressMsgMinimum; // 0x30 + int32_t m_iPointValue; // 0x34 + bool m_bHideUntilAchieved; // 0x38 + bool m_bStoreProgressInSteam; // 0x39 +private: + [[maybe_unused]] uint8_t __pad003a[0x6]; // 0x3a +public: + char* m_pInflictorClassNameFilter; // 0x40 + char* m_pInflictorEntityNameFilter; // 0x48 + char* m_pVictimClassNameFilter; // 0x50 + char* m_pAttackerClassNameFilter; // 0x58 + char* m_pMapNameFilter; // 0x60 + char* m_pGameDirFilter; // 0x68 + char** m_pszComponentNames; // 0x70 + char** m_pszComponentDisplayNames; // 0x78 + int32_t m_iNumComponents; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0084[0x4]; // 0x84 +public: + char* m_pszComponentPrefix; // 0x88 + int32_t m_iComponentPrefixLen; // 0x90 + bool m_bAchieved; // 0x94 +private: + [[maybe_unused]] uint8_t __pad0095[0x3]; // 0x95 +public: + int32_t m_iCount; // 0x98 + int32_t m_iProgressShown; // 0x9c + uint64_t m_iComponentBits; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad00a8[0x8]; // 0xa8 +public: + int32_t m_nUserSlot; // 0xb0 + int32_t m_iDisplayOrder; // 0xb4 + bool m_bShowOnHUD; // 0xb8 +private: + [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 +public: + int32_t m_iAssetAwardID; // 0xbc }; -// Aligment: 2 -// Size: 200 +// Alignment: 2 +// Size: 0xc8 class CFailableAchievement : public CBaseAchievement { public: - bool m_bActivated; // 0xc0 - bool m_bFailed; // 0xc1 + bool m_bActivated; // 0xc0 + bool m_bFailed; // 0xc1 }; -// Aligment: 1 -// Size: 2 +// Alignment: 1 +// Size: 0x2 struct ModifierQueuedRefreshHandle_t { public: - uint16_t m_nBoxedTypeSafeInt; // 0x0 + uint16_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 5 -// Size: 472 +// Alignment: 5 +// Size: 0x1d8 struct ModifierScriptValue_t { public: - EModifierValue m_eModifierValue; // 0x0 - EModifierScriptVariantType m_eType; // 0x4 + EModifierValue m_eModifierValue; // 0x0 + EModifierScriptVariantType m_eType; // 0x4 // MPropertySuppressExpr "m_eType != MODIFIER_SCRIPT_VARIANT_MODIFIER_FLOAT" - CModifierLevelFloat m_value; // 0x8 + CModifierLevelFloat m_value; // 0x8 // MPropertySuppressExpr "m_eType != MODIFIER_SCRIPT_VARIANT_MODEL" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelValue; // 0x18 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelValue; // 0x18 // MPropertySuppressExpr "m_eType != MODIFIER_SCRIPT_VARIANT_PARTICLE" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sParticleValue; // 0xf8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sParticleValue; // 0xf8 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 struct ModifierScriptedEventHandler_t { public: - EModifierScriptedEvent m_eEvent; // 0x8 - CEmbeddedSubclassGeneric< 4 > m_sModifierToAdd; // 0x10 + EModifierScriptedEvent m_eEvent; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + CEmbeddedSubclassGeneric< 4 > m_sModifierToAdd; // 0x10 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 struct ModifierRenderAttribute_t { public: - CUtlString m_sAttribute; // 0x0 - Vector4D m_vValues; // 0x8 + CUtlString m_sAttribute; // 0x0 + Vector4D m_vValues; // 0x8 }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 struct ModifierTrackedParticle_t { public: - ParticleIndex_t m_nParticleIndex; // 0x0 - bool m_bDestroyImmediately; // 0x4 - bool m_bStatusEffect; // 0x5 - int16_t m_nStatusEffectPriority; // 0x6 + ParticleIndex_t m_nParticleIndex; // 0x0 + bool m_bDestroyImmediately; // 0x4 + bool m_bStatusEffect; // 0x5 + int16_t m_nStatusEffectPriority; // 0x6 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 struct ModifierTrackedGraphParameter_t { public: - CUtlString m_sParamName; // 0x0 - CAnimVariant m_restoreValue; // 0x8 + CUtlString m_sParamName; // 0x0 + CAnimVariant m_restoreValue; // 0x8 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 struct ModifierTrackedSound_t { public: -// + // no members available }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct ModifierTrackedBodyGroup_t { public: - CUtlString m_strBodygroupName; // 0x0 - int32_t m_nRestoreValue; // 0x8 + CUtlString m_strBodygroupName; // 0x0 + int32_t m_nRestoreValue; // 0x8 }; -// Aligment: 19 -// Size: 912 +// Alignment: 19 +// Size: 0x390 class CModifierVData : public CEntitySubclassVDataBase { public: - CModifierLevelFloat m_flDuration; // 0x28 + CModifierLevelFloat m_flDuration; // 0x28 // MPropertyGroupName "Visuals" // MPropertyDescription "Particle system to attach to the parent of the modifier" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strParticleEffect; // 0x38 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strParticleEffect; // 0x38 // MPropertyGroupName "Visuals" // MPropertyDescription "Status Effect to apply to the parent of the modifier" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strParticleStatusEffect; // 0x118 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strParticleStatusEffect; // 0x118 // MPropertyGroupName "Visuals" // MPropertyDescription "Screen-space particle system to create if the parent of the modifier is the local player" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strScreenParticleEffect; // 0x1f8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strScreenParticleEffect; // 0x1f8 // MPropertyGroupName "Visuals" // MPropertyDescription "Priority of this status effect relative to others" - int32_t m_nStatusEffectPriority; // 0x2d8 + int32_t m_nStatusEffectPriority; // 0x2d8 +private: + [[maybe_unused]] uint8_t __pad02dc[0x4]; // 0x2dc +public: // MPropertyGroupName "Visuals" - CUtlVector< ModifierRenderAttribute_t > m_vecRenderAttributes; // 0x2e0 + CUtlVector< ModifierRenderAttribute_t > m_vecRenderAttributes; // 0x2e0 // MPropertyGroupName "Sounds" - CSoundEventName m_sStartSound; // 0x2f8 + CSoundEventName m_sStartSound; // 0x2f8 // MPropertyGroupName "Sounds" - CSoundEventName m_sAmbientLoopingSound; // 0x308 + CSoundEventName m_sAmbientLoopingSound; // 0x308 // MPropertyGroupName "Sounds" - ModifierSoundRecipients_t m_nAmbientLoopingSoundRecipients; // 0x318 + ModifierSoundRecipients_t m_nAmbientLoopingSoundRecipients; // 0x318 +private: + [[maybe_unused]] uint8_t __pad031c[0x4]; // 0x31c +public: // MPropertyGroupName "Sounds" - CSoundEventName m_sEndSound; // 0x320 + CSoundEventName m_sEndSound; // 0x320 // MPropertyGroupName "Scripted Settings" - CBitVecEnum< EModifierState > m_nEnabledStateMask; // 0x330 + CBitVecEnum< EModifierState > m_nEnabledStateMask; // 0x330 // MPropertyGroupName "Scripted Settings" - CBitVecEnum< EModifierState > m_nDisabledStateMask; // 0x334 + CBitVecEnum< EModifierState > m_nDisabledStateMask; // 0x334 // MPropertyGroupName "Scripted Settings" - ModifierAttribute_t m_nAttributes; // 0x338 + ModifierAttribute_t m_nAttributes; // 0x338 +private: + [[maybe_unused]] uint8_t __pad033c[0x4]; // 0x33c +public: // MPropertyGroupName "Scripted Settings" // MPropertyDescription "Scripted Modifier Values" - CUtlVector< ModifierScriptValue_t > m_vecScriptValues; // 0x340 + CUtlVector< ModifierScriptValue_t > m_vecScriptValues; // 0x340 // MPropertyGroupName "Scripted Settings" // MPropertyDescription "Scripted Event Handlers" - CUtlVector< ModifierScriptedEventHandler_t > m_vecScriptEventHandlers; // 0x358 - ModifierDisableGroup_t m_nDisableGroupsMask; // 0x370 + CUtlVector< ModifierScriptedEventHandler_t > m_vecScriptEventHandlers; // 0x358 + ModifierDisableGroup_t m_nDisableGroupsMask; // 0x370 // MPropertyDescription "When set, the modifier only provides data to requests made directly to the attached entity and not to other modifier properties that the owner provides to." - bool m_bPrivateAccess; // 0x374 + bool m_bPrivateAccess; // 0x374 // MPropertyDescription "When set, the modifier will not be visible to UI or visible modifier list." - bool m_bIsHidden; // 0x375 + bool m_bIsHidden; // 0x375 +private: + [[maybe_unused]] uint8_t __pad0376[0x2]; // 0x376 +public: // MPropertyDescription "When to consider the modifier a debuff." - ModifierDebuffType_t m_eDebuffType; // 0x378 + ModifierDebuffType_t m_eDebuffType; // 0x378 }; -// Aligment: 20 -// Size: 128 +// Alignment: 20 +// Size: 0x80 class CBaseModifier { public: - ModifierSerialNumber_t m_nSerialNumber; // 0x24 - float m_flLastAppliedTime; // 0x28 - float m_flDuration; // 0x2c - CHandle< CBaseEntity > m_hCaster; // 0x30 - CHandle< CBaseEntity > m_hAbility; // 0x34 - CModifierHandleBase m_hAuraProvider; // 0x38 - ModifierQueuedRefreshHandle_t m_nQueuedModifierRefreshHandle; // 0x50 - uint8_t m_iAttributes; // 0x52 - uint8_t m_iTeam; // 0x53 - int16_t m_iStackCount; // 0x54 - int16_t m_iMaxStackCount; // 0x56 - uint8_t m_eDestroyReason; // 0x58 - bool m_bDisabled; // 0x59 - float m_flPreviousTick; // 0x5c - float m_flThinkInterval; // 0x60 - float m_flThinkIntervalStartTime; // 0x64 - float m_flTimeScale; // 0x68 - CUtlVector< IModifierTrackedObject* >* m_pVecTrackedObjects; // 0x70 - ModifierRuntimeHandle_t m_hModifierListHandle; // 0x78 - int32_t m_iStringIndex; // 0x7c + ModifierSerialNumber_t m_nSerialNumber; // 0x24 + float m_flLastAppliedTime; // 0x28 + float m_flDuration; // 0x2c + CHandle< CBaseEntity > m_hCaster; // 0x30 + CHandle< CBaseEntity > m_hAbility; // 0x34 + CModifierHandleBase m_hAuraProvider; // 0x38 + ModifierQueuedRefreshHandle_t m_nQueuedModifierRefreshHandle; // 0x50 + uint8_t m_iAttributes; // 0x52 + uint8_t m_iTeam; // 0x53 + int16_t m_iStackCount; // 0x54 + int16_t m_iMaxStackCount; // 0x56 + uint8_t m_eDestroyReason; // 0x58 + bool m_bDisabled; // 0x59 +private: + [[maybe_unused]] uint8_t __pad005a[0x2]; // 0x5a +public: + float m_flPreviousTick; // 0x5c + float m_flThinkInterval; // 0x60 + float m_flThinkIntervalStartTime; // 0x64 + float m_flTimeScale; // 0x68 +private: + [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c +public: + CUtlVector< IModifierTrackedObject* >* m_pVecTrackedObjects; // 0x70 + ModifierRuntimeHandle_t m_hModifierListHandle; // 0x78 + int32_t m_iStringIndex; // 0x7c }; -// Aligment: 3 -// Size: 952 -class CModifierVData_BaseAura : public CModifierVData, CEntitySubclassVDataBase +// Alignment: 3 +// Size: 0x3b8 +class CModifierVData_BaseAura : public CModifierVData { public: - CModifierLevelFloat m_flAuraRadius; // 0x390 - int32_t m_nAmbientParticleRadiusControlPoint; // 0x3a0 + CModifierLevelFloat m_flAuraRadius; // 0x390 + int32_t m_nAmbientParticleRadiusControlPoint; // 0x3a0 +private: + [[maybe_unused]] uint8_t __pad03a4[0x4]; // 0x3a4 +public: // MPropertyDescription "Aura - Modifier to Apply" // MPropertyFriendlyName "Modifier Provided By Aura" - CEmbeddedSubclass< CBaseModifier > m_modifierProvidedByAura; // 0x3a8 + CEmbeddedSubclass< CBaseModifier > m_modifierProvidedByAura; // 0x3a8 }; -// Aligment: 1 -// Size: 2 +// Alignment: 1 +// Size: 0x2 struct ModifierPropRuntimeHandle_t { public: - uint16_t m_nBoxedTypeSafeInt; // 0x0 + uint16_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 10 -// Size: 200 +// Alignment: 10 +// Size: 0xc8 class CModifierProperty { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x8 - CHandle< CBaseEntity > m_hOwner; // 0x20 - uint8_t m_nProviderVisitedFlags; // 0x8e - bool m_bModifierStatesDirty; // 0x8f - int8_t m_iLockRefCount; // 0x90 - ModifierPropRuntimeHandle_t m_hHandle; // 0x92 - uint16_t m_nBroadcastEventListenerMask; // 0x94 + CNetworkVarChainer __m_pChainEntity; // 0x8 + CHandle< CBaseEntity > m_hOwner; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0x6a]; // 0x24 +public: + uint8_t m_nProviderVisitedFlags; // 0x8e + bool m_bModifierStatesDirty; // 0x8f + int8_t m_iLockRefCount; // 0x90 +private: + [[maybe_unused]] uint8_t __pad0091[0x1]; // 0x91 +public: + ModifierPropRuntimeHandle_t m_hHandle; // 0x92 + uint16_t m_nBroadcastEventListenerMask; // 0x94 +private: + [[maybe_unused]] uint8_t __pad0096[0xa]; // 0x96 +public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_vecProviders; // 0xa0 + CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_vecProviders; // 0xa0 // MNetworkEnable - uint32_t m_nDisabledGroups; // 0xb8 + uint32_t m_nDisabledGroups; // 0xb8 // MNetworkEnable // MNetworkChangeCallback "modifierStatesChanged" - uint32[1] m_bvEnabledStateMask; // 0xbc + uint32_t m_bvEnabledStateMask[1]; // 0xbc }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct ModifierSerialNumber_t { public: - int32_t m_nBoxedTypeSafeInt; // 0x0 + int32_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct ModifierRuntimeHandle_t { public: - uint32_t m_nBoxedTypeSafeInt; // 0x0 + uint32_t m_nBoxedTypeSafeInt; // 0x0 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CModifierHandleBase { public: // MNetworkEnable // MNetworkSerializer "modifier_handle" - uint64_t m_hStableHandle; // 0x8 + uint64_t m_hStableHandle; // 0x8 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 struct ModifierVariant_t { public: - ModifierVariantType_t m_eType; // 0x0 + ModifierVariantType_t m_eType; // 0x0 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IModifierTrackedObject { public: -// + // no members available }; -// Aligment: 4 -// Size: 408 -class CSteamPalPlayer_CameraServices : public CPlayer_CameraServices, CPlayerComponent +// Alignment: 4 +// Size: 0x198 +class CSteamPalPlayer_CameraServices : public CPlayer_CameraServices { public: // MNetworkEnable - bool m_bViewFrozen; // 0x178 + bool m_bViewFrozen; // 0x178 +private: + [[maybe_unused]] uint8_t __pad0179[0x3]; // 0x179 +public: // MNetworkEnable - CHandle< CBaseEntity > m_hCameraTarget; // 0x17c + CHandle< CBaseEntity > m_hCameraTarget; // 0x17c // MNetworkEnable - Vector m_vMoveOffset; // 0x180 + Vector m_vMoveOffset; // 0x180 // MNetworkEnable - QAngle m_vLookOffset; // 0x18c + QAngle m_vLookOffset; // 0x18c }; -// Aligment: 0 -// Size: 144 -class CSteamPalPlayer_MovementServices : public CPlayer_MovementServices, CPlayerComponent +// Alignment: 0 +// Size: 0x90 +class CSteamPalPlayer_MovementServices : public CPlayer_MovementServices { public: -// + // no members available }; -// Aligment: 2 -// Size: 184 -class CSteamPalGameRules : public CSingleplayRules, CGameRules +// Alignment: 2 +// Size: 0xb8 +class CSteamPalGameRules : public CSingleplayRules { public: - bool m_bIsInAscentSection; // 0xb0 - CHandle< CBaseEntity > m_hPlayerResource; // 0xb4 + bool m_bIsInAscentSection; // 0xb0 +private: + [[maybe_unused]] uint8_t __pad00b1[0x3]; // 0xb1 +public: + CHandle< CBaseEntity > m_hPlayerResource; // 0xb4 }; -// Aligment: 1 -// Size: 64 +// Alignment: 1 +// Size: 0x40 class COffscreenParticleHelper { public: - RenderMultisampleType_t m_nMultisampleType; // 0x1c + RenderMultisampleType_t m_nMultisampleType; // 0x1c }; -// Aligment: 0 -// Size: 128 +// Alignment: 0 +// Size: 0x80 class CSteamPalModifier : public CBaseModifier { public: -// + // no members available }; -// Aligment: 0 -// Size: 128 -class CSteamPalModifier_Base : public CSteamPalModifier, CBaseModifier +// Alignment: 0 +// Size: 0x80 +class CSteamPalModifier_Base : public CSteamPalModifier { public: -// + // no members available }; -// Aligment: 0 -// Size: 952 -class CSteamPalModifierAuraVData : public CModifierVData_BaseAura, CModifierVData, CEntitySubclassVDataBase +// Alignment: 0 +// Size: 0x3b8 +class CSteamPalModifierAuraVData : public CModifierVData_BaseAura { public: -// + // no members available }; -// Aligment: 7 -// Size: 152 +// Alignment: 7 +// Size: 0x98 class CSteampal_Turret_ManagerVData : public CEntitySubclassVDataBase { public: // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sIntroTurretType; // 0x28 + CSubclassName< 0 > m_sIntroTurretType; // 0x28 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sIntroSmokingTurretType; // 0x38 + CSubclassName< 0 > m_sIntroSmokingTurretType; // 0x38 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sUltraTurretType; // 0x48 + CSubclassName< 0 > m_sUltraTurretType; // 0x48 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sBadTurretType; // 0x58 + CSubclassName< 0 > m_sBadTurretType; // 0x58 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sGoodTurretType; // 0x68 + CSubclassName< 0 > m_sGoodTurretType; // 0x68 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sAscentTurretType; // 0x78 + CSubclassName< 0 > m_sAscentTurretType; // 0x78 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sCaveJohnsonTurretType; // 0x88 + CSubclassName< 0 > m_sCaveJohnsonTurretType; // 0x88 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 struct CSteamPal_SequencerTrackDef_t { public: - int32_t m_nStandardNoteHold; // 0x0 - CUtlString m_sPlayerInputLeftPadNotes; // 0x8 - CUtlString m_sPlayerInputRightPadNotes; // 0x10 - CUtlString m_sName; // 0x18 + int32_t m_nStandardNoteHold; // 0x0 + CUtlString m_sPlayerInputLeftPadNotes; // 0x8 + CUtlString m_sPlayerInputRightPadNotes; // 0x10 + CUtlString m_sName; // 0x18 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 struct CSteamPal_SequencerSequenceDef_t { public: - CUtlVector< CUtlString > m_vMusicTracks; // 0x0 + CUtlVector< CUtlString > m_vMusicTracks; // 0x0 }; -// Aligment: 11 -// Size: 128 +// Alignment: 11 +// Size: 0x80 class CSteamPal_SequencerVData : public CEntitySubclassVDataBase { public: - float m_flBPM; // 0x28 - bool m_bStartPaused; // 0x2c - int32_t m_nGridWidth; // 0x30 - int32_t m_nGridHeight; // 0x34 - int32_t m_nTestDisplayTrackNum; // 0x38 - float m_flDebugGridSize; // 0x3c - float m_flDebugGridElementGap; // 0x40 - CUtlVector< CSteamPal_SequencerTrackDef_t > m_vTrackDefs; // 0x48 - CUtlVector< CSteamPal_SequencerSequenceDef_t > m_vIntroSequences; // 0x60 - bool m_bAutoPlayIntro; // 0x78 - bool m_bLoopIntroTracks; // 0x79 + float m_flBPM; // 0x28 + bool m_bStartPaused; // 0x2c +private: + [[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d +public: + int32_t m_nGridWidth; // 0x30 + int32_t m_nGridHeight; // 0x34 + int32_t m_nTestDisplayTrackNum; // 0x38 + float m_flDebugGridSize; // 0x3c + float m_flDebugGridElementGap; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 +public: + CUtlVector< CSteamPal_SequencerTrackDef_t > m_vTrackDefs; // 0x48 + CUtlVector< CSteamPal_SequencerSequenceDef_t > m_vIntroSequences; // 0x60 + bool m_bAutoPlayIntro; // 0x78 + bool m_bLoopIntroTracks; // 0x79 }; -// Aligment: 8 -// Size: 312 +// Alignment: 8 +// Size: 0x138 class CSteamPal_BaseSingingEntity_VData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - CSoundEventName m_sTestToneSound; // 0x108 - CSoundEventName m_sGreetingSound; // 0x118 - bool m_bAutoSingTracks; // 0x128 - bool m_bPlayAnimGraphOnly; // 0x129 - float m_flBaseMidiNote; // 0x12c - float m_flWingAnimateInTime; // 0x130 - float m_flVolume; // 0x134 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CSoundEventName m_sTestToneSound; // 0x108 + CSoundEventName m_sGreetingSound; // 0x118 + bool m_bAutoSingTracks; // 0x128 + bool m_bPlayAnimGraphOnly; // 0x129 +private: + [[maybe_unused]] uint8_t __pad012a[0x2]; // 0x12a +public: + float m_flBaseMidiNote; // 0x12c + float m_flWingAnimateInTime; // 0x130 + float m_flVolume; // 0x134 }; -// Aligment: 10 -// Size: 176 +// Alignment: 10 +// Size: 0xb0 class CSteamPal_NameFormVData : public CEntitySubclassVDataBase { public: - CSkillFloat m_flMaxTimeSayingName; // 0x28 - CSkillFloat m_flMaxTimeTypingFaceButtons; // 0x38 - int32_t m_nNumFaceButtonLettersNeededToSucceed; // 0x48 - CSkillFloat m_flMaxTimeTypingKeyboard; // 0x4c - int32_t m_nNumKeyboardLettersNeededToSucceed; // 0x5c - CSkillFloat m_flMaxTimeSigningName; // 0x60 - CSkillFloat m_flTaskTimeAfterUsefulAction; // 0x70 + CSkillFloat m_flMaxTimeSayingName; // 0x28 + CSkillFloat m_flMaxTimeTypingFaceButtons; // 0x38 + int32_t m_nNumFaceButtonLettersNeededToSucceed; // 0x48 + CSkillFloat m_flMaxTimeTypingKeyboard; // 0x4c + int32_t m_nNumKeyboardLettersNeededToSucceed; // 0x5c + CSkillFloat m_flMaxTimeSigningName; // 0x60 + CSkillFloat m_flTaskTimeAfterUsefulAction; // 0x70 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" - CSubclassName< 0 > m_sWritingSurfaceToSpawn; // 0x80 - QAngle m_qWritingSurfaceAttachAngles; // 0x90 - CSoundEventName m_sDingToneSound; // 0xa0 + CSubclassName< 0 > m_sWritingSurfaceToSpawn; // 0x80 + QAngle m_qWritingSurfaceAttachAngles; // 0x90 +private: + [[maybe_unused]] uint8_t __pad009c[0x4]; // 0x9c +public: + CSoundEventName m_sDingToneSound; // 0xa0 }; -// Aligment: 4 -// Size: 280 +// Alignment: 4 +// Size: 0x118 class CSteamPal_WritingSurfaceVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - Color m_BackgroundColor; // 0x108 - Color m_WritingColor; // 0x10c - float m_flWritingTipSize; // 0x110 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + Color m_BackgroundColor; // 0x108 + Color m_WritingColor; // 0x10c + float m_flWritingTipSize; // 0x110 }; -// Aligment: 6 -// Size: 24 +// Alignment: 6 +// Size: 0x18 struct CSteamPal_Turret_Wing_t { public: - float m_flPitchMin; // 0x0 - float m_flPitchMax; // 0x4 - float m_flPitchRate; // 0x8 - float m_flYawMin; // 0xc - float m_flYawMax; // 0x10 - float m_flYawRate; // 0x14 + float m_flPitchMin; // 0x0 + float m_flPitchMax; // 0x4 + float m_flPitchRate; // 0x8 + float m_flYawMin; // 0xc + float m_flYawMax; // 0x10 + float m_flYawRate; // 0x14 }; -// Aligment: 36 -// Size: 1440 +// Alignment: 36 +// Size: 0x5a0 class CSteamPal_TurretVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sMuzzleFlashEffect; // 0x108 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTracerEffect; // 0x1e8 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sLaserSightEffect; // 0x2c8 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sExplodeEffect; // 0x3a8 - CSteamPal_Turret_Wing_t m_sLeftWing; // 0x488 - CSteamPal_Turret_Wing_t m_sRightWing; // 0x4a0 - Steampal_TurretType_t m_TurretType; // 0x4b8 - CUtlVector< CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > > m_BreakPieces; // 0x4c0 - CUtlVector< CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > > m_WhiteBreakPieces; // 0x4d8 - bool m_bTakeOverCamera; // 0x4f0 - bool m_bSynchedWings; // 0x4f1 - bool m_bRawAiming; // 0x4f2 - bool m_bUseInterpolationHack; // 0x4f3 - float m_flTraceLength; // 0x4f4 - float m_flXInputExponent; // 0x4f8 - float m_flYInputExponent; // 0x4fc - float m_flAxialDeadZoneX; // 0x500 - float m_flAxialDeadZoneY; // 0x504 - float m_flCircularDeadzoneMin; // 0x508 - float m_flCircularDeadzoneMax; // 0x50c - float m_flCircularExponent; // 0x510 - float m_flWingDeployExplodeThreshold; // 0x514 - int32_t m_nMaxAmmo; // 0x518 - float m_flCameraOverShoulderOffset; // 0x51c - float m_flCameraOverShoulderFOV; // 0x520 - bool m_bOnlyValidTargetIfControlledByPlayer; // 0x524 - int32_t m_nHealth; // 0x528 - CSoundEventName m_sWingOpenSound; // 0x530 - CSoundEventName m_sWingCloseSound; // 0x540 - CSoundEventName m_sWingMoveCompleteSound; // 0x550 - CSoundEventName m_sWingMoveSound; // 0x560 - Vector m_vDeployingVibration; // 0x570 - Vector m_vShootingVibration; // 0x57c - Vector m_vTakingDamageVibration; // 0x588 - Vector m_vExplodingVibration; // 0x594 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sMuzzleFlashEffect; // 0x108 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTracerEffect; // 0x1e8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sLaserSightEffect; // 0x2c8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sExplodeEffect; // 0x3a8 + CSteamPal_Turret_Wing_t m_sLeftWing; // 0x488 + CSteamPal_Turret_Wing_t m_sRightWing; // 0x4a0 + Steampal_TurretType_t m_TurretType; // 0x4b8 +private: + [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc +public: + CUtlVector< CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > > m_BreakPieces; // 0x4c0 + CUtlVector< CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > > m_WhiteBreakPieces; // 0x4d8 + bool m_bTakeOverCamera; // 0x4f0 + bool m_bSynchedWings; // 0x4f1 + bool m_bRawAiming; // 0x4f2 + bool m_bUseInterpolationHack; // 0x4f3 + float m_flTraceLength; // 0x4f4 + float m_flXInputExponent; // 0x4f8 + float m_flYInputExponent; // 0x4fc + float m_flAxialDeadZoneX; // 0x500 + float m_flAxialDeadZoneY; // 0x504 + float m_flCircularDeadzoneMin; // 0x508 + float m_flCircularDeadzoneMax; // 0x50c + float m_flCircularExponent; // 0x510 + float m_flWingDeployExplodeThreshold; // 0x514 + int32_t m_nMaxAmmo; // 0x518 + float m_flCameraOverShoulderOffset; // 0x51c + float m_flCameraOverShoulderFOV; // 0x520 + bool m_bOnlyValidTargetIfControlledByPlayer; // 0x524 +private: + [[maybe_unused]] uint8_t __pad0525[0x3]; // 0x525 +public: + int32_t m_nHealth; // 0x528 +private: + [[maybe_unused]] uint8_t __pad052c[0x4]; // 0x52c +public: + CSoundEventName m_sWingOpenSound; // 0x530 + CSoundEventName m_sWingCloseSound; // 0x540 + CSoundEventName m_sWingMoveCompleteSound; // 0x550 + CSoundEventName m_sWingMoveSound; // 0x560 + Vector m_vDeployingVibration; // 0x570 + Vector m_vShootingVibration; // 0x57c + Vector m_vTakingDamageVibration; // 0x588 + Vector m_vExplodingVibration; // 0x594 }; -// Aligment: 10 -// Size: 2360 -class CSteamPal_Intro_ToiletVData : public CSteamPal_TurretVData, CEntitySubclassVDataBase +// Alignment: 10 +// Size: 0x938 +class CSteamPal_Intro_ToiletVData : public CSteamPal_TurretVData { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sBidetWaterEffect; // 0x5a0 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sToiletFlushEffect; // 0x680 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sSmokingToiletSmokeEffect; // 0x760 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sBidetShootingBulletsEffect; // 0x840 - float m_flTestSpringStrength; // 0x920 - float m_flTestRequiredDuration; // 0x924 - float m_flFlushWaitTime; // 0x928 - float m_flCisternFillDuration; // 0x92c - float m_flFlushDuration; // 0x930 - bool m_bSmoking; // 0x934 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sBidetWaterEffect; // 0x5a0 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sToiletFlushEffect; // 0x680 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sSmokingToiletSmokeEffect; // 0x760 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sBidetShootingBulletsEffect; // 0x840 + float m_flTestSpringStrength; // 0x920 + float m_flTestRequiredDuration; // 0x924 + float m_flFlushWaitTime; // 0x928 + float m_flCisternFillDuration; // 0x92c + float m_flFlushDuration; // 0x930 + bool m_bSmoking; // 0x934 }; -// Aligment: 1 -// Size: 264 +// Alignment: 1 +// Size: 0x108 class CSteamPal_ToiletTestPanelVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 }; -// Aligment: 8 -// Size: 504 +// Alignment: 8 +// Size: 0x1f8 struct CSteamPal_Ultra_Toilet_Gun_VData_t { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sMuzzleFlashEffect; // 0x0 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTracerEffect; // 0xe0 - CUtlString m_strMuzzleAttachment; // 0x1c0 - int32_t m_nAmmo; // 0x1c8 - float m_flRateOfFire; // 0x1cc - float m_flDamage; // 0x1d0 - CSoundEventName m_sShootSound; // 0x1d8 - CSoundEventName m_sEmptySound; // 0x1e8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sMuzzleFlashEffect; // 0x0 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTracerEffect; // 0xe0 + CUtlString m_strMuzzleAttachment; // 0x1c0 + int32_t m_nAmmo; // 0x1c8 + float m_flRateOfFire; // 0x1cc + float m_flDamage; // 0x1d0 +private: + [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 +public: + CSoundEventName m_sShootSound; // 0x1d8 + CSoundEventName m_sEmptySound; // 0x1e8 }; -// Aligment: 12 -// Size: 5464 -class CSteamPal_Ultra_ToiletVData : public CSteamPal_TurretVData, CEntitySubclassVDataBase +// Alignment: 12 +// Size: 0x1558 +class CSteamPal_Ultra_ToiletVData : public CSteamPal_TurretVData { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sUltraModelName; // 0x5a0 - CSteamPal_Ultra_Toilet_Gun_VData_t m_Minigun; // 0x680 - CSteamPal_Ultra_Toilet_Gun_VData_t m_SMG; // 0x878 - CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_L1; // 0xa70 - CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_L2; // 0xc68 - CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_R1; // 0xe60 - CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_R2; // 0x1058 - CSteamPal_Ultra_Toilet_Gun_VData_t m_Rocket; // 0x1250 - CSoundEventName m_sMinigunWindUpSound; // 0x1448 - CSoundEventName m_sMinigunWindDownSound; // 0x1458 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRadarSparksEffect; // 0x1468 - CSoundEventName m_sRadarSparksSound; // 0x1548 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sUltraModelName; // 0x5a0 + CSteamPal_Ultra_Toilet_Gun_VData_t m_Minigun; // 0x680 + CSteamPal_Ultra_Toilet_Gun_VData_t m_SMG; // 0x878 + CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_L1; // 0xa70 + CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_L2; // 0xc68 + CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_R1; // 0xe60 + CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_R2; // 0x1058 + CSteamPal_Ultra_Toilet_Gun_VData_t m_Rocket; // 0x1250 + CSoundEventName m_sMinigunWindUpSound; // 0x1448 + CSoundEventName m_sMinigunWindDownSound; // 0x1458 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRadarSparksEffect; // 0x1468 + CSoundEventName m_sRadarSparksSound; // 0x1548 }; -// Aligment: 4 -// Size: 512 +// Alignment: 4 +// Size: 0x200 class CSteamPal_Ultra_Toilet_RocketVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketTrailEffect; // 0x28 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketExplosionEffect; // 0x108 - CSoundEventName m_sRocketExplodeSound; // 0x1e8 - int32_t m_nNumRocketPaths; // 0x1f8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketTrailEffect; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketExplosionEffect; // 0x108 + CSoundEventName m_sRocketExplodeSound; // 0x1e8 + int32_t m_nNumRocketPaths; // 0x1f8 }; -// Aligment: 5 -// Size: 24 +// Alignment: 5 +// Size: 0x18 struct SteamPal_Ultra_Toilet_Gun_t { public: - SteampalUltraToiletGunType_t m_eGunType; // 0x0 - AttachmentHandle_t m_nMuzzleAttachment; // 0x4 - int32_t m_nNumShotsFired; // 0x8 - float m_flNextAttackTime; // 0xc - CSteamPal_Ultra_Toilet_Gun_VData_t* m_pGunVData; // 0x10 + SteampalUltraToiletGunType_t m_eGunType; // 0x0 + AttachmentHandle_t m_nMuzzleAttachment; // 0x4 +private: + [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 +public: + int32_t m_nNumShotsFired; // 0x8 + float m_flNextAttackTime; // 0xc + CSteamPal_Ultra_Toilet_Gun_VData_t* m_pGunVData; // 0x10 }; -// Aligment: 10 -// Size: 64 +// Alignment: 10 +// Size: 0x40 struct SteampalConveyorSection_t { public: - float m_flStartT; // 0x0 - float m_flEndT; // 0x4 - float m_flSectionLength; // 0x8 - float m_flCurrentT; // 0xc - float m_flMaxSegmentLength; // 0x10 - float m_flSegmentLengthT; // 0x14 - int32_t m_nStartingSegmentIndex; // 0x18 - Color m_DebugColor; // 0x1c - CHandle< CSteamPalConveyorPathNode > m_hStartNode; // 0x38 - CHandle< CSteamPalConveyorPathNode > m_hEndNode; // 0x3c + float m_flStartT; // 0x0 + float m_flEndT; // 0x4 + float m_flSectionLength; // 0x8 + float m_flCurrentT; // 0xc + float m_flMaxSegmentLength; // 0x10 + float m_flSegmentLengthT; // 0x14 + int32_t m_nStartingSegmentIndex; // 0x18 + Color m_DebugColor; // 0x1c +private: + [[maybe_unused]] uint8_t __pad0020[0x18]; // 0x20 +public: + CHandle< CSteamPalConveyorPathNode > m_hStartNode; // 0x38 + CHandle< CSteamPalConveyorPathNode > m_hEndNode; // 0x3c }; -// Aligment: 1 -// Size: 264 +// Alignment: 1 +// Size: 0x108 class CSteamPal_TrackballVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 }; -// Aligment: 1 -// Size: 264 +// Alignment: 1 +// Size: 0x108 class CSteamPal_TouchScreenVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 }; -// Aligment: 10 -// Size: 560 +// Alignment: 10 +// Size: 0x230 class CSteamPal_DeskVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 // MPropertyDescription "Trackball Class" - CEmbeddedSubclass< CSteamPal_Trackball > m_sTrackballClassToSpawn; // 0x108 - CUtlString m_szLeftTrackballAttachmentName; // 0x118 - CUtlString m_szRightTrackballAttachmentName; // 0x120 - float m_flButtonAnimationDuration; // 0x128 - float m_flButtonBlinkFrequency; // 0x12c - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketBoostEffect; // 0x130 - CUtlString m_strRecordedWavPath; // 0x210 - CEmbeddedSubclass< CSteamPal_TouchScreen > m_sTouchScreenClassToSpawn; // 0x218 - CUtlString m_szTouchScreenAttachment; // 0x228 + CEmbeddedSubclass< CSteamPal_Trackball > m_sTrackballClassToSpawn; // 0x108 + CUtlString m_szLeftTrackballAttachmentName; // 0x118 + CUtlString m_szRightTrackballAttachmentName; // 0x120 + float m_flButtonAnimationDuration; // 0x128 + float m_flButtonBlinkFrequency; // 0x12c + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketBoostEffect; // 0x130 + CUtlString m_strRecordedWavPath; // 0x210 + CEmbeddedSubclass< CSteamPal_TouchScreen > m_sTouchScreenClassToSpawn; // 0x218 + CUtlString m_szTouchScreenAttachment; // 0x228 }; -// Aligment: 4 -// Size: 504 +// Alignment: 4 +// Size: 0x1f8 class CSteamPal_Toaster_VData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sToastModel; // 0x28 - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sPopupTartModel; // 0x108 - CUtlString m_strLauncher1Attachment; // 0x1e8 - CUtlString m_strLauncher2Attachment; // 0x1f0 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sToastModel; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sPopupTartModel; // 0x108 + CUtlString m_strLauncher1Attachment; // 0x1e8 + CUtlString m_strLauncher2Attachment; // 0x1f0 }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 struct NPCApplianceBulletAttachment_t { public: - CUtlString m_strAttachmentName; // 0x0 + CUtlString m_strAttachmentName; // 0x0 }; -// Aligment: 18 -// Size: 1504 -class CNPCApplianceWeaponBulletsVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 18 +// Size: 0x5e0 +class CNPCApplianceWeaponBulletsVData : public CBaseNPCAbilityVData { public: // MPropertyDescription "Effect when firing this weapon" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashEffect; // 0x3b8 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashEffect; // 0x3b8 // MPropertyDescription "Effect to actually fire into the world from this weapon" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerEffect; // 0x498 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerEffect; // 0x498 // MPropertyDescription "Muzzle attachements" - CUtlVector< NPCApplianceBulletAttachment_t > m_vecMuzzleAttachments; // 0x578 + CUtlVector< NPCApplianceBulletAttachment_t > m_vecMuzzleAttachments; // 0x578 // MPropertyGroupName "Sounds" - CSoundEventName m_sFiringLoopingSound; // 0x590 + CSoundEventName m_sFiringLoopingSound; // 0x590 // MPropertyGroupName "Using" - CRangeInt m_nBurstSize; // 0x5a0 + CRangeInt m_nBurstSize; // 0x5a0 // MPropertyGroupName "Using" - Vector m_vecBulletSpreadCone; // 0x5a8 + Vector m_vecBulletSpreadCone; // 0x5a8 // MPropertyGroupName "Using" - float m_flSpreadBias; // 0x5b4 + float m_flSpreadBias; // 0x5b4 // MPropertyGroupName "Using" - int32_t m_nPellets; // 0x5b8 + int32_t m_nPellets; // 0x5b8 // MPropertyGroupName "Using" - bool m_bTargetingBullets; // 0x5bc + bool m_bTargetingBullets; // 0x5bc // MPropertyDescription "When calculating the aim spread, should this ability apply the current aim refinement value of the wielding NPC?" // MPropertyGroupName "Using" - bool m_bApplyAimRefinement; // 0x5bd - float m_flAttackVerticalFOV; // 0x5c0 - float m_flAttackHorizontalFOV; // 0x5c4 - float m_flAttackMaxHeightDelta; // 0x5c8 - float m_flAttackMinHeightDelta; // 0x5cc - float m_flMinAngleX; // 0x5d0 - float m_flMaxAngleX; // 0x5d4 - float m_flMinAngleY; // 0x5d8 - float m_flMaxAngleY; // 0x5dc + bool m_bApplyAimRefinement; // 0x5bd +private: + [[maybe_unused]] uint8_t __pad05be[0x2]; // 0x5be +public: + float m_flAttackVerticalFOV; // 0x5c0 + float m_flAttackHorizontalFOV; // 0x5c4 + float m_flAttackMaxHeightDelta; // 0x5c8 + float m_flAttackMinHeightDelta; // 0x5cc + float m_flMinAngleX; // 0x5d0 + float m_flMaxAngleX; // 0x5d4 + float m_flMinAngleY; // 0x5d8 + float m_flMaxAngleY; // 0x5dc }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 struct NPCApplianceProjectileAttachment_t { public: - CUtlString m_sAttachmentName; // 0x0 - CSubclassName< 0 > m_sProjectileName; // 0x8 + CUtlString m_sAttachmentName; // 0x0 + CSubclassName< 0 > m_sProjectileName; // 0x8 }; -// Aligment: 13 -// Size: 816 +// Alignment: 13 +// Size: 0x330 class CNPCApplianceProjectileVData : public CEntitySubclassVDataBase { public: // MPropertyAttributeEditor "AssetBrowse( vmdl )" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - float m_flShootVelocity; // 0x108 - bool m_bExplode; // 0x10c - float m_flExplodeRadius; // 0x110 - float m_flExplodeDamage; // 0x114 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + float m_flShootVelocity; // 0x108 + bool m_bExplode; // 0x10c +private: + [[maybe_unused]] uint8_t __pad010d[0x3]; // 0x10d +public: + float m_flExplodeRadius; // 0x110 + float m_flExplodeDamage; // 0x114 // MPropertyDescription "Damage to apply on projectile touch" - float m_flTouchDamage; // 0x118 + float m_flTouchDamage; // 0x118 +private: + [[maybe_unused]] uint8_t __pad011c[0x4]; // 0x11c +public: // MPropertyGroupName "Particles" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTrailParticle; // 0x120 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTrailParticle; // 0x120 // MPropertyGroupName "Particles" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sExplosionParticle; // 0x200 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sExplosionParticle; // 0x200 // MPropertyGroupName "Sounds" - CSoundEventName m_sHitWorldSound; // 0x2e0 + CSoundEventName m_sHitWorldSound; // 0x2e0 // MPropertyGroupName "Sounds" - CSoundEventName m_sHitBodySound; // 0x2f0 + CSoundEventName m_sHitBodySound; // 0x2f0 // MPropertyGroupName "Sounds" - CSoundEventName m_sNearMissSound; // 0x300 + CSoundEventName m_sNearMissSound; // 0x300 // MPropertyGroupName "Sounds" - CSoundEventName m_sPreExplodeSound; // 0x310 + CSoundEventName m_sPreExplodeSound; // 0x310 // MPropertyGroupName "Sounds" - CSoundEventName m_sExplodeSound; // 0x320 + CSoundEventName m_sExplodeSound; // 0x320 }; -// Aligment: 10 -// Size: 1040 -class CNPCApplianceWeaponVData : public CBaseNPCAbilityVData, CEntitySubclassVDataBase +// Alignment: 10 +// Size: 0x410 +class CNPCApplianceWeaponVData : public CBaseNPCAbilityVData { public: - CUtlVector< NPCApplianceProjectileAttachment_t > m_vecProjectiles; // 0x3b8 - float m_flOpenConeAngle; // 0x3d0 - float m_flAttackConeAngle; // 0x3d4 - bool m_bPickRandomProjectile; // 0x3d8 + CUtlVector< NPCApplianceProjectileAttachment_t > m_vecProjectiles; // 0x3b8 + float m_flOpenConeAngle; // 0x3d0 + float m_flAttackConeAngle; // 0x3d4 + bool m_bPickRandomProjectile; // 0x3d8 +private: + [[maybe_unused]] uint8_t __pad03d9[0x7]; // 0x3d9 +public: // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs the open animation." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CUtlString m_sAnimgraphOpenParam; // 0x3e0 + CUtlString m_sAnimgraphOpenParam; // 0x3e0 // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the open animation." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlStringToken m_sAnimgraphFinishOpenTag; // 0x3e8 + CUtlStringToken m_sAnimgraphFinishOpenTag; // 0x3e8 +private: + [[maybe_unused]] uint8_t __pad03ec[0x4]; // 0x3ec +public: // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs the attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CUtlString m_sAnimgraphAttackParam; // 0x3f0 + CUtlString m_sAnimgraphAttackParam; // 0x3f0 // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlStringToken m_sAnimgraphFinishAttackTag; // 0x3f8 + CUtlStringToken m_sAnimgraphFinishAttackTag; // 0x3f8 +private: + [[maybe_unused]] uint8_t __pad03fc[0x4]; // 0x3fc +public: // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs the close animation." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CUtlString m_sAnimgraphCloseParam; // 0x400 + CUtlString m_sAnimgraphCloseParam; // 0x400 // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the close animation." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlStringToken m_sAnimgraphFinishCloseTag; // 0x408 + CUtlStringToken m_sAnimgraphFinishCloseTag; // 0x408 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 struct NPCApplianceProjectileRuntime_t { public: - QAngle m_qPreviousAngle; // 0x0 - RotationVector m_vAngularVelocity; // 0xc + QAngle m_qPreviousAngle; // 0x0 + RotationVector m_vAngularVelocity; // 0xc }; -// Aligment: 2 -// Size: 648 -class CNPC_ApplianceVData : public CAI_DefaultNPCVData, CAI_BaseNPCVData, CEntitySubclassVDataBase +// Alignment: 2 +// Size: 0x288 +class CNPC_ApplianceVData : public CAI_DefaultNPCVData { public: - float m_flInstantKillSpeed; // 0x280 - float m_flInstantKillMultiplier; // 0x284 + float m_flInstantKillSpeed; // 0x280 + float m_flInstantKillMultiplier; // 0x284 }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 class CRangeFloat { public: - float32[2] m_pValue; // 0x0 + float m_pValue[2]; // 0x0 }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 class CRangeInt { public: - int32[2] m_pValue; // 0x0 + int32_t m_pValue[2]; // 0x0 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 class Extent { public: - Vector lo; // 0x0 - Vector hi; // 0xc + Vector lo; // 0x0 + Vector hi; // 0xc }; -// Aligment: 0 -// Size: 112 +// Alignment: 0 +// Size: 0x70 class CNavVolume { public: -// + // no members available }; -// Aligment: 1 -// Size: 152 +// Alignment: 1 +// Size: 0x98 class CNavVolumeVector : public CNavVolume { public: - bool m_bHasBeenPreFiltered; // 0x78 + bool m_bHasBeenPreFiltered; // 0x78 }; -// Aligment: 0 -// Size: 152 -class CNavVolumeAll : public CNavVolumeVector, CNavVolume +// Alignment: 0 +// Size: 0x98 +class CNavVolumeAll : public CNavVolumeVector { public: -// + // no members available }; -// Aligment: 2 -// Size: 128 +// 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 }; -// Aligment: 1 -// Size: 136 -class CNavVolumeSphericalShell : public CNavVolumeSphere, CNavVolume +// Alignment: 1 +// Size: 0x88 +class CNavVolumeSphericalShell : public CNavVolumeSphere { public: - float m_flRadiusInner; // 0x80 + float m_flRadiusInner; // 0x80 }; -// Aligment: 11 -// Size: 120 +// Alignment: 11 +// Size: 0x78 class CEntityIdentity { public: // MNetworkEnable // MNetworkChangeCallback "entityIdentityNameChanged" - int32_t m_nameStringableIndex; // 0x14 - CUtlSymbolLarge m_name; // 0x18 - CUtlSymbolLarge m_designerName; // 0x20 - uint32_t m_flags; // 0x30 - uint32_t m_fDataObjectTypes; // 0x38 + 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: + uint32_t m_fDataObjectTypes; // 0x38 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x3c - CEntityIdentity* m_pPrev; // 0x50 - CEntityIdentity* m_pNext; // 0x58 - CEntityIdentity* m_pPrevByClass; // 0x60 - CEntityIdentity* m_pNextByClass; // 0x68 - V_uuid_t* m_pId; // 0x70 + ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x3c +private: + [[maybe_unused]] uint8_t __pad003e[0x12]; // 0x3e +public: + CEntityIdentity* m_pPrev; // 0x50 + CEntityIdentity* m_pNext; // 0x58 + CEntityIdentity* m_pPrevByClass; // 0x60 + CEntityIdentity* m_pNextByClass; // 0x68 + V_uuid_t* m_pId; // 0x70 }; -// Aligment: 4 -// Size: 56 +// Alignment: 4 +// Size: 0x38 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[0x8]; // 0x18 +public: // MNetworkDisable - CUtlStringToken m_worldGroupId; // 0x20 + CUtlStringToken m_worldGroupId; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0xc]; // 0x24 +public: // MNetworkEnable // MNetworkDisable - CScriptComponent* m_CScriptComponent; // 0x30 + CScriptComponent* m_CScriptComponent; // 0x30 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CScriptComponent : public CEntityComponent { public: - CUtlSymbolLarge m_scriptClassName; // 0x30 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptComponent")->m_static_fiels[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_fiels[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);}; }; -// Aligment: 2 -// Size: 64 +// Alignment: 2 +// Size: 0x40 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 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponent")->m_static_fiels[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_fiels[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);}; }; -// Aligment: 2 -// Size: 448 -class CBodyComponentPoint : public CBodyComponent, CEntityComponent +// Alignment: 2 +// Size: 0x1c0 +class CBodyComponentPoint : public CBodyComponent { public: // MNetworkEnable - CGameSceneNode m_sceneNode; // 0x40 + CGameSceneNode m_sceneNode; // 0x40 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x1a0 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fiels[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_fiels[1]->m_instance); } + 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);}; }; -// Aligment: 2 -// Size: 1312 -class CBodyComponentSkeletonInstance : public CBodyComponent, CEntityComponent +// Alignment: 2 +// Size: 0x520 +class CBodyComponentSkeletonInstance : public CBodyComponent { public: // MNetworkEnable - CSkeletonInstance m_skeletonInstance; // 0x40 + CSkeletonInstance m_skeletonInstance; // 0x40 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x500 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fiels[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_fiels[1]->m_instance); } + CNetworkVarChainer __m_pChainEntity; // 0x500 + 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);}; }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 class CHitboxComponent : public CEntityComponent { public: - uint32_t m_unDisabledHitGroupMask; // 0x1c -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fiels[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_fiels[1]->m_instance); } + uint32_t m_unDisabledHitGroupMask; // 0x1c + 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);}; }; -// Aligment: 66 -// Size: 448 +// Alignment: 66 +// Size: 0x1c0 class CLightComponent : public CEntityComponent { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x48 + CNetworkVarChainer __m_pChainEntity; // 0x48 +private: + [[maybe_unused]] uint8_t __pad0060[0x15]; // 0x60 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - Color m_Color; // 0x75 + Color m_Color; // 0x75 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - Color m_SecondaryColor; // 0x79 + Color m_SecondaryColor; // 0x79 +private: + [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flBrightness; // 0x80 + float m_flBrightness; // 0x80 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flBrightnessMult; // 0x84 + float m_flBrightnessMult; // 0x84 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flRange; // 0x88 + float m_flRange; // 0x88 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFalloff; // 0x8c + float m_flFalloff; // 0x8c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flAttenuation0; // 0x90 + float m_flAttenuation0; // 0x90 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flAttenuation1; // 0x94 + float m_flAttenuation1; // 0x94 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flAttenuation2; // 0x98 + float m_flAttenuation2; // 0x98 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flTheta; // 0x9c + float m_flTheta; // 0x9c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flPhi; // 0xa0 + float m_flPhi; // 0xa0 +private: + [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0xa8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0xa8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nCascades; // 0xb0 + int32_t m_nCascades; // 0xb0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nCastShadows; // 0xb4 + int32_t m_nCastShadows; // 0xb4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowWidth; // 0xb8 + int32_t m_nShadowWidth; // 0xb8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowHeight; // 0xbc + int32_t m_nShadowHeight; // 0xbc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderDiffuse; // 0xc0 + bool m_bRenderDiffuse; // 0xc0 +private: + [[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nRenderSpecular; // 0xc4 + int32_t m_nRenderSpecular; // 0xc4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderTransmissive; // 0xc8 + bool m_bRenderTransmissive; // 0xc8 +private: + [[maybe_unused]] uint8_t __pad00c9[0x3]; // 0xc9 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flOrthoLightWidth; // 0xcc + float m_flOrthoLightWidth; // 0xcc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flOrthoLightHeight; // 0xd0 + float m_flOrthoLightHeight; // 0xd0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nStyle; // 0xd4 + int32_t m_nStyle; // 0xd4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - CUtlString m_Pattern; // 0xd8 + CUtlString m_Pattern; // 0xd8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nCascadeRenderStaticObjects; // 0xe0 + int32_t m_nCascadeRenderStaticObjects; // 0xe0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeCrossFade; // 0xe4 + float m_flShadowCascadeCrossFade; // 0xe4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistanceFade; // 0xe8 + float m_flShadowCascadeDistanceFade; // 0xe8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance0; // 0xec + float m_flShadowCascadeDistance0; // 0xec // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance1; // 0xf0 + float m_flShadowCascadeDistance1; // 0xf0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance2; // 0xf4 + float m_flShadowCascadeDistance2; // 0xf4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowCascadeDistance3; // 0xf8 + float m_flShadowCascadeDistance3; // 0xf8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution0; // 0xfc + int32_t m_nShadowCascadeResolution0; // 0xfc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution1; // 0x100 + int32_t m_nShadowCascadeResolution1; // 0x100 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution2; // 0x104 + int32_t m_nShadowCascadeResolution2; // 0x104 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowCascadeResolution3; // 0x108 + int32_t m_nShadowCascadeResolution3; // 0x108 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bUsesBakedShadowing; // 0x10c + bool m_bUsesBakedShadowing; // 0x10c +private: + [[maybe_unused]] uint8_t __pad010d[0x3]; // 0x10d +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nShadowPriority; // 0x110 + int32_t m_nShadowPriority; // 0x110 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - int32_t m_nBakedShadowIndex; // 0x114 + int32_t m_nBakedShadowIndex; // 0x114 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bRenderToCubemaps; // 0x118 + bool m_bRenderToCubemaps; // 0x118 +private: + [[maybe_unused]] uint8_t __pad0119[0x7]; // 0x119 +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - CUtlSymbolLarge m_LightGroups; // 0x120 + CUtlSymbolLarge m_LightGroups; // 0x120 // MNetworkEnable - int32_t m_nDirectLight; // 0x128 + int32_t m_nDirectLight; // 0x128 // MNetworkEnable - int32_t m_nIndirectLight; // 0x12c + int32_t m_nIndirectLight; // 0x12c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFadeMinDist; // 0x130 + float m_flFadeMinDist; // 0x130 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flFadeMaxDist; // 0x134 + float m_flFadeMaxDist; // 0x134 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowFadeMinDist; // 0x138 + float m_flShadowFadeMinDist; // 0x138 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flShadowFadeMaxDist; // 0x13c + float m_flShadowFadeMaxDist; // 0x13c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bEnabled; // 0x140 + bool m_bEnabled; // 0x140 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - bool m_bFlicker; // 0x141 + bool m_bFlicker; // 0x141 // MNetworkEnable - bool m_bPrecomputedFieldsValid; // 0x142 + bool m_bPrecomputedFieldsValid; // 0x142 +private: + [[maybe_unused]] uint8_t __pad0143[0x1]; // 0x143 +public: // MNetworkEnable - Vector m_vPrecomputedBoundsMins; // 0x144 + Vector m_vPrecomputedBoundsMins; // 0x144 // MNetworkEnable - Vector m_vPrecomputedBoundsMaxs; // 0x150 + Vector m_vPrecomputedBoundsMaxs; // 0x150 // MNetworkEnable - Vector m_vPrecomputedOBBOrigin; // 0x15c + Vector m_vPrecomputedOBBOrigin; // 0x15c // MNetworkEnable - QAngle m_vPrecomputedOBBAngles; // 0x168 + QAngle m_vPrecomputedOBBAngles; // 0x168 // MNetworkEnable - Vector m_vPrecomputedOBBExtent; // 0x174 + Vector m_vPrecomputedOBBExtent; // 0x174 // MNetworkEnable - float m_flPrecomputedMaxRange; // 0x180 + float m_flPrecomputedMaxRange; // 0x180 // MNetworkEnable - int32_t m_nFogLightingMode; // 0x184 + int32_t m_nFogLightingMode; // 0x184 // MNetworkEnable - float m_flFogContributionStength; // 0x188 + float m_flFogContributionStength; // 0x188 // MNetworkEnable - float m_flNearClipPlane; // 0x18c + float m_flNearClipPlane; // 0x18c // MNetworkEnable - Color m_SkyColor; // 0x190 + Color m_SkyColor; // 0x190 // MNetworkEnable - float m_flSkyIntensity; // 0x194 + float m_flSkyIntensity; // 0x194 // MNetworkEnable - Color m_SkyAmbientBounce; // 0x198 + Color m_SkyAmbientBounce; // 0x198 // MNetworkEnable - bool m_bUseSecondaryColor; // 0x19c + bool m_bUseSecondaryColor; // 0x19c // MNetworkEnable // MNetworkChangeCallback "MixedShadowsChanged" - bool m_bMixedShadows; // 0x19d + bool m_bMixedShadows; // 0x19d +private: + [[maybe_unused]] uint8_t __pad019e[0x2]; // 0x19e +public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" - float m_flLightStyleStartTime; // 0x1a0 + float m_flLightStyleStartTime; // 0x1a0 // MNetworkEnable - float m_flCapsuleLength; // 0x1a4 - bool m_bPvsModifyEntity; // 0x1b8 + float m_flCapsuleLength; // 0x1a4 +private: + [[maybe_unused]] uint8_t __pad01a8[0x10]; // 0x1a8 public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CLightComponent")->m_static_fiels[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_fiels[1]->m_instance); } + bool m_bPvsModifyEntity; // 0x1b8 + 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);}; }; -// Aligment: 5 -// Size: 168 +// Alignment: 5 +// Size: 0xa8 class CRenderComponent : public CEntityComponent { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x10 - bool m_bIsRenderingWithViewModels; // 0x40 - uint32_t m_nSplitscreenFlags; // 0x44 - bool m_bEnableRendering; // 0x50 - bool m_bInterpolationReadyToDraw; // 0xa0 + CNetworkVarChainer __m_pChainEntity; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0028[0x18]; // 0x28 public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CRenderComponent")->m_static_fiels[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_fiels[1]->m_instance); } + bool m_bIsRenderingWithViewModels; // 0x40 +private: + [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 +public: + uint32_t m_nSplitscreenFlags; // 0x44 +private: + [[maybe_unused]] uint8_t __pad0048[0x8]; // 0x48 +public: + bool m_bEnableRendering; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x4f]; // 0x51 +public: + bool m_bInterpolationReadyToDraw; // 0xa0 + 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);}; }; -// Aligment: 21 -// Size: 824 +// Alignment: 21 +// Size: 0x338 class CBasePlayerWeaponVData : public CEntitySubclassVDataBase { public: // MPropertyDescription "Model used on the ground or held by an entity" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldModel; // 0x28 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldModel; // 0x28 // MPropertyDescription "Was the weapon was built right-handed?" // MPropertyGroupName "Visuals" - bool m_bBuiltRightHanded; // 0x108 + 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_bAllowFlipping; // 0x109 +private: + [[maybe_unused]] uint8_t __pad010a[0x6]; // 0x10a +public: // MPropertyGroupName "Visuals" // MPropertyDescription "Attachment to fire bullets from" // MPropertyAttributeEditor "VDataModelAttachment( m_szWorldModel )" - CUtlString m_sMuzzleAttachment; // 0x110 + CUtlString m_sMuzzleAttachment; // 0x110 // MPropertyDescription "Effect when firing this weapon" // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x118 + 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 - CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x2d8 - ItemFlagTypes_t m_iFlags; // 0x2f0 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x1f8 + CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x2d8 + ItemFlagTypes_t m_iFlags; // 0x2f0 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType - AmmoIndex_t m_nPrimaryAmmoType; // 0x2f1 + AmmoIndex_t m_nPrimaryAmmoType; // 0x2f1 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType - AmmoIndex_t m_nSecondaryAmmoType; // 0x2f2 + AmmoIndex_t m_nSecondaryAmmoType; // 0x2f2 +private: + [[maybe_unused]] uint8_t __pad02f3[0x1]; // 0x2f3 +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; // 0x2f4 + int32_t m_iMaxClip1; // 0x2f4 // 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; // 0x2f8 + int32_t m_iMaxClip2; // 0x2f8 // MPropertyDescription "Primary Initial Clip (-1 means use clip size)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "-1 255" - int32_t m_iDefaultClip1; // 0x2fc + int32_t m_iDefaultClip1; // 0x2fc // MPropertyDescription "Secondary Initial Clip (-1 means use clip size)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "-1 255" - int32_t m_iDefaultClip2; // 0x300 + int32_t m_iDefaultClip2; // 0x300 // MPropertyFriendlyName "HUD Bucket" // MPropertyDescription "Which 'column' to display this weapon in the HUD" // MPropertyGroupName "UI" - int32_t m_iSlot; // 0x304 + int32_t m_iSlot; // 0x304 // MPropertyFriendlyName "HUD Bucket Position" // MPropertyDescription "Which 'row' to display this weapon in the HUD" // MPropertyGroupName "UI" - int32_t m_iPosition; // 0x308 + int32_t m_iPosition; // 0x308 // MPropertyDescription "This value used to determine this weapon's importance in autoselection" // MPropertyGroupName "UI" - int32_t m_iWeight; // 0x30c + int32_t m_iWeight; // 0x30c // 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; // 0x310 + bool m_bAutoSwitchTo; // 0x310 // MPropertyFriendlyName "Safe To Auto-Switch Away From" // MPropertyGroupName "UI" - bool m_bAutoSwitchFrom; // 0x311 + bool m_bAutoSwitchFrom; // 0x311 +private: + [[maybe_unused]] uint8_t __pad0312[0x2]; // 0x312 +public: // MPropertyGroupName "UI" - RumbleEffect_t m_iRumbleEffect; // 0x314 - CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x318 + RumbleEffect_t m_iRumbleEffect; // 0x314 + CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x318 }; -// Aligment: 18 -// Size: 1440 +// Alignment: 18 +// Size: 0x5a0 class CBaseAnimatingController : public CSkeletonAnimationController { public: // MNetworkEnable // MNetworkChangeCallback "baseAnimBaseLayerChanged" - CNetworkedSequenceOperation m_baseLayer; // 0x18 + CNetworkedSequenceOperation m_baseLayer; // 0x18 // MNetworkEnable - CAnimGraphNetworkedVariables m_animGraphNetworkedVars; // 0x58 + CAnimGraphNetworkedVariables m_animGraphNetworkedVars; // 0x58 +private: + [[maybe_unused]] uint8_t __pad02b8[0x8]; // 0x2b8 +public: // MNetworkDisable - bool m_bSequenceFinished; // 0x2c0 + bool m_bSequenceFinished; // 0x2c0 +private: + [[maybe_unused]] uint8_t __pad02c1[0x3]; // 0x2c1 +public: // MNetworkDisable - float m_flGroundSpeed; // 0x2c4 + float m_flGroundSpeed; // 0x2c4 // MNetworkDisable - float m_flLastEventCycle; // 0x2c8 + float m_flLastEventCycle; // 0x2c8 // MNetworkDisable - float m_flLastEventAnimTime; // 0x2cc + float m_flLastEventAnimTime; // 0x2cc // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "-4" @@ -7954,114 +8699,119 @@ public: // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkChangeCallback "playbackRateChanged" - CNetworkedQuantizedFloat m_flPlaybackRate; // 0x2d0 + CNetworkedQuantizedFloat m_flPlaybackRate; // 0x2d0 // MNetworkDisable - float m_flPrevAnimTime; // 0x2e8 + float m_flPrevAnimTime; // 0x2e8 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkUserGroup "m_flPoseParameter" // MNetworkChangeCallback "poseParametersChanged" - float32[24] m_flPoseParameter; // 0x2ec + float m_flPoseParameter[24]; // 0x2ec // MNetworkEnable // MNetworkChangeCallback "clientSideAnimationChanged" - bool m_bClientSideAnimation; // 0x34c + bool m_bClientSideAnimation; // 0x34c // MNetworkDisable - bool m_bNetworkedAnimationInputsChanged; // 0x34d + bool m_bNetworkedAnimationInputsChanged; // 0x34d +private: + [[maybe_unused]] uint8_t __pad034e[0x2]; // 0x34e +public: // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "clientSideAnimCycleReset" - int32_t m_nNewSequenceParity; // 0x350 + int32_t m_nNewSequenceParity; // 0x350 // MNetworkEnable // MNetworkPriority "32" - int32_t m_nResetEventsParity; // 0x354 + int32_t m_nResetEventsParity; // 0x354 // MNetworkDisable - float m_flIKGroundContactTime; // 0x358 + float m_flIKGroundContactTime; // 0x358 // MNetworkDisable - float m_flIKGroundMinHeight; // 0x35c + float m_flIKGroundMinHeight; // 0x35c // MNetworkDisable - float m_flIKGroundMaxHeight; // 0x360 + float m_flIKGroundMaxHeight; // 0x360 // MNetworkDisable - float m_flIkZAdjustAmount; // 0x364 + float m_flIkZAdjustAmount; // 0x364 +private: + [[maybe_unused]] uint8_t __pad0368[0x28]; // 0x368 +public: // MNetworkDisable - CSequenceTransitioner2 m_SequenceTransitioner; // 0x390 + CSequenceTransitioner2 m_SequenceTransitioner; // 0x390 }; -// Aligment: 2 -// Size: 2784 -class CBodyComponentBaseAnimating : public CBodyComponentSkeletonInstance, CBodyComponent, CEntityComponent +// Alignment: 2 +// Size: 0xae0 +class CBodyComponentBaseAnimating : public CBodyComponentSkeletonInstance { public: // MNetworkEnable - CBaseAnimatingController m_animationController; // 0x520 + CBaseAnimatingController m_animationController; // 0x520 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0xac0 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimating")->m_static_fiels[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("CBodyComponentBaseAnimating")->m_static_fiels[1]->m_instance); } + CNetworkVarChainer __m_pChainEntity; // 0xac0 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimating")->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("CBodyComponentBaseAnimating")->m_static_fields[1]->m_instance);}; }; -// Aligment: 1 -// Size: 1520 -class CBaseAnimatingOverlayController : public CBaseAnimatingController, CSkeletonAnimationController +// Alignment: 1 +// Size: 0x5f0 +class CBaseAnimatingOverlayController : public CBaseAnimatingController { public: // MNetworkEnable // MNetworkUserGroup "overlay_vars" // MNetworkChangeCallback "OnOverlaysChanged2" - CUtlVectorEmbeddedNetworkVar< CAnimationLayer > m_AnimOverlay; // 0x5a0 + CUtlVectorEmbeddedNetworkVar< CAnimationLayer > m_AnimOverlay; // 0x5a0 }; -// Aligment: 2 -// Size: 2864 -class CBodyComponentBaseAnimatingOverlay : public CBodyComponentSkeletonInstance, CBodyComponent, CEntityComponent +// Alignment: 2 +// Size: 0xb30 +class CBodyComponentBaseAnimatingOverlay : public CBodyComponentSkeletonInstance { public: // MNetworkEnable - CBaseAnimatingOverlayController m_animationController; // 0x520 + CBaseAnimatingOverlayController m_animationController; // 0x520 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0xb10 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimatingOverlay")->m_static_fiels[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("CBodyComponentBaseAnimatingOverlay")->m_static_fiels[1]->m_instance); } + CNetworkVarChainer __m_pChainEntity; // 0xb10 + static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimatingOverlay")->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("CBodyComponentBaseAnimatingOverlay")->m_static_fields[1]->m_instance);}; }; -// Aligment: 1 -// Size: 1344 -class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance, CBodyComponent, CEntityComponent +// Alignment: 1 +// Size: 0x540 +class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x520 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fiels[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_fiels[1]->m_instance); } + CNetworkVarChainer __m_pChainEntity; // 0x520 + 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);}; }; -// Aligment: 0 -// Size: 32 +// 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 }; -// Aligment: 2 -// Size: 16 +// 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 }; -// Aligment: 79 -// Size: 1264 -class CBaseEntity : public CEntityInstance, IHandleEntity +// Alignment: 79 +// Size: 0x4f0 +class CBaseEntity : public CEntityInstance { public: // MNetworkEnable @@ -8069,5402 +8819,6279 @@ public: // MNetworkAlias "CBodyComponent" // MNetworkTypeAlias "CBodyComponent" // MNetworkPriority "48" - CBodyComponent* m_CBodyComponent; // 0x38 - CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x40 - CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x220 - int32_t m_iCurrentThinkContext; // 0x238 - int32_t m_nLastThinkTick; // 0x23c - CGameSceneNode* m_pGameSceneNode; // 0x240 - CBitVec< 64 > m_isSteadyState; // 0x248 - float m_lastNetworkChange; // 0x250 - CUtlVector< ResponseContext_t > m_ResponseContexts; // 0x260 - CUtlSymbolLarge m_iszResponseContext; // 0x278 + CBodyComponent* m_CBodyComponent; // 0x38 + CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x40 +private: + [[maybe_unused]] uint8_t __pad01e0[0x40]; // 0x1e0 +public: + CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x220 + int32_t m_iCurrentThinkContext; // 0x238 + int32_t m_nLastThinkTick; // 0x23c + CGameSceneNode* m_pGameSceneNode; // 0x240 + CBitVec< 64 > m_isSteadyState; // 0x248 + float m_lastNetworkChange; // 0x250 +private: + [[maybe_unused]] uint8_t __pad0254[0xc]; // 0x254 +public: + CUtlVector< ResponseContext_t > m_ResponseContexts; // 0x260 + CUtlSymbolLarge m_iszResponseContext; // 0x278 +private: + [[maybe_unused]] uint8_t __pad0280[0x20]; // 0x280 +public: // MNetworkEnable // MNetworkSerializer "ClampHealth" // MNetworkUserGroup "Player" // MNetworkPriority "32" - int32_t m_iHealth; // 0x2a0 + int32_t m_iHealth; // 0x2a0 // MNetworkEnable - int32_t m_iMaxHealth; // 0x2a4 + int32_t m_iMaxHealth; // 0x2a4 // MNetworkEnable // MNetworkUserGroup "Player" // MNetworkPriority "32" - uint8_t m_lifeState; // 0x2a8 - float m_flDamageAccumulator; // 0x2ac + uint8_t m_lifeState; // 0x2a8 +private: + [[maybe_unused]] uint8_t __pad02a9[0x3]; // 0x2a9 +public: + float m_flDamageAccumulator; // 0x2ac // MNetworkEnable - bool m_bTakesDamage; // 0x2b0 + bool m_bTakesDamage; // 0x2b0 +private: + [[maybe_unused]] uint8_t __pad02b1[0x1]; // 0x2b1 +public: // MNetworkEnable - TakeDamageFlags_t m_nTakeDamageFlags; // 0x2b2 + TakeDamageFlags_t m_nTakeDamageFlags; // 0x2b2 +private: + [[maybe_unused]] uint8_t __pad02b4[0x1]; // 0x2b4 +public: // MNetworkEnable - MoveCollide_t m_MoveCollide; // 0x2b5 + MoveCollide_t m_MoveCollide; // 0x2b5 // MNetworkEnable - MoveType_t m_MoveType; // 0x2b6 - uint8_t m_nWaterTouch; // 0x2b7 - uint8_t m_nSlimeTouch; // 0x2b8 - bool m_bRestoreInHierarchy; // 0x2b9 - CUtlSymbolLarge m_target; // 0x2c0 - float m_flMoveDoneTime; // 0x2c8 - CHandle< CBaseEntity > m_hDamageFilter; // 0x2cc - CUtlSymbolLarge m_iszDamageFilterName; // 0x2d0 + MoveType_t m_MoveType; // 0x2b6 + uint8_t m_nWaterTouch; // 0x2b7 + uint8_t m_nSlimeTouch; // 0x2b8 + bool m_bRestoreInHierarchy; // 0x2b9 +private: + [[maybe_unused]] uint8_t __pad02ba[0x6]; // 0x2ba +public: + CUtlSymbolLarge m_target; // 0x2c0 + float m_flMoveDoneTime; // 0x2c8 + CHandle< CBaseEntity > m_hDamageFilter; // 0x2cc + CUtlSymbolLarge m_iszDamageFilterName; // 0x2d0 // MNetworkEnable // MNetworkSendProxyRecipientsFilter - CUtlStringToken m_nSubclassID; // 0x2d8 + CUtlStringToken m_nSubclassID; // 0x2d8 +private: + [[maybe_unused]] uint8_t __pad02dc[0xc]; // 0x2dc +public: // MNetworkEnable // MNetworkPriority "0" // MNetworkSerializer "animTimeSerializer" // MNetworkSendProxyRecipientsFilter - float m_flAnimTime; // 0x2e8 + float m_flAnimTime; // 0x2e8 // MNetworkEnable // MNetworkPriority "1" // MNetworkSerializer "simulationTimeSerializer" - float m_flSimulationTime; // 0x2ec + float m_flSimulationTime; // 0x2ec // MNetworkEnable - float m_flCreateTime; // 0x2f0 + float m_flCreateTime; // 0x2f0 // MNetworkEnable - bool m_bClientSideRagdoll; // 0x2f4 + bool m_bClientSideRagdoll; // 0x2f4 // MNetworkEnable - uint8_t m_ubInterpolationFrame; // 0x2f5 - Vector m_vPrevVPhysicsUpdatePos; // 0x2f8 + uint8_t m_ubInterpolationFrame; // 0x2f5 +private: + [[maybe_unused]] uint8_t __pad02f6[0x2]; // 0x2f6 +public: + Vector m_vPrevVPhysicsUpdatePos; // 0x2f8 // MNetworkEnable - uint8_t m_iTeamNum; // 0x304 - CUtlSymbolLarge m_iGlobalname; // 0x308 - int32_t m_iSentToClients; // 0x310 - float m_flSpeed; // 0x314 - CUtlString m_sUniqueHammerID; // 0x318 + uint8_t m_iTeamNum; // 0x304 +private: + [[maybe_unused]] uint8_t __pad0305[0x3]; // 0x305 +public: + CUtlSymbolLarge m_iGlobalname; // 0x308 + int32_t m_iSentToClients; // 0x310 + float m_flSpeed; // 0x314 + CUtlString m_sUniqueHammerID; // 0x318 // MNetworkEnable - uint32_t m_spawnflags; // 0x320 + uint32_t m_spawnflags; // 0x320 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - int32_t m_nNextThinkTick; // 0x324 - int32_t m_nSimulationTick; // 0x328 - CEntityIOOutput m_OnKilled; // 0x330 + int32_t m_nNextThinkTick; // 0x324 + int32_t m_nSimulationTick; // 0x328 +private: + [[maybe_unused]] uint8_t __pad032c[0x4]; // 0x32c +public: + CEntityIOOutput m_OnKilled; // 0x330 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" - uint32_t m_fFlags; // 0x358 - Vector m_vecAbsVelocity; // 0x35c + uint32_t m_fFlags; // 0x358 + Vector m_vecAbsVelocity; // 0x35c // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkPriority "32" - CNetworkVelocityVector m_vecVelocity; // 0x368 + CNetworkVelocityVector m_vecVelocity; // 0x368 +private: + [[maybe_unused]] uint8_t __pad03c8[0x8]; // 0x3c8 +public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - Vector m_vecBaseVelocity; // 0x3d0 - int32_t m_nPushEnumCount; // 0x3dc - CCollisionProperty* m_pCollision; // 0x3e0 + Vector m_vecBaseVelocity; // 0x3d0 + int32_t m_nPushEnumCount; // 0x3dc + CCollisionProperty* m_pCollision; // 0x3e0 // MNetworkEnable - CModifierProperty* m_pModifierProp; // 0x3e8 + CModifierProperty* m_pModifierProp; // 0x3e8 // MNetworkEnable - CHandle< CBaseEntity > m_hEffectEntity; // 0x3f0 + CHandle< CBaseEntity > m_hEffectEntity; // 0x3f0 // MNetworkEnable // MNetworkPriority "32" - CHandle< CBaseEntity > m_hOwnerEntity; // 0x3f4 + CHandle< CBaseEntity > m_hOwnerEntity; // 0x3f4 // MNetworkEnable // MNetworkChangeCallback "OnEffectsChanged" - uint32_t m_fEffects; // 0x3f8 + uint32_t m_fEffects; // 0x3f8 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" - CHandle< CBaseEntity > m_hGroundEntity; // 0x3fc + CHandle< CBaseEntity > m_hGroundEntity; // 0x3fc // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "4" // MNetworkEncodeFlags // MNetworkUserGroup "LocalPlayerExclusive" - float m_flFriction; // 0x400 + float m_flFriction; // 0x400 // MNetworkEnable // MNetworkEncoder - float m_flElasticity; // 0x404 + float m_flElasticity; // 0x404 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flGravityScale; // 0x408 + float m_flGravityScale; // 0x408 // MNetworkEnable // MNetworkUserGroup "Player" - uint8_t m_nWaterLevel; // 0x40c + uint8_t m_nWaterLevel; // 0x40c // MNetworkEnable - bool m_bSimulatedEveryTick; // 0x40d + bool m_bSimulatedEveryTick; // 0x40d // MNetworkEnable - bool m_bAnimatedEveryTick; // 0x40e + bool m_bAnimatedEveryTick; // 0x40e // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMinCPULevel; // 0x40f + uint8_t m_nMinCPULevel; // 0x40f // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMaxCPULevel; // 0x410 + uint8_t m_nMaxCPULevel; // 0x410 // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMinGPULevel; // 0x411 + uint8_t m_nMinGPULevel; // 0x411 // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" - uint8_t m_nMaxGPULevel; // 0x412 - bool m_bDisableLowViolence; // 0x413 - uint8_t m_nWaterType; // 0x414 - int32_t m_iEFlags; // 0x418 - CEntityIOOutput m_OnUser1; // 0x420 - CEntityIOOutput m_OnUser2; // 0x448 - CEntityIOOutput m_OnUser3; // 0x470 - CEntityIOOutput m_OnUser4; // 0x498 - int32_t m_iInitialTeamNum; // 0x4c0 + uint8_t m_nMaxGPULevel; // 0x412 + bool m_bDisableLowViolence; // 0x413 + uint8_t m_nWaterType; // 0x414 +private: + [[maybe_unused]] uint8_t __pad0415[0x3]; // 0x415 +public: + int32_t m_iEFlags; // 0x418 +private: + [[maybe_unused]] uint8_t __pad041c[0x4]; // 0x41c +public: + CEntityIOOutput m_OnUser1; // 0x420 + CEntityIOOutput m_OnUser2; // 0x448 + CEntityIOOutput m_OnUser3; // 0x470 + CEntityIOOutput m_OnUser4; // 0x498 + int32_t m_iInitialTeamNum; // 0x4c0 // MNetworkEnable - float m_flNavIgnoreUntilTime; // 0x4c4 - QAngle m_vecAngVelocity; // 0x4c8 - float m_flGroundChangeTime; // 0x4d4 - bool m_bNetworkQuantizeOriginAndAngles; // 0x4d8 - bool m_bLagCompensate; // 0x4d9 - float m_flOverriddenFriction; // 0x4dc - CHandle< CBaseEntity > m_pBlocker; // 0x4e0 - float m_flLocalTime; // 0x4e4 - float m_flVPhysicsUpdateLocalTime; // 0x4e8 + float m_flNavIgnoreUntilTime; // 0x4c4 + QAngle m_vecAngVelocity; // 0x4c8 + float m_flGroundChangeTime; // 0x4d4 + bool m_bNetworkQuantizeOriginAndAngles; // 0x4d8 + bool m_bLagCompensate; // 0x4d9 +private: + [[maybe_unused]] uint8_t __pad04da[0x2]; // 0x4da public: - static Relationship_t** &Get_sm_DefaultRelationship() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fiels[0]->m_instance); } - static bool &Get_sm_bAccurateTriggerBboxChecks() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fiels[1]->m_instance); } - static bool &Get_sm_bDisableTouchFuncs() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fiels[2]->m_instance); } - static bool &Get_m_bAllowPrecache() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fiels[3]->m_instance); } - static bool &Get_s_bAbsQueriesValid() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fiels[4]->m_instance); } - static bool &Get_s_bPreventingSetAnimRunAnimEvents() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fiels[5]->m_instance); } - static int32_t &Get_m_nPredictionRandomSeed() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fiels[6]->m_instance); } - static CBasePlayerController* &Get_m_pPredictionPlayerController() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fiels[7]->m_instance); } - static bool &Get_sm_bDatadescValidating() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fiels[8]->m_instance); } + float m_flOverriddenFriction; // 0x4dc + CHandle< CBaseEntity > m_pBlocker; // 0x4e0 + float m_flLocalTime; // 0x4e4 + float m_flVPhysicsUpdateLocalTime; // 0x4e8 + 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);}; }; -// Aligment: 0 -// Size: 1264 -class CServerOnlyEntity : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CServerOnlyEntity : public CBaseEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1264 -class CServerOnlyPointEntity : public CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CServerOnlyPointEntity : public CServerOnlyEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1264 -class CLogicalEntity : public CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CLogicalEntity : public CServerOnlyEntity { public: -// + // no members available }; -// Aligment: 17 -// Size: 1832 -class CColorCorrection : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 17 +// Size: 0x728 +class CColorCorrection : public CBaseEntity { public: // MNetworkEnable - float m_flFadeInDuration; // 0x4f0 + float m_flFadeInDuration; // 0x4f0 // MNetworkEnable - float m_flFadeOutDuration; // 0x4f4 - float m_flStartFadeInWeight; // 0x4f8 - float m_flStartFadeOutWeight; // 0x4fc - float m_flTimeStartFadeIn; // 0x500 - float m_flTimeStartFadeOut; // 0x504 + float m_flFadeOutDuration; // 0x4f4 + float m_flStartFadeInWeight; // 0x4f8 + float m_flStartFadeOutWeight; // 0x4fc + float m_flTimeStartFadeIn; // 0x500 + float m_flTimeStartFadeOut; // 0x504 // MNetworkEnable - float m_flMaxWeight; // 0x508 - bool m_bStartDisabled; // 0x50c + float m_flMaxWeight; // 0x508 + bool m_bStartDisabled; // 0x50c // MNetworkEnable - bool m_bEnabled; // 0x50d + bool m_bEnabled; // 0x50d // MNetworkEnable - bool m_bMaster; // 0x50e + bool m_bMaster; // 0x50e // MNetworkEnable - bool m_bClientSide; // 0x50f + bool m_bClientSide; // 0x50f // MNetworkEnable - bool m_bExclusive; // 0x510 + bool m_bExclusive; // 0x510 +private: + [[maybe_unused]] uint8_t __pad0511[0x3]; // 0x511 +public: // MNetworkEnable - float m_MinFalloff; // 0x514 + float m_MinFalloff; // 0x514 // MNetworkEnable - float m_MaxFalloff; // 0x518 + float m_MaxFalloff; // 0x518 // MNetworkEnable - float m_flCurWeight; // 0x51c + float m_flCurWeight; // 0x51c // MNetworkEnable - char[512] m_netlookupFilename; // 0x520 - CUtlSymbolLarge m_lookupFilename; // 0x720 + char m_netlookupFilename[512]; // 0x520 + CUtlSymbolLarge m_lookupFilename; // 0x720 }; -// Aligment: 11 -// Size: 1320 -class CEntityFlame : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 11 +// Size: 0x528 +class CEntityFlame : public CBaseEntity { public: // MNetworkEnable - CHandle< CBaseEntity > m_hEntAttached; // 0x4f0 + CHandle< CBaseEntity > m_hEntAttached; // 0x4f0 // MNetworkEnable - bool m_bCheapEffect; // 0x4f4 - float m_flSize; // 0x4f8 - bool m_bUseHitboxes; // 0x4fc - int32_t m_iNumHitboxFires; // 0x500 - float m_flHitboxFireScale; // 0x504 - float m_flLifetime; // 0x508 - CHandle< CBaseEntity > m_hAttacker; // 0x50c - int32_t m_iDangerSound; // 0x510 - float m_flDirectDamagePerSecond; // 0x514 - int32_t m_iCustomDamageType; // 0x518 + bool m_bCheapEffect; // 0x4f4 +private: + [[maybe_unused]] uint8_t __pad04f5[0x3]; // 0x4f5 +public: + float m_flSize; // 0x4f8 + bool m_bUseHitboxes; // 0x4fc +private: + [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd +public: + int32_t m_iNumHitboxFires; // 0x500 + float m_flHitboxFireScale; // 0x504 + float m_flLifetime; // 0x508 + CHandle< CBaseEntity > m_hAttacker; // 0x50c + int32_t m_iDangerSound; // 0x510 + float m_flDirectDamagePerSecond; // 0x514 + int32_t m_iCustomDamageType; // 0x518 }; -// Aligment: 3 -// Size: 1352 -class CBaseFilter : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x548 +class CBaseFilter : public CLogicalEntity { public: - bool m_bNegated; // 0x4f0 - CEntityIOOutput m_OnPass; // 0x4f8 - CEntityIOOutput m_OnFail; // 0x520 + bool m_bNegated; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 +public: + CEntityIOOutput m_OnPass; // 0x4f8 + CEntityIOOutput m_OnFail; // 0x520 }; -// Aligment: 4 -// Size: 1488 -class CFilterMultiple : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x5d0 +class CFilterMultiple : public CBaseFilter { public: - filter_t m_nFilterType; // 0x548 - CUtlSymbolLarge[10] m_iFilterName; // 0x550 - CHandle< CBaseEntity >[10] m_hFilter; // 0x5a0 - int32_t m_nFilterCount; // 0x5c8 + filter_t m_nFilterType; // 0x548 +private: + [[maybe_unused]] uint8_t __pad054c[0x4]; // 0x54c +public: + CUtlSymbolLarge m_iFilterName[10]; // 0x550 + CHandle< CBaseEntity > m_hFilter[10]; // 0x5a0 + int32_t m_nFilterCount; // 0x5c8 }; -// Aligment: 1 -// Size: 1360 -class CFilterProximity : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x550 +class CFilterProximity : public CBaseFilter { public: - float m_flRadius; // 0x548 + float m_flRadius; // 0x548 }; -// Aligment: 0 -// Size: 1352 -class CFilterLOS : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x548 +class CFilterLOS : public CBaseFilter { public: -// + // no members available }; -// Aligment: 1 -// Size: 1360 -class CFilterClass : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x550 +class CFilterClass : public CBaseFilter { public: - CUtlSymbolLarge m_iFilterClass; // 0x548 + CUtlSymbolLarge m_iFilterClass; // 0x548 }; -// Aligment: 4 -// Size: 1280 -class CBaseFire : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x500 +class CBaseFire : public CBaseEntity { public: // MNetworkEnable - float m_flScale; // 0x4f0 + float m_flScale; // 0x4f0 // MNetworkEnable - float m_flStartScale; // 0x4f4 + float m_flStartScale; // 0x4f4 // MNetworkEnable - float m_flScaleTime; // 0x4f8 + float m_flScaleTime; // 0x4f8 // MNetworkEnable - uint32_t m_nFlags; // 0x4fc + uint32_t m_nFlags; // 0x4fc }; -// Aligment: 2 -// Size: 1288 -class CFireSmoke : public CBaseFire, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x508 +class CFireSmoke : public CBaseFire { public: // MNetworkEnable - int32_t m_nFlameModelIndex; // 0x500 + int32_t m_nFlameModelIndex; // 0x500 // MNetworkEnable - int32_t m_nFlameFromAboveModelIndex; // 0x504 + int32_t m_nFlameFromAboveModelIndex; // 0x504 }; -// Aligment: 7 -// Size: 1344 -class CFishPool : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x540 +class CFishPool : public CBaseEntity { public: - int32_t m_fishCount; // 0x500 - float m_maxRange; // 0x504 - float m_swimDepth; // 0x508 - float m_waterLevel; // 0x50c - bool m_isDormant; // 0x510 - CUtlVector< CHandle< CFish > > m_fishes; // 0x518 - CountdownTimer m_visTimer; // 0x530 + int32_t m_fishCount; // 0x500 + float m_maxRange; // 0x504 + float m_swimDepth; // 0x508 + float m_waterLevel; // 0x50c + bool m_isDormant; // 0x510 +private: + [[maybe_unused]] uint8_t __pad0511[0x7]; // 0x511 +public: + CUtlVector< CHandle< CFish > > m_fishes; // 0x518 + CountdownTimer m_visTimer; // 0x530 }; -// Aligment: 0 -// Size: 2176 -class CInfoData : public CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x880 +class CInfoData : public CServerOnlyEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IServerVehicle : public IVehicle { public: -// + // no members available }; -// Aligment: 4 -// Size: 1376 -class CLogicBranch : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x560 +class CLogicBranch : public CLogicalEntity { public: - bool m_bInValue; // 0x4f0 - CUtlVector< CHandle< CBaseEntity > > m_Listeners; // 0x4f8 - CEntityIOOutput m_OnTrue; // 0x510 - CEntityIOOutput m_OnFalse; // 0x538 + bool m_bInValue; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 +public: + CUtlVector< CHandle< CBaseEntity > > m_Listeners; // 0x4f8 + CEntityIOOutput m_OnTrue; // 0x510 + CEntityIOOutput m_OnFalse; // 0x538 }; -// Aligment: 7 -// Size: 1408 -class CLogicDistanceCheck : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x580 +class CLogicDistanceCheck : public CLogicalEntity { public: - CUtlSymbolLarge m_iszEntityA; // 0x4f0 - CUtlSymbolLarge m_iszEntityB; // 0x4f8 - float m_flZone1Distance; // 0x500 - float m_flZone2Distance; // 0x504 - CEntityIOOutput m_InZone1; // 0x508 - CEntityIOOutput m_InZone2; // 0x530 - CEntityIOOutput m_InZone3; // 0x558 + CUtlSymbolLarge m_iszEntityA; // 0x4f0 + CUtlSymbolLarge m_iszEntityB; // 0x4f8 + float m_flZone1Distance; // 0x500 + float m_flZone2Distance; // 0x504 + CEntityIOOutput m_InZone1; // 0x508 + CEntityIOOutput m_InZone2; // 0x530 + CEntityIOOutput m_InZone3; // 0x558 }; -// Aligment: 3 -// Size: 1288 -class CPointPrefab : public CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x508 +class CPointPrefab : public CServerOnlyPointEntity { public: - CUtlSymbolLarge m_targetMapName; // 0x4f0 - CUtlSymbolLarge m_forceWorldGroupID; // 0x4f8 - bool m_fixupNames; // 0x500 + CUtlSymbolLarge m_targetMapName; // 0x4f0 + CUtlSymbolLarge m_forceWorldGroupID; // 0x4f8 + bool m_fixupNames; // 0x500 }; -// Aligment: 2 -// Size: 1272 -class CSkyboxReference : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x4f8 +class CSkyboxReference : public CBaseEntity { public: - CUtlStringToken m_worldGroupId; // 0x4f0 - CHandle< CSkyCamera > m_hSkyCamera; // 0x4f4 + CUtlStringToken m_worldGroupId; // 0x4f0 + CHandle< CSkyCamera > m_hSkyCamera; // 0x4f4 }; -// Aligment: 4 -// Size: 1424 -class CSkyCamera : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x590 +class CSkyCamera : public CBaseEntity { public: // MNetworkEnable - sky3dparams_t m_skyboxData; // 0x4f0 + sky3dparams_t m_skyboxData; // 0x4f0 // MNetworkEnable - CUtlStringToken m_skyboxSlotToken; // 0x580 - bool m_bUseAngles; // 0x584 - CSkyCamera* m_pNext; // 0x588 + CUtlStringToken m_skyboxSlotToken; // 0x580 + bool m_bUseAngles; // 0x584 +private: + [[maybe_unused]] uint8_t __pad0585[0x3]; // 0x585 +public: + CSkyCamera* m_pNext; // 0x588 }; -// Aligment: 8 -// Size: 1400 -class CEnvSoundscape : public CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x578 +class CEnvSoundscape : public CServerOnlyEntity { public: - CEntityIOOutput m_OnPlay; // 0x4f0 - float m_flRadius; // 0x518 - CUtlSymbolLarge m_soundscapeName; // 0x520 - int32_t m_soundscapeIndex; // 0x528 - int32_t m_soundscapeEntityListId; // 0x52c - CUtlSymbolLarge[8] m_positionNames; // 0x530 - CHandle< CEnvSoundscape > m_hProxySoundscape; // 0x570 - bool m_bDisabled; // 0x574 + CEntityIOOutput m_OnPlay; // 0x4f0 + float m_flRadius; // 0x518 +private: + [[maybe_unused]] uint8_t __pad051c[0x4]; // 0x51c +public: + CUtlSymbolLarge m_soundscapeName; // 0x520 + int32_t m_soundscapeIndex; // 0x528 + int32_t m_soundscapeEntityListId; // 0x52c + CUtlSymbolLarge m_positionNames[8]; // 0x530 + CHandle< CEnvSoundscape > m_hProxySoundscape; // 0x570 + bool m_bDisabled; // 0x574 }; -// Aligment: 1 -// Size: 1408 -class CEnvSoundscapeProxy : public CEnvSoundscape, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x580 +class CEnvSoundscapeProxy : public CEnvSoundscape { public: - CUtlSymbolLarge m_MainSoundscapeName; // 0x578 + CUtlSymbolLarge m_MainSoundscapeName; // 0x578 }; -// Aligment: 0 -// Size: 1400 -class CEnvSoundscapeTriggerable : public CEnvSoundscape, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class CEnvSoundscapeTriggerable : public CEnvSoundscape { public: -// + // no members available }; -// Aligment: 27 -// Size: 1440 -class CTriggerCamera : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 27 +// Size: 0x5a0 +class CTriggerCamera : public CBaseEntity { public: - CHandle< CBaseEntity > m_hPlayer; // 0x4f0 - CHandle< CBaseEntity > m_hTarget; // 0x4f4 - CBaseEntity* m_pPath; // 0x4f8 - CUtlSymbolLarge m_sPath; // 0x500 - float m_flWait; // 0x508 - float m_flReturnTime; // 0x50c - float m_flStopTime; // 0x510 - float m_moveDistance; // 0x514 - float m_targetSpeed; // 0x518 - float m_initialSpeed; // 0x51c - float m_acceleration; // 0x520 - float m_deceleration; // 0x524 - int32_t m_state; // 0x528 - Vector m_vecMoveDir; // 0x52c - float m_fov; // 0x538 - float m_fovSpeed; // 0x53c - CUtlSymbolLarge m_iszTargetAttachment; // 0x540 - AttachmentHandle_t m_iAttachmentIndex; // 0x548 - bool m_bSnapToGoal; // 0x549 - bool m_bInterpolatePosition; // 0x54a - Vector m_vStartPos; // 0x54c - Vector m_vEndPos; // 0x558 - float m_flInterpStartTime; // 0x564 - uint64_t m_nPlayerButtons; // 0x568 - bool m_bOldTakesDamage; // 0x570 - TakeDamageFlags_t m_nOldTakeDamageFlags; // 0x572 - CEntityIOOutput m_OnEndFollow; // 0x578 + CHandle< CBaseEntity > m_hPlayer; // 0x4f0 + CHandle< CBaseEntity > m_hTarget; // 0x4f4 + CBaseEntity* m_pPath; // 0x4f8 + CUtlSymbolLarge m_sPath; // 0x500 + float m_flWait; // 0x508 + float m_flReturnTime; // 0x50c + float m_flStopTime; // 0x510 + float m_moveDistance; // 0x514 + float m_targetSpeed; // 0x518 + float m_initialSpeed; // 0x51c + float m_acceleration; // 0x520 + float m_deceleration; // 0x524 + int32_t m_state; // 0x528 + Vector m_vecMoveDir; // 0x52c + float m_fov; // 0x538 + float m_fovSpeed; // 0x53c + CUtlSymbolLarge m_iszTargetAttachment; // 0x540 + AttachmentHandle_t m_iAttachmentIndex; // 0x548 + bool m_bSnapToGoal; // 0x549 + bool m_bInterpolatePosition; // 0x54a +private: + [[maybe_unused]] uint8_t __pad054b[0x1]; // 0x54b public: - static float &Get_kflPosInterpTime() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTriggerCamera")->m_static_fiels[0]->m_instance); } + Vector m_vStartPos; // 0x54c + Vector m_vEndPos; // 0x558 + float m_flInterpStartTime; // 0x564 + uint64_t m_nPlayerButtons; // 0x568 + bool m_bOldTakesDamage; // 0x570 +private: + [[maybe_unused]] uint8_t __pad0571[0x1]; // 0x571 +public: + TakeDamageFlags_t m_nOldTakeDamageFlags; // 0x572 +private: + [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 +public: + CEntityIOOutput m_OnEndFollow; // 0x578 + static float &Get_kflPosInterpTime(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTriggerCamera")->m_static_fields[0]->m_instance);}; }; -// Aligment: 21 -// Size: 592 -class CBaseServerVehicle : public IServerVehicle, IVehicle +// Alignment: 21 +// Size: 0x250 +class CBaseServerVehicle : public IServerVehicle { public: - CUtlVector< CPassengerInfo > m_PassengerInfo; // 0x8 - CUtlVector< CPassengerRole > m_PassengerRoles; // 0x20 - CBaseEntity* m_pVehicle; // 0x38 - int32_t m_nNPCButtons; // 0x48 - int32_t m_nPrevNPCButtons; // 0x4c - float m_flTurnDegrees; // 0x50 - CUtlVector< CBaseServerVehicle::entryanim_t > m_EntryAnimations; // 0x58 - CUtlVector< CBaseServerVehicle::exitanim_t > m_ExitAnimations; // 0x70 - bool m_bParsedAnimations; // 0x88 - bool m_bUseLegacyExitChecks; // 0x89 - int32_t m_iCurrentExitAnim; // 0x8c - Vector m_vecCurrentExitEndPoint; // 0x90 - Vector m_savedViewOffset; // 0x9c - CHandle< CEntityBlocker > m_hExitBlocker; // 0xa8 - vehiclesounds_t m_vehicleSounds; // 0xb0 - float m_flVehicleVolume; // 0x220 - int32_t m_iSoundGear; // 0x224 - float m_flSpeedPercentage; // 0x228 - sound_states m_soundState; // 0x240 - float m_soundStateStartTime; // 0x244 - float m_lastSpeed; // 0x248 + CUtlVector< CPassengerInfo > m_PassengerInfo; // 0x8 + CUtlVector< CPassengerRole > m_PassengerRoles; // 0x20 + CBaseEntity* m_pVehicle; // 0x38 +private: + [[maybe_unused]] uint8_t __pad0040[0x8]; // 0x40 +public: + int32_t m_nNPCButtons; // 0x48 + int32_t m_nPrevNPCButtons; // 0x4c + float m_flTurnDegrees; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 +public: + CUtlVector< CBaseServerVehicle::entryanim_t > m_EntryAnimations; // 0x58 + CUtlVector< CBaseServerVehicle::exitanim_t > m_ExitAnimations; // 0x70 + bool m_bParsedAnimations; // 0x88 + bool m_bUseLegacyExitChecks; // 0x89 +private: + [[maybe_unused]] uint8_t __pad008a[0x2]; // 0x8a +public: + int32_t m_iCurrentExitAnim; // 0x8c + Vector m_vecCurrentExitEndPoint; // 0x90 + Vector m_savedViewOffset; // 0x9c + CHandle< CEntityBlocker > m_hExitBlocker; // 0xa8 +private: + [[maybe_unused]] uint8_t __pad00ac[0x4]; // 0xac +public: + vehiclesounds_t m_vehicleSounds; // 0xb0 + float m_flVehicleVolume; // 0x220 + int32_t m_iSoundGear; // 0x224 + float m_flSpeedPercentage; // 0x228 +private: + [[maybe_unused]] uint8_t __pad022c[0x14]; // 0x22c +public: + sound_states m_soundState; // 0x240 + float m_soundStateStartTime; // 0x244 + float m_lastSpeed; // 0x248 }; -// Aligment: 0 -// Size: 216 +// Alignment: 0 +// Size: 0xd8 class CNavVolumeMarkupVolume : public CNavVolume { public: -// + // no members available }; -// Aligment: 0 -// Size: 152 +// Alignment: 0 +// Size: 0x98 class CNavVolumeCalculatedVector : public CNavVolume { public: -// + // no members available }; -// Aligment: 2 -// Size: 184 -class CNavVolumeBreadthFirstSearch : public CNavVolumeCalculatedVector, CNavVolume +// Alignment: 2 +// Size: 0xb8 +class CNavVolumeBreadthFirstSearch : public CNavVolumeCalculatedVector { public: - Vector m_vStartPos; // 0xa0 - float m_flSearchDist; // 0xac + Vector m_vStartPos; // 0xa0 + float m_flSearchDist; // 0xac }; -// Aligment: 14 -// Size: 400 +// Alignment: 14 +// Size: 0x190 class CBasePlayerVData : public CEntitySubclassVDataBase { public: - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x108 - CSkillFloat m_flHeadDamageMultiplier; // 0x120 - CSkillFloat m_flChestDamageMultiplier; // 0x130 - CSkillFloat m_flStomachDamageMultiplier; // 0x140 - CSkillFloat m_flArmDamageMultiplier; // 0x150 - CSkillFloat m_flLegDamageMultiplier; // 0x160 + CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 + CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x108 + CSkillFloat m_flHeadDamageMultiplier; // 0x120 + CSkillFloat m_flChestDamageMultiplier; // 0x130 + CSkillFloat m_flStomachDamageMultiplier; // 0x140 + CSkillFloat m_flArmDamageMultiplier; // 0x150 + CSkillFloat m_flLegDamageMultiplier; // 0x160 // MPropertyGroupName "Water" - float m_flHoldBreathTime; // 0x170 + float m_flHoldBreathTime; // 0x170 // MPropertyGroupName "Water" // MPropertyDescription "Seconds between drowning ticks" - float m_flDrowningDamageInterval; // 0x174 + float m_flDrowningDamageInterval; // 0x174 // MPropertyGroupName "Water" // MPropertyDescription "Amount of damage done on the first drowning tick (+1 each subsequent interval)" - int32_t m_nDrowningDamageInitial; // 0x178 + int32_t m_nDrowningDamageInitial; // 0x178 // MPropertyGroupName "Water" // MPropertyDescription "Max damage done by a drowning tick" - int32_t m_nDrowningDamageMax; // 0x17c + int32_t m_nDrowningDamageMax; // 0x17c // MPropertyGroupName "Water" - int32_t m_nWaterSpeed; // 0x180 + int32_t m_nWaterSpeed; // 0x180 // MPropertyGroupName "Use" - float m_flUseRange; // 0x184 + float m_flUseRange; // 0x184 // MPropertyGroupName "Use" - float m_flUseAngleTolerance; // 0x188 + float m_flUseAngleTolerance; // 0x188 }; -// Aligment: 2 -// Size: 1272 -class CEnvDetailController : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x4f8 +class CEnvDetailController : public CBaseEntity { public: // MNetworkEnable - float m_flFadeStartDist; // 0x4f0 + float m_flFadeStartDist; // 0x4f0 // MNetworkEnable - float m_flFadeEndDist; // 0x4f4 + float m_flFadeEndDist; // 0x4f4 }; -// Aligment: 0 -// Size: 1264 -class CInfoLadderDismount : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CInfoLadderDismount : public CBaseEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1264 -class CGameRulesProxy : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CGameRulesProxy : public CBaseEntity { public: -// + // no members available }; -// Aligment: 14 -// Size: 1344 -class CPoseController : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0x540 +class CPoseController : public CBaseEntity { public: // MNetworkEnable - bool m_bPoseValueParity; // 0x4f0 + bool m_bPoseValueParity; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0" // MNetworkMaxValue "1" - float m_fPoseValue; // 0x4f4 + float m_fPoseValue; // 0x4f4 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0" // MNetworkMaxValue "10" - float m_fInterpolationDuration; // 0x4f8 + float m_fInterpolationDuration; // 0x4f8 // MNetworkEnable - bool m_bInterpolationWrap; // 0x4fc + bool m_bInterpolationWrap; // 0x4fc +private: + [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd +public: // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-10" // MNetworkMaxValue "10" - float m_fCycleFrequency; // 0x500 + float m_fCycleFrequency; // 0x500 // MNetworkEnable - PoseController_FModType_t m_nFModType; // 0x504 + PoseController_FModType_t m_nFModType; // 0x504 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-1" // MNetworkMaxValue "1" - float m_fFModTimeOffset; // 0x508 + float m_fFModTimeOffset; // 0x508 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-10" // MNetworkMaxValue "10" - float m_fFModRate; // 0x50c + float m_fFModRate; // 0x50c // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0" // MNetworkMaxValue "10" - float m_fFModAmplitude; // 0x510 + float m_fFModAmplitude; // 0x510 // MNetworkEnable - CHandle< CBaseEntity >[4] m_hProps; // 0x514 + CHandle< CBaseEntity > m_hProps[4]; // 0x514 // MNetworkEnable - uint8[4] m_chPoseIndex; // 0x524 - bool m_bDisablePropLookup; // 0x528 - CUtlSymbolLarge m_iszPropName; // 0x530 - CUtlSymbolLarge m_iszPoseParameterName; // 0x538 + uint8_t m_chPoseIndex[4]; // 0x524 + bool m_bDisablePropLookup; // 0x528 +private: + [[maybe_unused]] uint8_t __pad0529[0x7]; // 0x529 +public: + CUtlSymbolLarge m_iszPropName; // 0x530 + CUtlSymbolLarge m_iszPoseParameterName; // 0x538 }; -// Aligment: 7 -// Size: 296 +// 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 }; -// Aligment: 9 -// Size: 128 +// 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 + 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: - static uint32_t &Get_s_globalCount() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CRagdoll")->m_static_fiels[0]->m_instance); } + 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);}; }; -// Aligment: 9 -// Size: 1408 -class CSoundOpvarSetPointBase : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x580 +class CSoundOpvarSetPointBase : public CBaseEntity { public: - bool m_bDisabled; // 0x4f0 - CEntityHandle m_hSource; // 0x4f4 - CUtlSymbolLarge m_iszSourceEntityName; // 0x500 - Vector m_vLastPosition; // 0x550 + bool m_bDisabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: + CEntityHandle m_hSource; // 0x4f4 +private: + [[maybe_unused]] uint8_t __pad04f8[0x8]; // 0x4f8 +public: + CUtlSymbolLarge m_iszSourceEntityName; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0508[0x48]; // 0x508 +public: + Vector m_vLastPosition; // 0x550 +private: + [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c +public: // MNetworkEnable - CUtlSymbolLarge m_iszStackName; // 0x560 + CUtlSymbolLarge m_iszStackName; // 0x560 // MNetworkEnable - CUtlSymbolLarge m_iszOperatorName; // 0x568 + CUtlSymbolLarge m_iszOperatorName; // 0x568 // MNetworkEnable - CUtlSymbolLarge m_iszOpvarName; // 0x570 + CUtlSymbolLarge m_iszOpvarName; // 0x570 // MNetworkEnable - int32_t m_iOpvarIndex; // 0x578 + int32_t m_iOpvarIndex; // 0x578 // MNetworkEnable - bool m_bUseAutoCompare; // 0x57c + bool m_bUseAutoCompare; // 0x57c }; -// Aligment: 21 -// Size: 1632 -class CSoundOpvarSetPointEntity : public CSoundOpvarSetPointBase, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 21 +// Size: 0x660 +class CSoundOpvarSetPointEntity : public CSoundOpvarSetPointBase { public: - CEntityIOOutput m_OnEnter; // 0x580 - CEntityIOOutput m_OnExit; // 0x5a8 - bool m_bAutoDisable; // 0x5d0 - float m_flDistanceMin; // 0x5f4 - float m_flDistanceMax; // 0x5f8 - float m_flDistanceMapMin; // 0x5fc - float m_flDistanceMapMax; // 0x600 - float m_flOcclusionRadius; // 0x604 - float m_flOcclusionMin; // 0x608 - float m_flOcclusionMax; // 0x60c - float m_flValSetOnDisable; // 0x610 - bool m_bSetValueOnDisable; // 0x614 - int32_t m_nSimulationMode; // 0x618 - int32_t m_nVisibilitySamples; // 0x61c - Vector m_vDynamicProxyPoint; // 0x620 - float m_flDynamicMaximumOcclusion; // 0x62c - CEntityHandle m_hDynamicEntity; // 0x630 - CUtlSymbolLarge m_iszDynamicEntityName; // 0x638 - float m_flPathingDistanceNormFactor; // 0x640 - Vector m_vPathingSourcePos; // 0x644 - Vector m_vPathingListenerPos; // 0x650 + CEntityIOOutput m_OnEnter; // 0x580 + CEntityIOOutput m_OnExit; // 0x5a8 + bool m_bAutoDisable; // 0x5d0 +private: + [[maybe_unused]] uint8_t __pad05d1[0x23]; // 0x5d1 +public: + float m_flDistanceMin; // 0x5f4 + float m_flDistanceMax; // 0x5f8 + float m_flDistanceMapMin; // 0x5fc + float m_flDistanceMapMax; // 0x600 + float m_flOcclusionRadius; // 0x604 + float m_flOcclusionMin; // 0x608 + float m_flOcclusionMax; // 0x60c + float m_flValSetOnDisable; // 0x610 + bool m_bSetValueOnDisable; // 0x614 +private: + [[maybe_unused]] uint8_t __pad0615[0x3]; // 0x615 +public: + int32_t m_nSimulationMode; // 0x618 + int32_t m_nVisibilitySamples; // 0x61c + Vector m_vDynamicProxyPoint; // 0x620 + float m_flDynamicMaximumOcclusion; // 0x62c + CEntityHandle m_hDynamicEntity; // 0x630 +private: + [[maybe_unused]] uint8_t __pad0634[0x4]; // 0x634 +public: + CUtlSymbolLarge m_iszDynamicEntityName; // 0x638 + float m_flPathingDistanceNormFactor; // 0x640 + Vector m_vPathingSourcePos; // 0x644 + Vector m_vPathingListenerPos; // 0x650 }; -// Aligment: 9 -// Size: 1736 -class CSoundOpvarSetAABBEntity : public CSoundOpvarSetPointEntity, CSoundOpvarSetPointBase, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x6c8 +class CSoundOpvarSetAABBEntity : public CSoundOpvarSetPointEntity { public: - Vector m_vDistanceInnerMins; // 0x660 - Vector m_vDistanceInnerMaxs; // 0x66c - Vector m_vDistanceOuterMins; // 0x678 - Vector m_vDistanceOuterMaxs; // 0x684 - int32_t m_nAABBDirection; // 0x690 - Vector m_vInnerMins; // 0x694 - Vector m_vInnerMaxs; // 0x6a0 - Vector m_vOuterMins; // 0x6ac - Vector m_vOuterMaxs; // 0x6b8 + Vector m_vDistanceInnerMins; // 0x660 + Vector m_vDistanceInnerMaxs; // 0x66c + Vector m_vDistanceOuterMins; // 0x678 + Vector m_vDistanceOuterMaxs; // 0x684 + int32_t m_nAABBDirection; // 0x690 + Vector m_vInnerMins; // 0x694 + Vector m_vInnerMaxs; // 0x6a0 + Vector m_vOuterMins; // 0x6ac + Vector m_vOuterMaxs; // 0x6b8 }; -// Aligment: 0 -// Size: 1736 -class CSoundOpvarSetOBBEntity : public CSoundOpvarSetAABBEntity, CSoundOpvarSetPointEntity, CSoundOpvarSetPointBase, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x6c8 +class CSoundOpvarSetOBBEntity : public CSoundOpvarSetAABBEntity { public: -// + // no members available }; -// Aligment: 3 -// Size: 1672 -class CSoundOpvarSetPathCornerEntity : public CSoundOpvarSetPointEntity, CSoundOpvarSetPointBase, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x688 +class CSoundOpvarSetPathCornerEntity : public CSoundOpvarSetPointEntity { public: - float m_flDistMinSqr; // 0x678 - float m_flDistMaxSqr; // 0x67c - CUtlSymbolLarge m_iszPathCornerEntityName; // 0x680 + float m_flDistMinSqr; // 0x678 + float m_flDistMaxSqr; // 0x67c + CUtlSymbolLarge m_iszPathCornerEntityName; // 0x680 }; -// Aligment: 8 -// Size: 1472 -class CSoundOpvarSetOBBWindEntity : public CSoundOpvarSetPointBase, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x5c0 +class CSoundOpvarSetOBBWindEntity : public CSoundOpvarSetPointBase { public: - Vector m_vMins; // 0x580 - Vector m_vMaxs; // 0x58c - Vector m_vDistanceMins; // 0x598 - Vector m_vDistanceMaxs; // 0x5a4 - float m_flWindMin; // 0x5b0 - float m_flWindMax; // 0x5b4 - float m_flWindMapMin; // 0x5b8 - float m_flWindMapMax; // 0x5bc + Vector m_vMins; // 0x580 + Vector m_vMaxs; // 0x58c + Vector m_vDistanceMins; // 0x598 + Vector m_vDistanceMaxs; // 0x5a4 + float m_flWindMin; // 0x5b0 + float m_flWindMax; // 0x5b4 + float m_flWindMapMin; // 0x5b8 + float m_flWindMapMax; // 0x5bc }; -// Aligment: 3 -// Size: 40 +// Alignment: 3 +// Size: 0x28 class CAI_BehaviorBase : public CAI_Component { public: - bool m_bActive; // 0x18 - bool m_bOverrode; // 0x19 - CAI_BehaviorBase* m_pActiveChildBehavior; // 0x20 + bool m_bActive; // 0x18 + bool m_bOverrode; // 0x19 +private: + [[maybe_unused]] uint8_t __pad001a[0x6]; // 0x1a +public: + CAI_BehaviorBase* m_pActiveChildBehavior; // 0x20 }; -// Aligment: 6 -// Size: 136 +// Alignment: 6 +// Size: 0x88 class CAI_AnimGraphServices : public CAI_Component { public: - float m_flMinFaceTolerance; // 0x20 - CUtlStringToken m_sFinishTagThatTaskIsWaitingFor; // 0x24 - CUtlSymbolLarge m_iszGraphVariableToSetOnTaskEnd; // 0x28 - CUtlSymbolLarge m_iszGraphVariableToSetOnScheduleEnd; // 0x30 - CUtlSymbolLarge m_iszGraphVariableToSetOnFinishTag; // 0x38 - LastIncomingHit_t m_LastIncomingHit; // 0x60 + float m_flMinFaceTolerance; // 0x20 + CUtlStringToken m_sFinishTagThatTaskIsWaitingFor; // 0x24 + CUtlSymbolLarge m_iszGraphVariableToSetOnTaskEnd; // 0x28 + CUtlSymbolLarge m_iszGraphVariableToSetOnScheduleEnd; // 0x30 + CUtlSymbolLarge m_iszGraphVariableToSetOnFinishTag; // 0x38 +private: + [[maybe_unused]] uint8_t __pad0040[0x20]; // 0x40 public: - static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET_ON_TAG() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET_ON_SCHEDULEEND() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fiels[3]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG_FACE_ENEMY() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fiels[4]->m_instance); } - static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG_AND_MOVEMENT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fiels[5]->m_instance); } + LastIncomingHit_t m_LastIncomingHit; // 0x60 + static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET_ON_TAG(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET_ON_SCHEDULEEND(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[3]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG_FACE_ENEMY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[4]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG_AND_MOVEMENT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[5]->m_instance);}; }; -// Aligment: 8 -// Size: 1336 -class CAI_GoalEntity : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x538 +class CAI_GoalEntity : public CBaseEntity { public: - CUtlSymbolLarge m_iszActor; // 0x4f8 - CUtlSymbolLarge m_iszGoal; // 0x500 - bool m_fStartActive; // 0x508 - CAI_GoalEntity::SearchType_t m_SearchType; // 0x50c - CUtlSymbolLarge m_iszConceptModifiers; // 0x510 - CUtlVector< CHandle< CAI_BaseNPC > > m_actors; // 0x518 - CHandle< CBaseEntity > m_hGoalEntity; // 0x530 - uint32_t m_flags; // 0x534 + CUtlSymbolLarge m_iszActor; // 0x4f8 + CUtlSymbolLarge m_iszGoal; // 0x500 + bool m_fStartActive; // 0x508 +private: + [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 +public: + CAI_GoalEntity::SearchType_t m_SearchType; // 0x50c + CUtlSymbolLarge m_iszConceptModifiers; // 0x510 + CUtlVector< CHandle< CAI_BaseNPC > > m_actors; // 0x518 + CHandle< CBaseEntity > m_hGoalEntity; // 0x530 + uint32_t m_flags; // 0x534 }; -// Aligment: 12 -// Size: 1472 -class CAI_Hint : public CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x5c0 +class CAI_Hint : public CServerOnlyEntity { public: - HintNodeData m_NodeData; // 0x4f0 - CHandle< CBaseEntity > m_hHintOwner; // 0x530 - float m_flNextUseTime; // 0x534 - CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnNPCStartedUsing; // 0x538 - CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnNPCStoppedUsing; // 0x560 - float m_nodeFOV; // 0x588 - Vector m_vecForward; // 0x58c - CUtlSymbolLarge m_iszAnimgraphEntryCmd; // 0x598 - CUtlSymbolLarge m_iszAnimgraphEntryTag; // 0x5a0 - CUtlSymbolLarge m_iszAnimgraphExitCmd; // 0x5a8 - CUtlSymbolLarge m_iszAnimgraphExitTag; // 0x5b0 - CUtlSymbolLarge m_iszNavlinkTargetName; // 0x5b8 + HintNodeData m_NodeData; // 0x4f0 + CHandle< CBaseEntity > m_hHintOwner; // 0x530 + float m_flNextUseTime; // 0x534 + CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnNPCStartedUsing; // 0x538 + CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnNPCStoppedUsing; // 0x560 + float m_nodeFOV; // 0x588 + Vector m_vecForward; // 0x58c + CUtlSymbolLarge m_iszAnimgraphEntryCmd; // 0x598 + CUtlSymbolLarge m_iszAnimgraphEntryTag; // 0x5a0 + CUtlSymbolLarge m_iszAnimgraphExitCmd; // 0x5a8 + CUtlSymbolLarge m_iszAnimgraphExitTag; // 0x5b0 + CUtlSymbolLarge m_iszNavlinkTargetName; // 0x5b8 }; -// Aligment: 3 -// Size: 1352 -class CNodeEnt : public CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x548 +class CNodeEnt : public CServerOnlyPointEntity { public: - bool m_bDontDropNode; // 0x4f0 - HullFlags_t m_HullForceFlags; // 0x4f1 - HintNodeData m_NodeData; // 0x500 + bool m_bDontDropNode; // 0x4f0 + HullFlags_t m_HullForceFlags; // 0x4f1 +private: + [[maybe_unused]] uint8_t __pad04fa[0x6]; // 0x4fa public: - static int32_t &Get_m_nNodeCount() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNodeEnt")->m_static_fiels[0]->m_instance); } + HintNodeData m_NodeData; // 0x500 + static int32_t &Get_m_nNodeCount(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNodeEnt")->m_static_fields[0]->m_instance);}; }; -// Aligment: 11 -// Size: 1328 -class CAI_Relationship : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 11 +// Size: 0x530 +class CAI_Relationship : public CBaseEntity { public: - CUtlSymbolLarge m_iszSubject; // 0x4f8 - CUtlSymbolLarge m_iszSubjectClass; // 0x500 - CUtlSymbolLarge m_iszTargetClass; // 0x508 - int32_t m_iDisposition; // 0x510 - int32_t m_iRank; // 0x514 - bool m_fStartActive; // 0x518 - bool m_bIsActive; // 0x519 - int32_t m_iPreviousDisposition; // 0x51c - float m_flRadius; // 0x520 - int32_t m_iPreviousRank; // 0x524 - bool m_bReciprocal; // 0x528 + CUtlSymbolLarge m_iszSubject; // 0x4f8 + CUtlSymbolLarge m_iszSubjectClass; // 0x500 + CUtlSymbolLarge m_iszTargetClass; // 0x508 + int32_t m_iDisposition; // 0x510 + int32_t m_iRank; // 0x514 + bool m_fStartActive; // 0x518 + bool m_bIsActive; // 0x519 +private: + [[maybe_unused]] uint8_t __pad051a[0x2]; // 0x51a +public: + int32_t m_iPreviousDisposition; // 0x51c + float m_flRadius; // 0x520 + int32_t m_iPreviousRank; // 0x524 + bool m_bReciprocal; // 0x528 }; -// Aligment: 32 -// Size: 1544 -class CAI_ScriptConditions : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 32 +// Size: 0x608 +class CAI_ScriptConditions : public CBaseEntity { public: - CEntityIOOutput m_OnConditionsSatisfied; // 0x4f8 - CEntityIOOutput m_OnConditionsTimeout; // 0x520 - CEntityIOOutput m_NoValidActors; // 0x548 - bool m_fDisabled; // 0x570 - bool m_bLeaveAsleep; // 0x571 - CHandle< CBaseEntity > m_hTarget; // 0x574 - float m_flRequiredDuration; // 0x578 - NPC_STATE m_fMinState; // 0x57c - NPC_STATE m_fMaxState; // 0x580 - ThreeState_t m_fScriptStatus; // 0x584 - ThreeState_t m_fActorSeePlayer; // 0x588 - CUtlSymbolLarge m_Actor; // 0x590 - float m_flPlayerActorProximity; // 0x598 - CAI_ProxTester m_PlayerActorProxTester; // 0x59c - float m_flPlayerActorFOV; // 0x5a4 - bool m_bPlayerActorFOVTrueCone; // 0x5a8 - ThreeState_t m_fPlayerActorLOS; // 0x5ac - ThreeState_t m_fActorSeeTarget; // 0x5b0 - float m_flActorTargetProximity; // 0x5b4 - CAI_ProxTester m_ActorTargetProxTester; // 0x5b8 - float m_flPlayerTargetProximity; // 0x5c0 - CAI_ProxTester m_PlayerTargetProxTester; // 0x5c4 - float m_flPlayerTargetFOV; // 0x5cc - bool m_bPlayerTargetFOVTrueCone; // 0x5d0 - ThreeState_t m_fPlayerTargetLOS; // 0x5d4 - ThreeState_t m_fPlayerBlockingActor; // 0x5d8 - ThreeState_t m_fActorInPVS; // 0x5dc - float m_flMinTimeout; // 0x5e0 - float m_flMaxTimeout; // 0x5e4 - ThreeState_t m_fActorInVehicle; // 0x5e8 - ThreeState_t m_fPlayerInVehicle; // 0x5ec - CUtlVector< CAI_ScriptConditionsElement > m_ElementList; // 0x5f0 + CEntityIOOutput m_OnConditionsSatisfied; // 0x4f8 + CEntityIOOutput m_OnConditionsTimeout; // 0x520 + CEntityIOOutput m_NoValidActors; // 0x548 + bool m_fDisabled; // 0x570 + bool m_bLeaveAsleep; // 0x571 +private: + [[maybe_unused]] uint8_t __pad0572[0x2]; // 0x572 +public: + CHandle< CBaseEntity > m_hTarget; // 0x574 + float m_flRequiredDuration; // 0x578 + NPC_STATE m_fMinState; // 0x57c + NPC_STATE m_fMaxState; // 0x580 + ThreeState_t m_fScriptStatus; // 0x584 + ThreeState_t m_fActorSeePlayer; // 0x588 +private: + [[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c +public: + CUtlSymbolLarge m_Actor; // 0x590 + float m_flPlayerActorProximity; // 0x598 + CAI_ProxTester m_PlayerActorProxTester; // 0x59c + float m_flPlayerActorFOV; // 0x5a4 + bool m_bPlayerActorFOVTrueCone; // 0x5a8 +private: + [[maybe_unused]] uint8_t __pad05a9[0x3]; // 0x5a9 +public: + ThreeState_t m_fPlayerActorLOS; // 0x5ac + ThreeState_t m_fActorSeeTarget; // 0x5b0 + float m_flActorTargetProximity; // 0x5b4 + CAI_ProxTester m_ActorTargetProxTester; // 0x5b8 + float m_flPlayerTargetProximity; // 0x5c0 + CAI_ProxTester m_PlayerTargetProxTester; // 0x5c4 + float m_flPlayerTargetFOV; // 0x5cc + bool m_bPlayerTargetFOVTrueCone; // 0x5d0 +private: + [[maybe_unused]] uint8_t __pad05d1[0x3]; // 0x5d1 +public: + ThreeState_t m_fPlayerTargetLOS; // 0x5d4 + ThreeState_t m_fPlayerBlockingActor; // 0x5d8 + ThreeState_t m_fActorInPVS; // 0x5dc + float m_flMinTimeout; // 0x5e0 + float m_flMaxTimeout; // 0x5e4 + ThreeState_t m_fActorInVehicle; // 0x5e8 + ThreeState_t m_fPlayerInVehicle; // 0x5ec + CUtlVector< CAI_ScriptConditionsElement > m_ElementList; // 0x5f0 }; -// Aligment: 4 -// Size: 1288 -class CAI_SpeechFilter : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x508 +class CAI_SpeechFilter : public CBaseEntity { public: - CUtlSymbolLarge m_iszSubject; // 0x4f8 - float m_flIdleModifier; // 0x500 - bool m_bNeverSayHello; // 0x504 - bool m_bDisabled; // 0x505 + CUtlSymbolLarge m_iszSubject; // 0x4f8 + float m_flIdleModifier; // 0x500 + bool m_bNeverSayHello; // 0x504 + bool m_bDisabled; // 0x505 }; -// Aligment: 18 -// Size: 1496 -class CBaseNPCMaker : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 18 +// Size: 0x5d8 +class CBaseNPCMaker : public CBaseEntity { public: - int32_t m_nMaxNumNPCs; // 0x4f0 - float m_flSpawnFrequency; // 0x4f4 - float m_flRetryFrequency; // 0x4f8 - int32_t m_nHullCheckMode; // 0x4fc - CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnSpawnNPC; // 0x500 - CEntityIOOutput m_OnAllSpawned; // 0x528 - CEntityIOOutput m_OnAllSpawnedDead; // 0x550 - CEntityIOOutput m_OnAllLiveChildrenDead; // 0x578 - int32_t m_nLiveChildren; // 0x5a0 - int32_t m_nMaxLiveChildren; // 0x5a4 - int32_t m_nMinSpawnDistance; // 0x5a8 - float m_flRadius; // 0x5ac - bool m_bDisabled; // 0x5b0 - CHandle< CBaseEntity > m_hIgnoreEntity; // 0x5b4 - CUtlSymbolLarge m_iszIgnoreEnt; // 0x5b8 - CUtlSymbolLarge m_iszDestinationGroup; // 0x5c0 - CBaseNPCMaker::ThreeStateYesNo_t m_CriterionVisibility; // 0x5c8 - CBaseNPCMaker::ThreeStateDist_t m_CriterionDistance; // 0x5cc + int32_t m_nMaxNumNPCs; // 0x4f0 + float m_flSpawnFrequency; // 0x4f4 + float m_flRetryFrequency; // 0x4f8 + int32_t m_nHullCheckMode; // 0x4fc + CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnSpawnNPC; // 0x500 + CEntityIOOutput m_OnAllSpawned; // 0x528 + CEntityIOOutput m_OnAllSpawnedDead; // 0x550 + CEntityIOOutput m_OnAllLiveChildrenDead; // 0x578 + int32_t m_nLiveChildren; // 0x5a0 + int32_t m_nMaxLiveChildren; // 0x5a4 + int32_t m_nMinSpawnDistance; // 0x5a8 + float m_flRadius; // 0x5ac + bool m_bDisabled; // 0x5b0 +private: + [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 +public: + CHandle< CBaseEntity > m_hIgnoreEntity; // 0x5b4 + CUtlSymbolLarge m_iszIgnoreEnt; // 0x5b8 + CUtlSymbolLarge m_iszDestinationGroup; // 0x5c0 + CBaseNPCMaker::ThreeStateYesNo_t m_CriterionVisibility; // 0x5c8 + CBaseNPCMaker::ThreeStateDist_t m_CriterionDistance; // 0x5cc }; -// Aligment: 5 -// Size: 1536 -class CNPCMaker : public CBaseNPCMaker, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x600 +class CNPCMaker : public CBaseNPCMaker { public: - CUtlSymbolLarge m_iszNPCSubClass; // 0x5d8 - CUtlSymbolLarge m_iszSquadName; // 0x5e0 - CUtlSymbolLarge m_iszHintGroup; // 0x5e8 - CUtlSymbolLarge m_RelationshipString; // 0x5f0 - CUtlSymbolLarge m_ChildTargetName; // 0x5f8 + CUtlSymbolLarge m_iszNPCSubClass; // 0x5d8 + CUtlSymbolLarge m_iszSquadName; // 0x5e0 + CUtlSymbolLarge m_iszHintGroup; // 0x5e8 + CUtlSymbolLarge m_RelationshipString; // 0x5f0 + CUtlSymbolLarge m_ChildTargetName; // 0x5f8 }; -// Aligment: 2 -// Size: 1512 -class CTemplateNPCMaker : public CBaseNPCMaker, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x5e8 +class CTemplateNPCMaker : public CBaseNPCMaker { public: - CUtlSymbolLarge m_iszWorldName; // 0x5d8 - CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x5e0 + CUtlSymbolLarge m_iszWorldName; // 0x5d8 + CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x5e0 }; -// Aligment: 5 -// Size: 1376 -class CAttachedItemManager : public CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x560 +class CAttachedItemManager : public CServerOnlyPointEntity { public: - CUtlSymbolLarge[4] m_iszAddSubclassNames; // 0x4f8 - CUtlSymbolLarge[4] m_iszRemoveAbilityNames; // 0x518 - CUtlSymbolLarge[4] m_iszPrimaryAbilityNames; // 0x538 - bool m_bListenForFutureEntities; // 0x558 - bool m_bMarkAsRemoveable; // 0x559 + CUtlSymbolLarge m_iszAddSubclassNames[4]; // 0x4f8 + CUtlSymbolLarge m_iszRemoveAbilityNames[4]; // 0x518 + CUtlSymbolLarge m_iszPrimaryAbilityNames[4]; // 0x538 + bool m_bListenForFutureEntities; // 0x558 + bool m_bMarkAsRemoveable; // 0x559 }; -// Aligment: 1 -// Size: 1312 -class CAI_AllySpeechManager : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x520 +class CAI_AllySpeechManager : public CLogicalEntity { public: - CSimpleSimTimer[3] m_ConceptCategoryTimers; // 0x4f0 -public: - static CAI_AllySpeechManager* &Get_gm_pSpeechManager() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AllySpeechManager")->m_static_fiels[0]->m_instance); } + CSimpleSimTimer m_ConceptCategoryTimers[3]; // 0x4f0 + static CAI_AllySpeechManager* &Get_gm_pSpeechManager(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AllySpeechManager")->m_static_fields[0]->m_instance);}; }; -// Aligment: 4 -// Size: 1360 -class CAI_AssaultGoal : public CAI_GoalEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x550 +class CAI_AssaultGoal : public CAI_GoalEntity { public: - CUtlSymbolLarge m_RallyPoint; // 0x538 - int32_t m_AssaultCue; // 0x540 - int32_t m_RallySelectMethod; // 0x544 - int32_t m_BranchMethod; // 0x548 + CUtlSymbolLarge m_RallyPoint; // 0x538 + int32_t m_AssaultCue; // 0x540 + int32_t m_RallySelectMethod; // 0x544 + int32_t m_BranchMethod; // 0x548 }; -// Aligment: 9 -// Size: 1400 -class CAI_FightFromCoverGoal : public CAI_GoalEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x578 +class CAI_FightFromCoverGoal : public CAI_GoalEntity { public: - CUtlSymbolLarge m_DirectionalMarker; // 0x538 - CUtlSymbolLarge m_GenericHintType; // 0x540 - CHandle< CBaseEntity > m_hDirectionalMarker; // 0x548 - float m_WidthZone; // 0x54c - float m_LengthZone; // 0x550 - float m_HeightZone; // 0x554 - float m_BiasZone; // 0x558 - Vector m_vFront; // 0x55c - Vector m_vDir; // 0x568 + CUtlSymbolLarge m_DirectionalMarker; // 0x538 + CUtlSymbolLarge m_GenericHintType; // 0x540 + CHandle< CBaseEntity > m_hDirectionalMarker; // 0x548 + float m_WidthZone; // 0x54c + float m_LengthZone; // 0x550 + float m_HeightZone; // 0x554 + float m_BiasZone; // 0x558 + Vector m_vFront; // 0x55c + Vector m_vDir; // 0x568 }; -// Aligment: 1 -// Size: 1360 -class CAI_FollowGoal : public CAI_GoalEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x550 +class CAI_FollowGoal : public CAI_GoalEntity { public: - int32_t m_iFormation; // 0x548 + int32_t m_iFormation; // 0x548 }; -// Aligment: 28 -// Size: 1664 -class CAI_LeadGoal : public CAI_GoalEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 28 +// Size: 0x680 +class CAI_LeadGoal : public CAI_GoalEntity { public: - bool m_fArrived; // 0x540 - float m_flWaitDistance; // 0x544 - float m_flLeadDistance; // 0x548 - float m_flRetrieveDistance; // 0x54c - float m_flSuccessDistance; // 0x550 - bool m_bRun; // 0x554 - int32_t m_iRetrievePlayer; // 0x558 - int32_t m_iRetrieveWaitForSpeak; // 0x55c - int32_t m_iComingBackWaitForSpeak; // 0x560 - bool m_bStopScenesWhenPlayerLost; // 0x564 - bool m_bDontSpeakStart; // 0x565 - bool m_bLeadDuringCombat; // 0x566 - bool m_bGagLeader; // 0x567 - CUtlSymbolLarge m_iszWaitPointName; // 0x568 - CUtlSymbolLarge m_iszStartConceptModifier; // 0x570 - CUtlSymbolLarge m_iszAttractPlayerConceptModifier; // 0x578 - CUtlSymbolLarge m_iszWaitOverConceptModifier; // 0x580 - CUtlSymbolLarge m_iszArrivalConceptModifier; // 0x588 - CUtlSymbolLarge m_iszPostArrivalConceptModifier; // 0x590 - CUtlSymbolLarge m_iszSuccessConceptModifier; // 0x598 - CUtlSymbolLarge m_iszFailureConceptModifier; // 0x5a0 - CUtlSymbolLarge m_iszRetrieveConceptModifier; // 0x5a8 - CUtlSymbolLarge m_iszComingBackConceptModifier; // 0x5b0 - CEntityIOOutput m_OnArrival; // 0x5b8 - CEntityIOOutput m_OnArrivalDone; // 0x5e0 - CEntityIOOutput m_OnSuccess; // 0x608 - CEntityIOOutput m_OnFailure; // 0x630 - CEntityIOOutput m_OnDone; // 0x658 + bool m_fArrived; // 0x540 +private: + [[maybe_unused]] uint8_t __pad0541[0x3]; // 0x541 +public: + float m_flWaitDistance; // 0x544 + float m_flLeadDistance; // 0x548 + float m_flRetrieveDistance; // 0x54c + float m_flSuccessDistance; // 0x550 + bool m_bRun; // 0x554 +private: + [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 +public: + int32_t m_iRetrievePlayer; // 0x558 + int32_t m_iRetrieveWaitForSpeak; // 0x55c + int32_t m_iComingBackWaitForSpeak; // 0x560 + bool m_bStopScenesWhenPlayerLost; // 0x564 + bool m_bDontSpeakStart; // 0x565 + bool m_bLeadDuringCombat; // 0x566 + bool m_bGagLeader; // 0x567 + CUtlSymbolLarge m_iszWaitPointName; // 0x568 + CUtlSymbolLarge m_iszStartConceptModifier; // 0x570 + CUtlSymbolLarge m_iszAttractPlayerConceptModifier; // 0x578 + CUtlSymbolLarge m_iszWaitOverConceptModifier; // 0x580 + CUtlSymbolLarge m_iszArrivalConceptModifier; // 0x588 + CUtlSymbolLarge m_iszPostArrivalConceptModifier; // 0x590 + CUtlSymbolLarge m_iszSuccessConceptModifier; // 0x598 + CUtlSymbolLarge m_iszFailureConceptModifier; // 0x5a0 + CUtlSymbolLarge m_iszRetrieveConceptModifier; // 0x5a8 + CUtlSymbolLarge m_iszComingBackConceptModifier; // 0x5b0 + CEntityIOOutput m_OnArrival; // 0x5b8 + CEntityIOOutput m_OnArrivalDone; // 0x5e0 + CEntityIOOutput m_OnSuccess; // 0x608 + CEntityIOOutput m_OnFailure; // 0x630 + CEntityIOOutput m_OnDone; // 0x658 }; -// Aligment: 2 -// Size: 1680 -class CAI_LeadGoal_Weapon : public CAI_LeadGoal, CAI_GoalEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x690 +class CAI_LeadGoal_Weapon : public CAI_LeadGoal { public: - CUtlSymbolLarge m_iszWeaponName; // 0x680 - CUtlSymbolLarge m_iszMissingWeaponConceptModifier; // 0x688 + CUtlSymbolLarge m_iszWeaponName; // 0x680 + CUtlSymbolLarge m_iszMissingWeaponConceptModifier; // 0x688 }; -// Aligment: 5 -// Size: 1296 -class CAI_BattleLine : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x510 +class CAI_BattleLine : public CBaseEntity { public: - CUtlSymbolLarge m_iszActor; // 0x4f0 - bool m_fActive; // 0x4f8 - bool m_fStrict; // 0x4f9 - bool m_bMatchByNameOnly; // 0x4fa - CAI_MoveMonitor m_SelfMoveMonitor; // 0x4fc + CUtlSymbolLarge m_iszActor; // 0x4f0 + bool m_fActive; // 0x4f8 + bool m_fStrict; // 0x4f9 + bool m_bMatchByNameOnly; // 0x4fa +private: + [[maybe_unused]] uint8_t __pad04fb[0x1]; // 0x4fb +public: + CAI_MoveMonitor m_SelfMoveMonitor; // 0x4fc }; -// Aligment: 6 -// Size: 1384 -class CAI_StandoffGoal : public CAI_GoalEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x568 +class CAI_StandoffGoal : public CAI_GoalEntity { public: - CAI_StandoffGoal::Aggressiveness_t m_aggressiveness; // 0x538 - AI_HintChangeReaction_t m_HintChangeReaction; // 0x53c - bool m_fPlayerIsBattleline; // 0x540 - bool m_fStayAtCover; // 0x541 - bool m_bAbandonIfEnemyHides; // 0x542 - AI_StandoffParams_t m_customParams; // 0x544 + CAI_StandoffGoal::Aggressiveness_t m_aggressiveness; // 0x538 + AI_HintChangeReaction_t m_HintChangeReaction; // 0x53c + bool m_fPlayerIsBattleline; // 0x540 + bool m_fStayAtCover; // 0x541 + bool m_bAbandonIfEnemyHides; // 0x542 +private: + [[maybe_unused]] uint8_t __pad0543[0x1]; // 0x543 +public: + AI_StandoffParams_t m_customParams; // 0x544 }; -// Aligment: 9 -// Size: 1416 -class CAI_ScriptedBase : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x588 +class CAI_ScriptedBase : public CBaseEntity { public: - CUtlSymbolLarge m_iszNPC; // 0x4f0 - CUtlSymbolLarge m_iszTarget; // 0x4f8 - bool m_bResilient; // 0x500 - bool m_bShouldSetEnemy; // 0x501 - bool m_bSwitchIdleToAlert; // 0x502 - CUtlVector< CHandle< CAI_DefaultNPC > > m_vecReapplyToTargets; // 0x508 - CUtlVector< CHandle< CBaseEntity > > m_vecTargetOverrides; // 0x520 - CEntityIOOutput m_OnFailedToPerform; // 0x538 - CEntityIOOutput m_OnSucceeded; // 0x560 + CUtlSymbolLarge m_iszNPC; // 0x4f0 + CUtlSymbolLarge m_iszTarget; // 0x4f8 + bool m_bResilient; // 0x500 + bool m_bShouldSetEnemy; // 0x501 + bool m_bSwitchIdleToAlert; // 0x502 +private: + [[maybe_unused]] uint8_t __pad0503[0x5]; // 0x503 +public: + CUtlVector< CHandle< CAI_DefaultNPC > > m_vecReapplyToTargets; // 0x508 + CUtlVector< CHandle< CBaseEntity > > m_vecTargetOverrides; // 0x520 + CEntityIOOutput m_OnFailedToPerform; // 0x538 + CEntityIOOutput m_OnSucceeded; // 0x560 }; -// Aligment: 3 -// Size: 1432 -class CAI_ScriptedAbilityUsage : public CAI_ScriptedBase, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x598 +class CAI_ScriptedAbilityUsage : public CAI_ScriptedBase { public: - CUtlSymbolLarge m_iszAbilityName; // 0x588 - BodyLocations_t m_nAbilityTargetBodyLoc; // 0x590 - TargetOriginType_t m_nAbilityTargetOrigin; // 0x594 + CUtlSymbolLarge m_iszAbilityName; // 0x588 + BodyLocations_t m_nAbilityTargetBodyLoc; // 0x590 + TargetOriginType_t m_nAbilityTargetOrigin; // 0x594 }; -// Aligment: 1 -// Size: 1424 -class CAI_ScriptedIdle : public CAI_ScriptedBase, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x590 +class CAI_ScriptedIdle : public CAI_ScriptedBase { public: - Interruptability_t m_Interruptability; // 0x588 + Interruptability_t m_Interruptability; // 0x588 }; -// Aligment: 2 -// Size: 1424 -class CAI_ScriptedMoveTo : public CAI_ScriptedBase, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x590 +class CAI_ScriptedMoveTo : public CAI_ScriptedBase { public: - Interruptability_t m_Interruptability; // 0x588 - ScriptedMovementType_t m_MovementType; // 0x58c + Interruptability_t m_Interruptability; // 0x588 + ScriptedMovementType_t m_MovementType; // 0x58c }; -// Aligment: 18 -// Size: 1368 -class CBaseNPCAbility : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 18 +// Size: 0x558 +class CBaseNPCAbility : public CBaseEntity { public: // MNetworkEnable - CHandle< CNPCAbilityModel > m_hAbilityModel; // 0x4f0 + CHandle< CNPCAbilityModel > m_hAbilityModel; // 0x4f0 // MNetworkEnable - CHandle< CBaseNPCAbility > m_hLinkedAbility; // 0x4f4 + CHandle< CBaseNPCAbility > m_hLinkedAbility; // 0x4f4 // MNetworkEnable - bool m_bHeld; // 0x4f8 + bool m_bHeld; // 0x4f8 // MNetworkEnable - bool m_bEnabled; // 0x4f9 + bool m_bEnabled; // 0x4f9 // MNetworkEnable - bool m_bPrimaryAbility; // 0x4fa - bool m_bGenerateTargetname; // 0x508 - int32_t m_iAmmoCount; // 0x50c - float m_flCooldownReadyTime; // 0x510 - float m_flAdditionalAttackDelay; // 0x514 - float m_flGatherConditionsPollTime; // 0x518 - float m_flLastTriggeredAt; // 0x51c - CUtlStringToken m_autoRepeatFinishTag; // 0x520 - ConditionId_t m_nCustomUsabilityCondition; // 0x524 - ConditionId_t m_nCustomMoveAndUseCondition; // 0x528 - bool m_bReceivedAutoRepeatFinishedTag; // 0x52c - bool m_bWasAddedByVData; // 0x52d - bool m_bParticipatesInCanUseAnyAbility; // 0x52e + bool m_bPrimaryAbility; // 0x4fa +private: + [[maybe_unused]] uint8_t __pad04fb[0xd]; // 0x4fb +public: + bool m_bGenerateTargetname; // 0x508 +private: + [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 +public: + int32_t m_iAmmoCount; // 0x50c + float m_flCooldownReadyTime; // 0x510 + float m_flAdditionalAttackDelay; // 0x514 + float m_flGatherConditionsPollTime; // 0x518 + float m_flLastTriggeredAt; // 0x51c + CUtlStringToken m_autoRepeatFinishTag; // 0x520 + ConditionId_t m_nCustomUsabilityCondition; // 0x524 + ConditionId_t m_nCustomMoveAndUseCondition; // 0x528 + bool m_bReceivedAutoRepeatFinishedTag; // 0x52c + bool m_bWasAddedByVData; // 0x52d + bool m_bParticipatesInCanUseAnyAbility; // 0x52e +private: + [[maybe_unused]] uint8_t __pad052f[0x1]; // 0x52f +public: // MNetworkEnable // MNetworkVarEmbeddedNotFlattened // MNetworkSendProxyRecipientsFilter - NPCAbilityTarget_t m_UsageTarget; // 0x530 + NPCAbilityTarget_t m_UsageTarget; // 0x530 }; -// Aligment: 0 -// Size: 1368 -class CNPCAbilityAddModifier : public CBaseNPCAbility, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x558 +class CNPCAbilityAddModifier : public CBaseNPCAbility { public: -// + // no members available }; -// Aligment: 0 -// Size: 1368 -class CNPCAbilityRemoveModifier : public CBaseNPCAbility, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x558 +class CNPCAbilityRemoveModifier : public CBaseNPCAbility { public: -// + // no members available }; -// Aligment: 0 -// Size: 1368 -class CNPCAbilityBaseRanged : public CBaseNPCAbility, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x558 +class CNPCAbilityBaseRanged : public CBaseNPCAbility { public: -// + // no members available }; -// Aligment: 0 -// Size: 1368 -class CNPCAbilityMeleeAttack : public CBaseNPCAbility, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x558 +class CNPCAbilityMeleeAttack : public CBaseNPCAbility { public: -// + // no members available }; -// Aligment: 1 -// Size: 1392 -class CNPCAbilitySpawn : public CBaseNPCAbility, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x570 +class CNPCAbilitySpawn : public CBaseNPCAbility { public: - CUtlVector< CHandle< CAI_DefaultNPC > > m_vecSpawnedNPCs; // 0x558 + CUtlVector< CHandle< CAI_DefaultNPC > > m_vecSpawnedNPCs; // 0x558 }; -// Aligment: 6 -// Size: 1424 -class CNPCWeaponHitscan : public CBaseNPCAbility, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x590 +class CNPCWeaponHitscan : public CBaseNPCAbility { public: - float m_flNextTimeToFireBullet; // 0x558 - int32_t m_nShotsToFire; // 0x55c - float m_flDelayOcclusionMarkingUntil; // 0x560 - int32_t m_nCurrentBurstShotsOccluded; // 0x564 - HitscanGatherData_t m_GatherData; // 0x568 - AttachmentHandle_t m_nTracerAttachmentIndex; // 0x588 + float m_flNextTimeToFireBullet; // 0x558 + int32_t m_nShotsToFire; // 0x55c + float m_flDelayOcclusionMarkingUntil; // 0x560 + int32_t m_nCurrentBurstShotsOccluded; // 0x564 + HitscanGatherData_t m_GatherData; // 0x568 + AttachmentHandle_t m_nTracerAttachmentIndex; // 0x588 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CTrackedObject_MODIFIER_TRACKED_PARTICLE : public IModifierTrackedObject { public: - ModifierTrackedParticle_t m_objectData; // 0x8 + ModifierTrackedParticle_t m_objectData; // 0x8 }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 class CTrackedObject_MODIFIER_TRACKED_RENDER_ATTRIBUTE : public IModifierTrackedObject { public: - ModifierRenderAttribute_t m_objectData; // 0x8 + ModifierRenderAttribute_t m_objectData; // 0x8 }; -// Aligment: 1 -// Size: 40 +// Alignment: 1 +// Size: 0x28 class CTrackedObject_MODIFIER_TRACKED_GRAPH_PARAMETER : public IModifierTrackedObject { public: - ModifierTrackedGraphParameter_t m_objectData; // 0x8 + ModifierTrackedGraphParameter_t m_objectData; // 0x8 }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 class CTrackedObject_MODIFIER_TRACKED_SOUND : public IModifierTrackedObject { public: - ModifierTrackedSound_t m_objectData; // 0x8 + ModifierTrackedSound_t m_objectData; // 0x8 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CTrackedObject_MODIFIER_TRACKED_BODYGROUP : public IModifierTrackedObject { public: - ModifierTrackedBodyGroup_t m_objectData; // 0x8 + ModifierTrackedBodyGroup_t m_objectData; // 0x8 }; -// Aligment: 2 -// Size: 160 -class CBaseModifierAura : public CSteamPalModifier, CBaseModifier +// Alignment: 2 +// Size: 0xa0 +class CBaseModifierAura : public CSteamPalModifier { public: - CUtlVector< CHandle< CBaseEntity > > m_hAuraUnits; // 0x80 - ParticleIndex_t m_hAmbientEffect; // 0x98 + CUtlVector< CHandle< CBaseEntity > > m_hAuraUnits; // 0x80 + ParticleIndex_t m_hAmbientEffect; // 0x98 }; -// Aligment: 2 -// Size: 1296 -class CPointModifierThinker : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x510 +class CPointModifierThinker : public CBaseEntity { public: - CModifierHandleTyped< CSteamPalModifier > m_hModifier; // 0x4f0 - bool m_bSendToClients; // 0x508 + CModifierHandleTyped< CSteamPalModifier > m_hModifier; // 0x4f0 + bool m_bSendToClients; // 0x508 }; -// Aligment: 1 -// Size: 1272 -class CSteamPalGameRulesProxy : public CGameRulesProxy, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x4f8 +class CSteamPalGameRulesProxy : public CGameRulesProxy { public: // MNetworkEnable - CSteamPalGameRules* m_pSteamPalGameRules; // 0x4f0 + CSteamPalGameRules* m_pSteamPalGameRules; // 0x4f0 }; -// Aligment: 0 -// Size: 160 -class CSteamPalModifierAura : public CBaseModifierAura, CSteamPalModifier, CBaseModifier +// Alignment: 0 +// Size: 0xa0 +class CSteamPalModifierAura : public CBaseModifierAura { public: -// + // no members available }; -// Aligment: 0 -// Size: 160 -class CSteamPalModifierAura_Default : public CSteamPalModifierAura, CBaseModifierAura, CSteamPalModifier, CBaseModifier +// Alignment: 0 +// Size: 0xa0 +class CSteamPalModifierAura_Default : public CSteamPalModifierAura { public: -// + // no members available }; -// Aligment: 8 -// Size: 1312 -class CSteampal_Turret_Manager : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x520 +class CSteampal_Turret_Manager : public CBaseEntity { public: - int32_t m_nNumTurretsSpawned; // 0x4f0 - int32_t m_nNumIntroToiletsSpawned; // 0x4f4 - CHandle< CSteamPal_Turret > m_hSpawnedTurret; // 0x4f8 - CUtlSymbolLarge m_szSpawnTarget; // 0x500 - CHandle< CBaseEntity > m_hSpawnTarget; // 0x508 - bool m_bTakeControlOfTurretsOnSpawn; // 0x50c - bool m_bTakeOverCamera; // 0x50d - Vector m_vQueuedExplosionPos; // 0x510 + int32_t m_nNumTurretsSpawned; // 0x4f0 + int32_t m_nNumIntroToiletsSpawned; // 0x4f4 + CHandle< CSteamPal_Turret > m_hSpawnedTurret; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc +public: + CUtlSymbolLarge m_szSpawnTarget; // 0x500 + CHandle< CBaseEntity > m_hSpawnTarget; // 0x508 + bool m_bTakeControlOfTurretsOnSpawn; // 0x50c + bool m_bTakeOverCamera; // 0x50d +private: + [[maybe_unused]] uint8_t __pad050e[0x2]; // 0x50e +public: + Vector m_vQueuedExplosionPos; // 0x510 }; -// Aligment: 20 -// Size: 1392 -class CSteamPal_Sequencer : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 20 +// Size: 0x570 +class CSteamPal_Sequencer : public CBaseEntity { public: - CUtlString m_strCurrentSequence; // 0x4f0 - float m_flStartTime; // 0x4f8 - float m_flTimePaused; // 0x4fc - bool m_bAtBeginning; // 0x500 - float m_flCurSpeedPct; // 0x504 - float m_flLastScrollTime; // 0x508 - float m_flTimeLastSixteenthNote; // 0x50c - int32_t m_nNextSixteenthNote; // 0x510 - int32_t m_nShowingTrack; // 0x514 - int32_t m_nEditGridX; // 0x518 - int32_t m_nEditGridY; // 0x51c - float m_flTimeLastEditGridMove; // 0x520 - CUtlVector< CSteamPal_SequencerSequenceDef_t > m_vSequences; // 0x528 - CUtlVector< CHandle< CSteamPal_BaseSingingEntity > > m_Singers; // 0x540 - float m_flTimePlayerStartedPressingNote; // 0x558 - float m_flTimeLastPlayerNoteSaved; // 0x55c - int32_t m_nLastNoteIndexSaved; // 0x560 - char m_cLastPlayerNoteInputSaved; // 0x564 - bool m_bStartThinking; // 0x565 - int32_t m_nCurrentIntroSequence; // 0x568 + CUtlString m_strCurrentSequence; // 0x4f0 + float m_flStartTime; // 0x4f8 + float m_flTimePaused; // 0x4fc + bool m_bAtBeginning; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0501[0x3]; // 0x501 +public: + float m_flCurSpeedPct; // 0x504 + float m_flLastScrollTime; // 0x508 + float m_flTimeLastSixteenthNote; // 0x50c + int32_t m_nNextSixteenthNote; // 0x510 + int32_t m_nShowingTrack; // 0x514 + int32_t m_nEditGridX; // 0x518 + int32_t m_nEditGridY; // 0x51c + float m_flTimeLastEditGridMove; // 0x520 +private: + [[maybe_unused]] uint8_t __pad0524[0x4]; // 0x524 +public: + CUtlVector< CSteamPal_SequencerSequenceDef_t > m_vSequences; // 0x528 + CUtlVector< CHandle< CSteamPal_BaseSingingEntity > > m_Singers; // 0x540 + float m_flTimePlayerStartedPressingNote; // 0x558 + float m_flTimeLastPlayerNoteSaved; // 0x55c + int32_t m_nLastNoteIndexSaved; // 0x560 + char m_cLastPlayerNoteInputSaved; // 0x564 + bool m_bStartThinking; // 0x565 +private: + [[maybe_unused]] uint8_t __pad0566[0x2]; // 0x566 +public: + int32_t m_nCurrentIntroSequence; // 0x568 }; -// Aligment: 19 -// Size: 1352 -class CSteamPal_NameForm : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 19 +// Size: 0x548 +class CSteamPal_NameForm : public CBaseEntity { public: - bool m_bBeginOnActivate; // 0x4f8 - bool m_bAutoAdvanceTasks; // 0x4f9 - bool m_bDebugDraw; // 0x4fa - CUtlSymbolLarge m_strWritingSurfaceOverride; // 0x500 + bool m_bBeginOnActivate; // 0x4f8 + bool m_bAutoAdvanceTasks; // 0x4f9 + bool m_bDebugDraw; // 0x4fa +private: + [[maybe_unused]] uint8_t __pad04fb[0x5]; // 0x4fb +public: + CUtlSymbolLarge m_strWritingSurfaceOverride; // 0x500 // MNetworkEnable - float m_flTimeUserLastDidUsefulActivity; // 0x508 + float m_flTimeUserLastDidUsefulActivity; // 0x508 // MNetworkEnable - float m_flDurationCurrentTask; // 0x50c + float m_flDurationCurrentTask; // 0x50c // MNetworkEnable - float m_flTimeStartedCurrentTask; // 0x510 + float m_flTimeStartedCurrentTask; // 0x510 +private: + [[maybe_unused]] uint8_t __pad0514[0x4]; // 0x514 +public: // MNetworkEnable // MNetworkChangeCallback "TypedNameChanged" - CUtlString m_strTypedName; // 0x518 + CUtlString m_strTypedName; // 0x518 // MNetworkEnable - bool m_bIsTaskSuccess; // 0x520 + bool m_bIsTaskSuccess; // 0x520 +private: + [[maybe_unused]] uint8_t __pad0521[0x3]; // 0x521 +public: // MNetworkEnable - float m_flLastMicLevel; // 0x524 + float m_flLastMicLevel; // 0x524 // MNetworkEnable - bool m_bIsRecording; // 0x528 + bool m_bIsRecording; // 0x528 // MNetworkEnable - bool m_bIsWarmingUpMicrophone; // 0x529 + bool m_bIsWarmingUpMicrophone; // 0x529 +private: + [[maybe_unused]] uint8_t __pad052a[0x2]; // 0x52a +public: // MNetworkEnable - int32_t m_nNumFramesOfAudioDBsRecorded; // 0x52c + int32_t m_nNumFramesOfAudioDBsRecorded; // 0x52c // MNetworkEnable - bool m_bUserTypedWithKeyboard; // 0x530 + bool m_bUserTypedWithKeyboard; // 0x530 // MNetworkEnable - bool m_bIsShowingWritingSurface; // 0x531 + bool m_bIsShowingWritingSurface; // 0x531 +private: + [[maybe_unused]] uint8_t __pad0532[0x2]; // 0x532 +public: // MNetworkEnable - float m_flFrameRateLimitBeforeDrawing; // 0x534 + float m_flFrameRateLimitBeforeDrawing; // 0x534 // MNetworkEnable - CHandle< CSteamPal_Desk > m_hDesk; // 0x538 + CHandle< CSteamPal_Desk > m_hDesk; // 0x538 // MNetworkEnable - CHandle< CSteamPal_WritingSurface > m_hWritingSurface; // 0x53c + CHandle< CSteamPal_WritingSurface > m_hWritingSurface; // 0x53c // MNetworkEnable - CHandle< CInfoOffscreenPanoramaTexture > m_hOffscreenTexture; // 0x540 + CHandle< CInfoOffscreenPanoramaTexture > m_hOffscreenTexture; // 0x540 }; -// Aligment: 3 -// Size: 1280 -class CSteamPal_Turret_Laser : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x500 +class CSteamPal_Turret_Laser : public CBaseEntity { public: // MNetworkEnable - CHandle< CBaseModelEntity > m_hTurret; // 0x4f0 + CHandle< CBaseModelEntity > m_hTurret; // 0x4f0 // MNetworkEnable - bool m_bIsLaserOn; // 0x4f4 - CUtlSymbolLarge m_szTurretName; // 0x4f8 + bool m_bIsLaserOn; // 0x4f4 +private: + [[maybe_unused]] uint8_t __pad04f5[0x3]; // 0x4f5 +public: + CUtlSymbolLarge m_szTurretName; // 0x4f8 }; -// Aligment: 14 -// Size: 1392 -class CSteamPal_Turret_Wing : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0x570 +class CSteamPal_Turret_Wing : public CBaseEntity { public: // MNetworkEnable - CHandle< CSteamPal_Turret > m_hTurret; // 0x4f0 + CHandle< CSteamPal_Turret > m_hTurret; // 0x4f0 // MNetworkEnable - bool m_bIsLeftWing; // 0x4f4 + bool m_bIsLeftWing; // 0x4f4 // MNetworkEnable - bool m_bBeingControlled; // 0x4f5 - AttachmentHandle_t[2] m_nMuzzleAttachments; // 0x4f6 + bool m_bBeingControlled; // 0x4f5 + AttachmentHandle_t m_nMuzzleAttachments[2]; // 0x4f6 // MNetworkEnable - int32_t m_nCurrentMuzzle; // 0x4f8 - CUtlString m_strWingOutParam; // 0x500 - CUtlString m_strWingAimXParam; // 0x508 - CUtlString m_strWingAimYParam; // 0x510 - float m_flNextAttackTime; // 0x554 - float m_flCurrentWingDeploy; // 0x558 - float m_flCurrentAimX; // 0x55c - float m_flCurrentAimY; // 0x560 - bool m_bSynchedWings; // 0x564 - float m_flSndLastVal; // 0x568 + int32_t m_nCurrentMuzzle; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc +public: + CUtlString m_strWingOutParam; // 0x500 + CUtlString m_strWingAimXParam; // 0x508 + CUtlString m_strWingAimYParam; // 0x510 +private: + [[maybe_unused]] uint8_t __pad0518[0x3c]; // 0x518 +public: + float m_flNextAttackTime; // 0x554 + float m_flCurrentWingDeploy; // 0x558 + float m_flCurrentAimX; // 0x55c + float m_flCurrentAimY; // 0x560 + bool m_bSynchedWings; // 0x564 +private: + [[maybe_unused]] uint8_t __pad0565[0x3]; // 0x565 +public: + float m_flSndLastVal; // 0x568 }; -// Aligment: 23 -// Size: 1768 -class CSteamPalConveyorEntitySpawner : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 23 +// Size: 0x6e8 +class CSteamPalConveyorEntitySpawner : public CLogicalEntity { public: - bool m_bSpawnAlongConveyorOnStartup; // 0x4f0 - float m_flProbabilityToSpawnAlongConveyor; // 0x4f4 - bool m_bAutoSpawnEntities; // 0x4f8 - float m_flProbabilityToAutoSpawn; // 0x4fc - CSteamPalConveyorEntitySpawner::SpawnOrder_t m_eSpawnOrder; // 0x500 - CUtlSymbolLarge m_szSpawnConveyorPathNodeOverride; // 0x508 - CUtlString m_strSpawnConveyorPathNodeOverride; // 0x510 - CUtlSymbolLarge m_szSpawnAnglesTargetOverride; // 0x518 - CHandle< CBaseEntity > m_hAnglesOverrideTarget; // 0x520 - CUtlSymbolLarge[16] m_szSpawnTemplates; // 0x528 - CHandle< CSteamPalConveyor > m_hConveyor; // 0x5a8 - CEntityIOOutput m_OnSpawnedAlongConveyor; // 0x5b0 - CEntityIOOutput m_OnSpawnedOnStartingNode; // 0x5d8 - CEntityIOOutput m_OnPassedSpawnNode; // 0x600 - bool m_bSpawningAlongConveyor; // 0x658 - CUtlVector< CEntityHandle > m_hSpawnedAlongConveyorEntities; // 0x660 - CUtlVector< int32 > m_ValidTemplateIndexes; // 0x678 - CUtlVector< int32 > m_ShuffleTemplateIndexes; // 0x690 - int32_t m_nNextSequenceIndex; // 0x6a8 - CUtlVector< CUtlString > m_LargePropTemplateNames; // 0x6b0 - CUtlVector< int32 > m_LargePropTemplateIndexes; // 0x6c8 - bool m_bPreviousSpawnWasLargeEntity; // 0x6e0 - bool m_bAutoSpawnedSomethingOnPreviousSegment; // 0x6e1 + bool m_bSpawnAlongConveyorOnStartup; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: + float m_flProbabilityToSpawnAlongConveyor; // 0x4f4 + bool m_bAutoSpawnEntities; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 +public: + float m_flProbabilityToAutoSpawn; // 0x4fc + CSteamPalConveyorEntitySpawner::SpawnOrder_t m_eSpawnOrder; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 +public: + CUtlSymbolLarge m_szSpawnConveyorPathNodeOverride; // 0x508 + CUtlString m_strSpawnConveyorPathNodeOverride; // 0x510 + CUtlSymbolLarge m_szSpawnAnglesTargetOverride; // 0x518 + CHandle< CBaseEntity > m_hAnglesOverrideTarget; // 0x520 +private: + [[maybe_unused]] uint8_t __pad0524[0x4]; // 0x524 +public: + CUtlSymbolLarge m_szSpawnTemplates[16]; // 0x528 + CHandle< CSteamPalConveyor > m_hConveyor; // 0x5a8 +private: + [[maybe_unused]] uint8_t __pad05ac[0x4]; // 0x5ac +public: + CEntityIOOutput m_OnSpawnedAlongConveyor; // 0x5b0 + CEntityIOOutput m_OnSpawnedOnStartingNode; // 0x5d8 + CEntityIOOutput m_OnPassedSpawnNode; // 0x600 +private: + [[maybe_unused]] uint8_t __pad0628[0x30]; // 0x628 +public: + bool m_bSpawningAlongConveyor; // 0x658 +private: + [[maybe_unused]] uint8_t __pad0659[0x7]; // 0x659 +public: + CUtlVector< CEntityHandle > m_hSpawnedAlongConveyorEntities; // 0x660 + CUtlVector< int32 > m_ValidTemplateIndexes; // 0x678 + CUtlVector< int32 > m_ShuffleTemplateIndexes; // 0x690 + int32_t m_nNextSequenceIndex; // 0x6a8 +private: + [[maybe_unused]] uint8_t __pad06ac[0x4]; // 0x6ac +public: + CUtlVector< CUtlString > m_LargePropTemplateNames; // 0x6b0 + CUtlVector< int32 > m_LargePropTemplateIndexes; // 0x6c8 + bool m_bPreviousSpawnWasLargeEntity; // 0x6e0 + bool m_bAutoSpawnedSomethingOnPreviousSegment; // 0x6e1 }; -// Aligment: 28 -// Size: 1752 -class CSteamPalConveyor : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 28 +// Size: 0x6d8 +class CSteamPalConveyor : public CBaseEntity { public: - float m_flPathLength; // 0x540 - CUtlSymbolLarge m_szConveyorModels; // 0x548 - float m_flMoveSpeed; // 0x550 - bool m_bStartOn; // 0x554 - bool m_bPrecreateConveyorSegmentSpawnTargets; // 0x555 - CUtlSymbolLarge m_szDestinationNode; // 0x558 - CHandle< CSteamPalConveyorPathNode > m_hDestinationNode; // 0x560 - bool m_bHasReachedDestination; // 0x564 - int32_t m_nDestinationSectionIndex; // 0x568 - int32_t m_nDestinationSegmentIndex; // 0x56c - Vector m_vReferenceSegmentSizeMins; // 0x570 - Vector m_vReferenceSegmentSizeMaxs; // 0x57c - Vector m_vReferenceSegmentSize; // 0x588 - Vector m_vActualSegmentSize; // 0x594 - CUtlVector< SteampalConveyorSection_t > m_ConveyorSections; // 0x5a0 - CUtlSymbolLarge m_szConveyorEntitySpawner; // 0x5e0 - CHandle< CSteamPalConveyorEntitySpawner > m_hConveyorEntitySpawner; // 0x5e8 - CHandle< CSteamPalConveyorPathNode > m_hSpawnerSpawnNode; // 0x5ec - float m_flLastThinkTime; // 0x5f0 - CEntityIOOutput m_OnStart; // 0x5f8 - CEntityIOOutput m_OnStop; // 0x620 - CEntityIOOutput m_OnReset; // 0x648 - CEntityIOOutput m_OnReachedDestination; // 0x670 + float m_flPathLength; // 0x540 +private: + [[maybe_unused]] uint8_t __pad0544[0x4]; // 0x544 +public: + CUtlSymbolLarge m_szConveyorModels; // 0x548 + float m_flMoveSpeed; // 0x550 + bool m_bStartOn; // 0x554 + bool m_bPrecreateConveyorSegmentSpawnTargets; // 0x555 +private: + [[maybe_unused]] uint8_t __pad0556[0x2]; // 0x556 +public: + CUtlSymbolLarge m_szDestinationNode; // 0x558 + CHandle< CSteamPalConveyorPathNode > m_hDestinationNode; // 0x560 + bool m_bHasReachedDestination; // 0x564 +private: + [[maybe_unused]] uint8_t __pad0565[0x3]; // 0x565 +public: + int32_t m_nDestinationSectionIndex; // 0x568 + int32_t m_nDestinationSegmentIndex; // 0x56c + Vector m_vReferenceSegmentSizeMins; // 0x570 + Vector m_vReferenceSegmentSizeMaxs; // 0x57c + Vector m_vReferenceSegmentSize; // 0x588 + Vector m_vActualSegmentSize; // 0x594 + CUtlVector< SteampalConveyorSection_t > m_ConveyorSections; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05b8[0x28]; // 0x5b8 +public: + CUtlSymbolLarge m_szConveyorEntitySpawner; // 0x5e0 + CHandle< CSteamPalConveyorEntitySpawner > m_hConveyorEntitySpawner; // 0x5e8 + CHandle< CSteamPalConveyorPathNode > m_hSpawnerSpawnNode; // 0x5ec + float m_flLastThinkTime; // 0x5f0 +private: + [[maybe_unused]] uint8_t __pad05f4[0x4]; // 0x5f4 +public: + CEntityIOOutput m_OnStart; // 0x5f8 + CEntityIOOutput m_OnStop; // 0x620 + CEntityIOOutput m_OnReset; // 0x648 + CEntityIOOutput m_OnReachedDestination; // 0x670 // MNetworkEnable - bool m_bMoving; // 0x698 + bool m_bMoving; // 0x698 +private: + [[maybe_unused]] uint8_t __pad0699[0x3]; // 0x699 +public: // MNetworkEnable - float m_flCurrentSpeed; // 0x69c + float m_flCurrentSpeed; // 0x69c // MNetworkEnable - float m_flAnimationDirection; // 0x6a0 + float m_flAnimationDirection; // 0x6a0 +private: + [[maybe_unused]] uint8_t __pad06a4[0x4]; // 0x6a4 +public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseAnimating > > m_hConveyorModels; // 0x6a8 + CNetworkUtlVectorBase< CHandle< CBaseAnimating > > m_hConveyorModels; // 0x6a8 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CSteamPalConveyorPathNode > > m_hPathNodes; // 0x6c0 + CNetworkUtlVectorBase< CHandle< CSteamPalConveyorPathNode > > m_hPathNodes; // 0x6c0 }; -// Aligment: 9 -// Size: 1344 -class CSteamPal_PaintStreamPathNode : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x540 +class CSteamPal_PaintStreamPathNode : public CBaseEntity { public: - float m_flNodeT; // 0x4f0 - float m_flSegmentLength; // 0x4f4 - float m_flPathLengthUpToNode; // 0x4f8 - CUtlSymbolLarge m_szParentPathUniqueID; // 0x500 - int32_t m_nPathIndex; // 0x508 - Vector m_vInTangentLocal; // 0x50c - Vector m_vOutTangentLocal; // 0x518 + float m_flNodeT; // 0x4f0 + float m_flSegmentLength; // 0x4f4 + float m_flPathLengthUpToNode; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc +public: + CUtlSymbolLarge m_szParentPathUniqueID; // 0x500 + int32_t m_nPathIndex; // 0x508 + Vector m_vInTangentLocal; // 0x50c + Vector m_vOutTangentLocal; // 0x518 // MNetworkEnable - Vector m_vInTangentWorld; // 0x524 + Vector m_vInTangentWorld; // 0x524 // MNetworkEnable - Vector m_vOutTangentWorld; // 0x530 + Vector m_vOutTangentWorld; // 0x530 }; -// Aligment: 7 -// Size: 1392 -class CSteamPal_PaintStream : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x570 +class CSteamPal_PaintStream : public CBaseEntity { public: - bool m_bStartOn; // 0x4f0 + bool m_bStartOn; // 0x4f0 // MNetworkEnable - bool m_bIsOn; // 0x4f1 + bool m_bIsOn; // 0x4f1 +private: + [[maybe_unused]] uint8_t __pad04f2[0x2]; // 0x4f2 +public: // MNetworkEnable - float m_flSpeed; // 0x4f4 + float m_flSpeed; // 0x4f4 // MNetworkEnable - float m_flPathLength; // 0x4f8 + float m_flPathLength; // 0x4f8 // MNetworkEnable - int32_t m_nNumPaintBlobs; // 0x4fc + int32_t m_nNumPaintBlobs; // 0x4fc // MNetworkEnable - SteamPalPaintType m_PaintType; // 0x500 + SteamPalPaintType m_PaintType; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 +public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CSteamPal_PaintStreamPathNode > > m_hPathNodes; // 0x508 + CNetworkUtlVectorBase< CHandle< CSteamPal_PaintStreamPathNode > > m_hPathNodes; // 0x508 }; -// Aligment: 4 -// Size: 1288 -class CSteamPal_Projectile_Tag_Marker : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x508 +class CSteamPal_Projectile_Tag_Marker : public CBaseEntity { public: - ParticleIndex_t m_nMarkerParticle; // 0x4f0 - SteamPal_Projectile_Tag_Marker_Type_t m_eMarkerType; // 0x4f4 - CHandle< CBaseEntity > m_hMarkedEntity; // 0x4f8 - Vector m_vExplosionPos; // 0x4fc + ParticleIndex_t m_nMarkerParticle; // 0x4f0 + SteamPal_Projectile_Tag_Marker_Type_t m_eMarkerType; // 0x4f4 + CHandle< CBaseEntity > m_hMarkedEntity; // 0x4f8 + Vector m_vExplosionPos; // 0x4fc }; -// Aligment: 13 -// Size: 1488 -class CSteamPalCameraPathNode : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 13 +// Size: 0x5d0 +class CSteamPalCameraPathNode : public CBaseEntity { public: - CEntityOutputTemplate< int32 > m_OnPass; // 0x4f0 - CEntityOutputTemplate< int32 > m_OnPassForward; // 0x518 - CEntityOutputTemplate< int32 > m_OnPassBackward; // 0x540 - CUtlSymbolLarge m_szParentPathUniqueID; // 0x580 - int32_t m_nPathIndex; // 0x588 - Vector m_vInTangentLocal; // 0x58c - Vector m_vOutTangentLocal; // 0x598 - float m_flFOV; // 0x5a4 - float m_flSpeed; // 0x5a8 - float m_flEaseIn; // 0x5ac - float m_flEaseOut; // 0x5b0 - Vector m_vInTangentWorld; // 0x5b4 - Vector m_vOutTangentWorld; // 0x5c0 + CEntityOutputTemplate< int32 > m_OnPass; // 0x4f0 + CEntityOutputTemplate< int32 > m_OnPassForward; // 0x518 + CEntityOutputTemplate< int32 > m_OnPassBackward; // 0x540 +private: + [[maybe_unused]] uint8_t __pad0568[0x18]; // 0x568 +public: + CUtlSymbolLarge m_szParentPathUniqueID; // 0x580 + int32_t m_nPathIndex; // 0x588 + Vector m_vInTangentLocal; // 0x58c + Vector m_vOutTangentLocal; // 0x598 + float m_flFOV; // 0x5a4 + float m_flSpeed; // 0x5a8 + float m_flEaseIn; // 0x5ac + float m_flEaseOut; // 0x5b0 + Vector m_vInTangentWorld; // 0x5b4 + Vector m_vOutTangentWorld; // 0x5c0 }; -// Aligment: 9 -// Size: 1656 -class CSteamPalCameraPath : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x678 +class CSteamPalCameraPath : public CBaseEntity { public: - CEntityIOOutput m_OnTransitionTo; // 0x4f0 - CEntityIOOutput m_OnTransitionFrom; // 0x518 - CEntityIOOutput m_OnStart; // 0x540 - CEntityIOOutput m_OnStop; // 0x568 - CEntityIOOutput m_OnReset; // 0x590 - CEntityIOOutput m_OnCompletion; // 0x5b8 + CEntityIOOutput m_OnTransitionTo; // 0x4f0 + CEntityIOOutput m_OnTransitionFrom; // 0x518 + CEntityIOOutput m_OnStart; // 0x540 + CEntityIOOutput m_OnStop; // 0x568 + CEntityIOOutput m_OnReset; // 0x590 + CEntityIOOutput m_OnCompletion; // 0x5b8 +private: + [[maybe_unused]] uint8_t __pad05e0[0x78]; // 0x5e0 +public: // MNetworkEnable - bool m_bRelativeFOV; // 0x658 + bool m_bRelativeFOV; // 0x658 +private: + [[maybe_unused]] uint8_t __pad0659[0x3]; // 0x659 +public: // MNetworkEnable - Vector m_flFOVData; // 0x65c + Vector m_flFOVData; // 0x65c // MNetworkEnable - Vector m_vVelocity; // 0x668 + Vector m_vVelocity; // 0x668 }; -// Aligment: 5 -// Size: 1360 -class CSteamPalPointCamera : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x550 +class CSteamPalPointCamera : public CBaseEntity { public: - CEntityIOOutput m_OnTransitionTo; // 0x4f0 - CEntityIOOutput m_OnTransitionFrom; // 0x518 + CEntityIOOutput m_OnTransitionTo; // 0x4f0 + CEntityIOOutput m_OnTransitionFrom; // 0x518 // MNetworkEnable - bool m_bRelativeFOV; // 0x540 + bool m_bRelativeFOV; // 0x540 +private: + [[maybe_unused]] uint8_t __pad0541[0x3]; // 0x541 +public: // MNetworkEnable - float m_flFOV; // 0x544 + float m_flFOV; // 0x544 // MNetworkEnable - bool m_bActive; // 0x548 + bool m_bActive; // 0x548 }; -// Aligment: 2 -// Size: 1384 -class CNPCApplianceWeaponBullets : public CBaseNPCAbility, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x568 +class CNPCApplianceWeaponBullets : public CBaseNPCAbility { public: - float m_flTimeToStop; // 0x560 - AttachmentHandle_t m_nTracerAttachmentIndex; // 0x564 + float m_flTimeToStop; // 0x560 + AttachmentHandle_t m_nTracerAttachmentIndex; // 0x564 }; -// Aligment: 2 -// Size: 1400 -class CNPCApplianceWeaponProjectiles : public CBaseNPCAbility, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x578 +class CNPCApplianceWeaponProjectiles : public CBaseNPCAbility { public: - ApplianceWeaponState m_eState; // 0x558 - CUtlVector< NPCApplianceProjectileRuntime_t > m_vecProjectileInfo; // 0x560 + ApplianceWeaponState m_eState; // 0x558 +private: + [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c +public: + CUtlVector< NPCApplianceProjectileRuntime_t > m_vecProjectileInfo; // 0x560 }; -// Aligment: 2 -// Size: 1288 -class CSteampalKillVolume : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x508 +class CSteampalKillVolume : public CBaseEntity { public: - Vector m_vBoxMins; // 0x4f0 - Vector m_vBoxMaxs; // 0x4fc + Vector m_vBoxMins; // 0x4f0 + Vector m_vBoxMaxs; // 0x4fc }; -// Aligment: 4 -// Size: 1352 -class CBaseCurveOverTime : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x548 +class CBaseCurveOverTime : public CBaseEntity { public: // MNetworkEnable - bool m_bLooping; // 0x4f0 + bool m_bLooping; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 +public: // MNetworkEnable - CUtlSymbolLarge m_CurveString; // 0x4f8 - bool m_bStartEnabled; // 0x540 + CUtlSymbolLarge m_CurveString; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad0500[0x40]; // 0x500 +public: + bool m_bStartEnabled; // 0x540 +private: + [[maybe_unused]] uint8_t __pad0541[0x3]; // 0x541 +public: // MNetworkEnable - float m_flStartTime; // 0x544 + float m_flStartTime; // 0x544 }; -// Aligment: 2 -// Size: 1376 -class CPointRenderAttrCurve : public CBaseCurveOverTime, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x560 +class CPointRenderAttrCurve : public CBaseCurveOverTime { public: // MNetworkEnable - CUtlSymbolLarge m_AttrName; // 0x548 + CUtlSymbolLarge m_AttrName; // 0x548 // MNetworkEnable - CUtlSymbolLarge m_ActiveComboName; // 0x550 + CUtlSymbolLarge m_ActiveComboName; // 0x550 }; -// Aligment: 7 -// Size: 1440 -class CLogicAnimTagListener : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x5a0 +class CLogicAnimTagListener : public CLogicalEntity { public: - bool m_bStartDisabled; // 0x508 + bool m_bStartDisabled; // 0x508 // MNetworkEnable - bool m_bEnabled; // 0x509 - CUtlSymbolLarge m_szAnimTag; // 0x510 - CUtlSymbolLarge m_szModelName; // 0x518 - CEntityIOOutput m_OnTagFired; // 0x520 - CEntityIOOutput m_OnTagStart; // 0x548 - CEntityIOOutput m_OnTagEnd; // 0x570 + bool m_bEnabled; // 0x509 +private: + [[maybe_unused]] uint8_t __pad050a[0x6]; // 0x50a +public: + CUtlSymbolLarge m_szAnimTag; // 0x510 + CUtlSymbolLarge m_szModelName; // 0x518 + CEntityIOOutput m_OnTagFired; // 0x520 + CEntityIOOutput m_OnTagStart; // 0x548 + CEntityIOOutput m_OnTagEnd; // 0x570 }; -// Aligment: 0 -// Size: 1264 -class CPointEntity : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CPointEntity : public CBaseEntity { public: -// + // no members available }; -// Aligment: 20 -// Size: 5704 -class CEnvCombinedLightProbeVolume : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 20 +// Size: 0x1648 +class CEnvCombinedLightProbeVolume : public CBaseEntity { public: // MNetworkEnable // MNetworkChangeCallback "StateChanged" - Color m_Color; // 0x15b0 + Color m_Color; // 0x15b0 // MNetworkEnable // MNetworkChangeCallback "StateChanged" - float m_flBrightness; // 0x15b4 + float m_flBrightness; // 0x15b4 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x15b8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x15b8 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x15c0 + bool m_bCustomCubemapTexture; // 0x15c0 +private: + [[maybe_unused]] uint8_t __pad15c1[0x7]; // 0x15c1 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x15c8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x15c8 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x15d0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x15d0 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x15d8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x15d8 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x15e0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x15e0 // MNetworkEnable - Vector m_vBoxMins; // 0x15e8 + Vector m_vBoxMins; // 0x15e8 // MNetworkEnable - Vector m_vBoxMaxs; // 0x15f4 + Vector m_vBoxMaxs; // 0x15f4 // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x1600 + CUtlSymbolLarge m_LightGroups; // 0x1600 // MNetworkEnable - bool m_bMoveable; // 0x1608 + bool m_bMoveable; // 0x1608 +private: + [[maybe_unused]] uint8_t __pad1609[0x3]; // 0x1609 +public: // MNetworkEnable - int32_t m_nHandshake; // 0x160c + int32_t m_nHandshake; // 0x160c // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x1610 + int32_t m_nEnvCubeMapArrayIndex; // 0x1610 // MNetworkEnable - int32_t m_nPriority; // 0x1614 + int32_t m_nPriority; // 0x1614 // MNetworkEnable - int32_t m_nGgxCubemapBlurAccumulationPassCount; // 0x1618 + int32_t m_nGgxCubemapBlurAccumulationPassCount; // 0x1618 // MNetworkEnable - bool m_bStartDisabled; // 0x161c + bool m_bStartDisabled; // 0x161c +private: + [[maybe_unused]] uint8_t __pad161d[0x3]; // 0x161d +public: // MNetworkEnable - float m_flEdgeFadeDist; // 0x1620 + float m_flEdgeFadeDist; // 0x1620 // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x1624 + Vector m_vEdgeFadeDists; // 0x1624 +private: + [[maybe_unused]] uint8_t __pad1630[0x11]; // 0x1630 +public: // MNetworkEnable - bool m_bEnabled; // 0x1641 + bool m_bEnabled; // 0x1641 }; -// Aligment: 21 -// Size: 1632 -class CEnvCubemap : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 21 +// Size: 0x660 +class CEnvCubemap : public CBaseEntity { public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x5e8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x5e8 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hDepthmapTexture; // 0x5f0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hDepthmapTexture; // 0x5f0 // MNetworkEnable - bool m_bCustomCubemapTexture; // 0x5f8 + bool m_bCustomCubemapTexture; // 0x5f8 +private: + [[maybe_unused]] uint8_t __pad05f9[0x3]; // 0x5f9 +public: // MNetworkEnable - float m_flInfluenceRadius; // 0x5fc + float m_flInfluenceRadius; // 0x5fc // MNetworkEnable - Vector m_vBoxProjectMins; // 0x600 + Vector m_vBoxProjectMins; // 0x600 // MNetworkEnable - Vector m_vBoxProjectMaxs; // 0x60c + Vector m_vBoxProjectMaxs; // 0x60c // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x618 + CUtlSymbolLarge m_LightGroups; // 0x618 // MNetworkEnable - bool m_bMoveable; // 0x620 + bool m_bMoveable; // 0x620 +private: + [[maybe_unused]] uint8_t __pad0621[0x3]; // 0x621 +public: // MNetworkEnable - int32_t m_nHandshake; // 0x624 + int32_t m_nHandshake; // 0x624 // MNetworkEnable - int32_t m_nEnvCubeMapArrayIndex; // 0x628 + int32_t m_nEnvCubeMapArrayIndex; // 0x628 // MNetworkEnable - int32_t m_nPriority; // 0x62c + int32_t m_nPriority; // 0x62c // MNetworkEnable - int32_t m_nGgxCubemapBlurAccumulationPassCount; // 0x630 + int32_t m_nGgxCubemapBlurAccumulationPassCount; // 0x630 // MNetworkEnable - float m_flEdgeFadeDist; // 0x634 + float m_flEdgeFadeDist; // 0x634 // MNetworkEnable - Vector m_vEdgeFadeDists; // 0x638 + Vector m_vEdgeFadeDists; // 0x638 // MNetworkEnable - float m_flDiffuseScale; // 0x644 + float m_flDiffuseScale; // 0x644 // MNetworkEnable - bool m_bStartDisabled; // 0x648 + bool m_bStartDisabled; // 0x648 // MNetworkEnable - bool m_bDefaultEnvMap; // 0x649 + bool m_bDefaultEnvMap; // 0x649 // MNetworkEnable - bool m_bDefaultSpecEnvMap; // 0x64a + bool m_bDefaultSpecEnvMap; // 0x64a // MNetworkEnable - bool m_bRenderDepthMap; // 0x64b + bool m_bRenderDepthMap; // 0x64b // MNetworkEnable - bool m_bCopyDiffuseFromDefaultCubemap; // 0x64c + bool m_bCopyDiffuseFromDefaultCubemap; // 0x64c +private: + [[maybe_unused]] uint8_t __pad064d[0xb]; // 0x64d +public: // MNetworkEnable - bool m_bEnabled; // 0x658 + bool m_bEnabled; // 0x658 }; -// Aligment: 0 -// Size: 1632 -class CEnvCubemapBox : public CEnvCubemap, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x660 +class CEnvCubemapBox : public CEnvCubemap { public: -// + // no members available }; -// Aligment: 18 -// Size: 1344 -class CEnvCubemapFog : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 18 +// Size: 0x540 +class CEnvCubemapFog : public CBaseEntity { public: // MNetworkEnable - float m_flEndDistance; // 0x4f0 + float m_flEndDistance; // 0x4f0 // MNetworkEnable - float m_flStartDistance; // 0x4f4 + float m_flStartDistance; // 0x4f4 // MNetworkEnable - float m_flFogFalloffExponent; // 0x4f8 + float m_flFogFalloffExponent; // 0x4f8 // MNetworkEnable - bool m_bHeightFogEnabled; // 0x4fc + bool m_bHeightFogEnabled; // 0x4fc +private: + [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd +public: // MNetworkEnable - float m_flFogHeightWidth; // 0x500 + float m_flFogHeightWidth; // 0x500 // MNetworkEnable - float m_flFogHeightEnd; // 0x504 + float m_flFogHeightEnd; // 0x504 // MNetworkEnable - float m_flFogHeightStart; // 0x508 + float m_flFogHeightStart; // 0x508 // MNetworkEnable - float m_flFogHeightExponent; // 0x50c + float m_flFogHeightExponent; // 0x50c // MNetworkEnable - float m_flLODBias; // 0x510 + float m_flLODBias; // 0x510 // MNetworkEnable - bool m_bActive; // 0x514 + bool m_bActive; // 0x514 // MNetworkEnable - bool m_bStartDisabled; // 0x515 + bool m_bStartDisabled; // 0x515 +private: + [[maybe_unused]] uint8_t __pad0516[0x2]; // 0x516 +public: // MNetworkEnable - float m_flFogMaxOpacity; // 0x518 + float m_flFogMaxOpacity; // 0x518 // MNetworkEnable - int32_t m_nCubemapSourceType; // 0x51c + int32_t m_nCubemapSourceType; // 0x51c // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x520 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x520 // MNetworkEnable - CUtlSymbolLarge m_iszSkyEntity; // 0x528 + CUtlSymbolLarge m_iszSkyEntity; // 0x528 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x530 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x530 // MNetworkEnable - bool m_bHasHeightFogEnd; // 0x538 - bool m_bFirstTime; // 0x539 + bool m_bHasHeightFogEnd; // 0x538 + bool m_bFirstTime; // 0x539 }; -// Aligment: 12 -// Size: 5400 -class CEnvLightProbeVolume : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x1518 +class CEnvLightProbeVolume : public CBaseEntity { public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x14b8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x14b8 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x14c0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x14c0 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x14c8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x14c8 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x14d0 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x14d0 // MNetworkEnable - Vector m_vBoxMins; // 0x14d8 + Vector m_vBoxMins; // 0x14d8 // MNetworkEnable - Vector m_vBoxMaxs; // 0x14e4 + Vector m_vBoxMaxs; // 0x14e4 // MNetworkEnable - CUtlSymbolLarge m_LightGroups; // 0x14f0 + CUtlSymbolLarge m_LightGroups; // 0x14f0 // MNetworkEnable - bool m_bMoveable; // 0x14f8 + bool m_bMoveable; // 0x14f8 +private: + [[maybe_unused]] uint8_t __pad14f9[0x3]; // 0x14f9 +public: // MNetworkEnable - int32_t m_nHandshake; // 0x14fc + int32_t m_nHandshake; // 0x14fc // MNetworkEnable - int32_t m_nPriority; // 0x1500 + int32_t m_nPriority; // 0x1500 // MNetworkEnable - bool m_bStartDisabled; // 0x1504 + bool m_bStartDisabled; // 0x1504 +private: + [[maybe_unused]] uint8_t __pad1505[0xc]; // 0x1505 +public: // MNetworkEnable - bool m_bEnabled; // 0x1511 + bool m_bEnabled; // 0x1511 }; -// Aligment: 8 -// Size: 1304 -class CTonemapController2 : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x518 +class CTonemapController2 : public CBaseEntity { public: // MNetworkEnable - float m_flAutoExposureMin; // 0x4f0 + float m_flAutoExposureMin; // 0x4f0 // MNetworkEnable - float m_flAutoExposureMax; // 0x4f4 + float m_flAutoExposureMax; // 0x4f4 // MNetworkEnable - float m_flTonemapPercentTarget; // 0x4f8 + float m_flTonemapPercentTarget; // 0x4f8 // MNetworkEnable - float m_flTonemapPercentBrightPixels; // 0x4fc + float m_flTonemapPercentBrightPixels; // 0x4fc // MNetworkEnable - float m_flTonemapMinAvgLum; // 0x500 + float m_flTonemapMinAvgLum; // 0x500 // MNetworkEnable - float m_flExposureAdaptationSpeedUp; // 0x504 + float m_flExposureAdaptationSpeedUp; // 0x504 // MNetworkEnable - float m_flExposureAdaptationSpeedDown; // 0x508 + float m_flExposureAdaptationSpeedDown; // 0x508 // MNetworkEnable - float m_flTonemapEVSmoothingRange; // 0x50c + float m_flTonemapEVSmoothingRange; // 0x50c }; -// Aligment: 28 -// Size: 1392 -class CEnvVolumetricFogController : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 28 +// Size: 0x570 +class CEnvVolumetricFogController : public CBaseEntity { public: // MNetworkEnable - float m_flScattering; // 0x4f0 + float m_flScattering; // 0x4f0 // MNetworkEnable - float m_flAnisotropy; // 0x4f4 + float m_flAnisotropy; // 0x4f4 // MNetworkEnable - float m_flFadeSpeed; // 0x4f8 + float m_flFadeSpeed; // 0x4f8 // MNetworkEnable - float m_flDrawDistance; // 0x4fc + float m_flDrawDistance; // 0x4fc // MNetworkEnable - float m_flFadeInStart; // 0x500 + float m_flFadeInStart; // 0x500 // MNetworkEnable - float m_flFadeInEnd; // 0x504 + float m_flFadeInEnd; // 0x504 // MNetworkEnable - float m_flIndirectStrength; // 0x508 + float m_flIndirectStrength; // 0x508 // MNetworkEnable - int32_t m_nIndirectTextureDimX; // 0x50c + int32_t m_nIndirectTextureDimX; // 0x50c // MNetworkEnable - int32_t m_nIndirectTextureDimY; // 0x510 + int32_t m_nIndirectTextureDimY; // 0x510 // MNetworkEnable - int32_t m_nIndirectTextureDimZ; // 0x514 + int32_t m_nIndirectTextureDimZ; // 0x514 // MNetworkEnable - Vector m_vBoxMins; // 0x518 + Vector m_vBoxMins; // 0x518 // MNetworkEnable - Vector m_vBoxMaxs; // 0x524 + Vector m_vBoxMaxs; // 0x524 // MNetworkEnable - bool m_bActive; // 0x530 + bool m_bActive; // 0x530 +private: + [[maybe_unused]] uint8_t __pad0531[0x3]; // 0x531 +public: // MNetworkEnable - float m_flStartAnisoTime; // 0x534 + float m_flStartAnisoTime; // 0x534 // MNetworkEnable - float m_flStartScatterTime; // 0x538 + float m_flStartScatterTime; // 0x538 // MNetworkEnable - float m_flStartDrawDistanceTime; // 0x53c + float m_flStartDrawDistanceTime; // 0x53c // MNetworkEnable - float m_flStartAnisotropy; // 0x540 + float m_flStartAnisotropy; // 0x540 // MNetworkEnable - float m_flStartScattering; // 0x544 + float m_flStartScattering; // 0x544 // MNetworkEnable - float m_flStartDrawDistance; // 0x548 + float m_flStartDrawDistance; // 0x548 // MNetworkEnable - float m_flDefaultAnisotropy; // 0x54c + float m_flDefaultAnisotropy; // 0x54c // MNetworkEnable - float m_flDefaultScattering; // 0x550 + float m_flDefaultScattering; // 0x550 // MNetworkEnable - float m_flDefaultDrawDistance; // 0x554 + float m_flDefaultDrawDistance; // 0x554 // MNetworkEnable - bool m_bStartDisabled; // 0x558 + bool m_bStartDisabled; // 0x558 // MNetworkEnable - bool m_bEnableIndirect; // 0x559 + bool m_bEnableIndirect; // 0x559 // MNetworkEnable - bool m_bIsMaster; // 0x55a + bool m_bIsMaster; // 0x55a +private: + [[maybe_unused]] uint8_t __pad055b[0x5]; // 0x55b +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x560 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x560 // MNetworkEnable - int32_t m_nForceRefreshCount; // 0x568 - bool m_bFirstTime; // 0x56c + int32_t m_nForceRefreshCount; // 0x568 + bool m_bFirstTime; // 0x56c }; -// Aligment: 7 -// Size: 1312 -class CEnvVolumetricFogVolume : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x520 +class CEnvVolumetricFogVolume : public CBaseEntity { public: // MNetworkEnable - bool m_bActive; // 0x4f0 + bool m_bActive; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: // MNetworkEnable - Vector m_vBoxMins; // 0x4f4 + Vector m_vBoxMins; // 0x4f4 // MNetworkEnable - Vector m_vBoxMaxs; // 0x500 + Vector m_vBoxMaxs; // 0x500 // MNetworkEnable - bool m_bStartDisabled; // 0x50c + bool m_bStartDisabled; // 0x50c +private: + [[maybe_unused]] uint8_t __pad050d[0x3]; // 0x50d +public: // MNetworkEnable - float m_flStrength; // 0x510 + float m_flStrength; // 0x510 // MNetworkEnable - int32_t m_nFalloffShape; // 0x514 + int32_t m_nFalloffShape; // 0x514 // MNetworkEnable - float m_flFalloffExponent; // 0x518 + float m_flFalloffExponent; // 0x518 }; -// Aligment: 3 -// Size: 1376 -class CFogController : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x560 +class CFogController : public CBaseEntity { public: // MNetworkEnable - fogparams_t m_fog; // 0x4f0 - bool m_bUseAngles; // 0x558 - int32_t m_iChangedVariables; // 0x55c + fogparams_t m_fog; // 0x4f0 + bool m_bUseAngles; // 0x558 +private: + [[maybe_unused]] uint8_t __pad0559[0x3]; // 0x559 +public: + int32_t m_iChangedVariables; // 0x55c }; -// Aligment: 0 -// Size: 1264 -class CInfoTarget : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CInfoTarget : public CPointEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1264 -class CInfoParticleTarget : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CInfoParticleTarget : public CPointEntity { public: -// + // no members available }; -// Aligment: 3 -// Size: 1288 -class CInfoVisibilityBox : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x508 +class CInfoVisibilityBox : public CBaseEntity { public: // MNetworkEnable - int32_t m_nMode; // 0x4f4 + int32_t m_nMode; // 0x4f4 // MNetworkEnable - Vector m_vBoxSize; // 0x4f8 + Vector m_vBoxSize; // 0x4f8 // MNetworkEnable - bool m_bEnabled; // 0x504 + bool m_bEnabled; // 0x504 }; -// Aligment: 7 -// Size: 1328 -class CInfoWorldLayer : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x530 +class CInfoWorldLayer : public CBaseEntity { public: - CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x4f0 + CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x4f0 // MNetworkEnable - CUtlSymbolLarge m_worldName; // 0x518 + CUtlSymbolLarge m_worldName; // 0x518 // MNetworkEnable - CUtlSymbolLarge m_layerName; // 0x520 + CUtlSymbolLarge m_layerName; // 0x520 // MNetworkEnable - bool m_bWorldLayerVisible; // 0x528 + bool m_bWorldLayerVisible; // 0x528 // MNetworkEnable - bool m_bEntitiesSpawned; // 0x529 - bool m_bCreateAsChildSpawnGroup; // 0x52a - uint32_t m_hLayerSpawnGroup; // 0x52c + bool m_bEntitiesSpawned; // 0x529 + bool m_bCreateAsChildSpawnGroup; // 0x52a +private: + [[maybe_unused]] uint8_t __pad052b[0x1]; // 0x52b +public: + uint32_t m_hLayerSpawnGroup; // 0x52c }; -// Aligment: 8 -// Size: 1328 -class CMultiLightProxy : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x530 +class CMultiLightProxy : public CLogicalEntity { public: - CUtlSymbolLarge m_iszLightNameFilter; // 0x4f0 - CUtlSymbolLarge m_iszLightClassFilter; // 0x4f8 - float m_flLightRadiusFilter; // 0x500 - float m_flBrightnessDelta; // 0x504 - bool m_bPerformScreenFade; // 0x508 - float m_flTargetBrightnessMultiplier; // 0x50c - float m_flCurrentBrightnessMultiplier; // 0x510 - CUtlVector< CHandle< CLightEntity > > m_vecLights; // 0x518 + CUtlSymbolLarge m_iszLightNameFilter; // 0x4f0 + CUtlSymbolLarge m_iszLightClassFilter; // 0x4f8 + float m_flLightRadiusFilter; // 0x500 + float m_flBrightnessDelta; // 0x504 + bool m_bPerformScreenFade; // 0x508 +private: + [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 +public: + float m_flTargetBrightnessMultiplier; // 0x50c + float m_flCurrentBrightnessMultiplier; // 0x510 +private: + [[maybe_unused]] uint8_t __pad0514[0x4]; // 0x514 +public: + CUtlVector< CHandle< CLightEntity > > m_vecLights; // 0x518 }; -// Aligment: 24 -// Size: 1360 -class CPointCamera : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 24 +// Size: 0x550 +class CPointCamera : public CBaseEntity { public: // MNetworkEnable - float m_FOV; // 0x4f0 + float m_FOV; // 0x4f0 // MNetworkEnable - float m_Resolution; // 0x4f4 + float m_Resolution; // 0x4f4 // MNetworkEnable - bool m_bFogEnable; // 0x4f8 + bool m_bFogEnable; // 0x4f8 // MNetworkEnable - Color m_FogColor; // 0x4f9 + Color m_FogColor; // 0x4f9 +private: + [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd +public: // MNetworkEnable - float m_flFogStart; // 0x500 + float m_flFogStart; // 0x500 // MNetworkEnable - float m_flFogEnd; // 0x504 + float m_flFogEnd; // 0x504 // MNetworkEnable - float m_flFogMaxDensity; // 0x508 + float m_flFogMaxDensity; // 0x508 // MNetworkEnable - bool m_bActive; // 0x50c + bool m_bActive; // 0x50c // MNetworkEnable - bool m_bUseScreenAspectRatio; // 0x50d + bool m_bUseScreenAspectRatio; // 0x50d +private: + [[maybe_unused]] uint8_t __pad050e[0x2]; // 0x50e +public: // MNetworkEnable - float m_flAspectRatio; // 0x510 + float m_flAspectRatio; // 0x510 // MNetworkEnable - bool m_bNoSky; // 0x514 + bool m_bNoSky; // 0x514 +private: + [[maybe_unused]] uint8_t __pad0515[0x3]; // 0x515 +public: // MNetworkEnable - float m_fBrightness; // 0x518 + float m_fBrightness; // 0x518 // MNetworkEnable - float m_flZFar; // 0x51c + float m_flZFar; // 0x51c // MNetworkEnable - float m_flZNear; // 0x520 + float m_flZNear; // 0x520 // MNetworkEnable - bool m_bDofEnabled; // 0x524 + bool m_bDofEnabled; // 0x524 +private: + [[maybe_unused]] uint8_t __pad0525[0x3]; // 0x525 +public: // MNetworkEnable - float m_flDofNearBlurry; // 0x528 + float m_flDofNearBlurry; // 0x528 // MNetworkEnable - float m_flDofNearCrisp; // 0x52c + float m_flDofNearCrisp; // 0x52c // MNetworkEnable - float m_flDofFarCrisp; // 0x530 + float m_flDofFarCrisp; // 0x530 // MNetworkEnable - float m_flDofFarBlurry; // 0x534 + float m_flDofFarBlurry; // 0x534 // MNetworkEnable - float m_flDofTiltToGround; // 0x538 - float m_TargetFOV; // 0x53c - float m_DegreesPerSecond; // 0x540 - bool m_bIsOn; // 0x544 - CPointCamera* m_pNext; // 0x548 + float m_flDofTiltToGround; // 0x538 + float m_TargetFOV; // 0x53c + float m_DegreesPerSecond; // 0x540 + bool m_bIsOn; // 0x544 +private: + [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 +public: + CPointCamera* m_pNext; // 0x548 }; -// Aligment: 9 -// Size: 1304 -class CPointCameraVFOV : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x518 +class CPointCameraVFOV : public CBaseEntity { public: - float m_flVerticalFOV; // 0x4f0 - float m_flZFar; // 0x4f4 - float m_flZNear; // 0x4f8 - bool m_bDofEnabled; // 0x4fc - float m_flDofNearBlurry; // 0x500 - float m_flDofNearCrisp; // 0x504 - float m_flDofFarCrisp; // 0x508 - float m_flDofFarBlurry; // 0x50c - float m_flDofTiltToGround; // 0x510 + float m_flVerticalFOV; // 0x4f0 + float m_flZFar; // 0x4f4 + float m_flZNear; // 0x4f8 + bool m_bDofEnabled; // 0x4fc +private: + [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd +public: + float m_flDofNearBlurry; // 0x500 + float m_flDofNearCrisp; // 0x504 + float m_flDofFarCrisp; // 0x508 + float m_flDofFarBlurry; // 0x50c + float m_flDofTiltToGround; // 0x510 }; -// Aligment: 12 -// Size: 1408 -class CPointTemplate : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x580 +class CPointTemplate : public CLogicalEntity { public: - CUtlSymbolLarge m_iszWorldName; // 0x4f0 - CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x4f8 - CUtlSymbolLarge m_iszEntityFilterName; // 0x500 - float m_flTimeoutInterval; // 0x508 - bool m_bAsynchronouslySpawnEntities; // 0x50c - CEntityIOOutput m_pOutputOnSpawned; // 0x510 - PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x538 - PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x53c - CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x540 - CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x558 - HSCRIPT m_ScriptSpawnCallback; // 0x570 - HSCRIPT m_ScriptCallbackScope; // 0x578 + CUtlSymbolLarge m_iszWorldName; // 0x4f0 + CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x4f8 + CUtlSymbolLarge m_iszEntityFilterName; // 0x500 + float m_flTimeoutInterval; // 0x508 + bool m_bAsynchronouslySpawnEntities; // 0x50c +private: + [[maybe_unused]] uint8_t __pad050d[0x3]; // 0x50d +public: + CEntityIOOutput m_pOutputOnSpawned; // 0x510 + PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x538 + PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x53c + CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x540 + CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x558 + HSCRIPT m_ScriptSpawnCallback; // 0x570 + HSCRIPT m_ScriptCallbackScope; // 0x578 }; -// Aligment: 4 -// Size: 1312 -class CGameGibManager : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x520 +class CGameGibManager : public CBaseEntity { public: - bool m_bAllowNewGibs; // 0x510 - int32_t m_iCurrentMaxPieces; // 0x514 - int32_t m_iMaxPieces; // 0x518 - int32_t m_iLastFrame; // 0x51c + bool m_bAllowNewGibs; // 0x510 +private: + [[maybe_unused]] uint8_t __pad0511[0x3]; // 0x511 +public: + int32_t m_iCurrentMaxPieces; // 0x514 + int32_t m_iMaxPieces; // 0x518 + int32_t m_iLastFrame; // 0x51c }; -// Aligment: 3 -// Size: 1296 -class CSoundAreaEntityBase : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x510 +class CSoundAreaEntityBase : public CBaseEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x4f0 + bool m_bDisabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 +public: // MNetworkEnable - CUtlSymbolLarge m_iszSoundAreaType; // 0x4f8 + CUtlSymbolLarge m_iszSoundAreaType; // 0x4f8 // MNetworkEnable - Vector m_vPos; // 0x500 + Vector m_vPos; // 0x500 }; -// Aligment: 1 -// Size: 1304 -class CSoundAreaEntitySphere : public CSoundAreaEntityBase, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x518 +class CSoundAreaEntitySphere : public CSoundAreaEntityBase { public: // MNetworkEnable - float m_flRadius; // 0x510 + float m_flRadius; // 0x510 }; -// Aligment: 2 -// Size: 1320 -class CSoundAreaEntityOrientedBox : public CSoundAreaEntityBase, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x528 +class CSoundAreaEntityOrientedBox : public CSoundAreaEntityBase { public: // MNetworkEnable - Vector m_vMin; // 0x510 + Vector m_vMin; // 0x510 // MNetworkEnable - Vector m_vMax; // 0x51c + Vector m_vMax; // 0x51c }; -// Aligment: 3 -// Size: 1424 -class CTeam : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x590 +class CTeam : public CBaseEntity { public: // MNetworkEnable // MNetworkAlias "m_aPlayers" - CNetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x4f0 + CNetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x4f0 // MNetworkEnable - int32_t m_iScore; // 0x508 + int32_t m_iScore; // 0x508 // MNetworkEnable - char[129] m_szTeamname; // 0x50c + char m_szTeamname[129]; // 0x50c }; -// Aligment: 1 -// Size: 1344 -class CPlayerResource : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x540 +class CPlayerResource : public CBaseEntity { public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< PlayerResourceData_t > m_vecPlayerData; // 0x4f8 + CUtlVectorEmbeddedNetworkVar< PlayerResourceData_t > m_vecPlayerData; // 0x4f8 }; -// Aligment: 2 -// Size: 1280 -class CInfoGameEventProxy : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x500 +class CInfoGameEventProxy : public CPointEntity { public: - CUtlSymbolLarge m_iszEventName; // 0x4f0 - float m_flRange; // 0x4f8 + CUtlSymbolLarge m_iszEventName; // 0x4f0 + float m_flRange; // 0x4f8 }; -// Aligment: 2 -// Size: 1272 -class CProjectedDecal : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x4f8 +class CProjectedDecal : public CPointEntity { public: - int32_t m_nTexture; // 0x4f0 - float m_flDistance; // 0x4f4 + int32_t m_nTexture; // 0x4f0 + float m_flDistance; // 0x4f4 }; -// Aligment: 28 -// Size: 1912 -class CBaseModelEntity : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 28 +// Size: 0x778 +class CBaseModelEntity : public CBaseEntity { public: // MNetworkEnable // MNetworkUserGroup "CRenderComponent" // MNetworkAlias "CRenderComponent" // MNetworkTypeAlias "CRenderComponent" - CRenderComponent* m_CRenderComponent; // 0x4f0 + CRenderComponent* m_CRenderComponent; // 0x4f0 // MNetworkEnable - RenderMode_t m_nRenderMode; // 0x4f8 + RenderMode_t m_nRenderMode; // 0x4f8 // MNetworkEnable - RenderFx_t m_nRenderFX; // 0x4f9 - bool m_bAllowFadeInView; // 0x4fa + RenderFx_t m_nRenderFX; // 0x4f9 + bool m_bAllowFadeInView; // 0x4fa // MNetworkEnable // MNetworkChangeCallback "OnColorChanged" - Color m_clrRender; // 0x4fb + Color m_clrRender; // 0x4fb +private: + [[maybe_unused]] uint8_t __pad04ff[0x1]; // 0x4ff +public: // MNetworkEnable // MNetworkChangeCallback "OnRenderAttributesChanged" - CUtlStringToken[4] m_RenderAttributeIDs; // 0x500 + CUtlStringToken m_RenderAttributeIDs[4]; // 0x500 // MNetworkEnable // MNetworkChangeCallback "OnRenderAttributesChanged" - Vector4D[4] m_RenderAttributeValues; // 0x510 + Vector4D m_RenderAttributeValues[4]; // 0x510 // MNetworkEnable // MNetworkChangeCallback "OnLightGroupChanged" - CUtlStringToken m_LightGroup; // 0x550 + CUtlStringToken m_LightGroup; // 0x550 // MNetworkEnable - bool m_bRenderToCubemaps; // 0x554 + bool m_bRenderToCubemaps; // 0x554 +private: + [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 +public: // MNetworkEnable - CCollisionProperty m_Collision; // 0x558 + CCollisionProperty m_Collision; // 0x558 // MNetworkEnable - CGlowProperty m_Glow; // 0x608 + CGlowProperty m_Glow; // 0x608 // MNetworkEnable - float m_flGlowBackfaceMult; // 0x658 + float m_flGlowBackfaceMult; // 0x658 // MNetworkEnable - float m_fadeMinDist; // 0x65c + float m_fadeMinDist; // 0x65c // MNetworkEnable - float m_fadeMaxDist; // 0x660 + float m_fadeMaxDist; // 0x660 // MNetworkEnable - float m_flFadeScale; // 0x664 + float m_flFadeScale; // 0x664 // MNetworkEnable - float m_flShadowStrength; // 0x668 + float m_flShadowStrength; // 0x668 // MNetworkEnable - uint8_t m_nObjectCulling; // 0x66c + uint8_t m_nObjectCulling; // 0x66c +private: + [[maybe_unused]] uint8_t __pad066d[0x3]; // 0x66d +public: // MNetworkEnable - int32_t m_nAddDecal; // 0x670 + int32_t m_nAddDecal; // 0x670 // MNetworkEnable - Vector m_vDecalPosition; // 0x674 + Vector m_vDecalPosition; // 0x674 // MNetworkEnable - Vector m_vDecalForwardAxis; // 0x680 + Vector m_vDecalForwardAxis; // 0x680 // MNetworkEnable - float m_flDecalHealBloodRate; // 0x68c + float m_flDecalHealBloodRate; // 0x68c // MNetworkEnable - float m_flDecalHealHeightRate; // 0x690 + float m_flDecalHealHeightRate; // 0x690 +private: + [[maybe_unused]] uint8_t __pad0694[0x4]; // 0x694 +public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x698 + CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x698 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" - CNetworkViewOffsetVector m_vecViewOffset; // 0x6b0 + CNetworkViewOffsetVector m_vecViewOffset; // 0x6b0 +private: + [[maybe_unused]] uint8_t __pad0710[0x8]; // 0x710 +public: // MNetworkEnable // MNetworkChangeCallback "OnLightingOriginChanged" - Vector m_vLightingOrigin; // 0x718 + Vector m_vLightingOrigin; // 0x718 // MNetworkEnable // MNetworkChangeCallback "OnLightingOriginChanged" - bool m_bFixupLightingOriginToPlayerSide; // 0x724 - uint32_t m_nNextModelConfigSerialNumber; // 0x728 + bool m_bFixupLightingOriginToPlayerSide; // 0x724 +private: + [[maybe_unused]] uint8_t __pad0725[0x3]; // 0x725 +public: + uint32_t m_nNextModelConfigSerialNumber; // 0x728 +private: + [[maybe_unused]] uint8_t __pad072c[0x4]; // 0x72c +public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< ActiveModelConfig_t > m_ActiveModelConfigs; // 0x730 + CUtlVectorEmbeddedNetworkVar< ActiveModelConfig_t > m_ActiveModelConfigs; // 0x730 }; -// Aligment: 0 -// Size: 1912 -class CServerOnlyModelEntity : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x778 +class CServerOnlyModelEntity : public CBaseModelEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1912 -class CModelPointEntity : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x778 +class CModelPointEntity : public CBaseModelEntity { public: -// + // no members available }; -// Aligment: 7 -// Size: 1352 -class CLogicRelay : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x548 +class CLogicRelay : public CLogicalEntity { public: - CEntityIOOutput m_OnTrigger; // 0x4f0 - CEntityIOOutput m_OnSpawn; // 0x518 - bool m_bDisabled; // 0x540 - bool m_bWaitForRefire; // 0x541 - bool m_bTriggerOnce; // 0x542 - bool m_bFastRetrigger; // 0x543 - bool m_bPassthoughCaller; // 0x544 + CEntityIOOutput m_OnTrigger; // 0x4f0 + CEntityIOOutput m_OnSpawn; // 0x518 + bool m_bDisabled; // 0x540 + bool m_bWaitForRefire; // 0x541 + bool m_bTriggerOnce; // 0x542 + bool m_bFastRetrigger; // 0x543 + bool m_bPassthoughCaller; // 0x544 }; -// Aligment: 15 -// Size: 3288 -class CParticleSystem : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 15 +// Size: 0xcd8 +class CParticleSystem : public CBaseModelEntity { public: // MNetworkEnable - char[512] m_szSnapshotFileName; // 0x778 + char m_szSnapshotFileName[512]; // 0x778 // MNetworkEnable - bool m_bActive; // 0x978 + bool m_bActive; // 0x978 // MNetworkEnable - bool m_bFrozen; // 0x979 + bool m_bFrozen; // 0x979 +private: + [[maybe_unused]] uint8_t __pad097a[0x2]; // 0x97a +public: // MNetworkEnable - int32_t m_nStopType; // 0x97c + int32_t m_nStopType; // 0x97c // MNetworkEnable - bool m_bAnimateDuringGameplayPause; // 0x980 + bool m_bAnimateDuringGameplayPause; // 0x980 +private: + [[maybe_unused]] uint8_t __pad0981[0x7]; // 0x981 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x988 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x988 // MNetworkEnable - float m_flStartTime; // 0x990 + float m_flStartTime; // 0x990 // MNetworkEnable - float m_flPreSimTime; // 0x994 + float m_flPreSimTime; // 0x994 // MNetworkEnable - Vector[4] m_vServerControlPoints; // 0x998 + Vector m_vServerControlPoints[4]; // 0x998 // MNetworkEnable - uint8[4] m_iServerControlPointAssignments; // 0x9c8 + uint8_t m_iServerControlPointAssignments[4]; // 0x9c8 // MNetworkEnable - CHandle< CBaseEntity >[64] m_hControlPointEnts; // 0x9cc - bool m_bNoSave; // 0xacc - bool m_bStartActive; // 0xacd - CUtlSymbolLarge m_iszEffectName; // 0xad0 - CUtlSymbolLarge[64] m_iszControlPointNames; // 0xad8 + CHandle< CBaseEntity > m_hControlPointEnts[64]; // 0x9cc + bool m_bNoSave; // 0xacc + bool m_bStartActive; // 0xacd +private: + [[maybe_unused]] uint8_t __pad0ace[0x2]; // 0xace +public: + CUtlSymbolLarge m_iszEffectName; // 0xad0 + CUtlSymbolLarge m_iszControlPointNames[64]; // 0xad8 }; -// Aligment: 16 -// Size: 1488 -class CPathParticleRope : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 16 +// Size: 0x5d0 +class CPathParticleRope : public CBaseEntity { public: - bool m_bStartActive; // 0x4f0 - float m_flMaxSimulationTime; // 0x4f4 - CUtlSymbolLarge m_iszEffectName; // 0x4f8 - CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x500 + bool m_bStartActive; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: + float m_flMaxSimulationTime; // 0x4f4 + CUtlSymbolLarge m_iszEffectName; // 0x4f8 + CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x500 // MNetworkEnable - float m_flParticleSpacing; // 0x518 + float m_flParticleSpacing; // 0x518 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - float m_flSlack; // 0x51c + float m_flSlack; // 0x51c // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - float m_flRadius; // 0x520 + float m_flRadius; // 0x520 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" - Color m_ColorTint; // 0x524 + Color m_ColorTint; // 0x524 // MNetworkEnable // MNetworkChangeCallback "effectStateChanged" - int32_t m_nEffectState; // 0x528 + int32_t m_nEffectState; // 0x528 +private: + [[maybe_unused]] uint8_t __pad052c[0x4]; // 0x52c +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x530 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x530 // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x538 + CNetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x538 // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x550 + CNetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x550 // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x568 + CNetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x568 // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x580 + CNetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x580 // MNetworkEnable // MNetworkChangeCallback "pinStateChanged" - CNetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x598 + CNetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x598 // MNetworkEnable - CNetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x5b0 + CNetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x5b0 }; -// Aligment: 1 -// Size: 1920 -class CFuncWall : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x780 +class CFuncWall : public CBaseModelEntity { public: - int32_t m_nState; // 0x778 + int32_t m_nState; // 0x778 }; -// Aligment: 0 -// Size: 1920 -class CFuncWallToggle : public CFuncWall, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x780 +class CFuncWallToggle : public CFuncWall { public: -// + // no members available }; -// Aligment: 0 -// Size: 1912 -class CFuncVehicleClip : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x778 +class CFuncVehicleClip : public CBaseModelEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1912 -class CFuncIllusionary : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x778 +class CFuncIllusionary : public CBaseModelEntity { public: -// + // no members available }; -// Aligment: 1 -// Size: 1920 -class CFuncVPhysicsClip : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x780 +class CFuncVPhysicsClip : public CBaseModelEntity { public: - bool m_bDisabled; // 0x778 + bool m_bDisabled; // 0x778 }; -// Aligment: 3 -// Size: 1936 -class CFuncInteractionLayerClip : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x790 +class CFuncInteractionLayerClip : public CBaseModelEntity { public: - bool m_bDisabled; // 0x778 - CUtlSymbolLarge m_iszInteractsAs; // 0x780 - CUtlSymbolLarge m_iszInteractsWith; // 0x788 + bool m_bDisabled; // 0x778 +private: + [[maybe_unused]] uint8_t __pad0779[0x7]; // 0x779 +public: + CUtlSymbolLarge m_iszInteractsAs; // 0x780 + CUtlSymbolLarge m_iszInteractsWith; // 0x788 }; -// Aligment: 0 -// Size: 1264 -class CPointClientCommand : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CPointClientCommand : public CPointEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1264 -class CPointServerCommand : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CPointServerCommand : public CPointEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1264 -class CPointBroadcastClientCommand : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CPointBroadcastClientCommand : public CPointEntity { public: -// + // no members available }; -// Aligment: 3 -// Size: 1384 -class CCommentaryAuto : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x568 +class CCommentaryAuto : public CBaseEntity { public: - CEntityIOOutput m_OnCommentaryNewGame; // 0x4f0 - CEntityIOOutput m_OnCommentaryMidGame; // 0x518 - CEntityIOOutput m_OnCommentaryMultiplayerSpawn; // 0x540 + CEntityIOOutput m_OnCommentaryNewGame; // 0x4f0 + CEntityIOOutput m_OnCommentaryMidGame; // 0x518 + CEntityIOOutput m_OnCommentaryMultiplayerSpawn; // 0x540 }; -// Aligment: 9 -// Size: 1936 -class CDynamicLight : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x790 +class CDynamicLight : public CBaseModelEntity { public: - uint8_t m_ActualFlags; // 0x778 + uint8_t m_ActualFlags; // 0x778 // MNetworkEnable - uint8_t m_Flags; // 0x779 + uint8_t m_Flags; // 0x779 // MNetworkEnable - uint8_t m_LightStyle; // 0x77a - bool m_On; // 0x77b + uint8_t m_LightStyle; // 0x77a + bool m_On; // 0x77b // MNetworkEnable - float m_Radius; // 0x77c + float m_Radius; // 0x77c // MNetworkEnable - int32_t m_Exponent; // 0x780 + int32_t m_Exponent; // 0x780 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "360" - float m_InnerAngle; // 0x784 + float m_InnerAngle; // 0x784 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "360" - float m_OuterAngle; // 0x788 + float m_OuterAngle; // 0x788 // MNetworkEnable - float m_SpotRadius; // 0x78c + float m_SpotRadius; // 0x78c }; -// Aligment: 3 -// Size: 1928 -class CBubbling : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x788 +class CBubbling : public CBaseModelEntity { public: - int32_t m_density; // 0x778 - int32_t m_frequency; // 0x77c - int32_t m_state; // 0x780 + int32_t m_density; // 0x778 + int32_t m_frequency; // 0x77c + int32_t m_state; // 0x780 }; -// Aligment: 2 -// Size: 1280 -class CEnvTracer : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x500 +class CEnvTracer : public CPointEntity { public: - Vector m_vecEnd; // 0x4f0 - float m_flDelay; // 0x4fc + Vector m_vecEnd; // 0x4f0 + float m_flDelay; // 0x4fc }; -// Aligment: 5 -// Size: 1568 -class CTestEffect : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x620 +class CTestEffect : public CBaseEntity { public: - int32_t m_iLoop; // 0x4f0 - int32_t m_iBeam; // 0x4f4 - CBeam*[24] m_pBeam; // 0x4f8 - float32[24] m_flBeamTime; // 0x5b8 - float m_flStartTime; // 0x618 + int32_t m_iLoop; // 0x4f0 + int32_t m_iBeam; // 0x4f4 + CBeam* m_pBeam[24]; // 0x4f8 + float m_flBeamTime[24]; // 0x5b8 + float m_flStartTime; // 0x618 }; -// Aligment: 4 -// Size: 1296 -class CBlood : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x510 +class CBlood : public CPointEntity { public: - QAngle m_vecSprayAngles; // 0x4f0 - Vector m_vecSprayDir; // 0x4fc - float m_flAmount; // 0x508 - int32_t m_Color; // 0x50c + QAngle m_vecSprayAngles; // 0x4f0 + Vector m_vecSprayDir; // 0x4fc + float m_flAmount; // 0x508 + int32_t m_Color; // 0x50c }; -// Aligment: 0 -// Size: 1264 -class CEnvFunnel : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CEnvFunnel : public CBaseEntity { public: -// + // no members available }; -// Aligment: 2 -// Size: 1272 -class CEnvBeverage : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x4f8 +class CEnvBeverage : public CBaseEntity { public: - bool m_CanInDispenser; // 0x4f0 - int32_t m_nBeverageType; // 0x4f4 + bool m_CanInDispenser; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: + int32_t m_nBeverageType; // 0x4f4 }; -// Aligment: 0 -// Size: 1912 -class CPrecipitationBlocker : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x778 +class CPrecipitationBlocker : public CBaseModelEntity { public: -// + // no members available }; -// Aligment: 1 -// Size: 1904 -class CEnvWind : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x770 +class CEnvWind : public CBaseEntity { public: // MNetworkEnable - CEnvWindShared m_EnvWindShared; // 0x4f0 + CEnvWindShared m_EnvWindShared; // 0x4f0 }; -// Aligment: 1 -// Size: 1272 -class CPhysicsWire : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x4f8 +class CPhysicsWire : public CBaseEntity { public: - int32_t m_nDensity; // 0x4f0 + int32_t m_nDensity; // 0x4f0 }; -// Aligment: 2 -// Size: 1280 -class CEnvMuzzleFlash : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x500 +class CEnvMuzzleFlash : public CPointEntity { public: - float m_flScale; // 0x4f0 - CUtlSymbolLarge m_iszParentAttachment; // 0x4f8 + float m_flScale; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 +public: + CUtlSymbolLarge m_iszParentAttachment; // 0x4f8 }; -// Aligment: 1 -// Size: 1272 -class CEnvSplash : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x4f8 +class CEnvSplash : public CPointEntity { public: - float m_flScale; // 0x4f0 + float m_flScale; // 0x4f0 }; -// Aligment: 16 -// Size: 1360 -class CEnvGunfire : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 16 +// Size: 0x550 +class CEnvGunfire : public CPointEntity { public: - int32_t m_iMinBurstSize; // 0x4f0 - int32_t m_iMaxBurstSize; // 0x4f4 - float m_flMinBurstDelay; // 0x4f8 - float m_flMaxBurstDelay; // 0x4fc - float m_flRateOfFire; // 0x500 - CUtlSymbolLarge m_iszShootSound; // 0x508 - CUtlSymbolLarge m_iszTracerType; // 0x510 - bool m_bDisabled; // 0x518 - int32_t m_iShotsRemaining; // 0x51c - int32_t m_iSpread; // 0x520 - Vector m_vecSpread; // 0x524 - Vector m_vecTargetPosition; // 0x530 - float m_flTargetDist; // 0x53c - float m_flBias; // 0x540 - bool m_bCollide; // 0x544 - CHandle< CBaseEntity > m_hTarget; // 0x548 + int32_t m_iMinBurstSize; // 0x4f0 + int32_t m_iMaxBurstSize; // 0x4f4 + float m_flMinBurstDelay; // 0x4f8 + float m_flMaxBurstDelay; // 0x4fc + float m_flRateOfFire; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 +public: + CUtlSymbolLarge m_iszShootSound; // 0x508 + CUtlSymbolLarge m_iszTracerType; // 0x510 + bool m_bDisabled; // 0x518 +private: + [[maybe_unused]] uint8_t __pad0519[0x3]; // 0x519 +public: + int32_t m_iShotsRemaining; // 0x51c + int32_t m_iSpread; // 0x520 + Vector m_vecSpread; // 0x524 + Vector m_vecTargetPosition; // 0x530 + float m_flTargetDist; // 0x53c + float m_flBias; // 0x540 + bool m_bCollide; // 0x544 +private: + [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 +public: + CHandle< CBaseEntity > m_hTarget; // 0x548 }; -// Aligment: 2 -// Size: 1280 -class CEnvViewPunch : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x500 +class CEnvViewPunch : public CPointEntity { public: - float m_flRadius; // 0x4f0 - QAngle m_angViewPunch; // 0x4f4 + float m_flRadius; // 0x4f0 + QAngle m_angViewPunch; // 0x4f4 }; -// Aligment: 1 -// Size: 1272 -class CEnvEntityIgniter : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x4f8 +class CEnvEntityIgniter : public CBaseEntity { public: - float m_flLifetime; // 0x4f0 + float m_flLifetime; // 0x4f0 }; -// Aligment: 1 -// Size: 2053336 -class CDebugHistory : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x54d8 +class CDebugHistory : public CBaseEntity { public: - int32_t m_nNpcEvents; // 0x1f4530 + int32_t m_nNpcEvents; // 0x1f4530 }; -// Aligment: 12 -// Size: 1424 -class CEnvEntityMaker : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x590 +class CEnvEntityMaker : public CPointEntity { public: - Vector m_vecEntityMins; // 0x4f0 - Vector m_vecEntityMaxs; // 0x4fc - CHandle< CBaseEntity > m_hCurrentInstance; // 0x508 - CHandle< CBaseEntity > m_hCurrentBlocker; // 0x50c - Vector m_vecBlockerOrigin; // 0x510 - QAngle m_angPostSpawnDirection; // 0x51c - float m_flPostSpawnDirectionVariance; // 0x528 - float m_flPostSpawnSpeed; // 0x52c - bool m_bPostSpawnUseAngles; // 0x530 - CUtlSymbolLarge m_iszTemplate; // 0x538 - CEntityIOOutput m_pOutputOnSpawned; // 0x540 - CEntityIOOutput m_pOutputOnFailedSpawn; // 0x568 + Vector m_vecEntityMins; // 0x4f0 + Vector m_vecEntityMaxs; // 0x4fc + CHandle< CBaseEntity > m_hCurrentInstance; // 0x508 + CHandle< CBaseEntity > m_hCurrentBlocker; // 0x50c + Vector m_vecBlockerOrigin; // 0x510 + QAngle m_angPostSpawnDirection; // 0x51c + float m_flPostSpawnDirectionVariance; // 0x528 + float m_flPostSpawnSpeed; // 0x52c + bool m_bPostSpawnUseAngles; // 0x530 +private: + [[maybe_unused]] uint8_t __pad0531[0x7]; // 0x531 +public: + CUtlSymbolLarge m_iszTemplate; // 0x538 + CEntityIOOutput m_pOutputOnSpawned; // 0x540 + CEntityIOOutput m_pOutputOnFailedSpawn; // 0x568 }; -// Aligment: 0 -// Size: 1264 -class CInfoInstructorHintTarget : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CInfoInstructorHintTarget : public CPointEntity { public: -// + // no members available }; -// Aligment: 24 -// Size: 1376 -class CEnvInstructorHint : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 24 +// Size: 0x560 +class CEnvInstructorHint : public CPointEntity { public: - CUtlSymbolLarge m_iszName; // 0x4f0 - CUtlSymbolLarge m_iszReplace_Key; // 0x4f8 - CUtlSymbolLarge m_iszHintTargetEntity; // 0x500 - int32_t m_iTimeout; // 0x508 - int32_t m_iDisplayLimit; // 0x50c - CUtlSymbolLarge m_iszIcon_Onscreen; // 0x510 - CUtlSymbolLarge m_iszIcon_Offscreen; // 0x518 - CUtlSymbolLarge m_iszCaption; // 0x520 - CUtlSymbolLarge m_iszActivatorCaption; // 0x528 - Color m_Color; // 0x530 - float m_fIconOffset; // 0x534 - float m_fRange; // 0x538 - uint8_t m_iPulseOption; // 0x53c - uint8_t m_iAlphaOption; // 0x53d - uint8_t m_iShakeOption; // 0x53e - bool m_bStatic; // 0x53f - bool m_bNoOffscreen; // 0x540 - bool m_bForceCaption; // 0x541 - int32_t m_iInstanceType; // 0x544 - bool m_bSuppressRest; // 0x548 - CUtlSymbolLarge m_iszBinding; // 0x550 - bool m_bAllowNoDrawTarget; // 0x558 - bool m_bAutoStart; // 0x559 - bool m_bLocalPlayerOnly; // 0x55a + CUtlSymbolLarge m_iszName; // 0x4f0 + CUtlSymbolLarge m_iszReplace_Key; // 0x4f8 + CUtlSymbolLarge m_iszHintTargetEntity; // 0x500 + int32_t m_iTimeout; // 0x508 + int32_t m_iDisplayLimit; // 0x50c + CUtlSymbolLarge m_iszIcon_Onscreen; // 0x510 + CUtlSymbolLarge m_iszIcon_Offscreen; // 0x518 + CUtlSymbolLarge m_iszCaption; // 0x520 + CUtlSymbolLarge m_iszActivatorCaption; // 0x528 + Color m_Color; // 0x530 + float m_fIconOffset; // 0x534 + float m_fRange; // 0x538 + uint8_t m_iPulseOption; // 0x53c + uint8_t m_iAlphaOption; // 0x53d + uint8_t m_iShakeOption; // 0x53e + bool m_bStatic; // 0x53f + bool m_bNoOffscreen; // 0x540 + bool m_bForceCaption; // 0x541 +private: + [[maybe_unused]] uint8_t __pad0542[0x2]; // 0x542 +public: + int32_t m_iInstanceType; // 0x544 + bool m_bSuppressRest; // 0x548 +private: + [[maybe_unused]] uint8_t __pad0549[0x7]; // 0x549 +public: + CUtlSymbolLarge m_iszBinding; // 0x550 + bool m_bAllowNoDrawTarget; // 0x558 + bool m_bAutoStart; // 0x559 + bool m_bLocalPlayerOnly; // 0x55a }; -// Aligment: 9 -// Size: 1328 -class CEnvInstructorVRHint : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x530 +class CEnvInstructorVRHint : public CPointEntity { public: - CUtlSymbolLarge m_iszName; // 0x4f0 - CUtlSymbolLarge m_iszHintTargetEntity; // 0x4f8 - int32_t m_iTimeout; // 0x500 - CUtlSymbolLarge m_iszCaption; // 0x508 - CUtlSymbolLarge m_iszStartSound; // 0x510 - int32_t m_iLayoutFileType; // 0x518 - CUtlSymbolLarge m_iszCustomLayoutFile; // 0x520 - int32_t m_iAttachType; // 0x528 - float m_flHeightOffset; // 0x52c + CUtlSymbolLarge m_iszName; // 0x4f0 + CUtlSymbolLarge m_iszHintTargetEntity; // 0x4f8 + int32_t m_iTimeout; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 +public: + CUtlSymbolLarge m_iszCaption; // 0x508 + CUtlSymbolLarge m_iszStartSound; // 0x510 + int32_t m_iLayoutFileType; // 0x518 +private: + [[maybe_unused]] uint8_t __pad051c[0x4]; // 0x51c +public: + CUtlSymbolLarge m_iszCustomLayoutFile; // 0x520 + int32_t m_iAttachType; // 0x528 + float m_flHeightOffset; // 0x52c }; -// Aligment: 3 -// Size: 1288 -class CInstructorEventEntity : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x508 +class CInstructorEventEntity : public CPointEntity { public: - CUtlSymbolLarge m_iszName; // 0x4f0 - CUtlSymbolLarge m_iszHintTargetEntity; // 0x4f8 - CHandle< CBasePlayer > m_hTargetPlayer; // 0x500 + CUtlSymbolLarge m_iszName; // 0x4f0 + CUtlSymbolLarge m_iszHintTargetEntity; // 0x4f8 + CHandle< CBasePlayer > m_hTargetPlayer; // 0x500 }; -// Aligment: 5 -// Size: 1400 -class CEnvScreenOverlay : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x578 +class CEnvScreenOverlay : public CPointEntity { public: // MNetworkEnable - CUtlSymbolLarge[10] m_iszOverlayNames; // 0x4f0 + CUtlSymbolLarge m_iszOverlayNames[10]; // 0x4f0 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-1" // MNetworkMaxValue "63" - float32[10] m_flOverlayTimes; // 0x540 + float m_flOverlayTimes[10]; // 0x540 // MNetworkEnable - float m_flStartTime; // 0x568 + float m_flStartTime; // 0x568 // MNetworkEnable - int32_t m_iDesiredOverlay; // 0x56c + int32_t m_iDesiredOverlay; // 0x56c // MNetworkEnable - bool m_bIsActive; // 0x570 + bool m_bIsActive; // 0x570 }; -// Aligment: 2 -// Size: 1272 -class CEnvZoom : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x4f8 +class CEnvZoom : public CPointEntity { public: - float m_flSpeed; // 0x4f0 - int32_t m_nFOV; // 0x4f4 + float m_flSpeed; // 0x4f0 + int32_t m_nFOV; // 0x4f4 }; -// Aligment: 4 -// Size: 1320 -class CEnvFade : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x528 +class CEnvFade : public CLogicalEntity { public: // MNetworkEnable - Color m_fadeColor; // 0x4f0 - float m_Duration; // 0x4f4 - float m_HoldDuration; // 0x4f8 - CEntityIOOutput m_OnBeginFade; // 0x500 + Color m_fadeColor; // 0x4f0 + float m_Duration; // 0x4f4 + float m_HoldDuration; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc +public: + CEntityIOOutput m_OnBeginFade; // 0x500 }; -// Aligment: 3 -// Size: 1312 -class CCredits : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x520 +class CCredits : public CPointEntity { public: - CEntityIOOutput m_OnCreditsDone; // 0x4f0 - bool m_bRolledOutroCredits; // 0x518 - float m_flLogoLength; // 0x51c + CEntityIOOutput m_OnCreditsDone; // 0x4f0 + bool m_bRolledOutroCredits; // 0x518 +private: + [[maybe_unused]] uint8_t __pad0519[0x3]; // 0x519 +public: + float m_flLogoLength; // 0x51c }; -// Aligment: 10 -// Size: 1344 -class CEnvShake : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 10 +// Size: 0x540 +class CEnvShake : public CPointEntity { public: - CUtlSymbolLarge m_limitToEntity; // 0x4f0 - float m_Amplitude; // 0x4f8 - float m_Frequency; // 0x4fc - float m_Duration; // 0x500 - float m_Radius; // 0x504 - float m_stopTime; // 0x508 - float m_nextShake; // 0x50c - float m_currentAmp; // 0x510 - Vector m_maxForce; // 0x514 - CPhysicsShake m_shakeCallback; // 0x528 + CUtlSymbolLarge m_limitToEntity; // 0x4f0 + float m_Amplitude; // 0x4f8 + float m_Frequency; // 0x4fc + float m_Duration; // 0x500 + float m_Radius; // 0x504 + float m_stopTime; // 0x508 + float m_nextShake; // 0x50c + float m_currentAmp; // 0x510 + Vector m_maxForce; // 0x514 +private: + [[maybe_unused]] uint8_t __pad0520[0x8]; // 0x520 +public: + CPhysicsShake m_shakeCallback; // 0x528 }; -// Aligment: 4 -// Size: 1280 -class CEnvTilt : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x500 +class CEnvTilt : public CPointEntity { public: - float m_Duration; // 0x4f0 - float m_Radius; // 0x4f4 - float m_TiltTime; // 0x4f8 - float m_stopTime; // 0x4fc + float m_Duration; // 0x4f0 + float m_Radius; // 0x4f4 + float m_TiltTime; // 0x4f8 + float m_stopTime; // 0x4fc }; -// Aligment: 5 -// Size: 1320 -class CEnvSpark : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x528 +class CEnvSpark : public CPointEntity { public: - float m_flDelay; // 0x4f0 - int32_t m_nMagnitude; // 0x4f4 - int32_t m_nTrailLength; // 0x4f8 - int32_t m_nType; // 0x4fc - CEntityIOOutput m_OnSpark; // 0x500 + float m_flDelay; // 0x4f0 + int32_t m_nMagnitude; // 0x4f4 + int32_t m_nTrailLength; // 0x4f8 + int32_t m_nType; // 0x4fc + CEntityIOOutput m_OnSpark; // 0x500 }; -// Aligment: 0 -// Size: 1912 -class CShower : public CModelPointEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x778 +class CShower : public CModelPointEntity { public: -// + // no members available }; -// Aligment: 15 -// Size: 2000 -class CEnvExplosion : public CModelPointEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 15 +// Size: 0x7d0 +class CEnvExplosion : public CModelPointEntity { public: - int32_t m_iMagnitude; // 0x778 - float m_flPlayerDamage; // 0x77c - int32_t m_iRadiusOverride; // 0x780 - float m_flInnerRadius; // 0x784 - int32_t m_spriteScale; // 0x788 - float m_flDamageForce; // 0x78c - CHandle< CBaseEntity > m_hInflictor; // 0x790 - int32_t m_iCustomDamageType; // 0x794 - CUtlSymbolLarge m_iszExplosionType; // 0x7a0 - CUtlSymbolLarge m_iszCustomEffectName; // 0x7a8 - CUtlSymbolLarge m_iszCustomSoundName; // 0x7b0 - Class_T m_iClassIgnore; // 0x7b8 - Class_T m_iClassIgnore2; // 0x7bc - CUtlSymbolLarge m_iszEntityIgnoreName; // 0x7c0 - CHandle< CBaseEntity > m_hEntityIgnore; // 0x7c8 + int32_t m_iMagnitude; // 0x778 + float m_flPlayerDamage; // 0x77c + int32_t m_iRadiusOverride; // 0x780 + float m_flInnerRadius; // 0x784 + int32_t m_spriteScale; // 0x788 + float m_flDamageForce; // 0x78c + CHandle< CBaseEntity > m_hInflictor; // 0x790 + int32_t m_iCustomDamageType; // 0x794 +private: + [[maybe_unused]] uint8_t __pad0798[0x8]; // 0x798 +public: + CUtlSymbolLarge m_iszExplosionType; // 0x7a0 + CUtlSymbolLarge m_iszCustomEffectName; // 0x7a8 + CUtlSymbolLarge m_iszCustomSoundName; // 0x7b0 + Class_T m_iClassIgnore; // 0x7b8 + Class_T m_iClassIgnore2; // 0x7bc + CUtlSymbolLarge m_iszEntityIgnoreName; // 0x7c0 + CHandle< CBaseEntity > m_hEntityIgnore; // 0x7c8 }; -// Aligment: 1 -// Size: 1360 -class CFilterName : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x550 +class CFilterName : public CBaseFilter { public: - CUtlSymbolLarge m_iFilterName; // 0x548 + CUtlSymbolLarge m_iFilterName; // 0x548 }; -// Aligment: 1 -// Size: 1360 -class CFilterModel : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x550 +class CFilterModel : public CBaseFilter { public: - CUtlSymbolLarge m_iFilterModel; // 0x548 + CUtlSymbolLarge m_iFilterModel; // 0x548 }; -// Aligment: 1 -// Size: 1360 -class CFilterContext : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x550 +class CFilterContext : public CBaseFilter { public: - CUtlSymbolLarge m_iFilterContext; // 0x548 + CUtlSymbolLarge m_iFilterContext; // 0x548 }; -// Aligment: 1 -// Size: 1360 -class FilterTeam : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x550 +class FilterTeam : public CBaseFilter { public: - int32_t m_iFilterTeam; // 0x548 + int32_t m_iFilterTeam; // 0x548 }; -// Aligment: 1 -// Size: 1360 -class CFilterMassGreater : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x550 +class CFilterMassGreater : public CBaseFilter { public: - float m_fFilterMass; // 0x548 + float m_fFilterMass; // 0x548 }; -// Aligment: 1 -// Size: 1360 -class FilterDamageType : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x550 +class FilterDamageType : public CBaseFilter { public: - int32_t m_iDamageType; // 0x548 + int32_t m_iDamageType; // 0x548 }; -// Aligment: 3 -// Size: 1368 -class FilterHealth : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x558 +class FilterHealth : public CBaseFilter { public: - bool m_bAdrenalineActive; // 0x548 - int32_t m_iHealthMin; // 0x54c - int32_t m_iHealthMax; // 0x550 + bool m_bAdrenalineActive; // 0x548 +private: + [[maybe_unused]] uint8_t __pad0549[0x3]; // 0x549 +public: + int32_t m_iHealthMin; // 0x54c + int32_t m_iHealthMax; // 0x550 }; -// Aligment: 5 -// Size: 1384 -class CFilterEnemy : public CBaseFilter, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x568 +class CFilterEnemy : public CBaseFilter { public: - CUtlSymbolLarge m_iszEnemyName; // 0x548 - float m_flRadius; // 0x550 - float m_flOuterRadius; // 0x554 - int32_t m_nMaxSquadmatesPerEnemy; // 0x558 - CUtlSymbolLarge m_iszPlayerName; // 0x560 + CUtlSymbolLarge m_iszEnemyName; // 0x548 + float m_flRadius; // 0x550 + float m_flOuterRadius; // 0x554 + int32_t m_nMaxSquadmatesPerEnemy; // 0x558 +private: + [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c +public: + CUtlSymbolLarge m_iszPlayerName; // 0x560 }; -// Aligment: 19 -// Size: 2056 -class CFire : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 19 +// Size: 0x808 +class CFire : public CBaseModelEntity { public: - CHandle< CBaseFire > m_hEffect; // 0x778 - CHandle< CBaseEntity > m_hOwner; // 0x77c - int32_t m_nFireType; // 0x780 - float m_flFuel; // 0x784 - float m_flDamageTime; // 0x788 - float m_lastDamage; // 0x78c - float m_flFireSize; // 0x790 - float m_flLastNavUpdateTime; // 0x794 - float m_flHeatLevel; // 0x798 - float m_flHeatAbsorb; // 0x79c - float m_flDamageScale; // 0x7a0 - float m_flMaxHeat; // 0x7a4 - float m_flLastHeatLevel; // 0x7a8 - float m_flAttackTime; // 0x7ac - bool m_bEnabled; // 0x7b0 - bool m_bStartDisabled; // 0x7b1 - bool m_bDidActivate; // 0x7b2 - CEntityIOOutput m_OnIgnited; // 0x7b8 - CEntityIOOutput m_OnExtinguished; // 0x7e0 + CHandle< CBaseFire > m_hEffect; // 0x778 + CHandle< CBaseEntity > m_hOwner; // 0x77c + int32_t m_nFireType; // 0x780 + float m_flFuel; // 0x784 + float m_flDamageTime; // 0x788 + float m_lastDamage; // 0x78c + float m_flFireSize; // 0x790 + float m_flLastNavUpdateTime; // 0x794 + float m_flHeatLevel; // 0x798 + float m_flHeatAbsorb; // 0x79c + float m_flDamageScale; // 0x7a0 + float m_flMaxHeat; // 0x7a4 + float m_flLastHeatLevel; // 0x7a8 + float m_flAttackTime; // 0x7ac + bool m_bEnabled; // 0x7b0 + bool m_bStartDisabled; // 0x7b1 + bool m_bDidActivate; // 0x7b2 +private: + [[maybe_unused]] uint8_t __pad07b3[0x5]; // 0x7b3 +public: + CEntityIOOutput m_OnIgnited; // 0x7b8 + CEntityIOOutput m_OnExtinguished; // 0x7e0 }; -// Aligment: 3 -// Size: 1280 -class CEnvFireSource : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x500 +class CEnvFireSource : public CBaseEntity { public: - bool m_bEnabled; // 0x4f0 - float m_radius; // 0x4f4 - float m_damage; // 0x4f8 + bool m_bEnabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: + float m_radius; // 0x4f4 + float m_damage; // 0x4f8 }; -// Aligment: 8 -// Size: 1368 -class CEnvFireSensor : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x558 +class CEnvFireSensor : public CBaseEntity { public: - bool m_bEnabled; // 0x4f0 - bool m_bHeatAtLevel; // 0x4f1 - float m_radius; // 0x4f4 - float m_targetLevel; // 0x4f8 - float m_targetTime; // 0x4fc - float m_levelTime; // 0x500 - CEntityIOOutput m_OnHeatLevelStart; // 0x508 - CEntityIOOutput m_OnHeatLevelEnd; // 0x530 + bool m_bEnabled; // 0x4f0 + bool m_bHeatAtLevel; // 0x4f1 +private: + [[maybe_unused]] uint8_t __pad04f2[0x2]; // 0x4f2 +public: + float m_radius; // 0x4f4 + float m_targetLevel; // 0x4f8 + float m_targetTime; // 0x4fc + float m_levelTime; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 +public: + CEntityIOOutput m_OnHeatLevelStart; // 0x508 + CEntityIOOutput m_OnHeatLevelEnd; // 0x530 }; -// Aligment: 5 -// Size: 1288 -class CFuncTimescale : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x508 +class CFuncTimescale : public CBaseEntity { public: - float m_flDesiredTimescale; // 0x4f0 - float m_flAcceleration; // 0x4f4 - float m_flMinBlendRate; // 0x4f8 - float m_flBlendDeltaMultiplier; // 0x4fc - bool m_isStarted; // 0x500 + float m_flDesiredTimescale; // 0x4f0 + float m_flAcceleration; // 0x4f4 + float m_flMinBlendRate; // 0x4f8 + float m_flBlendDeltaMultiplier; // 0x4fc + bool m_isStarted; // 0x500 }; -// Aligment: 23 -// Size: 2016 -class CGameUI : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 23 +// Size: 0x7e0 +class CGameUI : public CBaseEntity { public: - float m_flFieldOfView; // 0x4f0 - CHandle< CBasePlayerWeapon > m_hSaveWeapon; // 0x4f4 - CEntityIOOutput m_playerOn; // 0x4f8 - CEntityIOOutput m_playerOff; // 0x520 - CEntityIOOutput m_pressedMoveLeft; // 0x548 - CEntityIOOutput m_pressedMoveRight; // 0x570 - CEntityIOOutput m_pressedForward; // 0x598 - CEntityIOOutput m_pressedBack; // 0x5c0 - CEntityIOOutput m_pressedAttack; // 0x5e8 - CEntityIOOutput m_pressedAttack2; // 0x610 - CEntityIOOutput m_unpressedMoveLeft; // 0x638 - CEntityIOOutput m_unpressedMoveRight; // 0x660 - CEntityIOOutput m_unpressedForward; // 0x688 - CEntityIOOutput m_unpressedBack; // 0x6b0 - CEntityIOOutput m_unpressedAttack; // 0x6d8 - CEntityIOOutput m_unpressedAttack2; // 0x700 - CEntityOutputTemplate< float32 > m_xaxis; // 0x728 - CEntityOutputTemplate< float32 > m_yaxis; // 0x750 - CEntityOutputTemplate< float32 > m_attackaxis; // 0x778 - CEntityOutputTemplate< float32 > m_attack2axis; // 0x7a0 - bool m_bForceUpdate; // 0x7c8 - uint64_t m_nLastButtonState; // 0x7d0 - CHandle< CBasePlayer > m_player; // 0x7d8 + float m_flFieldOfView; // 0x4f0 + CHandle< CBasePlayerWeapon > m_hSaveWeapon; // 0x4f4 + CEntityIOOutput m_playerOn; // 0x4f8 + CEntityIOOutput m_playerOff; // 0x520 + CEntityIOOutput m_pressedMoveLeft; // 0x548 + CEntityIOOutput m_pressedMoveRight; // 0x570 + CEntityIOOutput m_pressedForward; // 0x598 + CEntityIOOutput m_pressedBack; // 0x5c0 + CEntityIOOutput m_pressedAttack; // 0x5e8 + CEntityIOOutput m_pressedAttack2; // 0x610 + CEntityIOOutput m_unpressedMoveLeft; // 0x638 + CEntityIOOutput m_unpressedMoveRight; // 0x660 + CEntityIOOutput m_unpressedForward; // 0x688 + CEntityIOOutput m_unpressedBack; // 0x6b0 + CEntityIOOutput m_unpressedAttack; // 0x6d8 + CEntityIOOutput m_unpressedAttack2; // 0x700 + CEntityOutputTemplate< float32 > m_xaxis; // 0x728 + CEntityOutputTemplate< float32 > m_yaxis; // 0x750 + CEntityOutputTemplate< float32 > m_attackaxis; // 0x778 + CEntityOutputTemplate< float32 > m_attack2axis; // 0x7a0 + bool m_bForceUpdate; // 0x7c8 +private: + [[maybe_unused]] uint8_t __pad07c9[0x7]; // 0x7c9 +public: + uint64_t m_nLastButtonState; // 0x7d0 + CHandle< CBasePlayer > m_player; // 0x7d8 }; -// Aligment: 5 -// Size: 1320 -class CGameWeaponManager : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x528 +class CGameWeaponManager : public CBaseEntity { public: - CUtlSymbolLarge m_iszWeaponName; // 0x4f0 - int32_t m_iMaxPieces; // 0x500 - float m_flAmmoMod; // 0x504 - bool m_bExpectingWeapon; // 0x508 - CUtlVector< CHandle< CBaseEntity > > m_ManagedNonWeapons; // 0x510 + CUtlSymbolLarge m_iszWeaponName; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f8[0x8]; // 0x4f8 +public: + int32_t m_iMaxPieces; // 0x500 + float m_flAmmoMod; // 0x504 + bool m_bExpectingWeapon; // 0x508 +private: + [[maybe_unused]] uint8_t __pad0509[0x7]; // 0x509 +public: + CUtlVector< CHandle< CBaseEntity > > m_ManagedNonWeapons; // 0x510 }; -// Aligment: 7 -// Size: 1944 -class CLightGlow : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x798 +class CLightGlow : public CBaseModelEntity { public: // MNetworkEnable - uint32_t m_nHorizontalSize; // 0x778 + uint32_t m_nHorizontalSize; // 0x778 // MNetworkEnable - uint32_t m_nVerticalSize; // 0x77c + uint32_t m_nVerticalSize; // 0x77c // MNetworkEnable - uint32_t m_nMinDist; // 0x780 + uint32_t m_nMinDist; // 0x780 // MNetworkEnable - uint32_t m_nMaxDist; // 0x784 + uint32_t m_nMaxDist; // 0x784 // MNetworkEnable - uint32_t m_nOuterMaxDist; // 0x788 + uint32_t m_nOuterMaxDist; // 0x788 // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags - float m_flGlowProxySize; // 0x78c + float m_flGlowProxySize; // 0x78c // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" - float m_flHDRColorScale; // 0x790 + float m_flHDRColorScale; // 0x790 }; -// Aligment: 3 -// Size: 1320 -class CLogicAchievement : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x528 +class CLogicAchievement : public CLogicalEntity { public: - bool m_bDisabled; // 0x4f0 - CUtlSymbolLarge m_iszAchievementEventID; // 0x4f8 - CEntityIOOutput m_OnFired; // 0x500 + bool m_bDisabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 +public: + CUtlSymbolLarge m_iszAchievementEventID; // 0x4f8 + CEntityIOOutput m_OnFired; // 0x500 }; -// Aligment: 5 -// Size: 1344 -class CLogicGameEventListener : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x540 +class CLogicGameEventListener : public CLogicalEntity { public: - CEntityIOOutput m_OnEventFired; // 0x500 - CUtlSymbolLarge m_iszGameEventName; // 0x528 - CUtlSymbolLarge m_iszGameEventItem; // 0x530 + CEntityIOOutput m_OnEventFired; // 0x500 + CUtlSymbolLarge m_iszGameEventName; // 0x528 + CUtlSymbolLarge m_iszGameEventItem; // 0x530 // MNetworkEnable - bool m_bEnabled; // 0x538 - bool m_bStartDisabled; // 0x539 + bool m_bEnabled; // 0x538 + bool m_bStartDisabled; // 0x539 }; -// Aligment: 9 -// Size: 1312 -class CLogicMeasureMovement : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x520 +class CLogicMeasureMovement : public CLogicalEntity { public: - CUtlSymbolLarge m_strMeasureTarget; // 0x4f0 - CUtlSymbolLarge m_strMeasureReference; // 0x4f8 - CUtlSymbolLarge m_strTargetReference; // 0x500 - CHandle< CBaseEntity > m_hMeasureTarget; // 0x508 - CHandle< CBaseEntity > m_hMeasureReference; // 0x50c - CHandle< CBaseEntity > m_hTarget; // 0x510 - CHandle< CBaseEntity > m_hTargetReference; // 0x514 - float m_flScale; // 0x518 - int32_t m_nMeasureType; // 0x51c + CUtlSymbolLarge m_strMeasureTarget; // 0x4f0 + CUtlSymbolLarge m_strMeasureReference; // 0x4f8 + CUtlSymbolLarge m_strTargetReference; // 0x500 + CHandle< CBaseEntity > m_hMeasureTarget; // 0x508 + CHandle< CBaseEntity > m_hMeasureReference; // 0x50c + CHandle< CBaseEntity > m_hTarget; // 0x510 + CHandle< CBaseEntity > m_hTargetReference; // 0x514 + float m_flScale; // 0x518 + int32_t m_nMeasureType; // 0x51c }; -// Aligment: 2 -// Size: 1280 -class CLogicNavigation : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x500 +class CLogicNavigation : public CLogicalEntity { public: - bool m_isOn; // 0x4f8 - navproperties_t m_navProperty; // 0x4fc + bool m_isOn; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 +public: + navproperties_t m_navProperty; // 0x4fc }; -// Aligment: 48 -// Size: 2096 -class CLogicNPCCounter : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 48 +// Size: 0x830 +class CLogicNPCCounter : public CBaseEntity { public: - CEntityIOOutput m_OnMinCountAll; // 0x4f0 - CEntityIOOutput m_OnMaxCountAll; // 0x518 - CEntityOutputTemplate< float32 > m_OnFactorAll; // 0x540 - CEntityOutputTemplate< float32 > m_OnMinPlayerDistAll; // 0x568 - CEntityIOOutput m_OnMinCount_1; // 0x590 - CEntityIOOutput m_OnMaxCount_1; // 0x5b8 - CEntityOutputTemplate< float32 > m_OnFactor_1; // 0x5e0 - CEntityOutputTemplate< float32 > m_OnMinPlayerDist_1; // 0x608 - CEntityIOOutput m_OnMinCount_2; // 0x630 - CEntityIOOutput m_OnMaxCount_2; // 0x658 - CEntityOutputTemplate< float32 > m_OnFactor_2; // 0x680 - CEntityOutputTemplate< float32 > m_OnMinPlayerDist_2; // 0x6a8 - CEntityIOOutput m_OnMinCount_3; // 0x6d0 - CEntityIOOutput m_OnMaxCount_3; // 0x6f8 - CEntityOutputTemplate< float32 > m_OnFactor_3; // 0x720 - CEntityOutputTemplate< float32 > m_OnMinPlayerDist_3; // 0x748 - CEntityHandle m_hSource; // 0x770 - CUtlSymbolLarge m_iszSourceEntityName; // 0x778 - float m_flDistanceMax; // 0x780 - bool m_bDisabled; // 0x784 - int32_t m_nMinCountAll; // 0x788 - int32_t m_nMaxCountAll; // 0x78c - int32_t m_nMinFactorAll; // 0x790 - int32_t m_nMaxFactorAll; // 0x794 - CUtlSymbolLarge m_iszNPCClassname_1; // 0x7a0 - int32_t m_nNPCState_1; // 0x7a8 - bool m_bInvertState_1; // 0x7ac - int32_t m_nMinCount_1; // 0x7b0 - int32_t m_nMaxCount_1; // 0x7b4 - int32_t m_nMinFactor_1; // 0x7b8 - int32_t m_nMaxFactor_1; // 0x7bc - float m_flDefaultDist_1; // 0x7c4 - CUtlSymbolLarge m_iszNPCClassname_2; // 0x7c8 - int32_t m_nNPCState_2; // 0x7d0 - bool m_bInvertState_2; // 0x7d4 - int32_t m_nMinCount_2; // 0x7d8 - int32_t m_nMaxCount_2; // 0x7dc - int32_t m_nMinFactor_2; // 0x7e0 - int32_t m_nMaxFactor_2; // 0x7e4 - float m_flDefaultDist_2; // 0x7ec - CUtlSymbolLarge m_iszNPCClassname_3; // 0x7f0 - int32_t m_nNPCState_3; // 0x7f8 - bool m_bInvertState_3; // 0x7fc - int32_t m_nMinCount_3; // 0x800 - int32_t m_nMaxCount_3; // 0x804 - int32_t m_nMinFactor_3; // 0x808 - int32_t m_nMaxFactor_3; // 0x80c - float m_flDefaultDist_3; // 0x814 + CEntityIOOutput m_OnMinCountAll; // 0x4f0 + CEntityIOOutput m_OnMaxCountAll; // 0x518 + CEntityOutputTemplate< float32 > m_OnFactorAll; // 0x540 + CEntityOutputTemplate< float32 > m_OnMinPlayerDistAll; // 0x568 + CEntityIOOutput m_OnMinCount_1; // 0x590 + CEntityIOOutput m_OnMaxCount_1; // 0x5b8 + CEntityOutputTemplate< float32 > m_OnFactor_1; // 0x5e0 + CEntityOutputTemplate< float32 > m_OnMinPlayerDist_1; // 0x608 + CEntityIOOutput m_OnMinCount_2; // 0x630 + CEntityIOOutput m_OnMaxCount_2; // 0x658 + CEntityOutputTemplate< float32 > m_OnFactor_2; // 0x680 + CEntityOutputTemplate< float32 > m_OnMinPlayerDist_2; // 0x6a8 + CEntityIOOutput m_OnMinCount_3; // 0x6d0 + CEntityIOOutput m_OnMaxCount_3; // 0x6f8 + CEntityOutputTemplate< float32 > m_OnFactor_3; // 0x720 + CEntityOutputTemplate< float32 > m_OnMinPlayerDist_3; // 0x748 + CEntityHandle m_hSource; // 0x770 +private: + [[maybe_unused]] uint8_t __pad0774[0x4]; // 0x774 +public: + CUtlSymbolLarge m_iszSourceEntityName; // 0x778 + float m_flDistanceMax; // 0x780 + bool m_bDisabled; // 0x784 +private: + [[maybe_unused]] uint8_t __pad0785[0x3]; // 0x785 +public: + int32_t m_nMinCountAll; // 0x788 + int32_t m_nMaxCountAll; // 0x78c + int32_t m_nMinFactorAll; // 0x790 + int32_t m_nMaxFactorAll; // 0x794 +private: + [[maybe_unused]] uint8_t __pad0798[0x8]; // 0x798 +public: + CUtlSymbolLarge m_iszNPCClassname_1; // 0x7a0 + int32_t m_nNPCState_1; // 0x7a8 + bool m_bInvertState_1; // 0x7ac +private: + [[maybe_unused]] uint8_t __pad07ad[0x3]; // 0x7ad +public: + int32_t m_nMinCount_1; // 0x7b0 + int32_t m_nMaxCount_1; // 0x7b4 + int32_t m_nMinFactor_1; // 0x7b8 + int32_t m_nMaxFactor_1; // 0x7bc +private: + [[maybe_unused]] uint8_t __pad07c0[0x4]; // 0x7c0 +public: + float m_flDefaultDist_1; // 0x7c4 + CUtlSymbolLarge m_iszNPCClassname_2; // 0x7c8 + int32_t m_nNPCState_2; // 0x7d0 + bool m_bInvertState_2; // 0x7d4 +private: + [[maybe_unused]] uint8_t __pad07d5[0x3]; // 0x7d5 +public: + int32_t m_nMinCount_2; // 0x7d8 + int32_t m_nMaxCount_2; // 0x7dc + int32_t m_nMinFactor_2; // 0x7e0 + int32_t m_nMaxFactor_2; // 0x7e4 +private: + [[maybe_unused]] uint8_t __pad07e8[0x4]; // 0x7e8 +public: + float m_flDefaultDist_2; // 0x7ec + CUtlSymbolLarge m_iszNPCClassname_3; // 0x7f0 + int32_t m_nNPCState_3; // 0x7f8 + bool m_bInvertState_3; // 0x7fc +private: + [[maybe_unused]] uint8_t __pad07fd[0x3]; // 0x7fd +public: + int32_t m_nMinCount_3; // 0x800 + int32_t m_nMaxCount_3; // 0x804 + int32_t m_nMinFactor_3; // 0x808 + int32_t m_nMaxFactor_3; // 0x80c +private: + [[maybe_unused]] uint8_t __pad0810[0x4]; // 0x810 +public: + float m_flDefaultDist_3; // 0x814 }; -// Aligment: 4 -// Size: 2144 -class CLogicNPCCounterAABB : public CLogicNPCCounter, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x860 +class CLogicNPCCounterAABB : public CLogicNPCCounter { public: - Vector m_vDistanceOuterMins; // 0x830 - Vector m_vDistanceOuterMaxs; // 0x83c - Vector m_vOuterMins; // 0x848 - Vector m_vOuterMaxs; // 0x854 + Vector m_vDistanceOuterMins; // 0x830 + Vector m_vDistanceOuterMaxs; // 0x83c + Vector m_vOuterMins; // 0x848 + Vector m_vOuterMaxs; // 0x854 }; -// Aligment: 0 -// Size: 2144 -class CLogicNPCCounterOBB : public CLogicNPCCounterAABB, CLogicNPCCounter, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x860 +class CLogicNPCCounterOBB : public CLogicNPCCounterAABB { public: -// + // no members available }; -// Aligment: 5 -// Size: 1432 -class CLogicPlayerProxy : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x598 +class CLogicPlayerProxy : public CLogicalEntity { public: - CHandle< CBaseEntity > m_hPlayer; // 0x4f0 - CEntityIOOutput m_PlayerHasAmmo; // 0x4f8 - CEntityIOOutput m_PlayerHasNoAmmo; // 0x520 - CEntityIOOutput m_PlayerDied; // 0x548 - CEntityOutputTemplate< int32 > m_RequestedPlayerHealth; // 0x570 + CHandle< CBaseEntity > m_hPlayer; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 +public: + CEntityIOOutput m_PlayerHasAmmo; // 0x4f8 + CEntityIOOutput m_PlayerHasNoAmmo; // 0x520 + CEntityIOOutput m_PlayerDied; // 0x548 + CEntityOutputTemplate< int32 > m_RequestedPlayerHealth; // 0x570 }; -// Aligment: 11 -// Size: 1672 -class CLogicAuto : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 11 +// Size: 0x688 +class CLogicAuto : public CBaseEntity { public: - CEntityIOOutput m_OnMapSpawn; // 0x4f0 - CEntityIOOutput m_OnDemoMapSpawn; // 0x518 - CEntityIOOutput m_OnNewGame; // 0x540 - CEntityIOOutput m_OnLoadGame; // 0x568 - CEntityIOOutput m_OnMapTransition; // 0x590 - CEntityIOOutput m_OnBackgroundMap; // 0x5b8 - CEntityIOOutput m_OnMultiNewMap; // 0x5e0 - CEntityIOOutput m_OnMultiNewRound; // 0x608 - CEntityIOOutput m_OnVREnabled; // 0x630 - CEntityIOOutput m_OnVRNotEnabled; // 0x658 - CUtlSymbolLarge m_globalstate; // 0x680 + CEntityIOOutput m_OnMapSpawn; // 0x4f0 + CEntityIOOutput m_OnDemoMapSpawn; // 0x518 + CEntityIOOutput m_OnNewGame; // 0x540 + CEntityIOOutput m_OnLoadGame; // 0x568 + CEntityIOOutput m_OnMapTransition; // 0x590 + CEntityIOOutput m_OnBackgroundMap; // 0x5b8 + CEntityIOOutput m_OnMultiNewMap; // 0x5e0 + CEntityIOOutput m_OnMultiNewRound; // 0x608 + CEntityIOOutput m_OnVREnabled; // 0x630 + CEntityIOOutput m_OnVRNotEnabled; // 0x658 + CUtlSymbolLarge m_globalstate; // 0x680 }; -// Aligment: 0 -// Size: 1264 -class CLogicScript : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CLogicScript : public CPointEntity { public: -// + // no members available }; -// Aligment: 12 -// Size: 1424 -class CTimerEntity : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x590 +class CTimerEntity : public CLogicalEntity { public: - CEntityIOOutput m_OnTimer; // 0x4f0 - CEntityIOOutput m_OnTimerHigh; // 0x518 - CEntityIOOutput m_OnTimerLow; // 0x540 - int32_t m_iDisabled; // 0x568 - float m_flInitialDelay; // 0x56c - float m_flRefireTime; // 0x570 - bool m_bUpDownState; // 0x574 - int32_t m_iUseRandomTime; // 0x578 - float m_flLowerRandomBound; // 0x57c - float m_flUpperRandomBound; // 0x580 - float m_flRemainingTime; // 0x584 - bool m_bPaused; // 0x588 + CEntityIOOutput m_OnTimer; // 0x4f0 + CEntityIOOutput m_OnTimerHigh; // 0x518 + CEntityIOOutput m_OnTimerLow; // 0x540 + int32_t m_iDisabled; // 0x568 + float m_flInitialDelay; // 0x56c + float m_flRefireTime; // 0x570 + bool m_bUpDownState; // 0x574 +private: + [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 +public: + int32_t m_iUseRandomTime; // 0x578 + float m_flLowerRandomBound; // 0x57c + float m_flUpperRandomBound; // 0x580 + float m_flRemainingTime; // 0x584 + bool m_bPaused; // 0x588 }; -// Aligment: 4 -// Size: 1320 -class CLogicLineToEntity : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x528 +class CLogicLineToEntity : public CLogicalEntity { public: - CEntityOutputTemplate< Vector > m_Line; // 0x4f0 - CUtlSymbolLarge m_SourceName; // 0x518 - CHandle< CBaseEntity > m_StartEntity; // 0x520 - CHandle< CBaseEntity > m_EndEntity; // 0x524 + CEntityOutputTemplate< Vector > m_Line; // 0x4f0 + CUtlSymbolLarge m_SourceName; // 0x518 + CHandle< CBaseEntity > m_StartEntity; // 0x520 + CHandle< CBaseEntity > m_EndEntity; // 0x524 }; -// Aligment: 11 -// Size: 1488 -class CMathRemap : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 11 +// Size: 0x5d0 +class CMathRemap : public CLogicalEntity { public: - float m_flInMin; // 0x4f0 - float m_flInMax; // 0x4f4 - float m_flOut1; // 0x4f8 - float m_flOut2; // 0x4fc - float m_flOldInValue; // 0x500 - bool m_bEnabled; // 0x504 - CEntityOutputTemplate< float32 > m_OutValue; // 0x508 - CEntityIOOutput m_OnRoseAboveMin; // 0x530 - CEntityIOOutput m_OnRoseAboveMax; // 0x558 - CEntityIOOutput m_OnFellBelowMin; // 0x580 - CEntityIOOutput m_OnFellBelowMax; // 0x5a8 + float m_flInMin; // 0x4f0 + float m_flInMax; // 0x4f4 + float m_flOut1; // 0x4f8 + float m_flOut2; // 0x4fc + float m_flOldInValue; // 0x500 + bool m_bEnabled; // 0x504 +private: + [[maybe_unused]] uint8_t __pad0505[0x3]; // 0x505 +public: + CEntityOutputTemplate< float32 > m_OutValue; // 0x508 + CEntityIOOutput m_OnRoseAboveMin; // 0x530 + CEntityIOOutput m_OnRoseAboveMax; // 0x558 + CEntityIOOutput m_OnFellBelowMin; // 0x580 + CEntityIOOutput m_OnFellBelowMax; // 0x5a8 }; -// Aligment: 5 -// Size: 1320 -class CMathColorBlend : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x528 +class CMathColorBlend : public CLogicalEntity { public: - float m_flInMin; // 0x4f0 - float m_flInMax; // 0x4f4 - Color m_OutColor1; // 0x4f8 - Color m_OutColor2; // 0x4fc - CEntityOutputTemplate< Color > m_OutValue; // 0x500 + float m_flInMin; // 0x4f0 + float m_flInMax; // 0x4f4 + Color m_OutColor1; // 0x4f8 + Color m_OutColor2; // 0x4fc + CEntityOutputTemplate< Color > m_OutValue; // 0x500 }; -// Aligment: 5 -// Size: 1328 -class CEnvGlobal : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x530 +class CEnvGlobal : public CLogicalEntity { public: - CEntityOutputTemplate< int32 > m_outCounter; // 0x4f0 - CUtlSymbolLarge m_globalstate; // 0x518 - int32_t m_triggermode; // 0x520 - int32_t m_initialstate; // 0x524 - int32_t m_counter; // 0x528 + CEntityOutputTemplate< int32 > m_outCounter; // 0x4f0 + CUtlSymbolLarge m_globalstate; // 0x518 + int32_t m_triggermode; // 0x520 + int32_t m_initialstate; // 0x524 + int32_t m_counter; // 0x528 }; -// Aligment: 5 -// Size: 1576 -class CMultiSource : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x628 +class CMultiSource : public CLogicalEntity { public: - CHandle< CBaseEntity >[32] m_rgEntities; // 0x4f0 - int32[32] m_rgTriggered; // 0x570 - CEntityIOOutput m_OnTrigger; // 0x5f0 - int32_t m_iTotal; // 0x618 - CUtlSymbolLarge m_globalstate; // 0x620 + CHandle< CBaseEntity > m_rgEntities[32]; // 0x4f0 + int32_t m_rgTriggered[32]; // 0x570 + CEntityIOOutput m_OnTrigger; // 0x5f0 + int32_t m_iTotal; // 0x618 +private: + [[maybe_unused]] uint8_t __pad061c[0x4]; // 0x61c +public: + CUtlSymbolLarge m_globalstate; // 0x620 }; -// Aligment: 11 -// Size: 1520 -class CMathCounter : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 11 +// Size: 0x5f0 +class CMathCounter : public CLogicalEntity { public: - float m_flMin; // 0x4f0 - float m_flMax; // 0x4f4 - bool m_bHitMin; // 0x4f8 - bool m_bHitMax; // 0x4f9 - bool m_bDisabled; // 0x4fa - CEntityOutputTemplate< float32 > m_OutValue; // 0x500 - CEntityOutputTemplate< float32 > m_OnGetValue; // 0x528 - CEntityIOOutput m_OnHitMin; // 0x550 - CEntityIOOutput m_OnHitMax; // 0x578 - CEntityIOOutput m_OnChangedFromMin; // 0x5a0 - CEntityIOOutput m_OnChangedFromMax; // 0x5c8 + float m_flMin; // 0x4f0 + float m_flMax; // 0x4f4 + bool m_bHitMin; // 0x4f8 + bool m_bHitMax; // 0x4f9 + bool m_bDisabled; // 0x4fa +private: + [[maybe_unused]] uint8_t __pad04fb[0x5]; // 0x4fb +public: + CEntityOutputTemplate< float32 > m_OutValue; // 0x500 + CEntityOutputTemplate< float32 > m_OnGetValue; // 0x528 + CEntityIOOutput m_OnHitMin; // 0x550 + CEntityIOOutput m_OnHitMax; // 0x578 + CEntityIOOutput m_OnChangedFromMin; // 0x5a0 + CEntityIOOutput m_OnChangedFromMax; // 0x5c8 }; -// Aligment: 6 -// Size: 2880 -class CLogicCase : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0xb40 +class CLogicCase : public CLogicalEntity { public: - CUtlSymbolLarge[32] m_nCase; // 0x4f0 - int32_t m_nShuffleCases; // 0x5f0 - int32_t m_nLastShuffleCase; // 0x5f4 - uint8[32] m_uchShuffleCaseMap; // 0x5f8 - CEntityIOOutput[32] m_OnCase; // 0x618 - CEntityOutputTemplate< CVariantBase< CVariantDefaultAllocator > > m_OnDefault; // 0xb18 + CUtlSymbolLarge m_nCase[32]; // 0x4f0 + int32_t m_nShuffleCases; // 0x5f0 + int32_t m_nLastShuffleCase; // 0x5f4 + uint8_t m_uchShuffleCaseMap[32]; // 0x5f8 + CEntityIOOutput m_OnCase[32]; // 0x618 + CEntityOutputTemplate< CVariantBase< CVariantDefaultAllocator > > m_OnDefault; // 0xb18 }; -// Aligment: 6 -// Size: 1432 -class CLogicCompare : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x598 +class CLogicCompare : public CLogicalEntity { public: - float m_flInValue; // 0x4f0 - float m_flCompareValue; // 0x4f4 - CEntityOutputTemplate< float32 > m_OnLessThan; // 0x4f8 - CEntityOutputTemplate< float32 > m_OnEqualTo; // 0x520 - CEntityOutputTemplate< float32 > m_OnNotEqualTo; // 0x548 - CEntityOutputTemplate< float32 > m_OnGreaterThan; // 0x570 + float m_flInValue; // 0x4f0 + float m_flCompareValue; // 0x4f4 + CEntityOutputTemplate< float32 > m_OnLessThan; // 0x4f8 + CEntityOutputTemplate< float32 > m_OnEqualTo; // 0x520 + CEntityOutputTemplate< float32 > m_OnNotEqualTo; // 0x548 + CEntityOutputTemplate< float32 > m_OnGreaterThan; // 0x570 }; -// Aligment: 3 -// Size: 1280 -class CLogicAutosave : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x500 +class CLogicAutosave : public CLogicalEntity { public: - bool m_bForceNewLevelUnit; // 0x4f0 - int32_t m_minHitPoints; // 0x4f4 - int32_t m_minHitPointsToCommit; // 0x4f8 + bool m_bForceNewLevelUnit; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: + int32_t m_minHitPoints; // 0x4f4 + int32_t m_minHitPointsToCommit; // 0x4f8 }; -// Aligment: 4 -// Size: 1296 -class CLogicActiveAutosave : public CLogicAutosave, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x510 +class CLogicActiveAutosave : public CLogicAutosave { public: - int32_t m_TriggerHitPoints; // 0x500 - float m_flTimeToTrigger; // 0x504 - float m_flStartTime; // 0x508 - float m_flDangerousTime; // 0x50c + int32_t m_TriggerHitPoints; // 0x500 + float m_flTimeToTrigger; // 0x504 + float m_flStartTime; // 0x508 + float m_flDangerousTime; // 0x50c }; -// Aligment: 6 -// Size: 1288 -class CLogicDistanceAutosave : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x508 +class CLogicDistanceAutosave : public CLogicalEntity { public: - CUtlSymbolLarge m_iszTargetEntity; // 0x4f0 - float m_flDistanceToPlayer; // 0x4f8 - bool m_bForceNewLevelUnit; // 0x4fc - bool m_bCheckCough; // 0x4fd - bool m_bThinkDangerous; // 0x4fe - float m_flDangerousTime; // 0x500 + CUtlSymbolLarge m_iszTargetEntity; // 0x4f0 + float m_flDistanceToPlayer; // 0x4f8 + bool m_bForceNewLevelUnit; // 0x4fc + bool m_bCheckCough; // 0x4fd + bool m_bThinkDangerous; // 0x4fe +private: + [[maybe_unused]] uint8_t __pad04ff[0x1]; // 0x4ff +public: + float m_flDangerousTime; // 0x500 }; -// Aligment: 4 -// Size: 1288 -class CLogicCollisionPair : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x508 +class CLogicCollisionPair : public CLogicalEntity { public: - CUtlSymbolLarge m_nameAttach1; // 0x4f0 - CUtlSymbolLarge m_nameAttach2; // 0x4f8 - bool m_disabled; // 0x500 - bool m_succeeded; // 0x501 + CUtlSymbolLarge m_nameAttach1; // 0x4f0 + CUtlSymbolLarge m_nameAttach2; // 0x4f8 + bool m_disabled; // 0x500 + bool m_succeeded; // 0x501 }; -// Aligment: 6 -// Size: 1544 -class CLogicBranchList : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x608 +class CLogicBranchList : public CLogicalEntity { public: - CUtlSymbolLarge[16] m_nLogicBranchNames; // 0x4f0 - CUtlVector< CHandle< CBaseEntity > > m_LogicBranchList; // 0x570 - CLogicBranchList::LogicBranchListenerLastState_t m_eLastState; // 0x588 - CEntityIOOutput m_OnAllTrue; // 0x590 - CEntityIOOutput m_OnAllFalse; // 0x5b8 - CEntityIOOutput m_OnMixed; // 0x5e0 + CUtlSymbolLarge m_nLogicBranchNames[16]; // 0x4f0 + CUtlVector< CHandle< CBaseEntity > > m_LogicBranchList; // 0x570 + CLogicBranchList::LogicBranchListenerLastState_t m_eLastState; // 0x588 +private: + [[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c +public: + CEntityIOOutput m_OnAllTrue; // 0x590 + CEntityIOOutput m_OnAllFalse; // 0x5b8 + CEntityIOOutput m_OnMixed; // 0x5e0 }; -// Aligment: 1 -// Size: 1272 -class CLogicGameEvent : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x4f8 +class CLogicGameEvent : public CLogicalEntity { public: - CUtlSymbolLarge m_iszEventName; // 0x4f0 + CUtlSymbolLarge m_iszEventName; // 0x4f0 }; -// Aligment: 1 -// Size: 1920 -class CRuleEntity : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x780 +class CRuleEntity : public CBaseModelEntity { public: - CUtlSymbolLarge m_iszMaster; // 0x778 + CUtlSymbolLarge m_iszMaster; // 0x778 }; -// Aligment: 1 -// Size: 1928 -class CRulePointEntity : public CRuleEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x788 +class CRulePointEntity : public CRuleEntity { public: - int32_t m_Score; // 0x780 + int32_t m_Score; // 0x780 }; -// Aligment: 0 -// Size: 1920 -class CRuleBrushEntity : public CRuleEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x780 +class CRuleBrushEntity : public CRuleEntity { public: -// + // no members available }; -// Aligment: 2 -// Size: 1976 -class CGameText : public CRulePointEntity, CRuleEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x7b8 +class CGameText : public CRulePointEntity { public: - CUtlSymbolLarge m_iszMessage; // 0x788 - hudtextparms_t m_textParms; // 0x790 + CUtlSymbolLarge m_iszMessage; // 0x788 + hudtextparms_t m_textParms; // 0x790 }; -// Aligment: 4 -// Size: 2080 -class CGamePlayerZone : public CRuleBrushEntity, CRuleEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x820 +class CGamePlayerZone : public CRuleBrushEntity { public: - CEntityIOOutput m_OnPlayerInZone; // 0x780 - CEntityIOOutput m_OnPlayerOutZone; // 0x7a8 - CEntityOutputTemplate< int32 > m_PlayersInCount; // 0x7d0 - CEntityOutputTemplate< int32 > m_PlayersOutCount; // 0x7f8 + CEntityIOOutput m_OnPlayerInZone; // 0x780 + CEntityIOOutput m_OnPlayerOutZone; // 0x7a8 + CEntityOutputTemplate< int32 > m_PlayersInCount; // 0x7d0 + CEntityOutputTemplate< int32 > m_PlayersOutCount; // 0x7f8 }; -// Aligment: 2 -// Size: 2312 -class CGamePlayerEquip : public CRulePointEntity, CRuleEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x908 +class CGamePlayerEquip : public CRulePointEntity { public: - CUtlSymbolLarge[32] m_weaponNames; // 0x788 - int32[32] m_weaponCount; // 0x888 + CUtlSymbolLarge m_weaponNames[32]; // 0x788 + int32_t m_weaponCount[32]; // 0x888 }; -// Aligment: 5 -// Size: 1288 -class CMessageEntity : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x508 +class CMessageEntity : public CPointEntity { public: - int32_t m_radius; // 0x4f0 - CUtlSymbolLarge m_messageText; // 0x4f8 - bool m_drawText; // 0x500 - bool m_bDeveloperOnly; // 0x501 - bool m_bEnabled; // 0x502 + int32_t m_radius; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 +public: + CUtlSymbolLarge m_messageText; // 0x4f8 + bool m_drawText; // 0x500 + bool m_bDeveloperOnly; // 0x501 + bool m_bEnabled; // 0x502 }; -// Aligment: 5 -// Size: 2040 -class CTriggerBrush : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x7f8 +class CTriggerBrush : public CBaseModelEntity { public: - CEntityIOOutput m_OnStartTouch; // 0x778 - CEntityIOOutput m_OnEndTouch; // 0x7a0 - CEntityIOOutput m_OnUse; // 0x7c8 - int32_t m_iInputFilter; // 0x7f0 - int32_t m_iDontMessageParent; // 0x7f4 + CEntityIOOutput m_OnStartTouch; // 0x778 + CEntityIOOutput m_OnEndTouch; // 0x7a0 + CEntityIOOutput m_OnUse; // 0x7c8 + int32_t m_iInputFilter; // 0x7f0 + int32_t m_iDontMessageParent; // 0x7f4 }; -// Aligment: 8 -// Size: 1344 -class CPathKeyFrame : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x540 +class CPathKeyFrame : public CLogicalEntity { public: - Vector m_Origin; // 0x4f0 - QAngle m_Angles; // 0x4fc - Quaternion m_qAngle; // 0x508 - CUtlSymbolLarge m_iNextKey; // 0x518 - float m_flNextTime; // 0x520 - CPathKeyFrame* m_pNextKey; // 0x528 - CPathKeyFrame* m_pPrevKey; // 0x530 - float m_flSpeed; // 0x538 + Vector m_Origin; // 0x4f0 + QAngle m_Angles; // 0x4fc + Quaternion m_qAngle; // 0x508 + CUtlSymbolLarge m_iNextKey; // 0x518 + float m_flNextTime; // 0x520 +private: + [[maybe_unused]] uint8_t __pad0524[0x4]; // 0x524 +public: + CPathKeyFrame* m_pNextKey; // 0x528 + CPathKeyFrame* m_pPrevKey; // 0x530 + float m_flSpeed; // 0x538 }; -// Aligment: 11 -// Size: 1408 -class CBaseMoveBehavior : public CPathKeyFrame, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 11 +// Size: 0x580 +class CBaseMoveBehavior : public CPathKeyFrame { public: - int32_t m_iPositionInterpolator; // 0x540 - int32_t m_iRotationInterpolator; // 0x544 - float m_flAnimStartTime; // 0x548 - float m_flAnimEndTime; // 0x54c - float m_flAverageSpeedAcrossFrame; // 0x550 - CPathKeyFrame* m_pCurrentKeyFrame; // 0x558 - CPathKeyFrame* m_pTargetKeyFrame; // 0x560 - CPathKeyFrame* m_pPreKeyFrame; // 0x568 - CPathKeyFrame* m_pPostKeyFrame; // 0x570 - float m_flTimeIntoFrame; // 0x578 - int32_t m_iDirection; // 0x57c + int32_t m_iPositionInterpolator; // 0x540 + int32_t m_iRotationInterpolator; // 0x544 + float m_flAnimStartTime; // 0x548 + float m_flAnimEndTime; // 0x54c + float m_flAverageSpeedAcrossFrame; // 0x550 +private: + [[maybe_unused]] uint8_t __pad0554[0x4]; // 0x554 +public: + CPathKeyFrame* m_pCurrentKeyFrame; // 0x558 + CPathKeyFrame* m_pTargetKeyFrame; // 0x560 + CPathKeyFrame* m_pPreKeyFrame; // 0x568 + CPathKeyFrame* m_pPostKeyFrame; // 0x570 + float m_flTimeIntoFrame; // 0x578 + int32_t m_iDirection; // 0x57c }; -// Aligment: 4 -// Size: 1320 -class CPathCorner : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x528 +class CPathCorner : public CPointEntity { public: - float m_flWait; // 0x4f0 - float m_flRadius; // 0x4f4 - CEntityIOOutput m_OnPass; // 0x4f8 - CUtlSymbolLarge m_MoveActivityName; // 0x520 + float m_flWait; // 0x4f0 + float m_flRadius; // 0x4f4 + CEntityIOOutput m_OnPass; // 0x4f8 + CUtlSymbolLarge m_MoveActivityName; // 0x520 }; -// Aligment: 6 -// Size: 1360 -class CPhysForce : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x550 +class CPhysForce : public CPointEntity { public: - CUtlSymbolLarge m_nameAttach; // 0x4f8 - float m_force; // 0x500 - float m_forceTime; // 0x504 - CHandle< CBaseEntity > m_attachedObject; // 0x508 - bool m_wasRestored; // 0x50c - CConstantForceController m_integrator; // 0x510 + CUtlSymbolLarge m_nameAttach; // 0x4f8 + float m_force; // 0x500 + float m_forceTime; // 0x504 + CHandle< CBaseEntity > m_attachedObject; // 0x508 + bool m_wasRestored; // 0x50c +private: + [[maybe_unused]] uint8_t __pad050d[0x3]; // 0x50d +public: + CConstantForceController m_integrator; // 0x510 }; -// Aligment: 1 -// Size: 1376 -class CPhysThruster : public CPhysForce, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x560 +class CPhysThruster : public CPhysForce { public: - Vector m_localOrigin; // 0x550 + Vector m_localOrigin; // 0x550 }; -// Aligment: 1 -// Size: 1376 -class CPhysTorque : public CPhysForce, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x560 +class CPhysTorque : public CPhysForce { public: - Vector m_axis; // 0x550 + Vector m_axis; // 0x550 }; -// Aligment: 7 -// Size: 1344 -class CPhysMotor : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x540 +class CPhysMotor : public CLogicalEntity { public: - CUtlSymbolLarge m_nameAttach; // 0x4f0 - CHandle< CBaseEntity > m_hAttachedObject; // 0x4f8 - float m_spinUp; // 0x4fc - float m_additionalAcceleration; // 0x500 - float m_angularAcceleration; // 0x504 - float m_lastTime; // 0x508 - CMotorController m_motor; // 0x520 + CUtlSymbolLarge m_nameAttach; // 0x4f0 + CHandle< CBaseEntity > m_hAttachedObject; // 0x4f8 + float m_spinUp; // 0x4fc + float m_additionalAcceleration; // 0x500 + float m_angularAcceleration; // 0x504 + float m_lastTime; // 0x508 +private: + [[maybe_unused]] uint8_t __pad050c[0x14]; // 0x50c +public: + CMotorController m_motor; // 0x520 }; -// Aligment: 7 -// Size: 1328 -class CKeepUpright : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x530 +class CKeepUpright : public CPointEntity { public: - Vector m_worldGoalAxis; // 0x4f8 - Vector m_localTestAxis; // 0x504 - CUtlSymbolLarge m_nameAttach; // 0x518 - CHandle< CBaseEntity > m_attachedObject; // 0x520 - float m_angularLimit; // 0x524 - bool m_bActive; // 0x528 - bool m_bDampAllRotation; // 0x529 + Vector m_worldGoalAxis; // 0x4f8 + Vector m_localTestAxis; // 0x504 +private: + [[maybe_unused]] uint8_t __pad0510[0x8]; // 0x510 +public: + CUtlSymbolLarge m_nameAttach; // 0x518 + CHandle< CBaseEntity > m_attachedObject; // 0x520 + float m_angularLimit; // 0x524 + bool m_bActive; // 0x528 + bool m_bDampAllRotation; // 0x529 }; -// Aligment: 8 -// Size: 1352 -class CPhysConstraint : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x548 +class CPhysConstraint : public CLogicalEntity { public: - CUtlSymbolLarge m_nameAttach1; // 0x4f8 - CUtlSymbolLarge m_nameAttach2; // 0x500 - CUtlSymbolLarge m_breakSound; // 0x508 - float m_forceLimit; // 0x510 - float m_torqueLimit; // 0x514 - uint32_t m_teleportTick; // 0x518 - float m_minTeleportDistance; // 0x51c - CEntityIOOutput m_OnBreak; // 0x520 + CUtlSymbolLarge m_nameAttach1; // 0x4f8 + CUtlSymbolLarge m_nameAttach2; // 0x500 + CUtlSymbolLarge m_breakSound; // 0x508 + float m_forceLimit; // 0x510 + float m_torqueLimit; // 0x514 + uint32_t m_teleportTick; // 0x518 + float m_minTeleportDistance; // 0x51c + CEntityIOOutput m_OnBreak; // 0x520 }; -// Aligment: 18 -// Size: 1768 -class CPhysHinge : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 18 +// Size: 0x6e8 +class CPhysHinge : public CPhysConstraint { public: - ConstraintSoundInfo m_soundInfo; // 0x550 - CEntityIOOutput m_NotifyMinLimitReached; // 0x5d8 - CEntityIOOutput m_NotifyMaxLimitReached; // 0x600 - bool m_bAtMinLimit; // 0x628 - bool m_bAtMaxLimit; // 0x629 - constraint_hingeparams_t m_hinge; // 0x62c - float m_hingeFriction; // 0x66c - float m_systemLoadScale; // 0x670 - bool m_bIsAxisLocal; // 0x674 - float m_flMinRotation; // 0x678 - float m_flMaxRotation; // 0x67c - float m_flInitialRotation; // 0x680 - float m_flMotorFrequency; // 0x684 - float m_flMotorDampingRatio; // 0x688 - float m_flAngleSpeed; // 0x68c - float m_flAngleSpeedThreshold; // 0x690 - CEntityIOOutput m_OnStartMoving; // 0x698 - CEntityIOOutput m_OnStopMoving; // 0x6c0 + ConstraintSoundInfo m_soundInfo; // 0x550 + CEntityIOOutput m_NotifyMinLimitReached; // 0x5d8 + CEntityIOOutput m_NotifyMaxLimitReached; // 0x600 + bool m_bAtMinLimit; // 0x628 + bool m_bAtMaxLimit; // 0x629 +private: + [[maybe_unused]] uint8_t __pad062a[0x2]; // 0x62a +public: + constraint_hingeparams_t m_hinge; // 0x62c + float m_hingeFriction; // 0x66c + float m_systemLoadScale; // 0x670 + bool m_bIsAxisLocal; // 0x674 +private: + [[maybe_unused]] uint8_t __pad0675[0x3]; // 0x675 +public: + float m_flMinRotation; // 0x678 + float m_flMaxRotation; // 0x67c + float m_flInitialRotation; // 0x680 + float m_flMotorFrequency; // 0x684 + float m_flMotorDampingRatio; // 0x688 + float m_flAngleSpeed; // 0x68c + float m_flAngleSpeedThreshold; // 0x690 +private: + [[maybe_unused]] uint8_t __pad0694[0x4]; // 0x694 +public: + CEntityIOOutput m_OnStartMoving; // 0x698 + CEntityIOOutput m_OnStopMoving; // 0x6c0 }; -// Aligment: 0 -// Size: 1768 -class CPhysHingeAlias_phys_hinge_local : public CPhysHinge, CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x6e8 +class CPhysHingeAlias_phys_hinge_local : public CPhysHinge { public: -// + // no members available }; -// Aligment: 1 -// Size: 1360 -class CPhysBallSocket : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x550 +class CPhysBallSocket : public CPhysConstraint { public: - float m_flFriction; // 0x548 + float m_flFriction; // 0x548 }; -// Aligment: 10 -// Size: 1536 -class CPhysSlideConstraint : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 10 +// Size: 0x600 +class CPhysSlideConstraint : public CPhysConstraint { public: - Vector m_axisEnd; // 0x550 - float m_slideFriction; // 0x55c - float m_systemLoadScale; // 0x560 - float m_initialOffset; // 0x564 - bool m_bEnableLinearConstraint; // 0x568 - bool m_bEnableAngularConstraint; // 0x569 - float m_flMotorFrequency; // 0x56c - float m_flMotorDampingRatio; // 0x570 - bool m_bUseEntityPivot; // 0x574 - ConstraintSoundInfo m_soundInfo; // 0x578 + Vector m_axisEnd; // 0x550 + float m_slideFriction; // 0x55c + float m_systemLoadScale; // 0x560 + float m_initialOffset; // 0x564 + bool m_bEnableLinearConstraint; // 0x568 + bool m_bEnableAngularConstraint; // 0x569 +private: + [[maybe_unused]] uint8_t __pad056a[0x2]; // 0x56a +public: + float m_flMotorFrequency; // 0x56c + float m_flMotorDampingRatio; // 0x570 + bool m_bUseEntityPivot; // 0x574 +private: + [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 +public: + ConstraintSoundInfo m_soundInfo; // 0x578 }; -// Aligment: 6 -// Size: 1376 -class CPhysFixed : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x560 +class CPhysFixed : public CPhysConstraint { public: - float m_flLinearFrequency; // 0x548 - float m_flLinearDampingRatio; // 0x54c - float m_flAngularFrequency; // 0x550 - float m_flAngularDampingRatio; // 0x554 - bool m_bEnableLinearConstraint; // 0x558 - bool m_bEnableAngularConstraint; // 0x559 + float m_flLinearFrequency; // 0x548 + float m_flLinearDampingRatio; // 0x54c + float m_flAngularFrequency; // 0x550 + float m_flAngularDampingRatio; // 0x554 + bool m_bEnableLinearConstraint; // 0x558 + bool m_bEnableAngularConstraint; // 0x559 }; -// Aligment: 4 -// Size: 1400 -class CPhysPulley : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x578 +class CPhysPulley : public CPhysConstraint { public: - Vector m_position2; // 0x548 - Vector[2] m_offset; // 0x554 - float m_addLength; // 0x56c - float m_gearRatio; // 0x570 + Vector m_position2; // 0x548 + Vector m_offset[2]; // 0x554 + float m_addLength; // 0x56c + float m_gearRatio; // 0x570 }; -// Aligment: 6 -// Size: 1408 -class CPhysLength : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x580 +class CPhysLength : public CPhysConstraint { public: - Vector[2] m_offset; // 0x548 - Vector m_vecAttach; // 0x560 - float m_addLength; // 0x56c - float m_minLength; // 0x570 - float m_totalLength; // 0x574 - bool m_bEnableCollision; // 0x578 + Vector m_offset[2]; // 0x548 + Vector m_vecAttach; // 0x560 + float m_addLength; // 0x56c + float m_minLength; // 0x570 + float m_totalLength; // 0x574 + bool m_bEnableCollision; // 0x578 }; -// Aligment: 9 -// Size: 1392 -class CRagdollConstraint : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x570 +class CRagdollConstraint : public CPhysConstraint { public: - float m_xmin; // 0x548 - float m_xmax; // 0x54c - float m_ymin; // 0x550 - float m_ymax; // 0x554 - float m_zmin; // 0x558 - float m_zmax; // 0x55c - float m_xfriction; // 0x560 - float m_yfriction; // 0x564 - float m_zfriction; // 0x568 + float m_xmin; // 0x548 + float m_xmax; // 0x54c + float m_ymin; // 0x550 + float m_ymax; // 0x554 + float m_zmin; // 0x558 + float m_zmax; // 0x55c + float m_xfriction; // 0x560 + float m_yfriction; // 0x564 + float m_zfriction; // 0x568 }; -// Aligment: 48 -// Size: 1656 -class CGenericConstraint : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 48 +// Size: 0x678 +class CGenericConstraint : public CPhysConstraint { public: - JointMotion_t m_nLinearMotionX; // 0x550 - JointMotion_t m_nLinearMotionY; // 0x554 - JointMotion_t m_nLinearMotionZ; // 0x558 - float m_flLinearFrequencyX; // 0x55c - float m_flLinearFrequencyY; // 0x560 - float m_flLinearFrequencyZ; // 0x564 - float m_flLinearDampingRatioX; // 0x568 - float m_flLinearDampingRatioY; // 0x56c - float m_flLinearDampingRatioZ; // 0x570 - float m_flMaxLinearImpulseX; // 0x574 - float m_flMaxLinearImpulseY; // 0x578 - float m_flMaxLinearImpulseZ; // 0x57c - float m_flBreakAfterTimeX; // 0x580 - float m_flBreakAfterTimeY; // 0x584 - float m_flBreakAfterTimeZ; // 0x588 - float m_flBreakAfterTimeStartTimeX; // 0x58c - float m_flBreakAfterTimeStartTimeY; // 0x590 - float m_flBreakAfterTimeStartTimeZ; // 0x594 - float m_flBreakAfterTimeThresholdX; // 0x598 - float m_flBreakAfterTimeThresholdY; // 0x59c - float m_flBreakAfterTimeThresholdZ; // 0x5a0 - float m_flNotifyForceX; // 0x5a4 - float m_flNotifyForceY; // 0x5a8 - float m_flNotifyForceZ; // 0x5ac - float m_flNotifyForceMinTimeX; // 0x5b0 - float m_flNotifyForceMinTimeY; // 0x5b4 - float m_flNotifyForceMinTimeZ; // 0x5b8 - float m_flNotifyForceLastTimeX; // 0x5bc - float m_flNotifyForceLastTimeY; // 0x5c0 - float m_flNotifyForceLastTimeZ; // 0x5c4 - bool m_bAxisNotifiedX; // 0x5c8 - bool m_bAxisNotifiedY; // 0x5c9 - bool m_bAxisNotifiedZ; // 0x5ca - JointMotion_t m_nAngularMotionX; // 0x5cc - JointMotion_t m_nAngularMotionY; // 0x5d0 - JointMotion_t m_nAngularMotionZ; // 0x5d4 - float m_flAngularFrequencyX; // 0x5d8 - float m_flAngularFrequencyY; // 0x5dc - float m_flAngularFrequencyZ; // 0x5e0 - float m_flAngularDampingRatioX; // 0x5e4 - float m_flAngularDampingRatioY; // 0x5e8 - float m_flAngularDampingRatioZ; // 0x5ec - float m_flMaxAngularImpulseX; // 0x5f0 - float m_flMaxAngularImpulseY; // 0x5f4 - float m_flMaxAngularImpulseZ; // 0x5f8 - CEntityIOOutput m_NotifyForceReachedX; // 0x600 - CEntityIOOutput m_NotifyForceReachedY; // 0x628 - CEntityIOOutput m_NotifyForceReachedZ; // 0x650 + JointMotion_t m_nLinearMotionX; // 0x550 + JointMotion_t m_nLinearMotionY; // 0x554 + JointMotion_t m_nLinearMotionZ; // 0x558 + float m_flLinearFrequencyX; // 0x55c + float m_flLinearFrequencyY; // 0x560 + float m_flLinearFrequencyZ; // 0x564 + float m_flLinearDampingRatioX; // 0x568 + float m_flLinearDampingRatioY; // 0x56c + float m_flLinearDampingRatioZ; // 0x570 + float m_flMaxLinearImpulseX; // 0x574 + float m_flMaxLinearImpulseY; // 0x578 + float m_flMaxLinearImpulseZ; // 0x57c + float m_flBreakAfterTimeX; // 0x580 + float m_flBreakAfterTimeY; // 0x584 + float m_flBreakAfterTimeZ; // 0x588 + float m_flBreakAfterTimeStartTimeX; // 0x58c + float m_flBreakAfterTimeStartTimeY; // 0x590 + float m_flBreakAfterTimeStartTimeZ; // 0x594 + float m_flBreakAfterTimeThresholdX; // 0x598 + float m_flBreakAfterTimeThresholdY; // 0x59c + float m_flBreakAfterTimeThresholdZ; // 0x5a0 + float m_flNotifyForceX; // 0x5a4 + float m_flNotifyForceY; // 0x5a8 + float m_flNotifyForceZ; // 0x5ac + float m_flNotifyForceMinTimeX; // 0x5b0 + float m_flNotifyForceMinTimeY; // 0x5b4 + float m_flNotifyForceMinTimeZ; // 0x5b8 + float m_flNotifyForceLastTimeX; // 0x5bc + float m_flNotifyForceLastTimeY; // 0x5c0 + float m_flNotifyForceLastTimeZ; // 0x5c4 + bool m_bAxisNotifiedX; // 0x5c8 + bool m_bAxisNotifiedY; // 0x5c9 + bool m_bAxisNotifiedZ; // 0x5ca +private: + [[maybe_unused]] uint8_t __pad05cb[0x1]; // 0x5cb +public: + JointMotion_t m_nAngularMotionX; // 0x5cc + JointMotion_t m_nAngularMotionY; // 0x5d0 + JointMotion_t m_nAngularMotionZ; // 0x5d4 + float m_flAngularFrequencyX; // 0x5d8 + float m_flAngularFrequencyY; // 0x5dc + float m_flAngularFrequencyZ; // 0x5e0 + float m_flAngularDampingRatioX; // 0x5e4 + float m_flAngularDampingRatioY; // 0x5e8 + float m_flAngularDampingRatioZ; // 0x5ec + float m_flMaxAngularImpulseX; // 0x5f0 + float m_flMaxAngularImpulseY; // 0x5f4 + float m_flMaxAngularImpulseZ; // 0x5f8 +private: + [[maybe_unused]] uint8_t __pad05fc[0x4]; // 0x5fc +public: + CEntityIOOutput m_NotifyForceReachedX; // 0x600 + CEntityIOOutput m_NotifyForceReachedY; // 0x628 + CEntityIOOutput m_NotifyForceReachedZ; // 0x650 }; -// Aligment: 0 -// Size: 1424 -class CSplineConstraint : public CPhysConstraint, CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x590 +class CSplineConstraint : public CPhysConstraint { public: -// + // no members available }; -// Aligment: 6 -// Size: 1312 -class CPhysicsNPCSolver : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x520 +class CPhysicsNPCSolver : public CLogicalEntity { public: - CPhysicsNPCSolver* m_pNext; // 0x4f8 - CHandle< CAI_BaseNPC > m_hNPC; // 0x500 - CHandle< CBaseEntity > m_hEntity; // 0x504 - float m_separationDuration; // 0x510 - float m_cancelTime; // 0x514 - bool m_allowIntersection; // 0x518 + CPhysicsNPCSolver* m_pNext; // 0x4f8 + CHandle< CAI_BaseNPC > m_hNPC; // 0x500 + CHandle< CBaseEntity > m_hEntity; // 0x504 +private: + [[maybe_unused]] uint8_t __pad0508[0x8]; // 0x508 +public: + float m_separationDuration; // 0x510 + float m_cancelTime; // 0x514 + bool m_allowIntersection; // 0x518 }; -// Aligment: 4 -// Size: 1288 -class CPhysicsEntitySolver : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x508 +class CPhysicsEntitySolver : public CLogicalEntity { public: - CHandle< CBaseEntity > m_hMovingEntity; // 0x4f8 - CHandle< CBaseEntity > m_hPhysicsBlocker; // 0x4fc - float m_separationDuration; // 0x500 - float m_cancelTime; // 0x504 + CHandle< CBaseEntity > m_hMovingEntity; // 0x4f8 + CHandle< CBaseEntity > m_hPhysicsBlocker; // 0x4fc + float m_separationDuration; // 0x500 + float m_cancelTime; // 0x504 }; -// Aligment: 8 -// Size: 1336 -class CPhysicsSpring : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x538 +class CPhysicsSpring : public CBaseEntity { public: - float m_flFrequency; // 0x4f8 - float m_flDampingRatio; // 0x4fc - float m_flRestLength; // 0x500 - CUtlSymbolLarge m_nameAttachStart; // 0x508 - CUtlSymbolLarge m_nameAttachEnd; // 0x510 - Vector m_start; // 0x518 - Vector m_end; // 0x524 - uint32_t m_teleportTick; // 0x530 + float m_flFrequency; // 0x4f8 + float m_flDampingRatio; // 0x4fc + float m_flRestLength; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 +public: + CUtlSymbolLarge m_nameAttachStart; // 0x508 + CUtlSymbolLarge m_nameAttachEnd; // 0x510 + Vector m_start; // 0x518 + Vector m_end; // 0x524 + uint32_t m_teleportTick; // 0x530 }; -// Aligment: 0 -// Size: 1912 -class CSimplePhysicsBrush : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x778 +class CSimplePhysicsBrush : public CBaseModelEntity { public: -// + // no members available }; -// Aligment: 3 -// Size: 1320 -class CPhysConvert : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x528 +class CPhysConvert : public CLogicalEntity { public: - CEntityIOOutput m_OnConvert; // 0x4f0 - CUtlSymbolLarge m_swapModel; // 0x518 - float m_flMassOverride; // 0x520 + CEntityIOOutput m_OnConvert; // 0x4f0 + CUtlSymbolLarge m_swapModel; // 0x518 + float m_flMassOverride; // 0x520 }; -// Aligment: 7 -// Size: 1304 -class CPointPush : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x518 +class CPointPush : public CPointEntity { public: - bool m_bEnabled; // 0x4f0 - float m_flMagnitude; // 0x4f4 - float m_flRadius; // 0x4f8 - float m_flInnerRadius; // 0x4fc - float m_flConeOfInfluence; // 0x500 - CUtlSymbolLarge m_iszFilterName; // 0x508 - CHandle< CBaseFilter > m_hFilter; // 0x510 + bool m_bEnabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: + float m_flMagnitude; // 0x4f4 + float m_flRadius; // 0x4f8 + float m_flInnerRadius; // 0x4fc + float m_flConeOfInfluence; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 +public: + CUtlSymbolLarge m_iszFilterName; // 0x508 + CHandle< CBaseFilter > m_hFilter; // 0x510 }; -// Aligment: 0 -// Size: 1264 -class CSprayCan : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CSprayCan : public CPointEntity { public: -// + // no members available }; -// Aligment: 1 -// Size: 1272 -class CInfoPlayerStart : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x4f8 +class CInfoPlayerStart : public CPointEntity { public: - bool m_bDisabled; // 0x4f0 + bool m_bDisabled; // 0x4f0 }; -// Aligment: 2 -// Size: 1288 -class CPointBonusMapsAccessor : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x508 +class CPointBonusMapsAccessor : public CPointEntity { public: - CUtlSymbolLarge m_String_tFileName; // 0x4f0 - CUtlSymbolLarge m_String_tMapName; // 0x4f8 + CUtlSymbolLarge m_String_tFileName; // 0x4f0 + CUtlSymbolLarge m_String_tMapName; // 0x4f8 }; -// Aligment: 7 -// Size: 1344 -class CPointEntityFinder : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x540 +class CPointEntityFinder : public CBaseEntity { public: - CHandle< CBaseEntity > m_hEntity; // 0x4f0 - CUtlSymbolLarge m_iFilterName; // 0x4f8 - CHandle< CBaseFilter > m_hFilter; // 0x500 - CUtlSymbolLarge m_iRefName; // 0x508 - CHandle< CBaseEntity > m_hReference; // 0x510 - EntFinderMethod_t m_FindMethod; // 0x514 - CEntityIOOutput m_OnFoundEntity; // 0x518 + CHandle< CBaseEntity > m_hEntity; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 +public: + CUtlSymbolLarge m_iFilterName; // 0x4f8 + CHandle< CBaseFilter > m_hFilter; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 +public: + CUtlSymbolLarge m_iRefName; // 0x508 + CHandle< CBaseEntity > m_hReference; // 0x510 + EntFinderMethod_t m_FindMethod; // 0x514 + CEntityIOOutput m_OnFoundEntity; // 0x518 }; -// Aligment: 3 -// Size: 1280 -class CPointHMDAnchor : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x500 +class CPointHMDAnchor : public CBaseEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x4f0 + bool m_bDisabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: // MNetworkEnable - float m_flEnableTime; // 0x4f4 + float m_flEnableTime; // 0x4f4 // MNetworkEnable - int32_t m_nPlayerIndex; // 0x4f8 + int32_t m_nPlayerIndex; // 0x4f8 }; -// Aligment: 0 -// Size: 1280 -class CPointHMDAnchorOverride : public CPointHMDAnchor, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x500 +class CPointHMDAnchorOverride : public CPointHMDAnchor { public: -// + // no members available }; -// Aligment: 44 -// Size: 1768 -class CPointValueRemapper : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 44 +// Size: 0x6e8 +class CPointValueRemapper : public CBaseEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x4f0 + bool m_bDisabled; // 0x4f0 // MNetworkEnable - bool m_bUpdateOnClient; // 0x4f1 + bool m_bUpdateOnClient; // 0x4f1 +private: + [[maybe_unused]] uint8_t __pad04f2[0x2]; // 0x4f2 +public: // MNetworkEnable - ValueRemapperInputType_t m_nInputType; // 0x4f4 - CUtlSymbolLarge m_iszRemapLineStartName; // 0x4f8 - CUtlSymbolLarge m_iszRemapLineEndName; // 0x500 + ValueRemapperInputType_t m_nInputType; // 0x4f4 + CUtlSymbolLarge m_iszRemapLineStartName; // 0x4f8 + CUtlSymbolLarge m_iszRemapLineEndName; // 0x500 // MNetworkEnable - CHandle< CBaseEntity > m_hRemapLineStart; // 0x508 + CHandle< CBaseEntity > m_hRemapLineStart; // 0x508 // MNetworkEnable - CHandle< CBaseEntity > m_hRemapLineEnd; // 0x50c + CHandle< CBaseEntity > m_hRemapLineEnd; // 0x50c // MNetworkEnable - float m_flMaximumChangePerSecond; // 0x510 + float m_flMaximumChangePerSecond; // 0x510 // MNetworkEnable - float m_flDisengageDistance; // 0x514 + float m_flDisengageDistance; // 0x514 // MNetworkEnable - float m_flEngageDistance; // 0x518 + float m_flEngageDistance; // 0x518 // MNetworkEnable - bool m_bRequiresUseKey; // 0x51c + bool m_bRequiresUseKey; // 0x51c +private: + [[maybe_unused]] uint8_t __pad051d[0x3]; // 0x51d +public: // MNetworkEnable - ValueRemapperOutputType_t m_nOutputType; // 0x520 - CUtlSymbolLarge m_iszOutputEntityName; // 0x528 - CUtlSymbolLarge m_iszOutputEntity2Name; // 0x530 - CUtlSymbolLarge m_iszOutputEntity3Name; // 0x538 - CUtlSymbolLarge m_iszOutputEntity4Name; // 0x540 + ValueRemapperOutputType_t m_nOutputType; // 0x520 +private: + [[maybe_unused]] uint8_t __pad0524[0x4]; // 0x524 +public: + CUtlSymbolLarge m_iszOutputEntityName; // 0x528 + CUtlSymbolLarge m_iszOutputEntity2Name; // 0x530 + CUtlSymbolLarge m_iszOutputEntity3Name; // 0x538 + CUtlSymbolLarge m_iszOutputEntity4Name; // 0x540 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_hOutputEntities; // 0x548 + CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_hOutputEntities; // 0x548 // MNetworkEnable - ValueRemapperHapticsType_t m_nHapticsType; // 0x560 + ValueRemapperHapticsType_t m_nHapticsType; // 0x560 // MNetworkEnable - ValueRemapperMomentumType_t m_nMomentumType; // 0x564 + ValueRemapperMomentumType_t m_nMomentumType; // 0x564 // MNetworkEnable - float m_flMomentumModifier; // 0x568 + float m_flMomentumModifier; // 0x568 // MNetworkEnable - float m_flSnapValue; // 0x56c - float m_flCurrentMomentum; // 0x570 + float m_flSnapValue; // 0x56c + float m_flCurrentMomentum; // 0x570 // MNetworkEnable - ValueRemapperRatchetType_t m_nRatchetType; // 0x574 - float m_flRatchetOffset; // 0x578 + ValueRemapperRatchetType_t m_nRatchetType; // 0x574 + float m_flRatchetOffset; // 0x578 // MNetworkEnable - float m_flInputOffset; // 0x57c - bool m_bEngaged; // 0x580 - bool m_bFirstUpdate; // 0x581 - float m_flPreviousValue; // 0x584 - float m_flPreviousUpdateTickTime; // 0x588 - Vector m_vecPreviousTestPoint; // 0x58c - CHandle< CBasePlayer > m_hUsingPlayer; // 0x598 - float m_flCustomOutputValue; // 0x59c - CUtlSymbolLarge m_iszSoundEngage; // 0x5a0 - CUtlSymbolLarge m_iszSoundDisengage; // 0x5a8 - CUtlSymbolLarge m_iszSoundReachedValueZero; // 0x5b0 - CUtlSymbolLarge m_iszSoundReachedValueOne; // 0x5b8 - CUtlSymbolLarge m_iszSoundMovingLoop; // 0x5c0 - CEntityOutputTemplate< float32 > m_Position; // 0x5d0 - CEntityOutputTemplate< float32 > m_PositionDelta; // 0x5f8 - CEntityIOOutput m_OnReachedValueZero; // 0x620 - CEntityIOOutput m_OnReachedValueOne; // 0x648 - CEntityIOOutput m_OnReachedValueCustom; // 0x670 - CEntityIOOutput m_OnEngage; // 0x698 - CEntityIOOutput m_OnDisengage; // 0x6c0 + float m_flInputOffset; // 0x57c + bool m_bEngaged; // 0x580 + bool m_bFirstUpdate; // 0x581 +private: + [[maybe_unused]] uint8_t __pad0582[0x2]; // 0x582 +public: + float m_flPreviousValue; // 0x584 + float m_flPreviousUpdateTickTime; // 0x588 + Vector m_vecPreviousTestPoint; // 0x58c + CHandle< CBasePlayer > m_hUsingPlayer; // 0x598 + float m_flCustomOutputValue; // 0x59c + CUtlSymbolLarge m_iszSoundEngage; // 0x5a0 + CUtlSymbolLarge m_iszSoundDisengage; // 0x5a8 + CUtlSymbolLarge m_iszSoundReachedValueZero; // 0x5b0 + CUtlSymbolLarge m_iszSoundReachedValueOne; // 0x5b8 + CUtlSymbolLarge m_iszSoundMovingLoop; // 0x5c0 +private: + [[maybe_unused]] uint8_t __pad05c8[0x8]; // 0x5c8 +public: + CEntityOutputTemplate< float32 > m_Position; // 0x5d0 + CEntityOutputTemplate< float32 > m_PositionDelta; // 0x5f8 + CEntityIOOutput m_OnReachedValueZero; // 0x620 + CEntityIOOutput m_OnReachedValueOne; // 0x648 + CEntityIOOutput m_OnReachedValueCustom; // 0x670 + CEntityIOOutput m_OnEngage; // 0x698 + CEntityIOOutput m_OnDisengage; // 0x6c0 }; -// Aligment: 11 -// Size: 2520 -class CPointWorldText : public CModelPointEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 11 +// Size: 0x9d8 +class CPointWorldText : public CModelPointEntity { public: // MNetworkEnable - char[512] m_messageText; // 0x778 + char m_messageText[512]; // 0x778 // MNetworkEnable - char[64] m_FontName; // 0x978 + char m_FontName[64]; // 0x978 // MNetworkEnable - bool m_bEnabled; // 0x9b8 + bool m_bEnabled; // 0x9b8 // MNetworkEnable - bool m_bFullbright; // 0x9b9 + bool m_bFullbright; // 0x9b9 +private: + [[maybe_unused]] uint8_t __pad09ba[0x2]; // 0x9ba +public: // MNetworkEnable - float m_flWorldUnitsPerPx; // 0x9bc + float m_flWorldUnitsPerPx; // 0x9bc // MNetworkEnable - float m_flFontSize; // 0x9c0 + float m_flFontSize; // 0x9c0 // MNetworkEnable - float m_flDepthOffset; // 0x9c4 + float m_flDepthOffset; // 0x9c4 // MNetworkEnable - Color m_Color; // 0x9c8 + Color m_Color; // 0x9c8 // MNetworkEnable - PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0x9cc + PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0x9cc // MNetworkEnable - PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0x9d0 + PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0x9d0 // MNetworkEnable - PointWorldTextReorientMode_t m_nReorientMode; // 0x9d4 + PointWorldTextReorientMode_t m_nReorientMode; // 0x9d4 }; -// Aligment: 12 -// Size: 1464 -class CPointAngleSensor : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x5b8 +class CPointAngleSensor : public CPointEntity { public: - bool m_bDisabled; // 0x4f0 - CUtlSymbolLarge m_nLookAtName; // 0x4f8 - CHandle< CBaseEntity > m_hTargetEntity; // 0x500 - CHandle< CBaseEntity > m_hLookAtEntity; // 0x504 - float m_flDuration; // 0x508 - float m_flDotTolerance; // 0x50c - float m_flFacingTime; // 0x510 - bool m_bFired; // 0x514 - CEntityIOOutput m_OnFacingLookat; // 0x518 - CEntityIOOutput m_OnNotFacingLookat; // 0x540 - CEntityOutputTemplate< Vector > m_TargetDir; // 0x568 - CEntityOutputTemplate< float32 > m_FacingPercentage; // 0x590 + bool m_bDisabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 +public: + CUtlSymbolLarge m_nLookAtName; // 0x4f8 + CHandle< CBaseEntity > m_hTargetEntity; // 0x500 + CHandle< CBaseEntity > m_hLookAtEntity; // 0x504 + float m_flDuration; // 0x508 + float m_flDotTolerance; // 0x50c + float m_flFacingTime; // 0x510 + bool m_bFired; // 0x514 +private: + [[maybe_unused]] uint8_t __pad0515[0x3]; // 0x515 +public: + CEntityIOOutput m_OnFacingLookat; // 0x518 + CEntityIOOutput m_OnNotFacingLookat; // 0x540 + CEntityOutputTemplate< Vector > m_TargetDir; // 0x568 + CEntityOutputTemplate< float32 > m_FacingPercentage; // 0x590 }; -// Aligment: 3 -// Size: 1312 -class CPointProximitySensor : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x520 +class CPointProximitySensor : public CPointEntity { public: - bool m_bDisabled; // 0x4f0 - CHandle< CBaseEntity > m_hTargetEntity; // 0x4f4 - CEntityOutputTemplate< float32 > m_Distance; // 0x4f8 + bool m_bDisabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: + CHandle< CBaseEntity > m_hTargetEntity; // 0x4f4 + CEntityOutputTemplate< float32 > m_Distance; // 0x4f8 }; -// Aligment: 16 -// Size: 1560 -class CPointAngularVelocitySensor : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 16 +// Size: 0x618 +class CPointAngularVelocitySensor : public CPointEntity { public: - CHandle< CBaseEntity > m_hTargetEntity; // 0x4f0 - float m_flThreshold; // 0x4f4 - int32_t m_nLastCompareResult; // 0x4f8 - int32_t m_nLastFireResult; // 0x4fc - float m_flFireTime; // 0x500 - float m_flFireInterval; // 0x504 - float m_flLastAngVelocity; // 0x508 - QAngle m_lastOrientation; // 0x50c - Vector m_vecAxis; // 0x518 - bool m_bUseHelper; // 0x524 - CEntityOutputTemplate< float32 > m_AngularVelocity; // 0x528 - CEntityIOOutput m_OnLessThan; // 0x550 - CEntityIOOutput m_OnLessThanOrEqualTo; // 0x578 - CEntityIOOutput m_OnGreaterThan; // 0x5a0 - CEntityIOOutput m_OnGreaterThanOrEqualTo; // 0x5c8 - CEntityIOOutput m_OnEqualTo; // 0x5f0 + CHandle< CBaseEntity > m_hTargetEntity; // 0x4f0 + float m_flThreshold; // 0x4f4 + int32_t m_nLastCompareResult; // 0x4f8 + int32_t m_nLastFireResult; // 0x4fc + float m_flFireTime; // 0x500 + float m_flFireInterval; // 0x504 + float m_flLastAngVelocity; // 0x508 + QAngle m_lastOrientation; // 0x50c + Vector m_vecAxis; // 0x518 + bool m_bUseHelper; // 0x524 +private: + [[maybe_unused]] uint8_t __pad0525[0x3]; // 0x525 +public: + CEntityOutputTemplate< float32 > m_AngularVelocity; // 0x528 + CEntityIOOutput m_OnLessThan; // 0x550 + CEntityIOOutput m_OnLessThanOrEqualTo; // 0x578 + CEntityIOOutput m_OnGreaterThan; // 0x5a0 + CEntityIOOutput m_OnGreaterThanOrEqualTo; // 0x5c8 + CEntityIOOutput m_OnEqualTo; // 0x5f0 }; -// Aligment: 6 -// Size: 1336 -class CPointVelocitySensor : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x538 +class CPointVelocitySensor : public CPointEntity { public: - CHandle< CBaseEntity > m_hTargetEntity; // 0x4f0 - Vector m_vecAxis; // 0x4f4 - bool m_bEnabled; // 0x500 - float m_fPrevVelocity; // 0x504 - float m_flAvgInterval; // 0x508 - CEntityOutputTemplate< float32 > m_Velocity; // 0x510 + CHandle< CBaseEntity > m_hTargetEntity; // 0x4f0 + Vector m_vecAxis; // 0x4f4 + bool m_bEnabled; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0501[0x3]; // 0x501 +public: + float m_fPrevVelocity; // 0x504 + float m_flAvgInterval; // 0x508 +private: + [[maybe_unused]] uint8_t __pad050c[0x4]; // 0x50c +public: + CEntityOutputTemplate< float32 > m_Velocity; // 0x510 }; -// Aligment: 6 -// Size: 1296 -class CPointHurt : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x510 +class CPointHurt : public CPointEntity { public: - int32_t m_nDamage; // 0x4f0 - int32_t m_bitsDamageType; // 0x4f4 - float m_flRadius; // 0x4f8 - float m_flDelay; // 0x4fc - CUtlSymbolLarge m_strTarget; // 0x500 - CHandle< CBaseEntity > m_pActivator; // 0x508 + int32_t m_nDamage; // 0x4f0 + int32_t m_bitsDamageType; // 0x4f4 + float m_flRadius; // 0x4f8 + float m_flDelay; // 0x4fc + CUtlSymbolLarge m_strTarget; // 0x500 + CHandle< CBaseEntity > m_pActivator; // 0x508 }; -// Aligment: 3 -// Size: 1296 -class CPointTeleport : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x510 +class CPointTeleport : public CBaseEntity { public: - Vector m_vSaveOrigin; // 0x4f0 - QAngle m_vSaveAngles; // 0x4fc - bool m_bTeleportParentedEntities; // 0x508 + Vector m_vSaveOrigin; // 0x4f0 + QAngle m_vSaveAngles; // 0x4fc + bool m_bTeleportParentedEntities; // 0x508 }; -// Aligment: 0 -// Size: 1264 -class CEnableMotionFixup : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CEnableMotionFixup : public CBaseEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1264 -class CFuncPropRespawnZone : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CFuncPropRespawnZone : public CBaseEntity { public: -// + // no members available }; -// Aligment: 3 -// Size: 1280 -class CRagdollManager : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x500 +class CRagdollManager : public CBaseEntity { public: // MNetworkEnable - int8_t m_iCurrentMaxRagdollCount; // 0x4f0 - int32_t m_iMaxRagdollCount; // 0x4f4 - bool m_bSaveImportant; // 0x4f8 + int8_t m_iCurrentMaxRagdollCount; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: + int32_t m_iMaxRagdollCount; // 0x4f4 + bool m_bSaveImportant; // 0x4f8 }; -// Aligment: 3 -// Size: 1928 -class CRevertSaved : public CModelPointEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x788 +class CRevertSaved : public CModelPointEntity { public: - float m_loadTime; // 0x778 - float m_Duration; // 0x77c - float m_HoldTime; // 0x780 + float m_loadTime; // 0x778 + float m_Duration; // 0x77c + float m_HoldTime; // 0x780 }; -// Aligment: 3 -// Size: 1480 -class CSceneListManager : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x5c8 +class CSceneListManager : public CLogicalEntity { public: - CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x4f0 - CUtlSymbolLarge[16] m_iszScenes; // 0x508 - CHandle< CBaseEntity >[16] m_hScenes; // 0x588 + CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x4f0 + CUtlSymbolLarge m_iszScenes[16]; // 0x508 + CHandle< CBaseEntity > m_hScenes[16]; // 0x588 }; -// Aligment: 80 -// Size: 2448 -class CSceneEntity : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 80 +// Size: 0x990 +class CSceneEntity : public CPointEntity { public: - CUtlSymbolLarge m_iszSceneFile; // 0x4f8 - CUtlSymbolLarge m_iszResumeSceneFile; // 0x500 - CUtlSymbolLarge m_iszTarget1; // 0x508 - CUtlSymbolLarge m_iszTarget2; // 0x510 - CUtlSymbolLarge m_iszTarget3; // 0x518 - CUtlSymbolLarge m_iszTarget4; // 0x520 - CUtlSymbolLarge m_iszTarget5; // 0x528 - CUtlSymbolLarge m_iszTarget6; // 0x530 - CUtlSymbolLarge m_iszTarget7; // 0x538 - CUtlSymbolLarge m_iszTarget8; // 0x540 - CHandle< CBaseEntity > m_hTarget1; // 0x548 - CHandle< CBaseEntity > m_hTarget2; // 0x54c - CHandle< CBaseEntity > m_hTarget3; // 0x550 - CHandle< CBaseEntity > m_hTarget4; // 0x554 - CHandle< CBaseEntity > m_hTarget5; // 0x558 - CHandle< CBaseEntity > m_hTarget6; // 0x55c - CHandle< CBaseEntity > m_hTarget7; // 0x560 - CHandle< CBaseEntity > m_hTarget8; // 0x564 + CUtlSymbolLarge m_iszSceneFile; // 0x4f8 + CUtlSymbolLarge m_iszResumeSceneFile; // 0x500 + CUtlSymbolLarge m_iszTarget1; // 0x508 + CUtlSymbolLarge m_iszTarget2; // 0x510 + CUtlSymbolLarge m_iszTarget3; // 0x518 + CUtlSymbolLarge m_iszTarget4; // 0x520 + CUtlSymbolLarge m_iszTarget5; // 0x528 + CUtlSymbolLarge m_iszTarget6; // 0x530 + CUtlSymbolLarge m_iszTarget7; // 0x538 + CUtlSymbolLarge m_iszTarget8; // 0x540 + CHandle< CBaseEntity > m_hTarget1; // 0x548 + CHandle< CBaseEntity > m_hTarget2; // 0x54c + CHandle< CBaseEntity > m_hTarget3; // 0x550 + CHandle< CBaseEntity > m_hTarget4; // 0x554 + CHandle< CBaseEntity > m_hTarget5; // 0x558 + CHandle< CBaseEntity > m_hTarget6; // 0x55c + CHandle< CBaseEntity > m_hTarget7; // 0x560 + CHandle< CBaseEntity > m_hTarget8; // 0x564 // MNetworkEnable - bool m_bIsPlayingBack; // 0x568 + bool m_bIsPlayingBack; // 0x568 // MNetworkEnable - bool m_bPaused; // 0x569 + bool m_bPaused; // 0x569 // MNetworkEnable - bool m_bMultiplayer; // 0x56a + bool m_bMultiplayer; // 0x56a // MNetworkEnable - bool m_bAutogenerated; // 0x56b + bool m_bAutogenerated; // 0x56b // MNetworkEnable - float m_flForceClientTime; // 0x56c - float m_flCurrentTime; // 0x570 - float m_flFrameTime; // 0x574 - bool m_bCancelAtNextInterrupt; // 0x578 - float m_fPitch; // 0x57c - bool m_bAutomated; // 0x580 - int32_t m_nAutomatedAction; // 0x584 - float m_flAutomationDelay; // 0x588 - float m_flAutomationTime; // 0x58c - CHandle< CBaseEntity > m_hWaitingForThisResumeScene; // 0x590 - bool m_bWaitingForResumeScene; // 0x594 - bool m_bPausedViaInput; // 0x595 - bool m_bPauseAtNextInterrupt; // 0x596 - bool m_bWaitingForActor; // 0x597 - bool m_bWaitingForInterrupt; // 0x598 - bool m_bInterruptedActorsScenes; // 0x599 - bool m_bBreakOnNonIdle; // 0x59a + float m_flForceClientTime; // 0x56c + float m_flCurrentTime; // 0x570 + float m_flFrameTime; // 0x574 + bool m_bCancelAtNextInterrupt; // 0x578 +private: + [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 +public: + float m_fPitch; // 0x57c + bool m_bAutomated; // 0x580 +private: + [[maybe_unused]] uint8_t __pad0581[0x3]; // 0x581 +public: + int32_t m_nAutomatedAction; // 0x584 + float m_flAutomationDelay; // 0x588 + float m_flAutomationTime; // 0x58c + CHandle< CBaseEntity > m_hWaitingForThisResumeScene; // 0x590 + bool m_bWaitingForResumeScene; // 0x594 + bool m_bPausedViaInput; // 0x595 + bool m_bPauseAtNextInterrupt; // 0x596 + bool m_bWaitingForActor; // 0x597 + bool m_bWaitingForInterrupt; // 0x598 + bool m_bInterruptedActorsScenes; // 0x599 + bool m_bBreakOnNonIdle; // 0x59a +private: + [[maybe_unused]] uint8_t __pad059b[0x5]; // 0x59b +public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseFlex > > m_hActorList; // 0x5a0 - CUtlVector< CHandle< CBaseEntity > > m_hRemoveActorList; // 0x5b8 - int32_t m_nSceneFlushCounter; // 0x5d8 + CNetworkUtlVectorBase< CHandle< CBaseFlex > > m_hActorList; // 0x5a0 + CUtlVector< CHandle< CBaseEntity > > m_hRemoveActorList; // 0x5b8 +private: + [[maybe_unused]] uint8_t __pad05d0[0x8]; // 0x5d0 +public: + int32_t m_nSceneFlushCounter; // 0x5d8 // MNetworkEnable - uint16_t m_nSceneStringIndex; // 0x5dc - CEntityIOOutput m_OnStart; // 0x5e0 - CEntityIOOutput m_OnCompletion; // 0x608 - CEntityIOOutput m_OnCanceled; // 0x630 - CEntityIOOutput m_OnPaused; // 0x658 - CEntityIOOutput m_OnResumed; // 0x680 - CEntityIOOutput m_OnTrigger1; // 0x6a8 - CEntityIOOutput m_OnTrigger2; // 0x6d0 - CEntityIOOutput m_OnTrigger3; // 0x6f8 - CEntityIOOutput m_OnTrigger4; // 0x720 - CEntityIOOutput m_OnTrigger5; // 0x748 - CEntityIOOutput m_OnTrigger6; // 0x770 - CEntityIOOutput m_OnTrigger7; // 0x798 - CEntityIOOutput m_OnTrigger8; // 0x7c0 - CEntityIOOutput m_OnTrigger9; // 0x7e8 - CEntityIOOutput m_OnTrigger10; // 0x810 - CEntityIOOutput m_OnTrigger11; // 0x838 - CEntityIOOutput m_OnTrigger12; // 0x860 - CEntityIOOutput m_OnTrigger13; // 0x888 - CEntityIOOutput m_OnTrigger14; // 0x8b0 - CEntityIOOutput m_OnTrigger15; // 0x8d8 - CEntityIOOutput m_OnTrigger16; // 0x900 - CHandle< CSceneEntity > m_hInterruptScene; // 0x928 - int32_t m_nInterruptCount; // 0x92c - bool m_bSceneMissing; // 0x930 - bool m_bInterrupted; // 0x931 - bool m_bCompletedEarly; // 0x932 - bool m_bInterruptSceneFinished; // 0x933 - bool m_bRestoring; // 0x934 - bool m_bGenerated; // 0x935 - CUtlVector< CHandle< CSceneEntity > > m_hNotifySceneCompletion; // 0x938 - CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x950 - CUtlSymbolLarge m_iszSoundName; // 0x968 - CHandle< CBaseFlex > m_hActor; // 0x970 - CHandle< CBaseEntity > m_hActivator; // 0x974 - CHandle< CBaseEntity > m_hCamera; // 0x978 - int32_t m_BusyActor; // 0x97c - SceneOnPlayerDeath_t m_iPlayerDeathBehavior; // 0x980 + uint16_t m_nSceneStringIndex; // 0x5dc +private: + [[maybe_unused]] uint8_t __pad05de[0x2]; // 0x5de public: - static int32_t &Get_s_nSceneFlushCounter() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CSceneEntity")->m_static_fiels[0]->m_instance); } + CEntityIOOutput m_OnStart; // 0x5e0 + CEntityIOOutput m_OnCompletion; // 0x608 + CEntityIOOutput m_OnCanceled; // 0x630 + CEntityIOOutput m_OnPaused; // 0x658 + CEntityIOOutput m_OnResumed; // 0x680 + CEntityIOOutput m_OnTrigger1; // 0x6a8 + CEntityIOOutput m_OnTrigger2; // 0x6d0 + CEntityIOOutput m_OnTrigger3; // 0x6f8 + CEntityIOOutput m_OnTrigger4; // 0x720 + CEntityIOOutput m_OnTrigger5; // 0x748 + CEntityIOOutput m_OnTrigger6; // 0x770 + CEntityIOOutput m_OnTrigger7; // 0x798 + CEntityIOOutput m_OnTrigger8; // 0x7c0 + CEntityIOOutput m_OnTrigger9; // 0x7e8 + CEntityIOOutput m_OnTrigger10; // 0x810 + CEntityIOOutput m_OnTrigger11; // 0x838 + CEntityIOOutput m_OnTrigger12; // 0x860 + CEntityIOOutput m_OnTrigger13; // 0x888 + CEntityIOOutput m_OnTrigger14; // 0x8b0 + CEntityIOOutput m_OnTrigger15; // 0x8d8 + CEntityIOOutput m_OnTrigger16; // 0x900 + CHandle< CSceneEntity > m_hInterruptScene; // 0x928 + int32_t m_nInterruptCount; // 0x92c + bool m_bSceneMissing; // 0x930 + bool m_bInterrupted; // 0x931 + bool m_bCompletedEarly; // 0x932 + bool m_bInterruptSceneFinished; // 0x933 + bool m_bRestoring; // 0x934 + bool m_bGenerated; // 0x935 +private: + [[maybe_unused]] uint8_t __pad0936[0x2]; // 0x936 +public: + CUtlVector< CHandle< CSceneEntity > > m_hNotifySceneCompletion; // 0x938 + CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x950 + CUtlSymbolLarge m_iszSoundName; // 0x968 + CHandle< CBaseFlex > m_hActor; // 0x970 + CHandle< CBaseEntity > m_hActivator; // 0x974 + CHandle< CBaseEntity > m_hCamera; // 0x978 + int32_t m_BusyActor; // 0x97c + SceneOnPlayerDeath_t m_iPlayerDeathBehavior; // 0x980 + static int32_t &Get_s_nSceneFlushCounter(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CSceneEntity")->m_static_fields[0]->m_instance);}; }; -// Aligment: 59 -// Size: 2080 -class CScriptedSequence : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 59 +// Size: 0x820 +class CScriptedSequence : public CBaseEntity { public: - CUtlSymbolLarge m_iszEntry; // 0x4f0 - CUtlSymbolLarge m_iszPreIdle; // 0x4f8 - CUtlSymbolLarge m_iszPlay; // 0x500 - CUtlSymbolLarge m_iszPostIdle; // 0x508 - CUtlSymbolLarge m_iszCustomMove; // 0x510 - CUtlSymbolLarge m_iszModifierToAddOnPlay; // 0x518 - CUtlSymbolLarge m_iszNextScript; // 0x520 - CUtlSymbolLarge m_iszEntity; // 0x528 - CUtlSymbolLarge m_iszSyncGroup; // 0x530 - int32_t m_nGroundIKPreference; // 0x538 - int32_t m_fMoveTo; // 0x53c - bool m_bIsPlayingEntry; // 0x540 - bool m_bLoopActionSequence; // 0x541 - bool m_bAllowCameraMovement; // 0x542 - bool m_bSynchPostIdles; // 0x543 - bool m_bIgnoreGravity; // 0x544 - bool m_bDisableNPCCollisions; // 0x545 - bool m_bKeepAnimgraphLockedPost; // 0x546 - float m_flRadius; // 0x548 - float m_flRepeat; // 0x54c - float m_flPlayAnimFadeInTime; // 0x550 - float m_flMoveInterpTime; // 0x554 - int32_t m_iDelay; // 0x558 - bool m_bDelayed; // 0x55c - float m_startTime; // 0x560 - bool m_bWaitForBeginSequence; // 0x564 - int32_t m_saved_effects; // 0x568 - int32_t m_savedFlags; // 0x56c - int32_t m_savedCollisionGroup; // 0x570 - bool m_interruptable; // 0x574 - bool m_sequenceStarted; // 0x575 - bool m_bPrevAnimatedEveryTick; // 0x576 - bool m_bForcedAnimatedEveryTick; // 0x577 - CHandle< CBaseEntity > m_hTargetEnt; // 0x578 - CHandle< CScriptedSequence > m_hNextCine; // 0x57c - bool m_bThinking; // 0x580 - bool m_bInitiatedSelfDelete; // 0x581 - bool m_bIsTeleportingDueToMoveTo; // 0x582 - bool m_bAllowCustomInterruptConditions; // 0x583 - CHandle< CBaseEntity > m_hLastFoundEntity; // 0x584 - CHandle< CBaseEntity > m_hForcedTarget; // 0x588 - bool m_bDontCancelOtherSequences; // 0x58c - bool m_bForceSynch; // 0x58d - bool m_bTargetWasAsleep; // 0x58e - bool m_bPreventUpdateYawOnFinish; // 0x58f - bool m_bEnsureOnNavmeshOnFinish; // 0x590 - ScriptedOnDeath_t m_onDeathBehavior; // 0x594 - ScriptedConflictResponse_t m_ConflictResponse; // 0x598 - CEntityIOOutput m_OnBeginSequence; // 0x5a0 - CEntityIOOutput m_OnActionStartOrLoop; // 0x5c8 - CEntityIOOutput m_OnEndSequence; // 0x5f0 - CEntityIOOutput m_OnPostIdleEndSequence; // 0x618 - CEntityIOOutput m_OnCancelSequence; // 0x640 - CEntityIOOutput m_OnCancelFailedSequence; // 0x668 - CEntityIOOutput[8] m_OnScriptEvent; // 0x690 - VMatrix m_matInteractionPosition; // 0x7d0 - CHandle< CBaseEntity > m_hInteractionRelativeEntity; // 0x810 - int32_t m_iPlayerDeathBehavior; // 0x814 - float m_flOldIKMasterBlendAmount; // 0x818 + CUtlSymbolLarge m_iszEntry; // 0x4f0 + CUtlSymbolLarge m_iszPreIdle; // 0x4f8 + CUtlSymbolLarge m_iszPlay; // 0x500 + CUtlSymbolLarge m_iszPostIdle; // 0x508 + CUtlSymbolLarge m_iszCustomMove; // 0x510 + CUtlSymbolLarge m_iszModifierToAddOnPlay; // 0x518 + CUtlSymbolLarge m_iszNextScript; // 0x520 + CUtlSymbolLarge m_iszEntity; // 0x528 + CUtlSymbolLarge m_iszSyncGroup; // 0x530 + int32_t m_nGroundIKPreference; // 0x538 + int32_t m_fMoveTo; // 0x53c + bool m_bIsPlayingEntry; // 0x540 + bool m_bLoopActionSequence; // 0x541 + bool m_bAllowCameraMovement; // 0x542 + bool m_bSynchPostIdles; // 0x543 + bool m_bIgnoreGravity; // 0x544 + bool m_bDisableNPCCollisions; // 0x545 + bool m_bKeepAnimgraphLockedPost; // 0x546 +private: + [[maybe_unused]] uint8_t __pad0547[0x1]; // 0x547 +public: + float m_flRadius; // 0x548 + float m_flRepeat; // 0x54c + float m_flPlayAnimFadeInTime; // 0x550 + float m_flMoveInterpTime; // 0x554 + int32_t m_iDelay; // 0x558 + bool m_bDelayed; // 0x55c +private: + [[maybe_unused]] uint8_t __pad055d[0x3]; // 0x55d +public: + float m_startTime; // 0x560 + bool m_bWaitForBeginSequence; // 0x564 +private: + [[maybe_unused]] uint8_t __pad0565[0x3]; // 0x565 +public: + int32_t m_saved_effects; // 0x568 + int32_t m_savedFlags; // 0x56c + int32_t m_savedCollisionGroup; // 0x570 + bool m_interruptable; // 0x574 + bool m_sequenceStarted; // 0x575 + bool m_bPrevAnimatedEveryTick; // 0x576 + bool m_bForcedAnimatedEveryTick; // 0x577 + CHandle< CBaseEntity > m_hTargetEnt; // 0x578 + CHandle< CScriptedSequence > m_hNextCine; // 0x57c + bool m_bThinking; // 0x580 + bool m_bInitiatedSelfDelete; // 0x581 + bool m_bIsTeleportingDueToMoveTo; // 0x582 + bool m_bAllowCustomInterruptConditions; // 0x583 + CHandle< CBaseEntity > m_hLastFoundEntity; // 0x584 + CHandle< CBaseEntity > m_hForcedTarget; // 0x588 + bool m_bDontCancelOtherSequences; // 0x58c + bool m_bForceSynch; // 0x58d + bool m_bTargetWasAsleep; // 0x58e + bool m_bPreventUpdateYawOnFinish; // 0x58f + bool m_bEnsureOnNavmeshOnFinish; // 0x590 +private: + [[maybe_unused]] uint8_t __pad0591[0x3]; // 0x591 +public: + ScriptedOnDeath_t m_onDeathBehavior; // 0x594 + ScriptedConflictResponse_t m_ConflictResponse; // 0x598 +private: + [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c +public: + CEntityIOOutput m_OnBeginSequence; // 0x5a0 + CEntityIOOutput m_OnActionStartOrLoop; // 0x5c8 + CEntityIOOutput m_OnEndSequence; // 0x5f0 + CEntityIOOutput m_OnPostIdleEndSequence; // 0x618 + CEntityIOOutput m_OnCancelSequence; // 0x640 + CEntityIOOutput m_OnCancelFailedSequence; // 0x668 + CEntityIOOutput m_OnScriptEvent[8]; // 0x690 + VMatrix m_matInteractionPosition; // 0x7d0 + CHandle< CBaseEntity > m_hInteractionRelativeEntity; // 0x810 + int32_t m_iPlayerDeathBehavior; // 0x814 + float m_flOldIKMasterBlendAmount; // 0x818 }; -// Aligment: 8 -// Size: 1336 -class CSoundOpvarSetEntity : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x538 +class CSoundOpvarSetEntity : public CBaseEntity { public: - CUtlSymbolLarge m_iszStackName; // 0x4f8 - CUtlSymbolLarge m_iszOperatorName; // 0x500 - CUtlSymbolLarge m_iszOpvarName; // 0x508 - int32_t m_nOpvarType; // 0x510 - int32_t m_nOpvarIndex; // 0x514 - float m_flOpvarValue; // 0x518 - CUtlSymbolLarge m_OpvarValueString; // 0x520 - bool m_bSetOnSpawn; // 0x528 + CUtlSymbolLarge m_iszStackName; // 0x4f8 + CUtlSymbolLarge m_iszOperatorName; // 0x500 + CUtlSymbolLarge m_iszOpvarName; // 0x508 + int32_t m_nOpvarType; // 0x510 + int32_t m_nOpvarIndex; // 0x514 + float m_flOpvarValue; // 0x518 +private: + [[maybe_unused]] uint8_t __pad051c[0x4]; // 0x51c +public: + CUtlSymbolLarge m_OpvarValueString; // 0x520 + bool m_bSetOnSpawn; // 0x528 }; -// Aligment: 6 -// Size: 1296 -class CAISound : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x510 +class CAISound : public CPointEntity { public: - int32_t m_iSoundType; // 0x4f0 - int32_t m_iSoundContext; // 0x4f4 - int32_t m_iVolume; // 0x4f8 - int32_t m_iSoundIndex; // 0x4fc - float m_flDuration; // 0x500 - CUtlSymbolLarge m_iszProxyEntityName; // 0x508 + int32_t m_iSoundType; // 0x4f0 + int32_t m_iSoundContext; // 0x4f4 + int32_t m_iVolume; // 0x4f8 + int32_t m_iSoundIndex; // 0x4fc + float m_flDuration; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 +public: + CUtlSymbolLarge m_iszProxyEntityName; // 0x508 }; -// Aligment: 1 -// Size: 1272 -class CSoundStackSave : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x4f8 +class CSoundStackSave : public CLogicalEntity { public: - CUtlSymbolLarge m_iszStackName; // 0x4f0 + CUtlSymbolLarge m_iszStackName; // 0x4f0 }; -// Aligment: 12 -// Size: 1432 -class CSoundEventEntity : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x598 +class CSoundEventEntity : public CBaseEntity { public: - bool m_bStartOnSpawn; // 0x4f0 - bool m_bToLocalPlayer; // 0x4f1 - bool m_bStopOnNew; // 0x4f2 - bool m_bSaveRestore; // 0x4f3 - bool m_bSavedIsPlaying; // 0x4f4 - float m_flSavedElapsedTime; // 0x4f8 - CUtlSymbolLarge m_iszSourceEntityName; // 0x500 - CUtlSymbolLarge m_iszAttachmentName; // 0x508 - CEntityOutputTemplate< uint64 > m_onGUIDChanged; // 0x510 - CEntityIOOutput m_onSoundFinished; // 0x538 - CUtlSymbolLarge m_iszSoundName; // 0x580 - CEntityHandle m_hSource; // 0x590 + bool m_bStartOnSpawn; // 0x4f0 + bool m_bToLocalPlayer; // 0x4f1 + bool m_bStopOnNew; // 0x4f2 + bool m_bSaveRestore; // 0x4f3 + bool m_bSavedIsPlaying; // 0x4f4 +private: + [[maybe_unused]] uint8_t __pad04f5[0x3]; // 0x4f5 +public: + float m_flSavedElapsedTime; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc +public: + CUtlSymbolLarge m_iszSourceEntityName; // 0x500 + CUtlSymbolLarge m_iszAttachmentName; // 0x508 + CEntityOutputTemplate< uint64 > m_onGUIDChanged; // 0x510 + CEntityIOOutput m_onSoundFinished; // 0x538 +private: + [[maybe_unused]] uint8_t __pad0560[0x20]; // 0x560 +public: + CUtlSymbolLarge m_iszSoundName; // 0x580 +private: + [[maybe_unused]] uint8_t __pad0588[0x8]; // 0x588 +public: + CEntityHandle m_hSource; // 0x590 }; -// Aligment: 0 -// Size: 1432 -class CSoundEventEntityAlias_snd_event_point : public CSoundEventEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x598 +class CSoundEventEntityAlias_snd_event_point : public CSoundEventEntity { public: -// + // no members available }; -// Aligment: 2 -// Size: 1456 -class CSoundEventAABBEntity : public CSoundEventEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x5b0 +class CSoundEventAABBEntity : public CSoundEventEntity { public: - Vector m_vMins; // 0x598 - Vector m_vMaxs; // 0x5a4 + Vector m_vMins; // 0x598 + Vector m_vMaxs; // 0x5a4 }; -// Aligment: 6 -// Size: 1496 -class CSoundEventPathCornerEntity : public CSoundEventEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x5d8 +class CSoundEventPathCornerEntity : public CSoundEventEntity { public: - CUtlSymbolLarge m_iszPathCorner; // 0x598 - int32_t m_iCountMax; // 0x5a0 - float m_flDistanceMax; // 0x5a4 - float m_flDistMaxSqr; // 0x5a8 - float m_flDotProductMax; // 0x5ac - bool bPlaying; // 0x5b0 + CUtlSymbolLarge m_iszPathCorner; // 0x598 + int32_t m_iCountMax; // 0x5a0 + float m_flDistanceMax; // 0x5a4 + float m_flDistMaxSqr; // 0x5a8 + float m_flDotProductMax; // 0x5ac + bool bPlaying; // 0x5b0 }; -// Aligment: 2 -// Size: 1288 -class CSoundEventParameter : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x508 +class CSoundEventParameter : public CBaseEntity { public: - CUtlSymbolLarge m_iszParamName; // 0x4f8 - float m_flFloatValue; // 0x500 + CUtlSymbolLarge m_iszParamName; // 0x4f8 + float m_flFloatValue; // 0x500 }; -// Aligment: 0 -// Size: 1408 -class CEnvSoundscapeProxyAlias_snd_soundscape_proxy : public CEnvSoundscapeProxy, CEnvSoundscape, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x580 +class CEnvSoundscapeProxyAlias_snd_soundscape_proxy : public CEnvSoundscapeProxy { public: -// + // no members available }; -// Aligment: 0 -// Size: 1400 -class CEnvSoundscapeAlias_snd_soundscape : public CEnvSoundscape, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class CEnvSoundscapeAlias_snd_soundscape : public CEnvSoundscape { public: -// + // no members available }; -// Aligment: 0 -// Size: 1400 -class CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable : public CEnvSoundscapeTriggerable, CEnvSoundscape, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x578 +class CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable : public CEnvSoundscapeTriggerable { public: -// + // no members available }; -// Aligment: 0 -// Size: 1264 -class CNullEntity : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CNullEntity : public CBaseEntity { public: -// + // no members available }; -// Aligment: 1 -// Size: 1272 -class CBaseDMStart : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x4f8 +class CBaseDMStart : public CPointEntity { public: - CUtlSymbolLarge m_Master; // 0x4f0 + CUtlSymbolLarge m_Master; // 0x4f0 }; -// Aligment: 0 -// Size: 1264 -class CInfoLandmark : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CInfoLandmark : public CPointEntity { public: -// + // no members available }; -// Aligment: 14 -// Size: 1984 -class CSun : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0x7c0 +class CSun : public CBaseModelEntity { public: // MNetworkEnable - Vector m_vDirection; // 0x778 + Vector m_vDirection; // 0x778 // MNetworkEnable - Color m_clrOverlay; // 0x784 + Color m_clrOverlay; // 0x784 // MNetworkEnable - CUtlSymbolLarge m_iszEffectName; // 0x788 + CUtlSymbolLarge m_iszEffectName; // 0x788 // MNetworkEnable - CUtlSymbolLarge m_iszSSEffectName; // 0x790 + CUtlSymbolLarge m_iszSSEffectName; // 0x790 // MNetworkEnable - bool m_bOn; // 0x798 + bool m_bOn; // 0x798 // MNetworkEnable - bool m_bmaxColor; // 0x799 + bool m_bmaxColor; // 0x799 +private: + [[maybe_unused]] uint8_t __pad079a[0x2]; // 0x79a +public: // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" - float m_flSize; // 0x79c + float m_flSize; // 0x79c // MNetworkEnable // MNetworkMinValue "-360" // MNetworkMaxValue "360" - float m_flRotation; // 0x7a0 + float m_flRotation; // 0x7a0 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" - float m_flHazeScale; // 0x7a4 + float m_flHazeScale; // 0x7a4 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" - float m_flAlphaHaze; // 0x7a8 + float m_flAlphaHaze; // 0x7a8 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" - float m_flAlphaHdr; // 0x7ac + float m_flAlphaHdr; // 0x7ac // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" - float m_flAlphaScale; // 0x7b0 + float m_flAlphaScale; // 0x7b0 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" - float m_flHDRColorScale; // 0x7b4 + float m_flHDRColorScale; // 0x7b4 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "1" - float m_flFarZScale; // 0x7b8 + float m_flFarZScale; // 0x7b8 }; -// Aligment: 2 -// Size: 1288 -class CTankTargetChange : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x508 +class CTankTargetChange : public CPointEntity { public: - CVariantBase< CVariantDefaultAllocator > m_newTarget; // 0x4f0 - CUtlSymbolLarge m_newTargetName; // 0x500 + CVariantBase< CVariantDefaultAllocator > m_newTarget; // 0x4f0 + CUtlSymbolLarge m_newTargetName; // 0x500 }; -// Aligment: 7 -// Size: 1328 -class CTankTrainAI : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x530 +class CTankTrainAI : public CPointEntity { public: - CHandle< CFuncTrackTrain > m_hTrain; // 0x4f0 - CHandle< CBaseEntity > m_hTargetEntity; // 0x4f4 - int32_t m_soundPlaying; // 0x4f8 - CUtlSymbolLarge m_startSoundName; // 0x510 - CUtlSymbolLarge m_engineSoundName; // 0x518 - CUtlSymbolLarge m_movementSoundName; // 0x520 - CUtlSymbolLarge m_targetEntityName; // 0x528 + CHandle< CFuncTrackTrain > m_hTrain; // 0x4f0 + CHandle< CBaseEntity > m_hTargetEntity; // 0x4f4 + int32_t m_soundPlaying; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04fc[0x14]; // 0x4fc +public: + CUtlSymbolLarge m_startSoundName; // 0x510 + CUtlSymbolLarge m_engineSoundName; // 0x518 + CUtlSymbolLarge m_movementSoundName; // 0x520 + CUtlSymbolLarge m_targetEntityName; // 0x528 }; -// Aligment: 2 -// Size: 1272 -class CHandleTest : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x4f8 +class CHandleTest : public CBaseEntity { public: // MNetworkEnable - CHandle< CBaseEntity > m_Handle; // 0x4f0 + CHandle< CBaseEntity > m_Handle; // 0x4f0 // MNetworkEnable - bool m_bSendHandle; // 0x4f4 + bool m_bSendHandle; // 0x4f4 }; -// Aligment: 0 -// Size: 1264 -class CHandleDummy : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CHandleDummy : public CBaseEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1912 -class CFuncTrainControls : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x778 +class CFuncTrainControls : public CBaseModelEntity { public: -// + // no members available }; -// Aligment: 2 -// Size: 1928 -class CTriggerVolume : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x788 +class CTriggerVolume : public CBaseModelEntity { public: - CUtlSymbolLarge m_iFilterName; // 0x778 - CHandle< CBaseFilter > m_hFilter; // 0x780 + CUtlSymbolLarge m_iFilterName; // 0x778 + CHandle< CBaseFilter > m_hFilter; // 0x780 }; -// Aligment: 0 -// Size: 1264 -class CInfoTeleportDestination : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CInfoTeleportDestination : public CPointEntity { public: -// + // no members available }; -// Aligment: 1 -// Size: 1272 -class CAI_ChangeTarget : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x4f8 +class CAI_ChangeTarget : public CBaseEntity { public: - CUtlSymbolLarge m_iszNewTarget; // 0x4f0 + CUtlSymbolLarge m_iszNewTarget; // 0x4f0 }; -// Aligment: 4 -// Size: 1296 -class CAI_ChangeHintGroup : public CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x510 +class CAI_ChangeHintGroup : public CBaseEntity { public: - int32_t m_iSearchType; // 0x4f0 - CUtlSymbolLarge m_strSearchName; // 0x4f8 - CUtlSymbolLarge m_strNewHintGroup; // 0x500 - float m_flRadius; // 0x508 + int32_t m_iSearchType; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 +public: + CUtlSymbolLarge m_strSearchName; // 0x4f8 + CUtlSymbolLarge m_strNewHintGroup; // 0x500 + float m_flRadius; // 0x508 }; -// Aligment: 0 -// Size: 1264 -class CLogicProximity : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CLogicProximity : public CPointEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1264 -class CInfoSpawnGroupLandmark : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CInfoSpawnGroupLandmark : public CPointEntity { public: -// + // no members available }; -// Aligment: 11 -// Size: 1520 -class CInfoSpawnGroupLoadUnload : public CLogicalEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 11 +// Size: 0x5f0 +class CInfoSpawnGroupLoadUnload : public CLogicalEntity { public: - CEntityIOOutput m_OnSpawnGroupLoadStarted; // 0x4f0 - CEntityIOOutput m_OnSpawnGroupLoadFinished; // 0x518 - CEntityIOOutput m_OnSpawnGroupUnloadStarted; // 0x540 - CEntityIOOutput m_OnSpawnGroupUnloadFinished; // 0x568 - CUtlSymbolLarge m_iszSpawnGroupName; // 0x590 - CUtlSymbolLarge m_iszSpawnGroupFilterName; // 0x598 - CUtlSymbolLarge m_iszLandmarkName; // 0x5a0 - CUtlString m_sFixedSpawnGroupName; // 0x5a8 - float m_flTimeoutInterval; // 0x5b0 - bool m_bStreamingStarted; // 0x5b4 - bool m_bUnloadingStarted; // 0x5b5 + CEntityIOOutput m_OnSpawnGroupLoadStarted; // 0x4f0 + CEntityIOOutput m_OnSpawnGroupLoadFinished; // 0x518 + CEntityIOOutput m_OnSpawnGroupUnloadStarted; // 0x540 + CEntityIOOutput m_OnSpawnGroupUnloadFinished; // 0x568 + CUtlSymbolLarge m_iszSpawnGroupName; // 0x590 + CUtlSymbolLarge m_iszSpawnGroupFilterName; // 0x598 + CUtlSymbolLarge m_iszLandmarkName; // 0x5a0 + CUtlString m_sFixedSpawnGroupName; // 0x5a8 + float m_flTimeoutInterval; // 0x5b0 + bool m_bStreamingStarted; // 0x5b4 + bool m_bUnloadingStarted; // 0x5b5 }; -// Aligment: 1 -// Size: 1928 -class CFuncNavObstruction : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x788 +class CFuncNavObstruction : public CBaseModelEntity { public: - bool m_bDisabled; // 0x780 + bool m_bDisabled; // 0x780 }; -// Aligment: 10 -// Size: 1416 -class CAmbientGeneric : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 10 +// Size: 0x588 +class CAmbientGeneric : public CPointEntity { public: - float m_radius; // 0x4f0 - float m_flMaxRadius; // 0x4f4 - soundlevel_t m_iSoundLevel; // 0x4f8 - dynpitchvol_t m_dpv; // 0x4fc - bool m_fActive; // 0x560 - bool m_fLooping; // 0x561 - CUtlSymbolLarge m_iszSound; // 0x568 - CUtlSymbolLarge m_sSourceEntName; // 0x570 - CHandle< CBaseEntity > m_hSoundSource; // 0x578 - CEntityIndex m_nSoundSourceEntIndex; // 0x57c + float m_radius; // 0x4f0 + float m_flMaxRadius; // 0x4f4 + soundlevel_t m_iSoundLevel; // 0x4f8 + dynpitchvol_t m_dpv; // 0x4fc + bool m_fActive; // 0x560 + bool m_fLooping; // 0x561 +private: + [[maybe_unused]] uint8_t __pad0562[0x6]; // 0x562 +public: + CUtlSymbolLarge m_iszSound; // 0x568 + CUtlSymbolLarge m_sSourceEntName; // 0x570 + CHandle< CBaseEntity > m_hSoundSource; // 0x578 + CEntityIndex m_nSoundSourceEntIndex; // 0x57c }; -// Aligment: 16 -// Size: 2040 -class CBaseToggle : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 16 +// Size: 0x7f8 +class CBaseToggle : public CBaseModelEntity { public: - TOGGLE_STATE m_toggle_state; // 0x778 - float m_flMoveDistance; // 0x77c - float m_flWait; // 0x780 - float m_flLip; // 0x784 - bool m_bAlwaysFireBlockedOutputs; // 0x788 - Vector m_vecPosition1; // 0x78c - Vector m_vecPosition2; // 0x798 - QAngle m_vecMoveAng; // 0x7a4 - QAngle m_vecAngle1; // 0x7b0 - QAngle m_vecAngle2; // 0x7bc - float m_flHeight; // 0x7c8 - CHandle< CBaseEntity > m_hActivator; // 0x7cc - Vector m_vecFinalDest; // 0x7d0 - QAngle m_vecFinalAngle; // 0x7dc - int32_t m_movementType; // 0x7e8 - CUtlSymbolLarge m_sMaster; // 0x7f0 + TOGGLE_STATE m_toggle_state; // 0x778 + float m_flMoveDistance; // 0x77c + float m_flWait; // 0x780 + float m_flLip; // 0x784 + bool m_bAlwaysFireBlockedOutputs; // 0x788 +private: + [[maybe_unused]] uint8_t __pad0789[0x3]; // 0x789 +public: + Vector m_vecPosition1; // 0x78c + Vector m_vecPosition2; // 0x798 + QAngle m_vecMoveAng; // 0x7a4 + QAngle m_vecAngle1; // 0x7b0 + QAngle m_vecAngle2; // 0x7bc + float m_flHeight; // 0x7c8 + CHandle< CBaseEntity > m_hActivator; // 0x7cc + Vector m_vecFinalDest; // 0x7d0 + QAngle m_vecFinalAngle; // 0x7dc + int32_t m_movementType; // 0x7e8 +private: + [[maybe_unused]] uint8_t __pad07ec[0x4]; // 0x7ec +public: + CUtlSymbolLarge m_sMaster; // 0x7f0 }; -// Aligment: 22 -// Size: 2368 -class CBaseButton : public CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 22 +// Size: 0x940 +class CBaseButton : public CBaseToggle { public: - QAngle m_angMoveEntitySpace; // 0x7f8 - bool m_fStayPushed; // 0x804 - bool m_fRotating; // 0x805 - locksound_t m_ls; // 0x808 - CUtlSymbolLarge m_sUseSound; // 0x828 - CUtlSymbolLarge m_sLockedSound; // 0x830 - CUtlSymbolLarge m_sUnlockedSound; // 0x838 - bool m_bLocked; // 0x840 - float m_flUseLockedTime; // 0x844 - bool m_bSolidBsp; // 0x848 - CEntityIOOutput m_OnDamaged; // 0x850 - CEntityIOOutput m_OnPressed; // 0x878 - CEntityIOOutput m_OnUseLocked; // 0x8a0 - CEntityIOOutput m_OnIn; // 0x8c8 - CEntityIOOutput m_OnOut; // 0x8f0 - int32_t m_nState; // 0x918 - CEntityHandle m_hConstraint; // 0x91c - CEntityHandle m_hConstraintParent; // 0x920 - CUtlSymbolLarge m_sGlowEntity; // 0x928 + QAngle m_angMoveEntitySpace; // 0x7f8 + bool m_fStayPushed; // 0x804 + bool m_fRotating; // 0x805 +private: + [[maybe_unused]] uint8_t __pad0806[0x2]; // 0x806 +public: + locksound_t m_ls; // 0x808 + CUtlSymbolLarge m_sUseSound; // 0x828 + CUtlSymbolLarge m_sLockedSound; // 0x830 + CUtlSymbolLarge m_sUnlockedSound; // 0x838 + bool m_bLocked; // 0x840 +private: + [[maybe_unused]] uint8_t __pad0841[0x3]; // 0x841 +public: + float m_flUseLockedTime; // 0x844 + bool m_bSolidBsp; // 0x848 +private: + [[maybe_unused]] uint8_t __pad0849[0x7]; // 0x849 +public: + CEntityIOOutput m_OnDamaged; // 0x850 + CEntityIOOutput m_OnPressed; // 0x878 + CEntityIOOutput m_OnUseLocked; // 0x8a0 + CEntityIOOutput m_OnIn; // 0x8c8 + CEntityIOOutput m_OnOut; // 0x8f0 + int32_t m_nState; // 0x918 + CEntityHandle m_hConstraint; // 0x91c + CEntityHandle m_hConstraintParent; // 0x920 +private: + [[maybe_unused]] uint8_t __pad0924[0x4]; // 0x924 +public: + CUtlSymbolLarge m_sGlowEntity; // 0x928 // MNetworkEnable - CHandle< CBaseModelEntity > m_glowEntity; // 0x930 + CHandle< CBaseModelEntity > m_glowEntity; // 0x930 // MNetworkEnable - bool m_usable; // 0x934 + bool m_usable; // 0x934 +private: + [[maybe_unused]] uint8_t __pad0935[0x3]; // 0x935 +public: // MNetworkEnable - CUtlSymbolLarge m_szDisplayText; // 0x938 + CUtlSymbolLarge m_szDisplayText; // 0x938 }; -// Aligment: 0 -// Size: 2368 -class CPhysicalButton : public CBaseButton, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x940 +class CPhysicalButton : public CBaseButton { public: -// + // no members available }; -// Aligment: 0 -// Size: 2368 -class CRotButton : public CBaseButton, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x940 +class CRotButton : public CBaseButton { public: -// + // no members available }; -// Aligment: 15 -// Size: 2632 -class CMomentaryRotButton : public CRotButton, CBaseButton, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 15 +// Size: 0xa48 +class CMomentaryRotButton : public CRotButton { public: - bool m_bDisabled; // 0x940 - CEntityOutputTemplate< float32 > m_Position; // 0x948 - CEntityIOOutput m_OnUnpressed; // 0x970 - CEntityIOOutput m_OnFullyOpen; // 0x998 - CEntityIOOutput m_OnFullyClosed; // 0x9c0 - CEntityIOOutput m_OnReachedPosition; // 0x9e8 - int32_t m_lastUsed; // 0xa10 - QAngle m_start; // 0xa14 - QAngle m_end; // 0xa20 - float m_IdealYaw; // 0xa2c - CUtlSymbolLarge m_sNoise; // 0xa30 - bool m_bUpdateTarget; // 0xa38 - int32_t m_direction; // 0xa3c - float m_returnSpeed; // 0xa40 - float m_flStartPosition; // 0xa44 + bool m_bDisabled; // 0x940 +private: + [[maybe_unused]] uint8_t __pad0941[0x7]; // 0x941 +public: + CEntityOutputTemplate< float32 > m_Position; // 0x948 + CEntityIOOutput m_OnUnpressed; // 0x970 + CEntityIOOutput m_OnFullyOpen; // 0x998 + CEntityIOOutput m_OnFullyClosed; // 0x9c0 + CEntityIOOutput m_OnReachedPosition; // 0x9e8 + int32_t m_lastUsed; // 0xa10 + QAngle m_start; // 0xa14 + QAngle m_end; // 0xa20 + float m_IdealYaw; // 0xa2c + CUtlSymbolLarge m_sNoise; // 0xa30 + bool m_bUpdateTarget; // 0xa38 +private: + [[maybe_unused]] uint8_t __pad0a39[0x3]; // 0xa39 +public: + int32_t m_direction; // 0xa3c + float m_returnSpeed; // 0xa40 + float m_flStartPosition; // 0xa44 }; -// Aligment: 4 -// Size: 1288 -class CRagdollMagnet : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x508 +class CRagdollMagnet : public CPointEntity { public: - bool m_bDisabled; // 0x4f0 - float m_radius; // 0x4f4 - float m_force; // 0x4f8 - Vector m_axis; // 0x4fc + bool m_bDisabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: + float m_radius; // 0x4f4 + float m_force; // 0x4f8 + Vector m_axis; // 0x4fc }; -// Aligment: 26 -// Size: 2544 -class CBaseDoor : public CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 26 +// Size: 0x9f0 +class CBaseDoor : public CBaseToggle { public: - QAngle m_angMoveEntitySpace; // 0x808 - Vector m_vecMoveDirParentSpace; // 0x814 - locksound_t m_ls; // 0x820 - bool m_bForceClosed; // 0x840 - bool m_bDoorGroup; // 0x841 - bool m_bLocked; // 0x842 - bool m_bIgnoreDebris; // 0x843 - FuncDoorSpawnPos_t m_eSpawnPosition; // 0x844 - float m_flBlockDamage; // 0x848 - CUtlSymbolLarge m_NoiseMoving; // 0x850 - CUtlSymbolLarge m_NoiseArrived; // 0x858 - CUtlSymbolLarge m_NoiseMovingClosed; // 0x860 - CUtlSymbolLarge m_NoiseArrivedClosed; // 0x868 - CUtlSymbolLarge m_ChainTarget; // 0x870 - CEntityIOOutput m_OnBlockedClosing; // 0x878 - CEntityIOOutput m_OnBlockedOpening; // 0x8a0 - CEntityIOOutput m_OnUnblockedClosing; // 0x8c8 - CEntityIOOutput m_OnUnblockedOpening; // 0x8f0 - CEntityIOOutput m_OnFullyClosed; // 0x918 - CEntityIOOutput m_OnFullyOpen; // 0x940 - CEntityIOOutput m_OnClose; // 0x968 - CEntityIOOutput m_OnOpen; // 0x990 - CEntityIOOutput m_OnLockedUse; // 0x9b8 - bool m_bLoopMoveSound; // 0x9e0 - bool m_isChaining; // 0x9ec + QAngle m_angMoveEntitySpace; // 0x808 + Vector m_vecMoveDirParentSpace; // 0x814 + locksound_t m_ls; // 0x820 + bool m_bForceClosed; // 0x840 + bool m_bDoorGroup; // 0x841 + bool m_bLocked; // 0x842 + bool m_bIgnoreDebris; // 0x843 + FuncDoorSpawnPos_t m_eSpawnPosition; // 0x844 + float m_flBlockDamage; // 0x848 +private: + [[maybe_unused]] uint8_t __pad084c[0x4]; // 0x84c +public: + CUtlSymbolLarge m_NoiseMoving; // 0x850 + CUtlSymbolLarge m_NoiseArrived; // 0x858 + CUtlSymbolLarge m_NoiseMovingClosed; // 0x860 + CUtlSymbolLarge m_NoiseArrivedClosed; // 0x868 + CUtlSymbolLarge m_ChainTarget; // 0x870 + CEntityIOOutput m_OnBlockedClosing; // 0x878 + CEntityIOOutput m_OnBlockedOpening; // 0x8a0 + CEntityIOOutput m_OnUnblockedClosing; // 0x8c8 + CEntityIOOutput m_OnUnblockedOpening; // 0x8f0 + CEntityIOOutput m_OnFullyClosed; // 0x918 + CEntityIOOutput m_OnFullyOpen; // 0x940 + CEntityIOOutput m_OnClose; // 0x968 + CEntityIOOutput m_OnOpen; // 0x990 + CEntityIOOutput m_OnLockedUse; // 0x9b8 + bool m_bLoopMoveSound; // 0x9e0 +private: + [[maybe_unused]] uint8_t __pad09e1[0xb]; // 0x9e1 +public: + bool m_isChaining; // 0x9ec // MNetworkEnable - bool m_bIsUsable; // 0x9ed + bool m_bIsUsable; // 0x9ed }; -// Aligment: 0 -// Size: 1912 -class CEntityBlocker : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x778 +class CEntityBlocker : public CBaseModelEntity { public: -// + // no members available }; -// Aligment: 10 -// Size: 1960 -class CEntityDissolve : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 10 +// Size: 0x7a8 +class CEntityDissolve : public CBaseModelEntity { public: // MNetworkEnable - float m_flStartTime; // 0x778 + float m_flStartTime; // 0x778 // MNetworkEnable - float m_flFadeInStart; // 0x77c + float m_flFadeInStart; // 0x77c // MNetworkEnable - float m_flFadeInLength; // 0x780 + float m_flFadeInLength; // 0x780 // MNetworkEnable - float m_flFadeOutModelStart; // 0x784 + float m_flFadeOutModelStart; // 0x784 // MNetworkEnable - float m_flFadeOutModelLength; // 0x788 + float m_flFadeOutModelLength; // 0x788 // MNetworkEnable - float m_flFadeOutStart; // 0x78c + float m_flFadeOutStart; // 0x78c // MNetworkEnable - float m_flFadeOutLength; // 0x790 + float m_flFadeOutLength; // 0x790 // MNetworkEnable - EntityDisolveType_t m_nDissolveType; // 0x794 + EntityDisolveType_t m_nDissolveType; // 0x794 // MNetworkEnable - Vector m_vDissolverOrigin; // 0x798 + Vector m_vDissolverOrigin; // 0x798 // MNetworkEnable - uint32_t m_nMagnitude; // 0x7a4 + uint32_t m_nMagnitude; // 0x7a4 }; -// Aligment: 30 -// Size: 2528 -class CEnvProjectedTexture : public CModelPointEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 30 +// Size: 0x9e0 +class CEnvProjectedTexture : public CModelPointEntity { public: // MNetworkEnable - CHandle< CBaseEntity > m_hTargetEntity; // 0x778 + CHandle< CBaseEntity > m_hTargetEntity; // 0x778 // MNetworkEnable - bool m_bState; // 0x77c + bool m_bState; // 0x77c // MNetworkEnable - bool m_bAlwaysUpdate; // 0x77d + bool m_bAlwaysUpdate; // 0x77d +private: + [[maybe_unused]] uint8_t __pad077e[0x2]; // 0x77e +public: // MNetworkEnable - float m_flLightFOV; // 0x780 + float m_flLightFOV; // 0x780 // MNetworkEnable - bool m_bEnableShadows; // 0x784 + bool m_bEnableShadows; // 0x784 // MNetworkEnable - bool m_bSimpleProjection; // 0x785 + bool m_bSimpleProjection; // 0x785 // MNetworkEnable - bool m_bLightOnlyTarget; // 0x786 + bool m_bLightOnlyTarget; // 0x786 // MNetworkEnable - bool m_bLightWorld; // 0x787 + bool m_bLightWorld; // 0x787 // MNetworkEnable - bool m_bCameraSpace; // 0x788 + bool m_bCameraSpace; // 0x788 +private: + [[maybe_unused]] uint8_t __pad0789[0x3]; // 0x789 +public: // MNetworkEnable - float m_flBrightnessScale; // 0x78c + float m_flBrightnessScale; // 0x78c // MNetworkEnable - Color m_LightColor; // 0x790 + Color m_LightColor; // 0x790 // MNetworkEnable - float m_flIntensity; // 0x794 + float m_flIntensity; // 0x794 // MNetworkEnable - float m_flLinearAttenuation; // 0x798 + float m_flLinearAttenuation; // 0x798 // MNetworkEnable - float m_flQuadraticAttenuation; // 0x79c + float m_flQuadraticAttenuation; // 0x79c // MNetworkEnable - bool m_bVolumetric; // 0x7a0 + bool m_bVolumetric; // 0x7a0 +private: + [[maybe_unused]] uint8_t __pad07a1[0x3]; // 0x7a1 +public: // MNetworkEnable - float m_flNoiseStrength; // 0x7a4 + float m_flNoiseStrength; // 0x7a4 // MNetworkEnable - float m_flFlashlightTime; // 0x7a8 + float m_flFlashlightTime; // 0x7a8 // MNetworkEnable - uint32_t m_nNumPlanes; // 0x7ac + uint32_t m_nNumPlanes; // 0x7ac // MNetworkEnable - float m_flPlaneOffset; // 0x7b0 + float m_flPlaneOffset; // 0x7b0 // MNetworkEnable - float m_flVolumetricIntensity; // 0x7b4 + float m_flVolumetricIntensity; // 0x7b4 // MNetworkEnable - float m_flColorTransitionTime; // 0x7b8 + float m_flColorTransitionTime; // 0x7b8 // MNetworkEnable - float m_flAmbient; // 0x7bc + float m_flAmbient; // 0x7bc // MNetworkEnable - char[512] m_SpotlightTextureName; // 0x7c0 + char m_SpotlightTextureName[512]; // 0x7c0 // MNetworkEnable - int32_t m_nSpotlightTextureFrame; // 0x9c0 + int32_t m_nSpotlightTextureFrame; // 0x9c0 // MNetworkEnable - uint32_t m_nShadowQuality; // 0x9c4 + uint32_t m_nShadowQuality; // 0x9c4 // MNetworkEnable // MNetworkBitCount "16" // MNetworkMinValue "0" // MNetworkMaxValue "500" // MNetworkEncodeFlags - float m_flNearZ; // 0x9c8 + float m_flNearZ; // 0x9c8 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "0" // MNetworkMaxValue "1500" // MNetworkEncodeFlags - float m_flFarZ; // 0x9cc + float m_flFarZ; // 0x9cc // MNetworkEnable - float m_flProjectionSize; // 0x9d0 + float m_flProjectionSize; // 0x9d0 // MNetworkEnable - float m_flRotation; // 0x9d4 + float m_flRotation; // 0x9d4 // MNetworkEnable - bool m_bFlipHorizontal; // 0x9d8 + bool m_bFlipHorizontal; // 0x9d8 }; -// Aligment: 6 -// Size: 1336 -class CMessage : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x538 +class CMessage : public CPointEntity { public: - CUtlSymbolLarge m_iszMessage; // 0x4f0 - float m_MessageVolume; // 0x4f8 - int32_t m_MessageAttenuation; // 0x4fc - float m_Radius; // 0x500 - CUtlSymbolLarge m_sNoise; // 0x508 - CEntityIOOutput m_OnShowMessage; // 0x510 + CUtlSymbolLarge m_iszMessage; // 0x4f0 + float m_MessageVolume; // 0x4f8 + int32_t m_MessageAttenuation; // 0x4fc + float m_Radius; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 +public: + CUtlSymbolLarge m_sNoise; // 0x508 + CEntityIOOutput m_OnShowMessage; // 0x510 }; -// Aligment: 17 -// Size: 1712 -class CEnvMicrophone : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 17 +// Size: 0x6b0 +class CEnvMicrophone : public CPointEntity { public: - bool m_bDisabled; // 0x4f0 - CHandle< CBaseEntity > m_hMeasureTarget; // 0x4f4 - int32_t m_nSoundMask; // 0x4f8 - float m_flSensitivity; // 0x4fc - float m_flSmoothFactor; // 0x500 - float m_flMaxRange; // 0x504 - CUtlSymbolLarge m_iszSpeakerName; // 0x508 - CHandle< CBaseEntity > m_hSpeaker; // 0x510 - bool m_bAvoidFeedback; // 0x514 - int32_t m_iSpeakerDSPPreset; // 0x518 - CUtlSymbolLarge m_iszListenFilter; // 0x520 - CHandle< CBaseFilter > m_hListenFilter; // 0x528 - CEntityOutputTemplate< float32 > m_SoundLevel; // 0x530 - CEntityIOOutput m_OnRoutedSound; // 0x558 - CEntityIOOutput m_OnHeardSound; // 0x580 - char[256] m_szLastSound; // 0x5a8 - int32_t m_iLastRoutedFrame; // 0x6a8 + bool m_bDisabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: + CHandle< CBaseEntity > m_hMeasureTarget; // 0x4f4 + int32_t m_nSoundMask; // 0x4f8 + float m_flSensitivity; // 0x4fc + float m_flSmoothFactor; // 0x500 + float m_flMaxRange; // 0x504 + CUtlSymbolLarge m_iszSpeakerName; // 0x508 + CHandle< CBaseEntity > m_hSpeaker; // 0x510 + bool m_bAvoidFeedback; // 0x514 +private: + [[maybe_unused]] uint8_t __pad0515[0x3]; // 0x515 +public: + int32_t m_iSpeakerDSPPreset; // 0x518 +private: + [[maybe_unused]] uint8_t __pad051c[0x4]; // 0x51c +public: + CUtlSymbolLarge m_iszListenFilter; // 0x520 + CHandle< CBaseFilter > m_hListenFilter; // 0x528 +private: + [[maybe_unused]] uint8_t __pad052c[0x4]; // 0x52c +public: + CEntityOutputTemplate< float32 > m_SoundLevel; // 0x530 + CEntityIOOutput m_OnRoutedSound; // 0x558 + CEntityIOOutput m_OnHeardSound; // 0x580 + char m_szLastSound[256]; // 0x5a8 + int32_t m_iLastRoutedFrame; // 0x6a8 }; -// Aligment: 20 -// Size: 2104 -class CBreakable : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 20 +// Size: 0x838 +class CBreakable : public CBaseModelEntity { public: - Materials m_Material; // 0x788 - CHandle< CBaseEntity > m_hBreaker; // 0x78c - Explosions m_Explosion; // 0x790 - CUtlSymbolLarge m_iszSpawnObject; // 0x798 - float m_flPressureDelay; // 0x7a0 - int32_t m_iMinHealthDmg; // 0x7a4 - CUtlSymbolLarge m_iszPropData; // 0x7a8 - float m_impactEnergyScale; // 0x7b0 - CEntityIOOutput m_OnBreak; // 0x7b8 - CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x7e0 - float m_flDmgModBullet; // 0x808 - float m_flDmgModClub; // 0x80c - float m_flDmgModExplosive; // 0x810 - float m_flDmgModFire; // 0x814 - CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x818 - CUtlSymbolLarge m_iszBasePropData; // 0x820 - int32_t m_iInteractions; // 0x828 - PerformanceMode_t m_PerformanceMode; // 0x82c - CHandle< CBasePlayer > m_hPhysicsAttacker; // 0x830 - float m_flLastPhysicsInfluenceTime; // 0x834 + Materials m_Material; // 0x788 + CHandle< CBaseEntity > m_hBreaker; // 0x78c + Explosions m_Explosion; // 0x790 +private: + [[maybe_unused]] uint8_t __pad0794[0x4]; // 0x794 +public: + CUtlSymbolLarge m_iszSpawnObject; // 0x798 + float m_flPressureDelay; // 0x7a0 + int32_t m_iMinHealthDmg; // 0x7a4 + CUtlSymbolLarge m_iszPropData; // 0x7a8 + float m_impactEnergyScale; // 0x7b0 +private: + [[maybe_unused]] uint8_t __pad07b4[0x4]; // 0x7b4 +public: + CEntityIOOutput m_OnBreak; // 0x7b8 + CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x7e0 + float m_flDmgModBullet; // 0x808 + float m_flDmgModClub; // 0x80c + float m_flDmgModExplosive; // 0x810 + float m_flDmgModFire; // 0x814 + CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x818 + CUtlSymbolLarge m_iszBasePropData; // 0x820 + int32_t m_iInteractions; // 0x828 + PerformanceMode_t m_PerformanceMode; // 0x82c + CHandle< CBasePlayer > m_hPhysicsAttacker; // 0x830 + float m_flLastPhysicsInfluenceTime; // 0x834 }; -// Aligment: 11 -// Size: 2208 -class CFuncMoveLinear : public CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 11 +// Size: 0x8a0 +class CFuncMoveLinear : public CBaseToggle { public: - QAngle m_angMoveEntitySpace; // 0x7f8 - Vector m_vecMoveDirParentSpace; // 0x804 - CUtlSymbolLarge m_soundStart; // 0x810 - CUtlSymbolLarge m_soundStop; // 0x818 - CUtlSymbolLarge m_currentSound; // 0x820 - float m_flBlockDamage; // 0x828 - float m_flStartPosition; // 0x82c - float m_flMoveDistance; // 0x830 - CEntityIOOutput m_OnFullyOpen; // 0x840 - CEntityIOOutput m_OnFullyClosed; // 0x868 - bool m_bCreateNavObstacle; // 0x890 + QAngle m_angMoveEntitySpace; // 0x7f8 + Vector m_vecMoveDirParentSpace; // 0x804 + CUtlSymbolLarge m_soundStart; // 0x810 + CUtlSymbolLarge m_soundStop; // 0x818 + CUtlSymbolLarge m_currentSound; // 0x820 + float m_flBlockDamage; // 0x828 + float m_flStartPosition; // 0x82c + float m_flMoveDistance; // 0x830 +private: + [[maybe_unused]] uint8_t __pad0834[0xc]; // 0x834 +public: + CEntityIOOutput m_OnFullyOpen; // 0x840 + CEntityIOOutput m_OnFullyClosed; // 0x868 + bool m_bCreateNavObstacle; // 0x890 }; -// Aligment: 13 -// Size: 2016 -class CFuncRotating : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 13 +// Size: 0x7e0 +class CFuncRotating : public CBaseModelEntity { public: - QAngle m_vecMoveAng; // 0x778 - float m_flFanFriction; // 0x784 - float m_flAttenuation; // 0x788 - float m_flVolume; // 0x78c - float m_flTargetSpeed; // 0x790 - float m_flMaxSpeed; // 0x794 - float m_flBlockDamage; // 0x798 - CUtlSymbolLarge m_NoiseRunning; // 0x7a0 - bool m_bReversed; // 0x7a8 - QAngle m_angStart; // 0x7b4 - bool m_bStopAtStartPos; // 0x7c0 - Vector m_vecClientOrigin; // 0x7c4 - QAngle m_vecClientAngles; // 0x7d0 + QAngle m_vecMoveAng; // 0x778 + float m_flFanFriction; // 0x784 + float m_flAttenuation; // 0x788 + float m_flVolume; // 0x78c + float m_flTargetSpeed; // 0x790 + float m_flMaxSpeed; // 0x794 + float m_flBlockDamage; // 0x798 +private: + [[maybe_unused]] uint8_t __pad079c[0x4]; // 0x79c +public: + CUtlSymbolLarge m_NoiseRunning; // 0x7a0 + bool m_bReversed; // 0x7a8 +private: + [[maybe_unused]] uint8_t __pad07a9[0xb]; // 0x7a9 +public: + QAngle m_angStart; // 0x7b4 + bool m_bStopAtStartPos; // 0x7c0 +private: + [[maybe_unused]] uint8_t __pad07c1[0x3]; // 0x7c1 +public: + Vector m_vecClientOrigin; // 0x7c4 + QAngle m_vecClientAngles; // 0x7d0 }; -// Aligment: 1 -// Size: 1920 -class CItemGenericTriggerHelper : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x780 +class CItemGenericTriggerHelper : public CBaseModelEntity { public: - CHandle< CItemGeneric > m_hParentItem; // 0x778 + CHandle< CItemGeneric > m_hParentItem; // 0x778 }; -// Aligment: 1 -// Size: 1920 -class CMarkupVolume : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x780 +class CMarkupVolume : public CBaseModelEntity { public: - bool m_bEnabled; // 0x778 + bool m_bEnabled; // 0x778 }; -// Aligment: 5 -// Size: 1976 -class CMarkupVolumeTagged : public CMarkupVolume, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x7b8 +class CMarkupVolumeTagged : public CMarkupVolume { public: - bool m_bIsGroup; // 0x7b0 - bool m_bGroupByPrefab; // 0x7b1 - bool m_bGroupByVolume; // 0x7b2 - bool m_bGroupOtherGroups; // 0x7b3 - bool m_bIsInGroup; // 0x7b4 + bool m_bIsGroup; // 0x7b0 + bool m_bGroupByPrefab; // 0x7b1 + bool m_bGroupByVolume; // 0x7b2 + bool m_bGroupOtherGroups; // 0x7b3 + bool m_bIsInGroup; // 0x7b4 }; -// Aligment: 3 -// Size: 2000 -class CMarkupVolumeWithRef : public CMarkupVolumeTagged, CMarkupVolume, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x7d0 +class CMarkupVolumeWithRef : public CMarkupVolumeTagged { public: - bool m_bUseRef; // 0x7b8 - Vector m_vRefPos; // 0x7bc - float m_flRefDot; // 0x7c8 + bool m_bUseRef; // 0x7b8 +private: + [[maybe_unused]] uint8_t __pad07b9[0x3]; // 0x7b9 +public: + Vector m_vRefPos; // 0x7bc + float m_flRefDot; // 0x7c8 }; -// Aligment: 6 -// Size: 1944 -class CFuncBrush : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x798 +class CFuncBrush : public CBaseModelEntity { public: - BrushSolidities_e m_iSolidity; // 0x778 - int32_t m_iDisabled; // 0x77c - bool m_bSolidBsp; // 0x780 - CUtlSymbolLarge m_iszExcludedClass; // 0x788 - bool m_bInvertExclusion; // 0x790 - bool m_bScriptedMovement; // 0x791 + BrushSolidities_e m_iSolidity; // 0x778 + int32_t m_iDisabled; // 0x77c + bool m_bSolidBsp; // 0x780 +private: + [[maybe_unused]] uint8_t __pad0781[0x7]; // 0x781 +public: + CUtlSymbolLarge m_iszExcludedClass; // 0x788 + bool m_bInvertExclusion; // 0x790 + bool m_bScriptedMovement; // 0x791 }; -// Aligment: 9 -// Size: 1352 -class CPathTrack : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x548 +class CPathTrack : public CPointEntity { public: - CPathTrack* m_pnext; // 0x4f0 - CPathTrack* m_pprevious; // 0x4f8 - CPathTrack* m_paltpath; // 0x500 - float m_flRadius; // 0x508 - float m_length; // 0x50c - CUtlSymbolLarge m_altName; // 0x510 - int32_t m_nIterVal; // 0x518 - TrackOrientationType_t m_eOrientationType; // 0x51c - CEntityIOOutput m_OnPass; // 0x520 -public: - static int32_t &Get_s_nCurrIterVal() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CPathTrack")->m_static_fiels[0]->m_instance); } - static bool &Get_s_bIsIterating() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CPathTrack")->m_static_fiels[1]->m_instance); } + CPathTrack* m_pnext; // 0x4f0 + CPathTrack* m_pprevious; // 0x4f8 + CPathTrack* m_paltpath; // 0x500 + float m_flRadius; // 0x508 + float m_length; // 0x50c + CUtlSymbolLarge m_altName; // 0x510 + int32_t m_nIterVal; // 0x518 + TrackOrientationType_t m_eOrientationType; // 0x51c + CEntityIOOutput m_OnPass; // 0x520 + 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);}; }; -// Aligment: 14 -// Size: 2376 -class CPhysBox : public CBreakable, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0x948 +class CPhysBox : public CBreakable { public: - int32_t m_damageType; // 0x838 - float m_massScale; // 0x83c - int32_t m_damageToEnableMotion; // 0x840 - float m_flForceToEnableMotion; // 0x844 - QAngle m_angPreferredCarryAngles; // 0x848 - bool m_bNotSolidToWorld; // 0x854 - int32_t m_iExploitableByPlayer; // 0x858 - float m_flTouchOutputPerEntityDelay; // 0x85c - CEntityIOOutput m_OnDamaged; // 0x860 - CEntityIOOutput m_OnAwakened; // 0x888 - CEntityIOOutput m_OnMotionEnabled; // 0x8b0 - CEntityIOOutput m_OnPlayerUse; // 0x8d8 - CEntityIOOutput m_OnStartTouch; // 0x900 - CHandle< CBasePlayer > m_hCarryingPlayer; // 0x928 + int32_t m_damageType; // 0x838 + float m_massScale; // 0x83c + int32_t m_damageToEnableMotion; // 0x840 + float m_flForceToEnableMotion; // 0x844 + QAngle m_angPreferredCarryAngles; // 0x848 + bool m_bNotSolidToWorld; // 0x854 +private: + [[maybe_unused]] uint8_t __pad0855[0x3]; // 0x855 +public: + int32_t m_iExploitableByPlayer; // 0x858 + float m_flTouchOutputPerEntityDelay; // 0x85c + CEntityIOOutput m_OnDamaged; // 0x860 + CEntityIOOutput m_OnAwakened; // 0x888 + CEntityIOOutput m_OnMotionEnabled; // 0x8b0 + CEntityIOOutput m_OnPlayerUse; // 0x8d8 + CEntityIOOutput m_OnStartTouch; // 0x900 + CHandle< CBasePlayer > m_hCarryingPlayer; // 0x928 }; -// Aligment: 9 -// Size: 1344 -class CPhysExplosion : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x540 +class CPhysExplosion : public CPointEntity { public: - bool m_bExplodeOnSpawn; // 0x4f0 - float m_flMagnitude; // 0x4f4 - float m_flDamage; // 0x4f8 - float m_radius; // 0x4fc - CUtlSymbolLarge m_targetEntityName; // 0x500 - float m_flInnerRadius; // 0x508 - float m_flPushScale; // 0x50c - bool m_bConvertToDebrisWhenPossible; // 0x510 - CEntityIOOutput m_OnPushedPlayer; // 0x518 + bool m_bExplodeOnSpawn; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: + float m_flMagnitude; // 0x4f4 + float m_flDamage; // 0x4f8 + float m_radius; // 0x4fc + CUtlSymbolLarge m_targetEntityName; // 0x500 + float m_flInnerRadius; // 0x508 + float m_flPushScale; // 0x50c + bool m_bConvertToDebrisWhenPossible; // 0x510 +private: + [[maybe_unused]] uint8_t __pad0511[0x7]; // 0x511 +public: + CEntityIOOutput m_OnPushedPlayer; // 0x518 }; -// Aligment: 3 -// Size: 1280 -class CPhysImpact : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x500 +class CPhysImpact : public CPointEntity { public: - float m_damage; // 0x4f0 - float m_distance; // 0x4f4 - CUtlSymbolLarge m_directionEntityName; // 0x4f8 + float m_damage; // 0x4f0 + float m_distance; // 0x4f4 + CUtlSymbolLarge m_directionEntityName; // 0x4f8 }; -// Aligment: 21 -// Size: 2000 -class CRopeKeyframe : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 21 +// Size: 0x7d0 +class CRopeKeyframe : public CBaseModelEntity { public: // MNetworkEnable - uint16_t m_RopeFlags; // 0x780 - CUtlSymbolLarge m_iNextLinkName; // 0x788 + uint16_t m_RopeFlags; // 0x780 +private: + [[maybe_unused]] uint8_t __pad0782[0x6]; // 0x782 +public: + CUtlSymbolLarge m_iNextLinkName; // 0x788 // MNetworkEnable - int16_t m_Slack; // 0x790 + int16_t m_Slack; // 0x790 +private: + [[maybe_unused]] uint8_t __pad0792[0x2]; // 0x792 +public: // MNetworkEnable - float m_Width; // 0x794 + float m_Width; // 0x794 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.1" // MNetworkMaxValue "10" - float m_TextureScale; // 0x798 + float m_TextureScale; // 0x798 // MNetworkEnable - uint8_t m_nSegments; // 0x79c + uint8_t m_nSegments; // 0x79c // MNetworkEnable - bool m_bConstrainBetweenEndpoints; // 0x79d - CUtlSymbolLarge m_strRopeMaterialModel; // 0x7a0 + bool m_bConstrainBetweenEndpoints; // 0x79d +private: + [[maybe_unused]] uint8_t __pad079e[0x2]; // 0x79e +public: + CUtlSymbolLarge m_strRopeMaterialModel; // 0x7a0 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x7a8 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x7a8 // MNetworkEnable - uint8_t m_Subdiv; // 0x7b0 + uint8_t m_Subdiv; // 0x7b0 // MNetworkEnable - uint8_t m_nChangeCount; // 0x7b1 + uint8_t m_nChangeCount; // 0x7b1 // MNetworkEnable - int16_t m_RopeLength; // 0x7b2 + int16_t m_RopeLength; // 0x7b2 // MNetworkEnable - uint8_t m_fLockedPoints; // 0x7b4 - bool m_bCreatedFromMapFile; // 0x7b5 + uint8_t m_fLockedPoints; // 0x7b4 + bool m_bCreatedFromMapFile; // 0x7b5 +private: + [[maybe_unused]] uint8_t __pad07b6[0x2]; // 0x7b6 +public: // MNetworkEnable - float m_flScrollSpeed; // 0x7b8 - bool m_bStartPointValid; // 0x7bc - bool m_bEndPointValid; // 0x7bd + float m_flScrollSpeed; // 0x7b8 + bool m_bStartPointValid; // 0x7bc + bool m_bEndPointValid; // 0x7bd +private: + [[maybe_unused]] uint8_t __pad07be[0x2]; // 0x7be +public: // MNetworkEnable - CHandle< CBaseEntity > m_hStartPoint; // 0x7c0 + CHandle< CBaseEntity > m_hStartPoint; // 0x7c0 // MNetworkEnable - CHandle< CBaseEntity > m_hEndPoint; // 0x7c4 + CHandle< CBaseEntity > m_hEndPoint; // 0x7c4 // MNetworkEnable - AttachmentHandle_t m_iStartAttachment; // 0x7c8 + AttachmentHandle_t m_iStartAttachment; // 0x7c8 // MNetworkEnable - AttachmentHandle_t m_iEndAttachment; // 0x7c9 + AttachmentHandle_t m_iEndAttachment; // 0x7c9 }; -// Aligment: 4 -// Size: 7936 -class CSoundEnt : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x1f00 +class CSoundEnt : public CPointEntity { public: - int32_t m_iFreeSound; // 0x4f0 - int32_t m_iActiveSound; // 0x4f4 - int32_t m_cLastActiveSounds; // 0x4f8 - CSound[128] m_SoundPool; // 0x4fc + int32_t m_iFreeSound; // 0x4f0 + int32_t m_iActiveSound; // 0x4f4 + int32_t m_cLastActiveSounds; // 0x4f8 + CSound m_SoundPool[128]; // 0x4fc }; -// Aligment: 4 -// Size: 1944 -class CSpotlightEnd : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x798 +class CSpotlightEnd : public CBaseModelEntity { public: // MNetworkEnable - float m_flLightScale; // 0x778 + float m_flLightScale; // 0x778 // MNetworkEnable - float m_Radius; // 0x77c - Vector m_vSpotlightDir; // 0x780 - Vector m_vSpotlightOrg; // 0x78c + float m_Radius; // 0x77c + Vector m_vSpotlightDir; // 0x780 + Vector m_vSpotlightOrg; // 0x78c }; -// Aligment: 35 -// Size: 2224 -class CFuncTrackTrain : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 35 +// Size: 0x8b0 +class CFuncTrackTrain : public CBaseModelEntity { public: - CHandle< CPathTrack > m_ppath; // 0x778 - float m_length; // 0x77c - Vector m_controlMins; // 0x780 - Vector m_controlMaxs; // 0x78c - Vector m_lastBlockPos; // 0x798 - int32_t m_lastBlockTick; // 0x7a4 - float m_flVolume; // 0x7a8 - float m_flBank; // 0x7ac - float m_oldSpeed; // 0x7b0 - float m_flBlockDamage; // 0x7b4 - float m_height; // 0x7b8 - float m_maxSpeed; // 0x7bc - float m_dir; // 0x7c0 - CUtlSymbolLarge m_iszSoundMove; // 0x7c8 - CUtlSymbolLarge m_iszSoundMovePing; // 0x7d0 - CUtlSymbolLarge m_iszSoundStart; // 0x7d8 - CUtlSymbolLarge m_iszSoundStop; // 0x7e0 - CUtlSymbolLarge m_strPathTarget; // 0x7e8 - float m_flMoveSoundMinDuration; // 0x7f0 - float m_flMoveSoundMaxDuration; // 0x7f4 - float m_flNextMoveSoundTime; // 0x7f8 - float m_flMoveSoundMinPitch; // 0x7fc - float m_flMoveSoundMaxPitch; // 0x800 - TrainOrientationType_t m_eOrientationType; // 0x804 - TrainVelocityType_t m_eVelocityType; // 0x808 - CEntityIOOutput m_OnStart; // 0x818 - CEntityIOOutput m_OnNext; // 0x840 - CEntityIOOutput m_OnArrivedAtDestinationNode; // 0x868 - bool m_bManualSpeedChanges; // 0x890 - float m_flDesiredSpeed; // 0x894 - float m_flSpeedChangeTime; // 0x898 - float m_flAccelSpeed; // 0x89c - float m_flDecelSpeed; // 0x8a0 - bool m_bAccelToSpeed; // 0x8a4 - float m_flNextMPSoundTime; // 0x8a8 + CHandle< CPathTrack > m_ppath; // 0x778 + float m_length; // 0x77c + Vector m_controlMins; // 0x780 + Vector m_controlMaxs; // 0x78c + Vector m_lastBlockPos; // 0x798 + int32_t m_lastBlockTick; // 0x7a4 + float m_flVolume; // 0x7a8 + float m_flBank; // 0x7ac + float m_oldSpeed; // 0x7b0 + float m_flBlockDamage; // 0x7b4 + float m_height; // 0x7b8 + float m_maxSpeed; // 0x7bc + float m_dir; // 0x7c0 +private: + [[maybe_unused]] uint8_t __pad07c4[0x4]; // 0x7c4 +public: + CUtlSymbolLarge m_iszSoundMove; // 0x7c8 + CUtlSymbolLarge m_iszSoundMovePing; // 0x7d0 + CUtlSymbolLarge m_iszSoundStart; // 0x7d8 + CUtlSymbolLarge m_iszSoundStop; // 0x7e0 + CUtlSymbolLarge m_strPathTarget; // 0x7e8 + float m_flMoveSoundMinDuration; // 0x7f0 + float m_flMoveSoundMaxDuration; // 0x7f4 + float m_flNextMoveSoundTime; // 0x7f8 + float m_flMoveSoundMinPitch; // 0x7fc + float m_flMoveSoundMaxPitch; // 0x800 + TrainOrientationType_t m_eOrientationType; // 0x804 + TrainVelocityType_t m_eVelocityType; // 0x808 +private: + [[maybe_unused]] uint8_t __pad080c[0xc]; // 0x80c +public: + CEntityIOOutput m_OnStart; // 0x818 + CEntityIOOutput m_OnNext; // 0x840 + CEntityIOOutput m_OnArrivedAtDestinationNode; // 0x868 + bool m_bManualSpeedChanges; // 0x890 +private: + [[maybe_unused]] uint8_t __pad0891[0x3]; // 0x891 +public: + float m_flDesiredSpeed; // 0x894 + float m_flSpeedChangeTime; // 0x898 + float m_flAccelSpeed; // 0x89c + float m_flDecelSpeed; // 0x8a0 + bool m_bAccelToSpeed; // 0x8a4 +private: + [[maybe_unused]] uint8_t __pad08a5[0x3]; // 0x8a5 +public: + float m_flNextMPSoundTime; // 0x8a8 }; -// Aligment: 11 -// Size: 2336 -class CBaseTrigger : public CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 11 +// Size: 0x920 +class CBaseTrigger : public CBaseToggle { public: // MNetworkEnable - bool m_bDisabled; // 0x7f8 - CUtlSymbolLarge m_iFilterName; // 0x800 - CHandle< CBaseFilter > m_hFilter; // 0x808 - CEntityIOOutput m_OnStartTouch; // 0x810 - CEntityIOOutput m_OnStartTouchAll; // 0x838 - CEntityIOOutput m_OnEndTouch; // 0x860 - CEntityIOOutput m_OnEndTouchAll; // 0x888 - CEntityIOOutput m_OnTouching; // 0x8b0 - CEntityIOOutput m_OnNotTouching; // 0x8d8 - CUtlVector< CHandle< CBaseEntity > > m_hTouchingEntities; // 0x900 + bool m_bDisabled; // 0x7f8 +private: + [[maybe_unused]] uint8_t __pad07f9[0x7]; // 0x7f9 +public: + CUtlSymbolLarge m_iFilterName; // 0x800 + CHandle< CBaseFilter > m_hFilter; // 0x808 +private: + [[maybe_unused]] uint8_t __pad080c[0x4]; // 0x80c +public: + CEntityIOOutput m_OnStartTouch; // 0x810 + CEntityIOOutput m_OnStartTouchAll; // 0x838 + CEntityIOOutput m_OnEndTouch; // 0x860 + CEntityIOOutput m_OnEndTouchAll; // 0x888 + CEntityIOOutput m_OnTouching; // 0x8b0 + CEntityIOOutput m_OnNotTouching; // 0x8d8 + CUtlVector< CHandle< CBaseEntity > > m_hTouchingEntities; // 0x900 // MNetworkEnable - bool m_bClientSidePredicted; // 0x918 + bool m_bClientSidePredicted; // 0x918 }; -// Aligment: 1 -// Size: 2376 -class CTriggerMultiple : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x948 +class CTriggerMultiple : public CBaseTrigger { public: - CEntityIOOutput m_OnTrigger; // 0x920 + CEntityIOOutput m_OnTrigger; // 0x920 }; -// Aligment: 15 -// Size: 3208 -class CTriggerSndSosOpvar : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 15 +// Size: 0xc88 +class CTriggerSndSosOpvar : public CBaseTrigger { public: - CUtlVector< CHandle< CBaseEntity > > m_hTouchingPlayers; // 0x920 - Vector m_flPosition; // 0x938 - float m_flCenterSize; // 0x944 - float m_flMinVal; // 0x948 - float m_flMaxVal; // 0x94c - float m_flWait; // 0x950 - CUtlSymbolLarge m_opvarName; // 0x958 - CUtlSymbolLarge m_stackName; // 0x960 - CUtlSymbolLarge m_operatorName; // 0x968 - bool m_bVolIs2D; // 0x970 - char[256] m_opvarNameChar; // 0x971 - char[256] m_stackNameChar; // 0xa71 - char[256] m_operatorNameChar; // 0xb71 - Vector m_VecNormPos; // 0xc74 - float m_flNormCenterSize; // 0xc80 + CUtlVector< CHandle< CBaseEntity > > m_hTouchingPlayers; // 0x920 + Vector m_flPosition; // 0x938 + float m_flCenterSize; // 0x944 + float m_flMinVal; // 0x948 + float m_flMaxVal; // 0x94c + float m_flWait; // 0x950 +private: + [[maybe_unused]] uint8_t __pad0954[0x4]; // 0x954 +public: + CUtlSymbolLarge m_opvarName; // 0x958 + CUtlSymbolLarge m_stackName; // 0x960 + CUtlSymbolLarge m_operatorName; // 0x968 + bool m_bVolIs2D; // 0x970 + char m_opvarNameChar[256]; // 0x971 + char m_stackNameChar[256]; // 0xa71 + char m_operatorNameChar[256]; // 0xb71 +private: + [[maybe_unused]] uint8_t __pad0c71[0x3]; // 0xc71 +public: + Vector m_VecNormPos; // 0xc74 + float m_flNormCenterSize; // 0xc80 }; -// Aligment: 14 -// Size: 2496 -class CTriggerHurt : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0x9c0 +class CTriggerHurt : public CBaseTrigger { public: - float m_flOriginalDamage; // 0x920 - float m_flDamage; // 0x924 - float m_flDamageCap; // 0x928 - float m_flLastDmgTime; // 0x92c - float m_flForgivenessDelay; // 0x930 - int32_t m_bitsDamageInflict; // 0x934 - int32_t m_damageModel; // 0x938 - bool m_bNoDmgForce; // 0x93c - Vector m_vDamageForce; // 0x940 - bool m_thinkAlways; // 0x94c - float m_hurtThinkPeriod; // 0x950 - CEntityIOOutput m_OnHurt; // 0x958 - CEntityIOOutput m_OnHurtPlayer; // 0x980 - CUtlVector< CHandle< CBaseEntity > > m_hurtEntities; // 0x9a8 + float m_flOriginalDamage; // 0x920 + float m_flDamage; // 0x924 + float m_flDamageCap; // 0x928 + float m_flLastDmgTime; // 0x92c + float m_flForgivenessDelay; // 0x930 + int32_t m_bitsDamageInflict; // 0x934 + int32_t m_damageModel; // 0x938 + bool m_bNoDmgForce; // 0x93c +private: + [[maybe_unused]] uint8_t __pad093d[0x3]; // 0x93d +public: + Vector m_vDamageForce; // 0x940 + bool m_thinkAlways; // 0x94c +private: + [[maybe_unused]] uint8_t __pad094d[0x3]; // 0x94d +public: + float m_hurtThinkPeriod; // 0x950 +private: + [[maybe_unused]] uint8_t __pad0954[0x4]; // 0x954 +public: + CEntityIOOutput m_OnHurt; // 0x958 + CEntityIOOutput m_OnHurtPlayer; // 0x980 + CUtlVector< CHandle< CBaseEntity > > m_hurtEntities; // 0x9a8 }; -// Aligment: 0 -// Size: 2496 -class CTriggerHurtGhost : public CTriggerHurt, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x9c0 +class CTriggerHurtGhost : public CTriggerHurt { public: -// + // no members available }; -// Aligment: 0 -// Size: 2344 -class CTriggerCallback : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x928 +class CTriggerCallback : public CBaseTrigger { public: -// + // no members available }; -// Aligment: 12 -// Size: 2496 -class CTriggerLerpObject : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x9c0 +class CTriggerLerpObject : public CBaseTrigger { public: - CUtlSymbolLarge m_iszLerpTarget; // 0x920 - CHandle< CBaseEntity > m_hLerpTarget; // 0x928 - CUtlSymbolLarge m_iszLerpTargetAttachment; // 0x930 - AttachmentHandle_t m_hLerpTargetAttachment; // 0x938 - float m_flLerpDuration; // 0x93c - bool m_bLerpRestoreMoveType; // 0x940 - bool m_bSingleLerpObject; // 0x941 - CUtlVector< lerpdata_t > m_vecLerpingObjects; // 0x948 - CUtlSymbolLarge m_iszLerpEffect; // 0x960 - CUtlSymbolLarge m_iszLerpSound; // 0x968 - CEntityIOOutput m_OnLerpStarted; // 0x970 - CEntityIOOutput m_OnLerpFinished; // 0x998 + CUtlSymbolLarge m_iszLerpTarget; // 0x920 + CHandle< CBaseEntity > m_hLerpTarget; // 0x928 +private: + [[maybe_unused]] uint8_t __pad092c[0x4]; // 0x92c +public: + CUtlSymbolLarge m_iszLerpTargetAttachment; // 0x930 + AttachmentHandle_t m_hLerpTargetAttachment; // 0x938 +private: + [[maybe_unused]] uint8_t __pad0939[0x3]; // 0x939 +public: + float m_flLerpDuration; // 0x93c + bool m_bLerpRestoreMoveType; // 0x940 + bool m_bSingleLerpObject; // 0x941 +private: + [[maybe_unused]] uint8_t __pad0942[0x6]; // 0x942 +public: + CUtlVector< lerpdata_t > m_vecLerpingObjects; // 0x948 + CUtlSymbolLarge m_iszLerpEffect; // 0x960 + CUtlSymbolLarge m_iszLerpSound; // 0x968 + CEntityIOOutput m_OnLerpStarted; // 0x970 + CEntityIOOutput m_OnLerpFinished; // 0x998 }; -// Aligment: 7 -// Size: 2400 -class CChangeLevel : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x960 +class CChangeLevel : public CBaseTrigger { public: - CUtlString m_sMapName; // 0x920 - CUtlString m_sLandmarkName; // 0x928 - CEntityIOOutput m_OnChangeLevel; // 0x930 - bool m_bTouched; // 0x958 - bool m_bNoTouch; // 0x959 - bool m_bNewChapter; // 0x95a - bool m_bOnChangeLevelFired; // 0x95b + CUtlString m_sMapName; // 0x920 + CUtlString m_sLandmarkName; // 0x928 + CEntityIOOutput m_OnChangeLevel; // 0x930 + bool m_bTouched; // 0x958 + bool m_bNoTouch; // 0x959 + bool m_bNewChapter; // 0x95a + bool m_bOnChangeLevelFired; // 0x95b }; -// Aligment: 3 -// Size: 2352 -class CTriggerTeleport : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x930 +class CTriggerTeleport : public CBaseTrigger { public: - CUtlSymbolLarge m_iLandmark; // 0x920 - bool m_bUseLandmarkAngles; // 0x928 - bool m_bMirrorPlayer; // 0x929 + CUtlSymbolLarge m_iLandmark; // 0x920 + bool m_bUseLandmarkAngles; // 0x928 + bool m_bMirrorPlayer; // 0x929 }; -// Aligment: 3 -// Size: 2352 -class CTriggerAddModifier : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x930 +class CTriggerAddModifier : public CBaseTrigger { public: - CUtlSymbolLarge m_strModifier; // 0x920 - float m_flDuration; // 0x928 - bool m_bMomentary; // 0x92c + CUtlSymbolLarge m_strModifier; // 0x920 + float m_flDuration; // 0x928 + bool m_bMomentary; // 0x92c }; -// Aligment: 1 -// Size: 2344 -class CTriggerRemoveModifier : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x928 +class CTriggerRemoveModifier : public CBaseTrigger { public: - CUtlSymbolLarge m_strModifier; // 0x920 + CUtlSymbolLarge m_strModifier; // 0x920 }; -// Aligment: 6 -// Size: 2392 -class CTriggerFan : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x958 +class CTriggerFan : public CBaseTrigger { public: - Vector m_vFanOrigin; // 0x920 - Vector m_vFanEnd; // 0x92c - float m_flForce; // 0x938 - float m_flRampTime; // 0x93c - bool m_bFalloff; // 0x940 - CountdownTimer m_RampTimer; // 0x948 + Vector m_vFanOrigin; // 0x920 + Vector m_vFanEnd; // 0x92c + float m_flForce; // 0x938 + float m_flRampTime; // 0x93c + bool m_bFalloff; // 0x940 +private: + [[maybe_unused]] uint8_t __pad0941[0x7]; // 0x941 +public: + CountdownTimer m_RampTimer; // 0x948 }; -// Aligment: 2 -// Size: 2376 -class CTriggerBuoyancy : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x948 +class CTriggerBuoyancy : public CBaseTrigger { public: - CBuoyancyHelper m_BuoyancyHelper; // 0x920 + CBuoyancyHelper m_BuoyancyHelper; // 0x920 // MNetworkEnable - float m_flFluidDensity; // 0x940 + float m_flFluidDensity; // 0x940 }; -// Aligment: 1 -// Size: 720 -class CFourWheelServerVehicle : public CBaseServerVehicle, IServerVehicle, IVehicle +// Alignment: 1 +// Size: 0x2d0 +class CFourWheelServerVehicle : public CBaseServerVehicle { public: - ViewSmoothingData_t m_ViewSmoothing; // 0x250 + ViewSmoothingData_t m_ViewSmoothing; // 0x250 }; -// Aligment: 2 -// Size: 1928 -class CFuncNavBlocker : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x788 +class CFuncNavBlocker : public CBaseModelEntity { public: - bool m_bDisabled; // 0x778 - int32_t m_nBlockedTeamNumber; // 0x77c + bool m_bDisabled; // 0x778 +private: + [[maybe_unused]] uint8_t __pad0779[0x3]; // 0x779 +public: + int32_t m_nBlockedTeamNumber; // 0x77c }; -// Aligment: 10 -// Size: 1440 -class CNavLinkEntity : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 10 +// Size: 0x5a0 +class CNavLinkEntity : public CPointEntity { public: - CUtlSymbolLarge m_typeName; // 0x4f0 - CUtlSymbolLarge m_typeNameReverse; // 0x4f8 - int32_t m_nNavLinkId; // 0x500 - int32_t m_nNavLinkIdReverse; // 0x504 - bool m_bUseEntityOrientation; // 0x508 - bool m_bEnabled; // 0x509 - CUtlVectorFixedGrowable< CHandle< CAI_BaseNPC > > m_vecNpcUsers; // 0x510 - Vector m_vEndpointLocal; // 0x540 - CEntityIOOutput m_OnNavLinkStart; // 0x550 - CEntityIOOutput m_OnNavLinkFinish; // 0x578 + CUtlSymbolLarge m_typeName; // 0x4f0 + CUtlSymbolLarge m_typeNameReverse; // 0x4f8 + int32_t m_nNavLinkId; // 0x500 + int32_t m_nNavLinkIdReverse; // 0x504 + bool m_bUseEntityOrientation; // 0x508 + bool m_bEnabled; // 0x509 +private: + [[maybe_unused]] uint8_t __pad050a[0x6]; // 0x50a +public: + CUtlVectorFixedGrowable< CHandle< CAI_BaseNPC > > m_vecNpcUsers; // 0x510 + Vector m_vEndpointLocal; // 0x540 +private: + [[maybe_unused]] uint8_t __pad054c[0x4]; // 0x54c +public: + CEntityIOOutput m_OnNavLinkStart; // 0x550 + CEntityIOOutput m_OnNavLinkFinish; // 0x578 }; -// Aligment: 24 -// Size: 2072 -class CBeam : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 24 +// Size: 0x818 +class CBeam : public CBaseModelEntity { public: // MNetworkEnable @@ -13472,1770 +15099,2004 @@ public: // MNetworkMinValue "-25" // MNetworkMaxValue "25" // MNetworkEncodeFlags - float m_flFrameRate; // 0x778 + float m_flFrameRate; // 0x778 // MNetworkEnable - float m_flHDRColorScale; // 0x77c - float m_flFireTime; // 0x780 - float m_flDamage; // 0x784 + float m_flHDRColorScale; // 0x77c + float m_flFireTime; // 0x780 + float m_flDamage; // 0x784 // MNetworkEnable - uint8_t m_nNumBeamEnts; // 0x788 + uint8_t m_nNumBeamEnts; // 0x788 +private: + [[maybe_unused]] uint8_t __pad0789[0x7]; // 0x789 +public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x790 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x790 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x798 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x798 // MNetworkEnable - BeamType_t m_nBeamType; // 0x7a0 + BeamType_t m_nBeamType; // 0x7a0 // MNetworkEnable - uint32_t m_nBeamFlags; // 0x7a4 + uint32_t m_nBeamFlags; // 0x7a4 // MNetworkEnable - CHandle< CBaseEntity >[10] m_hAttachEntity; // 0x7a8 + CHandle< CBaseEntity > m_hAttachEntity[10]; // 0x7a8 // MNetworkEnable - AttachmentHandle_t[10] m_nAttachIndex; // 0x7d0 + AttachmentHandle_t m_nAttachIndex[10]; // 0x7d0 +private: + [[maybe_unused]] uint8_t __pad07da[0x2]; // 0x7da +public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "102.3" // MNetworkEncodeFlags - float m_fWidth; // 0x7dc + float m_fWidth; // 0x7dc // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "102.3" // MNetworkEncodeFlags - float m_fEndWidth; // 0x7e0 + float m_fEndWidth; // 0x7e0 // MNetworkEnable - float m_fFadeLength; // 0x7e4 + float m_fFadeLength; // 0x7e4 // MNetworkEnable - float m_fHaloScale; // 0x7e8 + float m_fHaloScale; // 0x7e8 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags - float m_fAmplitude; // 0x7ec + float m_fAmplitude; // 0x7ec // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags - float m_fStartFrame; // 0x7f0 + float m_fStartFrame; // 0x7f0 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "100" - float m_fSpeed; // 0x7f4 + float m_fSpeed; // 0x7f4 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags // MNetworkPriority "32" - float m_flFrame; // 0x7f8 + float m_flFrame; // 0x7f8 // MNetworkEnable - BeamClipStyle_t m_nClipStyle; // 0x7fc + BeamClipStyle_t m_nClipStyle; // 0x7fc // MNetworkEnable - bool m_bTurnedOff; // 0x800 + bool m_bTurnedOff; // 0x800 +private: + [[maybe_unused]] uint8_t __pad0801[0x3]; // 0x801 +public: // MNetworkEnable // MNetworkEncoder - Vector m_vecEndPos; // 0x804 - CHandle< CBaseEntity > m_hEndEntity; // 0x810 - int32_t m_nDissolveType; // 0x814 + Vector m_vecEndPos; // 0x804 + CHandle< CBaseEntity > m_hEndEntity; // 0x810 + int32_t m_nDissolveType; // 0x814 }; -// Aligment: 12 -// Size: 2088 -class CFuncLadder : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x828 +class CFuncLadder : public CBaseModelEntity { public: // MNetworkEnable // MNetworkEncoder - Vector m_vecLadderDir; // 0x778 - CUtlVector< CHandle< CInfoLadderDismount > > m_Dismounts; // 0x788 - Vector m_vecLocalTop; // 0x7a0 - // MNetworkEnable - // MNetworkEncoder - Vector m_vecPlayerMountPositionTop; // 0x7ac - // MNetworkEnable - // MNetworkEncoder - Vector m_vecPlayerMountPositionBottom; // 0x7b8 - // MNetworkEnable - float m_flAutoRideSpeed; // 0x7c4 - bool m_bDisabled; // 0x7c8 - // MNetworkEnable - bool m_bFakeLadder; // 0x7c9 - bool m_bHasSlack; // 0x7ca - CUtlSymbolLarge m_surfacePropName; // 0x7d0 - CEntityIOOutput m_OnPlayerGotOnLadder; // 0x7d8 - CEntityIOOutput m_OnPlayerGotOffLadder; // 0x800 + Vector m_vecLadderDir; // 0x778 +private: + [[maybe_unused]] uint8_t __pad0784[0x4]; // 0x784 public: - static CUtlVector< CFuncLadder* > &Get_s_Ladders() { return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CFuncLadder")->m_static_fiels[0]->m_instance); } + CUtlVector< CHandle< CInfoLadderDismount > > m_Dismounts; // 0x788 + Vector m_vecLocalTop; // 0x7a0 + // MNetworkEnable + // MNetworkEncoder + Vector m_vecPlayerMountPositionTop; // 0x7ac + // MNetworkEnable + // MNetworkEncoder + Vector m_vecPlayerMountPositionBottom; // 0x7b8 + // MNetworkEnable + float m_flAutoRideSpeed; // 0x7c4 + bool m_bDisabled; // 0x7c8 + // MNetworkEnable + bool m_bFakeLadder; // 0x7c9 + bool m_bHasSlack; // 0x7ca +private: + [[maybe_unused]] uint8_t __pad07cb[0x5]; // 0x7cb +public: + CUtlSymbolLarge m_surfacePropName; // 0x7d0 + CEntityIOOutput m_OnPlayerGotOnLadder; // 0x7d8 + CEntityIOOutput m_OnPlayerGotOffLadder; // 0x800 + static CUtlVector< CFuncLadder* > &Get_s_Ladders(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CFuncLadder")->m_static_fields[0]->m_instance);}; }; -// Aligment: 32 -// Size: 2256 -class CFuncShatterglass : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 32 +// Size: 0x8d0 +class CFuncShatterglass : public CBaseModelEntity { public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hGlassMaterialDamaged; // 0x778 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hGlassMaterialUndamaged; // 0x780 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeFace; // 0x788 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeCaps; // 0x790 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeFins; // 0x798 - matrix3x4_t m_matPanelTransform; // 0x7a0 - matrix3x4_t m_matPanelTransformWsTemp; // 0x7d0 - CUtlVector< uint32 > m_vecShatterGlassShards; // 0x800 - Vector2D m_PanelSize; // 0x818 - Vector m_vecPanelNormalWs; // 0x820 - int32_t m_nNumShardsEverCreated; // 0x82c - float m_flLastShatterSoundEmitTime; // 0x830 - float m_flLastCleanupTime; // 0x834 - float m_flInitAtTime; // 0x838 - float m_flGlassThickness; // 0x83c - float m_flSpawnInvulnerability; // 0x840 - bool m_bBreakSilent; // 0x844 - bool m_bBreakShardless; // 0x845 - bool m_bBroken; // 0x846 - bool m_bHasRateLimitedShards; // 0x847 - bool m_bGlassNavIgnore; // 0x848 - bool m_bGlassInFrame; // 0x849 - bool m_bStartBroken; // 0x84a - uint8_t m_iInitialDamageType; // 0x84b - CUtlSymbolLarge m_szDamagePositioningEntityName01; // 0x850 - CUtlSymbolLarge m_szDamagePositioningEntityName02; // 0x858 - CUtlSymbolLarge m_szDamagePositioningEntityName03; // 0x860 - CUtlSymbolLarge m_szDamagePositioningEntityName04; // 0x868 - CUtlVector< Vector > m_vInitialDamagePositions; // 0x870 - CUtlVector< Vector > m_vExtraDamagePositions; // 0x888 - CEntityIOOutput m_OnBroken; // 0x8a0 - uint8_t m_iSurfaceType; // 0x8c9 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hGlassMaterialDamaged; // 0x778 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hGlassMaterialUndamaged; // 0x780 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeFace; // 0x788 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeCaps; // 0x790 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeFins; // 0x798 + matrix3x4_t m_matPanelTransform; // 0x7a0 + matrix3x4_t m_matPanelTransformWsTemp; // 0x7d0 + CUtlVector< uint32 > m_vecShatterGlassShards; // 0x800 + Vector2D m_PanelSize; // 0x818 + Vector m_vecPanelNormalWs; // 0x820 + int32_t m_nNumShardsEverCreated; // 0x82c + float m_flLastShatterSoundEmitTime; // 0x830 + float m_flLastCleanupTime; // 0x834 + float m_flInitAtTime; // 0x838 + float m_flGlassThickness; // 0x83c + float m_flSpawnInvulnerability; // 0x840 + bool m_bBreakSilent; // 0x844 + bool m_bBreakShardless; // 0x845 + bool m_bBroken; // 0x846 + bool m_bHasRateLimitedShards; // 0x847 + bool m_bGlassNavIgnore; // 0x848 + bool m_bGlassInFrame; // 0x849 + bool m_bStartBroken; // 0x84a + uint8_t m_iInitialDamageType; // 0x84b +private: + [[maybe_unused]] uint8_t __pad084c[0x4]; // 0x84c +public: + CUtlSymbolLarge m_szDamagePositioningEntityName01; // 0x850 + CUtlSymbolLarge m_szDamagePositioningEntityName02; // 0x858 + CUtlSymbolLarge m_szDamagePositioningEntityName03; // 0x860 + CUtlSymbolLarge m_szDamagePositioningEntityName04; // 0x868 + CUtlVector< Vector > m_vInitialDamagePositions; // 0x870 + CUtlVector< Vector > m_vExtraDamagePositions; // 0x888 + CEntityIOOutput m_OnBroken; // 0x8a0 +private: + [[maybe_unused]] uint8_t __pad08c8[0x1]; // 0x8c8 +public: + uint8_t m_iSurfaceType; // 0x8c9 }; -// Aligment: 23 -// Size: 2024 -class CSprite : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 23 +// Size: 0x7e8 +class CSprite : public CBaseModelEntity { public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x778 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x778 // MNetworkEnable - CHandle< CBaseEntity > m_hAttachedToEntity; // 0x780 + CHandle< CBaseEntity > m_hAttachedToEntity; // 0x780 // MNetworkEnable - AttachmentHandle_t m_nAttachment; // 0x784 + AttachmentHandle_t m_nAttachment; // 0x784 +private: + [[maybe_unused]] uint8_t __pad0785[0x3]; // 0x785 +public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "60" // MNetworkEncodeFlags - float m_flSpriteFramerate; // 0x788 + float m_flSpriteFramerate; // 0x788 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags - float m_flFrame; // 0x78c - float m_flDieTime; // 0x790 + float m_flFrame; // 0x78c + float m_flDieTime; // 0x790 +private: + [[maybe_unused]] uint8_t __pad0794[0xc]; // 0x794 +public: // MNetworkEnable - uint32_t m_nBrightness; // 0x7a0 + uint32_t m_nBrightness; // 0x7a0 // MNetworkEnable - float m_flBrightnessDuration; // 0x7a4 + float m_flBrightnessDuration; // 0x7a4 // MNetworkEnable // MNetworkChangeCallback "OnSpriteScaleChanged" - float m_flSpriteScale; // 0x7a8 + float m_flSpriteScale; // 0x7a8 // MNetworkEnable - float m_flScaleDuration; // 0x7ac + float m_flScaleDuration; // 0x7ac // MNetworkEnable - bool m_bWorldSpaceScale; // 0x7b0 + bool m_bWorldSpaceScale; // 0x7b0 +private: + [[maybe_unused]] uint8_t __pad07b1[0x3]; // 0x7b1 +public: // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags - float m_flGlowProxySize; // 0x7b4 + float m_flGlowProxySize; // 0x7b4 // MNetworkEnable - float m_flHDRColorScale; // 0x7b8 - float m_flLastTime; // 0x7bc - float m_flMaxFrame; // 0x7c0 - float m_flStartScale; // 0x7c4 - float m_flDestScale; // 0x7c8 - float m_flScaleTimeStart; // 0x7cc - int32_t m_nStartBrightness; // 0x7d0 - int32_t m_nDestBrightness; // 0x7d4 - float m_flBrightnessTimeStart; // 0x7d8 - int32_t m_nSpriteWidth; // 0x7dc - int32_t m_nSpriteHeight; // 0x7e0 + float m_flHDRColorScale; // 0x7b8 + float m_flLastTime; // 0x7bc + float m_flMaxFrame; // 0x7c0 + float m_flStartScale; // 0x7c4 + float m_flDestScale; // 0x7c8 + float m_flScaleTimeStart; // 0x7cc + int32_t m_nStartBrightness; // 0x7d0 + int32_t m_nDestBrightness; // 0x7d4 + float m_flBrightnessTimeStart; // 0x7d8 + int32_t m_nSpriteWidth; // 0x7dc + int32_t m_nSpriteHeight; // 0x7e0 }; -// Aligment: 0 -// Size: 2024 -class CSpriteOriented : public CSprite, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x7e8 +class CSpriteOriented : public CSprite { public: -// + // no members available }; -// Aligment: 14 -// Size: 2344 -class CBaseClientUIEntity : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0x928 +class CBaseClientUIEntity : public CBaseModelEntity { public: // MNetworkEnable - bool m_bEnabled; // 0x778 + bool m_bEnabled; // 0x778 +private: + [[maybe_unused]] uint8_t __pad0779[0x7]; // 0x779 +public: // MNetworkEnable - CUtlSymbolLarge m_DialogXMLName; // 0x780 + CUtlSymbolLarge m_DialogXMLName; // 0x780 // MNetworkEnable - CUtlSymbolLarge m_PanelClassName; // 0x788 + CUtlSymbolLarge m_PanelClassName; // 0x788 // MNetworkEnable - CUtlSymbolLarge m_PanelID; // 0x790 - CEntityIOOutput m_CustomOutput0; // 0x798 - CEntityIOOutput m_CustomOutput1; // 0x7c0 - CEntityIOOutput m_CustomOutput2; // 0x7e8 - CEntityIOOutput m_CustomOutput3; // 0x810 - CEntityIOOutput m_CustomOutput4; // 0x838 - CEntityIOOutput m_CustomOutput5; // 0x860 - CEntityIOOutput m_CustomOutput6; // 0x888 - CEntityIOOutput m_CustomOutput7; // 0x8b0 - CEntityIOOutput m_CustomOutput8; // 0x8d8 - CEntityIOOutput m_CustomOutput9; // 0x900 + CUtlSymbolLarge m_PanelID; // 0x790 + CEntityIOOutput m_CustomOutput0; // 0x798 + CEntityIOOutput m_CustomOutput1; // 0x7c0 + CEntityIOOutput m_CustomOutput2; // 0x7e8 + CEntityIOOutput m_CustomOutput3; // 0x810 + CEntityIOOutput m_CustomOutput4; // 0x838 + CEntityIOOutput m_CustomOutput5; // 0x860 + CEntityIOOutput m_CustomOutput6; // 0x888 + CEntityIOOutput m_CustomOutput7; // 0x8b0 + CEntityIOOutput m_CustomOutput8; // 0x8d8 + CEntityIOOutput m_CustomOutput9; // 0x900 }; -// Aligment: 2 -// Size: 2352 -class CPointClientUIDialog : public CBaseClientUIEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x930 +class CPointClientUIDialog : public CBaseClientUIEntity { public: // MNetworkEnable // MNetworkChangeCallback "OnDialogActivatorChanged" - CHandle< CBaseEntity > m_hActivator; // 0x928 - bool m_bStartEnabled; // 0x92c + CHandle< CBaseEntity > m_hActivator; // 0x928 + bool m_bStartEnabled; // 0x92c }; -// Aligment: 23 -// Size: 2432 -class CPointClientUIWorldPanel : public CBaseClientUIEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 23 +// Size: 0x980 +class CPointClientUIWorldPanel : public CBaseClientUIEntity { public: // MNetworkEnable - bool m_bIgnoreInput; // 0x928 + bool m_bIgnoreInput; // 0x928 // MNetworkEnable - bool m_bLit; // 0x929 + bool m_bLit; // 0x929 // MNetworkEnable - bool m_bFollowPlayerAcrossTeleport; // 0x92a + bool m_bFollowPlayerAcrossTeleport; // 0x92a +private: + [[maybe_unused]] uint8_t __pad092b[0x1]; // 0x92b +public: // MNetworkEnable - float m_flWidth; // 0x92c + float m_flWidth; // 0x92c // MNetworkEnable - float m_flHeight; // 0x930 + float m_flHeight; // 0x930 // MNetworkEnable - float m_flDPI; // 0x934 + float m_flDPI; // 0x934 // MNetworkEnable - float m_flInteractDistance; // 0x938 + float m_flInteractDistance; // 0x938 // MNetworkEnable - float m_flDepthOffset; // 0x93c + float m_flDepthOffset; // 0x93c // MNetworkEnable - uint32_t m_unOwnerContext; // 0x940 + uint32_t m_unOwnerContext; // 0x940 // MNetworkEnable - uint32_t m_unHorizontalAlign; // 0x944 + uint32_t m_unHorizontalAlign; // 0x944 // MNetworkEnable - uint32_t m_unVerticalAlign; // 0x948 + uint32_t m_unVerticalAlign; // 0x948 // MNetworkEnable - uint32_t m_unOrientation; // 0x94c + uint32_t m_unOrientation; // 0x94c // MNetworkEnable - bool m_bAllowInteractionFromAllSceneWorlds; // 0x950 + bool m_bAllowInteractionFromAllSceneWorlds; // 0x950 +private: + [[maybe_unused]] uint8_t __pad0951[0x7]; // 0x951 +public: // MNetworkEnable - CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x958 + CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x958 // MNetworkEnable - bool m_bOpaque; // 0x970 + bool m_bOpaque; // 0x970 // MNetworkEnable - bool m_bNoDepth; // 0x971 + bool m_bNoDepth; // 0x971 // MNetworkEnable - bool m_bRenderBackface; // 0x972 + bool m_bRenderBackface; // 0x972 // MNetworkEnable - bool m_bUseOffScreenIndicator; // 0x973 + bool m_bUseOffScreenIndicator; // 0x973 // MNetworkEnable - bool m_bExcludeFromSaveGames; // 0x974 + bool m_bExcludeFromSaveGames; // 0x974 // MNetworkEnable - bool m_bGrabbable; // 0x975 + bool m_bGrabbable; // 0x975 // MNetworkEnable - bool m_bOnlyRenderToTexture; // 0x976 + bool m_bOnlyRenderToTexture; // 0x976 // MNetworkEnable - bool m_bDisableMipGen; // 0x977 + bool m_bDisableMipGen; // 0x977 // MNetworkEnable - int32_t m_nExplicitImageLayout; // 0x978 + int32_t m_nExplicitImageLayout; // 0x978 }; -// Aligment: 1 -// Size: 2944 -class CPointClientUIWorldTextPanel : public CPointClientUIWorldPanel, CBaseClientUIEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0xb80 +class CPointClientUIWorldTextPanel : public CPointClientUIWorldPanel { public: // MNetworkEnable - char[512] m_messageText; // 0x980 + char m_messageText[512]; // 0x980 }; -// Aligment: 0 -// Size: 2440 -class CPointHintUi : public CPointClientUIWorldPanel, CBaseClientUIEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x988 +class CPointHintUi : public CPointClientUIWorldPanel { public: -// + // no members available }; -// Aligment: 10 -// Size: 1384 -class CInfoOffscreenPanoramaTexture : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 10 +// Size: 0x568 +class CInfoOffscreenPanoramaTexture : public CPointEntity { public: // MNetworkEnable - bool m_bDisabled; // 0x4f0 + bool m_bDisabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: // MNetworkEnable - int32_t m_nResolutionX; // 0x4f4 + int32_t m_nResolutionX; // 0x4f4 // MNetworkEnable - int32_t m_nResolutionY; // 0x4f8 + int32_t m_nResolutionY; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc +public: // MNetworkEnable - CUtlSymbolLarge m_szLayoutFileName; // 0x500 + CUtlSymbolLarge m_szLayoutFileName; // 0x500 // MNetworkEnable - CUtlSymbolLarge m_RenderAttrName; // 0x508 + CUtlSymbolLarge m_RenderAttrName; // 0x508 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_TargetEntities; // 0x510 + CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_TargetEntities; // 0x510 // MNetworkEnable - int32_t m_nTargetChangeCount; // 0x528 + int32_t m_nTargetChangeCount; // 0x528 +private: + [[maybe_unused]] uint8_t __pad052c[0x4]; // 0x52c +public: // MNetworkEnable - CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x530 - CUtlSymbolLarge m_szTargetsName; // 0x548 - CUtlVector< CHandle< CBaseModelEntity > > m_AdditionalTargetEntities; // 0x550 + CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x530 + CUtlSymbolLarge m_szTargetsName; // 0x548 + CUtlVector< CHandle< CBaseModelEntity > > m_AdditionalTargetEntities; // 0x550 }; -// Aligment: 0 -// Size: 1352 -class CNodeEnt_InfoHint : public CNodeEnt, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x548 +class CNodeEnt_InfoHint : public CNodeEnt { public: -// + // no members available }; -// Aligment: 0 -// Size: 1352 -class CNodeEnt_InfoNodeHint : public CNodeEnt, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x548 +class CNodeEnt_InfoNodeHint : public CNodeEnt { public: -// + // no members available }; -// Aligment: 0 -// Size: 1352 -class CNodeEnt_InfoNodeAir : public CNodeEnt, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x548 +class CNodeEnt_InfoNodeAir : public CNodeEnt { public: -// + // no members available }; -// Aligment: 0 -// Size: 1352 -class CNodeEnt_InfoNodeAirHint : public CNodeEnt, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x548 +class CNodeEnt_InfoNodeAirHint : public CNodeEnt { public: -// + // no members available }; -// Aligment: 0 -// Size: 1352 -class CNodeEnt_InfoNodeClimb : public CNodeEnt, CServerOnlyPointEntity, CServerOnlyEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x548 +class CNodeEnt_InfoNodeClimb : public CNodeEnt { public: -// + // no members available }; -// Aligment: 5 -// Size: 1288 -class CAI_LookTarget : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x508 +class CAI_LookTarget : public CPointEntity { public: - int32_t m_iContext; // 0x4f0 - int32_t m_iPriority; // 0x4f4 - bool m_bDisabled; // 0x4f8 - float m_flTimeNextAvailable; // 0x4fc - float m_flMaxDist; // 0x500 + int32_t m_iContext; // 0x4f0 + int32_t m_iPriority; // 0x4f4 + bool m_bDisabled; // 0x4f8 +private: + [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 +public: + float m_flTimeNextAvailable; // 0x4fc + float m_flMaxDist; // 0x500 }; -// Aligment: 0 -// Size: 1264 -class CAI_NetworkManager : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x4f0 +class CAI_NetworkManager : public CPointEntity { public: -// + static CUtlVector< uint32 > &Get_m_SpawnGroupsContributingToNodeList(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_NetworkManager")->m_static_fields[0]->m_instance);}; + static CUtlVector< CNodeEnt* > &Get_m_SpawningNodes(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_NetworkManager")->m_static_fields[1]->m_instance);}; + // no members available }; -// Aligment: 1 -// Size: 2432 -class CNpcFootSweep : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x980 +class CNpcFootSweep : public CBaseTrigger { public: - bool m_bUseCenterPusher; // 0x920 + bool m_bUseCenterPusher; // 0x920 }; -// Aligment: 2 -// Size: 1280 -class CInfoRemarkable : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x500 +class CInfoRemarkable : public CPointEntity { public: - int32_t m_iTimesRemarkedUpon; // 0x4f0 - CUtlSymbolLarge m_szRemarkContext; // 0x4f8 + int32_t m_iTimesRemarkedUpon; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 +public: + CUtlSymbolLarge m_szRemarkContext; // 0x4f8 }; -// Aligment: 4 -// Size: 1328 -class CNPCSpawnDestination : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x530 +class CNPCSpawnDestination : public CPointEntity { public: - float m_ReuseDelay; // 0x4f0 - CUtlSymbolLarge m_RenameNPC; // 0x4f8 - float m_TimeNextAvailable; // 0x500 - CEntityIOOutput m_OnSpawnNPC; // 0x508 + float m_ReuseDelay; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 +public: + CUtlSymbolLarge m_RenameNPC; // 0x4f8 + float m_TimeNextAvailable; // 0x500 +private: + [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 +public: + CEntityIOOutput m_OnSpawnNPC; // 0x508 }; -// Aligment: 11 -// Size: 1352 -class CRallyPoint : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 11 +// Size: 0x548 +class CRallyPoint : public CPointEntity { public: - CUtlSymbolLarge m_AssaultPointName; // 0x4f0 - CUtlSymbolLarge m_RallySequenceName; // 0x4f8 - float m_flAssaultDelay; // 0x500 - int32_t m_iPriority; // 0x504 - int32_t m_iStrictness; // 0x508 - bool m_bForceCrouch; // 0x50c - bool m_bIsUrgent; // 0x50d - int16_t m_sExclusivity; // 0x50e - bool m_bShouldLock; // 0x510 - CEntityIOOutput m_OnArrival; // 0x518 - CHandle< CBaseEntity > m_hLockedBy; // 0x540 + CUtlSymbolLarge m_AssaultPointName; // 0x4f0 + CUtlSymbolLarge m_RallySequenceName; // 0x4f8 + float m_flAssaultDelay; // 0x500 + int32_t m_iPriority; // 0x504 + int32_t m_iStrictness; // 0x508 + bool m_bForceCrouch; // 0x50c + bool m_bIsUrgent; // 0x50d + int16_t m_sExclusivity; // 0x50e + bool m_bShouldLock; // 0x510 +private: + [[maybe_unused]] uint8_t __pad0511[0x7]; // 0x511 +public: + CEntityIOOutput m_OnArrival; // 0x518 + CHandle< CBaseEntity > m_hLockedBy; // 0x540 }; -// Aligment: 15 -// Size: 1392 -class CAssaultPoint : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 15 +// Size: 0x570 +class CAssaultPoint : public CPointEntity { public: - CUtlSymbolLarge m_AssaultHintGroup; // 0x4f0 - CUtlSymbolLarge m_NextAssaultPointName; // 0x4f8 - CEntityIOOutput m_OnAssaultClear; // 0x500 - float m_flAssaultTimeout; // 0x528 - bool m_bClearOnContact; // 0x52c - bool m_bAllowDiversion; // 0x52d - float m_flAllowDiversionRadius; // 0x530 - bool m_bNeverTimeout; // 0x534 - int32_t m_iStrictness; // 0x538 - bool m_bForceCrouch; // 0x53c - bool m_bIsUrgent; // 0x53d - bool m_bInputForcedClear; // 0x53e - float m_flAssaultPointTolerance; // 0x540 - float m_flTimeLastUsed; // 0x544 - CEntityIOOutput m_OnArrival; // 0x548 + CUtlSymbolLarge m_AssaultHintGroup; // 0x4f0 + CUtlSymbolLarge m_NextAssaultPointName; // 0x4f8 + CEntityIOOutput m_OnAssaultClear; // 0x500 + float m_flAssaultTimeout; // 0x528 + bool m_bClearOnContact; // 0x52c + bool m_bAllowDiversion; // 0x52d +private: + [[maybe_unused]] uint8_t __pad052e[0x2]; // 0x52e +public: + float m_flAllowDiversionRadius; // 0x530 + bool m_bNeverTimeout; // 0x534 +private: + [[maybe_unused]] uint8_t __pad0535[0x3]; // 0x535 +public: + int32_t m_iStrictness; // 0x538 + bool m_bForceCrouch; // 0x53c + bool m_bIsUrgent; // 0x53d + bool m_bInputForcedClear; // 0x53e +private: + [[maybe_unused]] uint8_t __pad053f[0x1]; // 0x53f +public: + float m_flAssaultPointTolerance; // 0x540 + float m_flTimeLastUsed; // 0x544 + CEntityIOOutput m_OnArrival; // 0x548 }; -// Aligment: 34 -// Size: 1416 -class COffscreenParticleTexture : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 34 +// Size: 0x588 +class COffscreenParticleTexture : public CPointEntity { public: // MNetworkEnable - bool m_bEnabled; // 0x4f0 + bool m_bEnabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 +public: // MNetworkEnable - float m_flRawInputA; // 0x4f4 + float m_flRawInputA; // 0x4f4 // MNetworkEnable - float m_flRawInputB; // 0x4f8 + float m_flRawInputB; // 0x4f8 // MNetworkEnable - float m_flRawInputC; // 0x4fc + float m_flRawInputC; // 0x4fc // MNetworkEnable - float m_flRawInputD; // 0x500 + float m_flRawInputD; // 0x500 // MNetworkEnable - float m_flCPValueA; // 0x504 + float m_flCPValueA; // 0x504 // MNetworkEnable - float m_flCPValueB; // 0x508 + float m_flCPValueB; // 0x508 // MNetworkEnable - float m_flCPValueC; // 0x50c + float m_flCPValueC; // 0x50c // MNetworkEnable - float m_flCPValueD; // 0x510 + float m_flCPValueD; // 0x510 // MNetworkEnable - int32_t m_nRemapFuncA; // 0x514 + int32_t m_nRemapFuncA; // 0x514 // MNetworkEnable - float m_flRemapAParamS; // 0x518 + float m_flRemapAParamS; // 0x518 // MNetworkEnable - float m_flRemapAParamT; // 0x51c + float m_flRemapAParamT; // 0x51c // MNetworkEnable - int32_t m_nRemapFuncB; // 0x520 + int32_t m_nRemapFuncB; // 0x520 // MNetworkEnable - float m_flRemapBParamS; // 0x524 + float m_flRemapBParamS; // 0x524 // MNetworkEnable - float m_flRemapBParamT; // 0x528 + float m_flRemapBParamT; // 0x528 // MNetworkEnable - int32_t m_nRemapFuncC; // 0x52c + int32_t m_nRemapFuncC; // 0x52c // MNetworkEnable - float m_flRemapCParamS; // 0x530 + float m_flRemapCParamS; // 0x530 // MNetworkEnable - float m_flRemapCParamT; // 0x534 + float m_flRemapCParamT; // 0x534 // MNetworkEnable - int32_t m_nRemapFuncD; // 0x538 + int32_t m_nRemapFuncD; // 0x538 // MNetworkEnable - float m_flRemapDParamS; // 0x53c + float m_flRemapDParamS; // 0x53c // MNetworkEnable - float m_flRemapDParamT; // 0x540 + float m_flRemapDParamT; // 0x540 // MNetworkEnable - int32_t m_nControlPointA; // 0x544 + int32_t m_nControlPointA; // 0x544 // MNetworkEnable - int32_t m_nControlPointB; // 0x548 + int32_t m_nControlPointB; // 0x548 // MNetworkEnable - int32_t m_nControlPointC; // 0x54c + int32_t m_nControlPointC; // 0x54c // MNetworkEnable - int32_t m_nControlPointD; // 0x550 + int32_t m_nControlPointD; // 0x550 // MNetworkEnable - int32_t m_nResolution; // 0x554 + int32_t m_nResolution; // 0x554 // MNetworkEnable - Color m_clearColor; // 0x558 + Color m_clearColor; // 0x558 // MNetworkEnable - CHandle< CBaseEntity > m_hTargetEntity; // 0x55c + CHandle< CBaseEntity > m_hTargetEntity; // 0x55c // MNetworkEnable - CUtlSymbolLarge m_szEffectName; // 0x560 + CUtlSymbolLarge m_szEffectName; // 0x560 // MNetworkEnable - CUtlSymbolLarge m_szMaterialParameterName; // 0x568 - float m_flVisibleRangeCheck; // 0x570 - bool m_bStartDisabled; // 0x574 - CUtlSymbolLarge m_szTargetEntityName; // 0x578 + CUtlSymbolLarge m_szMaterialParameterName; // 0x568 + float m_flVisibleRangeCheck; // 0x570 + bool m_bStartDisabled; // 0x574 +private: + [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 +public: + CUtlSymbolLarge m_szTargetEntityName; // 0x578 // MNetworkEnable - bool m_bPlayerInRange; // 0x580 + bool m_bPlayerInRange; // 0x580 }; -// Aligment: 49 -// Size: 2432 -class CBarnLight : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 49 +// Size: 0x980 +class CBarnLight : public CBaseModelEntity { public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bEnabled; // 0x778 + bool m_bEnabled; // 0x778 +private: + [[maybe_unused]] uint8_t __pad0779[0x3]; // 0x779 +public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nColorMode; // 0x77c + int32_t m_nColorMode; // 0x77c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Color m_Color; // 0x780 + Color m_Color; // 0x780 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flColorTemperature; // 0x784 + float m_flColorTemperature; // 0x784 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flBrightness; // 0x788 + float m_flBrightness; // 0x788 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flBrightnessScale; // 0x78c + float m_flBrightnessScale; // 0x78c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nDirectLight; // 0x790 + int32_t m_nDirectLight; // 0x790 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nBakedShadowIndex; // 0x794 + int32_t m_nBakedShadowIndex; // 0x794 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nLuminaireShape; // 0x798 + int32_t m_nLuminaireShape; // 0x798 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flLuminaireSize; // 0x79c + float m_flLuminaireSize; // 0x79c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flLuminaireAnisotropy; // 0x7a0 + float m_flLuminaireAnisotropy; // 0x7a0 +private: + [[maybe_unused]] uint8_t __pad07a4[0x4]; // 0x7a4 +public: // MNetworkEnable // MNetworkChangeCallback "StyleChanged" - CUtlString m_LightStyleString; // 0x7a8 + CUtlString m_LightStyleString; // 0x7a8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flLightStyleStartTime; // 0x7b0 + float m_flLightStyleStartTime; // 0x7b0 +private: + [[maybe_unused]] uint8_t __pad07b4[0x4]; // 0x7b4 +public: // MNetworkEnable - CNetworkUtlVectorBase< CUtlString > m_QueuedLightStyleStrings; // 0x7b8 + CNetworkUtlVectorBase< CUtlString > m_QueuedLightStyleStrings; // 0x7b8 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_LightStyleTargets; // 0x7d0 - CEntityIOOutput[4] m_StyleEvent; // 0x7e8 - CUtlString m_StyleRadianceVar; // 0x888 - CUtlString m_StyleVar; // 0x890 + CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_LightStyleTargets; // 0x7d0 + CEntityIOOutput m_StyleEvent[4]; // 0x7e8 + CUtlString m_StyleRadianceVar; // 0x888 + CUtlString m_StyleVar; // 0x890 +private: + [[maybe_unused]] uint8_t __pad0898[0x20]; // 0x898 +public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x8b8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x8b8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flShape; // 0x8c0 + float m_flShape; // 0x8c0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSoftX; // 0x8c4 + float m_flSoftX; // 0x8c4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSoftY; // 0x8c8 + float m_flSoftY; // 0x8c8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSkirt; // 0x8cc + float m_flSkirt; // 0x8cc // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flSkirtNear; // 0x8d0 + float m_flSkirtNear; // 0x8d0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - Vector m_vSizeParams; // 0x8d4 + Vector m_vSizeParams; // 0x8d4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - float m_flRange; // 0x8e0 + float m_flRange; // 0x8e0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - Vector m_vShear; // 0x8e4 + Vector m_vShear; // 0x8e4 // MNetworkEnable - int32_t m_nBakeSpecularToCubemaps; // 0x8f0 + int32_t m_nBakeSpecularToCubemaps; // 0x8f0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" - Vector m_vBakeSpecularToCubemapsSize; // 0x8f4 + Vector m_vBakeSpecularToCubemapsSize; // 0x8f4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nCastShadows; // 0x900 + int32_t m_nCastShadows; // 0x900 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nShadowMapSize; // 0x904 + int32_t m_nShadowMapSize; // 0x904 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nShadowPriority; // 0x908 + int32_t m_nShadowPriority; // 0x908 // MNetworkEnable - int32_t m_nBounceLight; // 0x90c + int32_t m_nBounceLight; // 0x90c // MNetworkEnable - float m_flBounceScale; // 0x910 + float m_flBounceScale; // 0x910 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nFog; // 0x914 + int32_t m_nFog; // 0x914 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFogStrength; // 0x918 + float m_flFogStrength; // 0x918 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - int32_t m_nFogShadows; // 0x91c + int32_t m_nFogShadows; // 0x91c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFogScale; // 0x920 + float m_flFogScale; // 0x920 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFadeSizeStart; // 0x924 + float m_flFadeSizeStart; // 0x924 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flFadeSizeEnd; // 0x928 + float m_flFadeSizeEnd; // 0x928 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flShadowFadeSizeStart; // 0x92c + float m_flShadowFadeSizeStart; // 0x92c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flShadowFadeSizeEnd; // 0x930 + float m_flShadowFadeSizeEnd; // 0x930 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bPrecomputedFieldsValid; // 0x934 + bool m_bPrecomputedFieldsValid; // 0x934 +private: + [[maybe_unused]] uint8_t __pad0935[0x3]; // 0x935 +public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedBoundsMins; // 0x938 + Vector m_vPrecomputedBoundsMins; // 0x938 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedBoundsMaxs; // 0x944 + Vector m_vPrecomputedBoundsMaxs; // 0x944 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedOBBOrigin; // 0x950 + Vector m_vPrecomputedOBBOrigin; // 0x950 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - QAngle m_vPrecomputedOBBAngles; // 0x95c + QAngle m_vPrecomputedOBBAngles; // 0x95c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - Vector m_vPrecomputedOBBExtent; // 0x968 - bool m_bPvsModifyEntity; // 0x974 + Vector m_vPrecomputedOBBExtent; // 0x968 + bool m_bPvsModifyEntity; // 0x974 }; -// Aligment: 1 -// Size: 2440 -class CRectLight : public CBarnLight, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x988 +class CRectLight : public CBarnLight { public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bShowLight; // 0x980 + bool m_bShowLight; // 0x980 }; -// Aligment: 3 -// Size: 2448 -class COmniLight : public CBarnLight, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x990 +class COmniLight : public CBarnLight { public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flInnerAngle; // 0x980 + float m_flInnerAngle; // 0x980 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - float m_flOuterAngle; // 0x984 + float m_flOuterAngle; // 0x984 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" - bool m_bShowLight; // 0x988 + bool m_bShowLight; // 0x988 }; -// Aligment: 12 -// Size: 1504 -class CSteamPalConveyorPathNode : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x5e0 +class CSteamPalConveyorPathNode : public CPointEntity { public: - float m_flNodeT; // 0x514 - float m_flPathSegmentLength; // 0x518 - float m_flPathLengthUpToNode; // 0x51c - bool m_bStartNewConveyorSection; // 0x520 - bool m_bSendPassOutputs; // 0x521 - CEntityOutputTemplate< int32 > m_OnPass; // 0x528 - CEntityOutputTemplate< int32 > m_OnPassForward; // 0x550 - CEntityOutputTemplate< int32 > m_OnPassBackward; // 0x578 - CUtlSymbolLarge m_szParentPathUniqueID; // 0x5b8 - int32_t m_nPathIndex; // 0x5c0 - Vector m_vInTangentLocal; // 0x5c4 - Vector m_vOutTangentLocal; // 0x5d0 + float m_flNodeT; // 0x514 + float m_flPathSegmentLength; // 0x518 + float m_flPathLengthUpToNode; // 0x51c + bool m_bStartNewConveyorSection; // 0x520 + bool m_bSendPassOutputs; // 0x521 +private: + [[maybe_unused]] uint8_t __pad0522[0x6]; // 0x522 +public: + CEntityOutputTemplate< int32 > m_OnPass; // 0x528 + CEntityOutputTemplate< int32 > m_OnPassForward; // 0x550 + CEntityOutputTemplate< int32 > m_OnPassBackward; // 0x578 +private: + [[maybe_unused]] uint8_t __pad05a0[0x18]; // 0x5a0 +public: + CUtlSymbolLarge m_szParentPathUniqueID; // 0x5b8 + int32_t m_nPathIndex; // 0x5c0 + Vector m_vInTangentLocal; // 0x5c4 + Vector m_vOutTangentLocal; // 0x5d0 }; -// Aligment: 1 -// Size: 1920 -class CSteamPal_PictureCard : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x780 +class CSteamPal_PictureCard : public CBaseModelEntity { public: // MNetworkEnable - bool m_bShouldSetPicture; // 0x778 + bool m_bShouldSetPicture; // 0x778 }; -// Aligment: 1 -// Size: 2344 -class CSteamPal_PaintPowerTrigger : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x928 +class CSteamPal_PaintPowerTrigger : public CBaseTrigger { public: - SteamPalPaintType m_PaintType; // 0x920 + SteamPalPaintType m_PaintType; // 0x920 }; -// Aligment: 1 -// Size: 2344 -class CSteamPal_PropPaintTrigger : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x928 +class CSteamPal_PropPaintTrigger : public CBaseTrigger { public: - SteamPalPaintType m_PaintType; // 0x920 + SteamPalPaintType m_PaintType; // 0x920 }; -// Aligment: 5 -// Size: 2416 -class CInfoOffscreenMovieTexture : public CInfoOffscreenPanoramaTexture, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x970 +class CInfoOffscreenMovieTexture : public CInfoOffscreenPanoramaTexture { public: // MNetworkEnable - char[512] m_MovieName; // 0x568 + char m_MovieName[512]; // 0x568 // MNetworkEnable - char[512] m_OverrideSoundEvent; // 0x768 + char m_OverrideSoundEvent[512]; // 0x768 // MNetworkEnable - bool m_bRepeat; // 0x968 + bool m_bRepeat; // 0x968 // MNetworkEnable - bool m_bPlaying; // 0x969 + bool m_bPlaying; // 0x969 +private: + [[maybe_unused]] uint8_t __pad096a[0x2]; // 0x96a +public: // MNetworkEnable - float m_flVisibleRangeCheck; // 0x96c + float m_flVisibleRangeCheck; // 0x96c }; -// Aligment: 5 -// Size: 1952 -class CFogVolume : public CServerOnlyModelEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x7a0 +class CFogVolume : public CServerOnlyModelEntity { public: - CUtlSymbolLarge m_fogName; // 0x778 - CUtlSymbolLarge m_postProcessName; // 0x780 - CUtlSymbolLarge m_colorCorrectionName; // 0x788 - bool m_bDisabled; // 0x798 - bool m_bInFogVolumesList; // 0x799 + CUtlSymbolLarge m_fogName; // 0x778 + CUtlSymbolLarge m_postProcessName; // 0x780 + CUtlSymbolLarge m_colorCorrectionName; // 0x788 +private: + [[maybe_unused]] uint8_t __pad0790[0x8]; // 0x790 +public: + bool m_bDisabled; // 0x798 + bool m_bInFogVolumesList; // 0x799 }; -// Aligment: 5 -// Size: 1288 -class CInfoDynamicShadowHint : public CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x508 +class CInfoDynamicShadowHint : public CPointEntity { public: - bool m_bDisabled; // 0x4f0 - float m_flRange; // 0x4f4 - int32_t m_nImportance; // 0x4f8 - int32_t m_nLightChoice; // 0x4fc - CHandle< CBaseEntity > m_hLight; // 0x500 + bool m_bDisabled; // 0x4f0 +private: + [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: - static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints() { return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fiels[0]->m_instance); } + float m_flRange; // 0x4f4 + int32_t m_nImportance; // 0x4f8 + int32_t m_nLightChoice; // 0x4fc + CHandle< CBaseEntity > m_hLight; // 0x500 + static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fields[0]->m_instance);}; }; -// Aligment: 2 -// Size: 1312 -class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x520 +class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint { public: - Vector m_vBoxMins; // 0x508 - Vector m_vBoxMaxs; // 0x514 + Vector m_vBoxMins; // 0x508 + Vector m_vBoxMaxs; // 0x514 }; -// Aligment: 9 -// Size: 1984 -class CEnvSky : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x7c0 +class CEnvSky : public CBaseModelEntity { public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x778 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x778 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - bool m_bStartDisabled; // 0x780 + bool m_bStartDisabled; // 0x780 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - Color m_vTintColor; // 0x781 + Color m_vTintColor; // 0x781 +private: + [[maybe_unused]] uint8_t __pad0785[0x3]; // 0x785 +public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - int32_t m_nFogType; // 0x788 + int32_t m_nFogType; // 0x788 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMinStart; // 0x78c + float m_flFogMinStart; // 0x78c // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMinEnd; // 0x790 + float m_flFogMinEnd; // 0x790 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMaxStart; // 0x794 + float m_flFogMaxStart; // 0x794 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - float m_flFogMaxEnd; // 0x798 + float m_flFogMaxEnd; // 0x798 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" - bool m_bEnabled; // 0x79c + bool m_bEnabled; // 0x79c }; -// Aligment: 0 -// Size: 1304 -class CTonemapController2Alias_env_tonemap_controller2 : public CTonemapController2, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x518 +class CTonemapController2Alias_env_tonemap_controller2 : public CTonemapController2 { public: -// + // no members available }; -// Aligment: 2 -// Size: 2352 -class CTonemapTrigger : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x930 +class CTonemapTrigger : public CBaseTrigger { public: - CUtlSymbolLarge m_tonemapControllerName; // 0x920 - CEntityHandle m_hTonemapController; // 0x928 + CUtlSymbolLarge m_tonemapControllerName; // 0x920 + CEntityHandle m_hTonemapController; // 0x928 }; -// Aligment: 1 -// Size: 2440 -class CFogTrigger : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x988 +class CFogTrigger : public CBaseTrigger { public: - fogparams_t m_fog; // 0x920 + fogparams_t m_fog; // 0x920 }; -// Aligment: 1 -// Size: 1920 -class CLightEntity : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x780 +class CLightEntity : public CBaseModelEntity { public: // MNetworkEnable // MNetworkUserGroup "CLightComponent" // MNetworkAlias "CLightComponent" // MNetworkTypeAlias "CLightComponent" - CLightComponent* m_CLightComponent; // 0x778 + CLightComponent* m_CLightComponent; // 0x778 }; -// Aligment: 0 -// Size: 1920 -class CLightSpotEntity : public CLightEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x780 +class CLightSpotEntity : public CLightEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1920 -class CLightOrthoEntity : public CLightEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x780 +class CLightOrthoEntity : public CLightEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1920 -class CLightDirectionalEntity : public CLightEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x780 +class CLightDirectionalEntity : public CLightEntity { public: -// + // no members available }; -// Aligment: 0 -// Size: 1920 -class CLightEnvironmentEntity : public CLightDirectionalEntity, CLightEntity, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x780 +class CLightEnvironmentEntity : public CLightDirectionalEntity { public: -// + // no members available }; -// Aligment: 12 -// Size: 2400 -class CPostProcessingVolume : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x960 +class CPostProcessingVolume : public CBaseTrigger { public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x930 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x930 // MNetworkEnable - float m_flFadeDuration; // 0x938 + float m_flFadeDuration; // 0x938 // MNetworkEnable - float m_flMinLogExposure; // 0x93c + float m_flMinLogExposure; // 0x93c // MNetworkEnable - float m_flMaxLogExposure; // 0x940 + float m_flMaxLogExposure; // 0x940 // MNetworkEnable - float m_flMinExposure; // 0x944 + float m_flMinExposure; // 0x944 // MNetworkEnable - float m_flMaxExposure; // 0x948 + float m_flMaxExposure; // 0x948 // MNetworkEnable - float m_flExposureCompensation; // 0x94c + float m_flExposureCompensation; // 0x94c // MNetworkEnable - float m_flExposureFadeSpeedUp; // 0x950 + float m_flExposureFadeSpeedUp; // 0x950 // MNetworkEnable - float m_flExposureFadeSpeedDown; // 0x954 + float m_flExposureFadeSpeedDown; // 0x954 // MNetworkEnable - float m_flTonemapEVSmoothingRange; // 0x958 + float m_flTonemapEVSmoothingRange; // 0x958 // MNetworkEnable - bool m_bMaster; // 0x95c + bool m_bMaster; // 0x95c // MNetworkEnable - bool m_bExposureControl; // 0x95d + bool m_bExposureControl; // 0x95d }; -// Aligment: 5 -// Size: 3312 -class CEnvParticleGlow : public CParticleSystem, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0xcf0 +class CEnvParticleGlow : public CParticleSystem { public: // MNetworkEnable - float m_flAlphaScale; // 0xcd8 + float m_flAlphaScale; // 0xcd8 // MNetworkEnable - float m_flRadiusScale; // 0xcdc + float m_flRadiusScale; // 0xcdc // MNetworkEnable - float m_flSelfIllumScale; // 0xce0 + float m_flSelfIllumScale; // 0xce0 // MNetworkEnable - Color m_ColorTint; // 0xce4 + Color m_ColorTint; // 0xce4 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xce8 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xce8 }; -// Aligment: 8 -// Size: 1968 -class CTextureBasedAnimatable : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x7b0 +class CTextureBasedAnimatable : public CBaseModelEntity { public: // MNetworkEnable - bool m_bLoop; // 0x778 + bool m_bLoop; // 0x778 +private: + [[maybe_unused]] uint8_t __pad0779[0x3]; // 0x779 +public: // MNetworkEnable - float m_flFPS; // 0x77c + float m_flFPS; // 0x77c // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x780 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x780 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x788 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x788 // MNetworkEnable - Vector m_vAnimationBoundsMin; // 0x790 + Vector m_vAnimationBoundsMin; // 0x790 // MNetworkEnable - Vector m_vAnimationBoundsMax; // 0x79c + Vector m_vAnimationBoundsMax; // 0x79c // MNetworkEnable - float m_flStartTime; // 0x7a8 + float m_flStartTime; // 0x7a8 // MNetworkEnable - float m_flStartFrame; // 0x7ac + float m_flStartFrame; // 0x7ac }; -// Aligment: 0 -// Size: 1912 -class CWorld : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x778 +class CWorld : public CBaseModelEntity { public: -// + // no members available }; -// Aligment: 14 -// Size: 2392 -class CBaseAnimating : public CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0x958 +class CBaseAnimating : public CBaseModelEntity { public: // MNetworkEnable // MNetworkUserGroup "CHitboxComponent" // MNetworkAlias "CHitboxComponent" // MNetworkTypeAlias "CHitboxComponent" - CHitboxComponent m_CHitboxComponent; // 0x778 + CHitboxComponent m_CHitboxComponent; // 0x778 +private: + [[maybe_unused]] uint8_t __pad0798[0x8]; // 0x798 +public: // MNetworkEnable // MNetworkChangeCallback "OnRagdollPoseChanged" - PhysicsRagdollPose_t* m_pRagdollPose; // 0x7a0 + PhysicsRagdollPose_t* m_pRagdollPose; // 0x7a0 // MNetworkEnable - Vector m_vecForce; // 0x7a8 + Vector m_vecForce; // 0x7a8 // MNetworkEnable - int32_t m_nForceBone; // 0x7b4 + int32_t m_nForceBone; // 0x7b4 // MNetworkEnable - bool m_bShouldAnimateDuringGameplayPause; // 0x7b8 + bool m_bShouldAnimateDuringGameplayPause; // 0x7b8 // MNetworkEnable - bool m_bAnimGraphUpdateEnabled; // 0x7b9 - float m_flMaxSlopeDistance; // 0x7bc - Vector m_vLastSlopeCheckPos; // 0x7c0 - IChoreoServices* m_pChoreoServices; // 0x7d0 - bool m_bAnimGraphDirty; // 0x7d8 - float m_flDissolveStartTime; // 0x7dc - CEntityIOOutput m_OnIgnite; // 0x7e0 - CUtlVector< CUtlString >* m_pSuppressedAnimEventTags; // 0x808 + bool m_bAnimGraphUpdateEnabled; // 0x7b9 +private: + [[maybe_unused]] uint8_t __pad07ba[0x2]; // 0x7ba +public: + float m_flMaxSlopeDistance; // 0x7bc + Vector m_vLastSlopeCheckPos; // 0x7c0 +private: + [[maybe_unused]] uint8_t __pad07cc[0x4]; // 0x7cc +public: + IChoreoServices* m_pChoreoServices; // 0x7d0 + bool m_bAnimGraphDirty; // 0x7d8 +private: + [[maybe_unused]] uint8_t __pad07d9[0x3]; // 0x7d9 +public: + float m_flDissolveStartTime; // 0x7dc + CEntityIOOutput m_OnIgnite; // 0x7e0 + CUtlVector< CUtlString >* m_pSuppressedAnimEventTags; // 0x808 +private: + [[maybe_unused]] uint8_t __pad0810[0x110]; // 0x810 +public: // MNetworkEnable - CBaseAnimatingEasings_t m_Easings; // 0x920 + CBaseAnimatingEasings_t m_Easings; // 0x920 }; -// Aligment: 0 -// Size: 2392 -class CBaseAnimatingOverlay : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x958 +class CBaseAnimatingOverlay : public CBaseAnimating { public: -// + // no members available }; -// Aligment: 4 -// Size: 2456 -class CBaseProp : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x998 +class CBaseProp : public CBaseAnimating { public: - bool m_bModelOverrodeBlockLOS; // 0x958 - int32_t m_iShapeType; // 0x95c - bool m_bConformToCollisionBounds; // 0x960 - matrix3x4_t m_mPreferredCatchTransform; // 0x964 + bool m_bModelOverrodeBlockLOS; // 0x958 +private: + [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 +public: + int32_t m_iShapeType; // 0x95c + bool m_bConformToCollisionBounds; // 0x960 +private: + [[maybe_unused]] uint8_t __pad0961[0x3]; // 0x961 +public: + matrix3x4_t m_mPreferredCatchTransform; // 0x964 }; -// Aligment: 40 -// Size: 2960 -class CBreakableProp : public CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 40 +// Size: 0xb90 +class CBreakableProp : public CBaseProp { public: - CEntityIOOutput m_OnBreak; // 0x9a8 - CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x9d0 - CEntityIOOutput m_OnTakeDamage; // 0x9f8 - float m_impactEnergyScale; // 0xa20 - int32_t m_iMinHealthDmg; // 0xa24 - QAngle m_preferredCarryAngles; // 0xa28 - float m_flPressureDelay; // 0xa34 - CHandle< CBaseEntity > m_hBreaker; // 0xa38 - PerformanceMode_t m_PerformanceMode; // 0xa3c - float m_flDmgModBullet; // 0xa40 - float m_flDmgModClub; // 0xa44 - float m_flDmgModExplosive; // 0xa48 - float m_flDmgModFire; // 0xa4c - CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xa50 - CUtlSymbolLarge m_iszBasePropData; // 0xa58 - int32_t m_iInteractions; // 0xa60 - float m_flPreventDamageBeforeTime; // 0xa64 - bool m_bHasBreakPiecesOrCommands; // 0xa68 - float m_explodeDamage; // 0xa6c - float m_explodeRadius; // 0xa70 - float m_explosionDelay; // 0xa78 - CUtlSymbolLarge m_explosionBuildupSound; // 0xa80 - CUtlSymbolLarge m_explosionCustomEffect; // 0xa88 - CUtlSymbolLarge m_explosionCustomSound; // 0xa90 - CHandle< CBasePlayer > m_hPhysicsAttacker; // 0xa98 - float m_flLastPhysicsInfluenceTime; // 0xa9c - bool m_bOriginalBlockLOS; // 0xaa0 - char m_nPhysgunState; // 0xaa1 - CEntityIOOutput m_OnPhysCannonDetach; // 0xaa8 - CEntityIOOutput m_OnPhysCannonAnimatePreStarted; // 0xad0 - CEntityIOOutput m_OnPhysCannonAnimatePullStarted; // 0xaf8 - CEntityIOOutput m_OnPhysCannonAnimatePostStarted; // 0xb20 - CEntityIOOutput m_OnPhysCannonPullAnimFinished; // 0xb48 - float m_flDefaultFadeScale; // 0xb70 - CHandle< CBaseEntity > m_hLastAttacker; // 0xb74 - CHandle< CBaseEntity > m_hFlareEnt; // 0xb78 - bool m_bUsePuntSound; // 0xb7c - CUtlSymbolLarge m_iszPuntSound; // 0xb80 + CEntityIOOutput m_OnBreak; // 0x9a8 + CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x9d0 + CEntityIOOutput m_OnTakeDamage; // 0x9f8 + float m_impactEnergyScale; // 0xa20 + int32_t m_iMinHealthDmg; // 0xa24 + QAngle m_preferredCarryAngles; // 0xa28 + float m_flPressureDelay; // 0xa34 + CHandle< CBaseEntity > m_hBreaker; // 0xa38 + PerformanceMode_t m_PerformanceMode; // 0xa3c + float m_flDmgModBullet; // 0xa40 + float m_flDmgModClub; // 0xa44 + float m_flDmgModExplosive; // 0xa48 + float m_flDmgModFire; // 0xa4c + CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xa50 + CUtlSymbolLarge m_iszBasePropData; // 0xa58 + int32_t m_iInteractions; // 0xa60 + float m_flPreventDamageBeforeTime; // 0xa64 + bool m_bHasBreakPiecesOrCommands; // 0xa68 +private: + [[maybe_unused]] uint8_t __pad0a69[0x3]; // 0xa69 +public: + float m_explodeDamage; // 0xa6c + float m_explodeRadius; // 0xa70 +private: + [[maybe_unused]] uint8_t __pad0a74[0x4]; // 0xa74 +public: + float m_explosionDelay; // 0xa78 +private: + [[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c +public: + CUtlSymbolLarge m_explosionBuildupSound; // 0xa80 + CUtlSymbolLarge m_explosionCustomEffect; // 0xa88 + CUtlSymbolLarge m_explosionCustomSound; // 0xa90 + CHandle< CBasePlayer > m_hPhysicsAttacker; // 0xa98 + float m_flLastPhysicsInfluenceTime; // 0xa9c + bool m_bOriginalBlockLOS; // 0xaa0 + char m_nPhysgunState; // 0xaa1 +private: + [[maybe_unused]] uint8_t __pad0aa2[0x6]; // 0xaa2 +public: + CEntityIOOutput m_OnPhysCannonDetach; // 0xaa8 + CEntityIOOutput m_OnPhysCannonAnimatePreStarted; // 0xad0 + CEntityIOOutput m_OnPhysCannonAnimatePullStarted; // 0xaf8 + CEntityIOOutput m_OnPhysCannonAnimatePostStarted; // 0xb20 + CEntityIOOutput m_OnPhysCannonPullAnimFinished; // 0xb48 + float m_flDefaultFadeScale; // 0xb70 + CHandle< CBaseEntity > m_hLastAttacker; // 0xb74 + CHandle< CBaseEntity > m_hFlareEnt; // 0xb78 + bool m_bUsePuntSound; // 0xb7c +private: + [[maybe_unused]] uint8_t __pad0b7d[0x3]; // 0xb7d +public: + CUtlSymbolLarge m_iszPuntSound; // 0xb80 // MNetworkEnable - bool m_noGhostCollision; // 0xb88 + bool m_noGhostCollision; // 0xb88 +private: + [[maybe_unused]] uint8_t __pad0b89[0x3]; // 0xb89 +public: // MNetworkEnable - float m_flClothScale; // 0xb8c + float m_flClothScale; // 0xb8c }; -// Aligment: 32 -// Size: 3248 -class CDynamicProp : public CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 32 +// Size: 0xcb0 +class CDynamicProp : public CBreakableProp { public: - CEntityIOOutput m_pOutputAnimBegun; // 0xb90 - CEntityIOOutput m_pOutputAnimOver; // 0xbb8 - CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0xbe0 - CEntityIOOutput m_OnAnimReachedStart; // 0xc08 - CEntityIOOutput m_OnAnimReachedEnd; // 0xc30 - CUtlSymbolLarge m_iszDefaultAnim; // 0xc58 - CUtlSymbolLarge m_iszInitialAnim; // 0xc60 - HSequence m_hGoalSequence; // 0xc68 - int32_t m_iTransitionDirection; // 0xc6c - bool m_bAnimateOnServer; // 0xc70 - bool m_bRandomizeCycle; // 0xc71 - bool m_bHoldAnimation; // 0xc72 - bool m_bIsHoldingAnimation; // 0xc73 - bool m_bRandomAnimator; // 0xc74 - float m_flNextRandAnim; // 0xc78 - float m_flMinRandAnimDuration; // 0xc7c - float m_flMaxRandAnimDuration; // 0xc80 - HSequence m_hPendingSequence; // 0xc84 - bool m_bStartDisabled; // 0xc88 - bool m_bUpdateAttachedChildren; // 0xc89 - bool m_bScriptedMovement; // 0xc8a - bool m_bFiredStartEndOutput; // 0xc8b + CEntityIOOutput m_pOutputAnimBegun; // 0xb90 + CEntityIOOutput m_pOutputAnimOver; // 0xbb8 + CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0xbe0 + CEntityIOOutput m_OnAnimReachedStart; // 0xc08 + CEntityIOOutput m_OnAnimReachedEnd; // 0xc30 + CUtlSymbolLarge m_iszDefaultAnim; // 0xc58 + CUtlSymbolLarge m_iszInitialAnim; // 0xc60 + HSequence m_hGoalSequence; // 0xc68 + int32_t m_iTransitionDirection; // 0xc6c + bool m_bAnimateOnServer; // 0xc70 + bool m_bRandomizeCycle; // 0xc71 + bool m_bHoldAnimation; // 0xc72 + bool m_bIsHoldingAnimation; // 0xc73 + bool m_bRandomAnimator; // 0xc74 +private: + [[maybe_unused]] uint8_t __pad0c75[0x3]; // 0xc75 +public: + float m_flNextRandAnim; // 0xc78 + float m_flMinRandAnimDuration; // 0xc7c + float m_flMaxRandAnimDuration; // 0xc80 + HSequence m_hPendingSequence; // 0xc84 + bool m_bStartDisabled; // 0xc88 + bool m_bUpdateAttachedChildren; // 0xc89 + bool m_bScriptedMovement; // 0xc8a + bool m_bFiredStartEndOutput; // 0xc8b // MNetworkEnable - bool m_bUseHitboxesForRenderBox; // 0xc8c + bool m_bUseHitboxesForRenderBox; // 0xc8c // MNetworkEnable - bool m_bUseAnimGraph; // 0xc8d - bool m_bCreateNavObstacle; // 0xc98 - bool m_bForceNpcExclude; // 0xc99 - bool m_bCreateNonSolid; // 0xc9a - bool m_bIsOverrideProp; // 0xc9b - int32_t m_iInitialGlowState; // 0xc9c - int32_t m_nGlowRange; // 0xca0 - int32_t m_nGlowRangeMin; // 0xca4 - Color m_glowColor; // 0xca8 + bool m_bUseAnimGraph; // 0xc8d +private: + [[maybe_unused]] uint8_t __pad0c8e[0xa]; // 0xc8e +public: + bool m_bCreateNavObstacle; // 0xc98 + bool m_bForceNpcExclude; // 0xc99 + bool m_bCreateNonSolid; // 0xc9a + bool m_bIsOverrideProp; // 0xc9b + int32_t m_iInitialGlowState; // 0xc9c + int32_t m_nGlowRange; // 0xca0 + int32_t m_nGlowRangeMin; // 0xca4 + Color m_glowColor; // 0xca8 }; -// Aligment: 0 -// Size: 3248 -class CDynamicPropAlias_dynamic_prop : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xcb0 +class CDynamicPropAlias_dynamic_prop : public CDynamicProp { public: -// + // no members available }; -// Aligment: 0 -// Size: 3248 -class CDynamicPropAlias_prop_dynamic_override : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xcb0 +class CDynamicPropAlias_prop_dynamic_override : public CDynamicProp { public: -// + // no members available }; -// Aligment: 0 -// Size: 3248 -class CDynamicPropAlias_cable_dynamic : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xcb0 +class CDynamicPropAlias_cable_dynamic : public CDynamicProp { public: -// + // no members available }; -// Aligment: 10 -// Size: 2888 -class CColorCorrectionVolume : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 10 +// Size: 0xb48 +class CColorCorrectionVolume : public CBaseTrigger { public: // MNetworkEnable - bool m_bEnabled; // 0x920 + bool m_bEnabled; // 0x920 +private: + [[maybe_unused]] uint8_t __pad0921[0x3]; // 0x921 +public: // MNetworkEnable - float m_MaxWeight; // 0x924 + float m_MaxWeight; // 0x924 // MNetworkEnable - float m_FadeDuration; // 0x928 - bool m_bStartDisabled; // 0x92c + float m_FadeDuration; // 0x928 + bool m_bStartDisabled; // 0x92c +private: + [[maybe_unused]] uint8_t __pad092d[0x3]; // 0x92d +public: // MNetworkEnable - float m_Weight; // 0x930 + float m_Weight; // 0x930 // MNetworkEnable - char[512] m_lookupFilename; // 0x934 - float m_LastEnterWeight; // 0xb34 - float m_LastEnterTime; // 0xb38 - float m_LastExitWeight; // 0xb3c - float m_LastExitTime; // 0xb40 + char m_lookupFilename[512]; // 0x934 + float m_LastEnterWeight; // 0xb34 + float m_LastEnterTime; // 0xb38 + float m_LastExitWeight; // 0xb3c + float m_LastExitTime; // 0xb40 }; -// Aligment: 30 -// Size: 2640 -class CPointCommentaryNode : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 30 +// Size: 0xa50 +class CPointCommentaryNode : public CBaseAnimating { public: - CUtlSymbolLarge m_iszPreCommands; // 0x958 - CUtlSymbolLarge m_iszPostCommands; // 0x960 + CUtlSymbolLarge m_iszPreCommands; // 0x958 + CUtlSymbolLarge m_iszPostCommands; // 0x960 // MNetworkEnable - CUtlSymbolLarge m_iszCommentaryFile; // 0x968 - CUtlSymbolLarge m_iszViewTarget; // 0x970 - CHandle< CBaseEntity > m_hViewTarget; // 0x978 - CHandle< CBaseEntity > m_hViewTargetAngles; // 0x97c - CUtlSymbolLarge m_iszViewPosition; // 0x980 + CUtlSymbolLarge m_iszCommentaryFile; // 0x968 + CUtlSymbolLarge m_iszViewTarget; // 0x970 + CHandle< CBaseEntity > m_hViewTarget; // 0x978 + CHandle< CBaseEntity > m_hViewTargetAngles; // 0x97c + CUtlSymbolLarge m_iszViewPosition; // 0x980 // MNetworkEnable - CHandle< CBaseEntity > m_hViewPosition; // 0x988 - CHandle< CBaseEntity > m_hViewPositionMover; // 0x98c - bool m_bPreventMovement; // 0x990 - bool m_bUnderCrosshair; // 0x991 - bool m_bUnstoppable; // 0x992 - float m_flFinishedTime; // 0x994 - Vector m_vecFinishOrigin; // 0x998 - QAngle m_vecOriginalAngles; // 0x9a4 - QAngle m_vecFinishAngles; // 0x9b0 - bool m_bPreventChangesWhileMoving; // 0x9bc - bool m_bDisabled; // 0x9bd - Vector m_vecTeleportOrigin; // 0x9c0 - float m_flAbortedPlaybackAt; // 0x9cc - CEntityIOOutput m_pOnCommentaryStarted; // 0x9d0 - CEntityIOOutput m_pOnCommentaryStopped; // 0x9f8 + CHandle< CBaseEntity > m_hViewPosition; // 0x988 + CHandle< CBaseEntity > m_hViewPositionMover; // 0x98c + bool m_bPreventMovement; // 0x990 + bool m_bUnderCrosshair; // 0x991 + bool m_bUnstoppable; // 0x992 +private: + [[maybe_unused]] uint8_t __pad0993[0x1]; // 0x993 +public: + float m_flFinishedTime; // 0x994 + Vector m_vecFinishOrigin; // 0x998 + QAngle m_vecOriginalAngles; // 0x9a4 + QAngle m_vecFinishAngles; // 0x9b0 + bool m_bPreventChangesWhileMoving; // 0x9bc + bool m_bDisabled; // 0x9bd +private: + [[maybe_unused]] uint8_t __pad09be[0x2]; // 0x9be +public: + Vector m_vecTeleportOrigin; // 0x9c0 + float m_flAbortedPlaybackAt; // 0x9cc + CEntityIOOutput m_pOnCommentaryStarted; // 0x9d0 + CEntityIOOutput m_pOnCommentaryStopped; // 0x9f8 // MNetworkEnable - bool m_bActive; // 0xa20 + bool m_bActive; // 0xa20 +private: + [[maybe_unused]] uint8_t __pad0a21[0x3]; // 0xa21 +public: // MNetworkEnable - float m_flStartTime; // 0xa24 + float m_flStartTime; // 0xa24 // MNetworkEnable - float m_flStartTimeInCommentary; // 0xa28 + float m_flStartTimeInCommentary; // 0xa28 +private: + [[maybe_unused]] uint8_t __pad0a2c[0x4]; // 0xa2c +public: // MNetworkEnable - CUtlSymbolLarge m_iszTitle; // 0xa30 + CUtlSymbolLarge m_iszTitle; // 0xa30 // MNetworkEnable - CUtlSymbolLarge m_iszSpeakers; // 0xa38 + CUtlSymbolLarge m_iszSpeakers; // 0xa38 // MNetworkEnable - int32_t m_iNodeNumber; // 0xa40 + int32_t m_iNodeNumber; // 0xa40 // MNetworkEnable - int32_t m_iNodeNumberMax; // 0xa44 + int32_t m_iNodeNumberMax; // 0xa44 // MNetworkEnable - bool m_bListenedTo; // 0xa48 + bool m_bListenedTo; // 0xa48 }; -// Aligment: 0 -// Size: 2024 -class CCommentaryViewPosition : public CSprite, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x7e8 +class CCommentaryViewPosition : public CSprite { public: -// + // no members available }; -// Aligment: 0 -// Size: 2544 -class CFuncWater : public CBaseDoor, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x9f0 +class CFuncWater : public CBaseDoor { public: -// + // no members available }; -// Aligment: 1 -// Size: 2552 -class CRotDoor : public CBaseDoor, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x9f8 +class CRotDoor : public CBaseDoor { public: - bool m_bSolidBsp; // 0x9f0 + bool m_bSolidBsp; // 0x9f0 }; -// Aligment: 0 -// Size: 2392 -class CItemSoda : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x958 +class CItemSoda : public CBaseAnimating { public: -// + // no members available }; -// Aligment: 0 -// Size: 2336 -class CPrecipitation : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x920 +class CPrecipitation : public CBaseTrigger { public: -// + // no members available }; -// Aligment: 4 -// Size: 2408 -class CEnvAirStrikeIndoorEffect : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x968 +class CEnvAirStrikeIndoorEffect : public CBaseAnimating { public: - int32_t m_nMode; // 0x958 - float m_flHeight; // 0x95c - float m_flNextStateTime; // 0x960 - int32_t m_nUserSpecifiedHeight; // 0x964 + int32_t m_nMode; // 0x958 + float m_flHeight; // 0x95c + float m_flNextStateTime; // 0x960 + int32_t m_nUserSpecifiedHeight; // 0x964 }; -// Aligment: 5 -// Size: 2432 -class CEnvAirStrikeOutdoorEffect : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x980 +class CEnvAirStrikeOutdoorEffect : public CBaseAnimating { public: - float m_flNextStateTime; // 0x958 - CUtlSymbolLarge m_strModelGroup; // 0x960 - CUtlSymbolLarge m_strSequenceName1; // 0x968 - CUtlSymbolLarge m_strSequenceName2; // 0x970 - int32_t m_nMode; // 0x978 + float m_flNextStateTime; // 0x958 +private: + [[maybe_unused]] uint8_t __pad095c[0x4]; // 0x95c +public: + CUtlSymbolLarge m_strModelGroup; // 0x960 + CUtlSymbolLarge m_strSequenceName1; // 0x968 + CUtlSymbolLarge m_strSequenceName2; // 0x970 + int32_t m_nMode; // 0x978 }; -// Aligment: 19 -// Size: 2240 -class CEnvBeam : public CBeam, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 19 +// Size: 0x8c0 +class CEnvBeam : public CBeam { public: - int32_t m_active; // 0x818 - CStrongHandle< InfoForResourceTypeIMaterial2 > m_spriteTexture; // 0x820 - CUtlSymbolLarge m_iszStartEntity; // 0x828 - CUtlSymbolLarge m_iszEndEntity; // 0x830 - float m_life; // 0x838 - float m_boltWidth; // 0x83c - float m_noiseAmplitude; // 0x840 - int32_t m_speed; // 0x844 - float m_restrike; // 0x848 - CUtlSymbolLarge m_iszSpriteName; // 0x850 - int32_t m_frameStart; // 0x858 - Vector m_vEndPointWorld; // 0x85c - Vector m_vEndPointRelative; // 0x868 - float m_radius; // 0x874 - Touch_t m_TouchType; // 0x878 - CUtlSymbolLarge m_iFilterName; // 0x880 - CHandle< CBaseEntity > m_hFilter; // 0x888 - CUtlSymbolLarge m_iszDecal; // 0x890 - CEntityIOOutput m_OnTouchedByEntity; // 0x898 + int32_t m_active; // 0x818 +private: + [[maybe_unused]] uint8_t __pad081c[0x4]; // 0x81c +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_spriteTexture; // 0x820 + CUtlSymbolLarge m_iszStartEntity; // 0x828 + CUtlSymbolLarge m_iszEndEntity; // 0x830 + float m_life; // 0x838 + float m_boltWidth; // 0x83c + float m_noiseAmplitude; // 0x840 + int32_t m_speed; // 0x844 + float m_restrike; // 0x848 +private: + [[maybe_unused]] uint8_t __pad084c[0x4]; // 0x84c +public: + CUtlSymbolLarge m_iszSpriteName; // 0x850 + int32_t m_frameStart; // 0x858 + Vector m_vEndPointWorld; // 0x85c + Vector m_vEndPointRelative; // 0x868 + float m_radius; // 0x874 + Touch_t m_TouchType; // 0x878 +private: + [[maybe_unused]] uint8_t __pad087c[0x4]; // 0x87c +public: + CUtlSymbolLarge m_iFilterName; // 0x880 + CHandle< CBaseEntity > m_hFilter; // 0x888 +private: + [[maybe_unused]] uint8_t __pad088c[0x4]; // 0x88c +public: + CUtlSymbolLarge m_iszDecal; // 0x890 + CEntityIOOutput m_OnTouchedByEntity; // 0x898 }; -// Aligment: 0 -// Size: 2104 -class CPushable : public CBreakable, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x838 +class CPushable : public CBreakable { public: -// + // no members available }; -// Aligment: 0 -// Size: 2088 -class CFuncLadderAlias_func_useableladder : public CFuncLadder, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x828 +class CFuncLadderAlias_func_useableladder : public CFuncLadder { public: -// + // no members available }; -// Aligment: 9 -// Size: 1976 -class CFuncMonitor : public CFuncBrush, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x7b8 +class CFuncMonitor : public CFuncBrush { public: // MNetworkEnable - CUtlString m_targetCamera; // 0x798 + CUtlString m_targetCamera; // 0x798 // MNetworkEnable - int32_t m_nResolutionEnum; // 0x7a0 + int32_t m_nResolutionEnum; // 0x7a0 // MNetworkEnable - bool m_bRenderShadows; // 0x7a4 + bool m_bRenderShadows; // 0x7a4 // MNetworkEnable - bool m_bUseUniqueColorTarget; // 0x7a5 + bool m_bUseUniqueColorTarget; // 0x7a5 +private: + [[maybe_unused]] uint8_t __pad07a6[0x2]; // 0x7a6 +public: // MNetworkEnable - CUtlString m_brushModelName; // 0x7a8 + CUtlString m_brushModelName; // 0x7a8 // MNetworkEnable - CHandle< CBaseEntity > m_hTargetCamera; // 0x7b0 + CHandle< CBaseEntity > m_hTargetCamera; // 0x7b0 // MNetworkEnable - bool m_bEnabled; // 0x7b4 + bool m_bEnabled; // 0x7b4 // MNetworkEnable - bool m_bDraw3DSkybox; // 0x7b5 - bool m_bStartEnabled; // 0x7b6 + bool m_bDraw3DSkybox; // 0x7b5 + bool m_bStartEnabled; // 0x7b6 }; -// Aligment: 0 -// Size: 2208 -class CFuncMoveLinearAlias_momentary_door : public CFuncMoveLinear, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x8a0 +class CFuncMoveLinearAlias_momentary_door : public CFuncMoveLinear { public: -// + // no members available }; -// Aligment: 0 -// Size: 2208 -class CFuncWaterAnalog : public CFuncMoveLinear, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x8a0 +class CFuncWaterAnalog : public CFuncMoveLinear { public: -// + // no members available }; -// Aligment: 3 -// Size: 2088 -class CGunTarget : public CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x828 +class CGunTarget : public CBaseToggle { public: - bool m_on; // 0x7f8 - CHandle< CBaseEntity > m_hTargetEnt; // 0x7fc - CEntityIOOutput m_OnDeath; // 0x800 + bool m_on; // 0x7f8 +private: + [[maybe_unused]] uint8_t __pad07f9[0x3]; // 0x7f9 +public: + CHandle< CBaseEntity > m_hTargetEnt; // 0x7fc + CEntityIOOutput m_OnDeath; // 0x800 }; -// Aligment: 0 -// Size: 1976 -class CSimpleMarkupVolumeTagged : public CMarkupVolumeTagged, CMarkupVolume, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x7b8 +class CSimpleMarkupVolumeTagged : public CMarkupVolumeTagged { public: -// + // no members available }; -// Aligment: 0 -// Size: 1976 -class CMarkupVolumeTagged_Nav : public CMarkupVolumeTagged, CMarkupVolume, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x7b8 +class CMarkupVolumeTagged_Nav : public CMarkupVolumeTagged { public: -// + // no members available }; -// Aligment: 0 -// Size: 2000 -class CMarkupVolumeTagged_NavGame : public CMarkupVolumeWithRef, CMarkupVolumeTagged, CMarkupVolume, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x7d0 +class CMarkupVolumeTagged_NavGame : public CMarkupVolumeWithRef { public: -// + // no members available }; -// Aligment: 4 -// Size: 2000 -class CFuncElectrifiedVolume : public CFuncBrush, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x7d0 +class CFuncElectrifiedVolume : public CFuncBrush { public: // MNetworkEnable - CUtlSymbolLarge m_EffectName; // 0x798 - CUtlSymbolLarge m_EffectInterpenetrateName; // 0x7a0 - CUtlSymbolLarge m_EffectZapName; // 0x7a8 - CUtlSymbolLarge m_iszEffectSource; // 0x7b0 + CUtlSymbolLarge m_EffectName; // 0x798 + CUtlSymbolLarge m_EffectInterpenetrateName; // 0x7a0 + CUtlSymbolLarge m_EffectZapName; // 0x7a8 + CUtlSymbolLarge m_iszEffectSource; // 0x7b0 }; -// Aligment: 0 -// Size: 1320 -class CPathCornerCrash : public CPathCorner, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x528 +class CPathCornerCrash : public CPathCorner { public: -// + // no members available }; -// Aligment: 1 -// Size: 2400 -class CConstraintAnchor : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x960 +class CConstraintAnchor : public CBaseAnimating { public: - float m_massScale; // 0x958 + float m_massScale; // 0x958 }; -// Aligment: 0 -// Size: 2456 -class CSimplePhysicsProp : public CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x998 +class CSimplePhysicsProp : public CBaseProp { public: -// + // no members available }; -// Aligment: 1 -// Size: 3256 -class COrnamentProp : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0xcb8 +class COrnamentProp : public CDynamicProp { public: - CUtlSymbolLarge m_initialOwner; // 0xcb0 + CUtlSymbolLarge m_initialOwner; // 0xcb0 }; -// Aligment: 0 -// Size: 2000 -class CRopeKeyframeAlias_move_rope : public CRopeKeyframe, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x7d0 +class CRopeKeyframeAlias_move_rope : public CRopeKeyframe { public: -// + // no members available }; -// Aligment: 0 -// Size: 2448 -class CSceneEntityAlias_logic_choreographed_scene : public CSceneEntity, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x990 +class CSceneEntityAlias_logic_choreographed_scene : public CSceneEntity { public: -// + // no members available }; -// Aligment: 6 -// Size: 2728 -class CInstancedSceneEntity : public CSceneEntity, CPointEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0xaa8 +class CInstancedSceneEntity : public CSceneEntity { public: - CHandle< CBaseEntity > m_hOwner; // 0x990 - bool m_bHadOwner; // 0x994 - float m_flPostSpeakDelay; // 0x998 - float m_flPreDelay; // 0x99c - char[260] m_szInstanceFilename; // 0x9a0 - bool m_bIsBackground; // 0xaa4 + CHandle< CBaseEntity > m_hOwner; // 0x990 + bool m_bHadOwner; // 0x994 +private: + [[maybe_unused]] uint8_t __pad0995[0x3]; // 0x995 +public: + float m_flPostSpeakDelay; // 0x998 + float m_flPreDelay; // 0x99c + char m_szInstanceFilename[260]; // 0x9a0 + bool m_bIsBackground; // 0xaa4 }; -// Aligment: 3 -// Size: 2376 -class CTriggerSoundscape : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x948 +class CTriggerSoundscape : public CBaseTrigger { public: - CHandle< CEnvSoundscapeTriggerable > m_hSoundscape; // 0x920 - CUtlSymbolLarge m_SoundscapeName; // 0x928 - CUtlVector< CHandle< CBasePlayer > > m_spectators; // 0x930 + CHandle< CEnvSoundscapeTriggerable > m_hSoundscape; // 0x920 +private: + [[maybe_unused]] uint8_t __pad0924[0x4]; // 0x924 +public: + CUtlSymbolLarge m_SoundscapeName; // 0x928 + CUtlVector< CHandle< CBasePlayer > > m_spectators; // 0x930 }; -// Aligment: 0 -// Size: 2024 -class CSpriteAlias_env_glow : public CSprite, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x7e8 +class CSpriteAlias_env_glow : public CSprite { public: -// + // no members available }; -// Aligment: 1 -// Size: 2264 -class CFuncTankTrain : public CFuncTrackTrain, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x8d8 +class CFuncTankTrain : public CFuncTrackTrain { public: - CEntityIOOutput m_OnDeath; // 0x8b0 + CEntityIOOutput m_OnDeath; // 0x8b0 }; -// Aligment: 5 -// Size: 2080 -class CBasePlatTrain : public CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x820 +class CBasePlatTrain : public CBaseToggle { public: - CUtlSymbolLarge m_NoiseMoving; // 0x7f8 - CUtlSymbolLarge m_NoiseArrived; // 0x800 - float m_volume; // 0x810 - float m_flTWidth; // 0x814 - float m_flTLength; // 0x818 + CUtlSymbolLarge m_NoiseMoving; // 0x7f8 + CUtlSymbolLarge m_NoiseArrived; // 0x800 +private: + [[maybe_unused]] uint8_t __pad0808[0x8]; // 0x808 +public: + float m_volume; // 0x810 + float m_flTWidth; // 0x814 + float m_flTLength; // 0x818 }; -// Aligment: 1 -// Size: 2088 -class CFuncPlat : public CBasePlatTrain, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x828 +class CFuncPlat : public CBasePlatTrain { public: - CUtlSymbolLarge m_sNoise; // 0x820 + CUtlSymbolLarge m_sNoise; // 0x820 }; -// Aligment: 2 -// Size: 2112 -class CFuncPlatRot : public CFuncPlat, CBasePlatTrain, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x840 +class CFuncPlatRot : public CFuncPlat { public: - QAngle m_end; // 0x828 - QAngle m_start; // 0x834 + QAngle m_end; // 0x828 + QAngle m_start; // 0x834 }; -// Aligment: 6 -// Size: 2112 -class CFuncTrain : public CBasePlatTrain, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x840 +class CFuncTrain : public CBasePlatTrain { public: - CHandle< CBaseEntity > m_hCurrentTarget; // 0x820 - bool m_activated; // 0x824 - CHandle< CBaseEntity > m_hEnemy; // 0x828 - float m_flBlockDamage; // 0x82c - float m_flNextBlockTime; // 0x830 - CUtlSymbolLarge m_iszLastTarget; // 0x838 + CHandle< CBaseEntity > m_hCurrentTarget; // 0x820 + bool m_activated; // 0x824 +private: + [[maybe_unused]] uint8_t __pad0825[0x3]; // 0x825 +public: + CHandle< CBaseEntity > m_hEnemy; // 0x828 + float m_flBlockDamage; // 0x82c + float m_flNextBlockTime; // 0x830 +private: + [[maybe_unused]] uint8_t __pad0834[0x4]; // 0x834 +public: + CUtlSymbolLarge m_iszLastTarget; // 0x838 }; -// Aligment: 9 -// Size: 2176 -class CFuncTrackChange : public CFuncPlatRot, CFuncPlat, CBasePlatTrain, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x880 +class CFuncTrackChange : public CFuncPlatRot { public: - CPathTrack* m_trackTop; // 0x840 - CPathTrack* m_trackBottom; // 0x848 - CFuncTrackTrain* m_train; // 0x850 - CUtlSymbolLarge m_trackTopName; // 0x858 - CUtlSymbolLarge m_trackBottomName; // 0x860 - CUtlSymbolLarge m_trainName; // 0x868 - TRAIN_CODE m_code; // 0x870 - int32_t m_targetState; // 0x874 - int32_t m_use; // 0x878 + CPathTrack* m_trackTop; // 0x840 + CPathTrack* m_trackBottom; // 0x848 + CFuncTrackTrain* m_train; // 0x850 + CUtlSymbolLarge m_trackTopName; // 0x858 + CUtlSymbolLarge m_trackBottomName; // 0x860 + CUtlSymbolLarge m_trainName; // 0x868 + TRAIN_CODE m_code; // 0x870 + int32_t m_targetState; // 0x874 + int32_t m_use; // 0x878 }; -// Aligment: 0 -// Size: 2176 -class CFuncTrackAuto : public CFuncTrackChange, CFuncPlatRot, CFuncPlat, CBasePlatTrain, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x880 +class CFuncTrackAuto : public CFuncTrackChange { public: -// + // no members available }; -// Aligment: 1 -// Size: 2376 -class CTriggerRemove : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x948 +class CTriggerRemove : public CBaseTrigger { public: - CEntityIOOutput m_OnRemove; // 0x920 + CEntityIOOutput m_OnRemove; // 0x920 }; -// Aligment: 1 -// Size: 2512 -class CScriptTriggerHurt : public CTriggerHurt, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x9d0 +class CScriptTriggerHurt : public CTriggerHurt { public: - Vector m_vExtent; // 0x9c0 + Vector m_vExtent; // 0x9c0 }; -// Aligment: 1 -// Size: 2392 -class CScriptTriggerMultiple : public CTriggerMultiple, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x958 +class CScriptTriggerMultiple : public CTriggerMultiple { public: - Vector m_vExtent; // 0x948 + Vector m_vExtent; // 0x948 }; -// Aligment: 0 -// Size: 2376 -class CTriggerOnce : public CTriggerMultiple, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x948 +class CTriggerOnce : public CTriggerMultiple { public: -// + // no members available }; -// Aligment: 1 -// Size: 2392 -class CScriptTriggerOnce : public CTriggerOnce, CTriggerMultiple, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x958 +class CScriptTriggerOnce : public CTriggerOnce { public: - Vector m_vExtent; // 0x948 + Vector m_vExtent; // 0x948 }; -// Aligment: 15 -// Size: 2536 -class CTriggerLook : public CTriggerOnce, CTriggerMultiple, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 15 +// Size: 0x9e8 +class CTriggerLook : public CTriggerOnce { public: - CHandle< CBaseEntity > m_hLookTarget; // 0x948 - float m_flFieldOfView; // 0x94c - float m_flLookTime; // 0x950 - float m_flLookTimeTotal; // 0x954 - float m_flLookTimeLast; // 0x958 - float m_flTimeoutDuration; // 0x95c - bool m_bTimeoutFired; // 0x960 - bool m_bIsLooking; // 0x961 - bool m_b2DFOV; // 0x962 - bool m_bUseVelocity; // 0x963 - CHandle< CBaseEntity > m_hActivator; // 0x964 + CHandle< CBaseEntity > m_hLookTarget; // 0x948 + float m_flFieldOfView; // 0x94c + float m_flLookTime; // 0x950 + float m_flLookTimeTotal; // 0x954 + float m_flLookTimeLast; // 0x958 + float m_flTimeoutDuration; // 0x95c + bool m_bTimeoutFired; // 0x960 + bool m_bIsLooking; // 0x961 + bool m_b2DFOV; // 0x962 + bool m_bUseVelocity; // 0x963 + CHandle< CBaseEntity > m_hActivator; // 0x964 // MNetworkEnable - bool m_bTestOcclusion; // 0x968 - CEntityIOOutput m_OnTimeout; // 0x970 - CEntityIOOutput m_OnStartLook; // 0x998 - CEntityIOOutput m_OnEndLook; // 0x9c0 + bool m_bTestOcclusion; // 0x968 +private: + [[maybe_unused]] uint8_t __pad0969[0x7]; // 0x969 +public: + CEntityIOOutput m_OnTimeout; // 0x970 + CEntityIOOutput m_OnStartLook; // 0x998 + CEntityIOOutput m_OnEndLook; // 0x9c0 }; -// Aligment: 5 -// Size: 2376 -class CTriggerPush : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x948 +class CTriggerPush : public CBaseTrigger { public: - QAngle m_angPushEntitySpace; // 0x920 - Vector m_vecPushDirEntitySpace; // 0x92c - bool m_bTriggerOnStartTouch; // 0x938 - float m_flAlternateTicksFix; // 0x93c - float m_flPushSpeed; // 0x940 + QAngle m_angPushEntitySpace; // 0x920 + Vector m_vecPushDirEntitySpace; // 0x92c + bool m_bTriggerOnStartTouch; // 0x938 +private: + [[maybe_unused]] uint8_t __pad0939[0x3]; // 0x939 +public: + float m_flAlternateTicksFix; // 0x93c + float m_flPushSpeed; // 0x940 }; -// Aligment: 1 -// Size: 2392 -class CScriptTriggerPush : public CTriggerPush, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x958 +class CScriptTriggerPush : public CTriggerPush { public: - Vector m_vExtent; // 0x948 + Vector m_vExtent; // 0x948 }; -// Aligment: 1 -// Size: 2344 -class CTriggerToggleSave : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x928 +class CTriggerToggleSave : public CBaseTrigger { public: - bool m_bDisabled; // 0x920 + bool m_bDisabled; // 0x920 }; -// Aligment: 3 -// Size: 2352 -class CTriggerSave : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x930 +class CTriggerSave : public CBaseTrigger { public: - bool m_bForceNewLevelUnit; // 0x920 - float m_fDangerousTimer; // 0x924 - int32_t m_minHitPoints; // 0x928 + bool m_bForceNewLevelUnit; // 0x920 +private: + [[maybe_unused]] uint8_t __pad0921[0x3]; // 0x921 +public: + float m_fDangerousTimer; // 0x924 + int32_t m_minHitPoints; // 0x928 }; -// Aligment: 0 -// Size: 2336 -class CTriggerGravity : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x920 +class CTriggerGravity : public CBaseTrigger { public: -// + // no members available }; -// Aligment: 5 -// Size: 2400 -class CTriggerProximity : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x960 +class CTriggerProximity : public CBaseTrigger { public: - CHandle< CBaseEntity > m_hMeasureTarget; // 0x920 - CUtlSymbolLarge m_iszMeasureTarget; // 0x928 - float m_fRadius; // 0x930 - int32_t m_nTouchers; // 0x934 - CEntityOutputTemplate< float32 > m_NearestEntityDistance; // 0x938 + CHandle< CBaseEntity > m_hMeasureTarget; // 0x920 +private: + [[maybe_unused]] uint8_t __pad0924[0x4]; // 0x924 +public: + CUtlSymbolLarge m_iszMeasureTarget; // 0x928 + float m_fRadius; // 0x930 + int32_t m_nTouchers; // 0x934 + CEntityOutputTemplate< float32 > m_NearestEntityDistance; // 0x938 }; -// Aligment: 4 -// Size: 2432 -class CTriggerImpact : public CTriggerMultiple, CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x980 +class CTriggerImpact : public CTriggerMultiple { public: - float m_flMagnitude; // 0x948 - float m_flNoise; // 0x94c - float m_flViewkick; // 0x950 - CEntityOutputTemplate< Vector > m_pOutputForce; // 0x958 + float m_flMagnitude; // 0x948 + float m_flNoise; // 0x94c + float m_flViewkick; // 0x950 +private: + [[maybe_unused]] uint8_t __pad0954[0x4]; // 0x954 +public: + CEntityOutputTemplate< Vector > m_pOutputForce; // 0x958 }; -// Aligment: 0 -// Size: 2336 -class CTriggerPlayerMovement : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x920 +class CTriggerPlayerMovement : public CBaseTrigger { public: -// + // no members available }; -// Aligment: 0 -// Size: 2336 -class CServerRagdollTrigger : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x920 +class CServerRagdollTrigger : public CBaseTrigger { public: -// + // no members available }; -// Aligment: 2 -// Size: 2384 -class CTriggerActiveWeaponDetect : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x950 +class CTriggerActiveWeaponDetect : public CBaseTrigger { public: - CEntityIOOutput m_OnTouchedActiveWeapon; // 0x920 - CUtlSymbolLarge m_iszWeaponClassName; // 0x948 + CEntityIOOutput m_OnTouchedActiveWeapon; // 0x920 + CUtlSymbolLarge m_iszWeaponClassName; // 0x948 }; -// Aligment: 13 -// Size: 2432 -class CTriggerPhysics : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 13 +// Size: 0x980 +class CTriggerPhysics : public CBaseTrigger { public: - float m_gravityScale; // 0x930 - float m_linearLimit; // 0x934 - float m_linearDamping; // 0x938 - float m_angularLimit; // 0x93c - float m_angularDamping; // 0x940 - float m_linearForce; // 0x944 - float m_flFrequency; // 0x948 - float m_flDampingRatio; // 0x94c - Vector m_vecLinearForcePointAt; // 0x950 - bool m_bCollapseToForcePoint; // 0x95c - Vector m_vecLinearForcePointAtWorld; // 0x960 - Vector m_vecLinearForceDirection; // 0x96c - bool m_bConvertToDebrisWhenPossible; // 0x978 + float m_gravityScale; // 0x930 + float m_linearLimit; // 0x934 + float m_linearDamping; // 0x938 + float m_angularLimit; // 0x93c + float m_angularDamping; // 0x940 + float m_linearForce; // 0x944 + float m_flFrequency; // 0x948 + float m_flDampingRatio; // 0x94c + Vector m_vecLinearForcePointAt; // 0x950 + bool m_bCollapseToForcePoint; // 0x95c +private: + [[maybe_unused]] uint8_t __pad095d[0x3]; // 0x95d +public: + Vector m_vecLinearForcePointAtWorld; // 0x960 + Vector m_vecLinearForceDirection; // 0x96c + bool m_bConvertToDebrisWhenPossible; // 0x978 }; -// Aligment: 2 -// Size: 2384 -class CTriggerDetectBulletFire : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x950 +class CTriggerDetectBulletFire : public CBaseTrigger { public: - bool m_bPlayerFireOnly; // 0x920 - CEntityIOOutput m_OnDetectedBulletFire; // 0x928 + bool m_bPlayerFireOnly; // 0x920 +private: + [[maybe_unused]] uint8_t __pad0921[0x7]; // 0x921 +public: + CEntityIOOutput m_OnDetectedBulletFire; // 0x928 }; -// Aligment: 1 -// Size: 2432 -class CTriggerDetectExplosion : public CBaseTrigger, CBaseToggle, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x980 +class CTriggerDetectExplosion : public CBaseTrigger { public: - CEntityIOOutput m_OnDetectedExplosion; // 0x958 + CEntityIOOutput m_OnDetectedExplosion; // 0x958 }; -// Aligment: 1 -// Size: 1944 -class CScriptNavBlocker : public CFuncNavBlocker, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x798 +class CScriptNavBlocker : public CFuncNavBlocker { public: - Vector m_vExtent; // 0x788 + Vector m_vExtent; // 0x788 }; -// Aligment: 7 -// Size: 2536 -class CBaseFlex : public CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 7 +// Size: 0x9e8 +class CBaseFlex : public CBaseAnimatingOverlay { public: // MNetworkEnable @@ -15243,1584 +17104,2001 @@ public: // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags - CNetworkUtlVectorBase< float32 > m_flexWeight; // 0x958 + CNetworkUtlVectorBase< float32 > m_flexWeight; // 0x958 // MNetworkEnable // MNetworkEncoder - Vector m_vLookTargetPosition; // 0x970 + Vector m_vLookTargetPosition; // 0x970 // MNetworkEnable - bool m_blinktoggle; // 0x97c - float m_flAllowResponsesEndTime; // 0x9d0 - float m_flLastFlexAnimationTime; // 0x9d4 - uint32_t m_nNextSceneEventId; // 0x9d8 - bool m_bUpdateLayerPriorities; // 0x9dc + bool m_blinktoggle; // 0x97c +private: + [[maybe_unused]] uint8_t __pad097d[0x53]; // 0x97d +public: + float m_flAllowResponsesEndTime; // 0x9d0 + float m_flLastFlexAnimationTime; // 0x9d4 + uint32_t m_nNextSceneEventId; // 0x9d8 + bool m_bUpdateLayerPriorities; // 0x9dc }; -// Aligment: 38 -// Size: 3904 -class CBasePropDoor : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 38 +// Size: 0xf40 +class CBasePropDoor : public CDynamicProp { public: - float m_flAutoReturnDelay; // 0xcc0 - CUtlVector< CHandle< CBasePropDoor > > m_hDoorList; // 0xcc8 - int32_t m_nHardwareType; // 0xce0 - bool m_bNeedsHardware; // 0xce4 + float m_flAutoReturnDelay; // 0xcc0 +private: + [[maybe_unused]] uint8_t __pad0cc4[0x4]; // 0xcc4 +public: + CUtlVector< CHandle< CBasePropDoor > > m_hDoorList; // 0xcc8 + int32_t m_nHardwareType; // 0xce0 + bool m_bNeedsHardware; // 0xce4 +private: + [[maybe_unused]] uint8_t __pad0ce5[0x3]; // 0xce5 +public: // MNetworkEnable - DoorState_t m_eDoorState; // 0xce8 + DoorState_t m_eDoorState; // 0xce8 // MNetworkEnable - bool m_bLocked; // 0xcec + bool m_bLocked; // 0xcec +private: + [[maybe_unused]] uint8_t __pad0ced[0x3]; // 0xced +public: // MNetworkEnable - Vector m_closedPosition; // 0xcf0 + Vector m_closedPosition; // 0xcf0 // MNetworkEnable - QAngle m_closedAngles; // 0xcfc - CHandle< CBaseEntity > m_hBlocker; // 0xd08 - bool m_bFirstBlocked; // 0xd0c - locksound_t m_ls; // 0xd10 - bool m_bForceClosed; // 0xd30 - Vector m_vecLatchWorldPosition; // 0xd34 - CHandle< CBaseEntity > m_hActivator; // 0xd40 - uint32_t m_sndParamAngularSpeed; // 0xd4c - CUtlSymbolLarge m_SoundMoving; // 0xd50 - CUtlSymbolLarge m_SoundOpen; // 0xd58 - CUtlSymbolLarge m_SoundClose; // 0xd60 - CUtlSymbolLarge m_SoundLock; // 0xd68 - CUtlSymbolLarge m_SoundUnlock; // 0xd70 - CUtlSymbolLarge m_SoundLatch; // 0xd78 - CUtlSymbolLarge m_SoundPound; // 0xd80 - CUtlSymbolLarge m_SoundJiggle; // 0xd88 - CUtlSymbolLarge m_SoundLockedAnim; // 0xd90 - int32_t m_numCloseAttempts; // 0xd98 - CUtlStringToken m_nPhysicsMaterial; // 0xd9c - CUtlSymbolLarge m_SlaveName; // 0xda0 + QAngle m_closedAngles; // 0xcfc + CHandle< CBaseEntity > m_hBlocker; // 0xd08 + bool m_bFirstBlocked; // 0xd0c +private: + [[maybe_unused]] uint8_t __pad0d0d[0x3]; // 0xd0d +public: + locksound_t m_ls; // 0xd10 + bool m_bForceClosed; // 0xd30 +private: + [[maybe_unused]] uint8_t __pad0d31[0x3]; // 0xd31 +public: + Vector m_vecLatchWorldPosition; // 0xd34 + CHandle< CBaseEntity > m_hActivator; // 0xd40 +private: + [[maybe_unused]] uint8_t __pad0d44[0x8]; // 0xd44 +public: + uint32_t m_sndParamAngularSpeed; // 0xd4c + CUtlSymbolLarge m_SoundMoving; // 0xd50 + CUtlSymbolLarge m_SoundOpen; // 0xd58 + CUtlSymbolLarge m_SoundClose; // 0xd60 + CUtlSymbolLarge m_SoundLock; // 0xd68 + CUtlSymbolLarge m_SoundUnlock; // 0xd70 + CUtlSymbolLarge m_SoundLatch; // 0xd78 + CUtlSymbolLarge m_SoundPound; // 0xd80 + CUtlSymbolLarge m_SoundJiggle; // 0xd88 + CUtlSymbolLarge m_SoundLockedAnim; // 0xd90 + int32_t m_numCloseAttempts; // 0xd98 + CUtlStringToken m_nPhysicsMaterial; // 0xd9c + CUtlSymbolLarge m_SlaveName; // 0xda0 // MNetworkEnable - CHandle< CBasePropDoor > m_hMaster; // 0xda8 - CEntityIOOutput m_OnBlockedClosing; // 0xdb0 - CEntityIOOutput m_OnBlockedOpening; // 0xdd8 - CEntityIOOutput m_OnUnblockedClosing; // 0xe00 - CEntityIOOutput m_OnUnblockedOpening; // 0xe28 - CEntityIOOutput m_OnFullyClosed; // 0xe50 - CEntityIOOutput m_OnFullyOpen; // 0xe78 - CEntityIOOutput m_OnClose; // 0xea0 - CEntityIOOutput m_OnOpen; // 0xec8 - CEntityIOOutput m_OnLockedUse; // 0xef0 - CEntityIOOutput m_OnAjarOpen; // 0xf18 + CHandle< CBasePropDoor > m_hMaster; // 0xda8 +private: + [[maybe_unused]] uint8_t __pad0dac[0x4]; // 0xdac +public: + CEntityIOOutput m_OnBlockedClosing; // 0xdb0 + CEntityIOOutput m_OnBlockedOpening; // 0xdd8 + CEntityIOOutput m_OnUnblockedClosing; // 0xe00 + CEntityIOOutput m_OnUnblockedOpening; // 0xe28 + CEntityIOOutput m_OnFullyClosed; // 0xe50 + CEntityIOOutput m_OnFullyOpen; // 0xe78 + CEntityIOOutput m_OnClose; // 0xea0 + CEntityIOOutput m_OnOpen; // 0xec8 + CEntityIOOutput m_OnLockedUse; // 0xef0 + CEntityIOOutput m_OnAjarOpen; // 0xf18 }; -// Aligment: 5 -// Size: 2112 -class CEnvLaser : public CBeam, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x840 +class CEnvLaser : public CBeam { public: - CUtlSymbolLarge m_iszLaserTarget; // 0x818 - CSprite* m_pSprite; // 0x820 - CUtlSymbolLarge m_iszSpriteName; // 0x828 - Vector m_firePosition; // 0x830 - float m_flStartFrame; // 0x83c + CUtlSymbolLarge m_iszLaserTarget; // 0x818 + CSprite* m_pSprite; // 0x820 + CUtlSymbolLarge m_iszSpriteName; // 0x828 + Vector m_firePosition; // 0x830 + float m_flStartFrame; // 0x83c }; -// Aligment: 24 -// Size: 2608 -class CFish : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 24 +// Size: 0xa30 +class CFish : public CBaseAnimating { public: - CHandle< CFishPool > m_pool; // 0x958 - uint32_t m_id; // 0x95c + CHandle< CFishPool > m_pool; // 0x958 + uint32_t m_id; // 0x95c // MNetworkEnable // MNetworkSerializer "fish_pos_x" - float m_x; // 0x960 + float m_x; // 0x960 // MNetworkEnable // MNetworkSerializer "fish_pos_y" - float m_y; // 0x964 + float m_y; // 0x964 // MNetworkEnable // MNetworkSerializer "fish_pos_z" - float m_z; // 0x968 + float m_z; // 0x968 // MNetworkEnable // MNetworkSerializer "angle_normalize_positive" // MNetworkBitCount "7" // MNetworkMinValue "0" // MNetworkMaxValue "360" // MNetworkEncodeFlags - float m_angle; // 0x96c - float m_angleChange; // 0x970 - Vector m_forward; // 0x974 - Vector m_perp; // 0x980 + float m_angle; // 0x96c + float m_angleChange; // 0x970 + Vector m_forward; // 0x974 + Vector m_perp; // 0x980 // MNetworkEnable // MNetworkEncoder - Vector m_poolOrigin; // 0x98c + Vector m_poolOrigin; // 0x98c // MNetworkEnable - float m_waterLevel; // 0x998 - float m_speed; // 0x99c - float m_desiredSpeed; // 0x9a0 - float m_calmSpeed; // 0x9a4 - float m_panicSpeed; // 0x9a8 - float m_avoidRange; // 0x9ac - CountdownTimer m_turnTimer; // 0x9b0 - bool m_turnClockwise; // 0x9c0 - CountdownTimer m_goTimer; // 0x9c8 - CountdownTimer m_moveTimer; // 0x9d8 - CountdownTimer m_panicTimer; // 0x9e8 - CountdownTimer m_disperseTimer; // 0x9f8 - CountdownTimer m_proximityTimer; // 0xa08 - CUtlVector< CFish* > m_visible; // 0xa18 + float m_waterLevel; // 0x998 + float m_speed; // 0x99c + float m_desiredSpeed; // 0x9a0 + float m_calmSpeed; // 0x9a4 + float m_panicSpeed; // 0x9a8 + float m_avoidRange; // 0x9ac + CountdownTimer m_turnTimer; // 0x9b0 + bool m_turnClockwise; // 0x9c0 +private: + [[maybe_unused]] uint8_t __pad09c1[0x7]; // 0x9c1 +public: + CountdownTimer m_goTimer; // 0x9c8 + CountdownTimer m_moveTimer; // 0x9d8 + CountdownTimer m_panicTimer; // 0x9e8 + CountdownTimer m_disperseTimer; // 0x9f8 + CountdownTimer m_proximityTimer; // 0xa08 + CUtlVector< CFish* > m_visible; // 0xa18 }; -// Aligment: 9 -// Size: 10776 -class CFlexCycler : public CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x2a18 +class CFlexCycler : public CBaseFlex { public: - float m_flextime; // 0x9e8 - float32[2048] m_flextarget; // 0x9f0 - float m_blinktime; // 0x29f0 - float m_looktime; // 0x29f4 - Vector m_lookTarget; // 0x29f8 - float m_speaktime; // 0x2a04 - int32_t m_istalking; // 0x2a08 - int32_t m_phoneme; // 0x2a0c - HSequence m_hCurrLayerSequence; // 0x2a10 + float m_flextime; // 0x9e8 +private: + [[maybe_unused]] uint8_t __pad09ec[0x4]; // 0x9ec +public: + float m_flextarget[2048]; // 0x9f0 + float m_blinktime; // 0x29f0 + float m_looktime; // 0x29f4 + Vector m_lookTarget; // 0x29f8 + float m_speaktime; // 0x2a04 + int32_t m_istalking; // 0x2a08 + int32_t m_phoneme; // 0x2a0c + HSequence m_hCurrLayerSequence; // 0x2a10 }; -// Aligment: 9 -// Size: 10848 -class CGenericFlexCycler : public CFlexCycler, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 9 +// Size: 0x2a60 +class CGenericFlexCycler : public CFlexCycler { public: // MNetworkEnable - int32_t m_nTestMode; // 0x2a20 - int32_t m_nTestIndex; // 0x2a24 - CUtlSymbolLarge m_poseParameterName; // 0x2a28 - bool m_bDoClientSideAnimation; // 0x2a30 - CUtlSymbolLarge[2] m_layerSequence; // 0x2a38 - int32[2] m_nLayerIndex; // 0x2a48 - HSequence[2] m_hBaseSequence; // 0x2a50 - int32_t m_nBoneOverrideIndex; // 0x2a58 - float m_flLastSimTime; // 0x2a5c + int32_t m_nTestMode; // 0x2a20 + int32_t m_nTestIndex; // 0x2a24 + CUtlSymbolLarge m_poseParameterName; // 0x2a28 + bool m_bDoClientSideAnimation; // 0x2a30 +private: + [[maybe_unused]] uint8_t __pad2a31[0x7]; // 0x2a31 +public: + CUtlSymbolLarge m_layerSequence[2]; // 0x2a38 + int32_t m_nLayerIndex[2]; // 0x2a48 + HSequence m_hBaseSequence[2]; // 0x2a50 + int32_t m_nBoneOverrideIndex; // 0x2a58 + float m_flLastSimTime; // 0x2a5c }; -// Aligment: 8 -// Size: 2608 -class CItem : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0xa30 +class CItem : public CBaseAnimating { public: - CEntityIOOutput m_OnPlayerTouch; // 0x960 - bool m_bActivateWhenAtRest; // 0x988 - CEntityIOOutput m_OnCacheInteraction; // 0x990 - CEntityIOOutput m_OnPlayerPickup; // 0x9b8 - CEntityIOOutput m_OnGlovePulled; // 0x9e0 - Vector m_vOriginalSpawnOrigin; // 0xa08 - QAngle m_vOriginalSpawnAngles; // 0xa14 - bool m_bPhysStartAsleep; // 0xa20 + CEntityIOOutput m_OnPlayerTouch; // 0x960 + bool m_bActivateWhenAtRest; // 0x988 +private: + [[maybe_unused]] uint8_t __pad0989[0x7]; // 0x989 +public: + CEntityIOOutput m_OnCacheInteraction; // 0x990 + CEntityIOOutput m_OnPlayerPickup; // 0x9b8 + CEntityIOOutput m_OnGlovePulled; // 0x9e0 + Vector m_vOriginalSpawnOrigin; // 0xa08 + QAngle m_vOriginalSpawnAngles; // 0xa14 + bool m_bPhysStartAsleep; // 0xa20 }; -// Aligment: 14 -// Size: 2744 -class CPhysicsCannister : public CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0xab8 +class CPhysicsCannister : public CBaseFlex { public: - Vector m_thrustOrigin; // 0x9f0 - CThrustController m_thruster; // 0xa00 - bool m_active; // 0xa30 - float m_thrustDuration; // 0xa34 - float m_damage; // 0xa38 - float m_damageRadius; // 0xa3c - float m_activateTime; // 0xa40 - CUtlSymbolLarge m_gasSound; // 0xa48 - bool m_bFired; // 0xa50 - CEntityIOOutput m_onActivate; // 0xa58 - CEntityIOOutput m_OnAwakened; // 0xa80 - CHandle< CBasePlayer > m_hPhysicsAttacker; // 0xaa8 - float m_flLastPhysicsInfluenceTime; // 0xaac - CHandle< CBaseEntity > m_hLauncher; // 0xab0 + Vector m_thrustOrigin; // 0x9f0 +private: + [[maybe_unused]] uint8_t __pad09fc[0x4]; // 0x9fc +public: + CThrustController m_thruster; // 0xa00 +private: + [[maybe_unused]] uint8_t __pad0a28[0x8]; // 0xa28 +public: + bool m_active; // 0xa30 +private: + [[maybe_unused]] uint8_t __pad0a31[0x3]; // 0xa31 +public: + float m_thrustDuration; // 0xa34 + float m_damage; // 0xa38 + float m_damageRadius; // 0xa3c + float m_activateTime; // 0xa40 +private: + [[maybe_unused]] uint8_t __pad0a44[0x4]; // 0xa44 +public: + CUtlSymbolLarge m_gasSound; // 0xa48 + bool m_bFired; // 0xa50 +private: + [[maybe_unused]] uint8_t __pad0a51[0x7]; // 0xa51 +public: + CEntityIOOutput m_onActivate; // 0xa58 + CEntityIOOutput m_OnAwakened; // 0xa80 + CHandle< CBasePlayer > m_hPhysicsAttacker; // 0xaa8 + float m_flLastPhysicsInfluenceTime; // 0xaac + CHandle< CBaseEntity > m_hLauncher; // 0xab0 }; -// Aligment: 28 -// Size: 2808 -class CRagdollProp : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 28 +// Size: 0xaf8 +class CRagdollProp : public CBaseAnimating { public: - ragdoll_t m_ragdoll; // 0x960 - bool m_bStartDisabled; // 0x998 + ragdoll_t m_ragdoll; // 0x960 + bool m_bStartDisabled; // 0x998 +private: + [[maybe_unused]] uint8_t __pad0999[0x7]; // 0x999 +public: // MNetworkEnable // MNetworkEncoder - CNetworkUtlVectorBase< Vector > m_ragPos; // 0x9a0 + CNetworkUtlVectorBase< Vector > m_ragPos; // 0x9a0 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "13" - CNetworkUtlVectorBase< QAngle > m_ragAngles; // 0x9b8 + CNetworkUtlVectorBase< QAngle > m_ragAngles; // 0x9b8 // MNetworkEnable - CHandle< CBaseEntity > m_hRagdollSource; // 0x9d0 - uint32_t m_lastUpdateTickCount; // 0x9d4 - bool m_allAsleep; // 0x9d8 - bool m_bFirstCollisionAfterLaunch; // 0x9d9 - CHandle< CBaseEntity > m_hDamageEntity; // 0x9dc - CHandle< CBaseEntity > m_hKiller; // 0x9e0 - CHandle< CBasePlayer > m_hPhysicsAttacker; // 0x9e4 - float m_flLastPhysicsInfluenceTime; // 0x9e8 - float m_flFadeOutStartTime; // 0x9ec - float m_flFadeTime; // 0x9f0 + CHandle< CBaseEntity > m_hRagdollSource; // 0x9d0 + uint32_t m_lastUpdateTickCount; // 0x9d4 + bool m_allAsleep; // 0x9d8 + bool m_bFirstCollisionAfterLaunch; // 0x9d9 +private: + [[maybe_unused]] uint8_t __pad09da[0x2]; // 0x9da +public: + CHandle< CBaseEntity > m_hDamageEntity; // 0x9dc + CHandle< CBaseEntity > m_hKiller; // 0x9e0 + CHandle< CBasePlayer > m_hPhysicsAttacker; // 0x9e4 + float m_flLastPhysicsInfluenceTime; // 0x9e8 + float m_flFadeOutStartTime; // 0x9ec + float m_flFadeTime; // 0x9f0 // MNetworkDisable - Vector m_vecLastOrigin; // 0x9f4 - float m_flAwakeTime; // 0xa00 - float m_flLastOriginChangeTime; // 0xa04 - int32_t m_nBloodColor; // 0xa08 - CUtlSymbolLarge m_strSourceClassName; // 0xa10 - bool m_bHasBeenPhysgunned; // 0xa18 - bool m_bShouldTeleportPhysics; // 0xa19 + Vector m_vecLastOrigin; // 0x9f4 + float m_flAwakeTime; // 0xa00 + float m_flLastOriginChangeTime; // 0xa04 + int32_t m_nBloodColor; // 0xa08 +private: + [[maybe_unused]] uint8_t __pad0a0c[0x4]; // 0xa0c +public: + CUtlSymbolLarge m_strSourceClassName; // 0xa10 + bool m_bHasBeenPhysgunned; // 0xa18 + bool m_bShouldTeleportPhysics; // 0xa19 +private: + [[maybe_unused]] uint8_t __pad0a1a[0x2]; // 0xa1a +public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags - float m_flBlendWeight; // 0xa1c - bool m_bDiscoverable; // 0xa20 - float m_flDefaultFadeScale; // 0xa24 - CUtlVector< Vector > m_ragdollMins; // 0xa28 - CUtlVector< Vector > m_ragdollMaxs; // 0xa40 - bool m_bShouldDeleteActivationRecord; // 0xa58 - bool m_bValidatePoweredRagdollPose; // 0xab8 + float m_flBlendWeight; // 0xa1c + bool m_bDiscoverable; // 0xa20 +private: + [[maybe_unused]] uint8_t __pad0a21[0x3]; // 0xa21 +public: + float m_flDefaultFadeScale; // 0xa24 + CUtlVector< Vector > m_ragdollMins; // 0xa28 + CUtlVector< Vector > m_ragdollMaxs; // 0xa40 + bool m_bShouldDeleteActivationRecord; // 0xa58 +private: + [[maybe_unused]] uint8_t __pad0a59[0x5f]; // 0xa59 +public: + bool m_bValidatePoweredRagdollPose; // 0xab8 }; -// Aligment: 12 -// Size: 2536 -class CPhysMagnet : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 12 +// Size: 0x9e8 +class CPhysMagnet : public CBaseAnimating { public: - CEntityIOOutput m_OnMagnetAttach; // 0x958 - CEntityIOOutput m_OnMagnetDetach; // 0x980 - float m_massScale; // 0x9a8 - float m_forceLimit; // 0x9ac - float m_torqueLimit; // 0x9b0 - CUtlVector< magnetted_objects_t > m_MagnettedEntities; // 0x9b8 - bool m_bActive; // 0x9d0 - bool m_bHasHitSomething; // 0x9d1 - float m_flTotalMass; // 0x9d4 - float m_flRadius; // 0x9d8 - float m_flNextSuckTime; // 0x9dc - int32_t m_iMaxObjectsAttached; // 0x9e0 + CEntityIOOutput m_OnMagnetAttach; // 0x958 + CEntityIOOutput m_OnMagnetDetach; // 0x980 + float m_massScale; // 0x9a8 + float m_forceLimit; // 0x9ac + float m_torqueLimit; // 0x9b0 +private: + [[maybe_unused]] uint8_t __pad09b4[0x4]; // 0x9b4 +public: + CUtlVector< magnetted_objects_t > m_MagnettedEntities; // 0x9b8 + bool m_bActive; // 0x9d0 + bool m_bHasHitSomething; // 0x9d1 +private: + [[maybe_unused]] uint8_t __pad09d2[0x2]; // 0x9d2 +public: + float m_flTotalMass; // 0x9d4 + float m_flRadius; // 0x9d8 + float m_flNextSuckTime; // 0x9dc + int32_t m_iMaxObjectsAttached; // 0x9e0 }; -// Aligment: 31 -// Size: 3320 -class CPhysicsProp : public CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 31 +// Size: 0xcf8 +class CPhysicsProp : public CBreakableProp { public: - CEntityIOOutput m_MotionEnabled; // 0xb98 - CEntityIOOutput m_OnAwakened; // 0xbc0 - CEntityIOOutput m_OnAwake; // 0xbe8 - CEntityIOOutput m_OnAsleep; // 0xc10 - CEntityIOOutput m_OnPlayerUse; // 0xc38 - CEntityIOOutput m_OnPlayerPickup; // 0xc60 - CEntityIOOutput m_OnOutOfWorld; // 0xc88 - float m_massScale; // 0xcb0 - float m_inertiaScale; // 0xcb4 - int32_t m_damageType; // 0xcb8 - int32_t m_damageToEnableMotion; // 0xcbc - float m_flForceToEnableMotion; // 0xcc0 - bool m_bThrownByPlayer; // 0xcc4 - bool m_bDroppedByPlayer; // 0xcc5 - bool m_bTouchedByPlayer; // 0xcc6 - bool m_bFirstCollisionAfterLaunch; // 0xcc7 - int32_t m_iExploitableByPlayer; // 0xcc8 - bool m_bHasBeenAwakened; // 0xccc - bool m_bIsOverrideProp; // 0xccd - float m_fNextCheckDisableMotionContactsTime; // 0xcd0 - int32_t m_iInitialGlowState; // 0xcd4 - int32_t m_nGlowRange; // 0xcd8 - int32_t m_nGlowRangeMin; // 0xcdc - Color m_glowColor; // 0xce0 - bool m_bForceNavIgnore; // 0xce4 - bool m_bForceNpcExclude; // 0xce5 - bool m_bShouldAutoConvertBackFromDebris; // 0xce6 - bool m_bMuteImpactEffects; // 0xce7 - bool m_bAcceptDamageFromHeldObjects; // 0xcec + CEntityIOOutput m_MotionEnabled; // 0xb98 + CEntityIOOutput m_OnAwakened; // 0xbc0 + CEntityIOOutput m_OnAwake; // 0xbe8 + CEntityIOOutput m_OnAsleep; // 0xc10 + CEntityIOOutput m_OnPlayerUse; // 0xc38 + CEntityIOOutput m_OnPlayerPickup; // 0xc60 + CEntityIOOutput m_OnOutOfWorld; // 0xc88 + float m_massScale; // 0xcb0 + float m_inertiaScale; // 0xcb4 + int32_t m_damageType; // 0xcb8 + int32_t m_damageToEnableMotion; // 0xcbc + float m_flForceToEnableMotion; // 0xcc0 + bool m_bThrownByPlayer; // 0xcc4 + bool m_bDroppedByPlayer; // 0xcc5 + bool m_bTouchedByPlayer; // 0xcc6 + bool m_bFirstCollisionAfterLaunch; // 0xcc7 + int32_t m_iExploitableByPlayer; // 0xcc8 + bool m_bHasBeenAwakened; // 0xccc + bool m_bIsOverrideProp; // 0xccd +private: + [[maybe_unused]] uint8_t __pad0cce[0x2]; // 0xcce +public: + float m_fNextCheckDisableMotionContactsTime; // 0xcd0 + int32_t m_iInitialGlowState; // 0xcd4 + int32_t m_nGlowRange; // 0xcd8 + int32_t m_nGlowRangeMin; // 0xcdc + Color m_glowColor; // 0xce0 + bool m_bForceNavIgnore; // 0xce4 + bool m_bForceNpcExclude; // 0xce5 + bool m_bShouldAutoConvertBackFromDebris; // 0xce6 + bool m_bMuteImpactEffects; // 0xce7 +private: + [[maybe_unused]] uint8_t __pad0ce8[0x4]; // 0xce8 +public: + bool m_bAcceptDamageFromHeldObjects; // 0xcec // MNetworkEnable - bool m_bAwake; // 0xced - int32_t m_nCollisionGroupOverride; // 0xcf0 + bool m_bAwake; // 0xced +private: + [[maybe_unused]] uint8_t __pad0cee[0x2]; // 0xcee +public: + int32_t m_nCollisionGroupOverride; // 0xcf0 }; -// Aligment: 0 -// Size: 3320 -class CPhysicsPropOverride : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xcf8 +class CPhysicsPropOverride : public CPhysicsProp { public: -// + // no members available }; -// Aligment: 5 -// Size: 3376 -class CPhysicsPropRespawnable : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0xd30 +class CPhysicsPropRespawnable : public CPhysicsProp { public: - Vector m_vOriginalSpawnOrigin; // 0xcf8 - QAngle m_vOriginalSpawnAngles; // 0xd04 - Vector m_vOriginalMins; // 0xd10 - Vector m_vOriginalMaxs; // 0xd1c - float m_flRespawnDuration; // 0xd28 + Vector m_vOriginalSpawnOrigin; // 0xcf8 + QAngle m_vOriginalSpawnAngles; // 0xd04 + Vector m_vOriginalMins; // 0xd10 + Vector m_vOriginalMaxs; // 0xd1c + float m_flRespawnDuration; // 0xd28 }; -// Aligment: 6 -// Size: 2848 -class CPropVehicle : public CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0xb20 +class CPropVehicle : public CBaseProp { public: - CFourWheelVehiclePhysics m_VehiclePhysics; // 0x9a0 - uint32_t m_nVehicleType; // 0xaf8 - CUtlSymbolLarge m_vehicleScript; // 0xb00 - Vector m_vecSmoothedVelocity; // 0xb08 - CHandle< CBasePlayer > m_hPhysicsAttacker; // 0xb14 - float m_flLastPhysicsInfluenceTime; // 0xb18 + CFourWheelVehiclePhysics m_VehiclePhysics; // 0x9a0 + uint32_t m_nVehicleType; // 0xaf8 +private: + [[maybe_unused]] uint8_t __pad0afc[0x4]; // 0xafc +public: + CUtlSymbolLarge m_vehicleScript; // 0xb00 + Vector m_vecSmoothedVelocity; // 0xb08 + CHandle< CBasePlayer > m_hPhysicsAttacker; // 0xb14 + float m_flLastPhysicsInfluenceTime; // 0xb18 }; -// Aligment: 27 -// Size: 3192 -class CPropVehicleDriveable : public CPropVehicle, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 27 +// Size: 0xc78 +class CPropVehicleDriveable : public CPropVehicle { public: - CFourWheelServerVehicle* m_pServerVehicle; // 0xb30 - CEntityIOOutput m_playerOn; // 0xb38 - CEntityIOOutput m_playerOff; // 0xb60 - CEntityIOOutput m_pressedAttack; // 0xb88 - CEntityIOOutput m_pressedAttack2; // 0xbb0 - CEntityOutputTemplate< float32 > m_attackaxis; // 0xbd8 - CEntityOutputTemplate< float32 > m_attack2axis; // 0xc00 + CFourWheelServerVehicle* m_pServerVehicle; // 0xb30 + CEntityIOOutput m_playerOn; // 0xb38 + CEntityIOOutput m_playerOff; // 0xb60 + CEntityIOOutput m_pressedAttack; // 0xb88 + CEntityIOOutput m_pressedAttack2; // 0xbb0 + CEntityOutputTemplate< float32 > m_attackaxis; // 0xbd8 + CEntityOutputTemplate< float32 > m_attack2axis; // 0xc00 // MNetworkEnable - CHandle< CBasePlayer > m_hPlayer; // 0xc28 + CHandle< CBasePlayer > m_hPlayer; // 0xc28 // MNetworkEnable - int32_t m_nSpeed; // 0xc2c + int32_t m_nSpeed; // 0xc2c // MNetworkEnable - int16_t m_nRPM; // 0xc30 + int16_t m_nRPM; // 0xc30 +private: + [[maybe_unused]] uint8_t __pad0c32[0x2]; // 0xc32 +public: // MNetworkEnable - float m_flThrottle; // 0xc34 + float m_flThrottle; // 0xc34 // MNetworkEnable - int32_t m_nBoostTimeLeft; // 0xc38 + int32_t m_nBoostTimeLeft; // 0xc38 // MNetworkEnable - bool m_bHasBoost; // 0xc3c + bool m_bHasBoost; // 0xc3c +private: + [[maybe_unused]] uint8_t __pad0c3d[0x3]; // 0xc3d +public: // MNetworkEnable // MNetworkEncoder - Vector m_vecEyeExitEndpoint; // 0xc40 + Vector m_vecEyeExitEndpoint; // 0xc40 // MNetworkEnable // MNetworkEncoder - Vector m_vecGunCrosshair; // 0xc4c + Vector m_vecGunCrosshair; // 0xc4c // MNetworkEnable - bool m_bUnableToFire; // 0xc58 + bool m_bUnableToFire; // 0xc58 // MNetworkEnable - bool m_bHasGun; // 0xc59 + bool m_bHasGun; // 0xc59 // MNetworkEnable - bool m_nScannerDisabledWeapons; // 0xc5a + bool m_nScannerDisabledWeapons; // 0xc5a // MNetworkEnable - bool m_nScannerDisabledVehicle; // 0xc5b - CHandle< CBaseEntity > m_hKeepUpright; // 0xc60 - bool m_bEngineLocked; // 0xc64 - bool m_bLocked; // 0xc65 - float m_flMinimumSpeedToEnterExit; // 0xc68 + bool m_nScannerDisabledVehicle; // 0xc5b +private: + [[maybe_unused]] uint8_t __pad0c5c[0x4]; // 0xc5c +public: + CHandle< CBaseEntity > m_hKeepUpright; // 0xc60 + bool m_bEngineLocked; // 0xc64 + bool m_bLocked; // 0xc65 +private: + [[maybe_unused]] uint8_t __pad0c66[0x2]; // 0xc66 +public: + float m_flMinimumSpeedToEnterExit; // 0xc68 // MNetworkEnable - bool m_bEnterAnimOn; // 0xc6c + bool m_bEnterAnimOn; // 0xc6c // MNetworkEnable - bool m_bExitAnimOn; // 0xc6d - float m_flTurnOffKeepUpright; // 0xc70 - float m_flNoImpactDamageTime; // 0xc74 + bool m_bExitAnimOn; // 0xc6d +private: + [[maybe_unused]] uint8_t __pad0c6e[0x2]; // 0xc6e +public: + float m_flTurnOffKeepUpright; // 0xc70 + float m_flNoImpactDamageTime; // 0xc74 }; -// Aligment: 0 -// Size: 2392 -class CWaterBullet : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x958 +class CWaterBullet : public CBaseAnimating { public: -// + // no members available }; -// Aligment: 14 -// Size: 2704 -class CBaseGrenade : public CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0xa90 +class CBaseGrenade : public CBaseFlex { public: - CEntityIOOutput m_OnPlayerPickup; // 0x9f0 - CEntityIOOutput m_OnExplode; // 0xa18 - bool m_bHasWarnedAI; // 0xa40 - bool m_bIsSmokeGrenade; // 0xa41 + CEntityIOOutput m_OnPlayerPickup; // 0x9f0 + CEntityIOOutput m_OnExplode; // 0xa18 + bool m_bHasWarnedAI; // 0xa40 + bool m_bIsSmokeGrenade; // 0xa41 // MNetworkEnable - bool m_bIsLive; // 0xa42 + bool m_bIsLive; // 0xa42 +private: + [[maybe_unused]] uint8_t __pad0a43[0x1]; // 0xa43 +public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "1024" // MNetworkEncodeFlags - float m_DmgRadius; // 0xa44 + float m_DmgRadius; // 0xa44 // MNetworkEnable - float m_flDetonateTime; // 0xa48 - float m_flWarnAITime; // 0xa4c + float m_flDetonateTime; // 0xa48 + float m_flWarnAITime; // 0xa4c // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags - float m_flDamage; // 0xa50 - CUtlSymbolLarge m_iszBounceSound; // 0xa58 - CUtlString m_ExplosionSound; // 0xa60 + float m_flDamage; // 0xa50 +private: + [[maybe_unused]] uint8_t __pad0a54[0x4]; // 0xa54 +public: + CUtlSymbolLarge m_iszBounceSound; // 0xa58 + CUtlString m_ExplosionSound; // 0xa60 +private: + [[maybe_unused]] uint8_t __pad0a68[0x4]; // 0xa68 +public: // MNetworkEnable - CHandle< CBaseEntity > m_hThrower; // 0xa6c - float m_flNextAttack; // 0xa88 - CHandle< CBaseEntity > m_hOriginalThrower; // 0xa8c + CHandle< CBaseEntity > m_hThrower; // 0xa6c +private: + [[maybe_unused]] uint8_t __pad0a70[0x18]; // 0xa70 +public: + float m_flNextAttack; // 0xa88 + CHandle< CBaseEntity > m_hOriginalThrower; // 0xa8c }; -// Aligment: 3 -// Size: 3424 -class CShatterGlassShardPhysics : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0xd60 +class CShatterGlassShardPhysics : public CPhysicsProp { public: - bool m_bDebris; // 0xcf8 - uint32_t m_hParentShard; // 0xcfc + bool m_bDebris; // 0xcf8 +private: + [[maybe_unused]] uint8_t __pad0cf9[0x3]; // 0xcf9 +public: + uint32_t m_hParentShard; // 0xcfc // MNetworkEnable - shard_model_desc_t m_ShardDesc; // 0xd00 + shard_model_desc_t m_ShardDesc; // 0xd00 }; -// Aligment: 5 -// Size: 2424 -class CNPCAbilityModel : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x978 +class CNPCAbilityModel : public CBaseAnimating { public: - bool m_bDropped; // 0x960 - float m_flUnlockTime; // 0x964 - CHandle< CBaseEntity > m_hLocker; // 0x968 - CUtlStringToken m_nPrimaryAbilityID; // 0x96c - CUtlVector< CUtlStringToken >* m_pVecSecondaryAbilityIDs; // 0x970 + bool m_bDropped; // 0x960 +private: + [[maybe_unused]] uint8_t __pad0961[0x3]; // 0x961 +public: + float m_flUnlockTime; // 0x964 + CHandle< CBaseEntity > m_hLocker; // 0x968 + CUtlStringToken m_nPrimaryAbilityID; // 0x96c + CUtlVector< CUtlStringToken >* m_pVecSecondaryAbilityIDs; // 0x970 }; -// Aligment: 4 -// Size: 2520 -class CPropAnimatingBreakable : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x9d8 +class CPropAnimatingBreakable : public CBaseAnimating { public: - int32_t m_nCurrentBreakStage; // 0x958 - CEntityIOOutput m_OnTakeDamage; // 0x960 - CEntityIOOutput m_OnFinalBreak; // 0x988 - CEntityIOOutput m_OnStageAdvanced; // 0x9b0 + int32_t m_nCurrentBreakStage; // 0x958 +private: + [[maybe_unused]] uint8_t __pad095c[0x4]; // 0x95c +public: + CEntityIOOutput m_OnTakeDamage; // 0x960 + CEntityIOOutput m_OnFinalBreak; // 0x988 + CEntityIOOutput m_OnStageAdvanced; // 0x9b0 }; -// Aligment: 5 -// Size: 2424 -class CSteamPal_BaseSingingEntity : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x978 +class CSteamPal_BaseSingingEntity : public CBaseAnimating { public: - char m_cCurNote; // 0x960 - float m_flTimeNotePlayed; // 0x964 - int32_t m_nSequenceTrack; // 0x968 - bool m_bIsRegistered; // 0x96c - float m_flWingLastNotePct; // 0x970 + char m_cCurNote; // 0x960 +private: + [[maybe_unused]] uint8_t __pad0961[0x3]; // 0x961 +public: + float m_flTimeNotePlayed; // 0x964 + int32_t m_nSequenceTrack; // 0x968 + bool m_bIsRegistered; // 0x96c +private: + [[maybe_unused]] uint8_t __pad096d[0x3]; // 0x96d +public: + float m_flWingLastNotePct; // 0x970 }; -// Aligment: 1 -// Size: 2400 -class CSteamPal_WritingSurface : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x960 +class CSteamPal_WritingSurface : public CBaseAnimating { public: // MNetworkEnable - bool m_bCanWrite; // 0x958 + bool m_bCanWrite; // 0x958 }; -// Aligment: 54 -// Size: 3920 -class CSteamPal_Turret : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 54 +// Size: 0xf50 +class CSteamPal_Turret : public CBaseAnimating { public: - AttachmentHandle_t m_hTurretLaserAttachment; // 0x958 + AttachmentHandle_t m_hTurretLaserAttachment; // 0x958 +private: + [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 +public: // MNetworkEnable - CHandle< CSteamPal_Turret_Wing >[2] m_hWings; // 0x95c + CHandle< CSteamPal_Turret_Wing > m_hWings[2]; // 0x95c // MNetworkEnable - CHandle< CSteamPal_Turret_Wing > m_hLeftWing; // 0x964 + CHandle< CSteamPal_Turret_Wing > m_hLeftWing; // 0x964 // MNetworkEnable - CHandle< CSteamPal_Turret_Wing > m_hRightWing; // 0x968 + CHandle< CSteamPal_Turret_Wing > m_hRightWing; // 0x968 // MNetworkEnable - bool m_bBeingControlled; // 0x96c + bool m_bBeingControlled; // 0x96c // MNetworkEnable - bool m_bGyroHintEnabled; // 0x96d + bool m_bGyroHintEnabled; // 0x96d +private: + [[maybe_unused]] uint8_t __pad096e[0x2]; // 0x96e +public: // MNetworkEnable - float m_flTotalGyroActiveTime; // 0x970 + float m_flTotalGyroActiveTime; // 0x970 // MNetworkEnable - float m_flTotalGyroInactiveTime; // 0x974 + float m_flTotalGyroInactiveTime; // 0x974 // MNetworkEnable - float m_flLastGyroActiveTime; // 0x978 - ParticleIndex_t m_nLaserSightFX; // 0x97c - CEntityIOOutput m_OnLeftWingButton; // 0x980 - CEntityIOOutput m_OnRightWingButton; // 0x9a8 - CEntityIOOutput m_OnAnyWingButton; // 0x9d0 - CEntityIOOutput m_OnLeftFireButton; // 0x9f8 - CEntityIOOutput m_OnRightFireButton; // 0xa20 - CEntityIOOutput m_OnAnyFireButton; // 0xa48 - CEntityIOOutput m_OnTurretExploded; // 0xa70 - CEntityIOOutput m_OnToiletControlsUsed; // 0xa98 - CEntityIOOutput m_OnPresentingRotationFinished; // 0xac0 - Vector m_vLaserSightEnd; // 0xae8 + float m_flLastGyroActiveTime; // 0x978 + ParticleIndex_t m_nLaserSightFX; // 0x97c + CEntityIOOutput m_OnLeftWingButton; // 0x980 + CEntityIOOutput m_OnRightWingButton; // 0x9a8 + CEntityIOOutput m_OnAnyWingButton; // 0x9d0 + CEntityIOOutput m_OnLeftFireButton; // 0x9f8 + CEntityIOOutput m_OnRightFireButton; // 0xa20 + CEntityIOOutput m_OnAnyFireButton; // 0xa48 + CEntityIOOutput m_OnTurretExploded; // 0xa70 + CEntityIOOutput m_OnToiletControlsUsed; // 0xa98 + CEntityIOOutput m_OnPresentingRotationFinished; // 0xac0 + Vector m_vLaserSightEnd; // 0xae8 +private: + [[maybe_unused]] uint8_t __pad0af4[0x4]; // 0xaf4 +public: // MNetworkEnable - float m_flCurrentAimX; // 0xaf8 + float m_flCurrentAimX; // 0xaf8 // MNetworkEnable - float m_flCurrentAimY; // 0xafc + float m_flCurrentAimY; // 0xafc // MNetworkEnable - CHandle< CBaseAnimating > m_hAmmoModel; // 0xb00 + CHandle< CBaseAnimating > m_hAmmoModel; // 0xb00 // MNetworkEnable - bool m_bRevertFOV; // 0xb04 + bool m_bRevertFOV; // 0xb04 +private: + [[maybe_unused]] uint8_t __pad0b05[0x3]; // 0xb05 +public: // MNetworkEnable - float m_flWingDeployAmount; // 0xb08 + float m_flWingDeployAmount; // 0xb08 // MNetworkEnable - CHandle< CSteamPalPointCamera > m_hReturnCamera; // 0xb0c - CHandle< CSteampal_Turret_Manager > m_hTurretManager; // 0xf10 - float m_flMinAimYawLimit; // 0xf14 - float m_flMaxAimYawLimit; // 0xf18 - float m_flMinAimPitchLimit; // 0xf1c - float m_flMaxAimPitchLimit; // 0xf20 - bool m_bWingAimEnabled; // 0xf24 - bool m_bHorizontalWingAimEnabled; // 0xf25 - bool m_bWingsFlipped; // 0xf26 - bool m_bTrackPadAimingEnabled; // 0xf27 - bool m_bShootingEnabled; // 0xf28 - bool m_bLaserSightEnabled; // 0xf29 - bool m_bAllowShootingWhileWingsClosed; // 0xf2a - bool m_bForceWingsOpen; // 0xf2b - bool m_bCameraBeingControlled; // 0xf2c - bool m_bShowAmmoCounter; // 0xf2d - bool m_bInfiniteAmmo; // 0xf2e - int32_t m_nAmmoRemaining; // 0xf30 - float m_flAmmoRemaining; // 0xf34 - bool m_bExploded; // 0xf38 - bool m_bShouldScaleDamageForce; // 0xf39 - float m_flAutoAimFactorX; // 0xf3c - float m_flAutoAimFactorY; // 0xf40 - bool m_bCanTakeDamage; // 0xf44 - bool m_bRestrictWingAimForPresentingTurret; // 0xf45 - bool m_bToiletControlsEnabled; // 0xf46 - bool m_bFiredThisFrame; // 0xf47 - bool m_bAutoAimAllowed; // 0xf48 - bool m_bTurretHidden; // 0xf49 + CHandle< CSteamPalPointCamera > m_hReturnCamera; // 0xb0c +private: + [[maybe_unused]] uint8_t __pad0b10[0x400]; // 0xb10 +public: + CHandle< CSteampal_Turret_Manager > m_hTurretManager; // 0xf10 + float m_flMinAimYawLimit; // 0xf14 + float m_flMaxAimYawLimit; // 0xf18 + float m_flMinAimPitchLimit; // 0xf1c + float m_flMaxAimPitchLimit; // 0xf20 + bool m_bWingAimEnabled; // 0xf24 + bool m_bHorizontalWingAimEnabled; // 0xf25 + bool m_bWingsFlipped; // 0xf26 + bool m_bTrackPadAimingEnabled; // 0xf27 + bool m_bShootingEnabled; // 0xf28 + bool m_bLaserSightEnabled; // 0xf29 + bool m_bAllowShootingWhileWingsClosed; // 0xf2a + bool m_bForceWingsOpen; // 0xf2b + bool m_bCameraBeingControlled; // 0xf2c + bool m_bShowAmmoCounter; // 0xf2d + bool m_bInfiniteAmmo; // 0xf2e +private: + [[maybe_unused]] uint8_t __pad0f2f[0x1]; // 0xf2f +public: + int32_t m_nAmmoRemaining; // 0xf30 + float m_flAmmoRemaining; // 0xf34 + bool m_bExploded; // 0xf38 + bool m_bShouldScaleDamageForce; // 0xf39 +private: + [[maybe_unused]] uint8_t __pad0f3a[0x2]; // 0xf3a +public: + float m_flAutoAimFactorX; // 0xf3c + float m_flAutoAimFactorY; // 0xf40 + bool m_bCanTakeDamage; // 0xf44 + bool m_bRestrictWingAimForPresentingTurret; // 0xf45 + bool m_bToiletControlsEnabled; // 0xf46 + bool m_bFiredThisFrame; // 0xf47 + bool m_bAutoAimAllowed; // 0xf48 + bool m_bTurretHidden; // 0xf49 }; -// Aligment: 37 -// Size: 4640 -class CSteamPal_Intro_Toilet : public CSteamPal_Turret, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 37 +// Size: 0x1220 +class CSteamPal_Intro_Toilet : public CSteamPal_Turret { public: // MNetworkEnable - float m_flLidSpeed; // 0xf50 + float m_flLidSpeed; // 0xf50 // MNetworkEnable - float m_flLidPos; // 0xf54 + float m_flLidPos; // 0xf54 // MNetworkEnable - float m_flHandleSpeed; // 0xf58 + float m_flHandleSpeed; // 0xf58 // MNetworkEnable - float m_flHandlePos; // 0xf5c + float m_flHandlePos; // 0xf5c // MNetworkEnable - float m_flBidetPlaybackSpeed; // 0xf60 + float m_flBidetPlaybackSpeed; // 0xf60 // MNetworkEnable - float m_flBidetPlaybackPos; // 0xf64 + float m_flBidetPlaybackPos; // 0xf64 // MNetworkEnable - float m_flCisternSpeed; // 0xf68 + float m_flCisternSpeed; // 0xf68 // MNetworkEnable - float m_flCisternPos; // 0xf6c + float m_flCisternPos; // 0xf6c // MNetworkEnable - int32_t m_nWaterLevel; // 0xf70 + int32_t m_nWaterLevel; // 0xf70 // MNetworkEnable - bool m_bLoadedWithBullets; // 0xf74 + bool m_bLoadedWithBullets; // 0xf74 // MNetworkEnable - bool m_bExclusiveToilet; // 0xf75 + bool m_bExclusiveToilet; // 0xf75 +private: + [[maybe_unused]] uint8_t __pad0f76[0x2]; // 0xf76 +public: // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nLidTestState; // 0xf78 + CSteamPal_Intro_Toilet::TestState_t m_nLidTestState; // 0xf78 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nFlushTestState; // 0xf7c + CSteamPal_Intro_Toilet::TestState_t m_nFlushTestState; // 0xf7c // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nBidet1TestState; // 0xf80 + CSteamPal_Intro_Toilet::TestState_t m_nBidet1TestState; // 0xf80 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nBidet2TestState; // 0xf84 + CSteamPal_Intro_Toilet::TestState_t m_nBidet2TestState; // 0xf84 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nBidet3TestState; // 0xf88 + CSteamPal_Intro_Toilet::TestState_t m_nBidet3TestState; // 0xf88 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nBidet4TestState; // 0xf8c + CSteamPal_Intro_Toilet::TestState_t m_nBidet4TestState; // 0xf8c // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nLeftArmTestState; // 0xf90 + CSteamPal_Intro_Toilet::TestState_t m_nLeftArmTestState; // 0xf90 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nRightArmTestState; // 0xf94 + CSteamPal_Intro_Toilet::TestState_t m_nRightArmTestState; // 0xf94 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nHoldWaterTestState; // 0xf98 + CSteamPal_Intro_Toilet::TestState_t m_nHoldWaterTestState; // 0xf98 // MNetworkEnable - CSteamPal_Intro_Toilet::TestState_t m_nSeatPressureTestState; // 0xf9c + CSteamPal_Intro_Toilet::TestState_t m_nSeatPressureTestState; // 0xf9c // MNetworkEnable - CHandle< CDynamicProp > m_hWaterSpout; // 0xfa0 + CHandle< CDynamicProp > m_hWaterSpout; // 0xfa0 // MNetworkEnable - CHandle< CDynamicProp > m_hPressureTester; // 0xfa4 + CHandle< CDynamicProp > m_hPressureTester; // 0xfa4 // MNetworkEnable - CHandle< CSteamPal_ToiletTestPanel > m_hTestPanel; // 0xfa8 - CEntityIOOutput m_OnTestFailed; // 0xfb0 - CEntityIOOutput m_OnTestsPassed; // 0xfd8 - CEntityIOOutput m_OnFlushButton; // 0x1000 - CEntityIOOutput m_OnBidetButton; // 0x1028 - CEntityIOOutput m_OnPressureButtonPressed; // 0x1050 - CEntityIOOutput m_OnPressureButtonReleased; // 0x1078 - CEntityIOOutput m_OnPressureTesterDown; // 0x10a0 - CEntityIOOutput m_OnLidButton; // 0x10c8 - CEntityIOOutput m_OnCisternButton; // 0x10f0 - CEntityIOOutput m_OnSpoutStartWater; // 0x1118 - CEntityIOOutput m_OnOtherButton; // 0x1140 - CEntityIOOutput m_OnHighBidetPressure; // 0x1168 - CEntityIOOutput m_OnSmokingToiletBidetCanceled; // 0x1190 + CHandle< CSteamPal_ToiletTestPanel > m_hTestPanel; // 0xfa8 +private: + [[maybe_unused]] uint8_t __pad0fac[0x4]; // 0xfac +public: + CEntityIOOutput m_OnTestFailed; // 0xfb0 + CEntityIOOutput m_OnTestsPassed; // 0xfd8 + CEntityIOOutput m_OnFlushButton; // 0x1000 + CEntityIOOutput m_OnBidetButton; // 0x1028 + CEntityIOOutput m_OnPressureButtonPressed; // 0x1050 + CEntityIOOutput m_OnPressureButtonReleased; // 0x1078 + CEntityIOOutput m_OnPressureTesterDown; // 0x10a0 + CEntityIOOutput m_OnLidButton; // 0x10c8 + CEntityIOOutput m_OnCisternButton; // 0x10f0 + CEntityIOOutput m_OnSpoutStartWater; // 0x1118 + CEntityIOOutput m_OnOtherButton; // 0x1140 + CEntityIOOutput m_OnHighBidetPressure; // 0x1168 + CEntityIOOutput m_OnSmokingToiletBidetCanceled; // 0x1190 }; -// Aligment: 34 -// Size: 4064 -class CSteamPal_ToiletTestPanel : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 34 +// Size: 0xfe0 +class CSteamPal_ToiletTestPanel : public CPhysicsProp { public: // MNetworkEnable - CHandle< CBaseModelEntity > m_hCisternDiagramLight; // 0xcf8 + CHandle< CBaseModelEntity > m_hCisternDiagramLight; // 0xcf8 // MNetworkEnable - CHandle< CBaseModelEntity > m_hFlushDiagramLight; // 0xcfc + CHandle< CBaseModelEntity > m_hFlushDiagramLight; // 0xcfc // MNetworkEnable - CHandle< CBaseModelEntity > m_hSeatPressureDiagramLight; // 0xd00 + CHandle< CBaseModelEntity > m_hSeatPressureDiagramLight; // 0xd00 // MNetworkEnable - CHandle< CBaseModelEntity > m_hBidetDiagramLight; // 0xd04 + CHandle< CBaseModelEntity > m_hBidetDiagramLight; // 0xd04 // MNetworkEnable - CHandle< CBaseModelEntity > m_hCisternTestLight; // 0xd08 + CHandle< CBaseModelEntity > m_hCisternTestLight; // 0xd08 // MNetworkEnable - CHandle< CBaseModelEntity > m_hFlushTestLight; // 0xd0c + CHandle< CBaseModelEntity > m_hFlushTestLight; // 0xd0c // MNetworkEnable - CHandle< CBaseModelEntity > m_hSeatPressureTestLight; // 0xd10 + CHandle< CBaseModelEntity > m_hSeatPressureTestLight; // 0xd10 // MNetworkEnable - CHandle< CBaseModelEntity > m_hBidetTestLight; // 0xd14 + CHandle< CBaseModelEntity > m_hBidetTestLight; // 0xd14 // MNetworkEnable - CHandle< CBaseAnimating > m_hCisternGauge; // 0xd18 + CHandle< CBaseAnimating > m_hCisternGauge; // 0xd18 // MNetworkEnable - CHandle< CBaseAnimating > m_hFlushGauge; // 0xd1c + CHandle< CBaseAnimating > m_hFlushGauge; // 0xd1c // MNetworkEnable - CHandle< CBaseAnimating > m_hSeatPressureGauge; // 0xd20 + CHandle< CBaseAnimating > m_hSeatPressureGauge; // 0xd20 // MNetworkEnable - CHandle< CBaseAnimating > m_hBidetGauge; // 0xd24 + CHandle< CBaseAnimating > m_hBidetGauge; // 0xd24 // MNetworkEnable - CHandle< CBaseModelEntity > m_hCisternFunctionLight; // 0xd28 + CHandle< CBaseModelEntity > m_hCisternFunctionLight; // 0xd28 // MNetworkEnable - CHandle< CBaseModelEntity > m_hBidetFunctionLight; // 0xd2c + CHandle< CBaseModelEntity > m_hBidetFunctionLight; // 0xd2c // MNetworkEnable - CHandle< CBaseModelEntity > m_hFlushFunctionLight; // 0xd30 + CHandle< CBaseModelEntity > m_hFlushFunctionLight; // 0xd30 // MNetworkEnable - CHandle< CBaseModelEntity > m_hSeatPressureFunctionLight; // 0xd34 + CHandle< CBaseModelEntity > m_hSeatPressureFunctionLight; // 0xd34 // MNetworkEnable - CHandle< CBaseModelEntity > m_hPassFailLight; // 0xd38 + CHandle< CBaseModelEntity > m_hPassFailLight; // 0xd38 // MNetworkEnable - CHandle< CBaseAnimating > m_hDigit0; // 0xd3c + CHandle< CBaseAnimating > m_hDigit0; // 0xd3c // MNetworkEnable - CHandle< CBaseAnimating > m_hDigit1; // 0xd40 + CHandle< CBaseAnimating > m_hDigit1; // 0xd40 // MNetworkEnable - CHandle< CBaseAnimating > m_hDigit2; // 0xd44 + CHandle< CBaseAnimating > m_hDigit2; // 0xd44 // MNetworkEnable - CHandle< CBaseAnimating > m_hDigit3; // 0xd48 + CHandle< CBaseAnimating > m_hDigit3; // 0xd48 // MNetworkEnable - CHandle< CBaseAnimating > m_hDigit4; // 0xd4c + CHandle< CBaseAnimating > m_hDigit4; // 0xd4c // MNetworkEnable - CHandle< CBaseAnimating > m_hDigit5; // 0xd50 + CHandle< CBaseAnimating > m_hDigit5; // 0xd50 // MNetworkEnable - int32_t m_nCounterValue; // 0xd54 - CEntityIOOutput m_OnTestLidPassed; // 0xdb8 - CEntityIOOutput m_OnTestCisternPassed; // 0xde0 - CEntityIOOutput m_OnTestLeftArmPassed; // 0xe08 - CEntityIOOutput m_OnTestRightArmPassed; // 0xe30 - CEntityIOOutput m_OnTestBidetPassed; // 0xe58 - CEntityIOOutput m_OnTestPressurePassed; // 0xe80 - CEntityIOOutput m_OnTestFlushPassed; // 0xea8 - CEntityIOOutput m_OnAllTestsPassed; // 0xed0 - CEntityIOOutput m_OnTestFailed; // 0xef8 - CEntityIOOutput m_OnResetPanel; // 0xf20 + int32_t m_nCounterValue; // 0xd54 +private: + [[maybe_unused]] uint8_t __pad0d58[0x60]; // 0xd58 +public: + CEntityIOOutput m_OnTestLidPassed; // 0xdb8 + CEntityIOOutput m_OnTestCisternPassed; // 0xde0 + CEntityIOOutput m_OnTestLeftArmPassed; // 0xe08 + CEntityIOOutput m_OnTestRightArmPassed; // 0xe30 + CEntityIOOutput m_OnTestBidetPassed; // 0xe58 + CEntityIOOutput m_OnTestPressurePassed; // 0xe80 + CEntityIOOutput m_OnTestFlushPassed; // 0xea8 + CEntityIOOutput m_OnAllTestsPassed; // 0xed0 + CEntityIOOutput m_OnTestFailed; // 0xef8 + CEntityIOOutput m_OnResetPanel; // 0xf20 }; -// Aligment: 4 -// Size: 2408 -class CSteamPal_Toilet : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x968 +class CSteamPal_Toilet : public CBaseAnimating { public: - AttachmentHandle_t m_hToiletBidetAttachment; // 0x958 - CEntityHandle m_hSeatHinge; // 0x95c - CEntityHandle m_hSeatCoverHinge; // 0x960 - CEntityHandle m_hCisternLidConstraint; // 0x964 + AttachmentHandle_t m_hToiletBidetAttachment; // 0x958 +private: + [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 +public: + CEntityHandle m_hSeatHinge; // 0x95c + CEntityHandle m_hSeatCoverHinge; // 0x960 + CEntityHandle m_hCisternLidConstraint; // 0x964 }; -// Aligment: 5 -// Size: 2456 -class CSteamPal_Ultra_Toilet_Rocket : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 5 +// Size: 0x998 +class CSteamPal_Ultra_Toilet_Rocket : public CBaseAnimating { public: - AttachmentHandle_t m_nTrailAttachment; // 0x958 - ParticleIndex_t m_nTrailFX; // 0x95c - Vector m_vPrevPos; // 0x960 - CHandle< CSteamPal_Ultra_Toilet_Attachment > m_hUltraAttachment; // 0x990 - bool m_bIsLastRocket; // 0x994 + AttachmentHandle_t m_nTrailAttachment; // 0x958 +private: + [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 +public: + ParticleIndex_t m_nTrailFX; // 0x95c + Vector m_vPrevPos; // 0x960 +private: + [[maybe_unused]] uint8_t __pad096c[0x24]; // 0x96c +public: + CHandle< CSteamPal_Ultra_Toilet_Attachment > m_hUltraAttachment; // 0x990 + bool m_bIsLastRocket; // 0x994 }; -// Aligment: 23 -// Size: 2872 -class CSteamPal_Ultra_Toilet_Attachment : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 23 +// Size: 0xb38 +class CSteamPal_Ultra_Toilet_Attachment : public CBaseAnimating { public: - CEntityIOOutput m_OnLastRocketExploded; // 0x958 - CHandle< CSteamPal_Ultra_Toilet > m_hUltraToilet; // 0x980 - CHandle< CPhysicsProp >[7] m_hAttachedModels; // 0x984 - CUtlString[7] m_hAttachedModelsAnimgraphParams; // 0x9a0 - SteamPal_Ultra_Toilet_Gun_t[7] m_UltraGuns; // 0x9d8 - CUtlVector< CHandle< CSteamPal_Ultra_Toilet_Rocket > > m_LeftRockets; // 0xa80 - CUtlVector< CHandle< CSteamPal_Ultra_Toilet_Rocket > > m_RightRockets; // 0xa98 - CUtlVector< int32 > m_LeftRocketPathIndexes; // 0xab0 - CUtlVector< int32 > m_RightRocketPathIndexes; // 0xac8 - int32_t m_nLeftIgnitedRocket; // 0xae0 - int32_t m_nRightIgnitedRocket; // 0xae4 - bool m_bLauncherIsBroken; // 0xae8 - CHandle< CPhysicsProp > m_hRotateRocketModel; // 0xaec - bool m_bMinigunShooting; // 0xaf0 - bool m_bMinigunWindingUp; // 0xaf1 - AttachmentHandle_t m_nSMGHingeAttachment; // 0xb18 - AttachmentHandle_t m_nRadarHingeAttachment; // 0xb28 - AttachmentHandle_t m_nRadarSpinAttachment; // 0xb29 - AttachmentHandle_t m_nRadarMuzzleAttachment; // 0xb2a - float m_flRadarPitch; // 0xb2c - bool m_bUltraHidden; // 0xb30 - bool m_bReadyToControl; // 0xb31 - int32_t m_nCurrentExplodeStage; // 0xb34 + CEntityIOOutput m_OnLastRocketExploded; // 0x958 + CHandle< CSteamPal_Ultra_Toilet > m_hUltraToilet; // 0x980 + CHandle< CPhysicsProp > m_hAttachedModels[7]; // 0x984 + CUtlString m_hAttachedModelsAnimgraphParams[7]; // 0x9a0 + SteamPal_Ultra_Toilet_Gun_t m_UltraGuns[7]; // 0x9d8 + CUtlVector< CHandle< CSteamPal_Ultra_Toilet_Rocket > > m_LeftRockets; // 0xa80 + CUtlVector< CHandle< CSteamPal_Ultra_Toilet_Rocket > > m_RightRockets; // 0xa98 + CUtlVector< int32 > m_LeftRocketPathIndexes; // 0xab0 + CUtlVector< int32 > m_RightRocketPathIndexes; // 0xac8 + int32_t m_nLeftIgnitedRocket; // 0xae0 + int32_t m_nRightIgnitedRocket; // 0xae4 + bool m_bLauncherIsBroken; // 0xae8 +private: + [[maybe_unused]] uint8_t __pad0ae9[0x3]; // 0xae9 +public: + CHandle< CPhysicsProp > m_hRotateRocketModel; // 0xaec + bool m_bMinigunShooting; // 0xaf0 + bool m_bMinigunWindingUp; // 0xaf1 +private: + [[maybe_unused]] uint8_t __pad0af2[0x26]; // 0xaf2 +public: + AttachmentHandle_t m_nSMGHingeAttachment; // 0xb18 +private: + [[maybe_unused]] uint8_t __pad0b19[0xf]; // 0xb19 +public: + AttachmentHandle_t m_nRadarHingeAttachment; // 0xb28 + AttachmentHandle_t m_nRadarSpinAttachment; // 0xb29 + AttachmentHandle_t m_nRadarMuzzleAttachment; // 0xb2a +private: + [[maybe_unused]] uint8_t __pad0b2b[0x1]; // 0xb2b +public: + float m_flRadarPitch; // 0xb2c + bool m_bUltraHidden; // 0xb30 + bool m_bReadyToControl; // 0xb31 +private: + [[maybe_unused]] uint8_t __pad0b32[0x2]; // 0xb32 +public: + int32_t m_nCurrentExplodeStage; // 0xb34 }; -// Aligment: 6 -// Size: 4088 -class CSteamPal_Ultra_Toilet : public CSteamPal_Turret, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0xff8 +class CSteamPal_Ultra_Toilet : public CSteamPal_Turret { public: - CEntityIOOutput m_OnUltraIntroStart; // 0xf50 - CEntityIOOutput m_OnUltraIntroEnd; // 0xf78 - CEntityIOOutput m_OnUltraRotationEnd; // 0xfa0 - CEntityIOOutput m_OnUltraTurretShoot; // 0xfc8 - float m_flPrevThinkTime; // 0xff0 - CHandle< CSteamPal_Ultra_Toilet_Attachment > m_hUltraAttachment; // 0xff4 + CEntityIOOutput m_OnUltraIntroStart; // 0xf50 + CEntityIOOutput m_OnUltraIntroEnd; // 0xf78 + CEntityIOOutput m_OnUltraRotationEnd; // 0xfa0 + CEntityIOOutput m_OnUltraTurretShoot; // 0xfc8 + float m_flPrevThinkTime; // 0xff0 + CHandle< CSteamPal_Ultra_Toilet_Attachment > m_hUltraAttachment; // 0xff4 }; -// Aligment: 0 -// Size: 2392 -class CSteamPal_Trackball : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x958 +class CSteamPal_Trackball : public CBaseAnimating { public: -// + // no members available }; -// Aligment: 0 -// Size: 2392 -class CSteamPal_TouchScreen : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x958 +class CSteamPal_TouchScreen : public CBaseAnimating { public: -// + // no members available }; -// Aligment: 20 -// Size: 3696 -class CSteamPal_Desk : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 20 +// Size: 0xe70 +class CSteamPal_Desk : public CBaseAnimating { public: // MNetworkEnable - bool m_bInputEnabled; // 0x958 - float m_flStickDeployAmount; // 0x95c - float m_flStickDeployVelocity; // 0x960 - int32_t m_nDeskState; // 0x964 - bool m_bDiscoveryModeComplete; // 0x968 - bool m_bDeskHidden; // 0x969 - CEntityIOOutput m_OnAButton; // 0xc38 - CEntityIOOutput m_OnBButton; // 0xc60 - CEntityIOOutput m_OnXButton; // 0xc88 - CEntityIOOutput m_OnYButton; // 0xcb0 - CEntityIOOutput m_OnL4Button; // 0xcd8 - CEntityIOOutput m_OnL5Button; // 0xd00 - CEntityIOOutput m_OnR4Button; // 0xd28 - CEntityIOOutput m_OnR5Button; // 0xd50 - CEntityIOOutput m_OnL4ButtonReleased; // 0xd78 - CEntityIOOutput m_OnL5ButtonReleased; // 0xda0 - CEntityIOOutput m_OnR4ButtonReleased; // 0xdc8 - CEntityIOOutput m_OnR5ButtonReleased; // 0xdf0 - CEntityIOOutput m_OnHamburgerButton; // 0xe18 - CEntityIOOutput m_OnShowPaddles; // 0xe40 + bool m_bInputEnabled; // 0x958 +private: + [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 +public: + float m_flStickDeployAmount; // 0x95c + float m_flStickDeployVelocity; // 0x960 + int32_t m_nDeskState; // 0x964 + bool m_bDiscoveryModeComplete; // 0x968 + bool m_bDeskHidden; // 0x969 +private: + [[maybe_unused]] uint8_t __pad096a[0x2ce]; // 0x96a +public: + CEntityIOOutput m_OnAButton; // 0xc38 + CEntityIOOutput m_OnBButton; // 0xc60 + CEntityIOOutput m_OnXButton; // 0xc88 + CEntityIOOutput m_OnYButton; // 0xcb0 + CEntityIOOutput m_OnL4Button; // 0xcd8 + CEntityIOOutput m_OnL5Button; // 0xd00 + CEntityIOOutput m_OnR4Button; // 0xd28 + CEntityIOOutput m_OnR5Button; // 0xd50 + CEntityIOOutput m_OnL4ButtonReleased; // 0xd78 + CEntityIOOutput m_OnL5ButtonReleased; // 0xda0 + CEntityIOOutput m_OnR4ButtonReleased; // 0xdc8 + CEntityIOOutput m_OnR5ButtonReleased; // 0xdf0 + CEntityIOOutput m_OnHamburgerButton; // 0xe18 + CEntityIOOutput m_OnShowPaddles; // 0xe40 }; -// Aligment: 6 -// Size: 3368 -class CSteamPal_PaintableProp : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0xd28 +class CSteamPal_PaintableProp : public CPhysicsProp { public: - CUtlSymbolLarge m_iszSoundName; // 0xcf8 - CUtlSymbolLarge m_iszAscentSoundName; // 0xd00 - CUtlSymbolLarge m_iszGallerySoundName; // 0xd08 - bool m_bAlwaysAnimate; // 0xd18 - SteamPalPaintType m_PaintType; // 0xd1c + CUtlSymbolLarge m_iszSoundName; // 0xcf8 + CUtlSymbolLarge m_iszAscentSoundName; // 0xd00 + CUtlSymbolLarge m_iszGallerySoundName; // 0xd08 +private: + [[maybe_unused]] uint8_t __pad0d10[0x8]; // 0xd10 +public: + bool m_bAlwaysAnimate; // 0xd18 +private: + [[maybe_unused]] uint8_t __pad0d19[0x3]; // 0xd19 +public: + SteamPalPaintType m_PaintType; // 0xd1c // MNetworkEnable - bool m_bShouldSetPicture; // 0xd20 + bool m_bShouldSetPicture; // 0xd20 }; -// Aligment: 2 -// Size: 3376 -class CSteamPal_Toaster : public CSteamPal_PaintableProp, CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0xd30 +class CSteamPal_Toaster : public CSteamPal_PaintableProp { public: - CHandle< CPhysicsProp > m_hPropToLaunch; // 0xd28 - AttachmentHandle_t m_hLauncherAttachment; // 0xd2c + CHandle< CPhysicsProp > m_hPropToLaunch; // 0xd28 + AttachmentHandle_t m_hLauncherAttachment; // 0xd2c }; -// Aligment: 3 -// Size: 3408 -class CSteamPal_TouchTarget : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0xd50 +class CSteamPal_TouchTarget : public CPhysicsProp { public: - CEntityIOOutput m_OnStartTouch; // 0xcf8 - CEntityIOOutput m_OnEndTouch; // 0xd20 - bool m_bPlayerIsTouching; // 0xd48 + CEntityIOOutput m_OnStartTouch; // 0xcf8 + CEntityIOOutput m_OnEndTouch; // 0xd20 + bool m_bPlayerIsTouching; // 0xd48 }; -// Aligment: 4 -// Size: 2416 -class CSteamPal_Projectile_Tag_Dart : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x970 +class CSteamPal_Projectile_Tag_Dart : public CBaseAnimating { public: - bool m_bLaunched; // 0x958 - ParticleIndex_t m_nAttachedParticle; // 0x95c - Vector m_vTouchPos; // 0x960 - CHandle< CBaseEntity > m_hWeapon; // 0x96c + bool m_bLaunched; // 0x958 +private: + [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 +public: + ParticleIndex_t m_nAttachedParticle; // 0x95c + Vector m_vTouchPos; // 0x960 + CHandle< CBaseEntity > m_hWeapon; // 0x96c }; -// Aligment: 0 -// Size: 3320 -class CNPCApplianceProjectile : public CPhysicsProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xcf8 +class CNPCApplianceProjectile : public CPhysicsProp { public: -// + // no members available }; -// Aligment: 1 -// Size: 10784 -class CFlexExpresserShim : public CFlexCycler, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x2a20 +class CFlexExpresserShim : public CFlexCycler { public: - CAI_Expresser* m_pExpresser; // 0x2a18 + CAI_Expresser* m_pExpresser; // 0x2a18 }; -// Aligment: 1 -// Size: 10800 -class CFlexExpresser : public CFlexExpresserShim, CFlexCycler, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x2a30 +class CFlexExpresser : public CFlexExpresserShim { public: - float m_flThenAnyMaxDist; // 0x2a28 + float m_flThenAnyMaxDist; // 0x2a28 }; -// Aligment: 19 -// Size: 3352 -class CDevtestHierarchy : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 19 +// Size: 0xd18 +class CDevtestHierarchy : public CDynamicProp { public: - Vector m_vRotationAxis; // 0xcb0 - float m_flRotationSpeed; // 0xcbc + Vector m_vRotationAxis; // 0xcb0 + float m_flRotationSpeed; // 0xcbc // MNetworkEnable - int32_t m_nTestMode; // 0xcc0 - CHandle< CBaseEntity > m_hChild; // 0xcc4 + int32_t m_nTestMode; // 0xcc0 + CHandle< CBaseEntity > m_hChild; // 0xcc4 // MNetworkEnable - CUtlStringToken m_attachName; // 0xcc8 + CUtlStringToken m_attachName; // 0xcc8 // MNetworkEnable - Vector m_vDynamicAttachOffset; // 0xccc + Vector m_vDynamicAttachOffset; // 0xccc // MNetworkEnable - int32_t m_nDynamicResetCount; // 0xcd8 - int32_t m_nDynamicDetachCount; // 0xcdc + int32_t m_nDynamicResetCount; // 0xcd8 + int32_t m_nDynamicDetachCount; // 0xcdc // MNetworkEnable - bool m_bChildIsDynamic; // 0xce0 + bool m_bChildIsDynamic; // 0xce0 // MNetworkEnable - bool m_bCreateChildSideChild; // 0xce1 + bool m_bCreateChildSideChild; // 0xce1 +private: + [[maybe_unused]] uint8_t __pad0ce2[0x2]; // 0xce2 +public: // MNetworkEnable - CUtlStringToken m_alternateAttachName; // 0xce4 - CHandle< CBaseEntity > m_hAlternateParent; // 0xce8 - CStrongHandle< InfoForResourceTypeCModel > m_hAlternateModel; // 0xcf0 - CStrongHandle< InfoForResourceTypeCModel > m_hOriginalModel; // 0xcf8 + CUtlStringToken m_alternateAttachName; // 0xce4 + CHandle< CBaseEntity > m_hAlternateParent; // 0xce8 +private: + [[maybe_unused]] uint8_t __pad0cec[0x4]; // 0xcec +public: + CStrongHandle< InfoForResourceTypeCModel > m_hAlternateModel; // 0xcf0 + CStrongHandle< InfoForResourceTypeCModel > m_hOriginalModel; // 0xcf8 // MNetworkEnable - CStrongHandle< InfoForResourceTypeCModel > m_hClientSideChildModel; // 0xd00 + CStrongHandle< InfoForResourceTypeCModel > m_hClientSideChildModel; // 0xd00 // MNetworkEnable - float m_flEntityStartTime; // 0xd08 - int32_t m_nTestIndex; // 0xd0c - HierarchyType_t m_nCurrType; // 0xd10 - int32_t m_nCurrentModel; // 0xd14 + float m_flEntityStartTime; // 0xd08 + int32_t m_nTestIndex; // 0xd0c + HierarchyType_t m_nCurrType; // 0xd10 + int32_t m_nCurrentModel; // 0xd14 }; -// Aligment: 0 -// Size: 3248 -class CDevtestHierarchyChild : public CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xcb0 +class CDevtestHierarchyChild : public CDynamicProp { public: -// + // no members available }; -// Aligment: 0 -// Size: 2392 -class CDevtestHierarchy2 : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x958 +class CDevtestHierarchy2 : public CBaseAnimating { public: -// + // no members available }; -// Aligment: 8 -// Size: 2464 -class CBasePlayerWeapon : public CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x9a0 +class CBasePlayerWeapon : public CBaseAnimating { public: // MNetworkEnable - WeaponState_t m_iState; // 0x958 - bool m_bRemoveable; // 0x95c + WeaponState_t m_iState; // 0x958 + bool m_bRemoveable; // 0x95c +private: + [[maybe_unused]] uint8_t __pad095d[0x3]; // 0x95d +public: // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextPrimaryAttack; // 0x960 + float m_flNextPrimaryAttack; // 0x960 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - float m_flNextSecondaryAttack; // 0x964 + float m_flNextSecondaryAttack; // 0x964 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkPriority "32" - int32_t m_iClip1; // 0x968 + int32_t m_iClip1; // 0x968 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkUserGroup "LocalWeaponExclusive" - int32_t m_iClip2; // 0x96c + int32_t m_iClip2; // 0x96c // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" - int32[2] m_pReserveAmmo; // 0x970 - CEntityIOOutput m_OnPlayerUse; // 0x978 + int32_t m_pReserveAmmo[2]; // 0x970 + CEntityIOOutput m_OnPlayerUse; // 0x978 }; -// Aligment: 0 -// Size: 2536 -class CBaseFlexAlias_funCBaseFlex : public CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x9e8 +class CBaseFlexAlias_funCBaseFlex : public CBaseFlex { public: -// + // no members available }; -// Aligment: 0 -// Size: 10848 -class CGenericFlexCyclerAlias_cycler : public CGenericFlexCycler, CFlexCycler, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x2a60 +class CGenericFlexCyclerAlias_cycler : public CGenericFlexCycler { public: -// + // no members available }; -// Aligment: 2 -// Size: 2656 -class CScriptItem : public CItem, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0xa60 +class CScriptItem : public CItem { public: - CEntityIOOutput m_OnPlayerPickup; // 0xa30 - MoveType_t m_MoveTypeOverride; // 0xa58 + CEntityIOOutput m_OnPlayerPickup; // 0xa30 + MoveType_t m_MoveTypeOverride; // 0xa58 }; -// Aligment: 0 -// Size: 2808 -class CRagdollPropAlias_physics_prop_ragdoll : public CRagdollProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0xaf8 +class CRagdollPropAlias_physics_prop_ragdoll : public CRagdollProp { public: -// + // no members available }; -// Aligment: 6 -// Size: 2872 -class CRagdollPropAttached : public CRagdollProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0xb38 +class CRagdollPropAttached : public CRagdollProp { public: // MNetworkEnable - uint32_t m_boneIndexAttached; // 0xaf8 + uint32_t m_boneIndexAttached; // 0xaf8 // MNetworkEnable - uint32_t m_ragdollAttachedObjectIndex; // 0xafc + uint32_t m_ragdollAttachedObjectIndex; // 0xafc // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointBoneSpace; // 0xb00 + Vector m_attachmentPointBoneSpace; // 0xb00 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointRagdollSpace; // 0xb0c - bool m_bShouldDetach; // 0xb18 - bool m_bShouldDeleteAttachedActivationRecord; // 0xb28 + Vector m_attachmentPointRagdollSpace; // 0xb0c + bool m_bShouldDetach; // 0xb18 +private: + [[maybe_unused]] uint8_t __pad0b19[0xf]; // 0xb19 +public: + bool m_bShouldDeleteAttachedActivationRecord; // 0xb28 }; -// Aligment: 16 -// Size: 4048 -class CPropDoorRotating : public CBasePropDoor, CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 16 +// Size: 0xfd0 +class CPropDoorRotating : public CBasePropDoor { public: - Vector m_vecAxis; // 0xf40 - float m_flDistance; // 0xf4c - PropDoorRotatingSpawnPos_t m_eSpawnPosition; // 0xf50 - PropDoorRotatingOpenDirection_e m_eOpenDirection; // 0xf54 - PropDoorRotatingOpenDirection_e m_eCurrentOpenDirection; // 0xf58 - float m_flAjarAngle; // 0xf5c - QAngle m_angRotationAjarDeprecated; // 0xf60 - QAngle m_angRotationClosed; // 0xf6c - QAngle m_angRotationOpenForward; // 0xf78 - QAngle m_angRotationOpenBack; // 0xf84 - QAngle m_angGoal; // 0xf90 - Vector m_vecForwardBoundsMin; // 0xf9c - Vector m_vecForwardBoundsMax; // 0xfa8 - Vector m_vecBackBoundsMin; // 0xfb4 - Vector m_vecBackBoundsMax; // 0xfc0 - CHandle< CEntityBlocker > m_hEntityBlocker; // 0xfcc + Vector m_vecAxis; // 0xf40 + float m_flDistance; // 0xf4c + PropDoorRotatingSpawnPos_t m_eSpawnPosition; // 0xf50 + PropDoorRotatingOpenDirection_e m_eOpenDirection; // 0xf54 + PropDoorRotatingOpenDirection_e m_eCurrentOpenDirection; // 0xf58 + float m_flAjarAngle; // 0xf5c + QAngle m_angRotationAjarDeprecated; // 0xf60 + QAngle m_angRotationClosed; // 0xf6c + QAngle m_angRotationOpenForward; // 0xf78 + QAngle m_angRotationOpenBack; // 0xf84 + QAngle m_angGoal; // 0xf90 + Vector m_vecForwardBoundsMin; // 0xf9c + Vector m_vecForwardBoundsMax; // 0xfa8 + Vector m_vecBackBoundsMin; // 0xfb4 + Vector m_vecBackBoundsMax; // 0xfc0 + CHandle< CEntityBlocker > m_hEntityBlocker; // 0xfcc }; -// Aligment: 4 -// Size: 4080 -class CPropDoorRotatingBreakable : public CPropDoorRotating, CBasePropDoor, CDynamicProp, CBreakableProp, CBaseProp, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0xff0 +class CPropDoorRotatingBreakable : public CPropDoorRotating { public: - bool m_bBreakable; // 0xfd0 - bool m_isAbleToCloseAreaPortals; // 0xfd1 - int32_t m_currentDamageState; // 0xfd4 - CUtlVector< CUtlSymbolLarge > m_damageStates; // 0xfd8 + bool m_bBreakable; // 0xfd0 + bool m_isAbleToCloseAreaPortals; // 0xfd1 +private: + [[maybe_unused]] uint8_t __pad0fd2[0x2]; // 0xfd2 +public: + int32_t m_currentDamageState; // 0xfd4 + CUtlVector< CUtlSymbolLarge > m_damageStates; // 0xfd8 }; -// Aligment: 13 -// Size: 2648 -class CBaseCombatCharacter : public CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 13 +// Size: 0xa58 +class CBaseCombatCharacter : public CBaseFlex { public: - bool m_bForceServerRagdoll; // 0x9e8 + bool m_bForceServerRagdoll; // 0x9e8 +private: + [[maybe_unused]] uint8_t __pad09e9[0x3]; // 0x9e9 +public: // MNetworkEnable - float m_flFieldOfView; // 0x9ec - float m_impactEnergyScale; // 0x9f0 - HitGroup_t m_LastHitGroup; // 0x9f4 - bool m_bApplyStressDamage; // 0x9f8 - int32_t m_bloodColor; // 0x9fc - int32_t m_registeredNavTeam; // 0xa30 - int32_t m_navMeshID; // 0xa34 - int32_t m_iDamageCount; // 0xa38 - CUtlVector< RelationshipOverride_t >* m_pVecRelationships; // 0xa40 - CUtlSymbolLarge m_strRelationships; // 0xa48 - Hull_t m_eHull; // 0xa50 - uint32_t m_nNavHullIdx; // 0xa54 + float m_flFieldOfView; // 0x9ec + float m_impactEnergyScale; // 0x9f0 + HitGroup_t m_LastHitGroup; // 0x9f4 + bool m_bApplyStressDamage; // 0x9f8 +private: + [[maybe_unused]] uint8_t __pad09f9[0x3]; // 0x9f9 public: - static int32_t &Get_sm_lastInteraction() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseCombatCharacter")->m_static_fiels[0]->m_instance); } + int32_t m_bloodColor; // 0x9fc +private: + [[maybe_unused]] uint8_t __pad0a00[0x30]; // 0xa00 +public: + int32_t m_registeredNavTeam; // 0xa30 + int32_t m_navMeshID; // 0xa34 + int32_t m_iDamageCount; // 0xa38 +private: + [[maybe_unused]] uint8_t __pad0a3c[0x4]; // 0xa3c +public: + CUtlVector< RelationshipOverride_t >* m_pVecRelationships; // 0xa40 + CUtlSymbolLarge m_strRelationships; // 0xa48 + Hull_t m_eHull; // 0xa50 + uint32_t m_nNavHullIdx; // 0xa54 + static int32_t &Get_sm_lastInteraction(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseCombatCharacter")->m_static_fields[0]->m_instance);}; }; -// Aligment: 32 -// Size: 2976 -class CItemGeneric : public CItem, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 32 +// Size: 0xba0 +class CItemGeneric : public CItem { public: - bool m_bHasTriggerRadius; // 0xa38 - bool m_bHasPickupRadius; // 0xa39 - float m_flPickupRadiusSqr; // 0xa3c - float m_flTriggerRadiusSqr; // 0xa40 - float m_flLastPickupCheck; // 0xa44 - bool m_bPlayerCounterListenerAdded; // 0xa48 - bool m_bPlayerInTriggerRadius; // 0xa49 - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hSpawnParticleEffect; // 0xa50 - CUtlSymbolLarge m_pAmbientSoundEffect; // 0xa58 - bool m_bAutoStartAmbientSound; // 0xa60 - CUtlSymbolLarge m_pSpawnScriptFunction; // 0xa68 - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hPickupParticleEffect; // 0xa70 - CUtlSymbolLarge m_pPickupSoundEffect; // 0xa78 - CUtlSymbolLarge m_pPickupScriptFunction; // 0xa80 - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hTimeoutParticleEffect; // 0xa88 - CUtlSymbolLarge m_pTimeoutSoundEffect; // 0xa90 - CUtlSymbolLarge m_pTimeoutScriptFunction; // 0xa98 - CUtlSymbolLarge m_pPickupFilterName; // 0xaa0 - CHandle< CBaseFilter > m_hPickupFilter; // 0xaa8 - CEntityIOOutput m_OnPickup; // 0xab0 - CEntityIOOutput m_OnTimeout; // 0xad8 - CEntityIOOutput m_OnTriggerStartTouch; // 0xb00 - CEntityIOOutput m_OnTriggerTouch; // 0xb28 - CEntityIOOutput m_OnTriggerEndTouch; // 0xb50 - CUtlSymbolLarge m_pAllowPickupScriptFunction; // 0xb78 - float m_flPickupRadius; // 0xb80 - float m_flTriggerRadius; // 0xb84 - CUtlSymbolLarge m_pTriggerSoundEffect; // 0xb88 - bool m_bGlowWhenInTrigger; // 0xb90 - Color m_glowColor; // 0xb91 - bool m_bUseable; // 0xb95 - CHandle< CItemGenericTriggerHelper > m_hTriggerHelper; // 0xb98 + bool m_bHasTriggerRadius; // 0xa38 + bool m_bHasPickupRadius; // 0xa39 +private: + [[maybe_unused]] uint8_t __pad0a3a[0x2]; // 0xa3a +public: + float m_flPickupRadiusSqr; // 0xa3c + float m_flTriggerRadiusSqr; // 0xa40 + float m_flLastPickupCheck; // 0xa44 + bool m_bPlayerCounterListenerAdded; // 0xa48 + bool m_bPlayerInTriggerRadius; // 0xa49 +private: + [[maybe_unused]] uint8_t __pad0a4a[0x6]; // 0xa4a +public: + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hSpawnParticleEffect; // 0xa50 + CUtlSymbolLarge m_pAmbientSoundEffect; // 0xa58 + bool m_bAutoStartAmbientSound; // 0xa60 +private: + [[maybe_unused]] uint8_t __pad0a61[0x7]; // 0xa61 +public: + CUtlSymbolLarge m_pSpawnScriptFunction; // 0xa68 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hPickupParticleEffect; // 0xa70 + CUtlSymbolLarge m_pPickupSoundEffect; // 0xa78 + CUtlSymbolLarge m_pPickupScriptFunction; // 0xa80 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hTimeoutParticleEffect; // 0xa88 + CUtlSymbolLarge m_pTimeoutSoundEffect; // 0xa90 + CUtlSymbolLarge m_pTimeoutScriptFunction; // 0xa98 + CUtlSymbolLarge m_pPickupFilterName; // 0xaa0 + CHandle< CBaseFilter > m_hPickupFilter; // 0xaa8 +private: + [[maybe_unused]] uint8_t __pad0aac[0x4]; // 0xaac +public: + CEntityIOOutput m_OnPickup; // 0xab0 + CEntityIOOutput m_OnTimeout; // 0xad8 + CEntityIOOutput m_OnTriggerStartTouch; // 0xb00 + CEntityIOOutput m_OnTriggerTouch; // 0xb28 + CEntityIOOutput m_OnTriggerEndTouch; // 0xb50 + CUtlSymbolLarge m_pAllowPickupScriptFunction; // 0xb78 + float m_flPickupRadius; // 0xb80 + float m_flTriggerRadius; // 0xb84 + CUtlSymbolLarge m_pTriggerSoundEffect; // 0xb88 + bool m_bGlowWhenInTrigger; // 0xb90 + Color m_glowColor; // 0xb91 + bool m_bUseable; // 0xb95 +private: + [[maybe_unused]] uint8_t __pad0b96[0x2]; // 0xb96 +public: + CHandle< CItemGenericTriggerHelper > m_hTriggerHelper; // 0xb98 }; -// Aligment: 97 -// Size: 4024 -class CAI_BaseNPC : public CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 97 +// Size: 0xfb8 +class CAI_BaseNPC : public CBaseCombatCharacter { public: - bool m_bCheckContacts; // 0xa60 - bool m_bIsUsingSmallHull; // 0xa61 - Vector m_vecLastPosition; // 0xa64 - float m_flLastPositionTolerance; // 0xa70 - AI_Efficiency_t m_Efficiency; // 0xa74 - AI_MoveEfficiency_t m_MoveEfficiency; // 0xa78 - AI_SleepState_t m_SleepState; // 0xa7c - int32_t m_SleepFlags; // 0xa80 - float m_flWakeRadius; // 0xa84 - bool m_bWakeSquad; // 0xa88 - int32_t m_nWakeTick; // 0xa8c - // MNetworkEnable - NPC_STATE m_NPCState; // 0xa90 - NPC_STATE m_IdealNPCState; // 0xa94 - float m_flLastStateChangeTime; // 0xa98 - CAI_ScheduleBits m_Conditions; // 0xaa8 - CAI_ScheduleBits m_NonGatherConditions; // 0xac8 - CAI_ScheduleBits m_CustomInterruptConditions; // 0xae8 - bool m_bForceConditionsGather; // 0xb08 - bool m_bConditionsGathered; // 0xb09 - bool m_bDoPostRestoreRefindPath; // 0xb0a - CAI_BehaviorHost* m_pBehaviorHost; // 0xb10 - CAI_EnemyServices* m_pEnemyServices; // 0xb18 - CRandStopwatch m_GiveUpOnDeadEnemyTimer; // 0xb20 - CSimpleSimTimer m_FailChooseEnemyTimer; // 0xb38 - float m_flAcceptableTimeSeenEnemy; // 0xb3c - bool m_bSkippedChooseEnemy; // 0xb40 - bool m_bIgnoreUnseenEnemies; // 0xb41 - CHandle< CBaseFilter > m_hEnemyFilter; // 0xb44 - CUtlSymbolLarge m_iszEnemyFilterName; // 0xb48 - CHandle< CBaseEntity > m_hTargetEnt; // 0xb50 - float m_flSoundWaitTime; // 0xb54 - int32_t m_nSoundPriority; // 0xb58 - bool m_bSuppressFootsteps; // 0xb5c - int32_t m_afCapability; // 0xb60 - float m_flMoveWaitFinished; // 0xb64 - CHandle< CBaseEntity > m_hOpeningDoor; // 0xb68 - bool m_bUseAltNpcAvoid; // 0xb6c - CUtlVector< UnreachableEnt_t > m_UnreachableEnts; // 0xb70 - CHandle< CBaseEntity > m_hPathObstructor; // 0xb88 - float m_flJumpMaxRise; // 0xb8c - float m_flJumpMaxDrop; // 0xb90 - float m_flJumpMaxDist; // 0xb94 - float m_flJumpMinDist; // 0xb98 - CAI_AnimGraphServices* m_pAnimGraphServices; // 0xba0 - bool m_bAnimGraphIsAnimatingDeath; // 0xba8 - bool m_bDeferredNavigation; // 0xba9 - CAI_Scheduler m_Scheduler; // 0xbb0 - CHandle< CBaseEntity > m_hGoalEnt; // 0xc48 - float m_flTimeLastMovement; // 0xc4c - CSimpleSimTimer m_CheckOnGroundTimer; // 0xc50 - CUtlSymbolLarge m_strNavRestrictionVolume; // 0xc58 - // MNetworkEnable - bool m_bIsMoving; // 0xc60 - Vector m_vDefaultEyeOffset; // 0xc64 - int32_t m_afMemory; // 0xc70 - float m_flLastDamageTime; // 0xc74 - Vector m_vecLastDamageAttackVector; // 0xc78 - float m_flLastPlayerDamageTime; // 0xc84 - float m_flLastAttackTime; // 0xc88 - CUtlSymbolLarge m_iszSquadName; // 0xc98 - CUtlVector< SquadSlotNPCEntry_t > m_vecMySquadSlots; // 0xca0 - bool m_bIsBelowHalfHealthBefore; // 0xcb8 - // MNetworkEnable - bool m_bFadeCorpse; // 0xcb9 - // MNetworkEnable - bool m_bImportantRagdoll; // 0xcba - CTakeDamageInfo m_deathBlowInfo; // 0xcc0 - bool m_bDidDeathCleanup; // 0xd60 - bool m_bReceivedEnemyDeadNotification; // 0xd61 - float m_flWaitFinished; // 0xd64 - bool m_fNoDamageDecal; // 0xd68 - CUtlVector< CHandle< CBaseEntity > >* m_pVecAttachments; // 0xd70 - CEntityIOOutput m_OnDamaged; // 0xd78 - CEntityIOOutput m_OnDeath; // 0xda0 - CEntityIOOutput m_OnHalfHealth; // 0xdc8 - CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnFoundEnemy; // 0xdf0 - CEntityIOOutput m_OnLostEnemy; // 0xe18 - CEntityIOOutput m_OnLostPlayer; // 0xe40 - CEntityIOOutput m_OnDamagedByPlayer; // 0xe68 - CEntityIOOutput m_OnDamagedByPlayerSquad; // 0xe90 - CEntityIOOutput m_OnPlayerUse; // 0xeb8 - CEntityIOOutput m_OnUse; // 0xee0 - CEntityIOOutput m_OnLostEnemyLOS; // 0xf08 - CEntityIOOutput m_OnLostPlayerLOS; // 0xf30 - CEntityIOOutput m_OnSleep; // 0xf58 - CEntityIOOutput m_OnWake; // 0xf80 - uint64_t m_nAITraceMask; // 0xfa8 - int32_t m_nDebugCurIndex; // 0xfb0 - bitfield:1 m_bInvokingBehaviorIsCurTaskContinuousMove; // 0x0 - bitfield:1 m_bInvokingBehaviorIsValidEnemy; // 0x0 - bitfield:1 m_bInvokingBehaviorBestEnemy; // 0x0 - bitfield:1 m_bInvokingBehaviorShouldIgnoreSound; // 0x0 - bitfield:1 m_bInvokingBehaviorIsInterruptable; // 0x0 - bitfield:1 m_bInvokingBehaviorIsNavigationUrgent; // 0x0 - bitfield:1 m_bInvokingBehaviorOnTakeDamage_React_Alive; // 0x0 - bitfield:1 m_bInvokingBehaviorQueryHearSound; // 0x0 - bitfield:1 m_bInvokingBehaviorOnCalcBaseMove; // 0x0 - bitfield:1 m_bInvokingBehaviorFValidateHintType; // 0x0 - bitfield:1 m_bInvokingBehaviorShouldAlwaysThink; // 0x0 - bitfield:1 m_bInvokingBehaviorAimGun; // 0x0 + bool m_bCheckContacts; // 0xa60 + bool m_bIsUsingSmallHull; // 0xa61 +private: + [[maybe_unused]] uint8_t __pad0a62[0x2]; // 0xa62 public: - static CUtlSymbolLarge &Get_sm_iszPlayerSquad() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_BaseNPC")->m_static_fiels[0]->m_instance); } - static int32_t &Get_sm_nDebugBits() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_BaseNPC")->m_static_fiels[1]->m_instance); } - static int32_t &Get_sm_nDebugPauseIndex() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_BaseNPC")->m_static_fiels[2]->m_instance); } + Vector m_vecLastPosition; // 0xa64 + float m_flLastPositionTolerance; // 0xa70 + AI_Efficiency_t m_Efficiency; // 0xa74 + AI_MoveEfficiency_t m_MoveEfficiency; // 0xa78 + AI_SleepState_t m_SleepState; // 0xa7c + int32_t m_SleepFlags; // 0xa80 + float m_flWakeRadius; // 0xa84 + bool m_bWakeSquad; // 0xa88 +private: + [[maybe_unused]] uint8_t __pad0a89[0x3]; // 0xa89 +public: + int32_t m_nWakeTick; // 0xa8c + // MNetworkEnable + NPC_STATE m_NPCState; // 0xa90 + NPC_STATE m_IdealNPCState; // 0xa94 + float m_flLastStateChangeTime; // 0xa98 +private: + [[maybe_unused]] uint8_t __pad0a9c[0xc]; // 0xa9c +public: + CAI_ScheduleBits m_Conditions; // 0xaa8 + CAI_ScheduleBits m_NonGatherConditions; // 0xac8 + CAI_ScheduleBits m_CustomInterruptConditions; // 0xae8 + bool m_bForceConditionsGather; // 0xb08 + bool m_bConditionsGathered; // 0xb09 + bool m_bDoPostRestoreRefindPath; // 0xb0a +private: + [[maybe_unused]] uint8_t __pad0b0b[0x5]; // 0xb0b +public: + CAI_BehaviorHost* m_pBehaviorHost; // 0xb10 + CAI_EnemyServices* m_pEnemyServices; // 0xb18 + CRandStopwatch m_GiveUpOnDeadEnemyTimer; // 0xb20 + CSimpleSimTimer m_FailChooseEnemyTimer; // 0xb38 + float m_flAcceptableTimeSeenEnemy; // 0xb3c + bool m_bSkippedChooseEnemy; // 0xb40 + bool m_bIgnoreUnseenEnemies; // 0xb41 +private: + [[maybe_unused]] uint8_t __pad0b42[0x2]; // 0xb42 +public: + CHandle< CBaseFilter > m_hEnemyFilter; // 0xb44 + CUtlSymbolLarge m_iszEnemyFilterName; // 0xb48 + CHandle< CBaseEntity > m_hTargetEnt; // 0xb50 + float m_flSoundWaitTime; // 0xb54 + int32_t m_nSoundPriority; // 0xb58 + bool m_bSuppressFootsteps; // 0xb5c +private: + [[maybe_unused]] uint8_t __pad0b5d[0x3]; // 0xb5d +public: + int32_t m_afCapability; // 0xb60 + float m_flMoveWaitFinished; // 0xb64 + CHandle< CBaseEntity > m_hOpeningDoor; // 0xb68 + bool m_bUseAltNpcAvoid; // 0xb6c +private: + [[maybe_unused]] uint8_t __pad0b6d[0x3]; // 0xb6d +public: + CUtlVector< UnreachableEnt_t > m_UnreachableEnts; // 0xb70 + CHandle< CBaseEntity > m_hPathObstructor; // 0xb88 + float m_flJumpMaxRise; // 0xb8c + float m_flJumpMaxDrop; // 0xb90 + float m_flJumpMaxDist; // 0xb94 + float m_flJumpMinDist; // 0xb98 +private: + [[maybe_unused]] uint8_t __pad0b9c[0x4]; // 0xb9c +public: + CAI_AnimGraphServices* m_pAnimGraphServices; // 0xba0 + bool m_bAnimGraphIsAnimatingDeath; // 0xba8 + bool m_bDeferredNavigation; // 0xba9 +private: + [[maybe_unused]] uint8_t __pad0baa[0x6]; // 0xbaa +public: + CAI_Scheduler m_Scheduler; // 0xbb0 +private: + [[maybe_unused]] uint8_t __pad0c20[0x28]; // 0xc20 +public: + CHandle< CBaseEntity > m_hGoalEnt; // 0xc48 + float m_flTimeLastMovement; // 0xc4c + CSimpleSimTimer m_CheckOnGroundTimer; // 0xc50 +private: + [[maybe_unused]] uint8_t __pad0c54[0x4]; // 0xc54 +public: + CUtlSymbolLarge m_strNavRestrictionVolume; // 0xc58 + // MNetworkEnable + bool m_bIsMoving; // 0xc60 +private: + [[maybe_unused]] uint8_t __pad0c61[0x3]; // 0xc61 +public: + Vector m_vDefaultEyeOffset; // 0xc64 + int32_t m_afMemory; // 0xc70 + float m_flLastDamageTime; // 0xc74 + Vector m_vecLastDamageAttackVector; // 0xc78 + float m_flLastPlayerDamageTime; // 0xc84 + float m_flLastAttackTime; // 0xc88 +private: + [[maybe_unused]] uint8_t __pad0c8c[0xc]; // 0xc8c +public: + CUtlSymbolLarge m_iszSquadName; // 0xc98 + CUtlVector< SquadSlotNPCEntry_t > m_vecMySquadSlots; // 0xca0 + bool m_bIsBelowHalfHealthBefore; // 0xcb8 + // MNetworkEnable + bool m_bFadeCorpse; // 0xcb9 + // MNetworkEnable + bool m_bImportantRagdoll; // 0xcba +private: + [[maybe_unused]] uint8_t __pad0cbb[0x5]; // 0xcbb +public: + CTakeDamageInfo m_deathBlowInfo; // 0xcc0 + bool m_bDidDeathCleanup; // 0xd60 + bool m_bReceivedEnemyDeadNotification; // 0xd61 +private: + [[maybe_unused]] uint8_t __pad0d62[0x2]; // 0xd62 +public: + float m_flWaitFinished; // 0xd64 + bool m_fNoDamageDecal; // 0xd68 +private: + [[maybe_unused]] uint8_t __pad0d69[0x7]; // 0xd69 +public: + CUtlVector< CHandle< CBaseEntity > >* m_pVecAttachments; // 0xd70 + CEntityIOOutput m_OnDamaged; // 0xd78 + CEntityIOOutput m_OnDeath; // 0xda0 + CEntityIOOutput m_OnHalfHealth; // 0xdc8 + CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnFoundEnemy; // 0xdf0 + CEntityIOOutput m_OnLostEnemy; // 0xe18 + CEntityIOOutput m_OnLostPlayer; // 0xe40 + CEntityIOOutput m_OnDamagedByPlayer; // 0xe68 + CEntityIOOutput m_OnDamagedByPlayerSquad; // 0xe90 + CEntityIOOutput m_OnPlayerUse; // 0xeb8 + CEntityIOOutput m_OnUse; // 0xee0 + CEntityIOOutput m_OnLostEnemyLOS; // 0xf08 + CEntityIOOutput m_OnLostPlayerLOS; // 0xf30 + CEntityIOOutput m_OnSleep; // 0xf58 + CEntityIOOutput m_OnWake; // 0xf80 + uint64_t m_nAITraceMask; // 0xfa8 + int32_t m_nDebugCurIndex; // 0xfb0 + struct + { + uint8_t m_bInvokingBehaviorIsCurTaskContinuousMove: 1; + uint8_t m_bInvokingBehaviorIsValidEnemy: 1; + uint8_t m_bInvokingBehaviorBestEnemy: 1; + uint8_t m_bInvokingBehaviorShouldIgnoreSound: 1; + uint8_t m_bInvokingBehaviorIsInterruptable: 1; + uint8_t m_bInvokingBehaviorIsNavigationUrgent: 1; + uint8_t m_bInvokingBehaviorOnTakeDamage_React_Alive: 1; + uint8_t m_bInvokingBehaviorQueryHearSound: 1; + uint8_t m_bInvokingBehaviorOnCalcBaseMove: 1; + uint8_t m_bInvokingBehaviorFValidateHintType: 1; + uint8_t m_bInvokingBehaviorShouldAlwaysThink: 1; + uint8_t m_bInvokingBehaviorAimGun: 1; + uint16_t __pad2: 12; // @note: autoaligned + }; // 24 bits + static CUtlSymbolLarge &Get_sm_iszPlayerSquad(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_BaseNPC")->m_static_fields[0]->m_instance);}; + static int32_t &Get_sm_nDebugBits(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_BaseNPC")->m_static_fields[1]->m_instance);}; + static int32_t &Get_sm_nDebugPauseIndex(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_BaseNPC")->m_static_fields[2]->m_instance);}; }; -// Aligment: 1 -// Size: 4032 -class CAI_TestHull : public CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0xfc0 +class CAI_TestHull : public CAI_BaseNPC { public: - TestHullMode_t m_nHullMode; // 0xfb8 -public: - static CAI_TestHull*[9] &Get_s_pTestHulls() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_TestHull")->m_static_fiels[0]->m_instance); } - static bool[9] &Get_s_bTestHullAcquired() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_TestHull")->m_static_fiels[1]->m_instance); } + TestHullMode_t m_nHullMode; // 0xfb8 + static CAI_TestHull* &Get_s_pTestHulls(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_TestHull")->m_static_fields[0]->m_instance);}; + static bool &Get_s_bTestHullAcquired(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_TestHull")->m_static_fields[1]->m_instance);}; }; -// Aligment: 63 -// Size: 4752 -class CAI_DefaultNPC : public CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 63 +// Size: 0x1290 +class CAI_DefaultNPC : public CAI_BaseNPC { public: - CHandle< CBaseModelEntity > m_hFootSweep; // 0xfc0 - Class_T m_nClassifyAs; // 0xfc4 - bool m_bCurrentlySeePlayer; // 0xfc8 - float m_flIgnoreDangerSoundsUntil; // 0xfcc - Vector m_vInterruptSavePosition; // 0xfd0 - Vector m_vSavePosition; // 0xfdc - float m_flNextFlinchTime; // 0xfe8 - float m_flLastHeavyDamageTime; // 0xfec - float m_flLastLightDamageTime; // 0xff0 - float m_flLastRepeatedDamageTime; // 0xff4 - Flinch_DamageClasses_t m_nUpcomingFlinchClass; // 0xff8 - Flinch_Direction_t m_nUpcomingFlinchDir; // 0xffc - Flinch_Displacement_t m_nUpcomingFlinchDisplacement; // 0x1000 - bool m_bFlinchingWithDisplacement; // 0x1004 - CUtlStringToken m_sAnimGraphFlinchFinishedTag; // 0x1008 - float m_flDistTooFar; // 0x100c - CEntityIOOutput m_OnForcedInteractionStarted; // 0x1010 - CEntityIOOutput m_OnForcedInteractionAborted; // 0x1038 - CEntityIOOutput m_OnForcedInteractionFinished; // 0x1060 - CAI_DynamicInteractions* m_pDynamicInteractions; // 0x1088 - float m_flWaitAtPathCornerResumeTime; // 0x1094 - bool m_bAnimGraphHideUntilScriptStart; // 0x10d8 - float m_flOriginalYaw; // 0x10f0 - bool m_bLatchedEyeCached; // 0x10f4 - Vector m_latchedEyeDirection; // 0x10f8 + CHandle< CBaseModelEntity > m_hFootSweep; // 0xfc0 + Class_T m_nClassifyAs; // 0xfc4 + bool m_bCurrentlySeePlayer; // 0xfc8 +private: + [[maybe_unused]] uint8_t __pad0fc9[0x3]; // 0xfc9 +public: + float m_flIgnoreDangerSoundsUntil; // 0xfcc + Vector m_vInterruptSavePosition; // 0xfd0 + Vector m_vSavePosition; // 0xfdc + float m_flNextFlinchTime; // 0xfe8 + float m_flLastHeavyDamageTime; // 0xfec + float m_flLastLightDamageTime; // 0xff0 + float m_flLastRepeatedDamageTime; // 0xff4 + Flinch_DamageClasses_t m_nUpcomingFlinchClass; // 0xff8 + Flinch_Direction_t m_nUpcomingFlinchDir; // 0xffc + Flinch_Displacement_t m_nUpcomingFlinchDisplacement; // 0x1000 + bool m_bFlinchingWithDisplacement; // 0x1004 +private: + [[maybe_unused]] uint8_t __pad1005[0x3]; // 0x1005 +public: + CUtlStringToken m_sAnimGraphFlinchFinishedTag; // 0x1008 + float m_flDistTooFar; // 0x100c + CEntityIOOutput m_OnForcedInteractionStarted; // 0x1010 + CEntityIOOutput m_OnForcedInteractionAborted; // 0x1038 + CEntityIOOutput m_OnForcedInteractionFinished; // 0x1060 + CAI_DynamicInteractions* m_pDynamicInteractions; // 0x1088 +private: + [[maybe_unused]] uint8_t __pad1090[0x4]; // 0x1090 +public: + float m_flWaitAtPathCornerResumeTime; // 0x1094 +private: + [[maybe_unused]] uint8_t __pad1098[0x40]; // 0x1098 +public: + bool m_bAnimGraphHideUntilScriptStart; // 0x10d8 +private: + [[maybe_unused]] uint8_t __pad10d9[0x17]; // 0x10d9 +public: + float m_flOriginalYaw; // 0x10f0 + bool m_bLatchedEyeCached; // 0x10f4 +private: + [[maybe_unused]] uint8_t __pad10f5[0x3]; // 0x10f5 +public: + Vector m_latchedEyeDirection; // 0x10f8 +private: + [[maybe_unused]] uint8_t __pad1104[0x4]; // 0x1104 +public: // MNetworkEnable - CAI_StanceServices* m_pStanceServices; // 0x1108 + CAI_StanceServices* m_pStanceServices; // 0x1108 // MNetworkEnable // MNetworkTypeAlias "CAI_AbilityServices" // MNetworkChangeCallback "AbilityServicesChanged" - CAI_AbilityServices* m_pAbilityServices; // 0x1110 - float m_flSumDamage; // 0x1118 - int32_t m_nDamagesInSum; // 0x111c - float m_flLastSawPlayerTime; // 0x1120 - CUtlSymbolLarge m_strHintGroup; // 0x1128 - bool m_bInAScript; // 0x1140 - Interruptability_t m_nScriptedIgnoreConditions; // 0x1144 - bool m_bFaceLookTarget; // 0x1148 - bool m_bEnableRandomLookAts; // 0x1149 + CAI_AbilityServices* m_pAbilityServices; // 0x1110 + float m_flSumDamage; // 0x1118 + int32_t m_nDamagesInSum; // 0x111c + float m_flLastSawPlayerTime; // 0x1120 +private: + [[maybe_unused]] uint8_t __pad1124[0x4]; // 0x1124 +public: + CUtlSymbolLarge m_strHintGroup; // 0x1128 +private: + [[maybe_unused]] uint8_t __pad1130[0x10]; // 0x1130 +public: + bool m_bInAScript; // 0x1140 +private: + [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 +public: + Interruptability_t m_nScriptedIgnoreConditions; // 0x1144 + bool m_bFaceLookTarget; // 0x1148 + bool m_bEnableRandomLookAts; // 0x1149 +private: + [[maybe_unused]] uint8_t __pad114a[0x2]; // 0x114a +public: // MNetworkEnable - CHandle< CBaseEntity > m_hServerRagdoll; // 0x114c - float m_flTempRagdolledAt; // 0x1150 - float m_flAutoUnragdollDuration; // 0x1154 - float m_flAutoUnragdollTimer; // 0x1158 - float m_flUnragdollTimeoutDuration; // 0x115c - float m_flUnragdollTimeoutTimer; // 0x1160 - Vector m_vecUnragdollLocation; // 0x1164 - int32_t m_nSpawnAsRagdoll; // 0x1170 - CUtlVector< attached_item_t > m_vecAttachedItems; // 0x1180 - bool m_bAvoidPlayerState; // 0x1198 - bool m_bPerformAvoidance; // 0x1199 - CHandle< CBaseEntity > m_hItem; // 0x119c - CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnFoundPlayer; // 0x11a0 - CEntityIOOutput m_OnHearWorld; // 0x11c8 - CEntityIOOutput m_OnHearPlayer; // 0x11f0 - CEntityIOOutput m_OnHearCombat; // 0x1218 - CEntityIOOutput m_OnUnragdollFinished; // 0x1240 - CHandle< CBaseEntity > m_hObjectThrownAtMe; // 0x1268 - CHandle< CBaseEntity > m_hObjectThrownAtMeThrower; // 0x126c + CHandle< CBaseEntity > m_hServerRagdoll; // 0x114c + float m_flTempRagdolledAt; // 0x1150 + float m_flAutoUnragdollDuration; // 0x1154 + float m_flAutoUnragdollTimer; // 0x1158 + float m_flUnragdollTimeoutDuration; // 0x115c + float m_flUnragdollTimeoutTimer; // 0x1160 + Vector m_vecUnragdollLocation; // 0x1164 + int32_t m_nSpawnAsRagdoll; // 0x1170 +private: + [[maybe_unused]] uint8_t __pad1174[0xc]; // 0x1174 +public: + CUtlVector< attached_item_t > m_vecAttachedItems; // 0x1180 + bool m_bAvoidPlayerState; // 0x1198 + bool m_bPerformAvoidance; // 0x1199 +private: + [[maybe_unused]] uint8_t __pad119a[0x2]; // 0x119a +public: + CHandle< CBaseEntity > m_hItem; // 0x119c + CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnFoundPlayer; // 0x11a0 + CEntityIOOutput m_OnHearWorld; // 0x11c8 + CEntityIOOutput m_OnHearPlayer; // 0x11f0 + CEntityIOOutput m_OnHearCombat; // 0x1218 + CEntityIOOutput m_OnUnragdollFinished; // 0x1240 + CHandle< CBaseEntity > m_hObjectThrownAtMe; // 0x1268 + CHandle< CBaseEntity > m_hObjectThrownAtMeThrower; // 0x126c // MNetworkEnable - bool m_bPoweredRagdoll; // 0x1270 + bool m_bPoweredRagdoll; // 0x1270 +private: + [[maybe_unused]] uint8_t __pad1271[0x3]; // 0x1271 +public: // MNetworkEnable - RagdollBlendDirection m_iPoweredRagdoll_TransitionDirection; // 0x1274 + RagdollBlendDirection m_iPoweredRagdoll_TransitionDirection; // 0x1274 // MNetworkEnable - float m_flPoweredRagdoll_TransitionStartTime; // 0x1278 - Vector m_vecRagdollOffset; // 0x127c - bitfield:1 m_bInvokingBehaviorGetReasonableFacingDist; // 0x0 - bitfield:1 m_bInvokingBehaviorCanFlinch; // 0x0 - bitfield:1 m_bInvokingBehaviorCanRunAScriptedNPCInteraction; // 0x0 - bitfield:1 m_bInvokingBehaviorShouldAvoidPlayer; // 0x0 - bitfield:1 m_bInvokingBehaviorTacticalServicesModifyGoal; // 0x0 + float m_flPoweredRagdoll_TransitionStartTime; // 0x1278 + Vector m_vecRagdollOffset; // 0x127c + struct + { + uint8_t m_bInvokingBehaviorGetReasonableFacingDist: 1; + uint8_t m_bInvokingBehaviorCanFlinch: 1; + uint8_t m_bInvokingBehaviorCanRunAScriptedNPCInteraction: 1; + uint8_t m_bInvokingBehaviorShouldAvoidPlayer: 1; + uint8_t m_bInvokingBehaviorTacticalServicesModifyGoal: 1; + uint8_t __pad3: 5; // @note: autoaligned + }; // 10 bits }; -// Aligment: 30 -// Size: 4928 -class CAI_TrackPather : public CAI_DefaultNPC, CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 30 +// Size: 0x1340 +class CAI_TrackPather : public CAI_DefaultNPC { public: - Vector m_vecDesiredPosition; // 0x1290 - Vector m_vecGoalOrientation; // 0x129c - CHandle< CPathTrack > m_pCurrentPathTarget; // 0x12a8 - CHandle< CPathTrack > m_pDestPathTarget; // 0x12ac - CHandle< CPathTrack > m_pLastPathTarget; // 0x12b0 - CHandle< CPathTrack > m_pTargetNearestPath; // 0x12b4 - CUtlSymbolLarge m_strCurrentPathName; // 0x12b8 - CUtlSymbolLarge m_strDestPathName; // 0x12c0 - CUtlSymbolLarge m_strLastPathName; // 0x12c8 - CUtlSymbolLarge m_strTargetNearestPathName; // 0x12d0 - Vector m_vecLastGoalCheckPosition; // 0x12d8 - float m_flEnemyPathUpdateTime; // 0x12e4 - bool m_bForcedMove; // 0x12e8 - bool m_bPatrolling; // 0x12e9 - bool m_bPatrolBreakable; // 0x12ea - bool m_bLeading; // 0x12eb - float m_flTargetDistanceThreshold; // 0x12ec - float m_flAvoidDistance; // 0x12f0 - float m_flTargetTolerance; // 0x12f4 - Vector m_vecSegmentStartPoint; // 0x12f8 - Vector m_vecSegmentStartSplinePoint; // 0x1304 - bool m_bMovingForward; // 0x1310 - bool m_bChooseFarthestPoint; // 0x1311 - float m_flFarthestPathDist; // 0x1314 - float m_flPathMaxSpeed; // 0x1318 - float m_flTargetDistFromPath; // 0x131c - float m_flLeadDistance; // 0x1320 - Vector m_vecTargetPathDir; // 0x1324 - Vector m_vecTargetPathPoint; // 0x1330 - CAI_TrackPather::PauseState_t m_nPauseState; // 0x133c + Vector m_vecDesiredPosition; // 0x1290 + Vector m_vecGoalOrientation; // 0x129c + CHandle< CPathTrack > m_pCurrentPathTarget; // 0x12a8 + CHandle< CPathTrack > m_pDestPathTarget; // 0x12ac + CHandle< CPathTrack > m_pLastPathTarget; // 0x12b0 + CHandle< CPathTrack > m_pTargetNearestPath; // 0x12b4 + CUtlSymbolLarge m_strCurrentPathName; // 0x12b8 + CUtlSymbolLarge m_strDestPathName; // 0x12c0 + CUtlSymbolLarge m_strLastPathName; // 0x12c8 + CUtlSymbolLarge m_strTargetNearestPathName; // 0x12d0 + Vector m_vecLastGoalCheckPosition; // 0x12d8 + float m_flEnemyPathUpdateTime; // 0x12e4 + bool m_bForcedMove; // 0x12e8 + bool m_bPatrolling; // 0x12e9 + bool m_bPatrolBreakable; // 0x12ea + bool m_bLeading; // 0x12eb + float m_flTargetDistanceThreshold; // 0x12ec + float m_flAvoidDistance; // 0x12f0 + float m_flTargetTolerance; // 0x12f4 + Vector m_vecSegmentStartPoint; // 0x12f8 + Vector m_vecSegmentStartSplinePoint; // 0x1304 + bool m_bMovingForward; // 0x1310 + bool m_bChooseFarthestPoint; // 0x1311 +private: + [[maybe_unused]] uint8_t __pad1312[0x2]; // 0x1312 +public: + float m_flFarthestPathDist; // 0x1314 + float m_flPathMaxSpeed; // 0x1318 + float m_flTargetDistFromPath; // 0x131c + float m_flLeadDistance; // 0x1320 + Vector m_vecTargetPathDir; // 0x1324 + Vector m_vecTargetPathPoint; // 0x1330 + CAI_TrackPather::PauseState_t m_nPauseState; // 0x133c }; -// Aligment: 2 -// Size: 4808 -class CAI_BasePhysicsFlyingBot : public CAI_DefaultNPC, CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x12c8 +class CAI_BasePhysicsFlyingBot : public CAI_DefaultNPC { public: - CFlightComponent m_flight; // 0x1290 - float m_fHeadYaw; // 0x12c0 + CFlightComponent m_flight; // 0x1290 + float m_fHeadYaw; // 0x12c0 }; -// Aligment: 6 -// Size: 4856 -class CNPC_Bullseye : public CAI_DefaultNPC, CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 6 +// Size: 0x12f8 +class CNPC_Bullseye : public CAI_DefaultNPC { public: - CHandle< CBaseEntity > m_hPainPartner; // 0x1290 - CEntityIOOutput m_OnTargeted; // 0x1298 - CEntityIOOutput m_OnReleased; // 0x12c0 - bool m_bPerfectAccuracy; // 0x12e8 - float m_fAutoaimRadius; // 0x12ec - float m_flMinDistValidEnemy; // 0x12f0 + CHandle< CBaseEntity > m_hPainPartner; // 0x1290 +private: + [[maybe_unused]] uint8_t __pad1294[0x4]; // 0x1294 +public: + CEntityIOOutput m_OnTargeted; // 0x1298 + CEntityIOOutput m_OnReleased; // 0x12c0 + bool m_bPerfectAccuracy; // 0x12e8 +private: + [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 +public: + float m_fAutoaimRadius; // 0x12ec + float m_flMinDistValidEnemy; // 0x12f0 }; -// Aligment: 8 -// Size: 4952 -class CNPC_EnemyFinder : public CAI_DefaultNPC, CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 8 +// Size: 0x1358 +class CNPC_EnemyFinder : public CAI_DefaultNPC { public: - int32_t m_nStartOn; // 0x1290 - float m_flMinSearchDist; // 0x1294 - float m_flMaxSearchDist; // 0x1298 - CAI_FreePass m_PlayerFreePass; // 0x12a0 - CSimpleSimTimer m_ChooseEnemyTimer; // 0x1300 - bool m_bEnemyStatus; // 0x1304 - CEntityIOOutput m_OnLostEnemies; // 0x1308 - CEntityIOOutput m_OnAcquireEnemies; // 0x1330 + int32_t m_nStartOn; // 0x1290 + float m_flMinSearchDist; // 0x1294 + float m_flMaxSearchDist; // 0x1298 +private: + [[maybe_unused]] uint8_t __pad129c[0x4]; // 0x129c public: - static CUtlSymbolLarge &Get_SCHED_EFINDER_SEARCH() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNPC_EnemyFinder")->m_static_fiels[0]->m_instance); } + CAI_FreePass m_PlayerFreePass; // 0x12a0 + CSimpleSimTimer m_ChooseEnemyTimer; // 0x1300 + bool m_bEnemyStatus; // 0x1304 +private: + [[maybe_unused]] uint8_t __pad1305[0x3]; // 0x1305 +public: + CEntityIOOutput m_OnLostEnemies; // 0x1308 + CEntityIOOutput m_OnAcquireEnemies; // 0x1330 + static CUtlSymbolLarge &Get_SCHED_EFINDER_SEARCH(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNPC_EnemyFinder")->m_static_fields[0]->m_instance);}; }; -// Aligment: 3 -// Size: 4768 -class CNPC_Proxy : public CAI_DefaultNPC, CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 3 +// Size: 0x12a0 +class CNPC_Proxy : public CAI_DefaultNPC { public: - CUtlSymbolLarge m_representedEntityName; // 0x1290 - CHandle< CBaseEntity > m_hRepresentedEnt; // 0x1298 - int32_t m_nPriority; // 0x129c + CUtlSymbolLarge m_representedEntityName; // 0x1290 + CHandle< CBaseEntity > m_hRepresentedEnt; // 0x1298 + int32_t m_nPriority; // 0x129c }; -// Aligment: 1 -// Size: 4760 -class CNPC_Appliance : public CAI_DefaultNPC, CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 1 +// Size: 0x1298 +class CNPC_Appliance : public CAI_DefaultNPC { public: - bool m_bDisabled; // 0x1290 + bool m_bDisabled; // 0x1290 }; -// Aligment: 24 -// Size: 3040 -class CBasePlayerController : public CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 24 +// Size: 0xbe0 +class CBasePlayerController : public CBaseCombatCharacter { public: // MNetworkEnable // MNetworkPriority "1" // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_nTickBase; // 0xa60 + uint32_t m_nTickBase; // 0xa60 +private: + [[maybe_unused]] uint8_t __pad0a64[0x2c]; // 0xa64 +public: // MNetworkEnable // MNetworkChangeCallback "OnPawnChanged" - CHandle< CBasePlayer > m_hPawn; // 0xa90 - CSplitScreenSlot m_nSplitScreenSlot; // 0xa94 - CHandle< CBasePlayerController > m_hSplitOwner; // 0xa98 - CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0xaa0 - bool m_bIsHLTV; // 0xab8 - PlayerConnectedState m_iConnected; // 0xabc - char[128] m_iszPlayerName; // 0xac0 - CUtlString m_szNetworkIDString; // 0xb40 - int32_t m_nUpdateRate; // 0xb48 - float m_fLerpTime; // 0xb4c - bool m_bLagCompensation; // 0xb50 - bool m_bPredict; // 0xb51 - bool m_bAutoKickDisabled; // 0xb52 - bool m_bIsLowViolence; // 0xb53 - bool m_bGamePaused; // 0xb54 - int32_t m_nHighestCommandNumberReceived; // 0xba0 - int64_t m_nUsecTimestampLastUserCmdReceived; // 0xba8 - ChatIgnoreType_t m_iIgnoreGlobalChat; // 0xbc0 - float m_flLastPlayerTalkTime; // 0xbc4 - float m_flLastEntitySteadyState; // 0xbc8 - int32_t m_nAvailableEntitySteadyState; // 0xbcc - bool m_bHasAnySteadyStateEnts; // 0xbd0 - uint64_t m_steamID; // 0xbd8 + CHandle< CBasePlayer > m_hPawn; // 0xa90 + CSplitScreenSlot m_nSplitScreenSlot; // 0xa94 + CHandle< CBasePlayerController > m_hSplitOwner; // 0xa98 +private: + [[maybe_unused]] uint8_t __pad0a9c[0x4]; // 0xa9c +public: + CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0xaa0 + bool m_bIsHLTV; // 0xab8 +private: + [[maybe_unused]] uint8_t __pad0ab9[0x3]; // 0xab9 +public: + PlayerConnectedState m_iConnected; // 0xabc + char m_iszPlayerName[128]; // 0xac0 + CUtlString m_szNetworkIDString; // 0xb40 + int32_t m_nUpdateRate; // 0xb48 + float m_fLerpTime; // 0xb4c + bool m_bLagCompensation; // 0xb50 + bool m_bPredict; // 0xb51 + bool m_bAutoKickDisabled; // 0xb52 + bool m_bIsLowViolence; // 0xb53 + bool m_bGamePaused; // 0xb54 +private: + [[maybe_unused]] uint8_t __pad0b55[0x4b]; // 0xb55 +public: + int32_t m_nHighestCommandNumberReceived; // 0xba0 +private: + [[maybe_unused]] uint8_t __pad0ba4[0x4]; // 0xba4 +public: + int64_t m_nUsecTimestampLastUserCmdReceived; // 0xba8 +private: + [[maybe_unused]] uint8_t __pad0bb0[0x10]; // 0xbb0 +public: + ChatIgnoreType_t m_iIgnoreGlobalChat; // 0xbc0 + float m_flLastPlayerTalkTime; // 0xbc4 + float m_flLastEntitySteadyState; // 0xbc8 + int32_t m_nAvailableEntitySteadyState; // 0xbcc + bool m_bHasAnySteadyStateEnts; // 0xbd0 +private: + [[maybe_unused]] uint8_t __pad0bd1[0x7]; // 0xbd1 +public: + uint64_t m_steamID; // 0xbd8 }; -// Aligment: 28 -// Size: 3488 -class CBasePlayer : public CBasePlayerController, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 28 +// Size: 0xda0 +class CBasePlayer : public CBasePlayerController { public: // MNetworkEnable - CPlayer_WeaponServices* m_pWeaponServices; // 0xbe0 + CPlayer_WeaponServices* m_pWeaponServices; // 0xbe0 // MNetworkEnable - CPlayer_ItemServices* m_pItemServices; // 0xbe8 + CPlayer_ItemServices* m_pItemServices; // 0xbe8 // MNetworkEnable - CPlayer_VehicleServices* m_pVehicleServices; // 0xbf0 + CPlayer_VehicleServices* m_pVehicleServices; // 0xbf0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CPlayer_AutoaimServices* m_pAutoaimServices; // 0xbf8 + CPlayer_AutoaimServices* m_pAutoaimServices; // 0xbf8 // MNetworkEnable - CPlayer_ObserverServices* m_pObserverServices; // 0xc00 + CPlayer_ObserverServices* m_pObserverServices; // 0xc00 // MNetworkEnable - CPlayer_WaterServices* m_pWaterServices; // 0xc08 + CPlayer_WaterServices* m_pWaterServices; // 0xc08 // MNetworkEnable - CPlayer_UseServices* m_pUseServices; // 0xc10 + CPlayer_UseServices* m_pUseServices; // 0xc10 // MNetworkEnable - CPlayer_FlashlightServices* m_pFlashlightServices; // 0xc18 + CPlayer_FlashlightServices* m_pFlashlightServices; // 0xc18 // MNetworkEnable - CPlayer_CameraServices* m_pCameraServices; // 0xc20 + CPlayer_CameraServices* m_pCameraServices; // 0xc20 // MNetworkEnable - CPlayer_MovementServices* m_pMovementServices; // 0xc28 - uint64_t m_nButtons; // 0xc38 - uint64_t m_afButtonPressed; // 0xc40 - uint64_t m_afButtonReleased; // 0xc48 - uint64_t m_afButtonLast; // 0xc50 - uint64_t m_afButtonDisabled; // 0xc58 - uint64_t m_afButtonForced; // 0xc60 - uint64_t m_nOldButtons; // 0xcb8 - int32_t m_nImpulse; // 0xcc0 - QAngle v_angle; // 0xcc4 + CPlayer_MovementServices* m_pMovementServices; // 0xc28 +private: + [[maybe_unused]] uint8_t __pad0c30[0x8]; // 0xc30 +public: + uint64_t m_nButtons; // 0xc38 + uint64_t m_afButtonPressed; // 0xc40 + uint64_t m_afButtonReleased; // 0xc48 + uint64_t m_afButtonLast; // 0xc50 + uint64_t m_afButtonDisabled; // 0xc58 + uint64_t m_afButtonForced; // 0xc60 +private: + [[maybe_unused]] uint8_t __pad0c68[0x50]; // 0xc68 +public: + uint64_t m_nOldButtons; // 0xcb8 + int32_t m_nImpulse; // 0xcc0 + QAngle v_angle; // 0xcc4 +private: + [[maybe_unused]] uint8_t __pad0cd0[0x10]; // 0xcd0 +public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_iHideHUD; // 0xce0 + uint32_t m_iHideHUD; // 0xce0 +private: + [[maybe_unused]] uint8_t __pad0ce4[0x4]; // 0xce4 +public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - sky3dparams_t m_skybox3d; // 0xce8 - float m_fTimeLastHurt; // 0xd78 + sky3dparams_t m_skybox3d; // 0xce8 + float m_fTimeLastHurt; // 0xd78 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flDeathTime; // 0xd7c - float m_fNextSuicideTime; // 0xd80 - bool m_fInitHUD; // 0xd84 - float m_flNextDecalTime; // 0xd88 - bool deadflag; // 0xd8c - CAI_Expresser* m_pExpresser; // 0xd90 + float m_flDeathTime; // 0xd7c + float m_fNextSuicideTime; // 0xd80 + bool m_fInitHUD; // 0xd84 +private: + [[maybe_unused]] uint8_t __pad0d85[0x3]; // 0xd85 +public: + float m_flNextDecalTime; // 0xd88 + bool deadflag; // 0xd8c +private: + [[maybe_unused]] uint8_t __pad0d8d[0x3]; // 0xd8d +public: + CAI_Expresser* m_pExpresser; // 0xd90 }; -// Aligment: 14 -// Size: 4848 -class CAI_BaseActor : public CAI_DefaultNPC, CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 14 +// Size: 0x12f0 +class CAI_BaseActor : public CAI_DefaultNPC { public: - bool m_bCanBlink; // 0x1298 - float m_flBlinktime; // 0x129c - CUtlSymbolLarge m_iszExpressionScene; // 0x12a0 - CHandle< CBaseEntity > m_hExpressionSceneEnt; // 0x12a8 - float m_flNextRandomExpressionTime; // 0x12ac - CUtlSymbolLarge m_iszExpressionOverride; // 0x12b0 - CUtlSymbolLarge m_iszIdleExpression; // 0x12b8 - CUtlSymbolLarge m_iszAlertExpression; // 0x12c0 - CUtlSymbolLarge m_iszCombatExpression; // 0x12c8 - CUtlSymbolLarge m_iszDeathExpression; // 0x12d0 - bool m_bRemarkablePolling; // 0x12d8 - float m_fNextRemarkPollTime; // 0x12dc - bool m_bDontUseSemaphore; // 0x12e0 - CAI_Expresser* m_pExpresser; // 0x12e8 + bool m_bCanBlink; // 0x1298 +private: + [[maybe_unused]] uint8_t __pad1299[0x3]; // 0x1299 +public: + float m_flBlinktime; // 0x129c + CUtlSymbolLarge m_iszExpressionScene; // 0x12a0 + CHandle< CBaseEntity > m_hExpressionSceneEnt; // 0x12a8 + float m_flNextRandomExpressionTime; // 0x12ac + CUtlSymbolLarge m_iszExpressionOverride; // 0x12b0 + CUtlSymbolLarge m_iszIdleExpression; // 0x12b8 + CUtlSymbolLarge m_iszAlertExpression; // 0x12c0 + CUtlSymbolLarge m_iszCombatExpression; // 0x12c8 + CUtlSymbolLarge m_iszDeathExpression; // 0x12d0 + bool m_bRemarkablePolling; // 0x12d8 +private: + [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 +public: + float m_fNextRemarkPollTime; // 0x12dc + bool m_bDontUseSemaphore; // 0x12e0 +private: + [[maybe_unused]] uint8_t __pad12e1[0x7]; // 0x12e1 +public: + CAI_Expresser* m_pExpresser; // 0x12e8 }; -// Aligment: 15 -// Size: 5408 -class CAI_PlayerAlly : public CAI_BaseActor, CAI_DefaultNPC, CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 15 +// Size: 0x1520 +class CAI_PlayerAlly : public CAI_BaseActor { public: - CRR_Response m_PendingResponse; // 0x12f0 - CUtlString m_PendingConcept; // 0x14e0 - float m_TimePendingSet; // 0x14e8 - CHandle< CBaseEntity > m_hTalkTarget; // 0x14ec - float m_flNextRegenTime; // 0x14f0 - float m_flTimePlayerStartStare; // 0x14f4 - CHandle< CBaseEntity > m_hPotentialSpeechTarget; // 0x14f8 - float m_flNextIdleSpeechTime; // 0x14fc - int32_t m_iQARandomNumber; // 0x1500 - CSimpleSimTimer[3] m_ConceptCategoryTimers; // 0x1504 - CHandle< CAI_SpeechFilter > m_hSpeechFilter; // 0x1510 - bool m_bGameEndAlly; // 0x1514 - bool m_bCanSpeakWhileScripting; // 0x1515 - float m_flTimeLastRegen; // 0x1518 - float m_flHealthAccumulator; // 0x151c + CRR_Response m_PendingResponse; // 0x12f0 + CUtlString m_PendingConcept; // 0x14e0 + float m_TimePendingSet; // 0x14e8 + CHandle< CBaseEntity > m_hTalkTarget; // 0x14ec + float m_flNextRegenTime; // 0x14f0 + float m_flTimePlayerStartStare; // 0x14f4 + CHandle< CBaseEntity > m_hPotentialSpeechTarget; // 0x14f8 + float m_flNextIdleSpeechTime; // 0x14fc + int32_t m_iQARandomNumber; // 0x1500 + CSimpleSimTimer m_ConceptCategoryTimers[3]; // 0x1504 + CHandle< CAI_SpeechFilter > m_hSpeechFilter; // 0x1510 + bool m_bGameEndAlly; // 0x1514 + bool m_bCanSpeakWhileScripting; // 0x1515 +private: + [[maybe_unused]] uint8_t __pad1516[0x2]; // 0x1516 public: - static CUtlSymbolLarge &Get_SCHED_TALKER_SPEAK_PENDING_IDLE() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fiels[0]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_TALKER_SPEAK_PENDING_ALERT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fiels[1]->m_instance); } - static CUtlSymbolLarge &Get_SCHED_TALKER_SPEAK_PENDING_COMBAT() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fiels[2]->m_instance); } - static CUtlSymbolLarge &Get_TASK_TALKER_SPEAK_PENDING() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fiels[3]->m_instance); } - static ConditionId_t &Get_COND_TALKER_CLIENTUNSEEN() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fiels[4]->m_instance); } - static ConditionId_t &Get_COND_TALKER_PLAYER_DEAD() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fiels[5]->m_instance); } - static ConditionId_t &Get_COND_TALKER_PLAYER_STARING() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fiels[6]->m_instance); } + float m_flTimeLastRegen; // 0x1518 + float m_flHealthAccumulator; // 0x151c + static CUtlSymbolLarge &Get_SCHED_TALKER_SPEAK_PENDING_IDLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[0]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_TALKER_SPEAK_PENDING_ALERT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[1]->m_instance);}; + static CUtlSymbolLarge &Get_SCHED_TALKER_SPEAK_PENDING_COMBAT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[2]->m_instance);}; + static CUtlSymbolLarge &Get_TASK_TALKER_SPEAK_PENDING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[3]->m_instance);}; + static ConditionId_t &Get_COND_TALKER_CLIENTUNSEEN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[4]->m_instance);}; + static ConditionId_t &Get_COND_TALKER_PLAYER_DEAD(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[5]->m_instance);}; + static ConditionId_t &Get_COND_TALKER_PLAYER_STARING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[6]->m_instance);}; }; -// Aligment: 4 -// Size: 4872 -class CGenericActor : public CAI_BaseActor, CAI_DefaultNPC, CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 4 +// Size: 0x1308 +class CGenericActor : public CAI_BaseActor { public: - bool m_bWantsTeleportBuffer; // 0x12f0 - CUtlSymbolLarge m_strHullName; // 0x12f8 - bool m_bActLikeAFlyer; // 0x1300 - bool m_bIsFriendlyNPC; // 0x1301 + bool m_bWantsTeleportBuffer; // 0x12f0 +private: + [[maybe_unused]] uint8_t __pad12f1[0x7]; // 0x12f1 +public: + CUtlSymbolLarge m_strHullName; // 0x12f8 + bool m_bActLikeAFlyer; // 0x1300 + bool m_bIsFriendlyNPC; // 0x1301 }; -// Aligment: 2 -// Size: 4856 -class CNPC_Furniture : public CAI_BaseActor, CAI_DefaultNPC, CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 2 +// Size: 0x12f8 +class CNPC_Furniture : public CAI_BaseActor { public: - bool m_bHasAnimatedFace; // 0x12f0 - bool m_bFurniturePhysics; // 0x12f1 + bool m_bHasAnimatedFace; // 0x12f0 + bool m_bFurniturePhysics; // 0x12f1 }; -// Aligment: 0 -// Size: 4856 -class CGhostSpeaker : public CNPC_Furniture, CAI_BaseActor, CAI_DefaultNPC, CAI_BaseNPC, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 0 +// Size: 0x12f8 +class CGhostSpeaker : public CNPC_Furniture { public: -// + // no members available }; -// Aligment: 21 -// Size: 3792 -class CSteamPal_Player : public CBasePlayer, CBasePlayerController, CBaseCombatCharacter, CBaseFlex, CBaseAnimatingOverlay, CBaseAnimating, CBaseModelEntity, CBaseEntity, CEntityInstance, IHandleEntity +// Alignment: 21 +// Size: 0xed0 +class CSteamPal_Player : public CBasePlayer { public: // MNetworkEnable - CHandle< CBaseEntity > m_hCursorHoverEntity; // 0xe28 - CHandle< CBaseEntity > m_hCurrentUserTouchEntity; // 0xe2c - Vector m_vCurrentUserTouchHitPoint; // 0xe30 - Vector m_vCurrentScreenTouchPos; // 0xe3c - bool m_bIsUserTouchActive; // 0xe48 - CHandle< CSteamPal_TouchTarget > m_hCurrentTouchTarget; // 0xe4c - bool m_bInFreecam; // 0xe50 - Vector2D m_flCameraLookRangePitch; // 0xe54 - Vector2D m_flCameraLookRangeYaw; // 0xe5c - float m_flCameraLookSpeed; // 0xe64 - float m_flCameraLookOffsetPitch; // 0xe68 - float m_flCameraLookOffsetYaw; // 0xe6c - Vector2D m_flCameraMoveRangeLR; // 0xe78 - Vector2D m_flCameraMoveRangeFB; // 0xe80 - float m_flCameraMoveSpeed; // 0xe88 - float m_flCameraMoveOffsetLR; // 0xe8c - float m_flCameraMoveOffsetFB; // 0xe90 + CHandle< CBaseEntity > m_hCursorHoverEntity; // 0xe28 + CHandle< CBaseEntity > m_hCurrentUserTouchEntity; // 0xe2c + Vector m_vCurrentUserTouchHitPoint; // 0xe30 + Vector m_vCurrentScreenTouchPos; // 0xe3c + bool m_bIsUserTouchActive; // 0xe48 +private: + [[maybe_unused]] uint8_t __pad0e49[0x3]; // 0xe49 +public: + CHandle< CSteamPal_TouchTarget > m_hCurrentTouchTarget; // 0xe4c + bool m_bInFreecam; // 0xe50 +private: + [[maybe_unused]] uint8_t __pad0e51[0x3]; // 0xe51 +public: + Vector2D m_flCameraLookRangePitch; // 0xe54 + Vector2D m_flCameraLookRangeYaw; // 0xe5c + float m_flCameraLookSpeed; // 0xe64 + float m_flCameraLookOffsetPitch; // 0xe68 + float m_flCameraLookOffsetYaw; // 0xe6c +private: + [[maybe_unused]] uint8_t __pad0e70[0x8]; // 0xe70 +public: + Vector2D m_flCameraMoveRangeLR; // 0xe78 + Vector2D m_flCameraMoveRangeFB; // 0xe80 + float m_flCameraMoveSpeed; // 0xe88 + float m_flCameraMoveOffsetLR; // 0xe8c + float m_flCameraMoveOffsetFB; // 0xe90 +private: + [[maybe_unused]] uint8_t __pad0e94[0x1]; // 0xe94 +public: // MNetworkEnable - bool m_bMotionBlur; // 0xe95 + bool m_bMotionBlur; // 0xe95 +private: + [[maybe_unused]] uint8_t __pad0e96[0x2]; // 0xe96 +public: // MNetworkEnable - CUtlString m_strPlayerName; // 0xe98 + CUtlString m_strPlayerName; // 0xe98 // MNetworkEnable - uint64_t m_uDamageCaused; // 0xea0 - CEntityIOOutput m_OnScreenshotTaken; // 0xea8 + uint64_t m_uDamageCaused; // 0xea0 + CEntityIOOutput m_OnScreenshotTaken; // 0xea8 }; diff --git a/sdk/soundsystem.hpp b/sdk/soundsystem.hpp index 0187b129..ea4062c5 100644 --- a/sdk/soundsystem.hpp +++ b/sdk/soundsystem.hpp @@ -2,14 +2,15 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: soundsystem.dll -// Class Count: 24 -// Enum Count: 11 -/////////////////////////////////////////// +// Classes count: 24 +// Enums count: 11 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 30 +// Alignment: 4 +// Size: 0x1e enum class soundlevel_t : uint32_t { SNDLVL_NONE = 0x0, @@ -44,8 +45,8 @@ enum class soundlevel_t : uint32_t SNDLVL_180dB = 0xb4, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class ActionType_t : uint32_t { SOS_ACTION_NONE = 0x0, @@ -53,8 +54,8 @@ enum class ActionType_t : uint32_t SOS_ACTION_TIME_LIMIT = 0x2, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class SosActionStopType_t : uint32_t { SOS_STOPTYPE_NONE = 0x0, @@ -62,24 +63,24 @@ enum class SosActionStopType_t : uint32_t SOS_STOPTYPE_OPVAR = 0x2, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class SosActionSortType_t : uint32_t { SOS_SORTTYPE_HIGHEST = 0x0, SOS_SORTTYPE_LOWEST = 0x1, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class SosGroupType_t : uint32_t { SOS_GROUPTYPE_DYNAMIC = 0x0, SOS_GROUPTYPE_STATIC = 0x1, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class SosEditItemType_t : uint32_t { SOS_EDIT_ITEM_TYPE_SOUNDEVENTS = 0x0, @@ -90,58 +91,58 @@ enum class SosEditItemType_t : uint32_t SOS_EDIT_ITEM_TYPE_FIELD = 0x5, }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 enum class VMixFilterType_t : uint16_t { - FILTER_UNKNOWN = 18446744073709551615, - FILTER_LOWPASS = 0, - FILTER_HIGHPASS = 1, - FILTER_BANDPASS = 2, - FILTER_NOTCH = 3, - FILTER_PEAKING_EQ = 4, - FILTER_LOW_SHELF = 5, - FILTER_HIGH_SHELF = 6, + FILTER_UNKNOWN = 0xffffffffffffffff, + FILTER_LOWPASS = 0x0, + FILTER_HIGHPASS = 0x1, + FILTER_BANDPASS = 0x2, + FILTER_NOTCH = 0x3, + FILTER_PEAKING_EQ = 0x4, + FILTER_LOW_SHELF = 0x5, + FILTER_HIGH_SHELF = 0x6, }; -// Aligment: 1 -// Size: 5 +// Alignment: 1 +// Size: 0x5 enum class VMixFilterSlope_t : uint8_t { - FILTER_SLOPE_12dB = 0, - FILTER_SLOPE_24dB = 1, - FILTER_SLOPE_36dB = 2, - FILTER_SLOPE_48dB = 3, - FILTER_SLOPE_MAX = 3, + FILTER_SLOPE_12dB = 0x0, + FILTER_SLOPE_24dB = 0x1, + FILTER_SLOPE_36dB = 0x2, + FILTER_SLOPE_48dB = 0x3, + FILTER_SLOPE_MAX = 0x3, }; -// Aligment: 2 -// Size: 19 +// Alignment: 2 +// Size: 0x13 enum class VMixProcessorType_t : uint16_t { - VPROCESSOR_UNKNOWN = 0, - VPROCESSOR_STEAMAUDIO_REVERB = 1, - VPROCESSOR_RT_PITCH = 2, - VPROCESSOR_STEAMAUDIO_HRTF = 3, - VPROCESSOR_DYNAMICS = 4, - VPROCESSOR_PRESETDSP = 5, - VPROCESSOR_DELAY = 6, - VPROCESSOR_FULLWAVE_INTEGRATOR = 7, - VPROCESSOR_FILTER = 8, - VPROCESSOR_STEAMAUDIO_PATHING = 9, - VPROCESSOR_EQ8 = 10, - VPROCESSOR_ENVELOPE = 11, - VPROCESSOR_VOCODER = 12, - VPROCESSOR_CONVOLUTION = 13, - VPROCESSOR_DYNAMICS_3BAND = 14, - VPROCESSOR_DYNAMICS_COMPRESSOR = 15, - VPROCESSOR_SHAPER = 16, - VPROCESSOR_UTILITY = 17, - VPROCESSOR_AUTOFILTER = 18, + VPROCESSOR_UNKNOWN = 0x0, + VPROCESSOR_STEAMAUDIO_REVERB = 0x1, + VPROCESSOR_RT_PITCH = 0x2, + VPROCESSOR_STEAMAUDIO_HRTF = 0x3, + VPROCESSOR_DYNAMICS = 0x4, + VPROCESSOR_PRESETDSP = 0x5, + VPROCESSOR_DELAY = 0x6, + VPROCESSOR_FULLWAVE_INTEGRATOR = 0x7, + VPROCESSOR_FILTER = 0x8, + VPROCESSOR_STEAMAUDIO_PATHING = 0x9, + VPROCESSOR_EQ8 = 0xa, + VPROCESSOR_ENVELOPE = 0xb, + VPROCESSOR_VOCODER = 0xc, + VPROCESSOR_CONVOLUTION = 0xd, + VPROCESSOR_DYNAMICS_3BAND = 0xe, + VPROCESSOR_DYNAMICS_COMPRESSOR = 0xf, + VPROCESSOR_SHAPER = 0x10, + VPROCESSOR_UTILITY = 0x11, + VPROCESSOR_AUTOFILTER = 0x12, }; -// Aligment: 4 -// Size: 5 +// Alignment: 4 +// Size: 0x5 enum class VMixLFOShape_t : uint32_t { LFO_SHAPE_SINE = 0x0, @@ -151,8 +152,8 @@ enum class VMixLFOShape_t : uint32_t LFO_SHAPE_NOISE = 0x4, }; -// Aligment: 4 -// Size: 6 +// Alignment: 4 +// Size: 0x6 enum class VMixChannelOperation_t : uint32_t { VMIX_CHAN_STEREO = 0x0, @@ -163,375 +164,400 @@ enum class VMixChannelOperation_t : uint32_t VMIX_CHAN_MID_SIDE = 0x5, }; -// Aligment: 3 -// Size: 24 +struct CSosGroupMatchPattern; +struct CSosGroupBranchPattern; +struct VMixFilterDesc_t; + +// Alignment: 3 +// Size: 0x18 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 }; -// Aligment: 3 -// Size: 40 +// 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 }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 class CSosGroupActionTimeLimitSchema : public CSosGroupActionSchema { public: // MPropertyFriendlyName "Max Time" - float m_flMaxDuration; // 0x18 + float m_flMaxDuration; // 0x18 }; -// Aligment: 4 -// Size: 16 +// Alignment: 4 +// Size: 0x10 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 }; -// Aligment: 4 -// Size: 40 +// 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 }; -// Aligment: 8 -// Size: 208 +// Alignment: 8 +// Size: 0xd0 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 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CSosSoundEventGroupListSchema { public: // MPropertyAutoExpandSelf // MPropertyFriendlyName "Groups" - CUtlVector< CSosSoundEventGroupSchema > m_groupList; // 0x0 + CUtlVector< CSosSoundEventGroupSchema > m_groupList; // 0x0 }; -// Aligment: 5 -// Size: 48 +// Alignment: 5 +// Size: 0x30 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 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 struct SelectedEditItemInfo_t { public: - CUtlVector< SosEditItemInfo_t > m_EditItems; // 0x0 + CUtlVector< SosEditItemInfo_t > m_EditItems; // 0x0 }; -// Aligment: 1 -// Size: 8 +// Alignment: 1 +// Size: 0x8 class CSoundEventMetaData { public: - CStrongHandle< InfoForResourceTypeCVMixListResource > m_soundEventVMix; // 0x0 + CStrongHandle< InfoForResourceTypeCVMixListResource > m_soundEventVMix; // 0x0 }; -// Aligment: 6 -// Size: 16 +// Alignment: 6 +// Size: 0x10 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 }; -// Aligment: 1 -// Size: 128 +// Alignment: 1 +// Size: 0x80 struct VMixEQ8Desc_t { public: - VMixFilterDesc_t[8] m_stages; // 0x0 + VMixFilterDesc_t m_stages[8]; // 0x0 }; -// Aligment: 7 -// Size: 40 +// Alignment: 7 +// Size: 0x28 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 }; -// Aligment: 12 -// Size: 48 +// Alignment: 12 +// Size: 0x30 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 }; -// Aligment: 9 -// Size: 36 +// Alignment: 9 +// Size: 0x24 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 }; -// Aligment: 10 -// Size: 36 +// Alignment: 10 +// Size: 0x24 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 "Above Threshold(dB)" - float m_fldbThresholdBelow; // 0x8 + float m_fldbThresholdBelow; // 0x8 // MPropertyFriendlyName "Below 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 }; -// Aligment: 10 -// Size: 144 +// 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 - 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 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc 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 }; -// Aligment: 4 -// Size: 16 +// 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 + int32_t m_nGrainSampleCount; // 0x0 + float m_flPitchShift; // 0x4 + int32_t m_nQuality; // 0x8 + int32_t m_nProcType; // 0xc }; -// Aligment: 8 -// Size: 32 +// Alignment: 8 +// Size: 0x20 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 }; -// Aligment: 10 -// Size: 40 +// Alignment: 10 +// Size: 0x28 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 }; -// Aligment: 5 -// Size: 20 +// Alignment: 5 +// Size: 0x14 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 }; -// Aligment: 6 -// Size: 24 +// Alignment: 6 +// Size: 0x18 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 }; -// Aligment: 8 -// Size: 44 +// Alignment: 8 +// Size: 0x2c 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 }; diff --git a/sdk/vphysics2.hpp b/sdk/vphysics2.hpp index f2615ae9..1d187df8 100644 --- a/sdk/vphysics2.hpp +++ b/sdk/vphysics2.hpp @@ -2,14 +2,15 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: vphysics2.dll -// Class Count: 86 -// Enum Count: 2 -/////////////////////////////////////////// +// Classes count: 86 +// Enums count: 2 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 enum class JointAxis_t : uint32_t { JOINT_AXIS_X = 0x0, @@ -18,8 +19,8 @@ enum class JointAxis_t : uint32_t JOINT_AXIS_COUNT = 0x3, }; -// Aligment: 4 -// Size: 3 +// Alignment: 4 +// Size: 0x3 enum class JointMotion_t : uint32_t { JOINT_MOTION_FREE = 0x0, @@ -27,1066 +28,1094 @@ enum class JointMotion_t : uint32_t JOINT_MOTION_COUNT = 0x2, }; -// Aligment: 5 -// Size: 24 +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: - 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 }; -// Aligment: 4 -// Size: 16 +// Alignment: 4 +// Size: 0x10 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 }; -// Aligment: 4 -// Size: 64 +// 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 + Vector worldPosition; // 0x0 + Vector worldAxisDirection; // 0xc + constraint_axislimit_t hingeAxis; // 0x18 + constraint_breakableparams_t constraint; // 0x28 }; -// Aligment: 0 -// Size: 8 +// Alignment: 0 +// Size: 0x8 class IPhysicsPlayerController { public: -// + // no members available }; -// Aligment: 10 -// Size: 24 +// Alignment: 10 +// Size: 0x18 struct vehicle_controlparams_t { public: - float throttle; // 0x0 - float steering; // 0x4 - float brake; // 0x8 - float boost; // 0xc - bool handbrake; // 0x10 - bool handbrakeLeft; // 0x11 - bool handbrakeRight; // 0x12 - bool brakepedal; // 0x13 - bool bHasBrakePedal; // 0x14 - bool bAnalogSteering; // 0x15 + float throttle; // 0x0 + float steering; // 0x4 + float brake; // 0x8 + float boost; // 0xc + bool handbrake; // 0x10 + bool handbrakeLeft; // 0x11 + bool handbrakeRight; // 0x12 + bool brakepedal; // 0x13 + bool bHasBrakePedal; // 0x14 + bool bAnalogSteering; // 0x15 }; -// Aligment: 35 -// Size: 156 +// 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 + 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 }; -// Aligment: 4 -// Size: 208 +// Alignment: 4 +// Size: 0xd0 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 }; -// Aligment: 3 -// Size: 164 +// Alignment: 3 +// Size: 0xa4 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 }; -// Aligment: 99 -// Size: 1536 +// Alignment: 99 +// Size: 0x600 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_nSimdTriCount1; // 0x46 - uint16_t m_nSimdTriCount2; // 0x48 - uint16_t m_nSimdQuadCount1; // 0x4a - uint16_t m_nSimdQuadCount2; // 0x4c - uint16_t m_nQuadCount1; // 0x4e - uint16_t m_nQuadCount2; // 0x50 - uint16_t m_nCollisionSphereInclusiveCount; // 0x52 - uint16_t m_nTreeDepth; // 0x54 - uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x56 - uint16_t m_nRopeCount; // 0x58 - 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_nSimdTriCount1; // 0x46 + uint16_t m_nSimdTriCount2; // 0x48 + uint16_t m_nSimdQuadCount1; // 0x4a + uint16_t m_nSimdQuadCount2; // 0x4c + uint16_t m_nQuadCount1; // 0x4e + uint16_t m_nQuadCount2; // 0x50 + uint16_t m_nCollisionSphereInclusiveCount; // 0x52 + uint16_t m_nTreeDepth; // 0x54 + uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x56 + uint16_t m_nRopeCount; // 0x58 +private: + [[maybe_unused]] uint8_t __pad005a[0x6]; // 0x5a +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 }; -// Aligment: 2 -// Size: 32 +// Alignment: 2 +// Size: 0x20 class FourVectors2D { public: - fltx4 x; // 0x0 - fltx4 y; // 0x10 + fltx4 x; // 0x0 + fltx4 y; // 0x10 }; -// Aligment: 3 -// Size: 16 +// Alignment: 3 +// Size: 0x10 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 }; -// Aligment: 12 -// Size: 72 +// Alignment: 12 +// Size: 0x48 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 }; -// Aligment: 2 -// Size: 4 +// Alignment: 2 +// Size: 0x4 struct FeWeightedNode_t { public: - uint16_t nNode; // 0x0 - uint16_t nWeight; // 0x2 + uint16_t nNode; // 0x0 + uint16_t nWeight; // 0x2 }; -// Aligment: 4 -// Size: 24 +// Alignment: 4 +// Size: 0x18 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 }; -// Aligment: 4 -// Size: 28 +// Alignment: 4 +// Size: 0x1c 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 }; -// Aligment: 5 -// Size: 28 +// Alignment: 5 +// Size: 0x1c 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 }; -// Aligment: 5 -// Size: 128 +// Alignment: 5 +// Size: 0x80 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 }; -// Aligment: 3 -// Size: 76 +// Alignment: 3 +// Size: 0x4c 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 }; -// Aligment: 7 -// Size: 32 +// Alignment: 7 +// Size: 0x20 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 - Quaternion 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 + Quaternion qAdjust; // 0x10 }; -// Aligment: 4 -// Size: 8 +// Alignment: 4 +// Size: 0x8 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 }; -// Aligment: 3 -// Size: 16 +// Alignment: 3 +// Size: 0x10 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 }; -// Aligment: 4 -// Size: 304 +// Alignment: 4 +// Size: 0x130 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 }; -// Aligment: 5 -// Size: 40 +// Alignment: 5 +// Size: 0x28 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 }; -// Aligment: 3 -// Size: 20 +// Alignment: 3 +// Size: 0x14 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 }; -// Aligment: 5 -// Size: 20 +// Alignment: 5 +// Size: 0x14 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 }; -// Aligment: 4 -// Size: 12 +// Alignment: 4 +// Size: 0xc 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 }; -// Aligment: 5 -// Size: 80 +// Alignment: 5 +// Size: 0x50 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 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc 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 }; -// Aligment: 3 -// Size: 48 +// Alignment: 3 +// Size: 0x30 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 }; -// Aligment: 7 -// Size: 112 +// Alignment: 7 +// Size: 0x70 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 }; -// Aligment: 4 -// Size: 16 +// Alignment: 4 +// Size: 0x10 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 }; -// Aligment: 5 -// Size: 20 +// Alignment: 5 +// Size: 0x14 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 }; -// Aligment: 5 -// Size: 80 +// Alignment: 5 +// Size: 0x50 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 }; -// Aligment: 3 -// Size: 16 +// Alignment: 3 +// Size: 0x10 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 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct FeSoftParent_t { public: - int32_t nParent; // 0x0 - float flAlpha; // 0x4 + int32_t nParent; // 0x0 + float flAlpha; // 0x4 }; -// Aligment: 4 -// Size: 20 +// Alignment: 4 +// Size: 0x14 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 }; -// Aligment: 2 -// Size: 4 +// Alignment: 2 +// Size: 0x4 struct FeCtrlOsOffset_t { public: - uint16_t nCtrlParent; // 0x0 - uint16_t nCtrlChild; // 0x2 + uint16_t nCtrlParent; // 0x0 + uint16_t nCtrlChild; // 0x2 }; -// Aligment: 3 -// Size: 8 +// Alignment: 3 +// Size: 0x8 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 }; -// Aligment: 5 -// Size: 24 +// 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 + uint16_t nCtrlParent; // 0x0 + uint16_t nChildNode; // 0x2 + float m_flRFactor; // 0x4 + Vector m_vOrigin; // 0x8 + float flStickiness; // 0x14 }; -// Aligment: 5 -// Size: 28 +// 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 + uint16_t nCtrlParent; // 0x0 + uint16_t nChildNode; // 0x2 + RnPlane_t m_Plane; // 0x4 + float flStickiness; // 0x14 + float flStrength; // 0x18 }; -// Aligment: 4 -// Size: 12 +// Alignment: 4 +// Size: 0xc 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct FeTreeChildren_t { public: - uint16[2] nChild; // 0x0 + uint16_t nChild[2]; // 0x0 }; -// Aligment: 6 -// Size: 48 +// Alignment: 6 +// Size: 0x30 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 }; -// Aligment: 6 -// Size: 32 +// 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 + fltx4 vSphere; // 0x0 + float flStickiness; // 0x10 + uint16_t nNode; // 0x14 + uint16_t nCollisionMask; // 0x16 + uint16_t nVertexMapIndex; // 0x18 + uint16_t nFlags; // 0x1a }; -// Aligment: 5 -// Size: 20 +// Alignment: 5 +// Size: 0x14 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 }; -// Aligment: 8 -// Size: 64 +// 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 - 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 }; -// Aligment: 4 -// Size: 24 +// Alignment: 4 +// Size: 0x18 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 }; -// Aligment: 4 -// Size: 96 +// Alignment: 4 +// Size: 0x60 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 }; -// Aligment: 3 -// Size: 8 +// Alignment: 3 +// Size: 0x8 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 }; -// Aligment: 3 -// Size: 12 +// Alignment: 3 +// Size: 0xc 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 }; -// Aligment: 5 -// Size: 64 +// 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 + CTransform bone; // 0x0 + Vector vCenter; // 0x20 + uint16_t nEnd; // 0x2c + uint16_t nNode; // 0x2e + uint16_t nBeginDynamic; // 0x30 }; -// Aligment: 5 -// Size: 12 +// Alignment: 5 +// Size: 0xc 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 }; -// Aligment: 2 -// Size: 64 +// 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 }; -// Aligment: 2 -// Size: 80 +// 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 }; -// Aligment: 2 -// Size: 48 +// 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 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct FeSourceEdge_t { public: - uint16[2] nNode; // 0x0 + uint16_t nNode[2]; // 0x0 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 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 }; -// Aligment: 4 -// Size: 40 +// Alignment: 4 +// Size: 0x28 struct FeVertexMapBuild_t { public: - CUtlString m_VertexMapName; // 0x0 - uint32_t m_nNameHash; // 0x8 - Color m_Color; // 0xc - CUtlVector< float32 > m_Weights; // 0x10 + CUtlString m_VertexMapName; // 0x0 + uint32_t m_nNameHash; // 0x8 + Color m_Color; // 0xc + CUtlVector< float32 > m_Weights; // 0x10 }; -// Aligment: 1 -// Size: 24 +// Alignment: 1 +// Size: 0x18 class CFeVertexMapBuildArray { public: - CUtlVector< FeVertexMapBuild_t* > m_Array; // 0x0 + CUtlVector< FeVertexMapBuild_t* > m_Array; // 0x0 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct FeProxyVertexMap_t { public: - CUtlString m_Name; // 0x0 - float m_flWeight; // 0x8 + CUtlString m_Name; // 0x0 + float m_flWeight; // 0x8 }; -// Aligment: 9 -// Size: 40 +// Alignment: 9 +// Size: 0x28 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 - uint16_t nNodeListCount; // 0x20 + 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 + uint16_t nNodeListCount; // 0x20 }; -// Aligment: 8 -// Size: 144 +// Alignment: 8 +// Size: 0x90 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 }; -// Aligment: 7 -// Size: 136 +// Alignment: 7 +// Size: 0x88 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 }; -// Aligment: 1 -// Size: 104 +// Alignment: 1 +// Size: 0x68 struct Dop26_t { public: - float32[26] m_flSupport; // 0x0 + float m_flSupport[26]; // 0x0 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct RnSphere_t { public: - Vector m_vCenter; // 0x0 - float m_flRadius; // 0xc + Vector m_vCenter; // 0x0 + float m_flRadius; // 0xc }; -// Aligment: 2 -// Size: 28 +// Alignment: 2 +// Size: 0x1c struct RnCapsule_t { public: - Vector[2] m_vCenter; // 0x0 - float m_flRadius; // 0x18 + Vector m_vCenter[2]; // 0x0 + float m_flRadius; // 0x18 }; -// Aligment: 2 -// Size: 16 +// Alignment: 2 +// Size: 0x10 struct RnPlane_t { public: - Vector m_vNormal; // 0x0 - float m_flOffset; // 0xc + Vector m_vNormal; // 0x0 + float m_flOffset; // 0xc }; -// Aligment: 4 -// Size: 4 +// Alignment: 4 +// Size: 0x4 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 }; -// Aligment: 1 -// Size: 1 +// Alignment: 1 +// Size: 0x1 struct RnFace_t { public: - uint8_t m_nEdge; // 0x0 + uint8_t m_nEdge; // 0x0 }; -// Aligment: 2 -// Size: 48 +// Alignment: 2 +// Size: 0x30 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 }; -// Aligment: 12 -// Size: 216 +// 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 - 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 }; -// Aligment: 1 -// Size: 12 +// Alignment: 1 +// Size: 0xc struct RnTriangle_t { public: - int32[3] m_nIndex; // 0x0 + int32_t m_nIndex[3]; // 0x0 }; -// Aligment: 4 -// Size: 32 +// 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 + Vector m_vMin; // 0x0 + uint32_t m_nChildren; // 0xc + Vector m_vMax; // 0x10 + uint32_t m_nTriangleOffset; // 0x1c }; -// Aligment: 7 -// Size: 136 +// Alignment: 7 +// Size: 0x88 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< uint8 > m_Materials; // 0x60 - Vector m_vOrthographicAreas; // 0x78 + 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< uint8 > m_Materials; // 0x60 + Vector m_vOrthographicAreas; // 0x78 }; -// Aligment: 3 -// Size: 16 +// Alignment: 3 +// Size: 0x10 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 }; -// Aligment: 1 -// Size: 32 +// Alignment: 1 +// Size: 0x20 struct RnSphereDesc_t : public RnShapeDesc_t { public: - RnSphere_t m_Sphere; // 0x10 + RnSphere_t m_Sphere; // 0x10 }; -// Aligment: 1 -// Size: 48 +// Alignment: 1 +// Size: 0x30 struct RnCapsuleDesc_t : public RnShapeDesc_t { public: - RnCapsule_t m_Capsule; // 0x10 + RnCapsule_t m_Capsule; // 0x10 }; -// Aligment: 1 -// Size: 232 +// Alignment: 1 +// Size: 0xe8 struct RnHullDesc_t : public RnShapeDesc_t { public: - RnHull_t m_Hull; // 0x10 + RnHull_t m_Hull; // 0x10 }; -// Aligment: 1 -// Size: 152 +// Alignment: 1 +// Size: 0x98 struct RnMeshDesc_t : public RnShapeDesc_t { public: - RnMesh_t m_Mesh; // 0x10 + RnMesh_t m_Mesh; // 0x10 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct RnSoftbodyParticle_t { public: - float m_flMassInv; // 0x0 + float m_flMassInv; // 0x0 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct RnSoftbodySpring_t { public: - uint16[2] m_nParticle; // 0x0 - float m_flLength; // 0x4 + uint16_t m_nParticle[2]; // 0x0 + float m_flLength; // 0x4 }; -// Aligment: 3 -// Size: 32 +// Alignment: 3 +// Size: 0x20 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 }; -// Aligment: 8 -// Size: 16 +// Alignment: 8 +// Size: 0x10 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 }; -// Aligment: 6 -// Size: 48 +// 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 - 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 }; -// Aligment: 2 -// Size: 24 +// Alignment: 2 +// Size: 0x18 struct VertexPositionNormal_t { public: - Vector m_vPosition; // 0x0 - Vector m_vNormal; // 0xc + Vector m_vPosition; // 0x0 + Vector m_vNormal; // 0xc }; -// Aligment: 1 -// Size: 16 +// Alignment: 1 +// Size: 0x10 struct VertexPositionColor_t { public: - Vector m_vPosition; // 0x0 + Vector m_vPosition; // 0x0 }; diff --git a/sdk/worldrenderer.hpp b/sdk/worldrenderer.hpp index 3a8d42ea..89db1e0b 100644 --- a/sdk/worldrenderer.hpp +++ b/sdk/worldrenderer.hpp @@ -2,14 +2,15 @@ #include #include "!GlobalTypes.hpp" -/////////////////////////////////////////// +// ///////////////////////////////////////////////////////////// // Binary: worldrenderer.dll -// Class Count: 24 -// Enum Count: 2 -/////////////////////////////////////////// +// Classes count: 24 +// Enums count: 2 +// Created using source2gen - github.com/neverlosecc/source2gen +// ///////////////////////////////////////////////////////////// -// Aligment: 4 -// Size: 16 +// Alignment: 4 +// Size: 0x10 enum class ObjectTypeFlags_t : uint32_t { OBJECT_TYPE_NONE = 0x0, @@ -30,347 +31,399 @@ enum class ObjectTypeFlags_t : uint32_t OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000, }; -// Aligment: 4 -// Size: 2 +// Alignment: 4 +// Size: 0x2 enum class voxel_vis_compression_t : uint32_t { VOXVIS_COMPRESS_RAW = 0x0, VOXVIS_COMPRESS_RLE = 0x1, }; -// Aligment: 7 -// Size: 48 +struct CRenderBufferBinding; +struct BakedLightingInfo_t; +struct WorldBuilderParams_t; +struct voxel_vis_cluster_t; +struct ChangeAccessorFieldPathIndex_t; +struct CEntityIdentity; +struct CScriptComponent; + +// Alignment: 7 +// Size: 0x30 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 }; -// Aligment: 2 -// Size: 48 +// Alignment: 2 +// Size: 0x30 struct EntityKeyValueData_t { public: - CUtlBinaryBlock m_keyValuesData; // 0x0 - CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18 + CUtlBinaryBlock m_keyValuesData; // 0x0 + CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18 }; -// Aligment: 4 -// Size: 64 +// Alignment: 4 +// Size: 0x40 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 }; -// Aligment: 16 -// Size: 144 +// Alignment: 16 +// Size: 0x90 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 - int16_t m_nBoundsGroupIndex; // 0x78 - 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 + int16_t m_nBoundsGroupIndex; // 0x78 +private: + [[maybe_unused]] uint8_t __pad007a[0x6]; // 0x7a +public: + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x80 + CStrongHandle< InfoForResourceTypeCRenderMesh > m_renderable; // 0x88 }; -// Aligment: 1 -// Size: 4 +// Alignment: 1 +// Size: 0x4 struct BaseSceneObjectOverride_t { public: - uint32_t m_nSceneObjectIndex; // 0x0 + uint32_t m_nSceneObjectIndex; // 0x0 }; -// Aligment: 4 -// Size: 32 +// Alignment: 4 +// Size: 0x20 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 }; -// Aligment: 3 -// Size: 24 +// 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 }; -// Aligment: 10 -// Size: 112 +// 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 - 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 }; -// Aligment: 5 -// Size: 48 +// 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 - 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 }; -// Aligment: 4 -// Size: 56 +// 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 + int32_t m_nElementCount; // 0x0 + int32_t m_nElementSizeInBytes; // 0x4 + CUtlVector< RenderInputLayoutField_t > m_inputLayoutFields; // 0x8 + CUtlVector< uint8 > m_pData; // 0x20 }; -// Aligment: 9 -// Size: 60 +// Alignment: 9 +// Size: 0x3c struct AggregateMeshInfo_t { public: - Vector[2] m_vWorldBounds; // 0x0 - uint32_t m_nVisClusterMemberOffset; // 0x18 - uint8_t m_nVisClusterMemberCount; // 0x1c - uint8_t m_nLODGroupMask; // 0x1d - int32_t m_nCubeMapPrecomputedHandshake; // 0x20 - ObjectTypeFlags_t m_objectFlags; // 0x24 - Vector m_vLODOrigin; // 0x28 - float m_fLODStartDrawDistance; // 0x34 - float m_fLODEndDrawDistance; // 0x38 + Vector m_vWorldBounds[2]; // 0x0 + uint32_t m_nVisClusterMemberOffset; // 0x18 + uint8_t m_nVisClusterMemberCount; // 0x1c + uint8_t m_nLODGroupMask; // 0x1d +private: + [[maybe_unused]] uint8_t __pad001e[0x2]; // 0x1e +public: + int32_t m_nCubeMapPrecomputedHandshake; // 0x20 + ObjectTypeFlags_t m_objectFlags; // 0x24 + Vector m_vLODOrigin; // 0x28 + float m_fLODStartDrawDistance; // 0x34 + float m_fLODEndDrawDistance; // 0x38 }; -// Aligment: 8 -// Size: 96 +// Alignment: 8 +// Size: 0x60 struct AggregateSceneObject_t { public: - Vector[2] m_vWorldBounds; // 0x0 - ObjectTypeFlags_t m_allFlags; // 0x18 - ObjectTypeFlags_t m_anyFlags; // 0x1c - int16_t m_nLayer; // 0x20 - int16_t m_nBoundsGroupIndex; // 0x22 - CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x28 - CUtlVector< uint16 > m_visClusterMembership; // 0x40 - CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58 + Vector m_vWorldBounds[2]; // 0x0 + ObjectTypeFlags_t m_allFlags; // 0x18 + ObjectTypeFlags_t m_anyFlags; // 0x1c + int16_t m_nLayer; // 0x20 + int16_t m_nBoundsGroupIndex; // 0x22 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x28 + CUtlVector< uint16 > m_visClusterMembership; // 0x40 + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58 }; -// Aligment: 13 -// Size: 320 +// Alignment: 13 +// Size: 0x140 struct WorldNode_t { public: - CUtlVector< SceneObject_t > m_sceneObjects; // 0x0 - CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18 - CUtlVector< uint16 > m_visClusterMembership; // 0x30 - CUtlVector< AABB_t > m_boundsGroups; // 0x48 - CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x60 - CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x78 - CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x90 - CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0xa8 - CUtlVector< CUtlString > m_layerNames; // 0xc0 - CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xd8 - CUtlVector< uint8 > m_overlayLayerIndices; // 0xf0 - CUtlString m_grassFileName; // 0x108 - BakedLightingInfo_t m_nodeLightingInfo; // 0x110 + CUtlVector< SceneObject_t > m_sceneObjects; // 0x0 + CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18 + CUtlVector< uint16 > m_visClusterMembership; // 0x30 + CUtlVector< AABB_t > m_boundsGroups; // 0x48 + CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x60 + CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x78 + CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x90 + CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0xa8 + CUtlVector< CUtlString > m_layerNames; // 0xc0 + CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xd8 + CUtlVector< uint8 > m_overlayLayerIndices; // 0xf0 + CUtlString m_grassFileName; // 0x108 + BakedLightingInfo_t m_nodeLightingInfo; // 0x110 }; -// Aligment: 21 -// Size: 104 +// Alignment: 21 +// Size: 0x68 struct WorldBuilderParams_t { public: - int32_t m_nSizeBytesPerVoxel; // 0x0 - float m_flMinDrawVolumeSize; // 0x4 - float m_flMinDistToCamera; // 0x8 - float m_flMinAtlasDist; // 0xc - float m_flMinSimplifiedDist; // 0x10 - float m_flHorzFOV; // 0x14 - float m_flHalfScreenWidth; // 0x18 - int32_t m_nAtlasTextureSizeX; // 0x1c - int32_t m_nAtlasTextureSizeY; // 0x20 - int32_t m_nUniqueTextureSizeX; // 0x24 - int32_t m_nUniqueTextureSizeY; // 0x28 - int32_t m_nCompressedAtlasSize; // 0x2c - float m_flGutterSize; // 0x30 - float m_flUVMapThreshold; // 0x34 - Vector m_vWorldUnitsPerTile; // 0x38 - int32_t m_nMaxTexScaleSlots; // 0x44 - bool m_bWrapInAtlas; // 0x48 - bool m_bBuildBakedLighting; // 0x49 - Vector2D m_vLightmapUvScale; // 0x4c - uint64_t m_nCompileTimestamp; // 0x58 - uint64_t m_nCompileFingerprint; // 0x60 + int32_t m_nSizeBytesPerVoxel; // 0x0 + float m_flMinDrawVolumeSize; // 0x4 + float m_flMinDistToCamera; // 0x8 + float m_flMinAtlasDist; // 0xc + float m_flMinSimplifiedDist; // 0x10 + float m_flHorzFOV; // 0x14 + float m_flHalfScreenWidth; // 0x18 + int32_t m_nAtlasTextureSizeX; // 0x1c + int32_t m_nAtlasTextureSizeY; // 0x20 + int32_t m_nUniqueTextureSizeX; // 0x24 + int32_t m_nUniqueTextureSizeY; // 0x28 + int32_t m_nCompressedAtlasSize; // 0x2c + float m_flGutterSize; // 0x30 + float m_flUVMapThreshold; // 0x34 + Vector m_vWorldUnitsPerTile; // 0x38 + int32_t m_nMaxTexScaleSlots; // 0x44 + bool m_bWrapInAtlas; // 0x48 + bool m_bBuildBakedLighting; // 0x49 +private: + [[maybe_unused]] uint8_t __pad004a[0x2]; // 0x4a +public: + Vector2D m_vLightmapUvScale; // 0x4c +private: + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 +public: + uint64_t m_nCompileTimestamp; // 0x58 + uint64_t m_nCompileFingerprint; // 0x60 }; -// Aligment: 8 -// Size: 80 +// Alignment: 8 +// Size: 0x50 struct NodeData_t { public: - int32_t m_Flags; // 0x0 - int32_t m_nParent; // 0x4 - Vector m_vOrigin; // 0x8 - Vector m_vMinBounds; // 0x14 - Vector m_vMaxBounds; // 0x20 - float m_flMinimumDistance; // 0x2c - CUtlVector< int32 > m_ChildNodeIndices; // 0x30 - CUtlString m_worldNodePrefix; // 0x48 + int32_t m_Flags; // 0x0 + int32_t m_nParent; // 0x4 + Vector m_vOrigin; // 0x8 + Vector m_vMinBounds; // 0x14 + Vector m_vMaxBounds; // 0x20 + float m_flMinimumDistance; // 0x2c + CUtlVector< int32 > m_ChildNodeIndices; // 0x30 + CUtlString m_worldNodePrefix; // 0x48 }; -// Aligment: 4 -// Size: 200 +// Alignment: 4 +// Size: 0xc8 struct World_t { public: - WorldBuilderParams_t m_builderParams; // 0x0 - CUtlVector< NodeData_t > m_worldNodes; // 0x68 - BakedLightingInfo_t m_worldLightingInfo; // 0x80 - CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0xb0 + WorldBuilderParams_t m_builderParams; // 0x0 + CUtlVector< NodeData_t > m_worldNodes; // 0x68 + BakedLightingInfo_t m_worldLightingInfo; // 0x80 + CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0xb0 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct voxel_vis_cluster_t { public: - uint32_t m_nBlockIndex; // 0x0 - uint32_t m_nOffsetIntoBlock; // 0x4 + uint32_t m_nBlockIndex; // 0x0 + uint32_t m_nOffsetIntoBlock; // 0x4 }; -// Aligment: 2 -// Size: 8 +// Alignment: 2 +// Size: 0x8 struct voxel_vis_mergelist_t { public: - uint32_t m_nFirstCluster; // 0x0 - uint32_t m_nClusterCount; // 0x4 + uint32_t m_nFirstCluster; // 0x0 + uint32_t m_nClusterCount; // 0x4 }; -// Aligment: 14 -// Size: 224 +// Alignment: 14 +// Size: 0xe0 class CVoxelVisibility { public: - CUtlVector< uint32 > m_blockOffset; // 0x40 - CUtlVector< voxel_vis_cluster_t > m_clusters; // 0x58 - CUtlVector< uint16 > m_mergeClusters; // 0x70 - CUtlVector< voxel_vis_mergelist_t > m_mergeLists; // 0x88 - Vector m_vMinBounds; // 0xa0 - Vector m_vMaxBounds; // 0xac - float m_flGridSize; // 0xb8 - int32_t m_nNodeCount; // 0xbc - int32_t m_nRegionCount; // 0xc0 - voxel_vis_cluster_t m_skyVisibilityCluster; // 0xc4 - voxel_vis_cluster_t m_sunVisibilityCluster; // 0xcc - voxel_vis_compression_t m_nPVSCompression; // 0xd4 - uint32_t m_nTreeSize; // 0xd8 - uint32_t m_nPVSSizeCompressed; // 0xdc + CUtlVector< uint32 > m_blockOffset; // 0x40 + CUtlVector< voxel_vis_cluster_t > m_clusters; // 0x58 + CUtlVector< uint16 > m_mergeClusters; // 0x70 + CUtlVector< voxel_vis_mergelist_t > m_mergeLists; // 0x88 + Vector m_vMinBounds; // 0xa0 + Vector m_vMaxBounds; // 0xac + float m_flGridSize; // 0xb8 + int32_t m_nNodeCount; // 0xbc + int32_t m_nRegionCount; // 0xc0 + voxel_vis_cluster_t m_skyVisibilityCluster; // 0xc4 + voxel_vis_cluster_t m_sunVisibilityCluster; // 0xcc + voxel_vis_compression_t m_nPVSCompression; // 0xd4 + uint32_t m_nTreeSize; // 0xd8 + uint32_t m_nPVSSizeCompressed; // 0xdc }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct VMapResourceData_t { public: -// + // no members available }; -// Aligment: 0 -// Size: 1 +// Alignment: 0 +// Size: 0x1 struct InfoForResourceTypeVMapResourceData_t { public: -// + // no members available }; -// Aligment: 11 -// Size: 120 +// Alignment: 11 +// Size: 0x78 class CEntityIdentity { public: // MNetworkEnable // MNetworkChangeCallback "entityIdentityNameChanged" - int32_t m_nameStringableIndex; // 0x14 - CUtlSymbolLarge m_name; // 0x18 - CUtlSymbolLarge m_designerName; // 0x20 - uint32_t m_flags; // 0x30 - uint32_t m_fDataObjectTypes; // 0x38 + 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: + uint32_t m_fDataObjectTypes; // 0x38 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x3c - CEntityIdentity* m_pPrev; // 0x50 - CEntityIdentity* m_pNext; // 0x58 - CEntityIdentity* m_pPrevByClass; // 0x60 - CEntityIdentity* m_pNextByClass; // 0x68 - V_uuid_t* m_pId; // 0x70 + ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x3c +private: + [[maybe_unused]] uint8_t __pad003e[0x12]; // 0x3e +public: + CEntityIdentity* m_pPrev; // 0x50 + CEntityIdentity* m_pNext; // 0x58 + CEntityIdentity* m_pPrevByClass; // 0x60 + CEntityIdentity* m_pNextByClass; // 0x68 + V_uuid_t* m_pId; // 0x70 }; -// Aligment: 4 -// Size: 56 +// Alignment: 4 +// Size: 0x38 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[0x8]; // 0x18 +public: // MNetworkDisable - CUtlStringToken m_worldGroupId; // 0x20 + CUtlStringToken m_worldGroupId; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0024[0xc]; // 0x24 +public: // MNetworkEnable // MNetworkDisable - CScriptComponent* m_CScriptComponent; // 0x30 + CScriptComponent* m_CScriptComponent; // 0x30 }; -// Aligment: 1 -// Size: 56 +// Alignment: 1 +// Size: 0x38 class CScriptComponent : public CEntityComponent { public: - CUtlSymbolLarge m_scriptClassName; // 0x30 -public: - static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("worldrenderer.dll")->FindDeclaredClass("CScriptComponent")->m_static_fiels[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_fiels[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);}; };